@onereach/ui-components 25.1.1-beta.5756.0 → 25.1.1-beta.5757.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-exHYABqt.mjs → OrAutocomplete-D6Vx762l.mjs} +7 -7
- package/dist/esm/{OrAutocomplete-exHYABqt.mjs.map → OrAutocomplete-D6Vx762l.mjs.map} +1 -1
- package/dist/esm/{OrCardCollection-Dz2xJ-SJ.mjs → OrCardCollection-B3l8giSn.mjs} +4 -4
- package/dist/esm/{OrCardCollection-Dz2xJ-SJ.mjs.map → OrCardCollection-B3l8giSn.mjs.map} +1 -1
- package/dist/esm/{OrCode-CvOD8qdX.mjs → OrCode-C-aENyuR.mjs} +3 -3
- package/dist/esm/{OrCode-CvOD8qdX.mjs.map → OrCode-C-aENyuR.mjs.map} +1 -1
- package/dist/esm/{OrConfirm-DPYw4wT9.mjs → OrConfirm-CT16BlWw.mjs} +2 -2
- package/dist/esm/{OrConfirm-DPYw4wT9.mjs.map → OrConfirm-CT16BlWw.mjs.map} +1 -1
- package/dist/esm/{OrContextMenu-CNFi1yQj.mjs → OrContextMenu-DoEeRp5C.mjs} +3 -3
- package/dist/esm/{OrContextMenu-CNFi1yQj.mjs.map → OrContextMenu-DoEeRp5C.mjs.map} +1 -1
- package/dist/esm/{OrDataGrid-D6Zv19yG.mjs → OrDataGrid-DPwCfdrK.mjs} +11 -11
- package/dist/esm/{OrDataGrid-D6Zv19yG.mjs.map → OrDataGrid-DPwCfdrK.mjs.map} +1 -1
- package/dist/esm/{OrDateFormat-BOCVZWmu.mjs → OrDateFormat-BYcvr2pu.mjs} +2 -2
- package/dist/esm/{OrDateFormat-BOCVZWmu.mjs.map → OrDateFormat-BYcvr2pu.mjs.map} +1 -1
- package/dist/esm/{OrDatePicker-DlNwTBHl.mjs → OrDatePicker-B5R1ziZF.mjs} +4 -4
- package/dist/esm/{OrDatePicker-DlNwTBHl.mjs.map → OrDatePicker-B5R1ziZF.mjs.map} +1 -1
- package/dist/esm/{OrDateRangePicker-CBjKfQq4.mjs → OrDateRangePicker-BsWultj3.mjs} +4 -4
- package/dist/esm/{OrDateRangePicker-CBjKfQq4.mjs.map → OrDateRangePicker-BsWultj3.mjs.map} +1 -1
- package/dist/esm/{OrDateTimeFormat-G-mBYldt.mjs → OrDateTimeFormat-Bf5RKESC.mjs} +2 -2
- package/dist/esm/{OrDateTimeFormat-G-mBYldt.mjs.map → OrDateTimeFormat-Bf5RKESC.mjs.map} +1 -1
- package/dist/esm/{OrDateTimePicker-D7V5bcFx.mjs → OrDateTimePicker-DnkdBdi0.mjs} +2 -2
- package/dist/esm/{OrDateTimePicker-D7V5bcFx.mjs.map → OrDateTimePicker-DnkdBdi0.mjs.map} +1 -1
- package/dist/esm/{OrDateTimePicker.vue_vue_type_script_lang-DgMTwFD9.mjs → OrDateTimePicker.vue_vue_type_script_lang-BGOGNFWu.mjs} +5 -5
- package/dist/esm/{OrDateTimePicker.vue_vue_type_script_lang-DgMTwFD9.mjs.map → OrDateTimePicker.vue_vue_type_script_lang-BGOGNFWu.mjs.map} +1 -1
- package/dist/esm/{OrEditorTabs-FilNHKUD.mjs → OrEditorTabs-BJv_yHTK.mjs} +4 -4
- package/dist/esm/{OrEditorTabs-FilNHKUD.mjs.map → OrEditorTabs-BJv_yHTK.mjs.map} +1 -1
- package/dist/esm/{OrFilter-BizsxRN0.mjs → OrFilter-DuFoI_Sd.mjs} +3 -3
- package/dist/esm/{OrFilter-BizsxRN0.mjs.map → OrFilter-DuFoI_Sd.mjs.map} +1 -1
- package/dist/esm/{OrFilterPopover-DQ4M7_3N.mjs → OrFilterPopover-BwHlCPf2.mjs} +3 -3
- package/dist/esm/{OrFilterPopover-DQ4M7_3N.mjs.map → OrFilterPopover-BwHlCPf2.mjs.map} +1 -1
- package/dist/esm/{OrFilterTrigger-D7Z2cn33.mjs → OrFilterTrigger-Ch293iF_.mjs} +2 -2
- package/dist/esm/{OrFilterTrigger-D7Z2cn33.mjs.map → OrFilterTrigger-Ch293iF_.mjs.map} +1 -1
- package/dist/esm/{OrIconButton-so2l-4Ln.mjs → OrIconButton-BajZRp1k.mjs} +2 -2
- package/dist/esm/{OrIconButton-so2l-4Ln.mjs.map → OrIconButton-BajZRp1k.mjs.map} +1 -1
- package/dist/esm/{OrInlineInput-7xRBnkWR.mjs → OrInlineInput-BG3yAs5M.mjs} +2 -2
- package/dist/esm/{OrInlineInput-7xRBnkWR.mjs.map → OrInlineInput-BG3yAs5M.mjs.map} +1 -1
- package/dist/esm/{OrInlineTextarea-DDcDhIJ5.mjs → OrInlineTextarea-CZVqac2G.mjs} +2 -2
- package/dist/esm/{OrInlineTextarea-DDcDhIJ5.mjs.map → OrInlineTextarea-CZVqac2G.mjs.map} +1 -1
- package/dist/esm/{OrInput-xRvb8uHb.mjs → OrInput-BrJzxNyE.mjs} +2 -2
- package/dist/esm/{OrInput-xRvb8uHb.mjs.map → OrInput-BrJzxNyE.mjs.map} +1 -1
- package/dist/esm/{OrList-DhPNj9eC.mjs → OrList-Ded7wJKj.mjs} +2 -2
- package/dist/esm/{OrList-DhPNj9eC.mjs.map → OrList-Ded7wJKj.mjs.map} +1 -1
- package/dist/esm/{OrMenu-BT2QshNv.mjs → OrMenu-CWFxzBH9.mjs} +2 -2
- package/dist/esm/{OrMenu-BT2QshNv.mjs.map → OrMenu-CWFxzBH9.mjs.map} +1 -1
- package/dist/esm/{OrMenuItem-CohVxMQ3.mjs → OrMenuItem-BdpVH1hf.mjs} +3 -3
- package/dist/esm/{OrMenuItem-CohVxMQ3.mjs.map → OrMenuItem-BdpVH1hf.mjs.map} +1 -1
- package/dist/esm/{OrModal-CMOXUS3L.mjs → OrModal-Cbi6xMwA.mjs} +2 -2
- package/dist/esm/{OrModal-CMOXUS3L.mjs.map → OrModal-Cbi6xMwA.mjs.map} +1 -1
- package/dist/esm/{OrNotification-Dvhq8t5Z.mjs → OrNotification-DVQ-x6mP.mjs} +2 -2
- package/dist/esm/{OrNotification-Dvhq8t5Z.mjs.map → OrNotification-DVQ-x6mP.mjs.map} +1 -1
- package/dist/esm/{OrPagination-DTRs-puV.mjs → OrPagination-FHzIWys-.mjs} +3 -3
- package/dist/esm/{OrPagination-DTRs-puV.mjs.map → OrPagination-FHzIWys-.mjs.map} +1 -1
- package/dist/esm/{OrPopover-B0AoMLqH.mjs → OrPopover-FA8G-paf.mjs} +2 -1
- package/dist/esm/OrPopover-FA8G-paf.mjs.map +1 -0
- package/dist/esm/{OrRangeSlider-Bw4jBumr.mjs → OrRangeSlider-Bw19Cx4f.mjs} +3 -3
- package/dist/esm/{OrRangeSlider-Bw4jBumr.mjs.map → OrRangeSlider-Bw19Cx4f.mjs.map} +1 -1
- package/dist/esm/{OrResizeablePanel-NRQBChYc.mjs → OrResizeablePanel-CKWcCNDY.mjs} +2 -2
- package/dist/esm/{OrResizeablePanel-NRQBChYc.mjs.map → OrResizeablePanel-CKWcCNDY.mjs.map} +1 -1
- package/dist/esm/{OrRichTextEditor-BJxy79mx.mjs → OrRichTextEditor-CxWFAu2l.mjs} +7 -7
- package/dist/esm/{OrRichTextEditor-BJxy79mx.mjs.map → OrRichTextEditor-CxWFAu2l.mjs.map} +1 -1
- package/dist/esm/{OrRichTooltip-DBp8SLnE.mjs → OrRichTooltip-CcQpjWtS.mjs} +2 -2
- package/dist/esm/{OrRichTooltip-DBp8SLnE.mjs.map → OrRichTooltip-CcQpjWtS.mjs.map} +1 -1
- package/dist/esm/{OrSearch-BMwJI01d.mjs → OrSearch-B3zonpwn.mjs} +2 -2
- package/dist/esm/{OrSearch-BMwJI01d.mjs.map → OrSearch-B3zonpwn.mjs.map} +1 -1
- package/dist/esm/{OrSelect-BeZG0RyV.mjs → OrSelect-DbALZEpy.mjs} +7 -7
- package/dist/esm/{OrSelect-BeZG0RyV.mjs.map → OrSelect-DbALZEpy.mjs.map} +1 -1
- package/dist/esm/{OrSlider-DcylgtcJ.mjs → OrSlider-XimfcpRY.mjs} +2 -2
- package/dist/esm/{OrSlider-DcylgtcJ.mjs.map → OrSlider-XimfcpRY.mjs.map} +1 -1
- package/dist/esm/{OrSlider.vue_vue_type_script_lang-DRu-YPCY.mjs → OrSlider.vue_vue_type_script_lang-yh5NyhYF.mjs} +2 -2
- package/dist/esm/{OrSlider.vue_vue_type_script_lang-DRu-YPCY.mjs.map → OrSlider.vue_vue_type_script_lang-yh5NyhYF.mjs.map} +1 -1
- package/dist/esm/{OrSorting-B_W4v5PP.mjs → OrSorting-CmlsygnE.mjs} +3 -3
- package/dist/esm/{OrSorting-B_W4v5PP.mjs.map → OrSorting-CmlsygnE.mjs.map} +1 -1
- package/dist/esm/OrSubMenuItem-SM7aCRt8.mjs +151 -0
- package/dist/esm/OrSubMenuItem-SM7aCRt8.mjs.map +1 -0
- package/dist/esm/{OrTabs-D55Orla1.mjs → OrTabs-EZYo-4P_.mjs} +3 -3
- package/dist/esm/{OrTabs-D55Orla1.mjs.map → OrTabs-EZYo-4P_.mjs.map} +1 -1
- package/dist/esm/{OrTag-CZYX6NEs.mjs → OrTag-DaaYEGhC.mjs} +2 -2
- package/dist/esm/{OrTag-CZYX6NEs.mjs.map → OrTag-DaaYEGhC.mjs.map} +1 -1
- package/dist/esm/{OrTagInput-CawPtiWX.mjs → OrTagInput-CDOp-U7t.mjs} +4 -4
- package/dist/esm/{OrTagInput-CawPtiWX.mjs.map → OrTagInput-CDOp-U7t.mjs.map} +1 -1
- package/dist/esm/{OrTags-DwexoH-2.mjs → OrTags-DVsMxFxa.mjs} +3 -3
- package/dist/esm/{OrTags-DwexoH-2.mjs.map → OrTags-DVsMxFxa.mjs.map} +1 -1
- package/dist/esm/{OrTimeFormat-CfIbOkOr.mjs → OrTimeFormat-Dlw6grIR.mjs} +2 -2
- package/dist/esm/{OrTimeFormat-CfIbOkOr.mjs.map → OrTimeFormat-Dlw6grIR.mjs.map} +1 -1
- package/dist/esm/{OrTimePicker-BCdb1fzM.mjs → OrTimePicker-GiacJN0e.mjs} +4 -4
- package/dist/esm/{OrTimePicker-BCdb1fzM.mjs.map → OrTimePicker-GiacJN0e.mjs.map} +1 -1
- package/dist/esm/{OrTimeRangePicker-DtkvAOv-.mjs → OrTimeRangePicker-9YELNKcp.mjs} +4 -4
- package/dist/esm/{OrTimeRangePicker-DtkvAOv-.mjs.map → OrTimeRangePicker-9YELNKcp.mjs.map} +1 -1
- package/dist/esm/{OrTooltip-CmT8V00I.mjs → OrTooltip-BIJSpzmX.mjs} +2 -2
- package/dist/esm/{OrTooltip-CmT8V00I.mjs.map → OrTooltip-BIJSpzmX.mjs.map} +1 -1
- package/dist/esm/components/index.mjs +47 -47
- package/dist/esm/components/or-autocomplete-v3/index.mjs +1 -1
- package/dist/esm/components/or-card-collection-v3/index.mjs +1 -1
- package/dist/esm/components/or-code-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-editor-tabs-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-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-pagination-v3/index.mjs +1 -1
- package/dist/esm/components/or-popover-v3/index.mjs +1 -1
- package/dist/esm/components/or-range-slider-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-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-sub-menu-item-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-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/index.mjs +47 -47
- package/dist/esm/{props-lb6E-Psq.mjs → props-r8F44lpX.mjs} +2 -2
- package/dist/esm/{props-lb6E-Psq.mjs.map → props-r8F44lpX.mjs.map} +1 -1
- package/dist/esm/{types-BZoeLGz1.mjs → types-DrGu4wlu.mjs} +2 -2
- package/dist/esm/{types-BZoeLGz1.mjs.map → types-DrGu4wlu.mjs.map} +1 -1
- package/dist/types/components/or-sub-menu-item-v3/OrSubMenuItem.vue.d.ts +4 -3
- package/package.json +3 -3
- package/dist/esm/OrPopover-B0AoMLqH.mjs.map +0 -1
- package/dist/esm/OrSubMenuItem-DqJU7EI4.mjs +0 -133
- package/dist/esm/OrSubMenuItem-DqJU7EI4.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types-BZoeLGz1.mjs","sources":["../../../components/or-toast-v3/src/props.ts","../../../components/or-toast-v3/src/styles.ts","../../../components/or-toast-v3/src/OrToast.vue","../../../components/or-toast-v3/src/composable/useQueue.ts","../../../components/or-toast-v3/src/composable/useToastEventBus.ts","../../../components/or-toast-v3/src/or-toast-container-v3/OrToastContainer.vue","../../../components/or-toast-v3/src/Timer.ts","../../../components/or-toast-v3/src/composable/useToast.ts"],"sourcesContent":["export enum PositionsX {\n Right = 'right',\n Left = 'left',\n Center = 'center',\n}\n\nexport enum PositionsY {\n Top = 'top',\n Bottom = 'bottom',\n}\n\nexport enum TransitionType {\n Slide = 'slide',\n Fade = 'fade',\n}\n\nexport enum ToastType {\n Success = 'success',\n Error = 'error',\n Loading = 'loading',\n}\n","import { PositionsX, PositionsY, ToastType } from './props';\n\nexport const Toast: string[] = [\n // Layout\n 'layout-row',\n\n // Box\n 'w-[343px] md:w-[512px]',\n\n // Shape\n 'rounded-md',\n\n // Spacing\n 'px-md',\n 'py-md',\n\n 'gap-md',\n\n // Typography\n 'typography-caption-regular',\n\n // Elevation\n 'shadow-card',\n 'dark:shadow-card-dark',\n\n // Theme\n 'theme-background-surface-inverse',\n 'dark:theme-background-surface-inverse-dark',\n\n 'theme-foreground-on-surface-inverse',\n 'dark:theme-foreground-on-surface-inverse-dark',\n\n // Theme (children)\n '[&_:any-link]:text-inverse-primary',\n 'dark:[&_:any-link]:text-inverse-primary-dark',\n];\n\nexport const ToastContainer: string[] = [\n // Position\n 'absolute',\n\n // Layout\n 'layout-column',\n\n // Spacing\n 'gap-sm',\n\n // Overflow\n 'overflow-hidden',\n];\n\nexport const ToastContainerPositions: Record<`${PositionsX}-${PositionsY}`, string[]> = {\n 'left-top': [\n // Position\n 'left-md md:left-lg',\n 'top-md md:top-lg',\n ],\n\n 'center-top': [\n // Position\n 'top-md md:top-lg',\n ],\n\n 'right-top': [\n // Position\n 'right-md md:right-lg',\n 'top-md md:top-lg',\n ],\n\n 'left-bottom': [\n // Position\n 'left-md md:left-lg',\n 'bottom-md md:bottom-lg',\n ],\n\n 'center-bottom': [\n // Position\n 'bottom-md md:bottom-lg',\n ],\n\n 'right-bottom': [\n // Position\n 'right-md md:right-lg',\n 'bottom-md md:bottom-lg',\n ],\n};\n\nexport const messageStyleVariant: Record<ToastType, string[]> = {\n 'success': [\n // Typography\n 'typography-caption-regular',\n ],\n\n 'error': [\n // Typography\n 'typography-caption-regular',\n ],\n\n 'loading': [\n // Typography\n 'typography-caption-regular',\n ],\n};\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot name=\"content\">\n <!-- before message -->\n <div\n v-if=\"toastType === 'loading'\"\n :class=\"loaderStyle\"\n >\n <OrLoader\n :variant=\"'circular'\"\n :color=\"'inherit'\"\n :size=\"'s'\"\n />\n </div>\n\n <img\n v-else-if=\"emojiSrc\"\n :class=\"toastIconStyle\"\n :src=\"emojiSrc\"\n alt=\"Emoji\"\n >\n\n <!-- message -->\n <div\n v-if=\"messageText\"\n :class=\"messageStyle\"\n v-html=\"messageText\"\n />\n </slot>\n\n <div :class=\"['layout-row', 'self-start', 'gap-md']\">\n <template v-if=\"link\">\n <a\n class=\"or-toast__link\"\n :href=\"link.href\"\n :target=\"hrefTarget\"\n @click=\"onLinkClick\"\n >\n {{ link.title }}\n </a>\n </template>\n\n <template v-if=\"dismissible\">\n <OrIconButton\n :icon=\"'close'\"\n :size=\"'m'\"\n @click.stop=\"onClose()\"\n />\n </template>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, PropType, ref } from 'vue';\nimport { error as errorPng, success as successPng } from '@onereach/ui-components-common/assets';\nimport { OrIconButtonV3 as OrIconButton } from '@onereach/ui-components.or-icon-button-v3';\nimport { OrLoaderV3 as OrLoader } from '@onereach/ui-components.or-loader-v3';\nimport { ToastType } from './props';\nimport { messageStyleVariant, Toast } from './styles';\nimport { ToastLink } from './types';\n\nexport default defineComponent({\n name: 'OrToast',\n\n components: {\n OrIconButton,\n OrLoader,\n },\n\n props: {\n toastType: {\n type: String as PropType<`${ToastType}`>,\n default: () => ToastType.Success,\n },\n\n link: {\n type: Object as PropType<ToastLink>,\n default: undefined,\n },\n\n messageText: {\n type: String,\n default: undefined,\n },\n\n dismissible: {\n type: Boolean,\n default: true,\n },\n },\n\n emits: [\n 'close',\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 ...Toast,\n ]);\n\n const toastIconStyle = computed(() => [\n 'self-center',\n 'object-cover',\n // Box\n 'w-[20px]',\n 'h-[20px]',\n ]);\n\n const messageStyle = computed(() => [\n ...messageStyleVariant[props.toastType],\n 'grow',\n ]);\n\n const loaderStyle = computed(() => [\n //Layout\n 'self-center',\n // Theme\n 'text-inverse-primary',\n 'dark:text-inverse-primary-dark',\n ]);\n\n // State\n const emojiSrc = computed(() => {\n switch (props.toastType) {\n case ToastType.Success:\n return successPng;\n case ToastType.Error:\n return errorPng;\n default:\n return null;\n }\n });\n\n const hrefTarget = computed(() => {\n return props.link?.target ?? '_self';\n });\n\n // Methods\n function onClose(): void {\n context.emit('close');\n }\n\n function onLinkClick(event: MouseEvent): void {\n if (props.link?.callback) {\n event.preventDefault();\n props.link.callback?.();\n }\n }\n\n return {\n root,\n toastIconStyle,\n rootStyles,\n loaderStyle,\n messageStyle,\n emojiSrc,\n hrefTarget,\n onClose,\n onLinkClick,\n };\n },\n});\n</script>\n\n<style lang=\"scss\" scoped>\n.or-toast__link {\n word-break: break-word;\n white-space: nowrap;\n cursor: pointer;\n}\n</style>\n","import { Ref, ref } from 'vue';\n\nexport default function useQueue<T>(initialValue?: Array<T>) {\n //generic needed! see https://github.com/vuejs/core/issues/2136\n const queue = ref<Array<T>>(initialValue || []) as Ref<Ref<T>[]>;\n\n const addItem = (item: T): void => {\n const refItem = ref<T>(item) as Ref<T>;\n queue.value.push(refItem);\n };\n\n const removeItem = (condition: (i: T, index: number, queue: Ref<T>[]) => boolean): void => {\n const index = queue.value.findIndex((i, idx, q) => {\n return condition?.(i.value, idx, q);\n });\n if (index !== -1) queue.value.splice(index, 1);\n };\n\n const getItem = (condition: (i: T, index: number, queue: Ref<T>[]) => boolean): Ref<T> => {\n return queue.value.filter((i, idx, q) => {\n return condition?.(i.value, idx, q);\n })[0];\n };\n\n const clearAll = (): void => {\n queue.value = [];\n };\n\n return {\n queue,\n addItem,\n removeItem,\n clearAll,\n getItem,\n };\n\n}\n","import { EventBusListener, useEventBus, UseEventBusReturn, createSharedComposable } from '@vueuse/core';\nimport { ToastConfiguration } from '../types';\n\nexport type ToastEventsBusEvents = 'toastNotify'|'toastClose'|'toastCloseAll' | 'toastUpdate';\n\nconst useToastEventBus = () => {\n const busPull: Record<ToastEventsBusEvents, UseEventBusReturn<ToastConfiguration, any>> = {\n toastNotify: useEventBus('toastNotify'),\n toastClose: useEventBus('toastClose'),\n toastCloseAll: useEventBus('toastCloseAll'),\n toastUpdate: useEventBus('toastUpdate'),\n };\n return {\n on: (namedQueue: ToastEventsBusEvents, listener: EventBusListener<ToastConfiguration>) => {\n busPull[namedQueue].on(listener);\n },\n off: (namedQueue: ToastEventsBusEvents, listener: EventBusListener<ToastConfiguration>) => {\n busPull[namedQueue].off(listener);\n },\n emit: (namedQueue: ToastEventsBusEvents, data?: ToastConfiguration) => {\n busPull[namedQueue].emit(data);\n },\n };\n};\nexport default createSharedComposable(useToastEventBus);\n\n","<template>\n <OrTeleport :disabled=\"isActive\">\n <div\n :ref=\"'root'\"\n :class=\"classes\"\n >\n <TransitionGroup\n :name=\"transitionName\"\n tag=\"div\"\n class=\"contents\"\n @after-leave=\"onToastHidden\"\n >\n <OrToast\n v-for=\"toastConfiguration in queue\"\n v-bind=\"toastConfiguration.toastProps\"\n :key=\"toastConfiguration.hash\"\n @click=\"onClick(toastConfiguration.toastBehaviour)\"\n @mouseenter=\"onToastEnter(toastConfiguration)\"\n @mouseleave=\"onToastLeave(toastConfiguration)\"\n @close=\"toastRemove(toastConfiguration)\"\n />\n </TransitionGroup>\n </div>\n </OrTeleport>\n</template>\n\n<script lang=\"ts\">\nimport { useToggle } from '@vueuse/core';\nimport { computed, defineComponent, nextTick, onBeforeMount, onBeforeUnmount, PropType, ref } from 'vue';\nimport { useElevation } from '@onereach/ui-components-common/hooks';\nimport { OrTeleportV3 as OrTeleport } from '@onereach/ui-components.or-teleport-v3';\nimport useQueue from '../composable/useQueue';\nimport useToastEventBus from '../composable/useToastEventBus';\nimport OrToast from '../OrToast.vue';\nimport { PositionsX, PositionsY, TransitionType } from '../props';\nimport { ToastContainer, ToastContainerPositions } from '../styles';\nimport { Position, ToastBehaviour, ToastConfiguration } from '../types';\n\nexport default defineComponent({\n name: 'OrToastContainer',\n\n components: {\n OrTeleport,\n OrToast,\n },\n\n props: {\n includeHeaderHeight: {\n type: Boolean,\n default: true,\n },\n\n position: {\n type: Object as PropType<Position>,\n default: {\n positionX: PositionsX.Right,\n positionY: PositionsY.Bottom,\n } as Position,\n },\n\n transition: {\n type: String as PropType<`${TransitionType}`>,\n default: () => TransitionType.Slide,\n },\n },\n\n setup(props) {\n // Refs\n const root = ref<HTMLElement>();\n\n const { on, off } = useToastEventBus();\n const { queue: queueRef, addItem, removeItem, clearAll, getItem } = useQueue<ToastConfiguration>();\n const [isActive, toggle] = useToggle(false);\n const classes = computed(() => [\n 'or-toast-container-v3',\n ...ToastContainer,\n ...ToastContainerPositions[`${props.position.positionX}-${props.position.positionY}`],\n {\n 'position--top--with-header': props.position?.positionY === PositionsY.Top && props.includeHeaderHeight,\n },\n ]);\n const transitionName = computed<string>(() => `or-toast--position-${props.position?.positionX} or-toast--transition-${props.transition}`);\n\n // State\n const queue = computed<ToastConfiguration[]>(() => {\n return queueRef.value.map(({ value }) => value);\n });\n\n // Methods\n function createToast(toastConfiguration: ToastConfiguration): void {\n const caller = () => {\n addItem(toastConfiguration);\n toastConfiguration.timer?.start(toastRemove.bind(null, toastConfiguration),\n toastConfiguration.toastBehaviour.duration,\n );\n };\n\n if (!isActive.value) {\n // before create toast we need change isActive props, to render or-teleport,\n // in other case first item will not be animated\n toggle(true);\n nextTick(caller);\n } else {\n caller();\n }\n }\n\n function toastUpdate(toast: ToastConfiguration): void {\n const toastItem = getItem((item) => {\n return item.hash === toast.hash;\n });\n\n if (toastItem)\n toastItem.value = toast;\n }\n\n function toastRemove(toast: ToastConfiguration): void {\n removeItem((item) => {\n if (item.hash === toast.hash) {\n item.toastBehaviour?.onToastClose?.();\n item.timer?.stop();\n return true;\n }\n return false;\n });\n }\n\n function onToastEnter(toast: ToastConfiguration): void {\n if (toast.toastBehaviour.pauseOnHover)\n toast.timer?.pause();\n }\n\n function onToastLeave(toast: ToastConfiguration): void {\n if (toast.toastBehaviour.pauseOnHover)\n toast.timer?.resume();\n }\n\n function onClick(toastBehaviour: ToastBehaviour): void {\n toastBehaviour.onToastClick?.();\n }\n\n function onToastHidden(): void {\n toggle(queue.value.length > 0);\n }\n\n // Effects\n onBeforeMount(() => {\n on('toastNotify', createToast);\n on('toastClose', toastRemove);\n on('toastUpdate', toastUpdate);\n on('toastCloseAll', clearAll);\n });\n\n onBeforeUnmount(() => {\n off('toastNotify', createToast);\n off('toastClose', toastRemove);\n off('toastUpdate', toastUpdate);\n off('toastCloseAll', clearAll);\n });\n\n useElevation(root, isActive);\n\n return {\n on,\n off,\n classes,\n transitionName,\n isActive,\n toggle,\n addItem,\n removeItem,\n clearAll,\n getItem,\n queue,\n root,\n createToast,\n toastUpdate,\n toastRemove,\n onToastEnter,\n onToastLeave,\n onClick,\n onToastHidden,\n };\n },\n});\n</script>\n\n<style lang=\"scss\" scoped>\n$header-height: 48px;\n$spacing: 32px;\n\n.or-toast--transition-slide-enter-active,\n.or-toast--transition-slide-leave-active {\n transition: transform 0.4s ease;\n}\n\n.or-toast--transition-slide-enter-from.or-toast--position-right,\n.or-toast--transition-slide-leave-to.or-toast--position-right {\n transform: translateX(999px);\n}\n\n.or-toast--transition-slide-enter-from.or-toast--position-left,\n.or-toast--transition-slide-leave-to.or-toast--position-left {\n transform: translateX(-999px);\n}\n\n.or-toast--transition-fade-enter-active,\n.or-toast--transition-fade-leave-active {\n transition: opacity 0.4s ease;\n}\n\n.or-toast--transition-fade-enter-from,\n.or-toast--transition-fade-leave-to {\n opacity: 0;\n}\n</style>\n","import { noop } from '@vueuse/core';\n\nexport default class Timer {\n private startedAt: number| null = null;\n private timer: ReturnType<typeof setTimeout> | null = null;\n private callback: () => void = noop;\n private delay = 0;\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n constructor() {}\n\n start(callback: () => void, delay?: number) {\n if (delay && delay > 0) {\n this.callback = callback;\n this.delay = delay;\n this.startedAt = Date.now();\n this.timer = setTimeout(this.callback, this.delay);\n }\n }\n\n pause() {\n if (this.timer && this.startedAt) {\n this.stop();\n this.delay -= Date.now() - this.startedAt;\n }\n }\n\n resume() {\n this.stop();\n if (this.delay > 0) {\n this.startedAt = Date.now();\n this.timer = setTimeout(this.callback, this.delay);\n }\n }\n\n stop() {\n if (this.timer)\n clearTimeout(this.timer);\n }\n}\n","import { ToastType } from '../props';\nimport Timer from '../Timer';\nimport { ToastBehaviour, ToastConfiguration, ToastProps, UseToastNotifyReturnsV3 } from '../types';\nimport useToastEventBus from './useToastEventBus';\n\n\nexport default function useToast(globalToastProps: ToastProps = {}) {\n const { emit } = useToastEventBus();\n\n function notify(props: ToastProps, behaviour: ToastBehaviour = {}): UseToastNotifyReturnsV3 {\n const { duration = 5000, pauseOnHover = true, onToastClose, onToastClick } = behaviour;\n const propsData = {\n ...props,\n ...globalToastProps,\n };\n\n const config: ToastConfiguration = {\n toastProps: propsData,\n //generate ToastHash\n hash: Math.random().toString(36).slice(2),\n ...(Number.isInteger(duration) && { timer: new Timer() }),\n toastBehaviour: {\n duration,\n pauseOnHover,\n onToastClose,\n onToastClick,\n },\n };\n\n emit('toastNotify', config);\n\n return ({\n close: () => emit('toastClose', config),\n update: (data: ToastProps) => emit('toastUpdate', {\n ...config,\n toastProps: {\n ...config.toastProps,\n ...data,\n },\n }),\n });\n }\n\n function clearAll(): void {\n emit('toastCloseAll');\n }\n\n function success(props: ToastProps, behaviour: ToastBehaviour = {}): UseToastNotifyReturnsV3 {\n return notify({\n ...props,\n toastType: ToastType.Success,\n }, behaviour);\n }\n\n function error(props: ToastProps, behaviour: ToastBehaviour = {}): UseToastNotifyReturnsV3 {\n return notify({\n ...props,\n toastType: ToastType.Error,\n }, behaviour);\n }\n\n\n function loading(props: ToastProps, behaviour: ToastBehaviour = {}): UseToastNotifyReturnsV3 {\n return notify({\n dismissible: false,\n ...props,\n toastType: ToastType.Loading,\n }, {\n ...behaviour,\n duration: 0, // <- toast with type \"loading\" will not cloe automatically\n });\n }\n\n return {\n notify,\n clearAll,\n success,\n error,\n loading,\n };\n}\n"],"names":["PositionsX","PositionsY","TransitionType","ToastType","Toast","ToastContainer","ToastContainerPositions","messageStyleVariant","_sfc_main$1","defineComponent","OrIconButton","OrLoader","props","context","root","ref","rootStyles","computed","toastIconStyle","messageStyle","loaderStyle","emojiSrc","successPng","errorPng","hrefTarget","_a","onClose","onLinkClick","event","_c","_b","_hoisted_2","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_ctx","_component_OrLoader","_hoisted_1","_createCommentVNode","_createElementVNode","_hoisted_3","_toDisplayString","_createBlock","_component_OrIconButton","useQueue","initialValue","queue","item","refItem","condition","index","i","idx","q","useToastEventBus","busPull","useEventBus","namedQueue","listener","data","useToastEventBus$1","createSharedComposable","_sfc_main","OrTeleport","OrToast","on","off","queueRef","addItem","removeItem","clearAll","getItem","isActive","toggle","useToggle","classes","transitionName","value","createToast","toastConfiguration","caller","toastRemove","nextTick","toastUpdate","toast","toastItem","onToastEnter","onToastLeave","onClick","toastBehaviour","onToastHidden","onBeforeMount","onBeforeUnmount","useElevation","_component_OrTeleport","_withCtx","_createVNode","_TransitionGroup","_Fragment","_renderList","_component_OrToast","_mergeProps","$event","Timer","noop","callback","delay","useToast","globalToastProps","emit","notify","behaviour","duration","pauseOnHover","onToastClose","onToastClick","config","success","error","loading"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types-DrGu4wlu.mjs","sources":["../../../components/or-toast-v3/src/props.ts","../../../components/or-toast-v3/src/styles.ts","../../../components/or-toast-v3/src/OrToast.vue","../../../components/or-toast-v3/src/composable/useQueue.ts","../../../components/or-toast-v3/src/composable/useToastEventBus.ts","../../../components/or-toast-v3/src/or-toast-container-v3/OrToastContainer.vue","../../../components/or-toast-v3/src/Timer.ts","../../../components/or-toast-v3/src/composable/useToast.ts"],"sourcesContent":["export enum PositionsX {\n Right = 'right',\n Left = 'left',\n Center = 'center',\n}\n\nexport enum PositionsY {\n Top = 'top',\n Bottom = 'bottom',\n}\n\nexport enum TransitionType {\n Slide = 'slide',\n Fade = 'fade',\n}\n\nexport enum ToastType {\n Success = 'success',\n Error = 'error',\n Loading = 'loading',\n}\n","import { PositionsX, PositionsY, ToastType } from './props';\n\nexport const Toast: string[] = [\n // Layout\n 'layout-row',\n\n // Box\n 'w-[343px] md:w-[512px]',\n\n // Shape\n 'rounded-md',\n\n // Spacing\n 'px-md',\n 'py-md',\n\n 'gap-md',\n\n // Typography\n 'typography-caption-regular',\n\n // Elevation\n 'shadow-card',\n 'dark:shadow-card-dark',\n\n // Theme\n 'theme-background-surface-inverse',\n 'dark:theme-background-surface-inverse-dark',\n\n 'theme-foreground-on-surface-inverse',\n 'dark:theme-foreground-on-surface-inverse-dark',\n\n // Theme (children)\n '[&_:any-link]:text-inverse-primary',\n 'dark:[&_:any-link]:text-inverse-primary-dark',\n];\n\nexport const ToastContainer: string[] = [\n // Position\n 'absolute',\n\n // Layout\n 'layout-column',\n\n // Spacing\n 'gap-sm',\n\n // Overflow\n 'overflow-hidden',\n];\n\nexport const ToastContainerPositions: Record<`${PositionsX}-${PositionsY}`, string[]> = {\n 'left-top': [\n // Position\n 'left-md md:left-lg',\n 'top-md md:top-lg',\n ],\n\n 'center-top': [\n // Position\n 'top-md md:top-lg',\n ],\n\n 'right-top': [\n // Position\n 'right-md md:right-lg',\n 'top-md md:top-lg',\n ],\n\n 'left-bottom': [\n // Position\n 'left-md md:left-lg',\n 'bottom-md md:bottom-lg',\n ],\n\n 'center-bottom': [\n // Position\n 'bottom-md md:bottom-lg',\n ],\n\n 'right-bottom': [\n // Position\n 'right-md md:right-lg',\n 'bottom-md md:bottom-lg',\n ],\n};\n\nexport const messageStyleVariant: Record<ToastType, string[]> = {\n 'success': [\n // Typography\n 'typography-caption-regular',\n ],\n\n 'error': [\n // Typography\n 'typography-caption-regular',\n ],\n\n 'loading': [\n // Typography\n 'typography-caption-regular',\n ],\n};\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot name=\"content\">\n <!-- before message -->\n <div\n v-if=\"toastType === 'loading'\"\n :class=\"loaderStyle\"\n >\n <OrLoader\n :variant=\"'circular'\"\n :color=\"'inherit'\"\n :size=\"'s'\"\n />\n </div>\n\n <img\n v-else-if=\"emojiSrc\"\n :class=\"toastIconStyle\"\n :src=\"emojiSrc\"\n alt=\"Emoji\"\n >\n\n <!-- message -->\n <div\n v-if=\"messageText\"\n :class=\"messageStyle\"\n v-html=\"messageText\"\n />\n </slot>\n\n <div :class=\"['layout-row', 'self-start', 'gap-md']\">\n <template v-if=\"link\">\n <a\n class=\"or-toast__link\"\n :href=\"link.href\"\n :target=\"hrefTarget\"\n @click=\"onLinkClick\"\n >\n {{ link.title }}\n </a>\n </template>\n\n <template v-if=\"dismissible\">\n <OrIconButton\n :icon=\"'close'\"\n :size=\"'m'\"\n @click.stop=\"onClose()\"\n />\n </template>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, PropType, ref } from 'vue';\nimport { error as errorPng, success as successPng } from '@onereach/ui-components-common/assets';\nimport { OrIconButtonV3 as OrIconButton } from '@onereach/ui-components.or-icon-button-v3';\nimport { OrLoaderV3 as OrLoader } from '@onereach/ui-components.or-loader-v3';\nimport { ToastType } from './props';\nimport { messageStyleVariant, Toast } from './styles';\nimport { ToastLink } from './types';\n\nexport default defineComponent({\n name: 'OrToast',\n\n components: {\n OrIconButton,\n OrLoader,\n },\n\n props: {\n toastType: {\n type: String as PropType<`${ToastType}`>,\n default: () => ToastType.Success,\n },\n\n link: {\n type: Object as PropType<ToastLink>,\n default: undefined,\n },\n\n messageText: {\n type: String,\n default: undefined,\n },\n\n dismissible: {\n type: Boolean,\n default: true,\n },\n },\n\n emits: [\n 'close',\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 ...Toast,\n ]);\n\n const toastIconStyle = computed(() => [\n 'self-center',\n 'object-cover',\n // Box\n 'w-[20px]',\n 'h-[20px]',\n ]);\n\n const messageStyle = computed(() => [\n ...messageStyleVariant[props.toastType],\n 'grow',\n ]);\n\n const loaderStyle = computed(() => [\n //Layout\n 'self-center',\n // Theme\n 'text-inverse-primary',\n 'dark:text-inverse-primary-dark',\n ]);\n\n // State\n const emojiSrc = computed(() => {\n switch (props.toastType) {\n case ToastType.Success:\n return successPng;\n case ToastType.Error:\n return errorPng;\n default:\n return null;\n }\n });\n\n const hrefTarget = computed(() => {\n return props.link?.target ?? '_self';\n });\n\n // Methods\n function onClose(): void {\n context.emit('close');\n }\n\n function onLinkClick(event: MouseEvent): void {\n if (props.link?.callback) {\n event.preventDefault();\n props.link.callback?.();\n }\n }\n\n return {\n root,\n toastIconStyle,\n rootStyles,\n loaderStyle,\n messageStyle,\n emojiSrc,\n hrefTarget,\n onClose,\n onLinkClick,\n };\n },\n});\n</script>\n\n<style lang=\"scss\" scoped>\n.or-toast__link {\n word-break: break-word;\n white-space: nowrap;\n cursor: pointer;\n}\n</style>\n","import { Ref, ref } from 'vue';\n\nexport default function useQueue<T>(initialValue?: Array<T>) {\n //generic needed! see https://github.com/vuejs/core/issues/2136\n const queue = ref<Array<T>>(initialValue || []) as Ref<Ref<T>[]>;\n\n const addItem = (item: T): void => {\n const refItem = ref<T>(item) as Ref<T>;\n queue.value.push(refItem);\n };\n\n const removeItem = (condition: (i: T, index: number, queue: Ref<T>[]) => boolean): void => {\n const index = queue.value.findIndex((i, idx, q) => {\n return condition?.(i.value, idx, q);\n });\n if (index !== -1) queue.value.splice(index, 1);\n };\n\n const getItem = (condition: (i: T, index: number, queue: Ref<T>[]) => boolean): Ref<T> => {\n return queue.value.filter((i, idx, q) => {\n return condition?.(i.value, idx, q);\n })[0];\n };\n\n const clearAll = (): void => {\n queue.value = [];\n };\n\n return {\n queue,\n addItem,\n removeItem,\n clearAll,\n getItem,\n };\n\n}\n","import { EventBusListener, useEventBus, UseEventBusReturn, createSharedComposable } from '@vueuse/core';\nimport { ToastConfiguration } from '../types';\n\nexport type ToastEventsBusEvents = 'toastNotify'|'toastClose'|'toastCloseAll' | 'toastUpdate';\n\nconst useToastEventBus = () => {\n const busPull: Record<ToastEventsBusEvents, UseEventBusReturn<ToastConfiguration, any>> = {\n toastNotify: useEventBus('toastNotify'),\n toastClose: useEventBus('toastClose'),\n toastCloseAll: useEventBus('toastCloseAll'),\n toastUpdate: useEventBus('toastUpdate'),\n };\n return {\n on: (namedQueue: ToastEventsBusEvents, listener: EventBusListener<ToastConfiguration>) => {\n busPull[namedQueue].on(listener);\n },\n off: (namedQueue: ToastEventsBusEvents, listener: EventBusListener<ToastConfiguration>) => {\n busPull[namedQueue].off(listener);\n },\n emit: (namedQueue: ToastEventsBusEvents, data?: ToastConfiguration) => {\n busPull[namedQueue].emit(data);\n },\n };\n};\nexport default createSharedComposable(useToastEventBus);\n\n","<template>\n <OrTeleport :disabled=\"isActive\">\n <div\n :ref=\"'root'\"\n :class=\"classes\"\n >\n <TransitionGroup\n :name=\"transitionName\"\n tag=\"div\"\n class=\"contents\"\n @after-leave=\"onToastHidden\"\n >\n <OrToast\n v-for=\"toastConfiguration in queue\"\n v-bind=\"toastConfiguration.toastProps\"\n :key=\"toastConfiguration.hash\"\n @click=\"onClick(toastConfiguration.toastBehaviour)\"\n @mouseenter=\"onToastEnter(toastConfiguration)\"\n @mouseleave=\"onToastLeave(toastConfiguration)\"\n @close=\"toastRemove(toastConfiguration)\"\n />\n </TransitionGroup>\n </div>\n </OrTeleport>\n</template>\n\n<script lang=\"ts\">\nimport { useToggle } from '@vueuse/core';\nimport { computed, defineComponent, nextTick, onBeforeMount, onBeforeUnmount, PropType, ref } from 'vue';\nimport { useElevation } from '@onereach/ui-components-common/hooks';\nimport { OrTeleportV3 as OrTeleport } from '@onereach/ui-components.or-teleport-v3';\nimport useQueue from '../composable/useQueue';\nimport useToastEventBus from '../composable/useToastEventBus';\nimport OrToast from '../OrToast.vue';\nimport { PositionsX, PositionsY, TransitionType } from '../props';\nimport { ToastContainer, ToastContainerPositions } from '../styles';\nimport { Position, ToastBehaviour, ToastConfiguration } from '../types';\n\nexport default defineComponent({\n name: 'OrToastContainer',\n\n components: {\n OrTeleport,\n OrToast,\n },\n\n props: {\n includeHeaderHeight: {\n type: Boolean,\n default: true,\n },\n\n position: {\n type: Object as PropType<Position>,\n default: {\n positionX: PositionsX.Right,\n positionY: PositionsY.Bottom,\n } as Position,\n },\n\n transition: {\n type: String as PropType<`${TransitionType}`>,\n default: () => TransitionType.Slide,\n },\n },\n\n setup(props) {\n // Refs\n const root = ref<HTMLElement>();\n\n const { on, off } = useToastEventBus();\n const { queue: queueRef, addItem, removeItem, clearAll, getItem } = useQueue<ToastConfiguration>();\n const [isActive, toggle] = useToggle(false);\n const classes = computed(() => [\n 'or-toast-container-v3',\n ...ToastContainer,\n ...ToastContainerPositions[`${props.position.positionX}-${props.position.positionY}`],\n {\n 'position--top--with-header': props.position?.positionY === PositionsY.Top && props.includeHeaderHeight,\n },\n ]);\n const transitionName = computed<string>(() => `or-toast--position-${props.position?.positionX} or-toast--transition-${props.transition}`);\n\n // State\n const queue = computed<ToastConfiguration[]>(() => {\n return queueRef.value.map(({ value }) => value);\n });\n\n // Methods\n function createToast(toastConfiguration: ToastConfiguration): void {\n const caller = () => {\n addItem(toastConfiguration);\n toastConfiguration.timer?.start(toastRemove.bind(null, toastConfiguration),\n toastConfiguration.toastBehaviour.duration,\n );\n };\n\n if (!isActive.value) {\n // before create toast we need change isActive props, to render or-teleport,\n // in other case first item will not be animated\n toggle(true);\n nextTick(caller);\n } else {\n caller();\n }\n }\n\n function toastUpdate(toast: ToastConfiguration): void {\n const toastItem = getItem((item) => {\n return item.hash === toast.hash;\n });\n\n if (toastItem)\n toastItem.value = toast;\n }\n\n function toastRemove(toast: ToastConfiguration): void {\n removeItem((item) => {\n if (item.hash === toast.hash) {\n item.toastBehaviour?.onToastClose?.();\n item.timer?.stop();\n return true;\n }\n return false;\n });\n }\n\n function onToastEnter(toast: ToastConfiguration): void {\n if (toast.toastBehaviour.pauseOnHover)\n toast.timer?.pause();\n }\n\n function onToastLeave(toast: ToastConfiguration): void {\n if (toast.toastBehaviour.pauseOnHover)\n toast.timer?.resume();\n }\n\n function onClick(toastBehaviour: ToastBehaviour): void {\n toastBehaviour.onToastClick?.();\n }\n\n function onToastHidden(): void {\n toggle(queue.value.length > 0);\n }\n\n // Effects\n onBeforeMount(() => {\n on('toastNotify', createToast);\n on('toastClose', toastRemove);\n on('toastUpdate', toastUpdate);\n on('toastCloseAll', clearAll);\n });\n\n onBeforeUnmount(() => {\n off('toastNotify', createToast);\n off('toastClose', toastRemove);\n off('toastUpdate', toastUpdate);\n off('toastCloseAll', clearAll);\n });\n\n useElevation(root, isActive);\n\n return {\n on,\n off,\n classes,\n transitionName,\n isActive,\n toggle,\n addItem,\n removeItem,\n clearAll,\n getItem,\n queue,\n root,\n createToast,\n toastUpdate,\n toastRemove,\n onToastEnter,\n onToastLeave,\n onClick,\n onToastHidden,\n };\n },\n});\n</script>\n\n<style lang=\"scss\" scoped>\n$header-height: 48px;\n$spacing: 32px;\n\n.or-toast--transition-slide-enter-active,\n.or-toast--transition-slide-leave-active {\n transition: transform 0.4s ease;\n}\n\n.or-toast--transition-slide-enter-from.or-toast--position-right,\n.or-toast--transition-slide-leave-to.or-toast--position-right {\n transform: translateX(999px);\n}\n\n.or-toast--transition-slide-enter-from.or-toast--position-left,\n.or-toast--transition-slide-leave-to.or-toast--position-left {\n transform: translateX(-999px);\n}\n\n.or-toast--transition-fade-enter-active,\n.or-toast--transition-fade-leave-active {\n transition: opacity 0.4s ease;\n}\n\n.or-toast--transition-fade-enter-from,\n.or-toast--transition-fade-leave-to {\n opacity: 0;\n}\n</style>\n","import { noop } from '@vueuse/core';\n\nexport default class Timer {\n private startedAt: number| null = null;\n private timer: ReturnType<typeof setTimeout> | null = null;\n private callback: () => void = noop;\n private delay = 0;\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n constructor() {}\n\n start(callback: () => void, delay?: number) {\n if (delay && delay > 0) {\n this.callback = callback;\n this.delay = delay;\n this.startedAt = Date.now();\n this.timer = setTimeout(this.callback, this.delay);\n }\n }\n\n pause() {\n if (this.timer && this.startedAt) {\n this.stop();\n this.delay -= Date.now() - this.startedAt;\n }\n }\n\n resume() {\n this.stop();\n if (this.delay > 0) {\n this.startedAt = Date.now();\n this.timer = setTimeout(this.callback, this.delay);\n }\n }\n\n stop() {\n if (this.timer)\n clearTimeout(this.timer);\n }\n}\n","import { ToastType } from '../props';\nimport Timer from '../Timer';\nimport { ToastBehaviour, ToastConfiguration, ToastProps, UseToastNotifyReturnsV3 } from '../types';\nimport useToastEventBus from './useToastEventBus';\n\n\nexport default function useToast(globalToastProps: ToastProps = {}) {\n const { emit } = useToastEventBus();\n\n function notify(props: ToastProps, behaviour: ToastBehaviour = {}): UseToastNotifyReturnsV3 {\n const { duration = 5000, pauseOnHover = true, onToastClose, onToastClick } = behaviour;\n const propsData = {\n ...props,\n ...globalToastProps,\n };\n\n const config: ToastConfiguration = {\n toastProps: propsData,\n //generate ToastHash\n hash: Math.random().toString(36).slice(2),\n ...(Number.isInteger(duration) && { timer: new Timer() }),\n toastBehaviour: {\n duration,\n pauseOnHover,\n onToastClose,\n onToastClick,\n },\n };\n\n emit('toastNotify', config);\n\n return ({\n close: () => emit('toastClose', config),\n update: (data: ToastProps) => emit('toastUpdate', {\n ...config,\n toastProps: {\n ...config.toastProps,\n ...data,\n },\n }),\n });\n }\n\n function clearAll(): void {\n emit('toastCloseAll');\n }\n\n function success(props: ToastProps, behaviour: ToastBehaviour = {}): UseToastNotifyReturnsV3 {\n return notify({\n ...props,\n toastType: ToastType.Success,\n }, behaviour);\n }\n\n function error(props: ToastProps, behaviour: ToastBehaviour = {}): UseToastNotifyReturnsV3 {\n return notify({\n ...props,\n toastType: ToastType.Error,\n }, behaviour);\n }\n\n\n function loading(props: ToastProps, behaviour: ToastBehaviour = {}): UseToastNotifyReturnsV3 {\n return notify({\n dismissible: false,\n ...props,\n toastType: ToastType.Loading,\n }, {\n ...behaviour,\n duration: 0, // <- toast with type \"loading\" will not cloe automatically\n });\n }\n\n return {\n notify,\n clearAll,\n success,\n error,\n loading,\n };\n}\n"],"names":["PositionsX","PositionsY","TransitionType","ToastType","Toast","ToastContainer","ToastContainerPositions","messageStyleVariant","_sfc_main$1","defineComponent","OrIconButton","OrLoader","props","context","root","ref","rootStyles","computed","toastIconStyle","messageStyle","loaderStyle","emojiSrc","successPng","errorPng","hrefTarget","_a","onClose","onLinkClick","event","_c","_b","_hoisted_2","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_ctx","_component_OrLoader","_hoisted_1","_createCommentVNode","_createElementVNode","_hoisted_3","_toDisplayString","_createBlock","_component_OrIconButton","useQueue","initialValue","queue","item","refItem","condition","index","i","idx","q","useToastEventBus","busPull","useEventBus","namedQueue","listener","data","useToastEventBus$1","createSharedComposable","_sfc_main","OrTeleport","OrToast","on","off","queueRef","addItem","removeItem","clearAll","getItem","isActive","toggle","useToggle","classes","transitionName","value","createToast","toastConfiguration","caller","toastRemove","nextTick","toastUpdate","toast","toastItem","onToastEnter","onToastLeave","onClick","toastBehaviour","onToastHidden","onBeforeMount","onBeforeUnmount","useElevation","_component_OrTeleport","_withCtx","_createVNode","_TransitionGroup","_Fragment","_renderList","_component_OrToast","_mergeProps","$event","Timer","noop","callback","delay","useToast","globalToastProps","emit","notify","behaviour","duration","pauseOnHover","onToastClose","onToastClick","config","success","error","loading"],"mappings":"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"}
|
|
@@ -1021,11 +1021,12 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
1021
1021
|
open: () => void;
|
|
1022
1022
|
close: () => void;
|
|
1023
1023
|
state: Readonly<import("vue").Ref<string>>;
|
|
1024
|
-
|
|
1025
|
-
|
|
1024
|
+
handleMouseLeaveMenu: (event: MouseEvent) => void;
|
|
1025
|
+
handleMouseLeaveSubMenuItem: (event: MouseEvent) => void;
|
|
1026
|
+
handleMouseEnterSubMenuItem: () => void;
|
|
1026
1027
|
handleClick: () => void;
|
|
1028
|
+
handleClickOnTrigger: (event: MouseEvent) => void;
|
|
1027
1029
|
capturedContent: import("vue").Ref<string | null>;
|
|
1028
|
-
capturePopoverContent: () => void;
|
|
1029
1030
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "update:state" | "open" | "close" | "focus" | "blur")[], "click" | "update:state" | "open" | "close" | "focus" | "blur", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
1030
1031
|
icon: {
|
|
1031
1032
|
type: PropType<string | {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@onereach/ui-components",
|
|
3
|
-
"version": "25.1.1-beta.
|
|
3
|
+
"version": "25.1.1-beta.5757.0",
|
|
4
4
|
"description": "Vue components library for v3",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -46,8 +46,8 @@
|
|
|
46
46
|
"@codemirror/view": "^6",
|
|
47
47
|
"@floating-ui/dom": "1.5.3",
|
|
48
48
|
"@lezer/highlight": "*",
|
|
49
|
-
"@onereach/styles": "^25.1.1-beta.
|
|
50
|
-
"@onereach/ui-components-common": "^25.1.1-beta.
|
|
49
|
+
"@onereach/styles": "^25.1.1-beta.5757.0",
|
|
50
|
+
"@onereach/ui-components-common": "^25.1.1-beta.5757.0",
|
|
51
51
|
"@splidejs/splide": "4.0.6",
|
|
52
52
|
"@tiptap/core": "2.0.3",
|
|
53
53
|
"@tiptap/extension-blockquote": "2.0.3",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OrPopover-B0AoMLqH.mjs","sources":["../../../components/or-popover-v3/src/hooks/useFloating.ts","../../../components/or-popover-v3/src/props.ts","../../../components/or-popover-v3/src/styles.ts","../../../components/or-popover-v3/src/utils/isPrevented.ts","../../../components/or-popover-v3/src/OrPopover.vue"],"sourcesContent":["import type { FloatingElement, MiddlewareData, ReferenceElement } from '@floating-ui/dom';\nimport { computePosition } from '@floating-ui/dom';\nimport { Ref, computed, getCurrentScope, onScopeDispose, ref, shallowReadonly, shallowRef, unref, watch } from 'vue';\n\nimport type {\n UseFloatingOptions,\n UseFloatingReturn,\n MaybeElement,\n} from './types';\n\n// https://github.com/floating-ui/floating-ui/blob/master/packages/vue/src/useFloating.ts\n/**\n * Computes the `x` and `y` coordinates that will place the floating element next to a reference element when it is given a certain CSS positioning strategy.\n * @param reference The reference template ref.\n * @param floating The floating template ref.\n * @param options The floating options.\n * @see https://floating-ui.com/docs/vue\n */\n\nimport type { ComponentPublicInstance } from 'vue';\n\nfunction roundByDPR(element: Element, value: number) {\n const dpr = getDPR(element);\n return Math.round(value * dpr) / dpr;\n}\nfunction getDPR(element: Element): number {\n if (typeof window === 'undefined') {\n return 1;\n }\n const win = element.ownerDocument.defaultView || window;\n return win.devicePixelRatio || 1;\n}\nfunction unwrapElement<T>(element: MaybeElement<T>) {\n return ((element as Exclude<MaybeElement<T>, T>)?.$el ?? element) as Exclude<\n MaybeElement<T>,\n ComponentPublicInstance\n >;\n}\nexport function useFloating<T extends ReferenceElement = ReferenceElement>(\n reference: Readonly<Ref<MaybeElement<T>>>,\n floating: Readonly<Ref<MaybeElement<FloatingElement>>>,\n options: UseFloatingOptions<T> = {}\n): UseFloatingReturn {\n const whileElementsMountedOption = options.whileElementsMounted;\n const openOption = computed(() => unref(options.open) ?? true);\n const middlewareOption = computed(() => unref(options.middleware));\n const placementOption = computed(() => unref(options.placement) ?? 'bottom');\n const strategyOption = computed(() => unref(options.strategy) ?? 'absolute');\n const transformOption = computed(() => unref(options.transform) ?? true);\n const referenceElement = computed(() => unwrapElement(reference.value));\n const floatingElement = computed(() => unwrapElement(floating.value));\n const x = ref(0);\n const y = ref(0);\n const strategy = ref(strategyOption.value);\n const placement = ref(placementOption.value);\n const middlewareData = shallowRef<MiddlewareData>({});\n const isPositioned = ref(false);\n const floatingStyles = computed(() => {\n const initialStyles = {\n position: strategy.value,\n left: '0',\n top: '0',\n };\n\n if (!floatingElement.value) {\n return initialStyles;\n }\n\n const xVal = roundByDPR(floatingElement.value, x.value);\n const yVal = roundByDPR(floatingElement.value, y.value);\n\n if (transformOption.value) {\n return {\n ...initialStyles,\n transform: `translate(${xVal}px, ${yVal}px)`,\n ...(getDPR(floatingElement.value) >= 1.5 && { willChange: 'transform' }),\n };\n }\n\n return {\n position: strategy.value,\n left: `${xVal}px`,\n top: `${yVal}px`,\n };\n });\n\n let whileElementsMountedCleanup: (() => void) | undefined;\n\n function update() {\n if (referenceElement.value == null || floatingElement.value == null) {\n return;\n }\n\n computePosition(referenceElement.value, floatingElement.value, {\n middleware: middlewareOption.value,\n placement: placementOption.value,\n strategy: strategyOption.value,\n }).then((position) => {\n x.value = position.x;\n y.value = position.y;\n strategy.value = position.strategy;\n placement.value = position.placement;\n middlewareData.value = position.middlewareData;\n isPositioned.value = true;\n });\n }\n\n function cleanup() {\n if (typeof whileElementsMountedCleanup === 'function') {\n whileElementsMountedCleanup();\n whileElementsMountedCleanup = undefined;\n }\n }\n\n function attach() {\n cleanup();\n\n if (whileElementsMountedOption === undefined) {\n update();\n return;\n }\n\n if (referenceElement.value != null && floatingElement.value != null) {\n whileElementsMountedCleanup = whileElementsMountedOption(\n referenceElement.value,\n floatingElement.value,\n update\n );\n return;\n }\n }\n\n function reset() {\n if (!openOption.value) {\n isPositioned.value = false;\n }\n }\n\n watch([middlewareOption, placementOption, strategyOption], update, {\n flush: 'sync',\n });\n watch([referenceElement, floatingElement], attach, { flush: 'sync' });\n watch(openOption, reset, { flush: 'sync' });\n\n if (getCurrentScope()) {\n onScopeDispose(cleanup);\n }\n\n return {\n x: shallowReadonly(x),\n y: shallowReadonly(y),\n strategy: shallowReadonly(strategy),\n placement: shallowReadonly(placement),\n middlewareData: shallowReadonly(middlewareData),\n isPositioned: shallowReadonly(isPositioned),\n floatingStyles,\n update,\n };\n}\n","import { offset } from '@floating-ui/dom';\n\nexport enum PopoverVariant {\n Auto = 'auto',\n Popover = 'popover',\n BottomSheet = 'bottom-sheet',\n}\n\nexport enum PopoverPlacement {\n Top = 'top',\n TopStart = 'top-start',\n TopEnd = 'top-end',\n Bottom = 'bottom',\n BottomStart = 'bottom-start',\n BottomEnd = 'bottom-end',\n Left = 'left',\n LeftStart = 'left-start',\n LeftEnd = 'left-end',\n Right = 'right',\n RightStart = 'right-start',\n RightEnd = 'right-end',\n}\n\nexport type PopoverOffset = NonNullable<Parameters<typeof offset>[0]>;\n","import { PopoverPlacement } from './props';\n\nexport const Popover: string[] = [\n // Position\n 'absolute',\n];\n\nexport const PopoverBody: string[] = [\n // Shape\n 'rounded-md',\n\n // Spacing\n 'mx-sm',\n 'my-sm',\n\n // Elevation\n 'shadow-contextual',\n 'dark:shadow-contextual-dark',\n\n // Theme\n 'theme-background-default',\n 'dark:theme-background-default-dark',\n\n 'theme-foreground-default',\n 'dark:theme-foreground-default-dark',\n];\n\nexport const PopoverBodyPlacements: Record<PopoverPlacement, string[]> = {\n [PopoverPlacement.Top]: [\n // Spacing\n 'mb-0',\n ],\n\n [PopoverPlacement.TopStart]: [\n // Spacing\n 'mb-0',\n 'ml-0',\n ],\n\n [PopoverPlacement.TopEnd]: [\n // Spacing\n 'mb-0',\n 'mr-0',\n ],\n\n [PopoverPlacement.Bottom]: [\n // Spacing\n 'mt-0',\n ],\n\n [PopoverPlacement.BottomStart]: [\n // Spacing\n 'mt-0',\n 'ml-0',\n ],\n\n [PopoverPlacement.BottomEnd]: [\n // Spacing\n 'mt-0',\n 'mr-0',\n ],\n\n [PopoverPlacement.Left]: [\n // Spacing\n 'mr-0',\n ],\n\n [PopoverPlacement.LeftStart]: [\n // Spacing\n 'mr-0',\n 'mt-0',\n ],\n\n [PopoverPlacement.LeftEnd]: [\n // Spacing\n 'mr-0',\n 'mb-0',\n ],\n\n [PopoverPlacement.Right]: [\n // Spacing\n 'ml-0',\n ],\n\n [PopoverPlacement.RightStart]: [\n // Spacing\n 'ml-0',\n 'mt-0',\n ],\n\n [PopoverPlacement.RightEnd]: [\n // Spacing\n 'ml-0',\n 'mb-0',\n ],\n};\n","import { isAncestor } from '@onereach/ui-components-common/utils';\n\nexport function isPrevented(path: Element[], trigger: Element): boolean {\n return path.some((element) => {\n const { classList } = element;\n\n if (!isAncestor(element, trigger)) {\n if (classList?.contains('or-popover-v3')) {\n return true;\n }\n\n if (classList?.contains('or-bottom-sheet-v3')) {\n return true;\n }\n\n if (classList?.contains('or-confirm-v3')) {\n return true;\n }\n }\n\n return false;\n });\n}\n","<template>\n <OrTeleport v-if=\"keepAlive || state === 'open'\">\n <div\n v-show=\"state === 'open'\"\n :ref=\"'containerRoot'\"\n :class=\"['contents']\"\n >\n <template v-if=\"isDesktop && variant === 'auto' || variant === 'popover'\">\n <div\n v-show=\"!isHidden\"\n v-bind=\"$attrs\"\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :style=\"floatingStyles\"\n >\n <template v-if=\"disableDefaultStyles\">\n <slot />\n </template>\n\n <template v-else>\n <div :class=\"bodyStyles\">\n <slot />\n </div>\n </template>\n </div>\n </template>\n\n <template v-if=\"isMobile && variant === 'auto' || variant === 'bottom-sheet'\">\n <OrBottomSheet\n :ref=\"'bottomSheet'\"\n v-bind=\"bottomSheetProps\"\n :is-open=\"state === 'open'\"\n @update:state=\"$event === 'open' ? open() : close()\"\n >\n <slot />\n </OrBottomSheet>\n </template>\n </div>\n </OrTeleport>\n</template>\n\n<script lang=\"ts\">\nimport { FlipOptions, HideOptions, ReferenceElement, autoUpdate, flip, hide, offset as offsetMiddleware, shift, size } from '@floating-ui/dom';\nimport { useElevation, usePopoverState, useResponsive } from '@onereach/ui-components-common/hooks';\nimport { OrBottomSheetV3 as OrBottomSheet } from '@onereach/ui-components.or-bottom-sheet-v3';\nimport { OrTeleportV3 as OrTeleport } from '@onereach/ui-components.or-teleport-v3';\nimport { MaybeElementRef, onClickOutside } from '@vueuse/core';\nimport { PropType, computed, defineComponent, ref, toRef, toRefs, watch } from 'vue';\n\nimport { useFloating } from './hooks/useFloating';\nimport { PopoverOffset, PopoverPlacement, PopoverVariant } from './props';\nimport { Popover, PopoverBody, PopoverBodyPlacements } from './styles';\nimport { isPrevented } from './utils';\n\nexport default defineComponent({\n name: 'OrPopover',\n\n components: {\n OrBottomSheet,\n OrTeleport,\n },\n\n inheritAttrs: false,\n\n props: {\n // @workaround for Vue 2\n customStyles: {\n type: Array as PropType<string[]>,\n default: () => [],\n },\n\n isOpen: {\n type: Boolean,\n default: false,\n },\n\n variant: {\n type: String as PropType<`${PopoverVariant}`>,\n default: () => PopoverVariant.Auto,\n },\n\n bottomSheetProps: {\n type: Object as PropType<InstanceType<typeof OrBottomSheet>['$props']>,\n default: undefined,\n },\n\n trigger: {\n type: Object as PropType<ReferenceElement>,\n default: undefined,\n },\n\n placement: {\n type: String as PropType<`${PopoverPlacement}`>,\n default: () => PopoverPlacement.Bottom,\n },\n\n fallbackPlacement: {\n type: String as PropType<FlipOptions['fallbackAxisSideDirection']>,\n default: 'end',\n },\n\n hideOptions: {\n type: Object as PropType<HideOptions>,\n default: undefined,\n },\n\n offset: {\n type: [Number, Object, Function] as PropType<PopoverOffset>,\n default: 8,\n },\n\n fullWidth: {\n type: Boolean,\n default: false,\n },\n\n disableDefaultStyles: {\n type: Boolean,\n default: false,\n },\n\n keepAlive: {\n type: Boolean,\n default: true,\n },\n },\n\n emits: [\n 'update:state',\n\n 'open',\n 'close',\n ],\n\n expose: [\n 'root',\n\n 'state',\n\n 'isFlipped',\n 'isHidden',\n\n 'open',\n 'close',\n 'toggle',\n\n 'bottomSheet',\n ],\n\n setup(props, context) {\n // Refs\n const root = ref<HTMLElement>();\n const containerRoot = ref<HTMLElement>();\n\n const bottomSheet = ref<InstanceType<typeof OrBottomSheet>>();\n const bottomSheetRoot = computed(() => bottomSheet.value?.root);\n\n const { trigger, placement, offset, fullWidth, hideOptions } = toRefs(props);\n\n const isFlipped = computed(() => computedPlacement.value !== placement.value);\n const isHidden = computed(() => Boolean(middlewareData.value.hide?.referenceHidden));\n\n // Styles\n const rootStyles = computed(() => [\n 'or-popover-v3',\n ...Popover,\n ...'class' in context.attrs ? [] : props.customStyles,\n ]);\n\n const bodyStyles = computed(() => [\n ...PopoverBody,\n ...PopoverBodyPlacements[computedPlacement.value],\n ]);\n\n // State\n const { state, open, close, toggle } = usePopoverState(toRef(props, 'isOpen'), context.emit);\n\n const { floatingStyles, middlewareData, placement: computedPlacement } = useFloating(trigger, root, {\n placement,\n\n middleware: [\n offsetMiddleware(offset.value),\n shift(),\n flip(() => ({ fallbackAxisSideDirection: props.fallbackPlacement })),\n hide(hideOptions.value),\n\n size({\n apply({ rects, elements }) {\n if (fullWidth.value) {\n Object.assign(elements.floating.style, {\n width: `${rects.reference.width}px`,\n });\n }\n },\n }),\n ],\n\n whileElementsMounted(...args) {\n return autoUpdate(...args, { animationFrame: true });\n },\n });\n\n // Helpers\n const { isDesktop, isMobile } = useResponsive(containerRoot);\n\n // #region Elevation\n useElevation(root, state);\n // #endregion\n\n // #region Click Outside\n onClickOutside(root, (event) => {\n if (state.value === 'open' && !isPrevented(event.composedPath() as Element[], props.trigger as Element)) {\n close();\n }\n }, {\n ignore: [trigger as MaybeElementRef],\n });\n // #endregion\n\n return {\n root,\n containerRoot,\n bottomSheet,\n bottomSheetRoot,\n rootStyles,\n bodyStyles,\n floatingStyles,\n state,\n isFlipped,\n isHidden,\n isDesktop,\n isMobile,\n open,\n close,\n toggle,\n };\n },\n});\n</script>\n"],"names":["roundByDPR","element","value","dpr","getDPR","unwrapElement","useFloating","reference","floating","options","whileElementsMountedOption","openOption","computed","unref","middlewareOption","placementOption","strategyOption","transformOption","referenceElement","floatingElement","x","ref","y","strategy","placement","middlewareData","shallowRef","isPositioned","floatingStyles","initialStyles","xVal","yVal","whileElementsMountedCleanup","update","computePosition","position","cleanup","attach","reset","watch","getCurrentScope","onScopeDispose","shallowReadonly","PopoverVariant","PopoverPlacement","Popover","PopoverBody","PopoverBodyPlacements","isPrevented","path","trigger","classList","isAncestor","_sfc_main","defineComponent","OrBottomSheet","OrTeleport","props","context","root","containerRoot","bottomSheet","bottomSheetRoot","_a","offset","fullWidth","hideOptions","toRefs","isFlipped","computedPlacement","isHidden","rootStyles","bodyStyles","state","open","close","toggle","usePopoverState","toRef","offsetMiddleware","shift","flip","hide","size","rects","elements","args","autoUpdate","isDesktop","isMobile","useResponsive","useElevation","onClickOutside","event","_hoisted_1","_resolveComponent","_ctx","_openBlock","_createBlock","_component_OrTeleport","_withCtx","_withDirectives","_createElementVNode","_createElementBlock","_mergeProps","_renderSlot","_normalizeClass","_createCommentVNode","_component_OrBottomSheet","_cache","$event"],"mappings":"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"}
|
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
import { usePopoverState as _ } from "@onereach/ui-components-common";
|
|
2
|
-
import { O as N } from "./OrIcon-k8cyvh-D.mjs";
|
|
3
|
-
import { O as V } from "./OrMenuItem-CohVxMQ3.mjs";
|
|
4
|
-
import { O as w } from "./OrMenu-BT2QshNv.mjs";
|
|
5
|
-
import { a as R } from "./OrPopover-B0AoMLqH.mjs";
|
|
6
|
-
import { defineComponent as j, toRef as q, ref as u, nextTick as E, resolveComponent as c, openBlock as L, createBlock as z, withCtx as d, createVNode as y, renderSlot as $, createElementVNode as A, createElementBlock as D, createCommentVNode as F } from "vue";
|
|
7
|
-
import "@onereach/ui-components-common/utils";
|
|
8
|
-
import { _ as G } from "./_plugin-vue_export-helper-CHgC5LLL.mjs";
|
|
9
|
-
const J = j({
|
|
10
|
-
name: "OrSubMenuItem",
|
|
11
|
-
components: {
|
|
12
|
-
OrMenuItem: V,
|
|
13
|
-
OrIcon: N,
|
|
14
|
-
OrMenu: w
|
|
15
|
-
},
|
|
16
|
-
props: {
|
|
17
|
-
icon: {
|
|
18
|
-
type: [String, Object],
|
|
19
|
-
default: void 0
|
|
20
|
-
},
|
|
21
|
-
selected: {
|
|
22
|
-
type: Boolean,
|
|
23
|
-
default: !1
|
|
24
|
-
},
|
|
25
|
-
disabled: {
|
|
26
|
-
type: Boolean,
|
|
27
|
-
default: !1
|
|
28
|
-
},
|
|
29
|
-
placement: {
|
|
30
|
-
type: String,
|
|
31
|
-
default: () => R.RightStart
|
|
32
|
-
},
|
|
33
|
-
tooltipText: {
|
|
34
|
-
type: String,
|
|
35
|
-
default: ""
|
|
36
|
-
}
|
|
37
|
-
},
|
|
38
|
-
emits: [
|
|
39
|
-
"open",
|
|
40
|
-
"close",
|
|
41
|
-
"update:state",
|
|
42
|
-
"click",
|
|
43
|
-
"focus",
|
|
44
|
-
"blur"
|
|
45
|
-
],
|
|
46
|
-
expose: [
|
|
47
|
-
"root"
|
|
48
|
-
],
|
|
49
|
-
setup(e, p) {
|
|
50
|
-
const { state: m, open: s, close: f } = _(q(e, "selected"), p.emit), r = u(null), n = u(null), l = u(null);
|
|
51
|
-
function i(t) {
|
|
52
|
-
var v, g, O, h, C, T;
|
|
53
|
-
const o = t.relatedTarget, a = document.createElement("div");
|
|
54
|
-
a.innerHTML = l.value || "";
|
|
55
|
-
const P = o && a.contains(o);
|
|
56
|
-
o && (((g = (v = n.value) == null ? void 0 : v.root) == null ? void 0 : g.contains(o)) || ((h = (O = r.value) == null ? void 0 : O.root) == null ? void 0 : h.contains(o)) || P) || (console.log(t.relatedTarget), console.log((C = n.value) == null ? void 0 : C.root), console.log((T = r.value) == null ? void 0 : T.root)), E(() => {
|
|
57
|
-
var k, I, b, S;
|
|
58
|
-
(I = (k = n.value) == null ? void 0 : k.root) != null && I.contains(t.relatedTarget) || (console.log(t.relatedTarget), console.log((b = n.value) == null ? void 0 : b.root), console.log((S = r.value) == null ? void 0 : S.root));
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
function B() {
|
|
62
|
-
s(), E(() => {
|
|
63
|
-
M();
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
function H() {
|
|
67
|
-
var t, o;
|
|
68
|
-
(o = (t = r.value) == null ? void 0 : t.root) == null || o.click();
|
|
69
|
-
}
|
|
70
|
-
function M() {
|
|
71
|
-
var t, o, a;
|
|
72
|
-
(t = n.value) != null && t.root && (l.value = (a = (o = n.value.popover) == null ? void 0 : o.root) == null ? void 0 : a.innerHTML);
|
|
73
|
-
}
|
|
74
|
-
return {
|
|
75
|
-
root: r,
|
|
76
|
-
menu: n,
|
|
77
|
-
open: s,
|
|
78
|
-
close: f,
|
|
79
|
-
state: m,
|
|
80
|
-
handleMouseLeave: i,
|
|
81
|
-
handleMouseEnter: B,
|
|
82
|
-
handleClick: H,
|
|
83
|
-
capturedContent: l,
|
|
84
|
-
capturePopoverContent: M
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
}), K = { class: "hidden" }, Q = ["innerHTML"];
|
|
88
|
-
function U(e, p, m, s, f, r) {
|
|
89
|
-
const n = c("OrIcon"), l = c("OrMenu"), i = c("OrMenuItem");
|
|
90
|
-
return L(), z(i, {
|
|
91
|
-
ref: "root",
|
|
92
|
-
icon: e.icon,
|
|
93
|
-
selected: e.selected || e.state === "open",
|
|
94
|
-
disabled: e.disabled,
|
|
95
|
-
"tooltip-text": e.tooltipText,
|
|
96
|
-
onMouseenter: e.handleMouseEnter,
|
|
97
|
-
onMouseleave: e.handleMouseLeave
|
|
98
|
-
}, {
|
|
99
|
-
append: d(() => [
|
|
100
|
-
y(n, { icon: "arrow_right" })
|
|
101
|
-
]),
|
|
102
|
-
default: d(() => [
|
|
103
|
-
$(e.$slots, "default"),
|
|
104
|
-
y(l, {
|
|
105
|
-
ref: "menu",
|
|
106
|
-
"is-open": e.state === "open",
|
|
107
|
-
trigger: e.root && e.root.root,
|
|
108
|
-
placement: e.placement,
|
|
109
|
-
offset: 0,
|
|
110
|
-
onMouseenter: e.handleMouseEnter,
|
|
111
|
-
onMouseleave: e.handleMouseLeave,
|
|
112
|
-
onClick: e.handleClick
|
|
113
|
-
}, {
|
|
114
|
-
default: d(() => [
|
|
115
|
-
$(e.$slots, "items")
|
|
116
|
-
]),
|
|
117
|
-
_: 3
|
|
118
|
-
}, 8, ["is-open", "trigger", "placement", "onMouseenter", "onMouseleave", "onClick"]),
|
|
119
|
-
A("div", K, [
|
|
120
|
-
e.capturedContent ? (L(), D("div", {
|
|
121
|
-
key: 0,
|
|
122
|
-
innerHTML: e.capturedContent
|
|
123
|
-
}, null, 8, Q)) : F("", !0)
|
|
124
|
-
])
|
|
125
|
-
]),
|
|
126
|
-
_: 3
|
|
127
|
-
}, 8, ["icon", "selected", "disabled", "tooltip-text", "onMouseenter", "onMouseleave"]);
|
|
128
|
-
}
|
|
129
|
-
const re = /* @__PURE__ */ G(J, [["render", U]]);
|
|
130
|
-
export {
|
|
131
|
-
re as O
|
|
132
|
-
};
|
|
133
|
-
//# sourceMappingURL=OrSubMenuItem-DqJU7EI4.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OrSubMenuItem-DqJU7EI4.mjs","sources":["../../../components/or-sub-menu-item-v3/src/OrSubMenuItem.vue"],"sourcesContent":["<template>\n <OrMenuItem\n ref=\"root\"\n :icon=\"icon\"\n :selected=\"selected || state === 'open'\"\n :disabled=\"disabled\"\n :tooltip-text=\"tooltipText\"\n @mouseenter=\"handleMouseEnter\"\n @mouseleave=\"handleMouseLeave\"\n >\n <slot />\n <template v-slot:append>\n <OrIcon\n icon=\"arrow_right\"\n />\n </template>\n <OrMenu\n ref=\"menu\"\n :is-open=\"state === 'open'\"\n :trigger=\"root && root.root\"\n :placement=\"placement\"\n :offset=\"0\"\n @mouseenter=\"handleMouseEnter\"\n @mouseleave=\"handleMouseLeave\"\n @click=\"handleClick\"\n >\n <slot name=\"items\" />\n </OrMenu>\n <div class=\"hidden\">\n <div\n v-if=\"capturedContent\"\n v-html=\"capturedContent\"\n />\n </div>\n </OrMenuItem>\n</template>\n\n<script lang=\"ts\">\nimport { usePopoverState } from '@onereach/ui-components-common';\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 { PopoverPlacement } from '@onereach/ui-components.or-popover-v3';\nimport { defineComponent, nextTick, PropType, ref, toRef } from 'vue';\n\n\nexport default defineComponent({\n name: 'OrSubMenuItem',\n\n components: {\n OrMenuItem,\n OrIcon,\n OrMenu,\n },\n props: {\n icon: {\n type: [String, Object] as PropType<string | InstanceType<typeof OrIcon>['$props']>,\n default: undefined,\n },\n\n selected: {\n type: Boolean,\n default: false,\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n\n placement: {\n type: String as PropType<`${PopoverPlacement}`>,\n default: () => PopoverPlacement.RightStart,\n },\n\n tooltipText: {\n type: String,\n default: '',\n },\n },\n\n\n emits: [\n 'open',\n 'close',\n 'update:state',\n\n 'click',\n 'focus',\n 'blur',\n ],\n\n expose: [\n 'root',\n ],\n\n setup(props, context) {\n const { state, open, close } = usePopoverState(toRef(props, 'selected'), context.emit);\n\n\n const root = ref<InstanceType<typeof OrMenuItem> | null>(null);\n const menu = ref<InstanceType<typeof OrMenu> | null>(null);\n const capturedContent = ref<string | null>(null);\n\n\n function handleMouseLeave(event: MouseEvent) {\n const relatedTarget = event.relatedTarget as Node | null;\n\n // Create a temporary DOM element to parse the captured content\n const tempElement = document.createElement('div');\n tempElement.innerHTML = capturedContent.value || '';\n\n // Check if the relatedTarget is inside the parsed content\n const isInsideCapturedContent = relatedTarget && tempElement.contains(relatedTarget);\n\n // Check if the relatedTarget is inside the current menu or root\n const isInsideMenu = relatedTarget && (\n menu.value?.root?.contains(relatedTarget) ||\n root.value?.root?.contains(relatedTarget) ||\n isInsideCapturedContent\n );\n\n if (!isInsideMenu) {\n console.log(event.relatedTarget);\n console.log(menu.value?.root);\n console.log(root.value?.root);\n // close();\n }\n nextTick(() => {\n if (!menu.value?.root?.contains(event.relatedTarget as Node)) {\n console.log(event.relatedTarget);\n console.log(menu.value?.root);\n console.log(root.value?.root);\n // close();\n }\n });\n }\n\n function handleMouseEnter() {\n open();\n nextTick(() => {\n capturePopoverContent();\n });\n }\n\n\n function handleClick() {\n root.value?.root?.click();\n }\n\n function capturePopoverContent() {\n if (menu.value?.root) {\n capturedContent.value = menu.value.popover?.root?.innerHTML;\n }\n }\n\n return {\n root,\n menu,\n open,\n close,\n state,\n handleMouseLeave,\n handleMouseEnter,\n handleClick,\n capturedContent,\n capturePopoverContent,\n };\n },\n});\n</script>\n"],"names":["_sfc_main","defineComponent","OrMenuItem","OrIcon","OrMenu","PopoverPlacement","props","context","state","open","close","usePopoverState","toRef","root","ref","menu","capturedContent","handleMouseLeave","event","relatedTarget","tempElement","isInsideCapturedContent","_b","_a","_d","_c","_e","_f","nextTick","handleMouseEnter","capturePopoverContent","handleClick","_resolveComponent","_openBlock","_createBlock","_component_OrMenuItem","_ctx","_createVNode","_component_OrIcon","_withCtx","_renderSlot","_component_OrMenu","_createElementVNode","_hoisted_1","_createElementBlock"],"mappings":"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"}
|