@shoper/phoenix_design_system 1.1.6 → 1.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -85,6 +85,9 @@ exports.HSelect = class HSelect extends phoenix_light_lit_element.PhoenixLightLi
85
85
  this._selectController.deselectAll();
86
86
  this._dispatchChangeEvent();
87
87
  };
88
+ this._dispatchChangeEvent = () => {
89
+ this.dispatchEvent(new Event('change'));
90
+ };
88
91
  this._handleResize = debounce['default'](() => {
89
92
  this._closeSelect();
90
93
  this._setDropdownContentWidth(this._getDropdownContentWidth());
@@ -216,9 +219,6 @@ exports.HSelect = class HSelect extends phoenix_light_lit_element.PhoenixLightLi
216
219
  _handleSearch({ detail }) {
217
220
  this._searchValue = detail;
218
221
  }
219
- _dispatchChangeEvent() {
220
- this.dispatchEvent(new Event('change'));
221
- }
222
222
  update(changedProperties) {
223
223
  super.update(changedProperties);
224
224
  if (changedProperties.has('_searchValue'))
@@ -261,7 +261,7 @@ exports.HSelect = class HSelect extends phoenix_light_lit_element.PhoenixLightLi
261
261
  <h-dropdown-toggler name=${this.controlName}> ${this.getSlot(select_constants.SELECT_SLOT_NAMES.toggler)} </h-dropdown-toggler>
262
262
 
263
263
  <h-dropdown-content
264
- @focusout=${() => this.dispatchEvent(new Event('focusout'))}
264
+ @focusout=${this._dispatchChangeEvent}
265
265
  class="${select_constants.SELECT_CSS_CLASSES.selectContent} ${this.error ? select_constants.SELECT_CSS_CLASSES.selectContentError : ''}"
266
266
  ${ref_js.ref(this._$dropdownContent)}
267
267
  name=${this.controlName}
@@ -1 +1 @@
1
- {"version":3,"file":"select.js","sources":["../../../../../../../../src/components/form/select/select.ts"],"sourcesContent":["import { PhoenixLightLitElement } from '@phoenixRoot/core/phoenix_light_lit_element/phoenix_light_lit_element';\nimport { phoenixCustomElement } from '@phoenixRoot/core/decorators/phoenix_custom_element';\nimport { HOption } from '@phoenixRoot/components/form/select/components/option/select_option';\nimport { property } from '@lit/reactive-element/decorators.js';\nimport { nothing, html, TemplateResult, PropertyValues } from 'lit';\nimport { SelectOption } from '@phoenixRoot/components/form/select/model/select_option';\nimport { ContextProviderController } from '@phoenixRoot/core/context/context_provider_controller';\nimport {\n MIN_NUMBER_OF_OPTIONS_TO_SHOW_SEARCH,\n SELECT_CONTEXTS,\n SELECT_CSS_CLASSES,\n SELECT_EVENT_NAMES,\n SELECT_RESIZE_DEBOUNCE_TIME,\n SELECT_SLOT_NAMES,\n SELECT_TYPES\n} from '@phoenixRoot/components/form/select/select_constants';\nimport { BehaviorSubject } from '@phoenixRoot/core/classes/behavior_subject/behavior_subject';\nimport { createRef, ref } from 'lit-html/directives/ref.js';\nimport { HDropdown } from '@phoenixRoot/components/dropdown/dropdown';\nimport { observe } from '@phoenixRoot/directives/observable_directive';\nimport { MultiSelectController } from '@phoenixRoot/components/form/select/controllers/multi_select_controller';\nimport { SelectController } from '@phoenixRoot/components/form/select/controllers/select_controller';\nimport { ISelectController } from '@phoenixRoot/components/form/select/controllers/select_controllers_types';\nimport { HSelectSearch } from '@phoenixRoot/components/form/select/components/search/select_search';\nimport { Observer } from '@phoenixRoot/core/classes/observer/observer';\nimport { state } from 'lit/decorators';\nimport { ListBoxKeyboardController } from '@phoenixRoot/controllers/list_box_controller/list_box_keyboard_controller';\nimport { HOptions } from '@phoenixRoot/components/form/select/components/select_options';\nimport { HIcon } from '@phoenixRoot/components/icon/icon';\nimport { SelectOptionMapper } from '@phoenixRoot/components/form/select/model/select_option_mapper';\nimport { TSelectOptionClickedEvent } from '@phoenixRoot/components/form/select/components/select_components_types';\nimport {\n SELECT_CLOSE_BTN_EVENT_NAMES,\n SELECT_CLOSE_BUTTON_CONTENT_SLOT_NAME,\n SELECT_INPUT_PLACEHOLDER_SLOT_NAME,\n SELECT_RELATED_COMPONENTS_NAMES\n} from '@phoenixRoot/components/form/select/components/select_components_constatns';\nimport { SelectControlUtils } from '@phoenixRoot/components/form/select/select_utils';\nimport { HSelectCloseBtn } from '@phoenixRoot/components/form/select/components/select_close_btn';\nimport { debounce } from 'lodash';\nimport { HSelectToggler } from '@phoenixRoot/components/form/select/components/toggler/select_toggler';\nimport { BREAKPOINTS } from '@phoenixRoot/global_constants';\nimport type { TSelectType } from '@phoenixRoot/components/form/select/select_types';\n\n@phoenixCustomElement('h-select')\nexport class HSelect extends PhoenixLightLitElement {\n private static _components = {\n search: HSelectSearch,\n icon: HIcon,\n closeBtn: HSelectCloseBtn,\n toggler: HSelectToggler\n };\n\n @property({ type: String, attribute: 'control-name' })\n public controlName: string;\n\n @property({ type: String, attribute: 'control-id' })\n public controlId: string;\n\n @property({ type: Boolean })\n public multiple: boolean = false;\n\n @property({ type: Boolean })\n public opened: boolean = false;\n\n @property({ type: Number })\n public offset: number = 2;\n\n @property({ type: Boolean })\n public error: boolean;\n\n @property({ type: Boolean })\n public disabled: boolean;\n\n @property({ type: String })\n public type: TSelectType = SELECT_TYPES.select;\n\n @property({ type: Boolean })\n public required: boolean;\n\n public get selectedIndex(): number {\n const selectedOptions = this._selectController.selectedOptions$.getValue();\n\n if (!selectedOptions || selectedOptions.length === 0) return -1;\n\n const htmlOptions = Object.values(this._$options);\n\n return this.multiple\n ? SelectControlUtils.getFirstIndexSelectedOption(htmlOptions)\n : SelectControlUtils.getLastIndexOfSelectedOption(htmlOptions);\n }\n\n public set selectedIndex(index: number) {\n const option = Object.values(this._$options)[index];\n\n if (!option) {\n this._selectController.deselectAll();\n\n return;\n }\n\n this._selectOption(option.value);\n }\n\n public get selectedOptions(): HOption[] {\n const selectedOptions = this._selectController.selectedOptions$.getValue() ?? [];\n\n return selectedOptions.filter((option: SelectOption) => option.selected).map((option: SelectOption) => this._$options[option.value]);\n }\n\n public get name(): string {\n return this.controlName;\n }\n\n public get id(): string {\n return this.controlId;\n }\n\n public get options(): HOption[] {\n return Object.values(this._$options);\n }\n\n @state()\n private _searchValue: string = '';\n\n private _selectController: ISelectController;\n\n private _$options: Record<string, HOption> = {};\n\n private _$dropdown = createRef<HDropdown>();\n\n private _$search = createRef<HSelectSearch>();\n\n private _$optionsList = createRef<HOptions>();\n\n private _$dropdownContent = createRef<HOptions>();\n\n private _selectContext = new ContextProviderController<BehaviorSubject<SelectOption[]> | boolean>(this);\n\n private _listBoxController: ListBoxKeyboardController;\n\n private _optionsObserver: Observer<SelectOption[]>;\n\n private $placeholder: HTMLElement | string;\n\n constructor() {\n super();\n\n const $options = Array.from(this.querySelectorAll<HOption>(SELECT_RELATED_COMPONENTS_NAMES.option));\n\n $options.forEach(($option) => $option.setAttribute('slot', SELECT_SLOT_NAMES.content));\n\n this.$placeholder = this.querySelector<HTMLElement>(`[slot=\"${SELECT_INPUT_PLACEHOLDER_SLOT_NAME}\"]`) ?? 'Select';\n\n if (this.multiple) this.type = SELECT_TYPES.multiple;\n }\n\n public updated(changedProperties: PropertyValues): void {\n super.updated(changedProperties);\n\n if (changedProperties.has('opened')) {\n if (this.opened) {\n this.classList.add(SELECT_CSS_CLASSES.selectOpened);\n this._focusElementAfterSelectOpened();\n } else {\n this.classList.remove(SELECT_CSS_CLASSES.selectOpened);\n }\n }\n\n if (this._$optionsList.value && !this._listBoxController)\n this._listBoxController = new ListBoxKeyboardController({\n host: this,\n $list: this._$optionsList.value\n });\n }\n\n private _focusElementAfterSelectOpened(): void {\n const $searchInput = this._$search.value?.querySelector<HTMLInputElement>('[role=\"search\"]');\n\n $searchInput ? $searchInput.focus() : this._$optionsList.value?.focus();\n }\n\n public connectedCallback(): void {\n super.connectedCallback();\n\n this.classList.add(SELECT_CSS_CLASSES.select);\n\n this._selectController = this.multiple ? new MultiSelectController({ host: this }) : new SelectController({ host: this });\n\n this._selectContext.provide(SELECT_CONTEXTS.selectedOptions$, this._selectController.selectedOptions$);\n this._selectContext.provide(SELECT_CONTEXTS.isMultiselect, this.multiple);\n\n const $options = Array.from(this.querySelectorAll<HOption>(SELECT_RELATED_COMPONENTS_NAMES.option));\n\n this._optionsObserver = new Observer<SelectOption[]>((selectedOptions: SelectOption[]) => this._updateOptionsView(selectedOptions));\n this._selectController.options$.subscribe(this._optionsObserver);\n\n this._$options = $options.reduce((acc: Record<string, HOption>, $option: HOption) => {\n if (acc[$option.value] !== undefined) throw Error('Select options must hava a unique values.');\n\n return {\n ...acc,\n [$option.value]: $option\n };\n }, {});\n\n const options = $options.map<SelectOption>(SelectOptionMapper.toModel);\n\n this._selectController.options$.notify(options);\n\n if (options.length) this._selectController.selectedOptions$.notify(options.filter((option: SelectOption) => option.selected));\n\n this._setupEvents();\n }\n\n public attributeChangedCallback(name: string, _old: string | null, value: string | null) {\n super.attributeChangedCallback(name, _old, value);\n\n switch (name) {\n case 'error':\n this.error ? this.classList.add(SELECT_CSS_CLASSES.selectError) : this.classList.remove(SELECT_CSS_CLASSES.selectError);\n\n break;\n case 'disabled':\n this.disabled ? this.classList.add(SELECT_CSS_CLASSES.selectDisabled) : this.classList.remove(SELECT_CSS_CLASSES.selectDisabled);\n }\n }\n\n public firstUpdated(props: PropertyValues): void {\n super.firstUpdated(props);\n\n this._setDropdownContentWidth(this._getDropdownContentWidth());\n }\n\n private _setDropdownContentWidth = (width: number | undefined) => {\n if (this._$dropdownContent.value) this._$dropdownContent.value.style.width = `${width ?? ''}px`;\n };\n\n private _setupEvents(): void {\n this.addEventListener(SELECT_EVENT_NAMES.deselectOption, this._handleOptionDeselect);\n this.addEventListener(SELECT_CLOSE_BTN_EVENT_NAMES.close, this._closeSelect);\n window.addEventListener('resize', this._handleResize);\n }\n\n private _handleOptionDeselect = (event: CustomEvent<string>): void => {\n const selectedOption = this._selectController.getOption(event.detail);\n\n if (!selectedOption) return;\n\n this._selectController.deselect(selectedOption);\n\n this._dispatchChangeEvent();\n };\n\n private _updateOptionsView = (options: SelectOption[]): void => {\n if (options.length < Object.keys(this._$options).length) this._removeHTMLOptions(options.map((option: SelectOption) => option.value));\n\n options.forEach((option: SelectOption, index) => {\n const { selected, value } = option;\n const $option = this._$options[value];\n\n if (!$option) {\n this._appendNewHTMLOption(option, index + 1);\n\n return;\n }\n\n SelectControlUtils.syncHTMLOptionWithModel(option, $option);\n\n if (!selected) return;\n\n $option.setAttribute(this.multiple ? 'aria-checked' : 'aria-selected', 'true');\n });\n };\n\n private _appendNewHTMLOption(option: SelectOption, position: number): void {\n const $list = this._$optionsList.value;\n\n if (!$list) return;\n\n const { value, selected } = option;\n const $option = SelectControlUtils.createHTMLOption(option);\n\n if (selected) $option.setAttribute(this.multiple ? 'aria-checked' : 'aria-selected', 'true');\n\n this._$options[value] = $option;\n\n SelectControlUtils.appendHTMLOption($option, $list, position);\n }\n\n private _removeHTMLOptions(optionsValues: string[]): void {\n this._$options = SelectControlUtils.removeHTMLOptions(Object.values(this._$options), optionsValues);\n }\n\n private _handleOptionClicked = (event: TSelectOptionClickedEvent): void => {\n this._selectOption(event.detail.$option.value);\n };\n\n private _selectOption(value: string): void {\n const option = this._selectController.getOption(value);\n\n if (!option) return;\n\n this._selectController.toggle(option);\n\n if (!this.multiple) this._closeSelect();\n\n this._dispatchChangeEvent();\n }\n\n private _handleSearch({ detail }: CustomEvent<string>): void {\n this._searchValue = detail;\n }\n\n private _handleDropdownHidden = (): void => {\n this._searchValue = '';\n this.opened = false;\n };\n\n private _closeSelect = (): void => {\n if (!this.opened) return;\n\n this._$dropdown.value?.hide();\n };\n\n private _clearOptions = (): void => {\n this._selectController.deselectAll();\n\n this._dispatchChangeEvent();\n };\n\n private _dispatchChangeEvent(): void {\n this.dispatchEvent(new Event('change'));\n }\n\n protected update(changedProperties: PropertyValues): void {\n super.update(changedProperties);\n\n if (changedProperties.has('_searchValue')) this._selectController.filter(this._searchValue);\n }\n\n public add(option: SelectOption, position?: number): void {\n this._selectController.add(option, position);\n }\n\n public removeOption(optionValue: string): void {\n this._selectController.remove(optionValue);\n }\n\n public replace(options: SelectOption[]): void {\n this._selectController.replace(options);\n }\n\n public disconnectedCallback(): void {\n super.disconnectedCallback();\n\n this._selectController.options$.unsubscribe(this._optionsObserver);\n\n window.removeEventListener('resize', this._handleResize);\n }\n\n private _handleResize = debounce(() => {\n this._closeSelect();\n this._setDropdownContentWidth(this._getDropdownContentWidth());\n }, SELECT_RESIZE_DEBOUNCE_TIME);\n\n private _getDropdownContentWidth(): number | undefined {\n return document.documentElement.clientWidth < BREAKPOINTS.xs ? undefined : this.getBoundingClientRect().width;\n }\n\n private _getClonedPlaceholderElement(): HTMLElement | string {\n return this.$placeholder instanceof HTMLElement ? (this.$placeholder.cloneNode(true) as HTMLElement) : this.$placeholder;\n }\n\n private _searchNoResult(): boolean {\n return Boolean(!this._selectController.visibleOptionsCount && Object.keys(this._$options).length);\n }\n\n protected render(): TemplateResult {\n const options = this._selectController.options$.getValue() ?? [];\n\n return html`\n <h-dropdown\n ${ref(this._$dropdown)}\n @dropdown.showed=${() => (this.opened = true)}\n @dropdown.hidden=${this._handleDropdownHidden}\n name=${this.controlName}\n offset=${this.offset}\n >\n <h-dropdown-toggler name=${this.controlName}> ${this.getSlot(SELECT_SLOT_NAMES.toggler)} </h-dropdown-toggler>\n\n <h-dropdown-content\n @focusout=${() => this.dispatchEvent(new Event('focusout'))}\n class=\"${SELECT_CSS_CLASSES.selectContent} ${this.error ? SELECT_CSS_CLASSES.selectContentError : ''}\"\n ${ref(this._$dropdownContent)}\n name=${this.controlName}\n >\n <h-select-close-btn\n class=\"${SELECT_CSS_CLASSES.selectCloseMobileButton}\"\n @selectCloseBtn.close=${this._closeSelect}\n ></h-select-close-btn>\n\n <div class=${SELECT_CSS_CLASSES.selectLabel}>${html`${this._getClonedPlaceholderElement()}`}</div>\n\n ${options.length > MIN_NUMBER_OF_OPTIONS_TO_SHOW_SEARCH\n ? html` <h-select-search\n class=${SELECT_CSS_CLASSES.selectSearch}\n ${ref(this._$search)}\n .value=${this._searchValue}\n @selectSearch.search=${this._handleSearch}\n ></h-select-search>`\n : nothing}\n ${this.hasSlot(SELECT_SLOT_NAMES.content)\n ? html`\n <h-options\n class=\"${SELECT_CSS_CLASSES.selectOptions} ${this._searchNoResult()\n ? SELECT_CSS_CLASSES.selectOptionsEmpty\n : ''}\"\n ${ref(this._$optionsList)}\n @selectOptions.clicked=${this._handleOptionClicked}\n >\n ${this.getSlot(SELECT_SLOT_NAMES.content)}\n </h-options>\n `\n : nothing}\n ${this._searchNoResult()\n ? html` <div>\n <p class=${SELECT_CSS_CLASSES.selectNoResult}>\n Brak wyników dla: <em class=${SELECT_CSS_CLASSES.selectSearchedPhrase}>\"${this._searchValue}\"</em>\n </p>\n </div>`\n : nothing}\n ${this.multiple && this._selectController.selectedOptionsCount >= 1\n ? html`\n <section class=${SELECT_CSS_CLASSES.selectFooter}>\n <button class=\"${SELECT_CSS_CLASSES.selectClearButton}\" @click=${this._clearOptions}>clear</button>\n <h-select-close-btn class=\"${SELECT_CSS_CLASSES.selectCloseButton}\" @selectCloseBtn.close=${this._closeSelect}\n ><span slot=${SELECT_CLOSE_BUTTON_CONTENT_SLOT_NAME}>ok</span>\n </h-select-close-btn>\n </section>\n `\n : nothing}\n </h-dropdown-content>\n </h-dropdown>\n\n ${observe(this._selectController.selectedOptions$, (selectOptions: SelectOption[]) =>\n selectOptions.map((option: SelectOption) => html`<input type=\"hidden\" name=${this.controlName} value=${option.value} />`)\n )}\n `;\n }\n}\n"],"names":["HSelect","PhoenixLightLitElement","SELECT_TYPES","createRef","ContextProviderController","SelectControlUtils","debounce","SELECT_RESIZE_DEBOUNCE_TIME","SELECT_RELATED_COMPONENTS_NAMES","SELECT_SLOT_NAMES","SELECT_INPUT_PLACEHOLDER_SLOT_NAME","SELECT_CSS_CLASSES","ListBoxKeyboardController","MultiSelectController","SelectController","SELECT_CONTEXTS","Observer","SelectOptionMapper","SELECT_EVENT_NAMES","SELECT_CLOSE_BTN_EVENT_NAMES","BREAKPOINTS","html","ref","MIN_NUMBER_OF_OPTIONS_TO_SHOW_SEARCH","nothing","SELECT_CLOSE_BUTTON_CONTENT_SLOT_NAME","observe","HSelectSearch","HIcon","HSelectCloseBtn","HSelectToggler","__decorate","property","state","phoenixCustomElement"],"mappings":"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"}
1
+ {"version":3,"file":"select.js","sources":["../../../../../../../../src/components/form/select/select.ts"],"sourcesContent":["import { PhoenixLightLitElement } from '@phoenixRoot/core/phoenix_light_lit_element/phoenix_light_lit_element';\nimport { phoenixCustomElement } from '@phoenixRoot/core/decorators/phoenix_custom_element';\nimport { HOption } from '@phoenixRoot/components/form/select/components/option/select_option';\nimport { property } from '@lit/reactive-element/decorators.js';\nimport { nothing, html, TemplateResult, PropertyValues } from 'lit';\nimport { SelectOption } from '@phoenixRoot/components/form/select/model/select_option';\nimport { ContextProviderController } from '@phoenixRoot/core/context/context_provider_controller';\nimport {\n MIN_NUMBER_OF_OPTIONS_TO_SHOW_SEARCH,\n SELECT_CONTEXTS,\n SELECT_CSS_CLASSES,\n SELECT_EVENT_NAMES,\n SELECT_RESIZE_DEBOUNCE_TIME,\n SELECT_SLOT_NAMES,\n SELECT_TYPES\n} from '@phoenixRoot/components/form/select/select_constants';\nimport { BehaviorSubject } from '@phoenixRoot/core/classes/behavior_subject/behavior_subject';\nimport { createRef, ref } from 'lit-html/directives/ref.js';\nimport { HDropdown } from '@phoenixRoot/components/dropdown/dropdown';\nimport { observe } from '@phoenixRoot/directives/observable_directive';\nimport { MultiSelectController } from '@phoenixRoot/components/form/select/controllers/multi_select_controller';\nimport { SelectController } from '@phoenixRoot/components/form/select/controllers/select_controller';\nimport { ISelectController } from '@phoenixRoot/components/form/select/controllers/select_controllers_types';\nimport { HSelectSearch } from '@phoenixRoot/components/form/select/components/search/select_search';\nimport { Observer } from '@phoenixRoot/core/classes/observer/observer';\nimport { state } from 'lit/decorators';\nimport { ListBoxKeyboardController } from '@phoenixRoot/controllers/list_box_controller/list_box_keyboard_controller';\nimport { HOptions } from '@phoenixRoot/components/form/select/components/select_options';\nimport { HIcon } from '@phoenixRoot/components/icon/icon';\nimport { SelectOptionMapper } from '@phoenixRoot/components/form/select/model/select_option_mapper';\nimport { TSelectOptionClickedEvent } from '@phoenixRoot/components/form/select/components/select_components_types';\nimport {\n SELECT_CLOSE_BTN_EVENT_NAMES,\n SELECT_CLOSE_BUTTON_CONTENT_SLOT_NAME,\n SELECT_INPUT_PLACEHOLDER_SLOT_NAME,\n SELECT_RELATED_COMPONENTS_NAMES\n} from '@phoenixRoot/components/form/select/components/select_components_constatns';\nimport { SelectControlUtils } from '@phoenixRoot/components/form/select/select_utils';\nimport { HSelectCloseBtn } from '@phoenixRoot/components/form/select/components/select_close_btn';\nimport { debounce } from 'lodash';\nimport { HSelectToggler } from '@phoenixRoot/components/form/select/components/toggler/select_toggler';\nimport { BREAKPOINTS } from '@phoenixRoot/global_constants';\nimport type { TSelectType } from '@phoenixRoot/components/form/select/select_types';\n\n@phoenixCustomElement('h-select')\nexport class HSelect extends PhoenixLightLitElement {\n private static _components = {\n search: HSelectSearch,\n icon: HIcon,\n closeBtn: HSelectCloseBtn,\n toggler: HSelectToggler\n };\n\n @property({ type: String, attribute: 'control-name' })\n public controlName: string;\n\n @property({ type: String, attribute: 'control-id' })\n public controlId: string;\n\n @property({ type: Boolean })\n public multiple: boolean = false;\n\n @property({ type: Boolean })\n public opened: boolean = false;\n\n @property({ type: Number })\n public offset: number = 2;\n\n @property({ type: Boolean })\n public error: boolean;\n\n @property({ type: Boolean })\n public disabled: boolean;\n\n @property({ type: String })\n public type: TSelectType = SELECT_TYPES.select;\n\n @property({ type: Boolean })\n public required: boolean;\n\n public get selectedIndex(): number {\n const selectedOptions = this._selectController.selectedOptions$.getValue();\n\n if (!selectedOptions || selectedOptions.length === 0) return -1;\n\n const htmlOptions = Object.values(this._$options);\n\n return this.multiple\n ? SelectControlUtils.getFirstIndexSelectedOption(htmlOptions)\n : SelectControlUtils.getLastIndexOfSelectedOption(htmlOptions);\n }\n\n public set selectedIndex(index: number) {\n const option = Object.values(this._$options)[index];\n\n if (!option) {\n this._selectController.deselectAll();\n\n return;\n }\n\n this._selectOption(option.value);\n }\n\n public get selectedOptions(): HOption[] {\n const selectedOptions = this._selectController.selectedOptions$.getValue() ?? [];\n\n return selectedOptions.filter((option: SelectOption) => option.selected).map((option: SelectOption) => this._$options[option.value]);\n }\n\n public get name(): string {\n return this.controlName;\n }\n\n public get id(): string {\n return this.controlId;\n }\n\n public get options(): HOption[] {\n return Object.values(this._$options);\n }\n\n @state()\n private _searchValue: string = '';\n\n private _selectController: ISelectController;\n\n private _$options: Record<string, HOption> = {};\n\n private _$dropdown = createRef<HDropdown>();\n\n private _$search = createRef<HSelectSearch>();\n\n private _$optionsList = createRef<HOptions>();\n\n private _$dropdownContent = createRef<HOptions>();\n\n private _selectContext = new ContextProviderController<BehaviorSubject<SelectOption[]> | boolean>(this);\n\n private _listBoxController: ListBoxKeyboardController;\n\n private _optionsObserver: Observer<SelectOption[]>;\n\n private $placeholder: HTMLElement | string;\n\n constructor() {\n super();\n\n const $options = Array.from(this.querySelectorAll<HOption>(SELECT_RELATED_COMPONENTS_NAMES.option));\n\n $options.forEach(($option) => $option.setAttribute('slot', SELECT_SLOT_NAMES.content));\n\n this.$placeholder = this.querySelector<HTMLElement>(`[slot=\"${SELECT_INPUT_PLACEHOLDER_SLOT_NAME}\"]`) ?? 'Select';\n\n if (this.multiple) this.type = SELECT_TYPES.multiple;\n }\n\n public updated(changedProperties: PropertyValues): void {\n super.updated(changedProperties);\n\n if (changedProperties.has('opened')) {\n if (this.opened) {\n this.classList.add(SELECT_CSS_CLASSES.selectOpened);\n this._focusElementAfterSelectOpened();\n } else {\n this.classList.remove(SELECT_CSS_CLASSES.selectOpened);\n }\n }\n\n if (this._$optionsList.value && !this._listBoxController)\n this._listBoxController = new ListBoxKeyboardController({\n host: this,\n $list: this._$optionsList.value\n });\n }\n\n private _focusElementAfterSelectOpened(): void {\n const $searchInput = this._$search.value?.querySelector<HTMLInputElement>('[role=\"search\"]');\n\n $searchInput ? $searchInput.focus() : this._$optionsList.value?.focus();\n }\n\n public connectedCallback(): void {\n super.connectedCallback();\n\n this.classList.add(SELECT_CSS_CLASSES.select);\n\n this._selectController = this.multiple ? new MultiSelectController({ host: this }) : new SelectController({ host: this });\n\n this._selectContext.provide(SELECT_CONTEXTS.selectedOptions$, this._selectController.selectedOptions$);\n this._selectContext.provide(SELECT_CONTEXTS.isMultiselect, this.multiple);\n\n const $options = Array.from(this.querySelectorAll<HOption>(SELECT_RELATED_COMPONENTS_NAMES.option));\n\n this._optionsObserver = new Observer<SelectOption[]>((selectedOptions: SelectOption[]) => this._updateOptionsView(selectedOptions));\n this._selectController.options$.subscribe(this._optionsObserver);\n\n this._$options = $options.reduce((acc: Record<string, HOption>, $option: HOption) => {\n if (acc[$option.value] !== undefined) throw Error('Select options must hava a unique values.');\n\n return {\n ...acc,\n [$option.value]: $option\n };\n }, {});\n\n const options = $options.map<SelectOption>(SelectOptionMapper.toModel);\n\n this._selectController.options$.notify(options);\n\n if (options.length) this._selectController.selectedOptions$.notify(options.filter((option: SelectOption) => option.selected));\n\n this._setupEvents();\n }\n\n public attributeChangedCallback(name: string, _old: string | null, value: string | null) {\n super.attributeChangedCallback(name, _old, value);\n\n switch (name) {\n case 'error':\n this.error ? this.classList.add(SELECT_CSS_CLASSES.selectError) : this.classList.remove(SELECT_CSS_CLASSES.selectError);\n\n break;\n case 'disabled':\n this.disabled ? this.classList.add(SELECT_CSS_CLASSES.selectDisabled) : this.classList.remove(SELECT_CSS_CLASSES.selectDisabled);\n }\n }\n\n public firstUpdated(props: PropertyValues): void {\n super.firstUpdated(props);\n\n this._setDropdownContentWidth(this._getDropdownContentWidth());\n }\n\n private _setDropdownContentWidth = (width: number | undefined) => {\n if (this._$dropdownContent.value) this._$dropdownContent.value.style.width = `${width ?? ''}px`;\n };\n\n private _setupEvents(): void {\n this.addEventListener(SELECT_EVENT_NAMES.deselectOption, this._handleOptionDeselect);\n this.addEventListener(SELECT_CLOSE_BTN_EVENT_NAMES.close, this._closeSelect);\n window.addEventListener('resize', this._handleResize);\n }\n\n private _handleOptionDeselect = (event: CustomEvent<string>): void => {\n const selectedOption = this._selectController.getOption(event.detail);\n\n if (!selectedOption) return;\n\n this._selectController.deselect(selectedOption);\n\n this._dispatchChangeEvent();\n };\n\n private _updateOptionsView = (options: SelectOption[]): void => {\n if (options.length < Object.keys(this._$options).length) this._removeHTMLOptions(options.map((option: SelectOption) => option.value));\n\n options.forEach((option: SelectOption, index) => {\n const { selected, value } = option;\n const $option = this._$options[value];\n\n if (!$option) {\n this._appendNewHTMLOption(option, index + 1);\n\n return;\n }\n\n SelectControlUtils.syncHTMLOptionWithModel(option, $option);\n\n if (!selected) return;\n\n $option.setAttribute(this.multiple ? 'aria-checked' : 'aria-selected', 'true');\n });\n };\n\n private _appendNewHTMLOption(option: SelectOption, position: number): void {\n const $list = this._$optionsList.value;\n\n if (!$list) return;\n\n const { value, selected } = option;\n const $option = SelectControlUtils.createHTMLOption(option);\n\n if (selected) $option.setAttribute(this.multiple ? 'aria-checked' : 'aria-selected', 'true');\n\n this._$options[value] = $option;\n\n SelectControlUtils.appendHTMLOption($option, $list, position);\n }\n\n private _removeHTMLOptions(optionsValues: string[]): void {\n this._$options = SelectControlUtils.removeHTMLOptions(Object.values(this._$options), optionsValues);\n }\n\n private _handleOptionClicked = (event: TSelectOptionClickedEvent): void => {\n this._selectOption(event.detail.$option.value);\n };\n\n private _selectOption(value: string): void {\n const option = this._selectController.getOption(value);\n\n if (!option) return;\n\n this._selectController.toggle(option);\n\n if (!this.multiple) this._closeSelect();\n\n this._dispatchChangeEvent();\n }\n\n private _handleSearch({ detail }: CustomEvent<string>): void {\n this._searchValue = detail;\n }\n\n private _handleDropdownHidden = (): void => {\n this._searchValue = '';\n this.opened = false;\n };\n\n private _closeSelect = (): void => {\n if (!this.opened) return;\n\n this._$dropdown.value?.hide();\n };\n\n private _clearOptions = (): void => {\n this._selectController.deselectAll();\n\n this._dispatchChangeEvent();\n };\n\n private _dispatchChangeEvent = (): void => {\n this.dispatchEvent(new Event('change'));\n };\n\n protected update(changedProperties: PropertyValues): void {\n super.update(changedProperties);\n\n if (changedProperties.has('_searchValue')) this._selectController.filter(this._searchValue);\n }\n\n public add(option: SelectOption, position?: number): void {\n this._selectController.add(option, position);\n }\n\n public removeOption(optionValue: string): void {\n this._selectController.remove(optionValue);\n }\n\n public replace(options: SelectOption[]): void {\n this._selectController.replace(options);\n }\n\n public disconnectedCallback(): void {\n super.disconnectedCallback();\n\n this._selectController.options$.unsubscribe(this._optionsObserver);\n\n window.removeEventListener('resize', this._handleResize);\n }\n\n private _handleResize = debounce(() => {\n this._closeSelect();\n this._setDropdownContentWidth(this._getDropdownContentWidth());\n }, SELECT_RESIZE_DEBOUNCE_TIME);\n\n private _getDropdownContentWidth(): number | undefined {\n return document.documentElement.clientWidth < BREAKPOINTS.xs ? undefined : this.getBoundingClientRect().width;\n }\n\n private _getClonedPlaceholderElement(): HTMLElement | string {\n return this.$placeholder instanceof HTMLElement ? (this.$placeholder.cloneNode(true) as HTMLElement) : this.$placeholder;\n }\n\n private _searchNoResult(): boolean {\n return Boolean(!this._selectController.visibleOptionsCount && Object.keys(this._$options).length);\n }\n\n protected render(): TemplateResult {\n const options = this._selectController.options$.getValue() ?? [];\n\n return html`\n <h-dropdown\n ${ref(this._$dropdown)}\n @dropdown.showed=${() => (this.opened = true)}\n @dropdown.hidden=${this._handleDropdownHidden}\n name=${this.controlName}\n offset=${this.offset}\n >\n <h-dropdown-toggler name=${this.controlName}> ${this.getSlot(SELECT_SLOT_NAMES.toggler)} </h-dropdown-toggler>\n\n <h-dropdown-content\n @focusout=${this._dispatchChangeEvent}\n class=\"${SELECT_CSS_CLASSES.selectContent} ${this.error ? SELECT_CSS_CLASSES.selectContentError : ''}\"\n ${ref(this._$dropdownContent)}\n name=${this.controlName}\n >\n <h-select-close-btn\n class=\"${SELECT_CSS_CLASSES.selectCloseMobileButton}\"\n @selectCloseBtn.close=${this._closeSelect}\n ></h-select-close-btn>\n\n <div class=${SELECT_CSS_CLASSES.selectLabel}>${html`${this._getClonedPlaceholderElement()}`}</div>\n\n ${options.length > MIN_NUMBER_OF_OPTIONS_TO_SHOW_SEARCH\n ? html` <h-select-search\n class=${SELECT_CSS_CLASSES.selectSearch}\n ${ref(this._$search)}\n .value=${this._searchValue}\n @selectSearch.search=${this._handleSearch}\n ></h-select-search>`\n : nothing}\n ${this.hasSlot(SELECT_SLOT_NAMES.content)\n ? html`\n <h-options\n class=\"${SELECT_CSS_CLASSES.selectOptions} ${this._searchNoResult()\n ? SELECT_CSS_CLASSES.selectOptionsEmpty\n : ''}\"\n ${ref(this._$optionsList)}\n @selectOptions.clicked=${this._handleOptionClicked}\n >\n ${this.getSlot(SELECT_SLOT_NAMES.content)}\n </h-options>\n `\n : nothing}\n ${this._searchNoResult()\n ? html` <div>\n <p class=${SELECT_CSS_CLASSES.selectNoResult}>\n Brak wyników dla: <em class=${SELECT_CSS_CLASSES.selectSearchedPhrase}>\"${this._searchValue}\"</em>\n </p>\n </div>`\n : nothing}\n ${this.multiple && this._selectController.selectedOptionsCount >= 1\n ? html`\n <section class=${SELECT_CSS_CLASSES.selectFooter}>\n <button class=\"${SELECT_CSS_CLASSES.selectClearButton}\" @click=${this._clearOptions}>clear</button>\n <h-select-close-btn class=\"${SELECT_CSS_CLASSES.selectCloseButton}\" @selectCloseBtn.close=${this._closeSelect}\n ><span slot=${SELECT_CLOSE_BUTTON_CONTENT_SLOT_NAME}>ok</span>\n </h-select-close-btn>\n </section>\n `\n : nothing}\n </h-dropdown-content>\n </h-dropdown>\n\n ${observe(this._selectController.selectedOptions$, (selectOptions: SelectOption[]) =>\n selectOptions.map((option: SelectOption) => html`<input type=\"hidden\" name=${this.controlName} value=${option.value} />`)\n )}\n `;\n }\n}\n"],"names":["HSelect","PhoenixLightLitElement","SELECT_TYPES","createRef","ContextProviderController","SelectControlUtils","debounce","SELECT_RESIZE_DEBOUNCE_TIME","SELECT_RELATED_COMPONENTS_NAMES","SELECT_SLOT_NAMES","SELECT_INPUT_PLACEHOLDER_SLOT_NAME","SELECT_CSS_CLASSES","ListBoxKeyboardController","MultiSelectController","SelectController","SELECT_CONTEXTS","Observer","SelectOptionMapper","SELECT_EVENT_NAMES","SELECT_CLOSE_BTN_EVENT_NAMES","BREAKPOINTS","html","ref","MIN_NUMBER_OF_OPTIONS_TO_SHOW_SEARCH","nothing","SELECT_CLOSE_BUTTON_CONTENT_SLOT_NAME","observe","HSelectSearch","HIcon","HSelectCloseBtn","HSelectToggler","__decorate","property","state","phoenixCustomElement"],"mappings":"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"}
@@ -81,6 +81,9 @@ let HSelect = class HSelect extends PhoenixLightLitElement {
81
81
  this._selectController.deselectAll();
82
82
  this._dispatchChangeEvent();
83
83
  };
84
+ this._dispatchChangeEvent = () => {
85
+ this.dispatchEvent(new Event('change'));
86
+ };
84
87
  this._handleResize = debounce_1(() => {
85
88
  this._closeSelect();
86
89
  this._setDropdownContentWidth(this._getDropdownContentWidth());
@@ -212,9 +215,6 @@ let HSelect = class HSelect extends PhoenixLightLitElement {
212
215
  _handleSearch({ detail }) {
213
216
  this._searchValue = detail;
214
217
  }
215
- _dispatchChangeEvent() {
216
- this.dispatchEvent(new Event('change'));
217
- }
218
218
  update(changedProperties) {
219
219
  super.update(changedProperties);
220
220
  if (changedProperties.has('_searchValue'))
@@ -257,7 +257,7 @@ let HSelect = class HSelect extends PhoenixLightLitElement {
257
257
  <h-dropdown-toggler name=${this.controlName}> ${this.getSlot(SELECT_SLOT_NAMES.toggler)} </h-dropdown-toggler>
258
258
 
259
259
  <h-dropdown-content
260
- @focusout=${() => this.dispatchEvent(new Event('focusout'))}
260
+ @focusout=${this._dispatchChangeEvent}
261
261
  class="${SELECT_CSS_CLASSES.selectContent} ${this.error ? SELECT_CSS_CLASSES.selectContentError : ''}"
262
262
  ${ref(this._$dropdownContent)}
263
263
  name=${this.controlName}
@@ -1 +1 @@
1
- {"version":3,"file":"select.js","sources":["../../../../../../../../src/components/form/select/select.ts"],"sourcesContent":["import { PhoenixLightLitElement } from '@phoenixRoot/core/phoenix_light_lit_element/phoenix_light_lit_element';\nimport { phoenixCustomElement } from '@phoenixRoot/core/decorators/phoenix_custom_element';\nimport { HOption } from '@phoenixRoot/components/form/select/components/option/select_option';\nimport { property } from '@lit/reactive-element/decorators.js';\nimport { nothing, html, TemplateResult, PropertyValues } from 'lit';\nimport { SelectOption } from '@phoenixRoot/components/form/select/model/select_option';\nimport { ContextProviderController } from '@phoenixRoot/core/context/context_provider_controller';\nimport {\n MIN_NUMBER_OF_OPTIONS_TO_SHOW_SEARCH,\n SELECT_CONTEXTS,\n SELECT_CSS_CLASSES,\n SELECT_EVENT_NAMES,\n SELECT_RESIZE_DEBOUNCE_TIME,\n SELECT_SLOT_NAMES,\n SELECT_TYPES\n} from '@phoenixRoot/components/form/select/select_constants';\nimport { BehaviorSubject } from '@phoenixRoot/core/classes/behavior_subject/behavior_subject';\nimport { createRef, ref } from 'lit-html/directives/ref.js';\nimport { HDropdown } from '@phoenixRoot/components/dropdown/dropdown';\nimport { observe } from '@phoenixRoot/directives/observable_directive';\nimport { MultiSelectController } from '@phoenixRoot/components/form/select/controllers/multi_select_controller';\nimport { SelectController } from '@phoenixRoot/components/form/select/controllers/select_controller';\nimport { ISelectController } from '@phoenixRoot/components/form/select/controllers/select_controllers_types';\nimport { HSelectSearch } from '@phoenixRoot/components/form/select/components/search/select_search';\nimport { Observer } from '@phoenixRoot/core/classes/observer/observer';\nimport { state } from 'lit/decorators';\nimport { ListBoxKeyboardController } from '@phoenixRoot/controllers/list_box_controller/list_box_keyboard_controller';\nimport { HOptions } from '@phoenixRoot/components/form/select/components/select_options';\nimport { HIcon } from '@phoenixRoot/components/icon/icon';\nimport { SelectOptionMapper } from '@phoenixRoot/components/form/select/model/select_option_mapper';\nimport { TSelectOptionClickedEvent } from '@phoenixRoot/components/form/select/components/select_components_types';\nimport {\n SELECT_CLOSE_BTN_EVENT_NAMES,\n SELECT_CLOSE_BUTTON_CONTENT_SLOT_NAME,\n SELECT_INPUT_PLACEHOLDER_SLOT_NAME,\n SELECT_RELATED_COMPONENTS_NAMES\n} from '@phoenixRoot/components/form/select/components/select_components_constatns';\nimport { SelectControlUtils } from '@phoenixRoot/components/form/select/select_utils';\nimport { HSelectCloseBtn } from '@phoenixRoot/components/form/select/components/select_close_btn';\nimport { debounce } from 'lodash';\nimport { HSelectToggler } from '@phoenixRoot/components/form/select/components/toggler/select_toggler';\nimport { BREAKPOINTS } from '@phoenixRoot/global_constants';\nimport type { TSelectType } from '@phoenixRoot/components/form/select/select_types';\n\n@phoenixCustomElement('h-select')\nexport class HSelect extends PhoenixLightLitElement {\n private static _components = {\n search: HSelectSearch,\n icon: HIcon,\n closeBtn: HSelectCloseBtn,\n toggler: HSelectToggler\n };\n\n @property({ type: String, attribute: 'control-name' })\n public controlName: string;\n\n @property({ type: String, attribute: 'control-id' })\n public controlId: string;\n\n @property({ type: Boolean })\n public multiple: boolean = false;\n\n @property({ type: Boolean })\n public opened: boolean = false;\n\n @property({ type: Number })\n public offset: number = 2;\n\n @property({ type: Boolean })\n public error: boolean;\n\n @property({ type: Boolean })\n public disabled: boolean;\n\n @property({ type: String })\n public type: TSelectType = SELECT_TYPES.select;\n\n @property({ type: Boolean })\n public required: boolean;\n\n public get selectedIndex(): number {\n const selectedOptions = this._selectController.selectedOptions$.getValue();\n\n if (!selectedOptions || selectedOptions.length === 0) return -1;\n\n const htmlOptions = Object.values(this._$options);\n\n return this.multiple\n ? SelectControlUtils.getFirstIndexSelectedOption(htmlOptions)\n : SelectControlUtils.getLastIndexOfSelectedOption(htmlOptions);\n }\n\n public set selectedIndex(index: number) {\n const option = Object.values(this._$options)[index];\n\n if (!option) {\n this._selectController.deselectAll();\n\n return;\n }\n\n this._selectOption(option.value);\n }\n\n public get selectedOptions(): HOption[] {\n const selectedOptions = this._selectController.selectedOptions$.getValue() ?? [];\n\n return selectedOptions.filter((option: SelectOption) => option.selected).map((option: SelectOption) => this._$options[option.value]);\n }\n\n public get name(): string {\n return this.controlName;\n }\n\n public get id(): string {\n return this.controlId;\n }\n\n public get options(): HOption[] {\n return Object.values(this._$options);\n }\n\n @state()\n private _searchValue: string = '';\n\n private _selectController: ISelectController;\n\n private _$options: Record<string, HOption> = {};\n\n private _$dropdown = createRef<HDropdown>();\n\n private _$search = createRef<HSelectSearch>();\n\n private _$optionsList = createRef<HOptions>();\n\n private _$dropdownContent = createRef<HOptions>();\n\n private _selectContext = new ContextProviderController<BehaviorSubject<SelectOption[]> | boolean>(this);\n\n private _listBoxController: ListBoxKeyboardController;\n\n private _optionsObserver: Observer<SelectOption[]>;\n\n private $placeholder: HTMLElement | string;\n\n constructor() {\n super();\n\n const $options = Array.from(this.querySelectorAll<HOption>(SELECT_RELATED_COMPONENTS_NAMES.option));\n\n $options.forEach(($option) => $option.setAttribute('slot', SELECT_SLOT_NAMES.content));\n\n this.$placeholder = this.querySelector<HTMLElement>(`[slot=\"${SELECT_INPUT_PLACEHOLDER_SLOT_NAME}\"]`) ?? 'Select';\n\n if (this.multiple) this.type = SELECT_TYPES.multiple;\n }\n\n public updated(changedProperties: PropertyValues): void {\n super.updated(changedProperties);\n\n if (changedProperties.has('opened')) {\n if (this.opened) {\n this.classList.add(SELECT_CSS_CLASSES.selectOpened);\n this._focusElementAfterSelectOpened();\n } else {\n this.classList.remove(SELECT_CSS_CLASSES.selectOpened);\n }\n }\n\n if (this._$optionsList.value && !this._listBoxController)\n this._listBoxController = new ListBoxKeyboardController({\n host: this,\n $list: this._$optionsList.value\n });\n }\n\n private _focusElementAfterSelectOpened(): void {\n const $searchInput = this._$search.value?.querySelector<HTMLInputElement>('[role=\"search\"]');\n\n $searchInput ? $searchInput.focus() : this._$optionsList.value?.focus();\n }\n\n public connectedCallback(): void {\n super.connectedCallback();\n\n this.classList.add(SELECT_CSS_CLASSES.select);\n\n this._selectController = this.multiple ? new MultiSelectController({ host: this }) : new SelectController({ host: this });\n\n this._selectContext.provide(SELECT_CONTEXTS.selectedOptions$, this._selectController.selectedOptions$);\n this._selectContext.provide(SELECT_CONTEXTS.isMultiselect, this.multiple);\n\n const $options = Array.from(this.querySelectorAll<HOption>(SELECT_RELATED_COMPONENTS_NAMES.option));\n\n this._optionsObserver = new Observer<SelectOption[]>((selectedOptions: SelectOption[]) => this._updateOptionsView(selectedOptions));\n this._selectController.options$.subscribe(this._optionsObserver);\n\n this._$options = $options.reduce((acc: Record<string, HOption>, $option: HOption) => {\n if (acc[$option.value] !== undefined) throw Error('Select options must hava a unique values.');\n\n return {\n ...acc,\n [$option.value]: $option\n };\n }, {});\n\n const options = $options.map<SelectOption>(SelectOptionMapper.toModel);\n\n this._selectController.options$.notify(options);\n\n if (options.length) this._selectController.selectedOptions$.notify(options.filter((option: SelectOption) => option.selected));\n\n this._setupEvents();\n }\n\n public attributeChangedCallback(name: string, _old: string | null, value: string | null) {\n super.attributeChangedCallback(name, _old, value);\n\n switch (name) {\n case 'error':\n this.error ? this.classList.add(SELECT_CSS_CLASSES.selectError) : this.classList.remove(SELECT_CSS_CLASSES.selectError);\n\n break;\n case 'disabled':\n this.disabled ? this.classList.add(SELECT_CSS_CLASSES.selectDisabled) : this.classList.remove(SELECT_CSS_CLASSES.selectDisabled);\n }\n }\n\n public firstUpdated(props: PropertyValues): void {\n super.firstUpdated(props);\n\n this._setDropdownContentWidth(this._getDropdownContentWidth());\n }\n\n private _setDropdownContentWidth = (width: number | undefined) => {\n if (this._$dropdownContent.value) this._$dropdownContent.value.style.width = `${width ?? ''}px`;\n };\n\n private _setupEvents(): void {\n this.addEventListener(SELECT_EVENT_NAMES.deselectOption, this._handleOptionDeselect);\n this.addEventListener(SELECT_CLOSE_BTN_EVENT_NAMES.close, this._closeSelect);\n window.addEventListener('resize', this._handleResize);\n }\n\n private _handleOptionDeselect = (event: CustomEvent<string>): void => {\n const selectedOption = this._selectController.getOption(event.detail);\n\n if (!selectedOption) return;\n\n this._selectController.deselect(selectedOption);\n\n this._dispatchChangeEvent();\n };\n\n private _updateOptionsView = (options: SelectOption[]): void => {\n if (options.length < Object.keys(this._$options).length) this._removeHTMLOptions(options.map((option: SelectOption) => option.value));\n\n options.forEach((option: SelectOption, index) => {\n const { selected, value } = option;\n const $option = this._$options[value];\n\n if (!$option) {\n this._appendNewHTMLOption(option, index + 1);\n\n return;\n }\n\n SelectControlUtils.syncHTMLOptionWithModel(option, $option);\n\n if (!selected) return;\n\n $option.setAttribute(this.multiple ? 'aria-checked' : 'aria-selected', 'true');\n });\n };\n\n private _appendNewHTMLOption(option: SelectOption, position: number): void {\n const $list = this._$optionsList.value;\n\n if (!$list) return;\n\n const { value, selected } = option;\n const $option = SelectControlUtils.createHTMLOption(option);\n\n if (selected) $option.setAttribute(this.multiple ? 'aria-checked' : 'aria-selected', 'true');\n\n this._$options[value] = $option;\n\n SelectControlUtils.appendHTMLOption($option, $list, position);\n }\n\n private _removeHTMLOptions(optionsValues: string[]): void {\n this._$options = SelectControlUtils.removeHTMLOptions(Object.values(this._$options), optionsValues);\n }\n\n private _handleOptionClicked = (event: TSelectOptionClickedEvent): void => {\n this._selectOption(event.detail.$option.value);\n };\n\n private _selectOption(value: string): void {\n const option = this._selectController.getOption(value);\n\n if (!option) return;\n\n this._selectController.toggle(option);\n\n if (!this.multiple) this._closeSelect();\n\n this._dispatchChangeEvent();\n }\n\n private _handleSearch({ detail }: CustomEvent<string>): void {\n this._searchValue = detail;\n }\n\n private _handleDropdownHidden = (): void => {\n this._searchValue = '';\n this.opened = false;\n };\n\n private _closeSelect = (): void => {\n if (!this.opened) return;\n\n this._$dropdown.value?.hide();\n };\n\n private _clearOptions = (): void => {\n this._selectController.deselectAll();\n\n this._dispatchChangeEvent();\n };\n\n private _dispatchChangeEvent(): void {\n this.dispatchEvent(new Event('change'));\n }\n\n protected update(changedProperties: PropertyValues): void {\n super.update(changedProperties);\n\n if (changedProperties.has('_searchValue')) this._selectController.filter(this._searchValue);\n }\n\n public add(option: SelectOption, position?: number): void {\n this._selectController.add(option, position);\n }\n\n public removeOption(optionValue: string): void {\n this._selectController.remove(optionValue);\n }\n\n public replace(options: SelectOption[]): void {\n this._selectController.replace(options);\n }\n\n public disconnectedCallback(): void {\n super.disconnectedCallback();\n\n this._selectController.options$.unsubscribe(this._optionsObserver);\n\n window.removeEventListener('resize', this._handleResize);\n }\n\n private _handleResize = debounce(() => {\n this._closeSelect();\n this._setDropdownContentWidth(this._getDropdownContentWidth());\n }, SELECT_RESIZE_DEBOUNCE_TIME);\n\n private _getDropdownContentWidth(): number | undefined {\n return document.documentElement.clientWidth < BREAKPOINTS.xs ? undefined : this.getBoundingClientRect().width;\n }\n\n private _getClonedPlaceholderElement(): HTMLElement | string {\n return this.$placeholder instanceof HTMLElement ? (this.$placeholder.cloneNode(true) as HTMLElement) : this.$placeholder;\n }\n\n private _searchNoResult(): boolean {\n return Boolean(!this._selectController.visibleOptionsCount && Object.keys(this._$options).length);\n }\n\n protected render(): TemplateResult {\n const options = this._selectController.options$.getValue() ?? [];\n\n return html`\n <h-dropdown\n ${ref(this._$dropdown)}\n @dropdown.showed=${() => (this.opened = true)}\n @dropdown.hidden=${this._handleDropdownHidden}\n name=${this.controlName}\n offset=${this.offset}\n >\n <h-dropdown-toggler name=${this.controlName}> ${this.getSlot(SELECT_SLOT_NAMES.toggler)} </h-dropdown-toggler>\n\n <h-dropdown-content\n @focusout=${() => this.dispatchEvent(new Event('focusout'))}\n class=\"${SELECT_CSS_CLASSES.selectContent} ${this.error ? SELECT_CSS_CLASSES.selectContentError : ''}\"\n ${ref(this._$dropdownContent)}\n name=${this.controlName}\n >\n <h-select-close-btn\n class=\"${SELECT_CSS_CLASSES.selectCloseMobileButton}\"\n @selectCloseBtn.close=${this._closeSelect}\n ></h-select-close-btn>\n\n <div class=${SELECT_CSS_CLASSES.selectLabel}>${html`${this._getClonedPlaceholderElement()}`}</div>\n\n ${options.length > MIN_NUMBER_OF_OPTIONS_TO_SHOW_SEARCH\n ? html` <h-select-search\n class=${SELECT_CSS_CLASSES.selectSearch}\n ${ref(this._$search)}\n .value=${this._searchValue}\n @selectSearch.search=${this._handleSearch}\n ></h-select-search>`\n : nothing}\n ${this.hasSlot(SELECT_SLOT_NAMES.content)\n ? html`\n <h-options\n class=\"${SELECT_CSS_CLASSES.selectOptions} ${this._searchNoResult()\n ? SELECT_CSS_CLASSES.selectOptionsEmpty\n : ''}\"\n ${ref(this._$optionsList)}\n @selectOptions.clicked=${this._handleOptionClicked}\n >\n ${this.getSlot(SELECT_SLOT_NAMES.content)}\n </h-options>\n `\n : nothing}\n ${this._searchNoResult()\n ? html` <div>\n <p class=${SELECT_CSS_CLASSES.selectNoResult}>\n Brak wyników dla: <em class=${SELECT_CSS_CLASSES.selectSearchedPhrase}>\"${this._searchValue}\"</em>\n </p>\n </div>`\n : nothing}\n ${this.multiple && this._selectController.selectedOptionsCount >= 1\n ? html`\n <section class=${SELECT_CSS_CLASSES.selectFooter}>\n <button class=\"${SELECT_CSS_CLASSES.selectClearButton}\" @click=${this._clearOptions}>clear</button>\n <h-select-close-btn class=\"${SELECT_CSS_CLASSES.selectCloseButton}\" @selectCloseBtn.close=${this._closeSelect}\n ><span slot=${SELECT_CLOSE_BUTTON_CONTENT_SLOT_NAME}>ok</span>\n </h-select-close-btn>\n </section>\n `\n : nothing}\n </h-dropdown-content>\n </h-dropdown>\n\n ${observe(this._selectController.selectedOptions$, (selectOptions: SelectOption[]) =>\n selectOptions.map((option: SelectOption) => html`<input type=\"hidden\" name=${this.controlName} value=${option.value} />`)\n )}\n `;\n }\n}\n"],"names":["debounce"],"mappings":"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"}
1
+ {"version":3,"file":"select.js","sources":["../../../../../../../../src/components/form/select/select.ts"],"sourcesContent":["import { PhoenixLightLitElement } from '@phoenixRoot/core/phoenix_light_lit_element/phoenix_light_lit_element';\nimport { phoenixCustomElement } from '@phoenixRoot/core/decorators/phoenix_custom_element';\nimport { HOption } from '@phoenixRoot/components/form/select/components/option/select_option';\nimport { property } from '@lit/reactive-element/decorators.js';\nimport { nothing, html, TemplateResult, PropertyValues } from 'lit';\nimport { SelectOption } from '@phoenixRoot/components/form/select/model/select_option';\nimport { ContextProviderController } from '@phoenixRoot/core/context/context_provider_controller';\nimport {\n MIN_NUMBER_OF_OPTIONS_TO_SHOW_SEARCH,\n SELECT_CONTEXTS,\n SELECT_CSS_CLASSES,\n SELECT_EVENT_NAMES,\n SELECT_RESIZE_DEBOUNCE_TIME,\n SELECT_SLOT_NAMES,\n SELECT_TYPES\n} from '@phoenixRoot/components/form/select/select_constants';\nimport { BehaviorSubject } from '@phoenixRoot/core/classes/behavior_subject/behavior_subject';\nimport { createRef, ref } from 'lit-html/directives/ref.js';\nimport { HDropdown } from '@phoenixRoot/components/dropdown/dropdown';\nimport { observe } from '@phoenixRoot/directives/observable_directive';\nimport { MultiSelectController } from '@phoenixRoot/components/form/select/controllers/multi_select_controller';\nimport { SelectController } from '@phoenixRoot/components/form/select/controllers/select_controller';\nimport { ISelectController } from '@phoenixRoot/components/form/select/controllers/select_controllers_types';\nimport { HSelectSearch } from '@phoenixRoot/components/form/select/components/search/select_search';\nimport { Observer } from '@phoenixRoot/core/classes/observer/observer';\nimport { state } from 'lit/decorators';\nimport { ListBoxKeyboardController } from '@phoenixRoot/controllers/list_box_controller/list_box_keyboard_controller';\nimport { HOptions } from '@phoenixRoot/components/form/select/components/select_options';\nimport { HIcon } from '@phoenixRoot/components/icon/icon';\nimport { SelectOptionMapper } from '@phoenixRoot/components/form/select/model/select_option_mapper';\nimport { TSelectOptionClickedEvent } from '@phoenixRoot/components/form/select/components/select_components_types';\nimport {\n SELECT_CLOSE_BTN_EVENT_NAMES,\n SELECT_CLOSE_BUTTON_CONTENT_SLOT_NAME,\n SELECT_INPUT_PLACEHOLDER_SLOT_NAME,\n SELECT_RELATED_COMPONENTS_NAMES\n} from '@phoenixRoot/components/form/select/components/select_components_constatns';\nimport { SelectControlUtils } from '@phoenixRoot/components/form/select/select_utils';\nimport { HSelectCloseBtn } from '@phoenixRoot/components/form/select/components/select_close_btn';\nimport { debounce } from 'lodash';\nimport { HSelectToggler } from '@phoenixRoot/components/form/select/components/toggler/select_toggler';\nimport { BREAKPOINTS } from '@phoenixRoot/global_constants';\nimport type { TSelectType } from '@phoenixRoot/components/form/select/select_types';\n\n@phoenixCustomElement('h-select')\nexport class HSelect extends PhoenixLightLitElement {\n private static _components = {\n search: HSelectSearch,\n icon: HIcon,\n closeBtn: HSelectCloseBtn,\n toggler: HSelectToggler\n };\n\n @property({ type: String, attribute: 'control-name' })\n public controlName: string;\n\n @property({ type: String, attribute: 'control-id' })\n public controlId: string;\n\n @property({ type: Boolean })\n public multiple: boolean = false;\n\n @property({ type: Boolean })\n public opened: boolean = false;\n\n @property({ type: Number })\n public offset: number = 2;\n\n @property({ type: Boolean })\n public error: boolean;\n\n @property({ type: Boolean })\n public disabled: boolean;\n\n @property({ type: String })\n public type: TSelectType = SELECT_TYPES.select;\n\n @property({ type: Boolean })\n public required: boolean;\n\n public get selectedIndex(): number {\n const selectedOptions = this._selectController.selectedOptions$.getValue();\n\n if (!selectedOptions || selectedOptions.length === 0) return -1;\n\n const htmlOptions = Object.values(this._$options);\n\n return this.multiple\n ? SelectControlUtils.getFirstIndexSelectedOption(htmlOptions)\n : SelectControlUtils.getLastIndexOfSelectedOption(htmlOptions);\n }\n\n public set selectedIndex(index: number) {\n const option = Object.values(this._$options)[index];\n\n if (!option) {\n this._selectController.deselectAll();\n\n return;\n }\n\n this._selectOption(option.value);\n }\n\n public get selectedOptions(): HOption[] {\n const selectedOptions = this._selectController.selectedOptions$.getValue() ?? [];\n\n return selectedOptions.filter((option: SelectOption) => option.selected).map((option: SelectOption) => this._$options[option.value]);\n }\n\n public get name(): string {\n return this.controlName;\n }\n\n public get id(): string {\n return this.controlId;\n }\n\n public get options(): HOption[] {\n return Object.values(this._$options);\n }\n\n @state()\n private _searchValue: string = '';\n\n private _selectController: ISelectController;\n\n private _$options: Record<string, HOption> = {};\n\n private _$dropdown = createRef<HDropdown>();\n\n private _$search = createRef<HSelectSearch>();\n\n private _$optionsList = createRef<HOptions>();\n\n private _$dropdownContent = createRef<HOptions>();\n\n private _selectContext = new ContextProviderController<BehaviorSubject<SelectOption[]> | boolean>(this);\n\n private _listBoxController: ListBoxKeyboardController;\n\n private _optionsObserver: Observer<SelectOption[]>;\n\n private $placeholder: HTMLElement | string;\n\n constructor() {\n super();\n\n const $options = Array.from(this.querySelectorAll<HOption>(SELECT_RELATED_COMPONENTS_NAMES.option));\n\n $options.forEach(($option) => $option.setAttribute('slot', SELECT_SLOT_NAMES.content));\n\n this.$placeholder = this.querySelector<HTMLElement>(`[slot=\"${SELECT_INPUT_PLACEHOLDER_SLOT_NAME}\"]`) ?? 'Select';\n\n if (this.multiple) this.type = SELECT_TYPES.multiple;\n }\n\n public updated(changedProperties: PropertyValues): void {\n super.updated(changedProperties);\n\n if (changedProperties.has('opened')) {\n if (this.opened) {\n this.classList.add(SELECT_CSS_CLASSES.selectOpened);\n this._focusElementAfterSelectOpened();\n } else {\n this.classList.remove(SELECT_CSS_CLASSES.selectOpened);\n }\n }\n\n if (this._$optionsList.value && !this._listBoxController)\n this._listBoxController = new ListBoxKeyboardController({\n host: this,\n $list: this._$optionsList.value\n });\n }\n\n private _focusElementAfterSelectOpened(): void {\n const $searchInput = this._$search.value?.querySelector<HTMLInputElement>('[role=\"search\"]');\n\n $searchInput ? $searchInput.focus() : this._$optionsList.value?.focus();\n }\n\n public connectedCallback(): void {\n super.connectedCallback();\n\n this.classList.add(SELECT_CSS_CLASSES.select);\n\n this._selectController = this.multiple ? new MultiSelectController({ host: this }) : new SelectController({ host: this });\n\n this._selectContext.provide(SELECT_CONTEXTS.selectedOptions$, this._selectController.selectedOptions$);\n this._selectContext.provide(SELECT_CONTEXTS.isMultiselect, this.multiple);\n\n const $options = Array.from(this.querySelectorAll<HOption>(SELECT_RELATED_COMPONENTS_NAMES.option));\n\n this._optionsObserver = new Observer<SelectOption[]>((selectedOptions: SelectOption[]) => this._updateOptionsView(selectedOptions));\n this._selectController.options$.subscribe(this._optionsObserver);\n\n this._$options = $options.reduce((acc: Record<string, HOption>, $option: HOption) => {\n if (acc[$option.value] !== undefined) throw Error('Select options must hava a unique values.');\n\n return {\n ...acc,\n [$option.value]: $option\n };\n }, {});\n\n const options = $options.map<SelectOption>(SelectOptionMapper.toModel);\n\n this._selectController.options$.notify(options);\n\n if (options.length) this._selectController.selectedOptions$.notify(options.filter((option: SelectOption) => option.selected));\n\n this._setupEvents();\n }\n\n public attributeChangedCallback(name: string, _old: string | null, value: string | null) {\n super.attributeChangedCallback(name, _old, value);\n\n switch (name) {\n case 'error':\n this.error ? this.classList.add(SELECT_CSS_CLASSES.selectError) : this.classList.remove(SELECT_CSS_CLASSES.selectError);\n\n break;\n case 'disabled':\n this.disabled ? this.classList.add(SELECT_CSS_CLASSES.selectDisabled) : this.classList.remove(SELECT_CSS_CLASSES.selectDisabled);\n }\n }\n\n public firstUpdated(props: PropertyValues): void {\n super.firstUpdated(props);\n\n this._setDropdownContentWidth(this._getDropdownContentWidth());\n }\n\n private _setDropdownContentWidth = (width: number | undefined) => {\n if (this._$dropdownContent.value) this._$dropdownContent.value.style.width = `${width ?? ''}px`;\n };\n\n private _setupEvents(): void {\n this.addEventListener(SELECT_EVENT_NAMES.deselectOption, this._handleOptionDeselect);\n this.addEventListener(SELECT_CLOSE_BTN_EVENT_NAMES.close, this._closeSelect);\n window.addEventListener('resize', this._handleResize);\n }\n\n private _handleOptionDeselect = (event: CustomEvent<string>): void => {\n const selectedOption = this._selectController.getOption(event.detail);\n\n if (!selectedOption) return;\n\n this._selectController.deselect(selectedOption);\n\n this._dispatchChangeEvent();\n };\n\n private _updateOptionsView = (options: SelectOption[]): void => {\n if (options.length < Object.keys(this._$options).length) this._removeHTMLOptions(options.map((option: SelectOption) => option.value));\n\n options.forEach((option: SelectOption, index) => {\n const { selected, value } = option;\n const $option = this._$options[value];\n\n if (!$option) {\n this._appendNewHTMLOption(option, index + 1);\n\n return;\n }\n\n SelectControlUtils.syncHTMLOptionWithModel(option, $option);\n\n if (!selected) return;\n\n $option.setAttribute(this.multiple ? 'aria-checked' : 'aria-selected', 'true');\n });\n };\n\n private _appendNewHTMLOption(option: SelectOption, position: number): void {\n const $list = this._$optionsList.value;\n\n if (!$list) return;\n\n const { value, selected } = option;\n const $option = SelectControlUtils.createHTMLOption(option);\n\n if (selected) $option.setAttribute(this.multiple ? 'aria-checked' : 'aria-selected', 'true');\n\n this._$options[value] = $option;\n\n SelectControlUtils.appendHTMLOption($option, $list, position);\n }\n\n private _removeHTMLOptions(optionsValues: string[]): void {\n this._$options = SelectControlUtils.removeHTMLOptions(Object.values(this._$options), optionsValues);\n }\n\n private _handleOptionClicked = (event: TSelectOptionClickedEvent): void => {\n this._selectOption(event.detail.$option.value);\n };\n\n private _selectOption(value: string): void {\n const option = this._selectController.getOption(value);\n\n if (!option) return;\n\n this._selectController.toggle(option);\n\n if (!this.multiple) this._closeSelect();\n\n this._dispatchChangeEvent();\n }\n\n private _handleSearch({ detail }: CustomEvent<string>): void {\n this._searchValue = detail;\n }\n\n private _handleDropdownHidden = (): void => {\n this._searchValue = '';\n this.opened = false;\n };\n\n private _closeSelect = (): void => {\n if (!this.opened) return;\n\n this._$dropdown.value?.hide();\n };\n\n private _clearOptions = (): void => {\n this._selectController.deselectAll();\n\n this._dispatchChangeEvent();\n };\n\n private _dispatchChangeEvent = (): void => {\n this.dispatchEvent(new Event('change'));\n };\n\n protected update(changedProperties: PropertyValues): void {\n super.update(changedProperties);\n\n if (changedProperties.has('_searchValue')) this._selectController.filter(this._searchValue);\n }\n\n public add(option: SelectOption, position?: number): void {\n this._selectController.add(option, position);\n }\n\n public removeOption(optionValue: string): void {\n this._selectController.remove(optionValue);\n }\n\n public replace(options: SelectOption[]): void {\n this._selectController.replace(options);\n }\n\n public disconnectedCallback(): void {\n super.disconnectedCallback();\n\n this._selectController.options$.unsubscribe(this._optionsObserver);\n\n window.removeEventListener('resize', this._handleResize);\n }\n\n private _handleResize = debounce(() => {\n this._closeSelect();\n this._setDropdownContentWidth(this._getDropdownContentWidth());\n }, SELECT_RESIZE_DEBOUNCE_TIME);\n\n private _getDropdownContentWidth(): number | undefined {\n return document.documentElement.clientWidth < BREAKPOINTS.xs ? undefined : this.getBoundingClientRect().width;\n }\n\n private _getClonedPlaceholderElement(): HTMLElement | string {\n return this.$placeholder instanceof HTMLElement ? (this.$placeholder.cloneNode(true) as HTMLElement) : this.$placeholder;\n }\n\n private _searchNoResult(): boolean {\n return Boolean(!this._selectController.visibleOptionsCount && Object.keys(this._$options).length);\n }\n\n protected render(): TemplateResult {\n const options = this._selectController.options$.getValue() ?? [];\n\n return html`\n <h-dropdown\n ${ref(this._$dropdown)}\n @dropdown.showed=${() => (this.opened = true)}\n @dropdown.hidden=${this._handleDropdownHidden}\n name=${this.controlName}\n offset=${this.offset}\n >\n <h-dropdown-toggler name=${this.controlName}> ${this.getSlot(SELECT_SLOT_NAMES.toggler)} </h-dropdown-toggler>\n\n <h-dropdown-content\n @focusout=${this._dispatchChangeEvent}\n class=\"${SELECT_CSS_CLASSES.selectContent} ${this.error ? SELECT_CSS_CLASSES.selectContentError : ''}\"\n ${ref(this._$dropdownContent)}\n name=${this.controlName}\n >\n <h-select-close-btn\n class=\"${SELECT_CSS_CLASSES.selectCloseMobileButton}\"\n @selectCloseBtn.close=${this._closeSelect}\n ></h-select-close-btn>\n\n <div class=${SELECT_CSS_CLASSES.selectLabel}>${html`${this._getClonedPlaceholderElement()}`}</div>\n\n ${options.length > MIN_NUMBER_OF_OPTIONS_TO_SHOW_SEARCH\n ? html` <h-select-search\n class=${SELECT_CSS_CLASSES.selectSearch}\n ${ref(this._$search)}\n .value=${this._searchValue}\n @selectSearch.search=${this._handleSearch}\n ></h-select-search>`\n : nothing}\n ${this.hasSlot(SELECT_SLOT_NAMES.content)\n ? html`\n <h-options\n class=\"${SELECT_CSS_CLASSES.selectOptions} ${this._searchNoResult()\n ? SELECT_CSS_CLASSES.selectOptionsEmpty\n : ''}\"\n ${ref(this._$optionsList)}\n @selectOptions.clicked=${this._handleOptionClicked}\n >\n ${this.getSlot(SELECT_SLOT_NAMES.content)}\n </h-options>\n `\n : nothing}\n ${this._searchNoResult()\n ? html` <div>\n <p class=${SELECT_CSS_CLASSES.selectNoResult}>\n Brak wyników dla: <em class=${SELECT_CSS_CLASSES.selectSearchedPhrase}>\"${this._searchValue}\"</em>\n </p>\n </div>`\n : nothing}\n ${this.multiple && this._selectController.selectedOptionsCount >= 1\n ? html`\n <section class=${SELECT_CSS_CLASSES.selectFooter}>\n <button class=\"${SELECT_CSS_CLASSES.selectClearButton}\" @click=${this._clearOptions}>clear</button>\n <h-select-close-btn class=\"${SELECT_CSS_CLASSES.selectCloseButton}\" @selectCloseBtn.close=${this._closeSelect}\n ><span slot=${SELECT_CLOSE_BUTTON_CONTENT_SLOT_NAME}>ok</span>\n </h-select-close-btn>\n </section>\n `\n : nothing}\n </h-dropdown-content>\n </h-dropdown>\n\n ${observe(this._selectController.selectedOptions$, (selectOptions: SelectOption[]) =>\n selectOptions.map((option: SelectOption) => html`<input type=\"hidden\" name=${this.controlName} value=${option.value} />`)\n )}\n `;\n }\n}\n"],"names":["debounce"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;IA6Ca,OAAO,GAApB,MAAa,OAAQ,SAAQ,sBAAsB;IAoG/C;;QACI,KAAK,EAAE,CAAC;QAtFL,aAAQ,GAAY,KAAK,CAAC;QAG1B,WAAM,GAAY,KAAK,CAAC;QAGxB,WAAM,GAAW,CAAC,CAAC;QASnB,SAAI,GAAgB,YAAY,CAAC,MAAM,CAAC;QAgDvC,iBAAY,GAAW,EAAE,CAAC;QAI1B,cAAS,GAA4B,EAAE,CAAC;QAExC,eAAU,GAAG,SAAS,EAAa,CAAC;QAEpC,aAAQ,GAAG,SAAS,EAAiB,CAAC;QAEtC,kBAAa,GAAG,SAAS,EAAY,CAAC;QAEtC,sBAAiB,GAAG,SAAS,EAAY,CAAC;QAE1C,mBAAc,GAAG,IAAI,yBAAyB,CAA4C,IAAI,CAAC,CAAC;QAiGhG,6BAAwB,GAAG,CAAC,KAAyB;YACzD,IAAI,IAAI,CAAC,iBAAiB,CAAC,KAAK;gBAAE,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,IAAI,CAAC;SACnG,CAAC;QAQM,0BAAqB,GAAG,CAAC,KAA0B;YACvD,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAEtE,IAAI,CAAC,cAAc;gBAAE,OAAO;YAE5B,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;YAEhD,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC/B,CAAC;QAEM,uBAAkB,GAAG,CAAC,OAAuB;YACjD,IAAI,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM;gBAAE,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAoB,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAEtI,OAAO,CAAC,OAAO,CAAC,CAAC,MAAoB,EAAE,KAAK;gBACxC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;gBACnC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBAEtC,IAAI,CAAC,OAAO,EAAE;oBACV,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;oBAE7C,OAAO;iBACV;gBAED,kBAAkB,CAAC,uBAAuB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAE5D,IAAI,CAAC,QAAQ;oBAAE,OAAO;gBAEtB,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,GAAG,cAAc,GAAG,eAAe,EAAE,MAAM,CAAC,CAAC;aAClF,CAAC,CAAC;SACN,CAAC;QAqBM,yBAAoB,GAAG,CAAC,KAAgC;YAC5D,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SAClD,CAAC;QAkBM,0BAAqB,GAAG;YAC5B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;SACvB,CAAC;QAEM,iBAAY,GAAG;;YACnB,IAAI,CAAC,IAAI,CAAC,MAAM;gBAAE,OAAO;YAEzB,MAAA,IAAI,CAAC,UAAU,CAAC,KAAK,0CAAE,IAAI,EAAE,CAAC;SACjC,CAAC;QAEM,kBAAa,GAAG;YACpB,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC;YAErC,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC/B,CAAC;QAEM,yBAAoB,GAAG;YAC3B,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;SAC3C,CAAC;QA4BM,kBAAa,GAAGA,UAAQ,CAAC;YAC7B,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC;SAClE,EAAE,2BAA2B,CAAC,CAAC;QAxN5B,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAU,+BAA+B,CAAC,MAAM,CAAC,CAAC,CAAC;QAEpG,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;QAEvF,IAAI,CAAC,YAAY,GAAG,MAAA,IAAI,CAAC,aAAa,CAAc,UAAU,kCAAkC,IAAI,CAAC,mCAAI,QAAQ,CAAC;QAElH,IAAI,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC;KACxD;IA3ED,IAAW,aAAa;QACpB,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;QAE3E,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC,CAAC;QAEhE,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAElD,OAAO,IAAI,CAAC,QAAQ;cACd,kBAAkB,CAAC,2BAA2B,CAAC,WAAW,CAAC;cAC3D,kBAAkB,CAAC,4BAA4B,CAAC,WAAW,CAAC,CAAC;KACtE;IAED,IAAW,aAAa,CAAC,KAAa;QAClC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC;QAEpD,IAAI,CAAC,MAAM,EAAE;YACT,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC;YAErC,OAAO;SACV;QAED,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KACpC;IAED,IAAW,eAAe;;QACtB,MAAM,eAAe,GAAG,MAAA,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;QAEjF,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC,MAAoB,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,MAAoB,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;KACxI;IAED,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,WAAW,CAAC;KAC3B;IAED,IAAW,EAAE;QACT,OAAO,IAAI,CAAC,SAAS,CAAC;KACzB;IAED,IAAW,OAAO;QACd,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KACxC;IAqCM,OAAO,CAAC,iBAAiC;QAC5C,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAEjC,IAAI,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YACjC,IAAI,IAAI,CAAC,MAAM,EAAE;gBACb,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;gBACpD,IAAI,CAAC,8BAA8B,EAAE,CAAC;aACzC;iBAAM;gBACH,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;aAC1D;SACJ;QAED,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,kBAAkB;YACpD,IAAI,CAAC,kBAAkB,GAAG,IAAI,yBAAyB,CAAC;gBACpD,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK;aAClC,CAAC,CAAC;KACV;IAEO,8BAA8B;;QAClC,MAAM,YAAY,GAAG,MAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,0CAAE,aAAa,CAAmB,iBAAiB,CAAC,CAAC;QAE7F,YAAY,GAAG,YAAY,CAAC,KAAK,EAAE,GAAG,MAAA,IAAI,CAAC,aAAa,CAAC,KAAK,0CAAE,KAAK,EAAE,CAAC;KAC3E;IAEM,iBAAiB;QACpB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAE1B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAE9C,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,qBAAqB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,gBAAgB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAE1H,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;QACvG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE1E,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAU,+BAA+B,CAAC,MAAM,CAAC,CAAC,CAAC;QAEpG,IAAI,CAAC,gBAAgB,GAAG,IAAI,QAAQ,CAAiB,CAAC,eAA+B,KAAK,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC,CAAC;QACpI,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAEjE,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAA4B,EAAE,OAAgB;YAC5E,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,SAAS;gBAAE,MAAM,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAE/F,OAAO;gBACH,GAAG,GAAG;gBACN,CAAC,OAAO,CAAC,KAAK,GAAG,OAAO;aAC3B,CAAC;SACL,EAAE,EAAE,CAAC,CAAC;QAEP,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAe,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAEvE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEhD,IAAI,OAAO,CAAC,MAAM;YAAE,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAoB,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE9H,IAAI,CAAC,YAAY,EAAE,CAAC;KACvB;IAEM,wBAAwB,CAAC,IAAY,EAAE,IAAmB,EAAE,KAAoB;QACnF,KAAK,CAAC,wBAAwB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAElD,QAAQ,IAAI;YACR,KAAK,OAAO;gBACR,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;gBAExH,MAAM;YACV,KAAK,UAAU;gBACX,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;SACxI;KACJ;IAEM,YAAY,CAAC,KAAqB;QACrC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAE1B,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC;KAClE;IAMO,YAAY;QAChB,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,cAAc,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACrF,IAAI,CAAC,gBAAgB,CAAC,4BAA4B,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC7E,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;KACzD;IAiCO,oBAAoB,CAAC,MAAoB,EAAE,QAAgB;QAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QAEvC,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;QACnC,MAAM,OAAO,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAE5D,IAAI,QAAQ;YAAE,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,GAAG,cAAc,GAAG,eAAe,EAAE,MAAM,CAAC,CAAC;QAE7F,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;QAEhC,kBAAkB,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;KACjE;IAEO,kBAAkB,CAAC,aAAuB;QAC9C,IAAI,CAAC,SAAS,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC,CAAC;KACvG;IAMO,aAAa,CAAC,KAAa;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAEvD,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAEtC,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,YAAY,EAAE,CAAC;QAExC,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAC/B;IAEO,aAAa,CAAC,EAAE,MAAM,EAAuB;QACjD,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;KAC9B;IAuBS,MAAM,CAAC,iBAAiC;QAC9C,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAEhC,IAAI,iBAAiB,CAAC,GAAG,CAAC,cAAc,CAAC;YAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KAC/F;IAEM,GAAG,CAAC,MAAoB,EAAE,QAAiB;QAC9C,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;KAChD;IAEM,YAAY,CAAC,WAAmB;QACnC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;KAC9C;IAEM,OAAO,CAAC,OAAuB;QAClC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;KAC3C;IAEM,oBAAoB;QACvB,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAE7B,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAEnE,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;KAC5D;IAOO,wBAAwB;QAC5B,OAAO,QAAQ,CAAC,eAAe,CAAC,WAAW,GAAG,WAAW,CAAC,EAAE,GAAG,SAAS,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC;KACjH;IAEO,4BAA4B;QAChC,OAAO,IAAI,CAAC,YAAY,YAAY,WAAW,GAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAiB,GAAG,IAAI,CAAC,YAAY,CAAC;KAC5H;IAEO,eAAe;QACnB,OAAO,OAAO,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;KACrG;IAES,MAAM;;QACZ,MAAM,OAAO,GAAG,MAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;QAEjE,OAAO,IAAI,CAAA;;kBAED,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;mCACH,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;mCAC1B,IAAI,CAAC,qBAAqB;uBACtC,IAAI,CAAC,WAAW;yBACd,IAAI,CAAC,MAAM;;2CAEO,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC;;;gCAGvE,IAAI,CAAC,oBAAoB;6BAC5B,kBAAkB,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,GAAG,kBAAkB,CAAC,kBAAkB,GAAG,EAAE;sBAClG,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC;2BACtB,IAAI,CAAC,WAAW;;;iCAGV,kBAAkB,CAAC,uBAAuB;gDAC3B,IAAI,CAAC,YAAY;;;iCAGhC,kBAAkB,CAAC,WAAW,IAAI,IAAI,CAAA,GAAG,IAAI,CAAC,4BAA4B,EAAE,EAAE;;sBAEzF,OAAO,CAAC,MAAM,GAAG,oCAAoC;cACjD,IAAI,CAAA;sCACQ,kBAAkB,CAAC,YAAY;gCACrC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;uCACX,IAAI,CAAC,YAAY;qDACH,IAAI,CAAC,aAAa;8CACzB;cACpB,OAAO;sBACX,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC;cACnC,IAAI,CAAA;;2CAEa,kBAAkB,CAAC,aAAa,IAAI,IAAI,CAAC,eAAe,EAAE;kBAC7D,kBAAkB,CAAC,kBAAkB;kBACrC,EAAE;oCACN,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC;2DACA,IAAI,CAAC,oBAAoB;;oCAEhD,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC;;2BAEhD;cACD,OAAO;sBACX,IAAI,CAAC,eAAe,EAAE;cAClB,IAAI,CAAA;yCACW,kBAAkB,CAAC,cAAc;gEACV,kBAAkB,CAAC,oBAAoB,KAAK,IAAI,CAAC,YAAY;;iCAE5F;cACP,OAAO;sBACX,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,IAAI,CAAC;cAC7D,IAAI,CAAA;+CACiB,kBAAkB,CAAC,YAAY;mDAC3B,kBAAkB,CAAC,iBAAiB,YAAY,IAAI,CAAC,aAAa;+DACtD,kBAAkB,CAAC,iBAAiB,2BAA2B,IAAI,CAAC,YAAY;oDAC3F,qCAAqC;;;2BAG9D;cACD,OAAO;;;;cAInB,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAC,aAA6B,KAC7E,aAAa,CAAC,GAAG,CAAC,CAAC,MAAoB,KAAK,IAAI,CAAA,6BAA6B,IAAI,CAAC,WAAW,UAAU,MAAM,CAAC,KAAK,KAAK,CAAC,CAC5H;SACJ,CAAC;KACL;EACJ;AApZkB,mBAAW,GAAG;IACzB,MAAM,EAAE,aAAa;IACrB,IAAI,EAAE,KAAK;IACX,QAAQ,EAAE,eAAe;IACzB,OAAO,EAAE,cAAc;CACzB,CAAA;AAGF;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC;;4CAC3B;AAG3B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;;0CAC3B;AAGzB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;;yCACK;AAGjC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;;uCACG;AAG/B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;uCACD;AAG1B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;;sCACN;AAGtB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;;yCACH;AAGzB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;qCACoB;AAG/C;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;;yCACH;AA6CzB;IADC,KAAK,EAAE;;6CAC0B;AA9EzB,OAAO;IADnB,oBAAoB,CAAC,UAAU,CAAC;;GACpB,OAAO,CAqZnB;;;;"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@shoper/phoenix_design_system",
3
3
  "packageManager": "yarn@3.2.0",
4
4
  "sideEffects": false,
5
- "version": "1.1.6",
5
+ "version": "1.1.7",
6
6
  "description": "phoenix design system",
7
7
  "author": "zefirek",
8
8
  "license": "MIT",