protected function initDefaults()
    {
        switch ($this->modalType) {
            case self::TYPE_FIXED_FOOTER:
                Html::addCssClass($this->options, ['modalType' => 'modal-fixed-footer']);
                break;

            case self::TYPE_BOTTOM_SHEET:
                Html::addCssClass($this->options, ['modalType' => 'bottom-sheet']);
                break;

            default:
                break;
        }

        Html::addCssClass($this->options, ['widget' => 'modal']);

        if ($this->closeButton !== false) {
            $this->closeButton = ArrayHelper::merge([
                'class' => 'modal-close',
            ], $this->closeButton);
        }

        if ($this->toggleButton !== false) {
            $this->toggleButton = ArrayHelper::merge([
                'class' => 'modal-trigger btn',
            ], $this->toggleButton);
        }

        $this->clientOptions['opacity'] = $this->overlayOpacity;
        $this->clientOptions['inDuration'] = $this->inDuration;
        $this->clientOptions['outDuration'] = $this->outDuration;
        $this->clientOptions['preventScrolling'] = $this->preventScrolling;
        $this->clientOptions['dismissible'] = $this->dismissible;
        $this->clientOptions['startingTop'] = $this->startingTopOffset;
        $this->clientOptions['endingTop'] = $this->endingTopOffset;
    }