text: /**
   * @file
   * A Backbone view for the body element.
   */
  
  (function ($, Drupal, Backbone) {
    Drupal.toolbar.BodyVisualView = Backbone.View.extend(
      /** @lends Drupal.toolbar.BodyVisualView# */ {
        /**
         * Adjusts the body element with the toolbar position and dimension changes.
         *
         * @constructs
         *
         * @augments Backbone.View
         */
        initialize() {
          this.listenTo(this.model, 'change:activeTray ', this.render);
          this.listenTo(
            this.model,
            'change:isFixed change:isViewportOverflowConstrained',
            this.isToolbarFixed,
          );
        },
  
        isToolbarFixed() {
          // When the toolbar is fixed, it will not scroll with page scrolling.
          const isViewportOverflowConstrained = this.model.get(
            'isViewportOverflowConstrained',
          );
          $('body').toggleClass(
            'toolbar-fixed',
            isViewportOverflowConstrained || this.model.get('isFixed'),
          );
        },
  
        /**
         * {@inheritdoc}
         */
        render() {
          $('body')
            // Toggle the toolbar-tray-open class on the body element. The class is
            // applied when a toolbar tray is active. Padding might be applied to
            // the body element to prevent the tray from overlapping content.
            .toggleClass('toolbar-tray-open', !!this.model.get('activeTray'));
        },
      },
    );
  })(jQuery, Drupal, Backbone);
  