@onereach/ui-components 25.3.2 → 25.3.3-beta.5798.0
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.
- package/dist/esm/{OrAutocomplete-CF2b_sud.mjs → OrAutocomplete-DUrxhDnG.mjs} +7 -7
- package/dist/esm/{OrAutocomplete-CF2b_sud.mjs.map → OrAutocomplete-DUrxhDnG.mjs.map} +1 -1
- package/dist/esm/{OrAvatar-XcP_rrT3.mjs → OrAvatar-kdj2ReS0.mjs} +13 -13
- package/dist/esm/OrAvatar-kdj2ReS0.mjs.map +1 -0
- package/dist/esm/{OrBottomSheet-CJxmY84p.mjs → OrBottomSheet-DQ83BBtJ.mjs} +17 -17
- package/dist/esm/OrBottomSheet-DQ83BBtJ.mjs.map +1 -0
- package/dist/esm/{OrButton-C_hXddAf.mjs → OrButton-_RCmYvxT.mjs} +2 -2
- package/dist/esm/OrButton-_RCmYvxT.mjs.map +1 -0
- package/dist/esm/{OrButton.vue_vue_type_script_lang-W1ictbKz.mjs → OrButton.vue_vue_type_script_lang-CAOLKmru.mjs} +8 -8
- package/dist/esm/OrButton.vue_vue_type_script_lang-CAOLKmru.mjs.map +1 -0
- package/dist/esm/{OrButtonGroup-Cd6tpyP3.mjs → OrButtonGroup-BA_S1Gl5.mjs} +9 -9
- package/dist/esm/OrButtonGroup-BA_S1Gl5.mjs.map +1 -0
- package/dist/esm/OrCard-7awJu_df.mjs.map +1 -1
- package/dist/esm/{OrCardCollection-CJ08vHsJ.mjs → OrCardCollection-BCS_tX5j.mjs} +12 -12
- package/dist/esm/OrCardCollection-BCS_tX5j.mjs.map +1 -0
- package/dist/esm/{OrCheckboxGroup-CplC5v47.mjs → OrCheckboxGroup-BbV_sTYd.mjs} +2 -2
- package/dist/esm/{OrCheckboxGroup-CplC5v47.mjs.map → OrCheckboxGroup-BbV_sTYd.mjs.map} +1 -1
- package/dist/esm/{OrCheckboxTree-K4WkrYXY.mjs → OrCheckboxTree-Bj6BZxdn.mjs} +2 -2
- package/dist/esm/OrCheckboxTree-Bj6BZxdn.mjs.map +1 -0
- package/dist/esm/{OrCode-C-aENyuR.mjs → OrCode-BLHj3vA6.mjs} +3 -3
- package/dist/esm/OrCode-BLHj3vA6.mjs.map +1 -0
- package/dist/esm/{OrCombinedInput-Ddlid03b.mjs → OrCombinedInput-BNkXzDBe.mjs} +13 -13
- package/dist/esm/OrCombinedInput-BNkXzDBe.mjs.map +1 -0
- package/dist/esm/{OrConfirm-CT16BlWw.mjs → OrConfirm-DEfngEi9.mjs} +5 -5
- package/dist/esm/{OrConfirm-CT16BlWw.mjs.map → OrConfirm-DEfngEi9.mjs.map} +1 -1
- package/dist/esm/{OrContextMenu-DG-PfyQa.mjs → OrContextMenu-BJ4R2qpI.mjs} +15 -15
- package/dist/esm/{OrContextMenu-DG-PfyQa.mjs.map → OrContextMenu-BJ4R2qpI.mjs.map} +1 -1
- package/dist/esm/{OrDataGrid-uquzpuT9.mjs → OrDataGrid-BYojYWqx.mjs} +13 -13
- package/dist/esm/OrDataGrid-BYojYWqx.mjs.map +1 -0
- package/dist/esm/{OrDateFormat-JU4vCVQ_.mjs → OrDateFormat-tizCaRnI.mjs} +9 -9
- package/dist/esm/OrDateFormat-tizCaRnI.mjs.map +1 -0
- package/dist/esm/{OrDatePicker-pp_M6dIS.mjs → OrDatePicker-B_N24Q-T.mjs} +4 -4
- package/dist/esm/{OrDatePicker-pp_M6dIS.mjs.map → OrDatePicker-B_N24Q-T.mjs.map} +1 -1
- package/dist/esm/{OrDateRangePicker-DtYfy96I.mjs → OrDateRangePicker-B1WDbBMb.mjs} +4 -4
- package/dist/esm/{OrDateRangePicker-DtYfy96I.mjs.map → OrDateRangePicker-B1WDbBMb.mjs.map} +1 -1
- package/dist/esm/{OrDateTimeFormat-DD0o7NO2.mjs → OrDateTimeFormat-BYiqGZKc.mjs} +10 -10
- package/dist/esm/OrDateTimeFormat-BYiqGZKc.mjs.map +1 -0
- package/dist/esm/{OrDateTimePicker-Bm1Ykpgv.mjs → OrDateTimePicker-CNt_o1Js.mjs} +2 -2
- package/dist/esm/{OrDateTimePicker-Bm1Ykpgv.mjs.map → OrDateTimePicker-CNt_o1Js.mjs.map} +1 -1
- package/dist/esm/{OrDateTimePicker.vue_vue_type_script_lang-BL0M-UeT.mjs → OrDateTimePicker.vue_vue_type_script_lang-Btv1OOQV.mjs} +6 -6
- package/dist/esm/OrDateTimePicker.vue_vue_type_script_lang-Btv1OOQV.mjs.map +1 -0
- package/dist/esm/{OrDrawer-DMkYoWOZ.mjs → OrDrawer-CxFRr8z9.mjs} +2 -2
- package/dist/esm/{OrDrawer-DMkYoWOZ.mjs.map → OrDrawer-CxFRr8z9.mjs.map} +1 -1
- package/dist/esm/{OrEditorTabs-T4vtJg3r.mjs → OrEditorTabs-Ri22rDUK.mjs} +7 -7
- package/dist/esm/OrEditorTabs-Ri22rDUK.mjs.map +1 -0
- package/dist/esm/OrEmptyState-C6viT2WQ.mjs.map +1 -1
- package/dist/esm/OrError-B5ihH6-3.mjs.map +1 -1
- package/dist/esm/{OrErrorTag-Bo_gxhzB.mjs → OrErrorTag-B35sZEF9.mjs} +11 -11
- package/dist/esm/OrErrorTag-B35sZEF9.mjs.map +1 -0
- package/dist/esm/{OrExpansionPanel-BNGPdEnp.mjs → OrExpansionPanel-CrGf7B-b.mjs} +15 -15
- package/dist/esm/OrExpansionPanel-CrGf7B-b.mjs.map +1 -0
- package/dist/esm/{OrFab-Cbg9unNc.mjs → OrFab-B2oDFwgM.mjs} +12 -12
- package/dist/esm/OrFab-B2oDFwgM.mjs.map +1 -0
- package/dist/esm/{OrFilter-DuFoI_Sd.mjs → OrFilter-DRhu4YA2.mjs} +12 -12
- package/dist/esm/OrFilter-DRhu4YA2.mjs.map +1 -0
- package/dist/esm/{OrFilterPopover-BwHlCPf2.mjs → OrFilterPopover-BZJ1Au34.mjs} +14 -14
- package/dist/esm/OrFilterPopover-BZJ1Au34.mjs.map +1 -0
- package/dist/esm/{OrFilterTrigger-Ch293iF_.mjs → OrFilterTrigger-BNVaoHrT.mjs} +2 -2
- package/dist/esm/{OrFilterTrigger-Ch293iF_.mjs.map → OrFilterTrigger-BNVaoHrT.mjs.map} +1 -1
- package/dist/esm/OrFormGroup-CUNdt7UL.mjs.map +1 -1
- package/dist/esm/OrHint-NvbZyURY.mjs.map +1 -1
- package/dist/esm/OrIcon-k8cyvh-D.mjs.map +1 -1
- package/dist/esm/{OrIconButton-BajZRp1k.mjs → OrIconButton-Ds8k8FmS.mjs} +21 -21
- package/dist/esm/OrIconButton-Ds8k8FmS.mjs.map +1 -0
- package/dist/esm/{OrIndicator-CCrOseW7.mjs → OrIndicator-CdMrJtoj.mjs} +15 -15
- package/dist/esm/OrIndicator-CdMrJtoj.mjs.map +1 -0
- package/dist/esm/{OrInlineInput-BG3yAs5M.mjs → OrInlineInput-DqyLMsXq.mjs} +2 -2
- package/dist/esm/{OrInlineInput-BG3yAs5M.mjs.map → OrInlineInput-DqyLMsXq.mjs.map} +1 -1
- package/dist/esm/OrInlineInputBox-M_zTO43m.mjs.map +1 -1
- package/dist/esm/{OrInlineTextarea-CZVqac2G.mjs → OrInlineTextarea-DVi6ZAsn.mjs} +32 -32
- package/dist/esm/OrInlineTextarea-DVi6ZAsn.mjs.map +1 -0
- package/dist/esm/{OrInput-BrJzxNyE.mjs → OrInput-nExtCSw8.mjs} +31 -31
- package/dist/esm/OrInput-nExtCSw8.mjs.map +1 -0
- package/dist/esm/OrInputBox-6ciokFdU.mjs.map +1 -1
- package/dist/esm/OrInputBox.vue_vue_type_script_lang-q2L7rmth.mjs.map +1 -1
- package/dist/esm/OrLink-Vl_H8MMg.mjs.map +1 -1
- package/dist/esm/{OrList-Ded7wJKj.mjs → OrList-CX3cwJvm.mjs} +3 -3
- package/dist/esm/OrList-CX3cwJvm.mjs.map +1 -0
- package/dist/esm/OrLoader-2SaTMxmZ.mjs.map +1 -1
- package/dist/esm/{OrMenu-BNbd6Ajl.mjs → OrMenu-Cag_fBXC.mjs} +2 -2
- package/dist/esm/{OrMenu-BNbd6Ajl.mjs.map → OrMenu-Cag_fBXC.mjs.map} +1 -1
- package/dist/esm/{OrMenuItem-ByVkiQvE.mjs → OrMenuItem-VyCCXA7Z.mjs} +3 -3
- package/dist/esm/{OrMenuItem-ByVkiQvE.mjs.map → OrMenuItem-VyCCXA7Z.mjs.map} +1 -1
- package/dist/esm/{OrModal-Cbi6xMwA.mjs → OrModal-DiVA7_Ct.mjs} +12 -12
- package/dist/esm/OrModal-DiVA7_Ct.mjs.map +1 -0
- package/dist/esm/{OrNotification-DVQ-x6mP.mjs → OrNotification-BkjmRseb.mjs} +14 -14
- package/dist/esm/OrNotification-BkjmRseb.mjs.map +1 -0
- package/dist/esm/{OrOverlay-BjrghiC-.mjs → OrOverlay-BzbAwvpo.mjs} +14 -14
- package/dist/esm/OrOverlay-BzbAwvpo.mjs.map +1 -0
- package/dist/esm/{OrPagination-_3SWQ0LY.mjs → OrPagination-pcDCKc9g.mjs} +4 -4
- package/dist/esm/{OrPagination-_3SWQ0LY.mjs.map → OrPagination-pcDCKc9g.mjs.map} +1 -1
- package/dist/esm/{OrPopover-FA8G-paf.mjs → OrPopover-GBPJ4IDN.mjs} +2 -2
- package/dist/esm/{OrPopover-FA8G-paf.mjs.map → OrPopover-GBPJ4IDN.mjs.map} +1 -1
- package/dist/esm/{OrProgress-cgGfaP0m.mjs → OrProgress-Cup4X--u.mjs} +10 -10
- package/dist/esm/OrProgress-Cup4X--u.mjs.map +1 -0
- package/dist/esm/{OrRadio-BU9YDLzB.mjs → OrRadio-BZN3fBLW.mjs} +31 -31
- package/dist/esm/OrRadio-BZN3fBLW.mjs.map +1 -0
- package/dist/esm/{OrRadioGroup-ANee99e8.mjs → OrRadioGroup-PJcCPCFn.mjs} +17 -17
- package/dist/esm/OrRadioGroup-PJcCPCFn.mjs.map +1 -0
- package/dist/esm/{OrRangeSlider-Bw19Cx4f.mjs → OrRangeSlider-Cxhafo9S.mjs} +16 -16
- package/dist/esm/OrRangeSlider-Cxhafo9S.mjs.map +1 -0
- package/dist/esm/{OrRating-BhuvRBRy.mjs → OrRating-CAwz23JA.mjs} +13 -13
- package/dist/esm/OrRating-CAwz23JA.mjs.map +1 -0
- package/dist/esm/{OrResizeablePanel-CvoX4aEB.mjs → OrResizeablePanel-BfuVn8Lq.mjs} +2 -2
- package/dist/esm/{OrResizeablePanel-CvoX4aEB.mjs.map → OrResizeablePanel-BfuVn8Lq.mjs.map} +1 -1
- package/dist/esm/{OrRichTextEditor-BYEdE945.mjs → OrRichTextEditor-D0UmlBKz.mjs} +30 -30
- package/dist/esm/OrRichTextEditor-D0UmlBKz.mjs.map +1 -0
- package/dist/esm/{OrRichTooltip-CcQpjWtS.mjs → OrRichTooltip-8ybIdsqK.mjs} +14 -14
- package/dist/esm/OrRichTooltip-8ybIdsqK.mjs.map +1 -0
- package/dist/esm/{OrSearch-B3zonpwn.mjs → OrSearch-CRFuNmg2.mjs} +18 -18
- package/dist/esm/OrSearch-CRFuNmg2.mjs.map +1 -0
- package/dist/esm/{OrSegmentedControl-D5QoWe-N.mjs → OrSegmentedControl-DfPHDw7E.mjs} +11 -11
- package/dist/esm/OrSegmentedControl-DfPHDw7E.mjs.map +1 -0
- package/dist/esm/{OrSelect--RHYurq6.mjs → OrSelect-Ch1X9fVC.mjs} +11 -11
- package/dist/esm/OrSelect-Ch1X9fVC.mjs.map +1 -0
- package/dist/esm/{OrSlider-XimfcpRY.mjs → OrSlider-CD78-muf.mjs} +2 -2
- package/dist/esm/OrSlider-CD78-muf.mjs.map +1 -0
- package/dist/esm/{OrSlider.vue_vue_type_script_lang-yh5NyhYF.mjs → OrSlider.vue_vue_type_script_lang-B6ozamjR.mjs} +10 -10
- package/dist/esm/OrSlider.vue_vue_type_script_lang-B6ozamjR.mjs.map +1 -0
- package/dist/esm/{OrSorting-Y2y8Drq7.mjs → OrSorting-ydjXM1Si.mjs} +4 -4
- package/dist/esm/{OrSorting-Y2y8Drq7.mjs.map → OrSorting-ydjXM1Si.mjs.map} +1 -1
- package/dist/esm/{OrStatus-D4QIuE7R.mjs → OrStatus-CdidYltP.mjs} +14 -14
- package/dist/esm/OrStatus-CdidYltP.mjs.map +1 -0
- package/dist/esm/{OrSubMenuItem-TUcrHvBk.mjs → OrSubMenuItem-BmyJYNuS.mjs} +4 -4
- package/dist/esm/{OrSubMenuItem-TUcrHvBk.mjs.map → OrSubMenuItem-BmyJYNuS.mjs.map} +1 -1
- package/dist/esm/{OrSwitch-BkAgqeim.mjs → OrSwitch-BtoXDsZx.mjs} +35 -35
- package/dist/esm/OrSwitch-BtoXDsZx.mjs.map +1 -0
- package/dist/esm/OrTab-BdtxL_PY.mjs.map +1 -1
- package/dist/esm/{OrTabs-BCIxFSeW.mjs → OrTabs-Bko0Tbsg.mjs} +20 -20
- package/dist/esm/OrTabs-Bko0Tbsg.mjs.map +1 -0
- package/dist/esm/{OrTag-BrZ8TIZl.mjs → OrTag-CJLBRVMd.mjs} +2 -2
- package/dist/esm/{OrTag-BrZ8TIZl.mjs.map → OrTag-CJLBRVMd.mjs.map} +1 -1
- package/dist/esm/{OrTagInput-BisPLdsU.mjs → OrTagInput-Dh7CXsmw.mjs} +4 -4
- package/dist/esm/{OrTagInput-BisPLdsU.mjs.map → OrTagInput-Dh7CXsmw.mjs.map} +1 -1
- package/dist/esm/{OrTags-CREF3BTr.mjs → OrTags-Ce70YtZr.mjs} +14 -14
- package/dist/esm/OrTags-Ce70YtZr.mjs.map +1 -0
- package/dist/esm/OrText-3zAJU5xf.mjs.map +1 -1
- package/dist/esm/{OrTextarea-zEjULE8W.mjs → OrTextarea-sLey7v2k.mjs} +51 -51
- package/dist/esm/OrTextarea-sLey7v2k.mjs.map +1 -0
- package/dist/esm/{OrTimeFormat-B2YLCb8H.mjs → OrTimeFormat-DY_z5-U0.mjs} +9 -9
- package/dist/esm/OrTimeFormat-DY_z5-U0.mjs.map +1 -0
- package/dist/esm/{OrTimePicker-CZwt1j2S.mjs → OrTimePicker-BMaG_y1J.mjs} +29 -29
- package/dist/esm/OrTimePicker-BMaG_y1J.mjs.map +1 -0
- package/dist/esm/{OrTimeRangePicker-zvRke1jb.mjs → OrTimeRangePicker-DFNCEq78.mjs} +21 -21
- package/dist/esm/OrTimeRangePicker-DFNCEq78.mjs.map +1 -0
- package/dist/esm/{OrTooltip-BIJSpzmX.mjs → OrTooltip-BCrAH95l.mjs} +15 -15
- package/dist/esm/OrTooltip-BCrAH95l.mjs.map +1 -0
- package/dist/esm/{OrTree-By3MLZUL.mjs → OrTree-BEas_s3i.mjs} +2 -2
- package/dist/esm/OrTree-BEas_s3i.mjs.map +1 -0
- package/dist/esm/components/index.mjs +70 -70
- package/dist/esm/components/or-autocomplete-v3/index.mjs +1 -1
- package/dist/esm/components/or-avatar-v3/index.mjs +1 -1
- package/dist/esm/components/or-bottom-sheet-v3/index.mjs +1 -1
- package/dist/esm/components/or-button-group-v3/index.mjs +1 -1
- package/dist/esm/components/or-button-v3/index.mjs +2 -2
- package/dist/esm/components/or-card-collection-v3/index.mjs +1 -1
- package/dist/esm/components/or-checkbox-group-v3/index.mjs +1 -1
- package/dist/esm/components/or-checkbox-tree-v3/index.mjs +1 -1
- package/dist/esm/components/or-code-v3/index.mjs +1 -1
- package/dist/esm/components/or-combined-input-v3/index.mjs +1 -1
- package/dist/esm/components/or-confirm-v3/index.mjs +1 -1
- package/dist/esm/components/or-context-menu-v3/index.mjs +1 -1
- package/dist/esm/components/or-data-grid-v3/index.mjs +1 -1
- package/dist/esm/components/or-date-format-v3/index.mjs +1 -1
- package/dist/esm/components/or-date-picker-v3/index.mjs +1 -1
- package/dist/esm/components/or-date-range-picker-v3/index.mjs +1 -1
- package/dist/esm/components/or-date-time-format-v3/index.mjs +1 -1
- package/dist/esm/components/or-date-time-picker-v3/index.mjs +2 -2
- package/dist/esm/components/or-drawer-v3/index.mjs +1 -1
- package/dist/esm/components/or-editor-tabs-v3/index.mjs +1 -1
- package/dist/esm/components/or-error-tag-v3/index.mjs +1 -1
- package/dist/esm/components/or-expansion-panel-v3/index.mjs +1 -1
- package/dist/esm/components/or-fab-v3/index.mjs +1 -1
- package/dist/esm/components/or-filter-popover-v3/index.mjs +1 -1
- package/dist/esm/components/or-filter-trigger-v3/index.mjs +1 -1
- package/dist/esm/components/or-filter-v3/index.mjs +1 -1
- package/dist/esm/components/or-icon-button-v3/index.mjs +1 -1
- package/dist/esm/components/or-indicator-v3/index.mjs +1 -1
- package/dist/esm/components/or-inline-input-v3/index.mjs +1 -1
- package/dist/esm/components/or-inline-textarea-v3/index.mjs +1 -1
- package/dist/esm/components/or-input-v3/index.mjs +1 -1
- package/dist/esm/components/or-list-v3/index.mjs +1 -1
- package/dist/esm/components/or-menu-item-v3/index.mjs +1 -1
- package/dist/esm/components/or-menu-v3/index.mjs +1 -1
- package/dist/esm/components/or-modal-v3/index.mjs +1 -1
- package/dist/esm/components/or-notification-v3/index.mjs +1 -1
- package/dist/esm/components/or-overlay-v3/index.mjs +1 -1
- package/dist/esm/components/or-pagination-v3/index.mjs +1 -1
- package/dist/esm/components/or-popover-v3/index.mjs +1 -1
- package/dist/esm/components/or-progress-v3/index.mjs +1 -1
- package/dist/esm/components/or-radio-group-v3/index.mjs +1 -1
- package/dist/esm/components/or-radio-v3/index.mjs +1 -1
- package/dist/esm/components/or-range-slider-v3/index.mjs +1 -1
- package/dist/esm/components/or-rating-v3/index.mjs +1 -1
- package/dist/esm/components/or-resizeable-panel-v3/index.mjs +1 -1
- package/dist/esm/components/or-rich-text-editor-v3/index.mjs +1 -1
- package/dist/esm/components/or-rich-tooltip-v3/index.mjs +1 -1
- package/dist/esm/components/or-search-v3/index.mjs +1 -1
- package/dist/esm/components/or-segmented-control-v3/index.mjs +1 -1
- package/dist/esm/components/or-select-v3/index.mjs +1 -1
- package/dist/esm/components/or-sidebar-v3/index.mjs +1 -1
- package/dist/esm/components/or-slider-v3/index.mjs +2 -2
- package/dist/esm/components/or-sorting-v3/index.mjs +1 -1
- package/dist/esm/components/or-status-v3/index.mjs +1 -1
- package/dist/esm/components/or-sub-menu-item-v3/index.mjs +1 -1
- package/dist/esm/components/or-switch-v3/index.mjs +1 -1
- package/dist/esm/components/or-tabs-v3/index.mjs +1 -1
- package/dist/esm/components/or-tag-input-v3/index.mjs +1 -1
- package/dist/esm/components/or-tag-v3/index.mjs +1 -1
- package/dist/esm/components/or-tags-v3/index.mjs +1 -1
- package/dist/esm/components/or-textarea-v3/index.mjs +1 -1
- package/dist/esm/components/or-time-format-v3/index.mjs +1 -1
- package/dist/esm/components/or-time-picker-v3/index.mjs +1 -1
- package/dist/esm/components/or-time-range-picker-v3/index.mjs +1 -1
- package/dist/esm/components/or-toast-v3/index.mjs +1 -1
- package/dist/esm/components/or-tooltip-v3/index.mjs +1 -1
- package/dist/esm/components/or-tree-v3/index.mjs +1 -1
- package/dist/esm/index.mjs +70 -70
- package/dist/esm/{props-CsYKLx5P.mjs → props-Dx-rjh3U.mjs} +11 -11
- package/dist/esm/props-Dx-rjh3U.mjs.map +1 -0
- package/dist/esm/{types-DrGu4wlu.mjs → types-BoAoZvZV.mjs} +22 -22
- package/dist/esm/types-BoAoZvZV.mjs.map +1 -0
- package/dist/types/components/or-button-group-v3/OrButtonGroup.vue.d.ts +1 -1
- package/dist/types/components/or-card-collection-v3/OrCardCollection.vue.d.ts +1 -1
- package/dist/types/components/or-context-menu-v3/OrContextMenu.vue.d.ts +1 -1
- package/dist/types/components/or-date-format-v3/OrDateFormat.vue.d.ts +1 -1
- package/dist/types/components/or-date-time-format-v3/OrDateTimeFormat.vue.d.ts +1 -1
- package/dist/types/components/or-date-time-picker-v3/partials/or-date-time-picker-date-control/OrDateTimePickerDateControl.vue.d.ts +1 -1
- package/dist/types/components/or-date-time-picker-v3/partials/or-date-time-picker-time-control/OrDateTimePickerTimeControl.vue.d.ts +1 -1
- package/dist/types/components/or-date-time-picker-v3/partials/or-date-time-picker-time-select/OrDateTimePickerTimeSelect.vue.d.ts +1 -1
- package/dist/types/components/or-filter-popover-v3/OrFilterPopover.vue.d.ts +1 -1
- package/dist/types/components/or-form-group-v3/styles.d.ts +1 -1
- package/dist/types/components/or-icon-button-v3/OrIconButton.vue.d.ts +1 -1
- package/dist/types/components/or-indicator-v3/OrIndicator.vue.d.ts +1 -1
- package/dist/types/components/or-notification-v3/OrNotification.vue.d.ts +1 -1
- package/dist/types/components/or-radio-group-v3/OrRadioGroup.vue.d.ts +1 -1
- package/dist/types/components/or-radio-v3/OrRadio.vue.d.ts +1 -1
- package/dist/types/components/or-range-slider-v3/OrRangeSlider.vue.d.ts +1 -1
- package/dist/types/components/or-rich-text-editor-v3/utils/codemirror/codemirrorView.d.ts +3 -3
- package/dist/types/components/or-rich-text-editor-v3/utils/codemirror/types.d.ts +2 -2
- package/dist/types/components/or-rich-tooltip-v3/OrRichTooltip.vue.d.ts +1 -1
- package/dist/types/components/or-select-v3/partials/or-select-multiple-control/OrSelectMultipleControl.vue.d.ts +1 -1
- package/dist/types/components/or-sidebar-v3/OrSidebar.vue.d.ts +1 -1
- package/dist/types/components/or-status-v3/OrStatus.vue.d.ts +1 -1
- package/dist/types/components/or-switch-v3/OrSwitch.vue.d.ts +1 -1
- package/dist/types/components/or-textarea-v3/OrTextarea.vue.d.ts +1 -1
- package/dist/types/components/or-time-format-v3/OrTimeFormat.vue.d.ts +1 -1
- package/dist/types/components/or-time-picker-v3/OrTimePicker.vue.d.ts +1 -1
- package/dist/types/components/or-time-range-picker-v3/OrTimeRangePicker.vue.d.ts +1 -1
- package/dist/types/components/or-toast-v3/types.d.ts +1 -1
- package/dist/types/components/or-tooltip-v3/OrTooltip.vue.d.ts +1 -1
- package/package.json +4 -5
- package/dist/esm/OrAvatar-XcP_rrT3.mjs.map +0 -1
- package/dist/esm/OrBottomSheet-CJxmY84p.mjs.map +0 -1
- package/dist/esm/OrButton-C_hXddAf.mjs.map +0 -1
- package/dist/esm/OrButton.vue_vue_type_script_lang-W1ictbKz.mjs.map +0 -1
- package/dist/esm/OrButtonGroup-Cd6tpyP3.mjs.map +0 -1
- package/dist/esm/OrCardCollection-CJ08vHsJ.mjs.map +0 -1
- package/dist/esm/OrCheckboxTree-K4WkrYXY.mjs.map +0 -1
- package/dist/esm/OrCode-C-aENyuR.mjs.map +0 -1
- package/dist/esm/OrCombinedInput-Ddlid03b.mjs.map +0 -1
- package/dist/esm/OrDataGrid-uquzpuT9.mjs.map +0 -1
- package/dist/esm/OrDateFormat-JU4vCVQ_.mjs.map +0 -1
- package/dist/esm/OrDateTimeFormat-DD0o7NO2.mjs.map +0 -1
- package/dist/esm/OrDateTimePicker.vue_vue_type_script_lang-BL0M-UeT.mjs.map +0 -1
- package/dist/esm/OrEditorTabs-T4vtJg3r.mjs.map +0 -1
- package/dist/esm/OrErrorTag-Bo_gxhzB.mjs.map +0 -1
- package/dist/esm/OrExpansionPanel-BNGPdEnp.mjs.map +0 -1
- package/dist/esm/OrFab-Cbg9unNc.mjs.map +0 -1
- package/dist/esm/OrFilter-DuFoI_Sd.mjs.map +0 -1
- package/dist/esm/OrFilterPopover-BwHlCPf2.mjs.map +0 -1
- package/dist/esm/OrIconButton-BajZRp1k.mjs.map +0 -1
- package/dist/esm/OrIndicator-CCrOseW7.mjs.map +0 -1
- package/dist/esm/OrInlineTextarea-CZVqac2G.mjs.map +0 -1
- package/dist/esm/OrInput-BrJzxNyE.mjs.map +0 -1
- package/dist/esm/OrList-Ded7wJKj.mjs.map +0 -1
- package/dist/esm/OrModal-Cbi6xMwA.mjs.map +0 -1
- package/dist/esm/OrNotification-DVQ-x6mP.mjs.map +0 -1
- package/dist/esm/OrOverlay-BjrghiC-.mjs.map +0 -1
- package/dist/esm/OrProgress-cgGfaP0m.mjs.map +0 -1
- package/dist/esm/OrRadio-BU9YDLzB.mjs.map +0 -1
- package/dist/esm/OrRadioGroup-ANee99e8.mjs.map +0 -1
- package/dist/esm/OrRangeSlider-Bw19Cx4f.mjs.map +0 -1
- package/dist/esm/OrRating-BhuvRBRy.mjs.map +0 -1
- package/dist/esm/OrRichTextEditor-BYEdE945.mjs.map +0 -1
- package/dist/esm/OrRichTooltip-CcQpjWtS.mjs.map +0 -1
- package/dist/esm/OrSearch-B3zonpwn.mjs.map +0 -1
- package/dist/esm/OrSegmentedControl-D5QoWe-N.mjs.map +0 -1
- package/dist/esm/OrSelect--RHYurq6.mjs.map +0 -1
- package/dist/esm/OrSlider-XimfcpRY.mjs.map +0 -1
- package/dist/esm/OrSlider.vue_vue_type_script_lang-yh5NyhYF.mjs.map +0 -1
- package/dist/esm/OrStatus-D4QIuE7R.mjs.map +0 -1
- package/dist/esm/OrSwitch-BkAgqeim.mjs.map +0 -1
- package/dist/esm/OrTabs-BCIxFSeW.mjs.map +0 -1
- package/dist/esm/OrTags-CREF3BTr.mjs.map +0 -1
- package/dist/esm/OrTextarea-zEjULE8W.mjs.map +0 -1
- package/dist/esm/OrTimeFormat-B2YLCb8H.mjs.map +0 -1
- package/dist/esm/OrTimePicker-CZwt1j2S.mjs.map +0 -1
- package/dist/esm/OrTimeRangePicker-zvRke1jb.mjs.map +0 -1
- package/dist/esm/OrTooltip-BIJSpzmX.mjs.map +0 -1
- package/dist/esm/OrTree-By3MLZUL.mjs.map +0 -1
- package/dist/esm/props-CsYKLx5P.mjs.map +0 -1
- package/dist/esm/types-DrGu4wlu.mjs.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OrSegmentedControl-D5QoWe-N.mjs","sources":["../../../components/or-segmented-control-v3/src/partials/or-segmented-control-item/styles.ts","../../../components/or-segmented-control-v3/src/partials/or-segmented-control-item/OrSegmentedControlItem.vue","../../../components/or-segmented-control-v3/src/props.ts","../../../components/or-segmented-control-v3/src/styles.ts","../../../components/or-segmented-control-v3/src/OrSegmentedControl.vue"],"sourcesContent":["import { SegmentedControlSize } from '../../props';\n\nexport const SegmentedControlItemRoot: string[] = [\n // Layout\n 'layout-row justify-center',\n\n // Shape\n 'rounded-md',\n\n // Interactivity\n 'interactivity-click',\n\n // Theme\n 'theme-foreground-default',\n 'dark:theme-foreground-default-dark',\n\n // Theme (selected)\n 'selected:theme-background-default',\n 'dark:selected:theme-background-default-dark',\n\n // Theme (selected, enabled)\n 'selected:enabled:shadow-card',\n 'dark:selected:enabled:shadow-card-dark',\n];\n\nexport const SegmentedControlItemRootSizes: Record<SegmentedControlSize, string[]> = {\n 'm': [\n // Box\n 'h-[44px] md:h-[36px]',\n\n // Spacing\n 'px-sm+ md:px-sm+',\n\n // Typography\n 'typography-body-2-regular',\n ],\n\n 's': [\n // Box\n 'h-[36px] md:h-[32px]',\n\n // Spacing\n 'px-sm+ md:px-sm',\n\n // Typography\n 'typography-caption-regular',\n ],\n};\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :selected=\"selected\"\n :disabled=\"disabled\"\n @click=\"onClick\"\n >\n <div :class=\"['truncate']\">\n <slot />\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, PropType, ref } from 'vue';\nimport { isVue2 } from '@/constants';\n\nimport { SegmentedControlSize } from '../../props';\nimport { SegmentedControlItemRoot, SegmentedControlItemRootSizes } from './styles';\n\nexport default defineComponent({\n name: 'OrSegmentedControlItem',\n\n props: {\n size: {\n type: String as PropType<SegmentedControlSize>,\n required: true,\n },\n\n selected: {\n type: Boolean,\n default: false,\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n },\n\n setup(props, context) {\n // Refs\n const root = ref<HTMLElement>();\n\n // Styles\n const rootStyles = computed(() => [\n 'or-segmented-control-item-v3',\n ...SegmentedControlItemRoot,\n ...SegmentedControlItemRootSizes[props.size],\n ]);\n\n // Handlers\n function onClick(event: Event): void {\n if (isVue2) {\n context.emit('click', event);\n }\n }\n\n return {\n root,\n rootStyles,\n onClick,\n };\n },\n});\n</script>\n","export enum SegmentedControlSize {\n M = 'm',\n S = 's',\n}\n","import { SegmentedControlSize } from './props';\n\nexport const SegmentedControlRoot: string[] = [\n // Layout\n 'grid',\n 'grid-flow-col',\n 'auto-cols-fr',\n\n // Shape\n 'rounded-md',\n\n // Spacing\n 'px-[2px]',\n 'py-[2px]',\n\n // Theme\n 'theme-background-surface-variant',\n 'dark:theme-background-surface-variant-dark',\n];\n\nexport const SegmentedControlRootSizes: Record<SegmentedControlSize, string[]> = {\n 'm': [],\n 's': [],\n};\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <OrSegmentedControlItem\n v-for=\"option in options\"\n :key=\"option.value\"\n :size=\"size\"\n :selected=\"option.value === proxyModelValue\"\n :disabled=\"disabled\"\n @click.stop=\"proxyModelValue = option.value\"\n >\n {{ option.label }}\n </OrSegmentedControlItem>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, PropType, ref, toRef } from 'vue';\nimport { useProxyModelValue } from '@onereach/ui-components-common/hooks';\nimport OrSegmentedControlItem from './partials/or-segmented-control-item/OrSegmentedControlItem.vue';\nimport { SegmentedControlSize } from './props';\nimport { SegmentedControlRoot, SegmentedControlRootSizes } from './styles';\nimport { SegmentedControlOption } from './types';\n\nexport default defineComponent({\n name: 'OrSegmentedControl',\n\n components: {\n OrSegmentedControlItem,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n options: {\n type: Array as PropType<SegmentedControlOption[]>,\n default: () => [],\n },\n\n modelValue: {\n type: String,\n default: undefined,\n },\n\n size: {\n type: String as PropType<`${SegmentedControlSize}`>,\n default: () => SegmentedControlSize.M,\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n 'update:modelValue',\n ],\n\n expose: [\n 'root',\n ],\n\n setup(props, context) {\n // Refs\n const root = ref<HTMLElement>();\n\n // Styles\n const rootStyles = computed(() => [\n 'or-segmented-control-v3',\n ...SegmentedControlRoot,\n ...SegmentedControlRootSizes[props.size],\n ]);\n\n // State\n const proxyModelValue = useProxyModelValue(toRef(props, 'modelValue'), context.emit);\n\n return {\n root,\n rootStyles,\n proxyModelValue,\n };\n },\n});\n</script>\n"],"names":["SegmentedControlItemRoot","SegmentedControlItemRootSizes","_sfc_main$1","defineComponent","props","context","root","ref","rootStyles","computed","onClick","event","_hoisted_1","_sfc_render","_ctx","_cache","$props","$setup","$data","$options","_openBlock","_createElementBlock","_normalizeClass","args","SegmentedControlSize","SegmentedControlRoot","SegmentedControlRootSizes","_sfc_main","OrSegmentedControlItem","proxyModelValue","useProxyModelValue","toRef","_component_OrSegmentedControlItem","_resolveComponent","_Fragment","_renderList","option","_createBlock","_withModifiers","$event"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OrSelect--RHYurq6.mjs","sources":["../../../components/or-select-v3/src/partials/or-select-control-input/styles.ts","../../../components/or-select-v3/src/partials/or-select-control-input/OrSelectControlInput.vue","../../../components/or-select-v3/src/partials/or-select-placeholder/styles.ts","../../../components/or-select-v3/src/partials/or-select-placeholder/OrSelectPlaceholder.vue","../../../components/or-select-v3/src/partials/or-select-multiple-control/styles.ts","../../../components/or-select-v3/src/partials/or-select-multiple-control/OrSelectMultipleControl.vue","../../../components/or-select-v3/src/partials/or-select-single-control/styles.ts","../../../components/or-select-v3/src/partials/or-select-single-control/OrSelectSingleControl.vue","../../../components/or-select-v3/src/styles.ts","../../../components/or-select-v3/src/OrSelect.vue"],"sourcesContent":["export const SelectControlInput: string[] = [\n // Base\n 'appearance-none',\n\n // Typography\n 'typography-inherit',\n\n // Theme (placeholder)\n 'placeholder:theme-foreground-outline',\n 'dark:placeholder:theme-foreground-outline-dark',\n 'theme-background-transparent',\n 'outline-none',\n];\n","<template>\n <input\n :ref=\"'root'\"\n v-model=\"proxyModelValue\"\n :style=\"controlInlineStyles\"\n :class=\"controlStyles\"\n :type=\"'text'\"\n :placeholder=\"placeholder\"\n :readonly=\"readonly\"\n :disabled=\"disabled\"\n :autocomplete=\"'off'\"\n :minlength=\"undefined\"\n :maxlength=\"undefined\"\n >\n</template>\n\n<script lang=\"ts\">\nimport { useFocus } from '@vueuse/core';\nimport { computed, defineComponent, ref, toRefs } from 'vue';\nimport { useProxyModelValue } from '@onereach/ui-components-common/hooks';\nimport { SelectControlInput } from './styles';\n\nexport default defineComponent({\n name: 'OrSelectControlInput',\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: String,\n default: '',\n },\n\n placeholder: {\n type: String,\n default: '',\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n\n readonly: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n 'update:modelValue',\n ],\n\n expose: [\n 'root',\n\n 'focus',\n 'focused',\n ],\n\n setup(props, context) {\n // Refs\n const root = ref<HTMLInputElement>();\n\n // Props\n const { placeholder, modelValue } = toRefs(props);\n\n // State\n const proxyModelValue = useProxyModelValue(modelValue, context.emit);\n const { focused } = useFocus(root);\n\n // Styles\n const controlStyles = computed(() => [\n ...SelectControlInput,\n ]);\n\n const controlInlineStyles = computed(() => {\n const chars = proxyModelValue.value.length > 0\n ? proxyModelValue.value.length\n : placeholder.value?.length;\n\n return {\n width: `${Math.max(chars + 1 || 0, 2)}ch`,\n };\n });\n\n // Methods\n function focus() {\n focused.value = true;\n }\n\n return {\n root,\n proxyModelValue,\n controlStyles,\n controlInlineStyles,\n focused,\n focus,\n };\n },\n});\n</script>\n","export const SelectPlaceholder: string[] = [\n // Interactivity\n 'interactivity-click',\n\n // Typography\n 'typography-inherit truncate',\n\n // Theme\n 'theme-foreground-outline',\n 'dark:theme-foreground-outline-dark',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :disabled=\"disabled\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\nimport { SelectPlaceholder } from './styles';\n\nexport default defineComponent({\n name: 'OrSelectPlaceholder',\n\n props: {\n disabled: {\n type: Boolean,\n default: false,\n },\n },\n\n expose: [\n 'root',\n ],\n\n setup() {\n // Refs\n const root = ref<HTMLElement>();\n\n // Styles\n const rootStyles = computed(() => [\n 'or-select-placeholder-v3',\n ...SelectPlaceholder,\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","export const SelectMultipleControlRoot: string[] = [\n // Layout\n 'layout-row',\n 'w-full',\n];\n\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <OrTags\n v-show=\"!isEmpty || enableSearch\"\n :ref=\"'tags'\"\n :items=\"selection\"\n class=\"grow\"\n :disabled=\"disabled\"\n :tag-props=\"{\n variant: readonly || disabled ? 'tag' : 'reset',\n disabled: disabled\n }\"\n :overflow=\"overflow\"\n @reset=\"$emit('reset', $event)\"\n >\n <template v-slot:tag=\"{item}\">\n <slot\n name=\"tag\"\n :item=\"item\"\n >\n {{ item.label }}\n </slot>\n </template>\n\n <template\n v-if=\"enableSearch\"\n v-slot:tail\n >\n <div class=\"inline-flex w-fit max-w-full\">\n <OrSelectControlInput\n :ref=\"'searchControl'\"\n v-model=\"searchModelValue\"\n :placeholder=\"isEmpty ? placeholder: ''\"\n :readonly=\"readonly\"\n :disabled=\"disabled\"\n />\n </div>\n </template>\n </OrTags>\n\n <template v-if=\"isEmpty && !enableSearch\">\n <OrSelectPlaceholder :disabled=\"disabled\">\n {{ placeholder }}\n </OrSelectPlaceholder>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { PropType, computed, defineComponent, ref, toRefs, watch } from 'vue';\nimport { useProxyModelValue } from '@onereach/ui-components-common/hooks';\nimport { isEqual, isNil, toArray } from '@onereach/ui-components-common/utils';\nimport { OrTagsV3 as OrTags, Tag, TagsOverflow } from '@onereach/ui-components.or-tags-v3';\nimport { SelectItem, SelectModelValue } from '../../types';\nimport { OrSelectControlInput } from '../or-select-control-input';\nimport OrSelectPlaceholder from '../or-select-placeholder/OrSelectPlaceholder.vue';\nimport { SelectMultipleControlRoot } from './styles';\n\nexport default defineComponent({\n name: 'OrSelectMultipleControl',\n\n components: {\n OrSelectPlaceholder,\n OrSelectControlInput,\n OrTags,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: String,\n default: '',\n },\n\n model: {\n type: undefined as unknown as PropType<SelectModelValue>,\n default: () => [],\n },\n\n options: {\n type: Array as PropType<SelectItem[]>,\n default: () => [],\n },\n\n overflow: {\n type: String as PropType<`${TagsOverflow}`>,\n default: () => TagsOverflow.Hidden,\n },\n\n placeholder: {\n type: String,\n default: undefined,\n },\n\n readonly: {\n type: Boolean,\n default: false,\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n\n enableSearch: {\n type: Boolean,\n default: false,\n },\n\n isOpen: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n 'update:modelValue',\n 'reset',\n ],\n\n expose: [\n 'root',\n\n 'focus',\n 'focused',\n ],\n\n setup(props, context) {\n // Refs\n const root = ref<HTMLDivElement>();\n\n const searchControl = ref<InstanceType<typeof OrSelectControlInput>>();\n const tags = ref<InstanceType<typeof OrTags>>();\n\n // Props\n const { modelValue, model, options, overflow } = toRefs(props);\n\n // State\n const searchModelValue = useProxyModelValue(modelValue, context.emit);\n\n const focused = computed(() => {\n return searchControl.value?.focused;\n });\n\n // Styles\n const rootStyles = computed(() => [\n 'or-select-multiple-control-v3',\n ...SelectMultipleControlRoot,\n ]);\n\n // Computed\n const value = computed(() => isNil(model.value) ? [] : toArray(model.value));\n const isEmpty = computed(() => value.value.length === 0);\n\n const selection = computed(() => {\n if (model.value === undefined || model.value === null) {\n return [];\n }\n\n return value.value\n .map((value) => options.value.find((option) => isEqual(option.value, value)))\n .filter<SelectItem>((value): value is SelectItem => !!value)\n .map((option) => ({\n value: option.value,\n label: option.label,\n tagProps: option.disabled && { disabled: option.disabled },\n } as Tag));\n });\n\n watch(selection, (items, prevItems) => {\n if (items.length != prevItems.length && overflow.value === TagsOverflow.Scroll && tags.value) {\n (tags.value.scrollToEnd as () => void)();\n }\n });\n\n // Methods\n function focus(): void {\n if (searchControl.value) {\n (searchControl.value.focus as () => void)();\n }\n }\n\n return {\n root,\n tags,\n rootStyles,\n searchControl,\n searchModelValue,\n isEmpty,\n selection,\n value,\n focus,\n focused,\n };\n },\n});\n</script>\n","export const SelectSingleControlInput: string[] = [\n // Layout\n 'w-full',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <template v-if=\"isOpen && enableSearch\">\n <OrSelectControlInput\n :ref=\"'searchControl'\"\n v-model=\"searchModelValue\"\n :placeholder=\"isEmptyModelValue ? placeholder : selectionLabel\"\n />\n </template>\n\n <template v-else>\n <template v-if=\"isEmptyModelValue\">\n <OrSelectPlaceholder :disabled=\"disabled\">\n {{ placeholder }}\n </OrSelectPlaceholder>\n </template>\n\n <template v-else>\n <div class=\"flex\">\n <div\n ref=\"selectionLabelRef\"\n class=\"truncate w-full\"\n @mouseenter=\"checkTooltip\"\n @mouseleave=\"closeTooltip\"\n >\n {{ selectionLabel }}\n </div>\n <OrTooltip\n ref=\"tooltipRef\"\n :content=\"selectionLabel\"\n :trigger=\"selectionLabelRef\"\n />\n </div>\n </template>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { PropType, computed, defineComponent, ref, toRefs, watch } from 'vue';\n\nimport { useProxyModelValue } from '@onereach/ui-components-common/hooks';\nimport { isEmpty, isEqual } from '@onereach/ui-components-common/utils';\nimport { SelectItem, SelectModelValue } from '../../types';\nimport OrSelectControlInput from '../or-select-control-input/OrSelectControlInput.vue';\nimport OrSelectPlaceholder from '../or-select-placeholder/OrSelectPlaceholder.vue';\nimport { OrTooltipV3 as OrTooltip } from '@onereach/ui-components.or-tooltip-v3';\nimport { SelectSingleControlInput } from './styles';\n\nexport default defineComponent({\n name: 'OrSelectSingleControl',\n\n components: {\n OrSelectPlaceholder,\n OrSelectControlInput,\n OrTooltip,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: String,\n default: '',\n },\n\n model: {\n type: undefined as unknown as PropType<SelectModelValue>,\n default: undefined,\n },\n\n options: {\n type: Array as PropType<SelectItem[]>,\n default: () => [],\n },\n\n placeholder: {\n type: String,\n default: undefined,\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n\n enableSearch: {\n type: Boolean,\n default: false,\n },\n\n isOpen: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n 'update:modelValue',\n ],\n\n expose: [\n 'root',\n\n 'focus',\n 'focused',\n ],\n\n setup(props, context) {\n // Refs\n const root = ref<HTMLDivElement>();\n const searchControl = ref<InstanceType<typeof OrSelectControlInput>>();\n const selectionLabelRef = ref<HTMLDialogElement>();\n const tooltipRef = ref<InstanceType<typeof OrTooltip>>();\n\n // Props\n const { modelValue, model, options } = toRefs(props);\n\n // State\n const searchModelValue = useProxyModelValue(modelValue, context.emit);\n\n const isEmptyModelValue = computed(() => {\n return isEmpty(model.value);\n });\n\n const selection = computed(() => {\n return options.value.find((option) => isEqual(option.value, model.value));\n });\n\n const selectionLabel = computed(() => {\n return selection.value?.label;\n });\n\n watch(\n () => props.isOpen,\n () => {\n tooltipRef.value?.close();\n },\n );\n\n const focused = computed(() => {\n return searchControl.value?.focused;\n });\n\n const openTooltip = () => {\n if (tooltipRef.value) tooltipRef.value.open();\n };\n\n const closeTooltip = () => {\n if (tooltipRef.value) tooltipRef.value.close();\n };\n\n // Styles\n const rootStyles = computed(() => ([\n 'or-select-single-control-v3',\n ...SelectSingleControlInput,\n ]));\n\n // Methods\n function focus() {\n if (searchControl.value) {\n (searchControl.value.focus as () => void)();\n }\n }\n\n function checkTooltip() {\n if (!selectionLabelRef.value) return; // to prevent fro TS error; normally ref will always be available here since the method is a mouse event callback\n const isContentTruncated = selectionLabelRef.value.scrollWidth > selectionLabelRef.value.clientWidth;\n if (isContentTruncated) openTooltip();\n }\n\n return {\n root,\n rootStyles,\n searchControl,\n searchModelValue,\n isEmptyModelValue,\n selection,\n selectionLabel,\n focus,\n focused,\n selectionLabelRef,\n tooltipRef,\n openTooltip,\n closeTooltip,\n checkTooltip,\n };\n },\n});\n</script>\n","export const Select: string[] = [\n // Layout\n 'layout-column',\n\n // Spacing\n 'gap-xs',\n];\n\nexport const SelectControl: string[] = [\n // Layout\n 'layout-row',\n 'w-full',\n\n // Layout (empty)\n 'empty:hidden',\n\n // Overflow\n 'overflow-hidden',\n\n // Spacing\n 'gap-xs',\n\n // Typography\n 'typography-inherit',\n];\n\nexport const SelectSearchControl: string[] = [\n // Spacing\n '!mx-lg md:!-mx-sm+',\n '!my-sm md:!my-0',\n];\n\nexport const SelectDropdown: string[] = [\n // Overflow\n 'overflow-y-auto',\n\n // Box\n 'max-h-[172px]', // equals 5 items\n\n // Theme\n 'theme-background-default',\n 'dark:theme-background-default-dark',\n\n 'theme-border-outline border-1',\n 'dark:theme-border-outline-dark',\n];\n\nexport const SelectDropdownDefault: string[] = [\n // Shape\n 'rounded-b-md',\n\n // Theme\n '!border-t-0',\n];\n\nexport const SelectDropdownFlipped: string[] = [\n // Shape\n 'rounded-t-md',\n\n // Theme\n '!border-b-0',\n];\n\nexport const SelectDropdownItem: string[] = [\n // Typography\n '!typography-body-2-regular',\n\n // Padding Override todo: check design\n 'md:!pt-[6px] md:!pb-[7px]',\n\n // Typography (selected)\n 'selected:!typography-body-2-semibold',\n\n // Theme\n '!theme-foreground-default dark:!theme-foreground-default-dark',\n];\n\nexport const SelectDropdownItemPaddingSingle = [\n // Padding Override\n '!py-md md:!pt-[6px] md:!pb-[7px]',\n];\n\nexport const SelectDropdownItemPaddingMultiple = [\n // Padding Override\n 'md:!pt-[6px] md:!pb-[7px]',\n];\n\nexport const SelectDropdownItemPaddingMultipleMobile = [\n // Padding Override\n 'px-md',\n];\n\nexport const SelectNoSearchResults: string[] = [\n // Layout\n 'layout-row justify-center',\n\n // Spacing\n 'px-md',\n 'py-md',\n\n // Typography\n 'typography-caption-regular',\n\n // Theme\n 'theme-foreground-outline',\n 'dark:theme-foreground-outline-dark',\n];\n\nexport const SelectLoader: string[] = [\n // Layout\n 'w-fit',\n\n // Typography\n 'typography-body-2-regular',\n\n // Theme\n 'text-outline dark:text-outline-dark',\n];\n\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <template v-if=\"$slots.label || $slots.addon || label\">\n <OrLabel\n :control-id=\"controlId\"\n :variant=\"'input'\"\n :required=\"required\"\n :disabled=\"disabled\"\n >\n <slot name=\"label\">\n {{ label }}\n </slot>\n\n <template v-slot:addon>\n <slot name=\"addon\" />\n </template>\n </OrLabel>\n </template>\n\n <OrInputBox\n :ref=\"'inputBox'\"\n v-dropdown-open=\"toggle\"\n v-dropdown-close=\"close\"\n class=\"interactivity-click\"\n :class=\"[popoverState === 'open' && (popover && popover.isFlipped ? 'rounded-t-0' : 'rounded-b-0'), { 'outline-none': variant === 'embedded' }]\"\n :variant=\"variant\"\n :size=\"size\"\n :invalid=\"!!error\"\n :readonly=\"readonly\"\n :disabled=\"disabled\"\n :force-state=\"isOpen ? 'focus-within': undefined\"\n :tabindex=\"!disabled ? 0 : null\"\n >\n <div\n :id=\"controlId\"\n :ref=\"'control'\"\n :class=\"controlStyles\"\n :disabled=\"disabled\"\n @focus=\"$emit('focus', $event)\"\n @blur=\"$emit('blur', $event)\"\n >\n <slot\n name=\"valueTemplate\"\n :model=\"proxyModelValue\"\n >\n <template v-if=\"multiple\">\n <OrSelectMultipleControl\n :ref=\"'multipleControl'\"\n v-model=\"searchText\"\n :model=\"proxyModelValue\"\n :options=\"options\"\n :overflow=\"overflow\"\n :placeholder=\"placeholder\"\n :readonly=\"readonly\"\n :disabled=\"disabled\"\n :enable-search=\"enableSearch\"\n :is-open=\"popoverState === 'open'\"\n @reset=\"deselectOption($event)\"\n >\n <template v-slot:tag=\"{item}\">\n <slot\n name=\"tag\"\n :item=\"item\"\n />\n </template>\n </OrSelectMultipleControl>\n </template>\n\n <template v-else>\n <OrSelectSingleControl\n :ref=\"'singleControl'\"\n v-model=\"searchText\"\n :model=\"proxyModelValue\"\n :options=\"options\"\n :placeholder=\"placeholder\"\n :disabled=\"disabled\"\n :enable-search=\"enableSearch\"\n :is-open=\"popoverState === 'open'\"\n />\n </template>\n </slot>\n </div>\n\n <div :class=\"['layout-inline-row', 'gap-sm']\">\n <template v-if=\"showClear\">\n <OrIconButton\n :icon=\"'close'\"\n :color=\"'inherit'\"\n :additional-styles=\"['!text-outline', '!dark:text-outline-dark']\"\n :disabled=\"readonly || disabled\"\n @click.stop=\"$emit('update:modelValue', multiple ? [] : undefined)\"\n />\n </template>\n\n <OrIcon\n v-show=\"!(popoverState === 'open' && enableSearch && enableClear && !isEmptyModelValue)\"\n :icon=\"popoverState === 'open' ? enableSearch ? 'search' : 'arrow_drop_up' : 'arrow_drop_down'\"\n :class=\" popoverState === 'open' && enableSearch ? '!text-outline !dark:text-outline-dark' : ''\"\n :variant=\"'outlined'\"\n />\n </div>\n\n <OrPopover\n :ref=\"'popover'\"\n :variant=\"'auto'\"\n :trigger=\"anchor || inputBoxRoot\"\n :placement=\"'bottom'\"\n :offset=\"0\"\n :full-width=\"true\"\n :disable-default-styles=\"true\"\n >\n <div :class=\"dropdownStyles\">\n <template v-if=\"popoverState === 'open' && enableSearch && isMobile\">\n <OrInput\n :ref=\"'searchControl'\"\n v-model=\"searchText\"\n :class=\"searchControlStyles\"\n :type=\"'search'\"\n :placeholder=\"placeholder\"\n />\n </template>\n <div :class=\"dropdownContainerStyles\">\n <template v-if=\"loading\">\n <div :class=\"['px-sm+', 'py-xs']\">\n <slot name=\"loading\">\n <OrLoader\n :class=\"loaderStyles\"\n variant=\"text\"\n :text=\"loadingText\"\n />\n </slot>\n </div>\n </template>\n\n <template v-else-if=\"resolvedSearchOptions.length > 0\">\n <template v-if=\"groupByFunction\">\n <OrExpansionPanel\n v-for=\"(group, groupName) in groupedOptions\"\n :key=\"groupName\"\n :label=\"groupName\"\n >\n <template v-if=\"multiple\">\n <OrMenuItem\n v-for=\"(option, i) in group\"\n :key=\"i\"\n :tooltip-text=\"option.label\"\n :selected=\"proxyModelValue && proxyModelValue.includes(option.value)\"\n :disabled=\"option.disabled\"\n >\n <slot\n name=\"optionTemplate\"\n :model=\"proxyModelValue\"\n :option=\"option\"\n >\n <OrCheckbox\n v-model=\"proxyModelValue\"\n :value=\"option.value\"\n :label=\"option.label\"\n :label-variant=\"'menu-item'\"\n :disabled=\"option.disabled\"\n />\n </slot>\n </OrMenuItem>\n </template>\n\n <template v-else>\n <OrMenuItem\n v-for=\"(option, i) in group\"\n :key=\"i\"\n :class=\"dropdownItemStyles\"\n :tooltip-text=\"option.label\"\n :selected=\"proxyModelValue === option.value\"\n :disabled=\"option.disabled\"\n @click.stop=\"selectOption(option.value)\"\n >\n <slot\n name=\"optionTemplate\"\n :model=\"proxyModelValue\"\n :option=\"option\"\n >\n {{ option.label }}\n </slot>\n </OrMenuItem>\n </template>\n </OrExpansionPanel>\n </template>\n\n <template v-else>\n <template v-if=\"multiple\">\n <OrMenuItem\n v-for=\"(option, i) in resolvedSearchOptions\"\n :key=\"i\"\n :tooltip-text=\"option.label\"\n :class=\"dropdownItemStyles\"\n :selected=\"proxyModelValue && proxyModelValue.includes(option.value)\"\n :disabled=\"option.disabled\"\n :data-value=\"option.value\"\n @click.stop=\"!option.disabled && toggleOption(option.value)\"\n >\n <OrCheckbox\n :model-value=\"proxyModelValue\"\n :value=\"option.value\"\n :label-variant=\"'menu-item'\"\n :disabled=\"option.disabled\"\n >\n <div @click=\"!option.disabled && toggleOption(option.value)\">\n <slot\n name=\"optionTemplate\"\n :model=\"proxyModelValue\"\n :option=\"option\"\n >\n {{ option.label }}\n </slot>\n </div>\n </OrCheckbox>\n </OrMenuItem>\n </template>\n\n <template v-else>\n <OrMenuItem\n v-for=\"(option, i) in resolvedSearchOptions\"\n :key=\"i\"\n :class=\"dropdownItemStyles\"\n :selected=\"proxyModelValue === option.value\"\n :tooltip-text=\"option.label\"\n :data-value=\"option.value\"\n :disabled=\"option.disabled\"\n @click.stop=\"selectOption(option.value); close()\"\n >\n <slot\n name=\"optionTemplate\"\n :model=\"proxyModelValue\"\n :option=\"option\"\n >\n {{ option.label }}\n </slot>\n </OrMenuItem>\n </template>\n </template>\n </template>\n\n <template v-else>\n <div :class=\"noSearchResultsStyles\">\n <slot\n name=\"noSearchResultsTemplate\"\n :search-text=\"searchText\"\n >\n No results\n </slot>\n </div>\n </template>\n </div>\n </div>\n </OrPopover>\n </OrInputBox>\n\n <template v-if=\"$slots.hint || hint\">\n <OrHint\n v-show=\"!error\"\n :disabled=\"disabled\"\n >\n <slot name=\"hint\">\n {{ hint }}\n </slot>\n </OrHint>\n </template>\n\n <OrError\n v-show=\"typeof error === 'string' && error.length > 0\"\n :disabled=\"disabled\"\n >\n {{ error }}\n </OrError>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { ReferenceElement } from '@floating-ui/dom';\nimport { DropdownClose, DropdownOpen } from '@onereach/ui-components-common/directives';\nimport { searchItemsByLabel } from '@onereach/ui-components-common/helpers';\nimport { useProxyModelValue, useResponsive } from '@onereach/ui-components-common/hooks';\nimport { GroupFunction, SearchFunction } from '@onereach/ui-components-common/types';\nimport { exclude, include, isEmpty, toArray } from '@onereach/ui-components-common/utils';\nimport { OrCheckboxV3 as OrCheckbox } from '@onereach/ui-components.or-checkbox-v3';\nimport { OrErrorV3 as OrError } from '@onereach/ui-components.or-error-v3';\nimport { OrExpansionPanelV3 as OrExpansionPanel } from '@onereach/ui-components.or-expansion-panel-v3';\nimport { OrHintV3 as OrHint } from '@onereach/ui-components.or-hint-v3';\nimport { OrIconButtonV3 as OrIconButton } from '@onereach/ui-components.or-icon-button-v3';\nimport { OrIconV3 as OrIcon } from '@onereach/ui-components.or-icon-v3';\nimport { InputBoxSize, InputBoxVariant, OrInputBoxV3 as OrInputBox } from '@onereach/ui-components.or-input-box-v3';\nimport { OrInputV3 as OrInput } from '@onereach/ui-components.or-input-v3';\nimport { OrLabelV3 as OrLabel } from '@onereach/ui-components.or-label-v3';\nimport { OrLoaderV3 as OrLoader } from '@onereach/ui-components.or-loader-v3';\nimport { OrMenuItemV3 as OrMenuItem } from '@onereach/ui-components.or-menu-item-v3';\nimport { OrPopoverV3 as OrPopover } from '@onereach/ui-components.or-popover-v3';\nimport { TagsOverflow } from '@onereach/ui-components.or-tags-v3';\nimport { computed, defineComponent, getCurrentInstance, PropType, ref, toRefs, watch, nextTick } from 'vue';\n\nimport { OrSelectMultipleControl, OrSelectSingleControl } from './partials';\nimport * as Styles from './styles';\nimport { SelectItem, SelectModelValue } from './types';\n\n\nexport default defineComponent({\n name: 'OrSelect',\n\n components: {\n OrCheckbox,\n OrError,\n OrExpansionPanel,\n OrHint,\n OrIcon,\n OrIconButton,\n OrInput,\n OrInputBox,\n OrLabel,\n OrMenuItem,\n OrPopover,\n OrSelectMultipleControl,\n OrSelectSingleControl,\n OrLoader,\n },\n\n directives: {\n DropdownClose,\n DropdownOpen,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: undefined as unknown as PropType<SelectModelValue>,\n default: undefined,\n },\n\n options: {\n type: Array as PropType<SelectItem[]>,\n default: () => [],\n },\n\n searchOptions: {\n type: Array as PropType<SelectItem[]>,\n default: () => [],\n },\n\n multiple: {\n type: Boolean,\n default: false,\n },\n\n overflow: {\n type: String as PropType<`${TagsOverflow}`>,\n default: () => TagsOverflow.Hidden,\n },\n\n variant: {\n type: String as PropType<`${InputBoxVariant}`>,\n default: undefined,\n },\n\n size: {\n type: String as PropType<`${InputBoxSize}`>,\n default: undefined,\n },\n\n anchor: {\n type: Object as PropType<ReferenceElement>,\n default: undefined,\n },\n\n label: {\n type: String,\n default: undefined,\n },\n\n placeholder: {\n type: String,\n default: undefined,\n },\n\n hint: {\n type: String,\n default: undefined,\n },\n\n error: {\n type: [String, Boolean],\n default: undefined,\n },\n\n loading: {\n type: Boolean,\n default: false,\n },\n\n loadingText: {\n type: String,\n default: 'Loading',\n },\n\n required: {\n type: Boolean,\n default: false,\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n\n enableSearch: {\n type: Boolean,\n default: false,\n },\n\n enableClear: {\n type: Boolean,\n default: false,\n },\n\n searchFunction: {\n type: Function as PropType<SearchFunction<SelectItem>>,\n default: searchItemsByLabel as SearchFunction<SelectItem>,\n },\n\n groupByFunction: {\n type: Function as PropType<GroupFunction<SelectItem>>,\n default: undefined,\n },\n\n externalControl: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n 'update:modelValue',\n\n 'focus',\n 'blur',\n\n 'search',\n ],\n\n expose: [\n 'root',\n\n 'open',\n 'close',\n 'toggle',\n\n 'toggleOption',\n 'resetSearch',\n\n 'popover',\n 'popoverState',\n ],\n\n setup(props, context) {\n const currentInstance = getCurrentInstance()!;\n\n // Refs\n const root = ref<HTMLElement>();\n\n const inputBox = ref<InstanceType<typeof OrInputBox>>();\n const inputBoxRoot = computed(() => inputBox.value?.root);\n\n const control = ref<HTMLElement>();\n const multipleControl = ref<InstanceType<typeof OrSelectMultipleControl>>();\n const singleControl = ref<InstanceType<typeof OrSelectSingleControl>>();\n const searchControl = ref<HTMLElement>();\n\n const popover = ref<InstanceType<typeof OrPopover>>();\n\n const popoverRoot = computed(() => popover.value?.root);\n const popoverState = computed(() => popover.value?.state);\n\n const isOpen = computed(() => popoverState.value === 'open');\n\n // Props\n const { enableClear, enableSearch, modelValue, multiple } = toRefs(props);\n\n // State\n const controlId = ref(context.attrs.id as string ?? currentInstance.uid.toString());\n\n const proxyModelValue = useProxyModelValue(modelValue, context.emit);\n\n const bottomSheetFullscreen = computed(() => {\n return popover.value?.bottomSheet?.fullscreen;\n });\n\n const isEmptyModelValue = computed(() => {\n return isEmpty(proxyModelValue.value);\n });\n\n const showClear = computed(() => {\n return enableClear.value && !isEmptyModelValue.value;\n });\n\n\n const focused = computed(() => {\n if (multiple.value) {\n return multipleControl.value?.focused;\n } else {\n return singleControl.value?.focused;\n }\n });\n\n const readonly = computed(() => context.attrs.readonly as boolean);\n\n const internalSearchOptions = ref<SelectItem[]>(props.options);\n\n const resolvedSearchOptions = computed(() => {\n return props.externalControl ? props.searchOptions : internalSearchOptions.value;\n });\n\n const searchText = ref<string>('');\n\n watch([\n () => props.externalControl,\n searchText,\n () => props.options,\n ], async ([externalControl, searchText, options]) => {\n if (externalControl) {\n context.emit('search', searchText);\n } else {\n internalSearchOptions.value = await props.searchFunction(searchText, options);\n }\n }, { deep: true });\n\n\n watch(isOpen, (value) => {\n if (!value) {\n resetSearch();\n }\n });\n\n const groupedOptions = computed(() => {\n const groupBy = props.groupByFunction;\n\n if (groupBy) {\n return internalSearchOptions.value.reduce((accumulator, option) => {\n const group = groupBy(option);\n\n return {\n ...accumulator,\n [group]: [\n ...accumulator[group] ?? [],\n option,\n ],\n };\n }, {} as Record<string, SelectItem[]>);\n }\n\n return {\n '': props.options,\n };\n });\n\n // Styles\n const rootStyles = computed(() => [\n 'or-select-v3',\n ...Styles.Select,\n ...props.variant === InputBoxVariant.Embedded ? ['grow'] : [],\n ]);\n\n const controlStyles = computed(() => [\n ...Styles.SelectControl,\n ]);\n\n const searchControlStyles = computed(() => [\n ...Styles.SelectSearchControl,\n ]);\n\n const dropdownStyles = computed(() => [\n 'or-select-popover-v3',\n ...(isMobile.value ? [] : [\n ...Styles.SelectDropdown,\n ...popover.value?.isFlipped ? Styles.SelectDropdownFlipped : Styles.SelectDropdownDefault,\n ]),\n ]);\n\n const dropdownContainerStyles = computed(() => [\n isMobile.value ? 'layout-column' : 'contains',\n bottomSheetFullscreen.value ? 'overflow-y-auto' : 'overflow-hidden',\n ]);\n\n const dropdownItemStyles = computed(() => [\n ...Styles.SelectDropdownItem,\n ...(props.multiple ? Styles.SelectDropdownItemPaddingMultiple : Styles.SelectDropdownItemPaddingSingle),\n ...(isMobile.value ? Styles.SelectDropdownItemPaddingMultipleMobile : []),\n ]);\n\n const noSearchResultsStyles = computed(() => [\n ...Styles.SelectNoSearchResults,\n ]);\n\n const loaderStyles = computed(() => [\n ...Styles.SelectLoader,\n ]);\n\n // Methods\n function toggle(): void {\n if (!readonly.value && !props.disabled) {\n const popoverInstance = popover.value;\n\n if (popoverInstance) {\n if (popoverState.value === 'open' && !focused.value) {\n close();\n } else {\n open();\n\n setTimeout(() => {\n focus();\n });\n }\n }\n }\n }\n\n function open(): void {\n const popoverInstance = popover.value;\n\n if (popoverInstance) {\n (popoverInstance.open as () => void)();\n }\n nextTick(() => {\n if (proxyModelValue.value) {\n const value = Array.isArray(proxyModelValue.value) ? proxyModelValue.value[0] : proxyModelValue.value;\n const selectedOptionElement = document.querySelector(`[data-value=\"${value}\"]`);\n if (selectedOptionElement) {\n setTimeout(() => {\n selectedOptionElement.scrollIntoView({\n behavior: 'auto',\n block: 'start',\n });\n });\n }\n }\n });\n }\n\n function close(): void {\n const popoverInstance = popover.value;\n\n if (popoverInstance) {\n (popoverInstance.close as () => void)();\n }\n }\n\n function focus(): void {\n if (enableSearch.value) {\n const controlInstance = isMobile.value\n ? searchControl.value\n : multiple.value\n ? multipleControl.value\n : singleControl.value;\n\n if (controlInstance) {\n (controlInstance.focus as () => void)();\n }\n }\n }\n\n function selectOption(value: SelectItem['value']): void {\n if (props.multiple) {\n proxyModelValue.value = include(value, toArray(proxyModelValue.value));\n } else {\n proxyModelValue.value = value;\n }\n\n resetSearch();\n }\n\n function deselectOption(value: SelectItem['value']): void {\n if (props.multiple) {\n proxyModelValue.value = exclude(value, toArray(proxyModelValue.value));\n } else {\n proxyModelValue.value = undefined;\n }\n }\n\n function toggleOption(value: SelectItem['value']): void {\n if (props.multiple) {\n const model = toArray(proxyModelValue.value);\n\n if (!model.includes(value)) {\n proxyModelValue.value = include(value, model);\n } else {\n proxyModelValue.value = exclude(value, model);\n }\n } else {\n proxyModelValue.value = proxyModelValue.value !== value ? value : undefined;\n }\n\n resetSearch();\n }\n\n function resetSearch(): void {\n nextTick(() => {\n setTimeout(() => searchText.value = '');\n });\n }\n\n // Utils\n const { isDesktop, isMobile } = useResponsive();\n\n return {\n root,\n inputBox,\n inputBoxRoot,\n control,\n multipleControl,\n singleControl,\n searchControl,\n popover,\n popoverRoot,\n popoverState,\n rootStyles,\n controlStyles,\n searchControlStyles,\n dropdownStyles,\n dropdownContainerStyles,\n dropdownItemStyles,\n noSearchResultsStyles,\n loaderStyles,\n controlId,\n proxyModelValue,\n readonly,\n isEmptyModelValue,\n isOpen,\n showClear,\n searchText,\n internalSearchOptions,\n resolvedSearchOptions,\n groupedOptions,\n\n toggle,\n close,\n open,\n\n selectOption,\n deselectOption,\n toggleOption,\n resetSearch,\n\n isDesktop,\n isMobile,\n };\n },\n});\n</script>\n"],"names":["SelectControlInput","_sfc_main$4","defineComponent","props","context","root","ref","placeholder","modelValue","toRefs","proxyModelValue","useProxyModelValue","focused","useFocus","controlStyles","computed","controlInlineStyles","chars","_a","focus","_sfc_render","_ctx","_cache","$props","$setup","$data","$options","_withDirectives","_openBlock","_createElementBlock","$event","_normalizeStyle","SelectPlaceholder","_sfc_main$3","rootStyles","_normalizeClass","SelectMultipleControlRoot","_sfc_main$2","OrSelectPlaceholder","OrSelectControlInput","OrTags","TagsOverflow","searchControl","tags","model","options","overflow","searchModelValue","value","isNil","toArray","isEmpty","selection","option","isEqual","watch","items","prevItems","_resolveComponent","_createVNode","_component_OrTags","_createSlots","_withCtx","item","_createElementVNode","_hoisted_1","_component_OrSelectControlInput","_vShow","_createBlock","_component_OrSelectPlaceholder","SelectSingleControlInput","_sfc_main$1","OrTooltip","selectionLabelRef","tooltipRef","isEmptyModelValue","selectionLabel","openTooltip","closeTooltip","checkTooltip","_Fragment","args","_toDisplayString","_component_OrTooltip","Select","SelectControl","SelectSearchControl","SelectDropdown","SelectDropdownDefault","SelectDropdownFlipped","SelectDropdownItem","SelectDropdownItemPaddingSingle","SelectDropdownItemPaddingMultiple","SelectDropdownItemPaddingMultipleMobile","SelectNoSearchResults","SelectLoader","_sfc_main","OrCheckbox","OrError","OrExpansionPanel","OrHint","OrIcon","OrIconButton","OrInput","OrInputBox","OrLabel","OrMenuItem","OrPopover","OrSelectMultipleControl","OrSelectSingleControl","OrLoader","DropdownClose","DropdownOpen","searchItemsByLabel","currentInstance","getCurrentInstance","inputBox","inputBoxRoot","control","multipleControl","singleControl","popover","popoverRoot","popoverState","isOpen","enableClear","enableSearch","multiple","controlId","bottomSheetFullscreen","_b","showClear","readonly","internalSearchOptions","resolvedSearchOptions","searchText","externalControl","resetSearch","groupedOptions","groupBy","accumulator","group","Styles.Select","InputBoxVariant","Styles.SelectControl","searchControlStyles","Styles.SelectSearchControl","dropdownStyles","isMobile","Styles.SelectDropdown","Styles.SelectDropdownFlipped","Styles.SelectDropdownDefault","dropdownContainerStyles","dropdownItemStyles","Styles.SelectDropdownItem","Styles.SelectDropdownItemPaddingMultiple","Styles.SelectDropdownItemPaddingSingle","Styles.SelectDropdownItemPaddingMultipleMobile","noSearchResultsStyles","Styles.SelectNoSearchResults","loaderStyles","Styles.SelectLoader","toggle","close","open","popoverInstance","nextTick","selectedOptionElement","controlInstance","selectOption","include","deselectOption","exclude","toggleOption","isDesktop","useResponsive","_hoisted_3","_resolveDirective","_component_OrLabel","_renderSlot","_createCommentVNode","_component_OrInputBox","_component_OrSelectMultipleControl","_component_OrSelectSingleControl","_hoisted_2","_component_OrIconButton","_component_OrIcon","_component_OrPopover","_component_OrInput","_component_OrLoader","_renderList","groupName","_component_OrExpansionPanel","i","_component_OrMenuItem","_withModifiers","_component_OrCheckbox","_directive_dropdown_open","_directive_dropdown_close","_component_OrHint","_component_OrError"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAO,MAAMA,KAA+B;AAAA;AAAA,EAE1C;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GCUAC,KAAeC,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,OAAO;AAAA,IACL,MAAM;AAAA,IACN,OAAO;AAAA,EACT;AAAA,EAEA,OAAO;AAAA,IACL,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,IAEA;AAAA,IACA;AAAA,EACF;AAAA,EAEA,MAAMC,GAAOC,GAAS;AAEpB,UAAMC,IAAOC,KAGP,EAAE,aAAAC,GAAa,YAAAC,EAAW,IAAIC,GAAON,CAAK,GAG1CO,IAAkBC,GAAmBH,GAAYJ,EAAQ,IAAI,GAC7D,EAAE,SAAAQ,EAAA,IAAYC,GAASR,CAAI,GAG3BS,IAAgBC,EAAS,MAAM;AAAA,MACnC,GAAGf;AAAA,IAAA,CACJ,GAEKgB,IAAsBD,EAAS,MAAM;;AACnC,YAAAE,IAAQP,EAAgB,MAAM,SAAS,IACzCA,EAAgB,MAAM,UACtBQ,IAAAX,EAAY,UAAZ,gBAAAW,EAAmB;AAEhB,aAAA;AAAA,QACL,OAAO,GAAG,KAAK,IAAID,IAAQ,KAAK,GAAG,CAAC,CAAC;AAAA,MAAA;AAAA,IACvC,CACD;AAGD,aAASE,IAAQ;AACf,MAAAP,EAAQ,QAAQ;AAAA,IAClB;AAEO,WAAA;AAAA,MACL,MAAAP;AAAA,MACA,iBAAAK;AAAA,MACA,eAAAI;AAAA,MACA,qBAAAE;AAAA,MACA,SAAAJ;AAAA,MACA,OAAAO;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;SArGSC,GAAMC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;AACH,SAAAC,GAAAC,KAAAC,EAAA,SAAA;AAAA,IACR,KAAK;AAAA,IACL,uBAAOP,EAAa,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAQ,MAAAT,EAAA,kBAAAS;AAAA,IACpB,OAAMC,GAAMV,EAAA,mBAAA;AAAA,IACZ,SAAaA,EAAW,aAAA;AAAA,IACxB,MAAA;AAAA,IACA,aAAUA,EAAA;AAAA,IACV,UAAcA,EAAA;AAAA,IACd,UAASA,EAAE;AAAA,IACX,cAAW;AAAA,IAAA,WAAA;AAAA;;;;;oDCZHW,KAA8B;AAAA;AAAA,EAEzC;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AACF,GCIAC,KAAe/B,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,OAAO;AAAA,IACL,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,QAAQ;AAEN,UAAMG,IAAOC,KAGP4B,IAAanB,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAGiB;AAAA,IAAA,CACJ;AAEM,WAAA;AAAA,MACL,MAAA3B;AAAA,MACA,YAAA6B;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;SAzCSd,GAAMC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;SACNE,EAAY,GAAAC,EAAA,OAAA;AAAA,IACjB,KAAA;AAAA,IAAA,OAAAM,EAAAd,EAAA,UAAA;AAAA,IAED,UAAQA,EAAA;AAAA,EAAA,GAAA;AAAA;;;oDCNCe,KAAsC;AAAA;AAAA,EAEjD;AAAA,EACA;AACF,GCyDAC,KAAenC,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,IACV,qBAAAoC;AAAA,IACA,sBAAAC;AAAA,IACA,QAAAC;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,OAAO;AAAA,EACT;AAAA,EAEA,OAAO;AAAA,IACL,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS,MAAM,CAAC;AAAA,IAClB;AAAA,IAEA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS,MAAM,CAAC;AAAA,IAClB;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS,MAAMC,GAAa;AAAA,IAC9B;AAAA,IAEA,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL;AAAA,IACA;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,IAEA;AAAA,IACA;AAAA,EACF;AAAA,EAEA,MAAMtC,GAAOC,GAAS;AAEpB,UAAMC,IAAOC,KAEPoC,IAAgBpC,KAChBqC,IAAOrC,KAGP,EAAE,YAAAE,GAAY,OAAAoC,GAAO,SAAAC,GAAS,UAAAC,MAAarC,GAAON,CAAK,GAGvD4C,IAAmBpC,GAAmBH,GAAYJ,EAAQ,IAAI,GAE9DQ,IAAUG,EAAS,MAAM;;AAC7B,cAAOG,IAAAwB,EAAc,UAAd,gBAAAxB,EAAqB;AAAA,IAAA,CAC7B,GAGKgB,IAAanB,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAGqB;AAAA,IAAA,CACJ,GAGKY,IAAQjC,EAAS,MAAMkC,GAAML,EAAM,KAAK,IAAI,CAAA,IAAKM,EAAQN,EAAM,KAAK,CAAC,GACrEO,IAAUpC,EAAS,MAAMiC,EAAM,MAAM,WAAW,CAAC,GAEjDI,IAAYrC,EAAS,MACrB6B,EAAM,UAAU,UAAaA,EAAM,UAAU,OACxC,KAGFI,EAAM,MACV,IAAI,CAACA,MAAUH,EAAQ,MAAM,KAAK,CAACQ,MAAWC,GAAQD,EAAO,OAAOL,CAAK,CAAC,CAAC,EAC3E,OAAmB,CAACA,MAA+B,CAAC,CAACA,CAAK,EAC1D,IAAI,CAACK,OAAY;AAAA,MAChB,OAAOA,EAAO;AAAA,MACd,OAAOA,EAAO;AAAA,MACd,UAAUA,EAAO,YAAY,EAAE,UAAUA,EAAO,SAAS;AAAA,IAClD,EAAA,CACZ;AAEK,IAAAE,EAAAH,GAAW,CAACI,GAAOC,MAAc;AACjC,MAAAD,EAAM,UAAUC,EAAU,UAAUX,EAAS,UAAUL,GAAa,UAAUE,EAAK,SACpFA,EAAK,MAAM;IACd,CACD;AAGD,aAASxB,IAAc;AACrB,MAAIuB,EAAc,SACfA,EAAc,MAAM;IAEzB;AAEO,WAAA;AAAA,MACL,MAAArC;AAAA,MACA,MAAAsC;AAAA,MACA,YAAAT;AAAA,MACA,eAAAQ;AAAA,MACA,kBAAAK;AAAA,MACA,SAAAI;AAAA,MACA,WAAAC;AAAA,MACA,OAAAJ;AAAA,MACA,OAAA7B;AAAA,MACA,SAAAP;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;;4DAzMC8C,EA+CM,qBAAA;SA7CE9B,EAAY,GAAAC,EAAA,OAAA;AAAA,IAAA,KAAA;AAAA,aAElBR,EAoCS,UAAA;AAAA,EAAA,GAAA;AAAA,MAjCCsC,EAASC,GAAA;AAAA,MACjB,KAAK;AAAA,MACJ,OAAUvC,EAAA;AAAA,MACV,OAAA;AAAA,MAA8B,UAAAA,EAAA;AAAA,MAA0D,aAAA;AAAA,QAAA,SAAAA,EAAA,YAAAA,EAAA,WAAA,QAAA;AAAA,QAIxF,UAAUA,EAAA;AAAA,MACV;AAAA,MAAA,UAAAA,EAAA;AAAA,MAEgB,SAAGC,EAAG,CAAI,MAAAA,EAAA,CAAA,IAAA,CAAAQ,MAAAT,EAAA,MAAA,SAAAS,CAAA;AAAA,IAMlB,GAAA+B,GAAA;AAAA,MAAA,KAAAC,EAAA,CAAA,EAAA,MAAAC,QAAA;AAAA;;;;MAID,GAAA;AAAA,IAAA,GAAA;AAAA;QAGN,MAAA;AAAA,QAAA,IACED,EAME,MAAA;AAAA,UAAAE,EALM,OAAeC,IAAA;AAAA,YACIN,EAAAO,GAAA;AAAA,cAAA,KAAA;AAAA,cACxB,YAAW7C,EAAE;AAAA,cACb,uBAAkBC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAQ,MAAAT,EAAA,mBAAAS;AAAA,cAClB,aAAUT,EAAQ,UAAAA,EAAA,cAAA;AAAA,cAAA,UAAAA,EAAA;AAAA;;;;;;;MAMX,CAAA8C,GAAA,CAAA9C,EAAO,WAAKA,EAAY,YAAA;AAAA,IAAA,CAAA;AAAA,sCACE,GAAA+C,EAAAC,GAAA;AAAA,MAAA,KAAA;AAAA;;;;;;;;;oDC5CjCC,KAAqC;AAAA;AAAA,EAEhD;AACF,GCiDAC,KAAerE,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,IACV,qBAAAoC;AAAA,IACA,sBAAAC;AAAA,IACA,WAAAiC;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,OAAO;AAAA,EACT;AAAA,EAEA,OAAO;AAAA,IACL,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS,MAAM,CAAC;AAAA,IAClB;AAAA,IAEA,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,IAEA;AAAA,IACA;AAAA,EACF;AAAA,EAEA,MAAMrE,GAAOC,GAAS;AAEpB,UAAMC,IAAOC,KACPoC,IAAgBpC,KAChBmE,IAAoBnE,KACpBoE,IAAapE,KAGb,EAAE,YAAAE,GAAY,OAAAoC,GAAO,SAAAC,EAAQ,IAAIpC,GAAON,CAAK,GAG7C4C,IAAmBpC,GAAmBH,GAAYJ,EAAQ,IAAI,GAE9DuE,IAAoB5D,EAAS,MAC1BoC,GAAQP,EAAM,KAAK,CAC3B,GAEKQ,IAAYrC,EAAS,MAClB8B,EAAQ,MAAM,KAAK,CAACQ,MAAWC,GAAQD,EAAO,OAAOT,EAAM,KAAK,CAAC,CACzE,GAEKgC,IAAiB7D,EAAS,MAAM;;AACpC,cAAOG,IAAAkC,EAAU,UAAV,gBAAAlC,EAAiB;AAAA,IAAA,CACzB;AAED,IAAAqC;AAAA,MACE,MAAMpD,EAAM;AAAA,MACZ,MAAM;;AACJ,SAAAe,IAAAwD,EAAW,UAAX,QAAAxD,EAAkB;AAAA,MACpB;AAAA,IAAA;AAGI,UAAAN,IAAUG,EAAS,MAAM;;AAC7B,cAAOG,IAAAwB,EAAc,UAAd,gBAAAxB,EAAqB;AAAA,IAAA,CAC7B,GAEK2D,IAAc,MAAM;AACxB,MAAIH,EAAW,SAAkBA,EAAA,MAAM,KAAK;AAAA,IAAA,GAGxCI,IAAe,MAAM;AACzB,MAAIJ,EAAW,SAAkBA,EAAA,MAAM,MAAM;AAAA,IAAA,GAIzCxC,IAAanB,EAAS,MAAO;AAAA,MACjC;AAAA,MACA,GAAGuD;AAAA,IAAA,CACH;AAGF,aAASnD,IAAQ;AACf,MAAIuB,EAAc,SACfA,EAAc,MAAM;IAEzB;AAEA,aAASqC,IAAe;AAClB,UAAA,CAACN,EAAkB,MAAO;AAE9B,MAD2BA,EAAkB,MAAM,cAAcA,EAAkB,MAAM,eACrDI;IACtC;AAEO,WAAA;AAAA,MACL,MAAAxE;AAAA,MACA,YAAA6B;AAAA,MACA,eAAAQ;AAAA,MACA,kBAAAK;AAAA,MACA,mBAAA4B;AAAA,MACA,WAAAvB;AAAA,MACA,gBAAAwB;AAAA,MACA,OAAAzD;AAAA,MACA,SAAAP;AAAA,MACA,mBAAA6D;AAAA,MACA,YAAAC;AAAA,MACA,aAAAG;AAAA,MACA,cAAAC;AAAA,MACA,cAAAC;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC,GA7KYd,KAAY;AAAA,EAAA,KAAA;AAAA;;;yEApBvBP,EAqCM,WAAA;SAnCE9B,EAAY,GAAAC,EAAA,OAAA;AAAA,IAAA,KAAA;AAAA,IAEF,OAAAM,EAAUd,EAAY,UAAA;AAAA,EAAA,GAAA;AAAA,oCAEb,GAAA+C,EAAAF,GAAA;AAAA,MAAA,KAAA;AAAA;MAEpB,YAAW7C,EAAE;AAAA,MAAA,uBAAAC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAQ,MAAAT,EAAA,mBAAAS;AAAA,mBAIlBT,EAwBW,oBAAAA,EAAA,cAAAA,EAAA;AAAA,IAAA,GAvBO,wBAAiB,aAGT,CAAA,MAAAO,EAAA,GAAAC,EAAAmD,GAAA,EAAA,KAAA,EAAA,GAAA;AAAA,MAAA3D,EAAA,qBAAAO,KAFkBwC,EAAAC,GAAA;AAAA,QAAA,KAAA;AAAA;;;;;;MAOtC,GAAA,GAAA,CAAA,UAAA,CAAA,MAAAzC,EAAA,GACyBC,EAAA,OAAAoC,IAAA;AAAA,QAAAD,EACjB,OAAiB;AAAA,UACtB,KAAA;AAAA,UACA,OAAA;AAAA,UAAA,cAAA1C,EAEE,CAAc,MAAAA,EAAA,CAAA,IAAA,IAAA2D,MAAA5D,EAAA,gBAAAA,EAAA,aAAA,GAAA4D,CAAA;AAAA,UAEnB,cAIE3D,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,IAAA2D,MAAA5D,EAAA,gBAAAA,EAAA,aAAA,GAAA4D,CAAA;AAAA,QAAA,GAHAC,EAAgB7D,EAAA,cAAA,GAAA,GAAA;AAAA,QAAAsC,EACNwB,GAAc;AAAA,UACvB,KAAA;AAAA,UAAA,SAAA9D,EAAA;AAAA;;;;;;oDCjCA+D,KAAmB;AAAA;AAAA,EAE9B;AAAA;AAAA,EAGA;AACF,GAEaC,KAA0B;AAAA;AAAA,EAErC;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AACF,GAEaC,KAAgC;AAAA;AAAA,EAE3C;AAAA,EACA;AACF,GAEaC,KAA2B;AAAA;AAAA,EAEtC;AAAA;AAAA,EAGA;AAAA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AACF,GAEaC,KAAkC;AAAA;AAAA,EAE7C;AAAA;AAAA,EAGA;AACF,GAEaC,KAAkC;AAAA;AAAA,EAE7C;AAAA;AAAA,EAGA;AACF,GAEaC,KAA+B;AAAA;AAAA,EAE1C;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AACF,GAEaC,KAAkC;AAAA;AAAA,EAE7C;AACF,GAEaC,KAAoC;AAAA;AAAA,EAE/C;AACF,GAEaC,KAA0C;AAAA;AAAA,EAErD;AACF,GAEaC,KAAkC;AAAA;AAAA,EAE7C;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AACF,GAEaC,KAAyB;AAAA;AAAA,EAEpC;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AACF,GC6LAC,KAAe9F,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,IACV,YAAA+F;AAAA,IACA,SAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,QAAAC;AAAA,IACA,QAAAC;AAAA,IACA,cAAAC;AAAA,IACA,SAAAC;AAAA,IACA,YAAAC;AAAA,IACA,SAAAC;AAAA,IACA,YAAAC;AAAA,IACA,WAAAC;AAAA,IACA,yBAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,UAAAC;AAAA,EACF;AAAA,EAEA,YAAY;AAAA,IACV,eAAAC;AAAA,IACA,cAAAC;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,OAAO;AAAA,EACT;AAAA,EAEA,OAAO;AAAA,IACL,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS,MAAM,CAAC;AAAA,IAClB;AAAA,IAEA,eAAe;AAAA,MACb,MAAM;AAAA,MACN,SAAS,MAAM,CAAC;AAAA,IAClB;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS,MAAMvE,GAAa;AAAA,IAC9B;AAAA,IAEA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,OAAO;AAAA,MACL,MAAM,CAAC,QAAQ,OAAO;AAAA,MACtB,SAAS;AAAA,IACX;AAAA,IAEA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,gBAAgB;AAAA,MACd,MAAM;AAAA,MACN,SAASwE;AAAA,IACX;AAAA,IAEA,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL;AAAA,IAEA;AAAA,IACA;AAAA,IAEA;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IAEA;AAAA,IACA;AAAA,IAEA;AAAA,IACA;AAAA,EACF;AAAA,EAEA,MAAM9G,GAAOC,GAAS;AACpB,UAAM8G,IAAkBC,MAGlB9G,IAAOC,KAEP8G,IAAW9G,KACX+G,IAAetG,EAAS,MAAA;;AAAM,cAAAG,IAAAkG,EAAS,UAAT,gBAAAlG,EAAgB;AAAA,KAAI,GAElDoG,IAAUhH,KACViH,IAAkBjH,KAClBkH,IAAgBlH,KAChBoC,IAAgBpC,KAEhBmH,IAAUnH,KAEVoH,IAAc3G,EAAS,MAAA;;AAAM,cAAAG,IAAAuG,EAAQ,UAAR,gBAAAvG,EAAe;AAAA,KAAI,GAChDyG,IAAe5G,EAAS,MAAA;;AAAM,cAAAG,IAAAuG,EAAQ,UAAR,gBAAAvG,EAAe;AAAA,KAAK,GAElD0G,IAAS7G,EAAS,MAAM4G,EAAa,UAAU,MAAM,GAGrD,EAAE,aAAAE,GAAa,cAAAC,GAAc,YAAAtH,GAAY,UAAAuH,MAAatH,GAAON,CAAK,GAGlE6H,IAAY1H,EAAIF,EAAQ,MAAM,MAAgB8G,EAAgB,IAAI,UAAU,GAE5ExG,IAAkBC,GAAmBH,GAAYJ,EAAQ,IAAI,GAE7D6H,KAAwBlH,EAAS,MAAM;;AACpC,cAAAmH,KAAAhH,IAAAuG,EAAQ,UAAR,gBAAAvG,EAAe,gBAAf,gBAAAgH,EAA4B;AAAA,IAAA,CACpC,GAEKvD,IAAoB5D,EAAS,MAC1BoC,GAAQzC,EAAgB,KAAK,CACrC,GAEKyH,IAAYpH,EAAS,MAClB8G,EAAY,SAAS,CAAClD,EAAkB,KAChD,GAGK/D,IAAUG,EAAS,MAAM;;AAC7B,aAAIgH,EAAS,SACJ7G,IAAAqG,EAAgB,UAAhB,gBAAArG,EAAuB,WAEvBgH,IAAAV,EAAc,UAAd,gBAAAU,EAAqB;AAAA,IAC9B,CACD,GAEKE,IAAWrH,EAAS,MAAMX,EAAQ,MAAM,QAAmB,GAE3DiI,IAAwB/H,EAAkBH,EAAM,OAAO,GAEvDmI,IAAwBvH,EAAS,MAC9BZ,EAAM,kBAAkBA,EAAM,gBAAgBkI,EAAsB,KAC5E,GAEKE,KAAajI,EAAY,EAAE;AAE3B,IAAAiD,EAAA;AAAA,MACJ,MAAMpD,EAAM;AAAA,MACZoI;AAAA,MACA,MAAMpI,EAAM;AAAA,OACX,OAAO,CAACqI,GAAiBD,GAAY1F,CAAO,MAAM;AACnD,MAAI2F,IACMpI,EAAA,KAAK,UAAUmI,CAAU,IAEjCF,EAAsB,QAAQ,MAAMlI,EAAM,eAAeoI,GAAY1F,CAAO;AAAA,IAC9E,GACC,EAAE,MAAM,GAAA,CAAM,GAGXU,EAAAqE,GAAQ,CAAC5E,MAAU;AACvB,MAAKA,KACSyF;IACd,CACD;AAEK,UAAAC,KAAiB3H,EAAS,MAAM;AACpC,YAAM4H,IAAUxI,EAAM;AAEtB,aAAIwI,IACKN,EAAsB,MAAM,OAAO,CAACO,GAAavF,MAAW;AAC3D,cAAAwF,KAAQF,EAAQtF,CAAM;AAErB,eAAA;AAAA,UACL,GAAGuF;AAAA,UACH,CAACC,EAAK,GAAG;AAAA,YACP,GAAGD,EAAYC,EAAK,KAAK,CAAC;AAAA,YAC1BxF;AAAA,UACF;AAAA,QAAA;AAAA,MAEJ,GAAG,CAAkC,CAAA,IAGhC;AAAA,QACL,IAAIlD,EAAM;AAAA,MAAA;AAAA,IACZ,CACD,GAGK+B,KAAanB,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAG+H;AAAAA,MACH,GAAG3I,EAAM,YAAY4I,GAAgB,WAAW,CAAC,MAAM,IAAI,CAAC;AAAA,IAAA,CAC7D,GAEKjI,KAAgBC,EAAS,MAAM;AAAA,MACnC,GAAGiI;AAAAA,IAAO,CACX,GAEKC,KAAsBlI,EAAS,MAAM;AAAA,MACzC,GAAGmI;AAAAA,IAAO,CACX,GAEKC,KAAiBpI,EAAS,MAAM;;AAAA;AAAA,QACpC;AAAA,QACA,GAAIqI,EAAS,QAAQ,KAAK;AAAA,UACxB,GAAGC;AAAAA,UACH,IAAGnI,IAAAuG,EAAQ,UAAR,QAAAvG,EAAe,YAAYoI,KAA+BC;AAAAA,QAC/D;AAAA,MAAA;AAAA,KACD,GAEKC,KAA0BzI,EAAS,MAAM;AAAA,MAC7CqI,EAAS,QAAQ,kBAAkB;AAAA,MACnCnB,GAAsB,QAAQ,oBAAoB;AAAA,IAAA,CACnD,GAEKwB,KAAqB1I,EAAS,MAAM;AAAA,MACxC,GAAG2I;AAAAA,MACH,GAAIvJ,EAAM,WAAWwJ,KAA2CC;AAAAA,MAChE,GAAIR,EAAS,QAAQS,KAAiD,CAAC;AAAA,IAAA,CACxE,GAEKC,KAAwB/I,EAAS,MAAM;AAAA,MAC3C,GAAGgJ;AAAAA,IAAO,CACX,GAEKC,KAAejJ,EAAS,MAAM;AAAA,MAClC,GAAGkJ;AAAAA,IAAO,CACX;AAGD,aAASC,KAAe;AACtB,MAAI,CAAC9B,EAAS,SAAS,CAACjI,EAAM,YACJsH,EAAQ,UAG1BE,EAAa,UAAU,UAAU,CAAC/G,EAAQ,QACtCuJ,QAEDC,MAEL,WAAW,MAAM;AACT,QAAAjJ;MAAA,CACP;AAAA,IAIT;AAEA,aAASiJ,KAAa;AACpB,YAAMC,IAAkB5C,EAAQ;AAEhC,MAAI4C,KACDA,EAAgB,KAAoB,GAEvCC,GAAS,MAAM;AACb,YAAI5J,EAAgB,OAAO;AACnB,gBAAAsC,IAAQ,MAAM,QAAQtC,EAAgB,KAAK,IAAIA,EAAgB,MAAM,CAAC,IAAIA,EAAgB,OAC1F6J,IAAwB,SAAS,cAAc,gBAAgBvH,CAAK,IAAI;AAC9E,UAAIuH,KACF,WAAW,MAAM;AACf,YAAAA,EAAsB,eAAe;AAAA,cACnC,UAAU;AAAA,cACV,OAAO;AAAA,YAAA,CACR;AAAA,UAAA,CACF;AAAA,QAEL;AAAA,MAAA,CACD;AAAA,IACH;AAEA,aAASJ,KAAc;AACrB,YAAME,IAAkB5C,EAAQ;AAEhC,MAAI4C,KACDA,EAAgB,MAAqB;AAAA,IAE1C;AAEA,aAASlJ,KAAc;AACrB,UAAI2G,EAAa,OAAO;AAChB,cAAA0C,IAAkBpB,EAAS,QAC7B1G,EAAc,QACdqF,EAAS,QACPR,EAAgB,QAChBC,EAAc;AAEpB,QAAIgD,KACDA,EAAgB,MAAqB;AAAA,MAE1C;AAAA,IACF;AAEA,aAASC,GAAazH,GAAkC;AACtD,MAAI7C,EAAM,WACRO,EAAgB,QAAQgK,GAAQ1H,GAAOE,EAAQxC,EAAgB,KAAK,CAAC,IAErEA,EAAgB,QAAQsC,GAGdyF;IACd;AAEA,aAASkC,GAAe3H,GAAkC;AACxD,MAAI7C,EAAM,WACRO,EAAgB,QAAQkK,GAAQ5H,GAAOE,EAAQxC,EAAgB,KAAK,CAAC,IAErEA,EAAgB,QAAQ;AAAA,IAE5B;AAEA,aAASmK,GAAa7H,GAAkC;AACtD,UAAI7C,EAAM,UAAU;AACZ,cAAAyC,IAAQM,EAAQxC,EAAgB,KAAK;AAE3C,QAAKkC,EAAM,SAASI,CAAK,IAGPtC,EAAA,QAAQkK,GAAQ5H,GAAOJ,CAAK,IAF5BlC,EAAA,QAAQgK,GAAQ1H,GAAOJ,CAAK;AAAA,MAG9C;AAEA,QAAAlC,EAAgB,QAAQA,EAAgB,UAAUsC,IAAQA,IAAQ;AAGxD,MAAAyF;IACd;AAEA,aAASA,IAAoB;AAC3B,MAAA6B,GAAS,MAAM;AACF,mBAAA,MAAM/B,GAAW,QAAQ,EAAE;AAAA,MAAA,CACvC;AAAA,IACH;AAGA,UAAM,EAAE,WAAAuC,IAAW,UAAA1B,EAAS,IAAI2B,GAAc;AAEvC,WAAA;AAAA,MACL,MAAA1K;AAAA,MACA,UAAA+G;AAAA,MACA,cAAAC;AAAA,MACA,SAAAC;AAAA,MACA,iBAAAC;AAAA,MACA,eAAAC;AAAA,MACA,eAAA9E;AAAA,MACA,SAAA+E;AAAA,MACA,aAAAC;AAAA,MACA,cAAAC;AAAA,MACA,YAAAzF;AAAA,MACA,eAAApB;AAAA,MACA,qBAAAmI;AAAA,MACA,gBAAAE;AAAA,MACA,yBAAAK;AAAA,MACA,oBAAAC;AAAA,MACA,uBAAAK;AAAA,MACA,cAAAE;AAAA,MACA,WAAAhC;AAAA,MACA,iBAAAtH;AAAA,MACA,UAAA0H;AAAA,MACA,mBAAAzD;AAAA,MACA,QAAAiD;AAAA,MACA,WAAAO;AAAA,MACA,YAAAI;AAAA,MACA,uBAAAF;AAAA,MACA,uBAAAC;AAAA,MACA,gBAAAI;AAAA,MAEA,QAAAwB;AAAA,MACA,OAAAC;AAAA,MACA,MAAAC;AAAA,MAEA,cAAAK;AAAA,MACA,gBAAAE;AAAA,MACA,cAAAE;AAAA,MACA,aAAApC;AAAA,MAEA,WAAAqC;AAAA,MACA,UAAA1B;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC,GAhqBWnF,KAAK,CAAA,MAAA,UAAA;;GAwCG+G,KAAK;AAAA,EAAA,KAAA;AAAA;;;wVA7HvBC,GAmRM,gBAAA;SAjRErJ,EAAY,GAAAC,EAAA,OAAA;AAAA,IAAA,KAAA;AAAA,IAEF,OAAAM,EAAgBd,EAAO,UAAA;AAAA,EAAA,GAAA;AAAA,IAElCA,EAAA,OAAA,SAAAA,EAAA,OAAA,SAAAA,EAAA,SAAAO,KAAUwC,EAAE8G,GAAS;AAAA,MACrB,KAAA;AAAA,MACA,cAAU7J,EAAA;AAAA,MACV,SAAQ;AAAA,MAAA,UAAAA,EAAA;AAAA,MAMQ,UAAKA,EAAA;AAAA,IAAA,GAAA;AAAA;QAFf8J,EAAA9J,EAAA,QAAA,OAAA;AAAA,MAAA,CAAA;AAAA;;;;;;IAQX,GAAA,GAAA,CAAA,cAAA,YAAA,UA2Oa,MA1OV+J,EAAe,IAAA,EAAA;AAAA,IAAAzJ,GAGXC,KACgBwC,EAAAiH,GAAA;AAAA,MACpB,KAAA;AAAA,MACA,OAAMlJ,EAAI,CAAA,uBAAA,CAAAd,EAAA,iBAAA,WAAAA,EAAA,WAAAA,EAAA,QAAA,YAAA,gBAAA,gBAAA,EAAA,gBAAAA,EAAA,YAAA,WAAA,CAAA,CAAA,CAAA;AAAA,MACV,SAAOA,EAAI;AAAA,MACX,MAAUA,EAAA;AAAA,MACV,SAAQ,CAAE,CAAAA,EAAA;AAAA,MACV,UAAaA,EAAA;AAAA,MACb,UAAQA,EAAG;AAAA,MAAA,eAAAA,EAAA,SAAA,iBAAA;AAAA,MAkDN,UAAAA,EAAA,WAAA,OAAA;AAAA,IAAA,GAAA;AAAA,eA/CCyC,EAAS,MAAA;AAAA,QACCE,EAAA,OAAA;AAAA,UACd,IAAK3C,EAAA;AAAA,UACL,KAAA;AAAA,UACA,OAAKc,EAAAd,EAAA,aAAA;AAAA,UACL,UAAIA,EAAA;AAAA,UAAA,SAAAC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAQ,MAAAT,EAAA,MAAA,SAAAS,CAAA;AAAA,UAEL,QAuCOR,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAQ,MArCJT,EAAK,MAAE,QAAAS,CAAA;AAAA,QAAA,GAAA;AAAA,sBAGN,iBAmB0B,EAAA,OAAAT,EAAA,gBAAA,GAAA,MAAA;AAAA,YAAAA,EAAA,YAAAO,KAlBDwC,EAAAkH,GAAA;AAAA,cAAA,KAAA;AAAA;cAEtB,YAAOjK,EAAA;AAAA,cACP,uBAAgBC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAQ,MAAAT,EAAA,aAAAS;AAAA,cAChB,OAAUT,EAAA;AAAA,cACV,SAAaA,EAAA;AAAA,cACb,UAAUA,EAAA;AAAA,cACV,aAAUA,EAAA;AAAA,cACV,UAAaA,EAAA;AAAA,cACb,UAAOA,EAAE;AAAA,cACT,iBAAKA,EAAA;AAAA,cAAA,WAAAA,EAAA,iBAAA;AAAA,cAEW,SAAGC,EAAG,CAAI,MAAAA,EAAA,CAAA,IAAA,CAAAQ,MAAAT,EAAA,eAAAS,CAAA;AAAA,YAAA,GAAA;AAAA;;;;2IAWN,GAAAsC,EAAAmH,GAAA;AAAA,cAAA,KAAA;AAAA;cAEpB,YAAOlK,EAAA;AAAA,cACP,uBAAgBC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAQ,MAAAT,EAAA,aAAAS;AAAA,cAChB,OAAWT,EAAA;AAAA,cACX,SAAQA,EAAE;AAAA,cACV,aAAeA,EAAA;AAAA,cACf,UAAOA,EAAE;AAAA,cAAA,iBAAAA,EAAA;AAAA;;UAMlB,CAAA;AAAA,QAAA,GACkB,IAAS4C,EAAA;AAAA,QAAAD,EAAA,OACvBwH,IAME;AAAA,UAAAnK,EAAA,aAAAO,KALcwC,EAAAqH,GAAA;AAAA,YACb,KAAK;AAAA,YACL,MAAA;AAAA,YACA,OAAA;AAAA,YACA,qBAAK,CAAO,iBAAA,yBAAA;AAAA,YAAA,UAAApK,EAAA,YAAAA,EAAA;AAAA;UAIjB,GAAA,MAAA,GAAA,CAAA,UAAA,CAAA,KAEG+J,EAAM,IAAY,EAAA;AAAA,UAAAzJ,EACbgC,EAAG+H,GAAY;AAAA,YACpB,QAAS,iBAAU,SAAArK,EAAA,eAAA,WAAA,kBAAA;AAAA,YAAA,OAAAc,EAAAd,EAAA,iBAAA,UAAAA,EAAA,eAAA,0CAAA,EAAA;AAAA;;;UAIxB,CAAA;AAAA,QAAA,CAAA;AAAA,UAEYsK,GAAM;AAAA,UACf,KAAA;AAAA,UACA,SAAS;AAAA,UACT,SAAStK,EAAA,UAAAA,EAAA;AAAA,UACT,WAAA;AAAA,UACA,QAAA;AAAA,UAAA,cAAA;AAAA,UA+IK,0BAAA;AAAA,QAAA,GAAA;AAAA,UA7IK,SAAAyC,EAAA,MAAA;AAAA,YAAAE,EAAA,OAAA;AAAA,cACO,OAAA7B,EAAYd,EAAe,cAAA;AAAA,YAAA,GAAA;AAAA,gFAElB+C,EAAAwH,GAAA;AAAA,gBAAA,KAAA;AAAA;gBAEpB,YAAKvK,EAAA;AAAA,gBACL,uBAAcC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAQ,MAAAT,EAAA,aAAAS;AAAA,gBACd,SAAaT,EAAW,mBAAA;AAAA,gBAAA,MAAA;AAAA;iBAqIvB,MAAA,GAAA,CAAA,cAAA,SAAA,aAAA,CAAA,KAlIA+J,EAAK,IAAE,EAAA;AAAA,cAAApH,EAAA,OAAA;AAAA,uBACK7B,EAAOd,EAAA,uBAAA;AAAA,cAAA,GAAA;AAAA,gBAEnBA,EAAA,WAAAO,EAAA,GAKIC,EAAA,OAAAmJ,IAAA;AAAA,kBAAAG,EAHM9J,qBAAE,CAAY,GAAA,MAAA;AAAA,oBAAAsC,EACZkI,GAAM;AAAA,sBACb,OAAM1J,EAAWd,EAAA,YAAA;AAAA,sBAAA,SAAA;AAAA;;kBAML,CAAA;AAAA,gBACH,CAAA,KAAAA,EAAA,sBAAe,qBAC7B2D,GAgDmB,EAAA,KAAA,EAAA,GAAA;AAAA,kBAAA3D,EAAA,mBAAAO,EA9CX,EAAS,GAAAC,EAAAmD,GAAA,EAAA,KAAA,EAAA,GAAA8G,EAAAzK,EAAA,gBAAA,CAAAwH,GAAAkD,OACTnK,EAAW,GAAAwC,EAAA4H,GAAA;AAAA,oBAAA,KAAAD;AAAA;;;sBAKN1K,EAAA,YAAAO,EAAA,EAAA,GAAAC,EAAAmD,GAAA,EAAA,KAAA,EAAA,GAAA8G,EAAAjD,GAAA,CAAAxF,GAAA4I,OACNrK,EAAA,GAA0BwC,EAAA8H,GAAA;AAAA,wBAC1B,KAAAD;AAAA,wBACA,gBAAgB5I,EAAC;AAAA,wBAAA,UAAAhC,EAAA,mBAAAA,EAAA,gBAAA,SAAAgC,EAAA,KAAA;AAAA;;iCAIVS,EAAE,MAAA;AAAA,0BAAAqH,EACC9J,EAAM,QAAA,kBAAA;AAAA,4BASV,OAAAA,EAAA;AAAA,4BAPL,QAAAgC;AAAA,0BAAA,GAAA,MAAA;AAAA;8BAEG,YAAOhC,EAAO;AAAA,8BACd,uBAAmBC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAQ,MAAAT,EAAA,kBAAAS;AAAA,8BACnB,OAAAuB,EAAA;AAAA,8BACA,OAAUA,EAAA;AAAA,8BAAA,iBAAA;AAAA;;;;;gDAOjB,YAgBa,UAAA,CAAA,EAdJ,GAAA,GAAA,MAAAzB,EAAA,EAAA,GAAAC,EAAAmD,GAAA,EAAA,KAAA,EAAA,GAAA8G,EAAAjD,GAAA,CAAAxF,GAAA4I,OACDrK,EAAA,GAAAwC,EAAE8H,GAAkB;AAAA,wBACzB,KAAAD;AAAA,wBACA,SAAU5K,EAA2B,kBAAA;AAAA,wBACrC,gBAAgBgC,EAAC;AAAA,wBACjB,UAAKhC,EAAO,oBAAAgC,EAAA;AAAA,wBAAA,UAAAA,EAAA;AAAA,wBAQN,SAAA8I,EAAA,CAAArK,MAAAT,EAAA,aAAAgC,EAAA,KAAA,GAAA,CAAA,MAAA,CAAA;AAAA,sBAAA,GAAA;AAAA,iCAJCS,EAAE,MAAA;AAAA,0BAAAqH,EACC9J,EAAM,QAAA,kBAAA;AAAA,4BAGV,OAAAA,EAAA;AAAA,4BAAA,QAAAgC;AAAA;;;;;;;;kBAMf,GAAA,MAAA,CAAA,OAAA,CAAA,EAAA,GACkB,gBACd2B,GA0Ba,EAAA,KAAA,KAAA;AAAA,oBAxBJ3D,EAAA,YAAAO,EAAA,EAAA,GAAAC,EAAAmD,GAAA,EAAA,KAAA,EAAA,GAAA8G,EAAAzK,EAAA,uBAAA,CAAAgC,GAAA4I,OACNrK,EAAA,GAA0BwC,EAAA8H,GAAA;AAAA,sBAC1B,KAAKD;AAAA,sBACL,gBAAU5I,EAAA;AAAA,sBACV,SAAiBhC,EAAQ,kBAAA;AAAA,sBACzB,YAAY,mBAAYA,EAAA,gBAAA,SAAAgC,EAAA,KAAA;AAAA,sBACxB,UAAKA,EAAA;AAAA,sBAAA,cAAAA,EAAA;AAAA,sBAiBO,SAAA8I,EAAA,CAAArK,MAAA,CAAAuB,EAAA,YAAAhC,EAAA,aAAAgC,EAAA,KAAA,GAAA,CAAA,MAAA,CAAA;AAAA,oBAAA,GAAA;AAAA,sBAdV,SAAAS,EAAW,MAAE;AAAA,wBAAAH,EACNyI,GAAY;AAAA,0BACnB,eAAa/K,EAAE;AAAA,0BACf,OAAUgC,EAAA;AAAA,0BAAA,iBAAA;AAAA;;mCAELS,EAAK,MAAA;AAAA,4BAAAE,EAAA,OAAA;AAAA,8BACT,SAMO,CAAAlC,MAAA,CAAAuB,EAAA,YAAAhC,EAAA,aAAAgC,EAAA,KAAA;AAAA,4BAAA,GAAA;AAAA,gCAHIhC,EAAM,QAAA,kBAAA;AAAA,gCAGV,OAAAA,EAAA;AAAA,gCAAA,QAAAgC;AAAA;;;;;;;;;oBAOb,GAAA,MAAA,CAAA,gBAAA,SAAA,YAiBa,YAhBW,cAAA,SAAA,CAAA,EACf,GAAA,GAAA,MAAAzB,EAAA,EAAA,GAAAC,EAAAmD,GAAA,EAAA,KAAA,EAAA,GAAA8G,EAAAzK,EAAA,uBAAA,CAAAgC,GAAA4I,OACDrK,EAAA,GAAAwC,EAAE8H,GAAkB;AAAA,sBACzB,KAAAD;AAAA,sBACA,SAAqB5K,EAAK,kBAAA;AAAA,sBAC1B,YAAY,oBAAYgC,EAAA;AAAA,sBACxB,gBAAgBA,EAAC;AAAA,sBACjB,cAAKA,EAAA;AAAA,sBAAA,UAAAA,EAAA;AAAA,sBAQC,SAAA8I,EAAA,CAAArK,MAAA;AAAA,wBAAAT,EAAA,aAAAgC,EAAA,KAAA,GAAAhC,EAAA,MAAA;AAAA,sBAAA,GAAA,CAAA,MAAA,CAAA;AAAA,oBAAA,GAAA;AAAA,+BAJCyC,EAAE,MAAA;AAAA,wBAAAqH,EACC9J,EAAM,QAAA,kBAAA;AAAA,0BAGV,OAAAA,EAAA;AAAA,0BAAA,QAAAgC;AAAA;;;;;;;gCAOAxB,EAAA,OAAA;AAAA,kBAAA,KAAA;AAAA,kBACX,OAKOM,EAAAd,EAAA,qBAAA;AAAA,gBAAA,GAAA;AAAA;;;;;;;;;;;uCAlOC,WAAK,YAAA,YAAA,eAAA,UAAA,CAAA,IAAA;AAAA,MAAA,CAAAgL,IAAAhL,EAAA,MAAA;AAAA,MA0OT,CAAmBiL,GAAAjL,EAAA,KAAA;AAAA,IAAA,CAAA;AAAA,iCAGpBO,EAAQ,GAAAwC,EAAAmI,GAAA;AAAA,MAAA,KAAA;AAAA;;;;;;;;;;IAYV,CAAA,IAAAnB,EAAA,IAAA,EAAA;AAAA,IAAHzJ,EAAAgC,EAAA6I,GAAA,EAAA,UAAAnL,EAAA,YAAA;AAAA,MAAA,SAAAyC,EAAA,MAAA;AAAA;;;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OrSlider-XimfcpRY.mjs","sources":["../../../components/or-slider-v3/src/OrSlider.vue"],"sourcesContent":["<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :disabled=\"disabled\"\n >\n <div\n :ref=\"'rail'\"\n :class=\"railStyles\"\n :disabled=\"disabled\"\n >\n <div\n :class=\"trackStyles\"\n :style=\"trackInlineStyles\"\n :disabled=\"disabled\"\n />\n\n <OrTooltip\n :is-open=\"isHovering || isDragging\"\n :placement=\"tooltipPlacement\"\n :offset=\"24\"\n :external-control=\"true\"\n v-bind=\"tooltip\"\n >\n <div\n :ref=\"'thumb'\"\n :class=\"thumbStyles\"\n :disabled=\"disabled\"\n />\n\n <template v-slot:content>\n <slot\n name=\"tooltipContent\"\n :value=\"proxyModelValue\"\n >\n {{ proxyModelValue }}\n </slot>\n </template>\n </OrTooltip>\n\n <template v-if=\"breakpoints.length > 0\">\n <div\n v-for=\"breakpoint of [minValue, ...breakpoints, maxValue]\"\n :key=\"breakpoint\"\n :class=\"breakpointMarkStyles\"\n :style=\"getBreakpointMarkComputedStyles(breakpoint)\"\n :activated=\"breakpoint <= proxyModelValue\"\n :disabled=\"disabled\"\n @mouseenter=\"highlightedBreakpoint = breakpoint\"\n @mouseleave=\"highlightedBreakpoint = undefined\"\n />\n </template>\n </div>\n\n <div :class=\"labelStyles\">\n <div\n v-for=\"breakpoint of [minValue, ...breakpoints, maxValue]\"\n :key=\"breakpoint\"\n :class=\"labelMarkStyles\"\n :style=\"getBreakpointMarkComputedStyles(breakpoint)\"\n :disabled=\"disabled\"\n :force-state=\"highlightedBreakpoint === breakpoint ? 'hover' : undefined\"\n @mouseenter=\"highlightedBreakpoint = breakpoint\"\n @mouseleave=\"highlightedBreakpoint = undefined\"\n @click=\"proxyModelValue = breakpoint\"\n >\n <slot\n :name=\"`${breakpoint}-label`\"\n :value=\"breakpoint\"\n >\n {{ breakpoint }}\n </slot>\n </div>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { Position, clamp, useDraggable, useElementBounding, useElementHover } from '@vueuse/core';\nimport { PropType, computed, defineComponent, ref, toRef, watch } from 'vue';\nimport { useProxyModelValue } from '@onereach/ui-components-common/hooks';\nimport { OrTooltipV3 as OrTooltip } from '@onereach/ui-components.or-tooltip-v3';\nimport * as Styles from './styles';\nimport { SliderColor, SliderModelValue, SliderOrientation } from './types';\n\nexport default defineComponent({\n name: 'OrSlider',\n\n components: {\n OrTooltip,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: undefined as unknown as PropType<SliderModelValue>,\n default: undefined,\n },\n\n minValue: {\n type: Number,\n default: 0,\n },\n\n maxValue: {\n type: Number,\n default: 100,\n },\n\n step: {\n type: Number,\n default: 1,\n },\n\n breakpoints: {\n type: Array as PropType<number[]>,\n default: () => [],\n },\n\n color: {\n type: String as PropType<`${SliderColor}`>,\n default: () => SliderColor.Primary,\n },\n\n orientation: {\n type: String as PropType<`${SliderOrientation}`>,\n default: () => SliderOrientation.Horizontal,\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n\n tooltip: {\n type: Object as PropType<Pick<InstanceType<typeof OrTooltip>['$props'], 'placement' | 'offset' | 'debounce'>>,\n default: undefined,\n },\n },\n\n emits: [\n 'update:modelValue',\n ],\n\n expose: [\n 'root',\n ],\n\n setup(props, context) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-slider-v3',\n ...Styles.Slider,\n ...Styles.SliderOrientations[props.orientation],\n ]);\n\n const rail = ref<HTMLElement>();\n\n const railStyles = computed(() => [\n 'or-slider-rail-v3',\n ...Styles.SliderRail,\n ...Styles.SliderRailOrientations[props.orientation],\n ]);\n\n const trackStyles = computed(() => [\n ...Styles.SliderTrack,\n ...Styles.SliderTrackColors[props.color],\n ]);\n\n // eslint-disable-next-line vue/return-in-computed-property\n const trackInlineStyles = computed(() => {\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n case SliderOrientation.HorizontalReversed:\n return { width: `${internalModelValue.value * 100}%` };\n\n case SliderOrientation.Vertical:\n case SliderOrientation.VerticalReversed:\n return { height: `${internalModelValue.value * 100}%` };\n }\n });\n\n const thumb = ref<HTMLElement>();\n\n const thumbStyles = computed(() => [\n 'or-slider-thumb-v3',\n ...Styles.SliderThumb,\n ...Styles.SliderThumbColors[props.color],\n 'touch-none', // Required for proper work on mobile\n ]);\n\n const breakpointMarkStyles = computed(() => [\n ...Styles.SliderBreakpointMark,\n ...Styles.SliderBreakpointMarkColors[props.color],\n ]);\n\n const labelStyles = computed(() => [\n ...Styles.SliderLabel,\n ...Styles.SliderLabelOrientations[props.orientation],\n ]);\n\n const labelMarkStyles = computed(() => [\n ...Styles.SliderLabelMark,\n ...Styles.SliderLabelMarkOrientations[props.orientation],\n ]);\n\n // State\n const proxyModelValue = useProxyModelValue(toRef(props, 'modelValue'), context.emit, {\n defaultValue: toRef(props, 'minValue'),\n });\n\n const internalModelValue = computed({\n get: () => (proxyModelValue.value - props.minValue) / (props.maxValue - props.minValue),\n\n set: (value) => {\n const modelValue = value * (props.maxValue - props.minValue) + props.minValue;\n\n proxyModelValue.value = internalBreakpoints.value.reduce((a, b) => {\n return Math.abs(a - modelValue) < Math.abs(b - modelValue) ? a : b;\n });\n },\n });\n\n const internalBreakpoints = computed(() => {\n if (!props.step) {\n return [props.minValue, ...props.breakpoints, props.maxValue];\n }\n\n return Array(Math.ceil(Math.abs(props.maxValue - props.minValue) / props.step))\n .fill(undefined)\n .map((value, index) => Math.floor((props.minValue + props.step * index) * 1000) / 1000)\n .concat(...props.breakpoints, props.maxValue)\n .sort((a, b) => a - b);\n });\n\n // eslint-disable-next-line vue/return-in-computed-property\n const tooltipPlacement = computed(() => {\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n case SliderOrientation.HorizontalReversed:\n return 'top';\n\n case SliderOrientation.Vertical:\n case SliderOrientation.VerticalReversed:\n return 'right';\n }\n });\n\n const highlightedBreakpoint = ref<number>();\n\n const railBoundingBox = useElementBounding(rail);\n\n // Handlers\n function onDrag(position: Position, event: MouseEvent | PointerEvent): void {\n if (props.disabled) {\n return;\n }\n\n const totalWidth = railBoundingBox.width.value;\n const totalHeight = railBoundingBox.height.value;\n\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n internalModelValue.value = clamp(event.clientX - railBoundingBox.left.value, 0, totalWidth) / totalWidth;\n break;\n\n case SliderOrientation.HorizontalReversed:\n internalModelValue.value = clamp(railBoundingBox.right.value - event.clientX, 0, totalWidth) / totalWidth;\n break;\n\n case SliderOrientation.Vertical:\n internalModelValue.value = clamp(totalHeight - (event.clientY - railBoundingBox.top.value), 0, totalHeight) / totalHeight;\n break;\n\n case SliderOrientation.VerticalReversed:\n internalModelValue.value = clamp(totalHeight - (railBoundingBox.bottom.value - event.clientY), 0, totalHeight) / totalHeight;\n break;\n }\n }\n\n // Methods\n function getBreakpointMarkComputedStyles(breakpoint: number): Partial<CSSStyleDeclaration> | undefined {\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n return { left: `${getBreakpointOffset(breakpoint) * 100}%` };\n\n case SliderOrientation.HorizontalReversed:\n return { right: `${getBreakpointOffset(breakpoint) * 100}%` };\n\n case SliderOrientation.Vertical:\n return { bottom: `${getBreakpointOffset(breakpoint) * 100}%` };\n\n case SliderOrientation.VerticalReversed:\n return { top: `${getBreakpointOffset(breakpoint) * 100}%` };\n }\n }\n\n // Helpers\n function getBreakpointOffset(breakpoint: number): number {\n return (breakpoint - props.minValue) / (props.maxValue - props.minValue);\n }\n\n // Effects\n const isHovering = useElementHover(rail);\n\n const { isDragging } = useDraggable(rail, {\n onStart: onDrag,\n onMove: onDrag,\n onEnd: onDrag,\n });\n\n // Constraints\n watch(() => props.minValue, (value) => {\n if (value >= props.maxValue) {\n throw new Error('[OrSlider]: `minValue` must be lesser than `maxValue`.');\n }\n }, { immediate: true });\n\n watch(() => props.maxValue, (value) => {\n if (value <= props.minValue) {\n throw new Error('[OrSlider]: `maxValue` must be greater than `minValue`.');\n }\n }, { immediate: true });\n\n return {\n root,\n rootStyles,\n\n rail,\n railStyles,\n\n trackStyles,\n trackInlineStyles,\n\n thumb,\n thumbStyles,\n\n breakpointMarkStyles,\n\n labelStyles,\n labelMarkStyles,\n\n proxyModelValue,\n tooltipPlacement,\n highlightedBreakpoint,\n\n getBreakpointMarkComputedStyles,\n\n isHovering,\n isDragging,\n };\n },\n});\n</script>\n"],"names":["_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_ctx","_normalizeStyle","_hoisted_3","_createVNode","_component_OrTooltip","_mergeProps","_withCtx","_createElementVNode","_Fragment","_renderList","breakpoint","$event","_createCommentVNode","_hoisted_2","_cache"],"mappings":";;;;;YACEA,EAyEM,WAAA;SAvEEC,EAAY,GAAAC,EAAA,OAAA;AAAA,IACjB,KAAA;AAAA,IAAA,OAAAC,EAAAC,EAAA,UAAA;AAAA,IAED,UAAAA,EAAA;AAAA,EAAA,GAAA;AAAA,MAEQ,OAAE;AAAA,MACP,KAAA;AAAA,MAAA,OAAAD,EAAAC,EAAA,UAAA;AAAA,MAED,UAAAA,EAAA;AAAA,IAAA,GAAA;AAAA,QAEQ,OAAE;AAAA,QACP,OAAkBD,EAAAC,EAAA,WAAA;AAAA,QAAA,OAAAC,EAAAD,EAAA,iBAAA;AAAA,QAGrB,UAqBYA,EAAA;AAAA,MAAA,GApBT,MAAS,IAAAE,CAAA;AAAA,MAAAC,EACEC,GAAgBC,EAAA;AAAA,QAC3B,WAAUL,EAAA,cAAAA,EAAA;AAAA,QACV,WAAAA,EAAA;AAAA,QACO,QAAA;AAAA,QAQS,oBAMR;AAAA,MAAA,GAAAA,EALP,OAKO,GAAA;AAAA,QAAA,SAAAM,EAAA,MAAA;AAAA;;;;iBAXDA,EAAO,MAAA;AAAA,UAAAC,EACP,OAAE;AAAA,YACP,KAAA;AAAA,YAAA,OAAAR,EAAAC,EAAA,WAAA;AAAA;;;QAaW,GAAA;AAAA,MACd,GAAA,IAAA,CAAA,WAAA,WAAA,CAAA;AAAA,MAAAA,EAAA,YAAA,SAAA,KAAAH,EAEQ,EAAU,GAAAC,EAAAU,GAAA,EAAA,KAAA,EAAA,GAAAC,EAAA,CAAAT,EAAA,UAAA,GAAAA,EAAA,aAAAA,EAAA,QAAA,GAAA,CAAAU,OACVb,EAAE,GAAAC,EAAA,OAAA;AAAA,QACP,KAAKY;AAAA,QACL,OAAAX,EAAqBC,EAAI,oBAAe;AAAA,QACxC,OAAkBC,EAAAD,EAAA,gCAAAU,CAAA,CAAA;AAAA,QAClB,WAAYA,KAAAV,EAAA;AAAA,QACZ,UAAUA,EAAA;AAAA,QAAA,cAAA,CAAAW,MAAAX,EAAA,wBAAAU;AAAA;iCAKjBE,EAmBM,IAAA,EAAA;AAAA,IAAA,GAnBA,IAAKC,CAAA;AAAA,IAAAN,EAAA,OAAA;AAAA,eACTP,EAiBM,WAAA;AAAA,IAAA,GAAA;AAAA,SAfE,EAAU,GAAAF,EAAAU,GAAA,MAAAC,EAAA,CAAAT,EAAA,UAAA,GAAAA,EAAA,aAAAA,EAAA,QAAA,GAAA,CAAAU,OACVb,EAAA,GAAAC,EAAE,OAAe;AAAA,QACtB,KAAKY;AAAA,QACL,OAAkBX,EAAAC,EAAA,eAAA;AAAA,QAClB,OAAAC,EAAaD,kCAAoCU,CAAa,CAAA;AAAA,QAC9D,UAAUV,EAAA;AAAA,QACV,eAAUA,EAAE,0BAAAU,IAAA,UAAA;AAAA,QACZ,cAAK,OAAEV,EAA4B,wBAAAU;AAAA,QAAA,cAAAI,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAH,MAAAX,EAAA,wBAAA;AAAA,QAEpC,SAAA,CAAAW,MAKOX,EAJe,kBAAAU;AAAA,MAAA,GAAA;AAAA;;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OrSlider.vue_vue_type_script_lang-yh5NyhYF.mjs","sources":["../../../components/or-slider-v3/src/types.ts","../../../components/or-slider-v3/src/styles.ts","../../../components/or-slider-v3/src/OrSlider.vue"],"sourcesContent":["import { ModelValue } from '@onereach/ui-components-common/types';\n\nexport type SliderModelValue = ModelValue<number>;\n\nexport enum SliderColor {\n Primary = 'primary',\n Secondary = 'secondary',\n}\n\nexport enum SliderOrientation {\n Horizontal = 'horizontal',\n HorizontalReversed = 'horizontal-reversed',\n Vertical = 'vertical',\n VerticalReversed = 'vertical-reversed',\n}\n","import { SliderColor, SliderOrientation } from './types';\n\nexport const Slider: string[] = [\n // Interactivity\n 'interactivity-default',\n];\n\nexport const SliderOrientations: Record<SliderOrientation, string[]> = {\n [SliderOrientation.Horizontal]: [\n // Layout\n 'layout-column',\n\n // Box\n 'w-full',\n ],\n\n [SliderOrientation.HorizontalReversed]: [\n // Layout\n 'layout-column',\n\n // Box\n 'w-full',\n ],\n\n [SliderOrientation.Vertical]: [\n // Layout\n 'layout-row',\n\n // Box\n 'h-full',\n ],\n\n [SliderOrientation.VerticalReversed]: [\n // Layout\n 'layout-row',\n\n // Box\n 'h-full',\n ],\n};\n\nexport const SliderRail: string[] = [\n // Position\n 'relative',\n\n // Interactivity\n 'interactivity-click',\n\n // Shape\n 'rounded-full',\n\n // Theme\n 'theme-background-disabled',\n 'dark:theme-background-disabled-dark',\n];\n\nexport const SliderRailOrientations: Record<SliderOrientation, string[]> = {\n [SliderOrientation.Horizontal]: [\n // Layout\n 'layout-row',\n\n // Box\n 'w-full',\n 'h-xs',\n\n // Spacing\n 'mx-0',\n 'my-md+',\n ],\n\n [SliderOrientation.HorizontalReversed]: [\n // Layout\n 'layout-row-reverse',\n\n // Box\n 'w-full',\n 'h-xs',\n\n // Spacing\n 'mx-0',\n 'my-md+',\n ],\n\n [SliderOrientation.Vertical]: [\n // Layout\n 'layout-column-reverse items-center',\n\n // Box\n 'w-xs',\n 'h-full',\n\n // Spacing\n 'mx-md+',\n 'my-0',\n ],\n\n [SliderOrientation.VerticalReversed]: [\n // Layout\n 'layout-column items-center',\n\n // Box\n 'w-xs',\n 'h-full',\n\n // Spacing\n 'mx-md+',\n 'my-0',\n ],\n};\n\nexport const SliderTrack: string[] = [\n // Shape\n 'rounded-full',\n\n // Box\n 'w-full',\n 'h-full',\n];\n\nexport const SliderTrackColors: Record<SliderColor, string[]> = {\n [SliderColor.Primary]: [\n // Theme\n 'theme-background-primary',\n 'dark:theme-background-primary-dark',\n ],\n\n [SliderColor.Secondary]: [\n // Theme\n 'theme-background-secondary',\n 'dark:theme-background-secondary-dark',\n ],\n};\n\nexport const SliderThumb: string[] = [\n // Layout\n 'shrink-0',\n // Position\n 'z-10',\n\n // Shape\n 'rounded-full',\n\n // Box\n 'w-[20px]',\n 'h-[20px]',\n\n // Spacing\n '-mx-[10px]',\n '-my-[10px]',\n\n // Theme\n 'theme-background-base',\n 'dark:theme-background-base-dark',\n];\n\nexport const SliderThumbColors: Record<SliderColor, string[]> = {\n [SliderColor.Primary]: [\n // Theme\n 'theme-border-primary border-4',\n 'dark:theme-border-primary-dark',\n\n // Theme (hover)\n 'hover:theme-background-primary',\n 'dark:hover:theme-background-primary-dark',\n\n // Theme (active)\n 'active:theme-background-primary',\n 'dark:active:theme-background-primary-dark',\n\n 'active:theme-outline-primary active:outline-10',\n 'dark:active:theme-outline-primary-dark',\n ],\n\n [SliderColor.Secondary]: [\n // Theme\n 'theme-border-secondary border-4',\n 'dark:theme-border-secondary-dark',\n\n // Theme (hover)\n 'hover:theme-background-secondary',\n 'dark:hover:theme-background-secondary-dark',\n\n // Theme (active)\n 'active:theme-background-secondary',\n 'dark:active:theme-background-secondary-dark',\n\n 'active:theme-outline-secondary active:outline-10',\n 'dark:active:theme-outline-secondary-dark',\n ],\n};\n\nexport const SliderBreakpointMark: string[] = [\n // Position\n 'absolute',\n\n // Shape\n 'rounded-full',\n\n // Box\n 'w-[2px]',\n 'h-[2px]',\n\n // Spacing\n '-mx-[1px]',\n '-my-[1px]',\n];\n\nexport const SliderBreakpointMarkColors: Record<SliderColor, string[]> = {\n [SliderColor.Primary]: [\n // Theme\n 'theme-background-primary',\n 'dark:theme-background-primary-dark',\n\n // Theme (activated)\n 'activated:theme-background-primary-container',\n 'dark:activated:theme-background-primary-container-dark',\n\n // Theme (disabled)\n 'disabled:!bg-on-disabled',\n 'dark:disabled:!bg-on-disabled-dark',\n ],\n\n [SliderColor.Secondary]: [\n // Theme\n 'theme-background-secondary',\n 'dark:theme-background-secondary-dark',\n\n // Theme (activated)\n 'activated:theme-background-secondary-container',\n 'dark:activated:theme-background-secondary-container-dark',\n\n // Theme (disabled)\n 'disabled:!bg-on-disabled',\n 'dark:disabled:!bg-on-disabled-dark',\n ],\n};\n\nexport const SliderLabel: string[] = [\n // Position\n 'relative',\n];\n\nexport const SliderLabelOrientations: Record<SliderOrientation, string[]> = {\n [SliderOrientation.Horizontal]: [\n // Layout\n 'layout-row',\n\n // Box\n 'w-full',\n ],\n\n [SliderOrientation.HorizontalReversed]: [\n // Layout\n 'layout-row-reverse',\n\n // Box\n 'w-full',\n ],\n\n [SliderOrientation.Vertical]: [\n // Layout\n 'layout-column-reverse items-center',\n\n // Box\n 'h-full',\n ],\n\n [SliderOrientation.VerticalReversed]: [\n // Layout\n 'layout-column items-center',\n\n // Box\n 'h-full',\n ],\n};\n\nexport const SliderLabelMark: string[] = [\n // Position\n 'absolute',\n\n // Interactivity\n 'interactivity-click',\n\n // Typography\n 'typography-caption-regular whitespace-nowrap',\n\n // Theme\n 'theme-foreground-outline',\n 'dark:theme-foreground-outline-dark',\n\n // Theme (hover)\n 'hover:theme-foreground-default',\n 'dark:hover:theme-foreground-default-dark',\n];\n\nexport const SliderLabelMarkOrientations: Record<SliderOrientation, string[]> = {\n [SliderOrientation.Horizontal]: [\n // Position\n '-translate-x-1/2',\n 'translate-y-1/2',\n ],\n\n [SliderOrientation.HorizontalReversed]: [\n // Position\n 'translate-x-1/2',\n 'translate-y-1/2',\n ],\n\n [SliderOrientation.Vertical]: [\n // Position\n 'translate-x-1/2',\n 'translate-y-1/2',\n ],\n\n [SliderOrientation.VerticalReversed]: [\n // Position\n 'translate-x-1/2',\n '-translate-y-1/2',\n ],\n};\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :disabled=\"disabled\"\n >\n <div\n :ref=\"'rail'\"\n :class=\"railStyles\"\n :disabled=\"disabled\"\n >\n <div\n :class=\"trackStyles\"\n :style=\"trackInlineStyles\"\n :disabled=\"disabled\"\n />\n\n <OrTooltip\n :is-open=\"isHovering || isDragging\"\n :placement=\"tooltipPlacement\"\n :offset=\"24\"\n :external-control=\"true\"\n v-bind=\"tooltip\"\n >\n <div\n :ref=\"'thumb'\"\n :class=\"thumbStyles\"\n :disabled=\"disabled\"\n />\n\n <template v-slot:content>\n <slot\n name=\"tooltipContent\"\n :value=\"proxyModelValue\"\n >\n {{ proxyModelValue }}\n </slot>\n </template>\n </OrTooltip>\n\n <template v-if=\"breakpoints.length > 0\">\n <div\n v-for=\"breakpoint of [minValue, ...breakpoints, maxValue]\"\n :key=\"breakpoint\"\n :class=\"breakpointMarkStyles\"\n :style=\"getBreakpointMarkComputedStyles(breakpoint)\"\n :activated=\"breakpoint <= proxyModelValue\"\n :disabled=\"disabled\"\n @mouseenter=\"highlightedBreakpoint = breakpoint\"\n @mouseleave=\"highlightedBreakpoint = undefined\"\n />\n </template>\n </div>\n\n <div :class=\"labelStyles\">\n <div\n v-for=\"breakpoint of [minValue, ...breakpoints, maxValue]\"\n :key=\"breakpoint\"\n :class=\"labelMarkStyles\"\n :style=\"getBreakpointMarkComputedStyles(breakpoint)\"\n :disabled=\"disabled\"\n :force-state=\"highlightedBreakpoint === breakpoint ? 'hover' : undefined\"\n @mouseenter=\"highlightedBreakpoint = breakpoint\"\n @mouseleave=\"highlightedBreakpoint = undefined\"\n @click=\"proxyModelValue = breakpoint\"\n >\n <slot\n :name=\"`${breakpoint}-label`\"\n :value=\"breakpoint\"\n >\n {{ breakpoint }}\n </slot>\n </div>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { Position, clamp, useDraggable, useElementBounding, useElementHover } from '@vueuse/core';\nimport { PropType, computed, defineComponent, ref, toRef, watch } from 'vue';\nimport { useProxyModelValue } from '@onereach/ui-components-common/hooks';\nimport { OrTooltipV3 as OrTooltip } from '@onereach/ui-components.or-tooltip-v3';\nimport * as Styles from './styles';\nimport { SliderColor, SliderModelValue, SliderOrientation } from './types';\n\nexport default defineComponent({\n name: 'OrSlider',\n\n components: {\n OrTooltip,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: undefined as unknown as PropType<SliderModelValue>,\n default: undefined,\n },\n\n minValue: {\n type: Number,\n default: 0,\n },\n\n maxValue: {\n type: Number,\n default: 100,\n },\n\n step: {\n type: Number,\n default: 1,\n },\n\n breakpoints: {\n type: Array as PropType<number[]>,\n default: () => [],\n },\n\n color: {\n type: String as PropType<`${SliderColor}`>,\n default: () => SliderColor.Primary,\n },\n\n orientation: {\n type: String as PropType<`${SliderOrientation}`>,\n default: () => SliderOrientation.Horizontal,\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n\n tooltip: {\n type: Object as PropType<Pick<InstanceType<typeof OrTooltip>['$props'], 'placement' | 'offset' | 'debounce'>>,\n default: undefined,\n },\n },\n\n emits: [\n 'update:modelValue',\n ],\n\n expose: [\n 'root',\n ],\n\n setup(props, context) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-slider-v3',\n ...Styles.Slider,\n ...Styles.SliderOrientations[props.orientation],\n ]);\n\n const rail = ref<HTMLElement>();\n\n const railStyles = computed(() => [\n 'or-slider-rail-v3',\n ...Styles.SliderRail,\n ...Styles.SliderRailOrientations[props.orientation],\n ]);\n\n const trackStyles = computed(() => [\n ...Styles.SliderTrack,\n ...Styles.SliderTrackColors[props.color],\n ]);\n\n // eslint-disable-next-line vue/return-in-computed-property\n const trackInlineStyles = computed(() => {\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n case SliderOrientation.HorizontalReversed:\n return { width: `${internalModelValue.value * 100}%` };\n\n case SliderOrientation.Vertical:\n case SliderOrientation.VerticalReversed:\n return { height: `${internalModelValue.value * 100}%` };\n }\n });\n\n const thumb = ref<HTMLElement>();\n\n const thumbStyles = computed(() => [\n 'or-slider-thumb-v3',\n ...Styles.SliderThumb,\n ...Styles.SliderThumbColors[props.color],\n 'touch-none', // Required for proper work on mobile\n ]);\n\n const breakpointMarkStyles = computed(() => [\n ...Styles.SliderBreakpointMark,\n ...Styles.SliderBreakpointMarkColors[props.color],\n ]);\n\n const labelStyles = computed(() => [\n ...Styles.SliderLabel,\n ...Styles.SliderLabelOrientations[props.orientation],\n ]);\n\n const labelMarkStyles = computed(() => [\n ...Styles.SliderLabelMark,\n ...Styles.SliderLabelMarkOrientations[props.orientation],\n ]);\n\n // State\n const proxyModelValue = useProxyModelValue(toRef(props, 'modelValue'), context.emit, {\n defaultValue: toRef(props, 'minValue'),\n });\n\n const internalModelValue = computed({\n get: () => (proxyModelValue.value - props.minValue) / (props.maxValue - props.minValue),\n\n set: (value) => {\n const modelValue = value * (props.maxValue - props.minValue) + props.minValue;\n\n proxyModelValue.value = internalBreakpoints.value.reduce((a, b) => {\n return Math.abs(a - modelValue) < Math.abs(b - modelValue) ? a : b;\n });\n },\n });\n\n const internalBreakpoints = computed(() => {\n if (!props.step) {\n return [props.minValue, ...props.breakpoints, props.maxValue];\n }\n\n return Array(Math.ceil(Math.abs(props.maxValue - props.minValue) / props.step))\n .fill(undefined)\n .map((value, index) => Math.floor((props.minValue + props.step * index) * 1000) / 1000)\n .concat(...props.breakpoints, props.maxValue)\n .sort((a, b) => a - b);\n });\n\n // eslint-disable-next-line vue/return-in-computed-property\n const tooltipPlacement = computed(() => {\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n case SliderOrientation.HorizontalReversed:\n return 'top';\n\n case SliderOrientation.Vertical:\n case SliderOrientation.VerticalReversed:\n return 'right';\n }\n });\n\n const highlightedBreakpoint = ref<number>();\n\n const railBoundingBox = useElementBounding(rail);\n\n // Handlers\n function onDrag(position: Position, event: MouseEvent | PointerEvent): void {\n if (props.disabled) {\n return;\n }\n\n const totalWidth = railBoundingBox.width.value;\n const totalHeight = railBoundingBox.height.value;\n\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n internalModelValue.value = clamp(event.clientX - railBoundingBox.left.value, 0, totalWidth) / totalWidth;\n break;\n\n case SliderOrientation.HorizontalReversed:\n internalModelValue.value = clamp(railBoundingBox.right.value - event.clientX, 0, totalWidth) / totalWidth;\n break;\n\n case SliderOrientation.Vertical:\n internalModelValue.value = clamp(totalHeight - (event.clientY - railBoundingBox.top.value), 0, totalHeight) / totalHeight;\n break;\n\n case SliderOrientation.VerticalReversed:\n internalModelValue.value = clamp(totalHeight - (railBoundingBox.bottom.value - event.clientY), 0, totalHeight) / totalHeight;\n break;\n }\n }\n\n // Methods\n function getBreakpointMarkComputedStyles(breakpoint: number): Partial<CSSStyleDeclaration> | undefined {\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n return { left: `${getBreakpointOffset(breakpoint) * 100}%` };\n\n case SliderOrientation.HorizontalReversed:\n return { right: `${getBreakpointOffset(breakpoint) * 100}%` };\n\n case SliderOrientation.Vertical:\n return { bottom: `${getBreakpointOffset(breakpoint) * 100}%` };\n\n case SliderOrientation.VerticalReversed:\n return { top: `${getBreakpointOffset(breakpoint) * 100}%` };\n }\n }\n\n // Helpers\n function getBreakpointOffset(breakpoint: number): number {\n return (breakpoint - props.minValue) / (props.maxValue - props.minValue);\n }\n\n // Effects\n const isHovering = useElementHover(rail);\n\n const { isDragging } = useDraggable(rail, {\n onStart: onDrag,\n onMove: onDrag,\n onEnd: onDrag,\n });\n\n // Constraints\n watch(() => props.minValue, (value) => {\n if (value >= props.maxValue) {\n throw new Error('[OrSlider]: `minValue` must be lesser than `maxValue`.');\n }\n }, { immediate: true });\n\n watch(() => props.maxValue, (value) => {\n if (value <= props.minValue) {\n throw new Error('[OrSlider]: `maxValue` must be greater than `minValue`.');\n }\n }, { immediate: true });\n\n return {\n root,\n rootStyles,\n\n rail,\n railStyles,\n\n trackStyles,\n trackInlineStyles,\n\n thumb,\n thumbStyles,\n\n breakpointMarkStyles,\n\n labelStyles,\n labelMarkStyles,\n\n proxyModelValue,\n tooltipPlacement,\n highlightedBreakpoint,\n\n getBreakpointMarkComputedStyles,\n\n isHovering,\n isDragging,\n };\n },\n});\n</script>\n"],"names":["SliderColor","SliderOrientation","Slider","SliderOrientations","SliderRail","SliderRailOrientations","SliderTrack","SliderTrackColors","SliderThumb","SliderThumbColors","SliderBreakpointMark","SliderBreakpointMarkColors","SliderLabel","SliderLabelOrientations","SliderLabelMark","SliderLabelMarkOrientations","_sfc_main","defineComponent","OrTooltip","props","context","root","ref","rootStyles","computed","Styles.Slider","Styles.SliderOrientations","rail","railStyles","Styles.SliderRail","Styles.SliderRailOrientations","trackStyles","Styles.SliderTrack","Styles.SliderTrackColors","trackInlineStyles","internalModelValue","thumb","thumbStyles","Styles.SliderThumb","Styles.SliderThumbColors","breakpointMarkStyles","Styles.SliderBreakpointMark","Styles.SliderBreakpointMarkColors","labelStyles","Styles.SliderLabel","Styles.SliderLabelOrientations","labelMarkStyles","Styles.SliderLabelMark","Styles.SliderLabelMarkOrientations","proxyModelValue","useProxyModelValue","toRef","value","modelValue","internalBreakpoints","a","b","index","tooltipPlacement","highlightedBreakpoint","railBoundingBox","useElementBounding","onDrag","position","event","totalWidth","totalHeight","clamp","getBreakpointMarkComputedStyles","breakpoint","getBreakpointOffset","isHovering","useElementHover","isDragging","useDraggable","watch"],"mappings":";;;;AAIY,IAAAA,sBAAAA,OACVA,EAAA,UAAU,WACVA,EAAA,YAAY,aAFFA,IAAAA,KAAA,CAAA,CAAA,GAKAC,sBAAAA,OACVA,EAAA,aAAa,cACbA,EAAA,qBAAqB,uBACrBA,EAAA,WAAW,YACXA,EAAA,mBAAmB,qBAJTA,IAAAA,KAAA,CAAA,CAAA;ACPL,MAAMC,IAAmB;AAAA;AAAA,EAE9B;AACF,GAEaC,IAA0D;AAAA,EACrE,CAACF,EAAkB,UAAU,GAAG;AAAA;AAAA,IAE9B;AAAA;AAAA,IAGA;AAAA,EACF;AAAA,EAEA,CAACA,EAAkB,kBAAkB,GAAG;AAAA;AAAA,IAEtC;AAAA;AAAA,IAGA;AAAA,EACF;AAAA,EAEA,CAACA,EAAkB,QAAQ,GAAG;AAAA;AAAA,IAE5B;AAAA;AAAA,IAGA;AAAA,EACF;AAAA,EAEA,CAACA,EAAkB,gBAAgB,GAAG;AAAA;AAAA,IAEpC;AAAA;AAAA,IAGA;AAAA,EACF;AACF,GAEaG,IAAuB;AAAA;AAAA,EAElC;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AACF,GAEaC,IAA8D;AAAA,EACzE,CAACJ,EAAkB,UAAU,GAAG;AAAA;AAAA,IAE9B;AAAA;AAAA,IAGA;AAAA,IACA;AAAA;AAAA,IAGA;AAAA,IACA;AAAA,EACF;AAAA,EAEA,CAACA,EAAkB,kBAAkB,GAAG;AAAA;AAAA,IAEtC;AAAA;AAAA,IAGA;AAAA,IACA;AAAA;AAAA,IAGA;AAAA,IACA;AAAA,EACF;AAAA,EAEA,CAACA,EAAkB,QAAQ,GAAG;AAAA;AAAA,IAE5B;AAAA;AAAA,IAGA;AAAA,IACA;AAAA;AAAA,IAGA;AAAA,IACA;AAAA,EACF;AAAA,EAEA,CAACA,EAAkB,gBAAgB,GAAG;AAAA;AAAA,IAEpC;AAAA;AAAA,IAGA;AAAA,IACA;AAAA;AAAA,IAGA;AAAA,IACA;AAAA,EACF;AACF,GAEaK,IAAwB;AAAA;AAAA,EAEnC;AAAA;AAAA,EAGA;AAAA,EACA;AACF,GAEaC,IAAmD;AAAA,EAC9D,CAACP,EAAY,OAAO,GAAG;AAAA;AAAA,IAErB;AAAA,IACA;AAAA,EACF;AAAA,EAEA,CAACA,EAAY,SAAS,GAAG;AAAA;AAAA,IAEvB;AAAA,IACA;AAAA,EACF;AACF,GAEaQ,IAAwB;AAAA;AAAA,EAEnC;AAAA;AAAA,EAEA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AACF,GAEaC,IAAmD;AAAA,EAC9D,CAACT,EAAY,OAAO,GAAG;AAAA;AAAA,IAErB;AAAA,IACA;AAAA;AAAA,IAGA;AAAA,IACA;AAAA;AAAA,IAGA;AAAA,IACA;AAAA,IAEA;AAAA,IACA;AAAA,EACF;AAAA,EAEA,CAACA,EAAY,SAAS,GAAG;AAAA;AAAA,IAEvB;AAAA,IACA;AAAA;AAAA,IAGA;AAAA,IACA;AAAA;AAAA,IAGA;AAAA,IACA;AAAA,IAEA;AAAA,IACA;AAAA,EACF;AACF,GAEaU,IAAiC;AAAA;AAAA,EAE5C;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AACF,GAEaC,IAA4D;AAAA,EACvE,CAACX,EAAY,OAAO,GAAG;AAAA;AAAA,IAErB;AAAA,IACA;AAAA;AAAA,IAGA;AAAA,IACA;AAAA;AAAA,IAGA;AAAA,IACA;AAAA,EACF;AAAA,EAEA,CAACA,EAAY,SAAS,GAAG;AAAA;AAAA,IAEvB;AAAA,IACA;AAAA;AAAA,IAGA;AAAA,IACA;AAAA;AAAA,IAGA;AAAA,IACA;AAAA,EACF;AACF,GAEaY,IAAwB;AAAA;AAAA,EAEnC;AACF,GAEaC,IAA+D;AAAA,EAC1E,CAACZ,EAAkB,UAAU,GAAG;AAAA;AAAA,IAE9B;AAAA;AAAA,IAGA;AAAA,EACF;AAAA,EAEA,CAACA,EAAkB,kBAAkB,GAAG;AAAA;AAAA,IAEtC;AAAA;AAAA,IAGA;AAAA,EACF;AAAA,EAEA,CAACA,EAAkB,QAAQ,GAAG;AAAA;AAAA,IAE5B;AAAA;AAAA,IAGA;AAAA,EACF;AAAA,EAEA,CAACA,EAAkB,gBAAgB,GAAG;AAAA;AAAA,IAEpC;AAAA;AAAA,IAGA;AAAA,EACF;AACF,GAEaa,IAA4B;AAAA;AAAA,EAEvC;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AACF,GAEaC,KAAmE;AAAA,EAC9E,CAACd,EAAkB,UAAU,GAAG;AAAA;AAAA,IAE9B;AAAA,IACA;AAAA,EACF;AAAA,EAEA,CAACA,EAAkB,kBAAkB,GAAG;AAAA;AAAA,IAEtC;AAAA,IACA;AAAA,EACF;AAAA,EAEA,CAACA,EAAkB,QAAQ,GAAG;AAAA;AAAA,IAE5B;AAAA,IACA;AAAA,EACF;AAAA,EAEA,CAACA,EAAkB,gBAAgB,GAAG;AAAA;AAAA,IAEpC;AAAA,IACA;AAAA,EACF;AACF,GC1OAe,KAAeC,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,IACV,WAAAC;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,OAAO;AAAA,EACT;AAAA,EAEA,OAAO;AAAA,IACL,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS,MAAM,CAAC;AAAA,IAClB;AAAA,IAEA,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS,MAAMlB,EAAY;AAAA,IAC7B;AAAA,IAEA,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS,MAAMC,EAAkB;AAAA,IACnC;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,MAAMkB,GAAOC,GAAS;AAEpB,UAAMC,IAAOC,KAEPC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAGC;AAAAA,MACH,GAAGC,EAA0BP,EAAM,WAAW;AAAA,IAAA,CAC/C,GAEKQ,IAAOL,KAEPM,IAAaJ,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAGK;AAAAA,MACH,GAAGC,EAA8BX,EAAM,WAAW;AAAA,IAAA,CACnD,GAEKY,IAAcP,EAAS,MAAM;AAAA,MACjC,GAAGQ;AAAAA,MACH,GAAGC,EAAyBd,EAAM,KAAK;AAAA,IAAA,CACxC,GAGKe,IAAoBV,EAAS,MAAM;AACvC,cAAQL,EAAM,aAAa;AAAA,QACzB,KAAKlB,EAAkB;AAAA,QACvB,KAAKA,EAAkB;AACrB,iBAAO,EAAE,OAAO,GAAGkC,EAAmB,QAAQ,GAAG;QAEnD,KAAKlC,EAAkB;AAAA,QACvB,KAAKA,EAAkB;AACrB,iBAAO,EAAE,QAAQ,GAAGkC,EAAmB,QAAQ,GAAG;MACtD;AAAA,IAAA,CACD,GAEKC,IAAQd,KAERe,IAAcb,EAAS,MAAM;AAAA,MACjC;AAAA,MACA,GAAGc;AAAAA,MACH,GAAGC,EAAyBpB,EAAM,KAAK;AAAA,MACvC;AAAA;AAAA,IAAA,CACD,GAEKqB,IAAuBhB,EAAS,MAAM;AAAA,MAC1C,GAAGiB;AAAAA,MACH,GAAGC,EAAkCvB,EAAM,KAAK;AAAA,IAAA,CACjD,GAEKwB,IAAcnB,EAAS,MAAM;AAAA,MACjC,GAAGoB;AAAAA,MACH,GAAGC,EAA+B1B,EAAM,WAAW;AAAA,IAAA,CACpD,GAEK2B,IAAkBtB,EAAS,MAAM;AAAA,MACrC,GAAGuB;AAAAA,MACH,GAAGC,GAAmC7B,EAAM,WAAW;AAAA,IAAA,CACxD,GAGK8B,IAAkBC,EAAmBC,EAAMhC,GAAO,YAAY,GAAGC,EAAQ,MAAM;AAAA,MACnF,cAAc+B,EAAMhC,GAAO,UAAU;AAAA,IAAA,CACtC,GAEKgB,IAAqBX,EAAS;AAAA,MAClC,KAAK,OAAOyB,EAAgB,QAAQ9B,EAAM,aAAaA,EAAM,WAAWA,EAAM;AAAA,MAE9E,KAAK,CAACiC,MAAU;AACd,cAAMC,IAAaD,KAASjC,EAAM,WAAWA,EAAM,YAAYA,EAAM;AAErE,QAAA8B,EAAgB,QAAQK,EAAoB,MAAM,OAAO,CAACC,GAAGC,MACpD,KAAK,IAAID,IAAIF,CAAU,IAAI,KAAK,IAAIG,IAAIH,CAAU,IAAIE,IAAIC,CAClE;AAAA,MACH;AAAA,IAAA,CACD,GAEKF,IAAsB9B,EAAS,MAC9BL,EAAM,OAIJ,MAAM,KAAK,KAAK,KAAK,IAAIA,EAAM,WAAWA,EAAM,QAAQ,IAAIA,EAAM,IAAI,CAAC,EAC3E,KAAK,MAAS,EACd,IAAI,CAACiC,GAAOK,MAAU,KAAK,OAAOtC,EAAM,WAAWA,EAAM,OAAOsC,KAAS,GAAI,IAAI,GAAI,EACrF,OAAO,GAAGtC,EAAM,aAAaA,EAAM,QAAQ,EAC3C,KAAK,CAACoC,GAAGC,MAAMD,IAAIC,CAAC,IAPd,CAACrC,EAAM,UAAU,GAAGA,EAAM,aAAaA,EAAM,QAAQ,CAQ/D,GAGKuC,IAAmBlC,EAAS,MAAM;AACtC,cAAQL,EAAM,aAAa;AAAA,QACzB,KAAKlB,EAAkB;AAAA,QACvB,KAAKA,EAAkB;AACd,iBAAA;AAAA,QAET,KAAKA,EAAkB;AAAA,QACvB,KAAKA,EAAkB;AACd,iBAAA;AAAA,MACX;AAAA,IAAA,CACD,GAEK0D,IAAwBrC,KAExBsC,IAAkBC,EAAmBlC,CAAI;AAGtC,aAAAmC,EAAOC,GAAoBC,GAAwC;AAC1E,UAAI7C,EAAM;AACR;AAGI,YAAA8C,IAAaL,EAAgB,MAAM,OACnCM,IAAcN,EAAgB,OAAO;AAE3C,cAAQzC,EAAM,aAAa;AAAA,QACzB,KAAKlB,EAAkB;AACF,UAAAkC,EAAA,QAAQgC,EAAMH,EAAM,UAAUJ,EAAgB,KAAK,OAAO,GAAGK,CAAU,IAAIA;AAC9F;AAAA,QAEF,KAAKhE,EAAkB;AACF,UAAAkC,EAAA,QAAQgC,EAAMP,EAAgB,MAAM,QAAQI,EAAM,SAAS,GAAGC,CAAU,IAAIA;AAC/F;AAAA,QAEF,KAAKhE,EAAkB;AACF,UAAAkC,EAAA,QAAQgC,EAAMD,KAAeF,EAAM,UAAUJ,EAAgB,IAAI,QAAQ,GAAGM,CAAW,IAAIA;AAC9G;AAAA,QAEF,KAAKjE,EAAkB;AACF,UAAAkC,EAAA,QAAQgC,EAAMD,KAAeN,EAAgB,OAAO,QAAQI,EAAM,UAAU,GAAGE,CAAW,IAAIA;AACjH;AAAA,MACJ;AAAA,IACF;AAGA,aAASE,EAAgCC,GAA8D;AACrG,cAAQlD,EAAM,aAAa;AAAA,QACzB,KAAKlB,EAAkB;AACrB,iBAAO,EAAE,MAAM,GAAGqE,EAAoBD,CAAU,IAAI,GAAG;QAEzD,KAAKpE,EAAkB;AACrB,iBAAO,EAAE,OAAO,GAAGqE,EAAoBD,CAAU,IAAI,GAAG;QAE1D,KAAKpE,EAAkB;AACrB,iBAAO,EAAE,QAAQ,GAAGqE,EAAoBD,CAAU,IAAI,GAAG;QAE3D,KAAKpE,EAAkB;AACrB,iBAAO,EAAE,KAAK,GAAGqE,EAAoBD,CAAU,IAAI,GAAG;MAC1D;AAAA,IACF;AAGA,aAASC,EAAoBD,GAA4B;AACvD,cAAQA,IAAalD,EAAM,aAAaA,EAAM,WAAWA,EAAM;AAAA,IACjE;AAGM,UAAAoD,IAAaC,EAAgB7C,CAAI,GAEjC,EAAE,YAAA8C,EAAA,IAAeC,EAAa/C,GAAM;AAAA,MACxC,SAASmC;AAAA,MACT,QAAQA;AAAA,MACR,OAAOA;AAAA,IAAA,CACR;AAGD,WAAAa,EAAM,MAAMxD,EAAM,UAAU,CAACiC,MAAU;AACjC,UAAAA,KAASjC,EAAM;AACX,cAAA,IAAI,MAAM,wDAAwD;AAAA,IAC1E,GACC,EAAE,WAAW,GAAA,CAAM,GAEtBwD,EAAM,MAAMxD,EAAM,UAAU,CAACiC,MAAU;AACjC,UAAAA,KAASjC,EAAM;AACX,cAAA,IAAI,MAAM,yDAAyD;AAAA,IAC3E,GACC,EAAE,WAAW,GAAA,CAAM,GAEf;AAAA,MACL,MAAAE;AAAA,MACA,YAAAE;AAAA,MAEA,MAAAI;AAAA,MACA,YAAAC;AAAA,MAEA,aAAAG;AAAA,MACA,mBAAAG;AAAA,MAEA,OAAAE;AAAA,MACA,aAAAC;AAAA,MAEA,sBAAAG;AAAA,MAEA,aAAAG;AAAA,MACA,iBAAAG;AAAA,MAEA,iBAAAG;AAAA,MACA,kBAAAS;AAAA,MACA,uBAAAC;AAAA,MAEA,iCAAAS;AAAA,MAEA,YAAAG;AAAA,MACA,YAAAE;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OrStatus-D4QIuE7R.mjs","sources":["../../../components/or-status-v3/src/props.ts","../../../components/or-status-v3/src/styles.ts","../../../components/or-status-v3/src/OrStatus.vue"],"sourcesContent":["export enum StatusVariant {\n Neutral = 'neutral',\n Disabled = 'disabled',\n Success = 'success',\n Warning = 'warning',\n Error = 'error',\n}\n\nexport enum StatusSize {\n M = 'm',\n S = 's',\n}\n","import { StatusSize, StatusVariant } from './props';\n\nexport const Status: string[] = [\n // Layout\n 'layout-inline-row',\n\n // Spacing\n 'gap-sm',\n];\n\nexport const StatusVariants: Record<StatusVariant, string[]> = {\n [StatusVariant.Neutral]: [\n // Theme\n 'theme-foreground-primary',\n 'dark:theme-foreground-primary-dark',\n ],\n\n [StatusVariant.Disabled]: [\n // Theme\n 'theme-foreground-outline',\n 'dark:theme-foreground-outline-dark',\n ],\n\n [StatusVariant.Success]: [\n // Theme\n 'theme-foreground-success',\n 'dark:theme-foreground-success-dark',\n ],\n\n [StatusVariant.Warning]: [\n // Theme\n 'theme-foreground-warning',\n 'dark:theme-foreground-warning-dark',\n ],\n\n [StatusVariant.Error]: [\n // Theme\n 'theme-foreground-error',\n 'dark:theme-foreground-error-dark',\n ],\n};\n\nexport const StatusSizes: Record<StatusSize, string[]> = {\n [StatusSize.M]: [\n // Typography\n 'typography-body-2-regular',\n ],\n\n [StatusSize.S]: [\n // Typography\n 'typography-caption-regular',\n ],\n};\n\nexport const StatusTimestamp: string[] = [\n // Layout\n 'shrink-0',\n\n // Theme\n 'theme-foreground-outline',\n 'dark:theme-foreground-outline-dark',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <OrIndicator v-bind=\"indicatorProps\" />\n\n <span :class=\"['truncate']\">\n <slot />\n </span>\n\n <template v-if=\"timestamp\">\n <span :class=\"timestampStyles\">\n ({{ formatTimeAgo(timestamp) }})\n </span>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { formatTimeAgo } from '@vueuse/core';\nimport { computed, defineComponent, PropType, ref } from 'vue';\nimport { StatusSize, StatusVariant } from './props';\nimport { Status, StatusSizes, StatusTimestamp, StatusVariants } from './styles';\nimport { IndicatorColor, IndicatorSize, OrIndicatorV3 as OrIndicator } from '@onereach/ui-components.or-indicator-v3';\n\nexport default defineComponent({\n name: 'OrStatus',\n\n components: {\n OrIndicator,\n },\n\n props: {\n variant: {\n type: String as PropType<`${StatusVariant}`>,\n default: () => StatusVariant.Neutral,\n },\n\n size: {\n type: String as PropType<`${StatusSize}`>,\n default: () => StatusSize.M,\n },\n\n timestamp: {\n type: Date,\n default: undefined,\n },\n },\n\n expose: [\n 'root',\n ],\n\n setup(props) {\n // Refs\n const root = ref<HTMLElement>();\n\n // Styles\n const rootStyles = computed(() => [\n 'or-status-v3',\n ...Status,\n ...StatusVariants[props.variant],\n ...StatusSizes[props.size],\n ]);\n\n const timestampStyles = computed(() => [\n ...StatusTimestamp,\n ]);\n\n const indicatorProps = computed(() => {\n let color: IndicatorColor;\n switch (props.variant) {\n case StatusVariant.Error:\n color = IndicatorColor.Error;\n break;\n case StatusVariant.Success:\n color = IndicatorColor.Success;\n break;\n case StatusVariant.Warning:\n color = IndicatorColor.Warning;\n break;\n case StatusVariant.Disabled:\n color = IndicatorColor.Outline;\n break;\n default:\n color = IndicatorColor.Neutral;\n }\n\n return {\n size: IndicatorSize.S,\n color,\n };\n });\n\n return {\n root,\n rootStyles,\n indicatorProps,\n timestampStyles,\n formatTimeAgo,\n };\n },\n});\n</script>\n"],"names":["StatusVariant","StatusSize","Status","StatusVariants","StatusSizes","StatusTimestamp","_sfc_main","defineComponent","OrIndicator","props","root","ref","rootStyles","computed","timestampStyles","indicatorProps","color","IndicatorColor","IndicatorSize","formatTimeAgo","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_ctx","_createVNode","_component_OrIndicator","_normalizeProps","_guardReactiveProps","_createElementVNode","_hoisted_1","_renderSlot"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OrSwitch-BkAgqeim.mjs","sources":["../../../components/or-switch-v3/src/styles.ts","../../../components/or-switch-v3/src/OrSwitch.vue"],"sourcesContent":["export const Switch: string[] = [\n // Layout\n 'layout-row',\n\n // Spacing\n 'gap-sm',\n];\n\nexport const SwitchControl: string[] = [\n // Layout\n 'layout-inline-row justify-start checked:justify-end',\n\n // Interactivity\n 'interactivity-click',\n\n // Shape\n 'rounded-full',\n\n // Box\n 'w-[43px] md:w-[37px]',\n 'h-[24px] md:h-[21px]',\n\n // Spacing\n 'px-[2px]',\n 'active:px-[1px]',\n\n // Spacing (checked)\n 'checked:px-[3px]',\n 'active:checked:px-[2px]',\n\n // Theme\n 'theme-preset-3-primary',\n 'dark:theme-preset-3-primary-dark',\n\n 'theme-background-default',\n 'dark:theme-background-default-dark',\n\n 'theme-border-outline border-1',\n 'dark:theme-border-outline-dark',\n\n // Theme (focus)\n 'focus-visible:theme-outline-primary focus-visible:outline-2',\n 'dark:focus-visible:theme-outline-primary-dark',\n\n // Theme (checked)\n 'checked:theme-preset-1-primary',\n 'dark:checked:theme-preset-1-primary-dark',\n];\n\nexport const SwitchControlHandle: string[] = [\n // Box\n 'after:w-[18px] after:md:w-[16px]',\n 'after:h-[18px] after:md:h-[16px]',\n\n // Shape\n 'after:rounded-full',\n\n // Theme\n 'after:active:w-[20px] after:active:md:w-[18px]',\n 'after:active:h-[20px] after:active:md:h-[18px]',\n\n 'after:bg-outline',\n 'after:dark:bg-outline-dark',\n\n 'after:hover:bg-on-surface-variant',\n 'after:hover:dark:bg-on-surface-variant-dark',\n\n 'after:focus-visible:bg-on-surface-variant',\n 'after:focus-visible:dark:bg-on-surface-variant-dark',\n\n 'after:active:bg-outline',\n 'after:active:dark:bg-outline-dark',\n\n 'after:disabled:bg-on-disabled',\n 'after:disabled:dark:bg-on-disabled-dark',\n\n 'after:checked:bg-on-primary',\n 'after:checked:dark:bg-on-primary-dark',\n\n 'after:checked:shadow',\n\n 'after:checked:hover:bg-primary-container',\n 'after:checked:hover:dark:bg-primary-container-dark',\n\n 'after:checked:focus-visible:bg-primary-container',\n 'after:checked:focus-visible:dark:bg-primary-container-dark',\n\n 'after:checked:active:bg-on-primary',\n 'after:checked:active:dark:bg-on-primary-dark',\n\n 'after:checked:disabled:bg-on-disabled',\n 'after:checked:disabled:dark:bg-on-disabled-dark',\n];\n\nexport const SwitchLoader: string[] = [\n // Layout\n 'layout-row justify-center',\n\n // Box\n 'w-[24px] md:w-[20px]',\n 'h-[24px] md:h-[20px]',\n\n // Shape\n 'rounded-full',\n\n // Theme\n 'theme-border-outline border-1',\n 'dark:theme-border-outline-dark',\n];\n\nexport const SwitchLoaderHandle: string[] = [\n // Layout\n 'after:absolute',\n\n // Box\n 'after:w-[18px] after:md:w-[14px]',\n 'after:h-[18px] after:md:h-[14px]',\n\n // Shape\n 'after:rounded-full',\n\n // Theme\n 'after:bg-outline',\n 'dark:after:bg-outline-dark',\n\n 'after:disabled:bg-on-disabled',\n 'dark:after:disabled:bg-on-disabled-dark',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <template v-if=\"!loading\">\n <input\n :ref=\"'control'\"\n v-bind=\"attributes\"\n :class=\"controlStyles\"\n :type=\"'checkbox'\"\n :checked=\"checked\"\n :required=\"required\"\n :disabled=\"disabled\"\n @change=\"$emit('change', $event); onChange()\"\n @click=\"$emit('click', $event)\"\n @focus=\"$emit('focus', $event)\"\n @blur=\"$emit('blur', $event)\"\n >\n </template>\n\n <template v-else>\n <div\n :class=\"loaderStyles\"\n :disabled=\"disabled\"\n >\n <OrLoader\n :variant=\"'circular'\"\n :color=\"'primary'\"\n :size=\"'m'\"\n />\n </div>\n </template>\n\n <template v-if=\"$slots.default || label\">\n <OrLabel\n :control-id=\"attributes.id\"\n :variant=\"labelVariant\"\n :selected=\"checked\"\n :required=\"required\"\n :disabled=\"disabled\"\n >\n <slot>{{ label }}</slot>\n\n <template v-slot:addon>\n <slot name=\"addon\" />\n </template>\n </OrLabel>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { PropType, computed, defineComponent, reactive, ref, toRef } from 'vue';\nimport { useControlAttributes, useIdAttribute, useProxyModelValue } from '@onereach/ui-components-common/hooks';\nimport { exclude, include, isArray, isUndefined } from '@onereach/ui-components-common/utils';\nimport { LabelVariant, OrLabelV3 as OrLabel } from '@onereach/ui-components.or-label-v3';\nimport { OrLoaderV3 as OrLoader } from '@onereach/ui-components.or-loader-v3';\nimport { Switch, SwitchControl, SwitchControlHandle, SwitchLoader, SwitchLoaderHandle } from './styles';\nimport { SwitchModelValue, SwitchValue } from './types';\n\nexport default defineComponent({\n name: 'OrSwitch',\n\n components: {\n OrLabel,\n OrLoader,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: undefined as unknown as PropType<SwitchModelValue>,\n default: undefined,\n },\n\n value: {\n type: undefined as unknown as PropType<SwitchValue>,\n default: undefined,\n },\n\n label: {\n type: String,\n default: undefined,\n },\n\n labelVariant: {\n type: String as PropType<`${LabelVariant}`>,\n default: () => LabelVariant.Toggle,\n },\n\n loading: {\n type: Boolean,\n default: false,\n },\n\n required: {\n type: Boolean,\n default: false,\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n 'update:modelValue',\n\n 'change',\n 'click',\n 'focus',\n 'blur',\n ],\n\n expose: [\n 'root',\n\n 'focus',\n 'blur',\n ],\n\n setup(props, context) {\n const attributes = reactive({\n id: useIdAttribute(),\n ...useControlAttributes(),\n });\n\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-switch-v3',\n ...Switch,\n ]);\n\n const control = ref<HTMLElement>();\n\n const controlStyles = computed(() => [\n ...SwitchControl,\n ...SwitchControlHandle,\n ]);\n\n const loaderStyles = computed(() => [\n ...SwitchLoader,\n ...SwitchLoaderHandle,\n ]);\n\n // State\n const model = useProxyModelValue(toRef(props, 'modelValue'), context.emit);\n\n const checked = computed(() => {\n if (isArray(model.value)) {\n if (isUndefined(props.value)) {\n throw new Error('[OrSwitch]: `value` must be specified.');\n }\n\n return model.value.includes(props.value);\n }\n\n return Boolean(model.value);\n });\n\n // Handlers\n function onChange(): void {\n if (isArray(model.value)) {\n if (isUndefined(props.value)) {\n throw new Error('[OrSwitch]: `value` must be specified.');\n }\n\n if (!checked.value) {\n model.value = include(props.value, model.value);\n } else {\n model.value = exclude(props.value, model.value);\n }\n } else {\n model.value = !model.value;\n }\n }\n\n // Methods\n function focus(): void {\n control.value?.focus();\n }\n\n function blur(): void {\n control.value?.blur();\n }\n\n return {\n attributes,\n\n root,\n rootStyles,\n\n control,\n controlStyles,\n\n loaderStyles,\n\n checked,\n\n onChange,\n\n focus,\n blur,\n };\n },\n});\n</script>\n\n<style scoped>\ninput {\n line-height: 0;\n appearance: none;\n}\n</style>\n"],"names":["Switch","SwitchControl","SwitchControlHandle","SwitchLoader","SwitchLoaderHandle","_sfc_main","defineComponent","OrLabel","OrLoader","LabelVariant","props","context","attributes","reactive","useIdAttribute","useControlAttributes","root","ref","rootStyles","computed","control","controlStyles","loaderStyles","model","useProxyModelValue","toRef","checked","isArray","isUndefined","onChange","exclude","include","focus","_a","blur","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_ctx","_component_OrLoader","_hoisted_2","_mergeProps","_cache","$event","_hoisted_1","_createBlock","_component_OrLabel","_renderSlot"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OrTabs-BCIxFSeW.mjs","sources":["../../../components/or-tabs-v3/src/props.ts","../../../components/or-tabs-v3/src/styles.ts","../../../components/or-tabs-v3/src/OrTabs.vue"],"sourcesContent":["export enum TabsVariant {\n Default = 'default',\n Fitted = 'fitted',\n}\n\nexport enum TabsSpacing {\n MD = 'md',\n LG = 'lg',\n XL = 'xl',\n}\n","import { TabsVariant, TabsSpacing } from './props';\n\nexport const TabsContainer: string[] = [\n // Layout\n 'layout-column',\n 'grow',\n\n // Box\n 'h-full',\n];\n\nexport const TabsContainerSpacings: Record<TabsSpacing, string[]> = {\n [TabsSpacing.MD]: [\n // Spacing\n 'gap-md',\n ],\n [TabsSpacing.LG]: [\n // Spacing\n 'gap-lg',\n ],\n [TabsSpacing.XL]: [\n // Spacing\n 'gap-xl',\n ],\n};\n\nexport const Tabs: string[] = [\n // Layout\n 'grid grid-flow-col items-center shrink-0',\n\n // Theme\n 'theme-border-outline border-b-1',\n 'dark:theme-border-outline',\n];\n\nexport const TabsVariants: Record<TabsVariant, string[]> = {\n 'default': [\n // Layout\n 'auto-cols-max',\n\n // Spacing\n 'gap-lg',\n ],\n\n 'fitted': [\n // Layout\n 'auto-cols-auto',\n\n // Spacing (children)\n 'children:px-lg',\n ],\n};\n\nexport const TabsContent: string[] = [\n // Layout\n 'layout-column',\n 'grow',\n\n // Box\n 'h-full',\n\n // Overflow\n 'overflow-auto',\n];\n","<template>\n <div :class=\"containerStyles\">\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <OrTab\n v-for=\"tab in tabs.normal\"\n :key=\"tab.value\"\n :selected=\"tab.value === proxyModelValue\"\n :invalid=\"tab.invalid\"\n :disabled=\"tab.disabled\"\n @click.stop=\"selectTab(tab)\"\n >\n <slot\n name=\"tab\"\n :tab=\"tab\"\n :active-tab=\"activeTab\"\n >\n {{ tab.label }}\n </slot>\n </OrTab>\n\n <template v-if=\"tabs.hidden.length > 0\">\n <OrTab\n :ref=\"'overflowTab'\"\n @click.stop=\"overflowMenu && overflowMenu.toggle()\"\n >\n <OrIcon\n :icon=\"'more_horiz'\"\n :variant=\"'filled-bold'\"\n />\n </OrTab>\n\n <OrMenu\n :ref=\"'overflowMenu'\"\n :trigger=\"overflowTabRoot\"\n >\n <OrMenuItem\n v-for=\"tab in tabs.hidden\"\n :key=\"tab.value\"\n :disabled=\"tab.disabled\"\n @click.stop=\"selectTab(tab); overflowMenu && overflowMenu.close()\"\n >\n {{ tab.label }}\n </OrMenuItem>\n </OrMenu>\n </template>\n </div>\n\n <div :class=\"contentStyles\">\n <template v-for=\"tab in items\">\n <div\n v-if=\"isTabRendered(tab.value)\"\n v-show=\"String(proxyModelValue) === String(tab.value)\"\n :key=\"tab.value\"\n class=\"contents\"\n >\n <slot :name=\"String(tab.value)\" />\n </div>\n </template>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { useResizeObserver } from '@vueuse/core';\nimport { PropType, computed, defineComponent, nextTick, onMounted, reactive, ref, toRef, watch } from 'vue';\nimport { useProxyModelValue } from '@onereach/ui-components-common/hooks';\nimport { OrIconV3 as OrIcon } from '@onereach/ui-components.or-icon-v3';\nimport { OrMenuItemV3 as OrMenuItem } from '@onereach/ui-components.or-menu-item-v3';\nimport { OrMenuV3 as OrMenu } from '@onereach/ui-components.or-menu-v3';\nimport { OrTabV3 as OrTab } from '@onereach/ui-components.or-tab-v3';\nimport { TabsVariant, TabsSpacing } from './props';\nimport * as Styles from './styles';\nimport { EditorTabsItem } from './types';\n\nexport default defineComponent({\n name: 'OrTabs',\n\n components: {\n OrIcon,\n OrMenu,\n OrMenuItem,\n OrTab,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: [String, Number],\n default: undefined,\n },\n\n items: {\n type: Array as PropType<EditorTabsItem[]>,\n required: true,\n },\n\n spacing: {\n type: String as PropType<`${TabsSpacing}`>,\n default: TabsSpacing.LG,\n },\n\n variant: {\n type: String as PropType<`${TabsVariant}`>,\n default: () => TabsVariant.Default,\n },\n\n keepAlive: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n 'update:modelValue',\n ],\n\n expose: [\n 'root',\n ],\n\n setup(props, context) {\n // Refs\n const root = ref<HTMLElement>();\n\n const overflowTab = ref<InstanceType<typeof OrTab>>();\n const overflowTabRoot = computed(() => overflowTab.value?.root);\n\n const overflowMenu = ref<InstanceType<typeof OrMenu>>();\n const overflowMenuRoot = computed(() => overflowMenu.value?.root);\n\n // Styles\n const containerStyles = computed(() => [\n ...Styles.TabsContainer,\n ...Styles.TabsContainerSpacings[props.spacing],\n ]);\n\n const rootStyles = computed(() => [\n 'or-tabs-v3',\n ...Styles.Tabs,\n ...Styles.TabsVariants[props.variant],\n ]);\n\n const contentStyles = computed(() => [\n ...Styles.TabsContent,\n ]);\n\n // State\n const tabs = reactive({\n normal: [] as EditorTabsItem[],\n hidden: [] as EditorTabsItem[],\n });\n\n const proxyModelValue = useProxyModelValue(toRef(props, 'modelValue'), context.emit);\n\n const activeTab = computed(() => props.items.find(({ value }) => value === proxyModelValue.value)!);\n\n // Methods\n function selectTab(tab: EditorTabsItem): void {\n if (!tab.disabled) {\n proxyModelValue.value = tab.value;\n }\n }\n\n function rearrangeTabs(items: EditorTabsItem[], activeTab: EditorTabsItem, rootElement: Element): typeof tabs {\n const { children } = rootElement;\n\n const nextNormalTabs: EditorTabsItem[] = [...items];\n const nextHiddenTabs: EditorTabsItem[] = [];\n\n let currentWidth = rootElement.scrollWidth;\n\n [...children].reverse().forEach((element) => {\n if (currentWidth > rootElement.clientWidth) {\n nextHiddenTabs.unshift(nextNormalTabs.pop()!);\n currentWidth -= element.clientWidth + (props.variant === TabsVariant.Default ? 16 : 0);\n }\n });\n\n if (nextHiddenTabs.includes(activeTab)) {\n nextHiddenTabs.unshift(nextNormalTabs.pop()!);\n nextNormalTabs.push(...nextHiddenTabs.splice(nextHiddenTabs.indexOf(activeTab), 1));\n }\n\n return {\n normal: nextNormalTabs,\n hidden: nextHiddenTabs,\n };\n }\n\n function isTabRendered(value: string|number): boolean {\n return props.keepAlive || proxyModelValue.value === value;\n }\n\n // Effects\n watch([\n () => props.items,\n activeTab,\n root,\n ], ([\n items,\n activeTab,\n rootElement,\n ]) => {\n tabs.normal = items;\n\n nextTick(() => {\n Object.assign(tabs, rearrangeTabs(items, activeTab, rootElement!));\n });\n });\n\n // #region Resize\n useResizeObserver(root, () => {\n tabs.normal = props.items;\n\n nextTick(() => {\n Object.assign(tabs, rearrangeTabs(props.items, activeTab.value, root.value!));\n });\n });\n // #endregion\n\n onMounted(() => {\n if (!proxyModelValue.value) {\n proxyModelValue.value = props.items[0]?.value;\n }\n });\n\n return {\n root,\n overflowTab,\n overflowTabRoot,\n overflowMenu,\n overflowMenuRoot,\n containerStyles,\n rootStyles,\n contentStyles,\n tabs,\n proxyModelValue,\n activeTab,\n selectTab,\n isTabRendered,\n };\n },\n});\n</script>\n"],"names":["TabsVariant","TabsSpacing","TabsContainer","TabsContainerSpacings","Tabs","TabsVariants","TabsContent","_sfc_main","defineComponent","OrIcon","OrMenu","OrMenuItem","OrTab","props","context","root","ref","overflowTab","overflowTabRoot","computed","_a","overflowMenu","overflowMenuRoot","containerStyles","Styles.TabsContainer","Styles.TabsContainerSpacings","rootStyles","Styles.Tabs","Styles.TabsVariants","contentStyles","Styles.TabsContent","tabs","reactive","proxyModelValue","useProxyModelValue","toRef","activeTab","value","selectTab","tab","rearrangeTabs","items","rootElement","children","nextNormalTabs","nextHiddenTabs","currentWidth","element","isTabRendered","watch","nextTick","useResizeObserver","onMounted","_resolveComponent","_normalizeClass","_ctx","_openBlock","_createElementBlock","_Fragment","_renderList","_createBlock","_component_OrTab","_withModifiers","$event","_withCtx","_renderSlot","_createVNode","_cache","_component_OrIcon","_component_OrMenu","_component_OrMenuItem","_createCommentVNode","_createElementVNode"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OrTags-CREF3BTr.mjs","sources":["../../../components/or-tags-v3/src/props.ts","../../../components/or-tags-v3/src/styles.ts","../../../components/or-tags-v3/src/utils/castToTag.ts","../../../components/or-tags-v3/src/OrTags.vue"],"sourcesContent":["export enum TagsOverflow {\n Wrap = 'wrap',\n Scroll = 'scroll',\n Hidden = 'hidden',\n}\n","import { TagsOverflow } from './props';\n\nexport const Tags: string[] = [\n // Layout\n 'layout-row',\n\n // Overflow\n 'overflow-hidden',\n\n // Spacing\n 'gap-sm',\n\n // Theme\n 'theme-foreground-default',\n 'dark:theme-foreground-default-dark',\n];\n\nexport const TagsContainer: string[] = [\n // Layout\n 'layout-row',\n 'max-w-full',\n\n // Spacing\n 'gap-sm',\n 'py-xs',\n];\n\nexport const TagsContainerOverflows: Record<TagsOverflow, string[]> = {\n [TagsOverflow.Wrap]: [\n // Layout\n '!flex-wrap',\n ],\n\n [TagsOverflow.Scroll]: [\n // Layout\n 'overflow-y-auto',\n // todo: extract to plugin?\n '[&::-webkit-scrollbar]:hidden [-ms-overflow-style:\\'none\\'] [scrollbar-width:\\'none\\']',\n ],\n\n [TagsOverflow.Hidden]: [\n // Overflow\n 'overflow-hidden',\n ],\n};\n\nexport const TagsOverflowButton: string[] = [\n // Typography\n 'typography-caption-regular',\n];\n\nexport const TagsOverflowPopover: string[] = [\n // Layout\n 'layout-row !flex-wrap !content-start overflow-y-auto',\n\n // Box\n 'max-w-[192px] max-h-[340px]',\n\n // Spacing\n 'px-md',\n 'py-md',\n\n 'gap-sm',\n];\n","import { Tag, TagObject } from '../types';\nexport function castToTagObject(tag: Tag): TagObject {\n if (typeof tag === 'string') {\n return {\n label: tag,\n value: tag,\n };\n } else {\n return tag;\n }\n}\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <div\n v-if=\"localItems.length > 0\"\n :ref=\"'container'\"\n :class=\"containerStyles\"\n >\n <OrTag\n v-for=\"item in localItems\"\n v-bind=\"{ ...tagProps, ...item.tagProps }\"\n :key=\"item.value\"\n :class=\"['max-w-full']\"\n @reset=\"$emit('reset', item.value)\"\n >\n <slot\n name=\"tag\"\n :item=\"item\"\n >\n {{ item.label }}\n </slot>\n </OrTag>\n\n <slot\n v-if=\"overflow === 'wrap'\"\n name=\"tail\"\n />\n </div>\n\n <template v-if=\"overflow === 'hidden' && overflowItems.length > 0\">\n <OrButton\n :ref=\"'overflowButton'\"\n :class=\"overflowButtonStyles\"\n :type=\"'button'\"\n :variant=\"'link'\"\n :color=\"'inherit'\"\n :disabled=\"disabled\"\n @click.stop=\"togglePopover\"\n >\n +{{ overflowItems.length }}\n </OrButton>\n\n <OrPopover\n :ref=\"'overflowPopover'\"\n :class=\"popoverStyles\"\n :custom-styles=\"popoverStyles\"\n :trigger=\"overflowButtonRoot\"\n >\n <div :class=\"overflowPopoverStyles\">\n <OrTag\n v-for=\"item in overflowItems\"\n v-bind=\"{ ...tagProps, ...item.tagProps }\"\n :key=\"item.value\"\n @reset=\"$emit('reset', item.value)\"\n >\n <slot\n name=\"tag\"\n :item=\"item\"\n >\n {{ item.label }}\n </slot>\n </OrTag>\n </div>\n </OrPopover>\n </template>\n\n <slot\n v-if=\"overflow !== 'wrap' || items.length === 0\"\n name=\"tail\"\n />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { PropType, computed, defineComponent, nextTick, ref } from 'vue';\nimport { useOverflow } from '@onereach/ui-components-common/hooks';\nimport { OrButtonV3 as OrButton } from '@onereach/ui-components.or-button-v3';\nimport { OrPopoverV3 as OrPopover } from '@onereach/ui-components.or-popover-v3';\nimport { OrTagV3 as OrTag } from '@onereach/ui-components.or-tag-v3';\nimport { TagsOverflow } from './props';\nimport { Tags, TagsContainer, TagsContainerOverflows, TagsOverflowButton, TagsOverflowPopover } from './styles';\nimport { Tag } from './types';\nimport { castToTagObject } from './utils/castToTag';\n\nexport default defineComponent({\n name: 'OrTags',\n\n components: {\n OrButton,\n OrPopover,\n OrTag,\n },\n\n props: {\n items: {\n type: Array as PropType<Tag[]>,\n default: () => [],\n },\n\n overflow: {\n type: String as PropType<`${TagsOverflow}`>,\n default: () => TagsOverflow.Hidden,\n },\n\n tagProps: {\n type: Object as PropType<InstanceType<typeof OrTag>['$props']>,\n default: undefined,\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n 'click',\n 'focus',\n 'blur',\n\n 'reset',\n ],\n\n expose: [\n 'root',\n 'container',\n 'overflowPopover',\n 'scrollToEnd',\n ],\n\n setup(props) {\n // Refs\n const root = ref<HTMLElement>();\n const container = ref<HTMLElement>();\n\n // Props\n const overflowButton = ref<InstanceType<typeof OrButton>>();\n const overflowButtonRoot = computed(() => overflowButton.value?.root);\n\n const overflowPopover = ref<InstanceType<typeof OrPopover>>();\n const overflowPopoverRoot = computed(() => overflowPopover.value?.root);\n\n // Styles\n const rootStyles = computed(() => [\n 'or-tags-v3',\n ...Tags,\n ]);\n\n const popoverStyles = computed(() => [\n 'or-tags-popover-v3',\n ]);\n\n const containerStyles = computed(() => [\n ...TagsContainer,\n ...TagsContainerOverflows[props.overflow],\n ]);\n\n const overflowButtonStyles = computed(() => [\n ...TagsOverflowButton,\n ]);\n\n const overflowPopoverStyles = computed(() => [\n ...TagsOverflowPopover,\n ]);\n\n // State\n const { innerItems } = useOverflow(container, {\n hide: false,\n threshold: 8,\n });\n\n const localItems = computed(() => {\n return props.items.map(castToTagObject);\n });\n\n const overflowItems = computed(() => {\n return localItems.value.slice(innerItems.value.length);\n });\n\n // Methods\n function togglePopover() {\n (overflowPopover.value!.toggle as () => void)();\n }\n\n function scrollToEnd() {\n nextTick(() => {\n container.value?.scrollTo({\n left: container.value?.scrollWidth,\n behavior: 'smooth',\n });\n });\n }\n\n return {\n root,\n container,\n localItems,\n overflowButton,\n overflowButtonRoot,\n overflowPopover,\n overflowPopoverRoot,\n rootStyles,\n popoverStyles,\n containerStyles,\n overflowButtonStyles,\n overflowPopoverStyles,\n overflowItems,\n togglePopover,\n scrollToEnd,\n };\n },\n});\n</script>\n"],"names":["TagsOverflow","Tags","TagsContainer","TagsContainerOverflows","TagsOverflowButton","TagsOverflowPopover","castToTagObject","tag","_sfc_main","defineComponent","OrButton","OrPopover","OrTag","props","root","ref","container","overflowButton","overflowButtonRoot","computed","_a","overflowPopover","overflowPopoverRoot","rootStyles","popoverStyles","containerStyles","overflowButtonStyles","overflowPopoverStyles","innerItems","useOverflow","localItems","overflowItems","togglePopover","scrollToEnd","nextTick","_b","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_ctx","_Fragment","_renderList","item","_createBlock","_component_OrTag","_mergeProps","$event","_withCtx","_renderSlot","_createCommentVNode","_createVNode","_component_OrButton","_withModifiers","_component_OrPopover","_createElementVNode"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OrTextarea-zEjULE8W.mjs","sources":["../../../components/or-textarea-v3/src/styles.ts","../../../components/or-textarea-v3/src/OrTextarea.vue"],"sourcesContent":["import { InputBoxSize } from '@onereach/ui-components.or-input-box-v3';\n\nexport const Textarea: string[] = [\n // Layout\n 'layout-column',\n\n // Spacing\n 'gap-xs',\n];\n\nexport const TextareaControl: string[] = [\n // Box\n 'w-full',\n\n // Typography\n 'typography-inherit',\n\n // Theme (placeholder)\n 'placeholder:theme-foreground-outline',\n 'dark:placeholder:theme-foreground-outline-dark',\n];\n\nexport const TextareaControlSizes: Record<InputBoxSize, string[]> = {\n [InputBoxSize.M]: [\n // Spacing\n '!mx-0',\n\n 'px-md md:px-sm+',\n 'py-sm+* md:py-sm*',\n ],\n\n [InputBoxSize.S]: [\n // Spacing\n '!mx-0',\n\n 'px-md md:px-sm+',\n 'py-sm*',\n ],\n};\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <template v-if=\"$slots.label || $slots.addon || label\">\n <OrLabel\n :control-id=\"attributes.id\"\n :variant=\"'input'\"\n :required=\"required\"\n :disabled=\"disabled\"\n >\n <slot name=\"label\">\n {{ label }}\n </slot>\n\n <template v-slot:addon>\n <slot name=\"addon\" />\n </template>\n </OrLabel>\n </template>\n\n <OrInputBox\n :variant=\"variant\"\n :size=\"size\"\n :invalid=\"!!error\"\n :readonly=\"readonly\"\n :disabled=\"disabled\"\n >\n <textarea\n :ref=\"'control'\"\n v-bind=\"attributes\"\n v-model=\"model\"\n :class=\"controlStyles\"\n :style=\"controlInlineStyles\"\n :name=\"name\"\n :rows=\"rows\"\n :autocomplete=\"autocomplete\"\n :placeholder=\"placeholder\"\n :required=\"required\"\n :readonly=\"readonly\"\n :disabled=\"disabled\"\n @input=\"$emit('input', $event)\"\n @keydown=\"$emit('keydown', $event)\"\n @keyup=\"$emit('keyup', $event)\"\n @focus=\"$emit('focus', $event)\"\n @blur=\"$emit('blur', $event)\"\n />\n </OrInputBox>\n\n <template v-if=\"$slots.hint || hint || maxLength\">\n <OrHint\n v-show=\"!error\"\n :disabled=\"disabled\"\n >\n <slot name=\"hint\">\n {{ hint }}\n </slot>\n\n <template\n v-if=\"maxLength\"\n v-slot:addon\n >\n {{ length }} / {{ maxLength }}\n </template>\n </OrHint>\n </template>\n\n <OrError\n v-show=\"typeof error === 'string' && error.length > 0\"\n :disabled=\"disabled\"\n >\n {{ error }}\n\n <template\n v-if=\"maxLength\"\n v-slot:addon\n >\n {{ length }} / {{ maxLength }}\n </template>\n </OrError>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { useTextareaAutosize } from '@vueuse/core';\nimport { PropType, computed, defineComponent, reactive, ref, toRef } from 'vue';\nimport { useControlAttributes, useIdAttribute, useProxyModelValue, useValidationAttributes } from '@onereach/ui-components-common/hooks';\nimport { isObject } from '@onereach/ui-components-common/utils';\nimport { OrErrorV3 as OrError } from '@onereach/ui-components.or-error-v3';\nimport { OrHintV3 as OrHint } from '@onereach/ui-components.or-hint-v3';\nimport { InputBoxSize, InputBoxVariant, OrInputBoxV3 as OrInputBox } from '@onereach/ui-components.or-input-box-v3';\nimport { OrLabelV3 as OrLabel } from '@onereach/ui-components.or-label-v3';\nimport { Textarea, TextareaControl, TextareaControlSizes } from './styles';\nimport { TextareaModelValue, TextareaRows } from './types';\n\nexport default defineComponent({\n name: 'OrTextarea',\n\n components: {\n OrError,\n OrHint,\n OrInputBox,\n OrLabel,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: undefined as unknown as PropType<TextareaModelValue>,\n default: undefined,\n },\n\n name: {\n type: String,\n default: undefined,\n },\n\n autocomplete: {\n type: String,\n default: 'off',\n },\n\n variant: {\n type: String as PropType<`${InputBoxVariant}`>,\n default: undefined,\n },\n\n size: {\n type: String as PropType<`${InputBoxSize}`>,\n default: () => InputBoxSize.M,\n },\n\n rows: {\n type: [Number, Object] as PropType<TextareaRows>,\n default: 2,\n },\n\n label: {\n type: String,\n default: undefined,\n },\n\n placeholder: {\n type: String,\n default: undefined,\n },\n\n hint: {\n type: String,\n default: undefined,\n },\n\n error: {\n type: [String, Boolean],\n default: undefined,\n },\n\n required: {\n type: Boolean,\n default: false,\n },\n\n readonly: {\n type: Boolean,\n default: false,\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n 'update:modelValue',\n\n 'input',\n 'keydown',\n 'keyup',\n 'focus',\n 'blur',\n ],\n\n expose: [\n 'root',\n\n 'focus',\n 'blur',\n ],\n\n setup(props, context) {\n const attributes = reactive({\n id: useIdAttribute(),\n ...useControlAttributes(),\n ...useValidationAttributes(),\n });\n\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-textarea-v3',\n ...Textarea,\n ...props.variant === InputBoxVariant.Embedded ? ['grow'] : [],\n ]);\n\n const control = ref<HTMLTextAreaElement>();\n\n const controlStyles = computed(() => [\n ...TextareaControl,\n ...TextareaControlSizes[props.size],\n ...isObject(props.rows) ? ['resize-none'] : [],\n ]);\n\n const controlInlineStyles = computed(() => {\n if (control.value) {\n const paddingTop = Number(getComputedStyle(control.value).getPropertyValue('padding-top').match(/^(?<value>\\d+)px$/)?.groups?.value || 0);\n const paddingBottom = Number(getComputedStyle(control.value).getPropertyValue('padding-bottom').match(/^(?<value>\\d+)px$/)?.groups?.value || 0);\n\n const lineHeight = Number(getComputedStyle(control.value).getPropertyValue('line-height').match(/^(?<value>\\d+)px$/)?.groups?.value || 0);\n\n return {\n minHeight: `${paddingTop + paddingBottom + (isObject(props.rows) ? props.rows.min : props.rows) * lineHeight}px`,\n maxHeight: isObject(props.rows) && props.rows.max ? `${paddingTop + paddingBottom + props.rows.max * lineHeight}px` : undefined,\n };\n }\n\n return {};\n });\n\n // State\n const model = useProxyModelValue(toRef(props, 'modelValue'), context.emit, { defaultValue: ref('') });\n\n const length = computed(() => {\n return model.value?.toString().length ?? 0;\n });\n\n const maxLength = computed(() => {\n return attributes.maxlength;\n });\n\n // Methods\n function focus(): void {\n control.value?.focus();\n }\n\n function blur(): void {\n control.value?.blur();\n }\n\n // Effects\n if (isObject(props.rows)) {\n // Unluckily, `useTextareaAutosize` doesn't have a teardown function\n // So, dynamically changed `rows` won't have any effect\n useTextareaAutosize({\n element: control,\n input: model,\n });\n }\n\n return {\n attributes,\n\n root,\n rootStyles,\n\n control,\n controlStyles,\n controlInlineStyles,\n\n model,\n\n length,\n maxLength,\n\n focus,\n blur,\n };\n },\n});\n</script>\n\n<style scoped>\ntextarea {\n min-width: 0;\n background: none;\n outline: none;\n}\n</style>\n"],"names":["Textarea","TextareaControl","TextareaControlSizes","InputBoxSize","_sfc_main","defineComponent","OrError","OrHint","OrInputBox","OrLabel","props","context","attributes","reactive","useIdAttribute","useControlAttributes","useValidationAttributes","root","ref","rootStyles","computed","InputBoxVariant","control","controlStyles","isObject","controlInlineStyles","paddingTop","_b","_a","paddingBottom","_d","_c","lineHeight","_f","_e","model","useProxyModelValue","toRef","length","maxLength","focus","blur","useTextareaAutosize","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_ctx","_createBlock","_component_OrLabel","_renderSlot","_createCommentVNode","_createVNode","_component_OrInputBox","_createElementVNode","_mergeProps","_cache","$event","_hoisted_1","_withDirectives","_component_OrHint","_createSlots","_withCtx","_component_OrError"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OrTimeFormat-B2YLCb8H.mjs","sources":["../../../components/or-time-format-v3/src/styles.ts","../../../components/or-time-format-v3/src/OrTimeFormat.vue"],"sourcesContent":["export const TimeFormat: string[] = [\n // Layout\n 'inline',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <template v-if=\"modelValue\">\n {{ formatTime(modelValue, resolvedFormat, resolvedLocale) }}\n </template>\n\n <template v-else>\n {{ placeholder }}\n </template>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { PropType, computed, defineComponent, ref, toRef } from 'vue';\nimport { useLocale, useTimeFormat } from '@onereach/ui-components-common/hooks';\nimport { FormatFunction, TimeFormat } from '@onereach/ui-components-common/types';\nimport { DateTimePickerModelValue, formatTime } from '@onereach/ui-components.or-date-time-picker-v3';\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrTimeFormat',\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: undefined as unknown as PropType<DateTimePickerModelValue>,\n default: undefined,\n },\n\n format: {\n type: [String, Function] as PropType<`${TimeFormat}` | FormatFunction<DateTimePickerModelValue>>,\n default: undefined,\n },\n\n locale: {\n type: String,\n default: undefined,\n },\n\n placeholder: {\n type: String,\n default: undefined,\n },\n },\n\n expose: [\n 'root',\n ],\n\n setup(props) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-time-format-v3',\n ...Styles.TimeFormat,\n ]);\n\n // Options\n const resolvedFormat = useTimeFormat(toRef(props, 'format'));\n const resolvedLocale = useLocale(toRef(props, 'locale'));\n\n return {\n root,\n rootStyles,\n\n resolvedFormat,\n resolvedLocale,\n\n formatTime,\n };\n },\n});\n</script>\n"],"names":["TimeFormat","_sfc_main","defineComponent","props","root","ref","rootStyles","computed","Styles.TimeFormat","resolvedFormat","useTimeFormat","toRef","resolvedLocale","useLocale","formatTime","_sfc_render","_ctx","_cache","$props","$setup","$data","$options","_openBlock","_createElementBlock","_normalizeClass","_toDisplayString","_Fragment"],"mappings":";;;;;AAAO,MAAMA,IAAuB;AAAA;AAAA,EAElC;AACF,GCmBAC,IAAeC,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,OAAO;AAAA,IACL,MAAM;AAAA,IACN,OAAO;AAAA,EACT;AAAA,EAEA,OAAO;AAAA,IACL,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,QAAQ;AAAA,MACN,MAAM,CAAC,QAAQ,QAAQ;AAAA,MACvB,SAAS;AAAA,IACX;AAAA,IAEA,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,MAAMC,GAAO;AAEX,UAAMC,IAAOC,KAEPC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAGC;AAAAA,IAAO,CACX,GAGKC,IAAiBC,EAAcC,EAAMR,GAAO,QAAQ,CAAC,GACrDS,IAAiBC,EAAUF,EAAMR,GAAO,QAAQ,CAAC;AAEhD,WAAA;AAAA,MACL,MAAAC;AAAA,MACA,YAAAE;AAAA,MAEA,gBAAAG;AAAA,MACA,gBAAAG;AAAA,MAEA,YAAAE;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;SA7ESC,EAAMC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;SACNC,EAAY,GAAAC,EAAA,OAAA;AAAA,IAAA,KAAA;AAAA,WAEFC,EAAUR,EAAA,UAAA;AAAA,EAAA,GAAA;AAAA;QAI1BS,EAEWT,EAAA,WAAAA,EAAA,YAAAA,EAAA,gBAAAA,EAAA,cAAA,CAAA,GAAA,CAAA;AAAA,IAAA,GAAA,EAAA,MAAAM,KAAAC,EAAAG,GAAA,EAAA,KAAA,KAAA;AAAA;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OrTimePicker-CZwt1j2S.mjs","sources":["../../../components/or-time-picker-v3/src/styles.ts","../../../components/or-time-picker-v3/src/OrTimePicker.vue"],"sourcesContent":["export const TimePicker: string[] = [\n // Layout\n 'layout-column',\n\n // Spacing\n 'gap-xs',\n];\n\nexport const TimePickerPopover: string[] = [];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <template v-if=\"$slots.label || $slots.addon || label\">\n <OrLabel\n :variant=\"'input'\"\n :required=\"required\"\n :disabled=\"disabled\"\n >\n <slot name=\"label\">\n {{ label }}\n </slot>\n\n <template v-slot:addon>\n <slot name=\"addon\" />\n </template>\n </OrLabel>\n </template>\n\n <OrInputBox\n :ref=\"'inputBox'\"\n v-dropdown-open=\"openPopover\"\n v-dropdown-close=\"closePopover\"\n :variant=\"variant\"\n :size=\"size\"\n :invalid=\"!!error\"\n :readonly=\"readonly\"\n :disabled=\"disabled\"\n >\n <OrDateTimePickerTimeControl\n v-model=\"draft\"\n v-dropdown-open=\"openPopover\"\n v-dropdown-close=\"closePopover\"\n :class=\"['!border-0']\"\n :format=\"resolvedFormat\"\n :locale=\"resolvedLocale\"\n :selected=\"popover && popover.state === 'open'\"\n :required=\"required\"\n :readonly=\"readonly\"\n :disabled=\"disabled\"\n />\n\n <OrPopover\n :ref=\"'popover'\"\n :class=\"popoverStyles\"\n :custom-styles=\"popoverStyles\"\n :variant=\"'auto'\"\n :bottom-sheet-props=\"{ variant: 'basic' }\"\n :trigger=\"anchor || inputBoxRoot\"\n :placement=\"'bottom-start'\"\n :fallback-placement=\"'start'\"\n @close=\"reset()\"\n >\n <OrDateTimePickerPopoverHeader>\n <OrDateTimePickerMobileControl\n :label=\"'Time'\"\n :selected=\"true\"\n >\n {{ draft ? formatMobileTime(draft, resolvedFormat, resolvedLocale) : '--' }}\n </OrDateTimePickerMobileControl>\n </OrDateTimePickerPopoverHeader>\n\n <OrDateTimePickerTimeSelect\n v-model=\"draft\"\n :initial-value=\"initialValue\"\n :format=\"resolvedFormat\"\n :locale=\"resolvedLocale\"\n :hours-filter=\"hoursFilter\"\n :minutes-filter=\"minutesFilter\"\n :hour-step=\"hourStep\"\n :minute-step=\"minuteStep\"\n :is-active=\"popover && popover.state === 'open'\"\n />\n\n <OrDateTimePickerPopoverFooter\n :disabled=\"invalid\"\n @apply=\"apply(); popover && popover.close()\"\n @reset=\"reset(); popover && popover.close()\"\n />\n </OrPopover>\n\n <div :class=\"['grow']\" />\n\n <template v-slot:addon>\n <template v-if=\"modelValue\">\n <OrIconButton\n :icon=\"'close'\"\n :color=\"'inherit'\"\n :disabled=\"readonly || disabled\"\n @click.stop=\"$emit('update:modelValue', undefined)\"\n />\n </template>\n\n <template v-else>\n <OrIcon\n :icon=\"'schedule'\"\n :variant=\"'outlined'\"\n />\n </template>\n </template>\n </OrInputBox>\n\n <template v-if=\"$slots.hint || hint\">\n <OrHint\n v-show=\"!error\"\n :disabled=\"disabled\"\n >\n <slot name=\"hint\">\n {{ hint }}\n </slot>\n </OrHint>\n </template>\n\n <OrError\n v-show=\"typeof error === 'string' && error.length > 0\"\n :disabled=\"disabled\"\n >\n {{ error }}\n </OrError>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { ReferenceElement } from '@floating-ui/dom';\nimport { PropType, computed, defineComponent, ref, toRef, watch } from 'vue';\nimport { DropdownClose, DropdownOpen } from '@onereach/ui-components-common/directives';\nimport { useLocale, useProxyModelValue, useTimeFormat } from '@onereach/ui-components-common/hooks';\nimport { FilterFunction, FormatFunction, TimeFormat } from '@onereach/ui-components-common/types';\nimport { DateTimePickerModelValue, OrDateTimePickerMobileControl, OrDateTimePickerPopoverFooter, OrDateTimePickerPopoverHeader, OrDateTimePickerTimeControl, OrDateTimePickerTimeSelect, formatMobileTime, getCurrentDate } from '@onereach/ui-components.or-date-time-picker-v3';\nimport { OrErrorV3 as OrError } from '@onereach/ui-components.or-error-v3';\nimport { OrHintV3 as OrHint } from '@onereach/ui-components.or-hint-v3';\nimport { OrIconButtonV3 as OrIconButton } from '@onereach/ui-components.or-icon-button-v3';\nimport { OrIconV3 as OrIcon } from '@onereach/ui-components.or-icon-v3';\nimport { InputBoxSize, InputBoxVariant, OrInputBoxV3 as OrInputBox } from '@onereach/ui-components.or-input-box-v3';\nimport { OrLabelV3 as OrLabel } from '@onereach/ui-components.or-label-v3';\nimport { OrPopoverV3 as OrPopover } from '@onereach/ui-components.or-popover-v3';\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrTimePicker',\n\n components: {\n OrDateTimePickerMobileControl,\n OrDateTimePickerPopoverFooter,\n OrDateTimePickerPopoverHeader,\n OrDateTimePickerTimeControl,\n OrDateTimePickerTimeSelect,\n OrError,\n OrHint,\n OrIcon,\n OrIconButton,\n OrInputBox,\n OrLabel,\n OrPopover,\n },\n\n directives: {\n DropdownClose,\n DropdownOpen,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: undefined as unknown as PropType<DateTimePickerModelValue>,\n default: undefined,\n },\n\n format: {\n type: [String, Function] as PropType<`${TimeFormat}` | FormatFunction<DateTimePickerModelValue>>,\n default: undefined,\n },\n\n locale: {\n type: String,\n default: undefined,\n },\n\n hoursFilter: {\n type: Function as PropType<FilterFunction<Date>>,\n default: undefined,\n },\n\n minutesFilter: {\n type: Function as PropType<FilterFunction<Date>>,\n default: undefined,\n },\n\n hourStep: {\n type: Number,\n default: 1,\n },\n\n minuteStep: {\n type: Number,\n default: 1,\n },\n\n variant: {\n type: String as PropType<`${InputBoxVariant}`>,\n default: undefined,\n },\n\n size: {\n type: String as PropType<`${InputBoxSize}`>,\n default: undefined,\n },\n\n anchor: {\n type: Object as PropType<ReferenceElement>,\n default: undefined,\n },\n\n label: {\n type: String,\n default: undefined,\n },\n\n hint: {\n type: String,\n default: undefined,\n },\n\n error: {\n type: [String, Boolean],\n default: undefined,\n },\n\n required: {\n type: Boolean,\n default: false,\n },\n\n readonly: {\n type: Boolean,\n default: false,\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n 'update:modelValue',\n\n 'input',\n 'keydown',\n 'keyup',\n 'focus',\n 'blur',\n ],\n\n expose: [\n 'root',\n\n 'focus',\n 'blur',\n ],\n\n setup(props, context) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-time-picker-v3',\n ...Styles.TimePicker,\n ...props.variant === InputBoxVariant.Embedded ? ['grow'] : [],\n ]);\n\n const inputBox = ref<InstanceType<typeof OrInputBox>>();\n const inputBoxRoot = computed(() => inputBox.value?.root);\n\n const popover = ref<InstanceType<typeof OrPopover>>();\n const popoverState = computed(() => popover.value?.state);\n\n const popoverStyles = computed(() => [\n 'or-time-picker-popover-v3',\n ...Styles.TimePickerPopover,\n ]);\n\n // Options\n const resolvedFormat = useTimeFormat(toRef(props, 'format'));\n const resolvedLocale = useLocale(toRef(props, 'locale'));\n\n // State\n const initialValue = ref(props.modelValue ?? getCurrentDate());\n\n watch(() => props.modelValue, (value) => {\n initialValue.value = value ?? getCurrentDate();\n });\n\n const model = useProxyModelValue(toRef(props, 'modelValue'), context.emit);\n const draft = ref(model.value);\n\n watch(model, (value) => {\n draft.value = value;\n });\n\n const invalid = computed(() => {\n if (draft.value) {\n if (props.hoursFilter && !props.hoursFilter(draft.value)) {\n return true;\n }\n\n if (props.minutesFilter && !props.minutesFilter(draft.value)) {\n return true;\n }\n\n return false;\n }\n\n return true;\n });\n\n // Methods\n function apply(): void {\n model.value = draft.value;\n }\n\n function reset(): void {\n draft.value = model.value;\n }\n\n function openPopover(): void {\n if (!props.readonly && !props.disabled) {\n const popoverInstance = popover.value;\n\n if (popoverInstance) {\n (popoverInstance.open as () => void)();\n }\n }\n }\n\n function closePopover(): void {\n const popoverInstance = popover.value;\n\n if (popoverInstance) {\n (popoverInstance.close as () => void)();\n }\n }\n\n return {\n root,\n rootStyles,\n\n inputBox,\n inputBoxRoot,\n\n popover,\n popoverState,\n popoverStyles,\n\n resolvedFormat,\n resolvedLocale,\n\n initialValue,\n\n model,\n draft,\n\n invalid,\n\n apply,\n reset,\n\n openPopover,\n closePopover,\n\n formatMobileTime,\n };\n },\n});\n</script>\n"],"names":["TimePicker","TimePickerPopover","_sfc_main","defineComponent","OrDateTimePickerMobileControl","OrDateTimePickerPopoverFooter","OrDateTimePickerPopoverHeader","OrDateTimePickerTimeControl","OrDateTimePickerTimeSelect","OrError","OrHint","OrIcon","OrIconButton","OrInputBox","OrLabel","OrPopover","DropdownClose","DropdownOpen","props","context","root","ref","rootStyles","computed","Styles.TimePicker","InputBoxVariant","inputBox","inputBoxRoot","_a","popover","popoverState","popoverStyles","Styles.TimePickerPopover","resolvedFormat","useTimeFormat","toRef","resolvedLocale","useLocale","initialValue","getCurrentDate","watch","value","model","useProxyModelValue","draft","invalid","apply","reset","openPopover","popoverInstance","closePopover","formatMobileTime","_resolveDirective","_openBlock","_createElementBlock","_normalizeClass","_ctx","_createBlock","_component_OrLabel","_renderSlot","_createCommentVNode","_withDirectives","_component_OrInputBox","_withCtx","_component_OrIconButton","_cache","_withModifiers","$event","_component_OrIcon","_createVNode","_component_OrDateTimePickerTimeControl","_directive_dropdown_open","_directive_dropdown_close","_component_OrPopover","_component_OrDateTimePickerPopoverHeader","_component_OrDateTimePickerMobileControl","_component_OrDateTimePickerPopoverFooter","_component_OrHint","_component_OrError"],"mappings":"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"}
|