@onereach/ui-components 26.2.1 → 26.2.2-beta.5851.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-DUrxhDnG.mjs → OrAutocomplete-b1S9lrS_.mjs} +3 -3
- package/dist/esm/{OrAutocomplete-DUrxhDnG.mjs.map → OrAutocomplete-b1S9lrS_.mjs.map} +1 -1
- package/dist/esm/{OrButton-_RCmYvxT.mjs → OrButton-ZxDr22t7.mjs} +2 -2
- package/dist/esm/{OrButton-_RCmYvxT.mjs.map → OrButton-ZxDr22t7.mjs.map} +1 -1
- package/dist/esm/{OrButton.vue_vue_type_script_lang-CAOLKmru.mjs → OrButton.vue_vue_type_script_lang-CkMyXNEI.mjs} +26 -26
- package/dist/esm/OrButton.vue_vue_type_script_lang-CkMyXNEI.mjs.map +1 -0
- package/dist/esm/{OrButtonGroup-BA_S1Gl5.mjs → OrButtonGroup-CzWH9eea.mjs} +2 -2
- package/dist/esm/{OrButtonGroup-BA_S1Gl5.mjs.map → OrButtonGroup-CzWH9eea.mjs.map} +1 -1
- package/dist/esm/{OrCardCollection-BCS_tX5j.mjs → OrCardCollection-52Rx7yQ3.mjs} +2 -2
- package/dist/esm/{OrCardCollection-BCS_tX5j.mjs.map → OrCardCollection-52Rx7yQ3.mjs.map} +1 -1
- package/dist/esm/{OrCheckboxGroup-BbV_sTYd.mjs → OrCheckboxGroup-C76zxQ10.mjs} +2 -2
- package/dist/esm/{OrCheckboxGroup-BbV_sTYd.mjs.map → OrCheckboxGroup-C76zxQ10.mjs.map} +1 -1
- package/dist/esm/{OrCheckboxTree-Bj6BZxdn.mjs → OrCheckboxTree-D5Ejbly0.mjs} +2 -2
- package/dist/esm/{OrCheckboxTree-Bj6BZxdn.mjs.map → OrCheckboxTree-D5Ejbly0.mjs.map} +1 -1
- package/dist/esm/{OrConfirm-CHaw4Kx9.mjs → OrConfirm-DaPDWu0q.mjs} +31 -31
- package/dist/esm/OrConfirm-DaPDWu0q.mjs.map +1 -0
- package/dist/esm/{OrDataGrid-DilQSW6Y.mjs → OrDataGrid-BCwAsNEo.mjs} +8 -8
- package/dist/esm/{OrDataGrid-DilQSW6Y.mjs.map → OrDataGrid-BCwAsNEo.mjs.map} +1 -1
- package/dist/esm/{OrDateFormat-tizCaRnI.mjs → OrDateFormat-C6cy1EvX.mjs} +2 -2
- package/dist/esm/{OrDateFormat-tizCaRnI.mjs.map → OrDateFormat-C6cy1EvX.mjs.map} +1 -1
- package/dist/esm/{OrDatePicker-B_N24Q-T.mjs → OrDatePicker-DNeOsEsZ.mjs} +2 -2
- package/dist/esm/{OrDatePicker-B_N24Q-T.mjs.map → OrDatePicker-DNeOsEsZ.mjs.map} +1 -1
- package/dist/esm/{OrDateRangePicker-B1WDbBMb.mjs → OrDateRangePicker-Crpgxb7Q.mjs} +2 -2
- package/dist/esm/{OrDateRangePicker-B1WDbBMb.mjs.map → OrDateRangePicker-Crpgxb7Q.mjs.map} +1 -1
- package/dist/esm/{OrDateTimeFormat-BYiqGZKc.mjs → OrDateTimeFormat-DilIntxx.mjs} +2 -2
- package/dist/esm/{OrDateTimeFormat-BYiqGZKc.mjs.map → OrDateTimeFormat-DilIntxx.mjs.map} +1 -1
- package/dist/esm/{OrDateTimePicker-CNt_o1Js.mjs → OrDateTimePicker-4_NxJ8fZ.mjs} +2 -2
- package/dist/esm/{OrDateTimePicker-CNt_o1Js.mjs.map → OrDateTimePicker-4_NxJ8fZ.mjs.map} +1 -1
- package/dist/esm/{OrDateTimePicker.vue_vue_type_script_lang-Btv1OOQV.mjs → OrDateTimePicker.vue_vue_type_script_lang-DpBAUAHC.mjs} +2 -2
- package/dist/esm/{OrDateTimePicker.vue_vue_type_script_lang-Btv1OOQV.mjs.map → OrDateTimePicker.vue_vue_type_script_lang-DpBAUAHC.mjs.map} +1 -1
- package/dist/esm/{OrFilter-DRhu4YA2.mjs → OrFilter-CYD-gDsX.mjs} +2 -2
- package/dist/esm/{OrFilter-DRhu4YA2.mjs.map → OrFilter-CYD-gDsX.mjs.map} +1 -1
- package/dist/esm/{OrFilterPopover-BZJ1Au34.mjs → OrFilterPopover-DXO-6y8a.mjs} +2 -2
- package/dist/esm/{OrFilterPopover-BZJ1Au34.mjs.map → OrFilterPopover-DXO-6y8a.mjs.map} +1 -1
- package/dist/esm/{OrList-CX3cwJvm.mjs → OrList-B2rj_Y5Z.mjs} +2 -2
- package/dist/esm/{OrList-CX3cwJvm.mjs.map → OrList-B2rj_Y5Z.mjs.map} +1 -1
- package/dist/esm/{OrPagination-pcDCKc9g.mjs → OrPagination-BXzDa-Su.mjs} +2 -2
- package/dist/esm/{OrPagination-pcDCKc9g.mjs.map → OrPagination-BXzDa-Su.mjs.map} +1 -1
- package/dist/esm/{OrRichTextEditor-D0UmlBKz.mjs → OrRichTextEditor-yRGXHaoT.mjs} +2 -2
- package/dist/esm/{OrRichTextEditor-D0UmlBKz.mjs.map → OrRichTextEditor-yRGXHaoT.mjs.map} +1 -1
- package/dist/esm/{OrSelect-ZitJ7RzV.mjs → OrSelect-BeL73iXu.mjs} +3 -3
- package/dist/esm/OrSelect-BeL73iXu.mjs.map +1 -0
- package/dist/esm/{OrSorting-ydjXM1Si.mjs → OrSorting-DdcXOjvm.mjs} +2 -2
- package/dist/esm/{OrSorting-ydjXM1Si.mjs.map → OrSorting-DdcXOjvm.mjs.map} +1 -1
- package/dist/esm/{OrTagInput-Dh7CXsmw.mjs → OrTagInput-B2U22gXE.mjs} +2 -2
- package/dist/esm/{OrTagInput-Dh7CXsmw.mjs.map → OrTagInput-B2U22gXE.mjs.map} +1 -1
- package/dist/esm/{OrTags-Ce70YtZr.mjs → OrTags-dP8zjvgS.mjs} +2 -2
- package/dist/esm/{OrTags-Ce70YtZr.mjs.map → OrTags-dP8zjvgS.mjs.map} +1 -1
- package/dist/esm/{OrTimeFormat-DY_z5-U0.mjs → OrTimeFormat-BDWTGw-r.mjs} +2 -2
- package/dist/esm/{OrTimeFormat-DY_z5-U0.mjs.map → OrTimeFormat-BDWTGw-r.mjs.map} +1 -1
- package/dist/esm/{OrTimePicker-BMaG_y1J.mjs → OrTimePicker-BzUELsN7.mjs} +2 -2
- package/dist/esm/{OrTimePicker-BMaG_y1J.mjs.map → OrTimePicker-BzUELsN7.mjs.map} +1 -1
- package/dist/esm/{OrTimeRangePicker-DFNCEq78.mjs → OrTimeRangePicker-D5-xT9Bk.mjs} +2 -2
- package/dist/esm/{OrTimeRangePicker-DFNCEq78.mjs.map → OrTimeRangePicker-D5-xT9Bk.mjs.map} +1 -1
- package/dist/esm/{OrTree-BEas_s3i.mjs → OrTree-D6Rn9TKW.mjs} +2 -2
- package/dist/esm/{OrTree-BEas_s3i.mjs.map → OrTree-D6Rn9TKW.mjs.map} +1 -1
- package/dist/esm/components/index.mjs +29 -29
- package/dist/esm/components/or-autocomplete-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-confirm-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-filter-popover-v3/index.mjs +1 -1
- package/dist/esm/components/or-filter-v3/index.mjs +1 -1
- package/dist/esm/components/or-list-v3/index.mjs +1 -1
- package/dist/esm/components/or-pagination-v3/index.mjs +1 -1
- package/dist/esm/components/or-rich-text-editor-v3/index.mjs +1 -1
- package/dist/esm/components/or-select-v3/index.mjs +1 -1
- package/dist/esm/components/or-sorting-v3/index.mjs +1 -1
- package/dist/esm/components/or-tag-input-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-tree-v3/index.mjs +1 -1
- package/dist/esm/index.mjs +29 -29
- package/dist/esm/{types-BoAoZvZV.mjs → types-B5xGdMJQ.mjs} +13 -13
- package/dist/esm/types-B5xGdMJQ.mjs.map +1 -0
- package/package.json +4 -5
- package/dist/esm/OrButton.vue_vue_type_script_lang-CAOLKmru.mjs.map +0 -1
- package/dist/esm/OrConfirm-CHaw4Kx9.mjs.map +0 -1
- package/dist/esm/OrSelect-ZitJ7RzV.mjs.map +0 -1
- package/dist/esm/types-BoAoZvZV.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrFilterPopover-BZJ1Au34.mjs","sources":["../../../components/or-filter-popover-v3/src/styles.ts","../../../components/or-filter-popover-v3/src/OrFilterPopover.vue"],"sourcesContent":["export const FilterPopover: string[] = [\n // Layout\n 'layout-column',\n\n // Box\n 'w-auto md:w-[352px]',\n\n // Spacing\n 'px-0 md:px-md',\n 'py-0 md:py-md',\n\n 'gap-md',\n];\n\nexport const FilterPopoverHeader: string[] = [\n // Layout\n 'layout-row',\n\n // Spacing\n 'gap-md',\n\n // Typography\n 'typography-headline-3',\n];\n\nexport const FilterPopoverFooter: string[] = [\n // Layout\n 'layout-row-reverse',\n\n // Spacing\n 'gap-md',\n];\n","<template>\n <div :class=\"['contents']\">\n <template v-if=\"isDesktop\">\n <OrPopover\n :is-open=\"state === 'open'\"\n :variant=\"'popover'\"\n :trigger=\"trigger\"\n :placement=\"placement\"\n :fallback-placement=\"fallbackPlacement\"\n :offset=\"offset\"\n @update:state=\"$event === 'open' ? open() : close()\"\n >\n <div\n v-bind=\"$attrs\"\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <div :class=\"headerStyles\">\n <div :class=\"['grow', 'truncate']\">\n {{ title }}\n </div>\n\n <OrButton\n :variant=\"'link'\"\n @click=\"reset()\"\n >\n {{ resetLabel }}\n </OrButton>\n </div>\n\n <slot />\n\n <slot\n v-bind=\"{ apply, reset, isDesktop, isMobile }\"\n :name=\"'actions'\"\n >\n <div\n v-if=\"enableDesktopControls\"\n :class=\"footerStyles\"\n >\n <OrButton\n :class=\"['grow']\"\n :variant=\"'contained'\"\n @click=\"apply()\"\n >\n {{ applyLabel }}\n </OrButton>\n\n <OrButton\n :class=\"['grow']\"\n :variant=\"'outlined'\"\n @click=\"close()\"\n >\n {{ closeLabel }}\n </OrButton>\n </div>\n </slot>\n </div>\n </OrPopover>\n </template>\n\n <template v-if=\"isMobile\">\n <OrModal\n :is-open=\"state === 'open'\"\n @update:state=\"$event === 'open' ? open() : close()\"\n >\n <template v-slot:header>\n {{ title }}\n </template>\n\n <div\n v-bind=\"$attrs\"\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot />\n </div>\n\n <template v-slot:footer>\n <slot\n v-bind=\"{ apply, reset, isDesktop, isMobile }\"\n :name=\"'actions'\"\n >\n <div :class=\"footerStyles\">\n <OrButton\n :class=\"['grow']\"\n :variant=\"'contained'\"\n @click=\"apply()\"\n >\n {{ applyLabel }}\n </OrButton>\n\n <OrButton\n :class=\"['grow']\"\n :variant=\"'outlined'\"\n @click=\"reset()\"\n >\n {{ resetLabel }}\n </OrButton>\n </div>\n </slot>\n </template>\n </OrModal>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { FlipOptions, ReferenceElement } from '@floating-ui/dom';\nimport { usePopoverState, useResponsive } from '@onereach/ui-components-common/hooks';\nimport { OrButtonV3 as OrButton } from '@onereach/ui-components.or-button-v3';\nimport { OrModalV3 as OrModal } from '@onereach/ui-components.or-modal-v3';\nimport { OrPopoverV3 as OrPopover, PopoverOffset, PopoverPlacement } from '@onereach/ui-components.or-popover-v3';\nimport { PropType, computed, defineComponent, ref, toRef } from 'vue';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrFilterPopover',\n\n components: {\n OrButton,\n OrModal,\n OrPopover,\n },\n\n inheritAttrs: false,\n\n props: {\n isOpen: {\n type: Boolean,\n default: false,\n },\n\n title: {\n type: String,\n default: 'Filters',\n },\n\n applyLabel: {\n type: String,\n default: 'View Results',\n },\n\n resetLabel: {\n type: String,\n default: 'Reset All',\n },\n\n closeLabel: {\n type: String,\n default: 'Close',\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.BottomStart,\n },\n\n fallbackPlacement: {\n type: String as PropType<FlipOptions['fallbackAxisSideDirection']>,\n default: undefined,\n },\n\n enableDesktopControls: {\n type: Boolean,\n default: false,\n },\n\n offset: {\n type: [Number, Object, Function] as PropType<PopoverOffset>,\n default: 8,\n },\n },\n\n emits: [\n 'update:state',\n\n 'open',\n 'close',\n\n 'apply',\n 'reset',\n ],\n\n expose: [\n 'root',\n\n 'state',\n\n 'open',\n 'close',\n 'toggle',\n ],\n\n setup(props, context) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-filter-popover-v3',\n ...Styles.FilterPopover,\n ]);\n\n const headerStyles = computed(() => [\n ...Styles.FilterPopoverHeader,\n ]);\n\n const footerStyles = computed(() => [\n ...Styles.FilterPopoverFooter,\n ]);\n\n // State\n const { state, open, close, toggle } = usePopoverState(toRef(props, 'isOpen'), context.emit);\n\n // Methods\n function apply(): void {\n context.emit('apply');\n }\n\n function reset(): void {\n context.emit('reset');\n }\n\n // Helpers\n const { isDesktop, isMobile } = useResponsive();\n\n return {\n root,\n rootStyles,\n\n headerStyles,\n footerStyles,\n\n state,\n\n open,\n close,\n toggle,\n\n apply,\n reset,\n\n isDesktop,\n isMobile,\n };\n },\n});\n</script>\n"],"names":["FilterPopover","FilterPopoverHeader","FilterPopoverFooter","_sfc_main","defineComponent","OrButton","OrModal","OrPopover","PopoverPlacement","props","context","root","ref","rootStyles","computed","Styles.FilterPopover","headerStyles","Styles.FilterPopoverHeader","footerStyles","Styles.FilterPopoverFooter","state","open","close","toggle","usePopoverState","toRef","apply","reset","isDesktop","isMobile","useResponsive","_component_OrModal","_resolveComponent","_createElementBlock","_hoisted_1","_ctx","_openBlock","_createBlock","_component_OrPopover","_cache","$event","_withCtx","_createElementVNode","_mergeProps","_normalizeClass","_hoisted_2","_toDisplayString","_createVNode","_component_OrButton","_renderSlot","_normalizeProps","_guardReactiveProps","_createTextVNode"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OrFilterPopover-DXO-6y8a.mjs","sources":["../../../components/or-filter-popover-v3/src/styles.ts","../../../components/or-filter-popover-v3/src/OrFilterPopover.vue"],"sourcesContent":["export const FilterPopover: string[] = [\n // Layout\n 'layout-column',\n\n // Box\n 'w-auto md:w-[352px]',\n\n // Spacing\n 'px-0 md:px-md',\n 'py-0 md:py-md',\n\n 'gap-md',\n];\n\nexport const FilterPopoverHeader: string[] = [\n // Layout\n 'layout-row',\n\n // Spacing\n 'gap-md',\n\n // Typography\n 'typography-headline-3',\n];\n\nexport const FilterPopoverFooter: string[] = [\n // Layout\n 'layout-row-reverse',\n\n // Spacing\n 'gap-md',\n];\n","<template>\n <div :class=\"['contents']\">\n <template v-if=\"isDesktop\">\n <OrPopover\n :is-open=\"state === 'open'\"\n :variant=\"'popover'\"\n :trigger=\"trigger\"\n :placement=\"placement\"\n :fallback-placement=\"fallbackPlacement\"\n :offset=\"offset\"\n @update:state=\"$event === 'open' ? open() : close()\"\n >\n <div\n v-bind=\"$attrs\"\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <div :class=\"headerStyles\">\n <div :class=\"['grow', 'truncate']\">\n {{ title }}\n </div>\n\n <OrButton\n :variant=\"'link'\"\n @click=\"reset()\"\n >\n {{ resetLabel }}\n </OrButton>\n </div>\n\n <slot />\n\n <slot\n v-bind=\"{ apply, reset, isDesktop, isMobile }\"\n :name=\"'actions'\"\n >\n <div\n v-if=\"enableDesktopControls\"\n :class=\"footerStyles\"\n >\n <OrButton\n :class=\"['grow']\"\n :variant=\"'contained'\"\n @click=\"apply()\"\n >\n {{ applyLabel }}\n </OrButton>\n\n <OrButton\n :class=\"['grow']\"\n :variant=\"'outlined'\"\n @click=\"close()\"\n >\n {{ closeLabel }}\n </OrButton>\n </div>\n </slot>\n </div>\n </OrPopover>\n </template>\n\n <template v-if=\"isMobile\">\n <OrModal\n :is-open=\"state === 'open'\"\n @update:state=\"$event === 'open' ? open() : close()\"\n >\n <template v-slot:header>\n {{ title }}\n </template>\n\n <div\n v-bind=\"$attrs\"\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot />\n </div>\n\n <template v-slot:footer>\n <slot\n v-bind=\"{ apply, reset, isDesktop, isMobile }\"\n :name=\"'actions'\"\n >\n <div :class=\"footerStyles\">\n <OrButton\n :class=\"['grow']\"\n :variant=\"'contained'\"\n @click=\"apply()\"\n >\n {{ applyLabel }}\n </OrButton>\n\n <OrButton\n :class=\"['grow']\"\n :variant=\"'outlined'\"\n @click=\"reset()\"\n >\n {{ resetLabel }}\n </OrButton>\n </div>\n </slot>\n </template>\n </OrModal>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { FlipOptions, ReferenceElement } from '@floating-ui/dom';\nimport { usePopoverState, useResponsive } from '@onereach/ui-components-common/hooks';\nimport { OrButtonV3 as OrButton } from '@onereach/ui-components.or-button-v3';\nimport { OrModalV3 as OrModal } from '@onereach/ui-components.or-modal-v3';\nimport { OrPopoverV3 as OrPopover, PopoverOffset, PopoverPlacement } from '@onereach/ui-components.or-popover-v3';\nimport { PropType, computed, defineComponent, ref, toRef } from 'vue';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrFilterPopover',\n\n components: {\n OrButton,\n OrModal,\n OrPopover,\n },\n\n inheritAttrs: false,\n\n props: {\n isOpen: {\n type: Boolean,\n default: false,\n },\n\n title: {\n type: String,\n default: 'Filters',\n },\n\n applyLabel: {\n type: String,\n default: 'View Results',\n },\n\n resetLabel: {\n type: String,\n default: 'Reset All',\n },\n\n closeLabel: {\n type: String,\n default: 'Close',\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.BottomStart,\n },\n\n fallbackPlacement: {\n type: String as PropType<FlipOptions['fallbackAxisSideDirection']>,\n default: undefined,\n },\n\n enableDesktopControls: {\n type: Boolean,\n default: false,\n },\n\n offset: {\n type: [Number, Object, Function] as PropType<PopoverOffset>,\n default: 8,\n },\n },\n\n emits: [\n 'update:state',\n\n 'open',\n 'close',\n\n 'apply',\n 'reset',\n ],\n\n expose: [\n 'root',\n\n 'state',\n\n 'open',\n 'close',\n 'toggle',\n ],\n\n setup(props, context) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-filter-popover-v3',\n ...Styles.FilterPopover,\n ]);\n\n const headerStyles = computed(() => [\n ...Styles.FilterPopoverHeader,\n ]);\n\n const footerStyles = computed(() => [\n ...Styles.FilterPopoverFooter,\n ]);\n\n // State\n const { state, open, close, toggle } = usePopoverState(toRef(props, 'isOpen'), context.emit);\n\n // Methods\n function apply(): void {\n context.emit('apply');\n }\n\n function reset(): void {\n context.emit('reset');\n }\n\n // Helpers\n const { isDesktop, isMobile } = useResponsive();\n\n return {\n root,\n rootStyles,\n\n headerStyles,\n footerStyles,\n\n state,\n\n open,\n close,\n toggle,\n\n apply,\n reset,\n\n isDesktop,\n isMobile,\n };\n },\n});\n</script>\n"],"names":["FilterPopover","FilterPopoverHeader","FilterPopoverFooter","_sfc_main","defineComponent","OrButton","OrModal","OrPopover","PopoverPlacement","props","context","root","ref","rootStyles","computed","Styles.FilterPopover","headerStyles","Styles.FilterPopoverHeader","footerStyles","Styles.FilterPopoverFooter","state","open","close","toggle","usePopoverState","toRef","apply","reset","isDesktop","isMobile","useResponsive","_component_OrModal","_resolveComponent","_createElementBlock","_hoisted_1","_ctx","_openBlock","_createBlock","_component_OrPopover","_cache","$event","_withCtx","_createElementVNode","_mergeProps","_normalizeClass","_hoisted_2","_toDisplayString","_createVNode","_component_OrButton","_renderSlot","_normalizeProps","_guardReactiveProps","_createTextVNode"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useProxyModelValue as N } from "@onereach/ui-components-common/hooks";
|
|
2
|
-
import { O as D } from "./OrButton-
|
|
2
|
+
import { O as D } from "./OrButton-ZxDr22t7.mjs";
|
|
3
3
|
import { O as P } from "./OrIconButton-Ds8k8FmS.mjs";
|
|
4
4
|
import { O as z } from "./OrIcon-k8cyvh-D.mjs";
|
|
5
5
|
import { O as E } from "./OrLabel-K7_HgvcK.mjs";
|
|
@@ -286,4 +286,4 @@ export {
|
|
|
286
286
|
ye as O,
|
|
287
287
|
_ as a
|
|
288
288
|
};
|
|
289
|
-
//# sourceMappingURL=OrList-
|
|
289
|
+
//# sourceMappingURL=OrList-B2rj_Y5Z.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrList-CX3cwJvm.mjs","sources":["../../../components/or-list-v3/src/partials/or-list-item/styles.ts","../../../components/or-list-v3/src/partials/or-list-item/OrListItem.vue","../../../components/or-list-v3/src/styles.ts","../../../components/or-list-v3/src/OrList.vue"],"sourcesContent":["export const ListItem: string[] = [\n // Interactivity (draggable)\n 'draggable:interactivity-drag',\n\n // Shape\n 'rounded-md',\n\n // Spacing\n 'px-md md:px-sm',\n 'py-md md:py-sm',\n\n // Theme (hover)\n 'hover:theme-background-primary-translucent-1',\n 'dark:hover:theme-background-primary-translucent-1-dark',\n\n // Theme (focus)\n 'focus-within:theme-outline-primary focus-within:outline-2',\n 'dark:focus-within:theme-outline-primary-dark',\n\n // Theme (selected)\n 'selected:theme-background-primary-translucent-3',\n 'dark:selected:theme-background-primary-translucent-3-dark',\n];\n\nexport const ListItemContent: string[] = [\n // Layout\n 'layout-row',\n\n // Spacing\n 'px-md md:px-sm',\n 'py-md md:py-sm',\n\n 'gap-sm',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :selected=\"selected\"\n :disabled=\"disabled\"\n :draggable=\"draggable\"\n >\n <div\n :class=\"contentStyles\"\n :disabled=\"disabled\"\n >\n <slot />\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\n\nimport { ListItem, ListItemContent } from './styles';\n\nexport default defineComponent({\n name: 'OrListItem',\n\n props: {\n draggable: {\n type: Boolean,\n default: false,\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() {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-list-item-v3',\n ...ListItem,\n ]);\n\n const contentStyles = computed(() => [\n ...ListItemContent,\n ]);\n\n return {\n root,\n rootStyles,\n\n contentStyles,\n };\n },\n});\n</script>\n","export const List: string[] = [\n // Layout\n 'layout-column',\n\n // Spacing\n 'gap-md',\n];\n\nexport const ListHeader: string[] = [];\n\nexport const ListContent: string[] = [];\n\nexport const ListFooter: string[] = [];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :disabled=\"disabled\"\n >\n <template v-if=\"$slots['header'] || $slots['label'] || $slots['label-addon'] || label\">\n <div :class=\"headerStyles\">\n <slot\n name=\"header\"\n :add-item=\"addItem\"\n :delete-item=\"deleteItem\"\n >\n <OrLabel :disabled=\"disabled\">\n <slot name=\"label\">\n {{ label }}\n </slot>\n\n <template v-slot:addon>\n <slot name=\"label-addon\" />\n </template>\n </OrLabel>\n </slot>\n </div>\n </template>\n\n <div\n :ref=\"'content'\"\n :class=\"contentStyles\"\n >\n <OrListItem\n v-for=\"(item, index) in model\"\n :key=\"item.key || uuid()\"\n :draggable=\"canReorder\"\n :selected=\"selection.includes(item)\"\n :disabled=\"disabled\"\n >\n <div :class=\"['grow']\">\n <slot\n v-bind=\"{\n item,\n index,\n items: model,\n addItem,\n deleteItem\n }\"\n >\n {{ item }}\n </slot>\n </div>\n\n <template v-if=\"canDelete\">\n <OrIconButton\n :icon=\"'delete'\"\n :disabled=\"disabled\"\n @click=\"deleteItem(index)\"\n />\n </template>\n </OrListItem>\n </div>\n\n <template v-if=\"$slots['footer'] || canAdd\">\n <div :class=\"footerStyles\">\n <slot\n name=\"footer\"\n :add-item=\"addItem\"\n :delete-item=\"deleteItem\"\n >\n <template v-if=\"canAdd\">\n <OrButton\n :variant=\"'link'\"\n :disabled=\"disabled\"\n @click=\"addItem()\"\n >\n <slot name=\"add-button\">\n <OrIcon :icon=\"'add'\" /> {{ addButtonLabel }}\n </slot>\n </OrButton>\n </template>\n </slot>\n </div>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { useProxyModelValue } from '@onereach/ui-components-common/hooks';\nimport { OrButtonV3 as OrButton } from '@onereach/ui-components.or-button-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 { OrLabelV3 as OrLabel } from '@onereach/ui-components.or-label-v3';\nimport Sortable from 'sortablejs';\nimport { v4 as uuid } from 'uuid';\nimport { PropType, computed, defineComponent, ref, toRef, watch } from 'vue';\n\nimport { OrListItem } from './partials';\nimport * as Styles from './styles';\nimport { ListItem } from './types';\n\nexport default defineComponent({\n name: 'OrList',\n\n components: {\n OrButton,\n OrIcon,\n OrIconButton,\n OrLabel,\n OrListItem,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: Array as PropType<ListItem[]>,\n default: () => [],\n },\n\n selection: {\n type: Array as PropType<ListItem[]>,\n default: () => [],\n },\n\n itemFactory: {\n type: Function as PropType<() => ListItem>,\n default: () => ({}),\n },\n\n label: {\n type: String,\n default: undefined,\n },\n\n addButtonLabel: {\n type: String,\n default: 'Add Item',\n },\n\n canAdd: {\n type: Boolean,\n default: true,\n },\n\n canDelete: {\n type: Boolean,\n default: true,\n },\n\n canReorder: {\n type: Boolean,\n default: true,\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n 'update:modelValue',\n\n 'before:add',\n 'before:delete',\n 'before:reorder',\n\n 'add',\n 'delete',\n 'reorder',\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-list-v3',\n ...Styles.List,\n ]);\n\n const headerStyles = computed(() => [\n ...Styles.ListHeader,\n ]);\n\n const content = ref<HTMLElement>();\n\n const contentStyles = computed(() => [\n ...Styles.ListContent,\n ]);\n\n const footerStyles = computed(() => [\n ...Styles.ListFooter,\n ]);\n\n // State\n const model = useProxyModelValue(toRef(props, 'modelValue'), context.emit);\n\n // Effects\n // #region Sortable\n let sortable: Sortable | undefined;\n\n watch([content, () => props.canReorder], ([content, canReorder]) => {\n sortable?.destroy();\n sortable = undefined;\n\n if (content && canReorder) {\n sortable = Sortable.create(content, {\n disabled: props.disabled,\n\n onUpdate: (event) => {\n context.emit('before:reorder', model.value);\n\n const nextModelValue = [...model.value];\n const reorderedItem = nextModelValue.splice(event.oldIndex!, 1)[0];\n\n nextModelValue.splice(event.newIndex!, 0, reorderedItem);\n\n context.emit('reorder', reorderedItem, event.newIndex, event.oldIndex, model.value = nextModelValue);\n },\n });\n }\n });\n\n watch(() => props.disabled, (value) => {\n sortable?.option('disabled', value);\n });\n // #endregion\n\n // Methods\n function addItem(): void {\n context.emit('before:add', model.value);\n\n const addedItem = props.itemFactory();\n const nextModelValue = [...model.value, addedItem];\n\n context.emit('add', addedItem, nextModelValue.indexOf(addedItem), model.value = nextModelValue);\n }\n\n function deleteItem(index: number): void {\n context.emit('before:delete', model.value);\n\n const deletedItem = model.value[index];\n const nextModelValue = model.value.filter((item: ListItem) => item !== deletedItem);\n\n context.emit('delete', deletedItem, index, model.value = nextModelValue);\n }\n\n return {\n root,\n rootStyles,\n\n headerStyles,\n\n content,\n contentStyles,\n\n footerStyles,\n\n model,\n\n addItem,\n deleteItem,\n\n uuid,\n };\n },\n});\n</script>\n"],"names":["ListItem","ListItemContent","_sfc_main$1","defineComponent","root","ref","rootStyles","computed","contentStyles","_sfc_render","_ctx","_cache","$props","$setup","$data","$options","_openBlock","_createElementBlock","_normalizeClass","List","ListHeader","ListContent","ListFooter","_sfc_main","OrButton","OrIcon","OrIconButton","OrLabel","OrListItem","props","context","Styles.List","headerStyles","Styles.ListHeader","content","Styles.ListContent","footerStyles","Styles.ListFooter","model","useProxyModelValue","toRef","sortable","watch","canReorder","Sortable","event","nextModelValue","reorderedItem","value","addItem","addedItem","deleteItem","index","deletedItem","item","uuid","_hoisted_1","_resolveComponent","_renderSlot","_createVNode","_component_OrLabel","_withCtx","_createCommentVNode","_createElementVNode","_Fragment","_renderList","_createBlock","_component_OrListItem","_hoisted_2","_normalizeProps","_guardReactiveProps","_component_OrIconButton","_component_OrButton","$event","_component_OrIcon"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OrList-B2rj_Y5Z.mjs","sources":["../../../components/or-list-v3/src/partials/or-list-item/styles.ts","../../../components/or-list-v3/src/partials/or-list-item/OrListItem.vue","../../../components/or-list-v3/src/styles.ts","../../../components/or-list-v3/src/OrList.vue"],"sourcesContent":["export const ListItem: string[] = [\n // Interactivity (draggable)\n 'draggable:interactivity-drag',\n\n // Shape\n 'rounded-md',\n\n // Spacing\n 'px-md md:px-sm',\n 'py-md md:py-sm',\n\n // Theme (hover)\n 'hover:theme-background-primary-translucent-1',\n 'dark:hover:theme-background-primary-translucent-1-dark',\n\n // Theme (focus)\n 'focus-within:theme-outline-primary focus-within:outline-2',\n 'dark:focus-within:theme-outline-primary-dark',\n\n // Theme (selected)\n 'selected:theme-background-primary-translucent-3',\n 'dark:selected:theme-background-primary-translucent-3-dark',\n];\n\nexport const ListItemContent: string[] = [\n // Layout\n 'layout-row',\n\n // Spacing\n 'px-md md:px-sm',\n 'py-md md:py-sm',\n\n 'gap-sm',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :selected=\"selected\"\n :disabled=\"disabled\"\n :draggable=\"draggable\"\n >\n <div\n :class=\"contentStyles\"\n :disabled=\"disabled\"\n >\n <slot />\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\n\nimport { ListItem, ListItemContent } from './styles';\n\nexport default defineComponent({\n name: 'OrListItem',\n\n props: {\n draggable: {\n type: Boolean,\n default: false,\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() {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-list-item-v3',\n ...ListItem,\n ]);\n\n const contentStyles = computed(() => [\n ...ListItemContent,\n ]);\n\n return {\n root,\n rootStyles,\n\n contentStyles,\n };\n },\n});\n</script>\n","export const List: string[] = [\n // Layout\n 'layout-column',\n\n // Spacing\n 'gap-md',\n];\n\nexport const ListHeader: string[] = [];\n\nexport const ListContent: string[] = [];\n\nexport const ListFooter: string[] = [];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :disabled=\"disabled\"\n >\n <template v-if=\"$slots['header'] || $slots['label'] || $slots['label-addon'] || label\">\n <div :class=\"headerStyles\">\n <slot\n name=\"header\"\n :add-item=\"addItem\"\n :delete-item=\"deleteItem\"\n >\n <OrLabel :disabled=\"disabled\">\n <slot name=\"label\">\n {{ label }}\n </slot>\n\n <template v-slot:addon>\n <slot name=\"label-addon\" />\n </template>\n </OrLabel>\n </slot>\n </div>\n </template>\n\n <div\n :ref=\"'content'\"\n :class=\"contentStyles\"\n >\n <OrListItem\n v-for=\"(item, index) in model\"\n :key=\"item.key || uuid()\"\n :draggable=\"canReorder\"\n :selected=\"selection.includes(item)\"\n :disabled=\"disabled\"\n >\n <div :class=\"['grow']\">\n <slot\n v-bind=\"{\n item,\n index,\n items: model,\n addItem,\n deleteItem\n }\"\n >\n {{ item }}\n </slot>\n </div>\n\n <template v-if=\"canDelete\">\n <OrIconButton\n :icon=\"'delete'\"\n :disabled=\"disabled\"\n @click=\"deleteItem(index)\"\n />\n </template>\n </OrListItem>\n </div>\n\n <template v-if=\"$slots['footer'] || canAdd\">\n <div :class=\"footerStyles\">\n <slot\n name=\"footer\"\n :add-item=\"addItem\"\n :delete-item=\"deleteItem\"\n >\n <template v-if=\"canAdd\">\n <OrButton\n :variant=\"'link'\"\n :disabled=\"disabled\"\n @click=\"addItem()\"\n >\n <slot name=\"add-button\">\n <OrIcon :icon=\"'add'\" /> {{ addButtonLabel }}\n </slot>\n </OrButton>\n </template>\n </slot>\n </div>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { useProxyModelValue } from '@onereach/ui-components-common/hooks';\nimport { OrButtonV3 as OrButton } from '@onereach/ui-components.or-button-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 { OrLabelV3 as OrLabel } from '@onereach/ui-components.or-label-v3';\nimport Sortable from 'sortablejs';\nimport { v4 as uuid } from 'uuid';\nimport { PropType, computed, defineComponent, ref, toRef, watch } from 'vue';\n\nimport { OrListItem } from './partials';\nimport * as Styles from './styles';\nimport { ListItem } from './types';\n\nexport default defineComponent({\n name: 'OrList',\n\n components: {\n OrButton,\n OrIcon,\n OrIconButton,\n OrLabel,\n OrListItem,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: Array as PropType<ListItem[]>,\n default: () => [],\n },\n\n selection: {\n type: Array as PropType<ListItem[]>,\n default: () => [],\n },\n\n itemFactory: {\n type: Function as PropType<() => ListItem>,\n default: () => ({}),\n },\n\n label: {\n type: String,\n default: undefined,\n },\n\n addButtonLabel: {\n type: String,\n default: 'Add Item',\n },\n\n canAdd: {\n type: Boolean,\n default: true,\n },\n\n canDelete: {\n type: Boolean,\n default: true,\n },\n\n canReorder: {\n type: Boolean,\n default: true,\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n 'update:modelValue',\n\n 'before:add',\n 'before:delete',\n 'before:reorder',\n\n 'add',\n 'delete',\n 'reorder',\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-list-v3',\n ...Styles.List,\n ]);\n\n const headerStyles = computed(() => [\n ...Styles.ListHeader,\n ]);\n\n const content = ref<HTMLElement>();\n\n const contentStyles = computed(() => [\n ...Styles.ListContent,\n ]);\n\n const footerStyles = computed(() => [\n ...Styles.ListFooter,\n ]);\n\n // State\n const model = useProxyModelValue(toRef(props, 'modelValue'), context.emit);\n\n // Effects\n // #region Sortable\n let sortable: Sortable | undefined;\n\n watch([content, () => props.canReorder], ([content, canReorder]) => {\n sortable?.destroy();\n sortable = undefined;\n\n if (content && canReorder) {\n sortable = Sortable.create(content, {\n disabled: props.disabled,\n\n onUpdate: (event) => {\n context.emit('before:reorder', model.value);\n\n const nextModelValue = [...model.value];\n const reorderedItem = nextModelValue.splice(event.oldIndex!, 1)[0];\n\n nextModelValue.splice(event.newIndex!, 0, reorderedItem);\n\n context.emit('reorder', reorderedItem, event.newIndex, event.oldIndex, model.value = nextModelValue);\n },\n });\n }\n });\n\n watch(() => props.disabled, (value) => {\n sortable?.option('disabled', value);\n });\n // #endregion\n\n // Methods\n function addItem(): void {\n context.emit('before:add', model.value);\n\n const addedItem = props.itemFactory();\n const nextModelValue = [...model.value, addedItem];\n\n context.emit('add', addedItem, nextModelValue.indexOf(addedItem), model.value = nextModelValue);\n }\n\n function deleteItem(index: number): void {\n context.emit('before:delete', model.value);\n\n const deletedItem = model.value[index];\n const nextModelValue = model.value.filter((item: ListItem) => item !== deletedItem);\n\n context.emit('delete', deletedItem, index, model.value = nextModelValue);\n }\n\n return {\n root,\n rootStyles,\n\n headerStyles,\n\n content,\n contentStyles,\n\n footerStyles,\n\n model,\n\n addItem,\n deleteItem,\n\n uuid,\n };\n },\n});\n</script>\n"],"names":["ListItem","ListItemContent","_sfc_main$1","defineComponent","root","ref","rootStyles","computed","contentStyles","_sfc_render","_ctx","_cache","$props","$setup","$data","$options","_openBlock","_createElementBlock","_normalizeClass","List","ListHeader","ListContent","ListFooter","_sfc_main","OrButton","OrIcon","OrIconButton","OrLabel","OrListItem","props","context","Styles.List","headerStyles","Styles.ListHeader","content","Styles.ListContent","footerStyles","Styles.ListFooter","model","useProxyModelValue","toRef","sortable","watch","canReorder","Sortable","event","nextModelValue","reorderedItem","value","addItem","addedItem","deleteItem","index","deletedItem","item","uuid","_hoisted_1","_resolveComponent","_renderSlot","_createVNode","_component_OrLabel","_withCtx","_createCommentVNode","_createElementVNode","_Fragment","_renderList","_createBlock","_component_OrListItem","_hoisted_2","_normalizeProps","_guardReactiveProps","_component_OrIconButton","_component_OrButton","$event","_component_OrIcon"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useProxyModelValue as K, useResponsive as Q } from "@onereach/ui-components-common/hooks";
|
|
2
|
-
import { O as U } from "./OrButton-
|
|
2
|
+
import { O as U } from "./OrButton-ZxDr22t7.mjs";
|
|
3
3
|
import { O as W } from "./OrIcon-k8cyvh-D.mjs";
|
|
4
4
|
import { O as X } from "./OrMenuItem-VyCCXA7Z.mjs";
|
|
5
5
|
import { O as Y } from "./OrMenu-Cag_fBXC.mjs";
|
|
@@ -331,4 +331,4 @@ const pe = /* @__PURE__ */ x(re, [["render", le]]);
|
|
|
331
331
|
export {
|
|
332
332
|
pe as O
|
|
333
333
|
};
|
|
334
|
-
//# sourceMappingURL=OrPagination-
|
|
334
|
+
//# sourceMappingURL=OrPagination-BXzDa-Su.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrPagination-pcDCKc9g.mjs","sources":["../../../components/or-pagination-v3/src/styles.ts","../../../components/or-pagination-v3/src/OrPagination.vue"],"sourcesContent":["export const Pagination: string[] = [\n // Layout\n 'layout-row justify-between md:justify-end',\n\n // Spacing\n 'gap-xl',\n\n // Typography\n 'typography-caption-regular',\n\n // Theme\n 'theme-foreground-outline',\n 'dark:theme-foreground-outline-dark',\n];\n\nexport const PaginationLimitGroup: string[] = [\n // Layout\n 'layout-row shrink-0',\n\n // Spacing\n 'gap-lg md:gap-md',\n];\n\nexport const PaginationOffsetGroup: string[] = [\n // Layout\n 'layout-row shrink-0',\n\n // Spacing\n 'gap-md',\n];\n\nexport const PaginationItem: string[] = [\n // Typography\n 'typography-caption-regular',\n\n // Typography (activated)\n 'activated:typography-caption-bold',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <div :class=\"limitGroupStyles\">\n <template v-if=\"features.limit\">\n <div :class=\"['layout-row', 'gap-sm']\">\n Per page:\n\n <OrButton\n :ref=\"'limitButton'\"\n :class=\"itemStyles\"\n :variant=\"'link'\"\n :color=\"'inherit'\"\n :activated=\"true\"\n @click=\"limitMenu && limitMenu.toggle()\"\n >\n {{ currentLimit }} <OrIcon :icon=\"limitMenu && limitMenu.state === 'open' ? 'arrow_drop_up' : 'arrow_drop_down'\" />\n </OrButton>\n\n <OrMenu\n :ref=\"'limitMenu'\"\n :additional-styles=\"['min-w-[60px]']\"\n :trigger=\"limitButtonRoot\"\n :placement=\"'top'\"\n >\n <OrMenuItem\n v-for=\"limit of options\"\n :key=\"limit\"\n :selected=\"currentLimit === limit\"\n @click=\"currentLimit = limit; limitMenu && limitMenu.close()\"\n >\n {{ limit }}\n </OrMenuItem>\n </OrMenu>\n </div>\n </template>\n\n <template v-if=\"features.range\">\n {{ currentOffset + 1 }}-{{ Math.min(currentOffset + currentLimit, length) }} of {{ length }}\n </template>\n </div>\n\n <div :class=\"offsetGroupStyles\">\n <OrButton\n :class=\"itemStyles\"\n :variant=\"'link'\"\n :color=\"'inherit'\"\n :disabled=\"currentPage === firstPage\"\n @click=\"toPreviousPage()\"\n >\n <OrIcon :icon=\"'keyboard_arrow_left'\" />\n </OrButton>\n\n <template v-if=\"isDesktop\">\n <OrButton\n v-for=\"(page, index) of buttonGroup\"\n :key=\"index\"\n :class=\"itemStyles\"\n :variant=\"'link'\"\n :color=\"'inherit'\"\n :activated=\"currentPage === page\"\n @click=\"typeof page === 'number' && toPage(page)\"\n >\n {{ page }}\n </OrButton>\n </template>\n\n <template v-if=\"isMobile\">\n <OrButton\n :ref=\"'offsetButton'\"\n :class=\"itemStyles\"\n :variant=\"'link'\"\n :color=\"'inherit'\"\n :activated=\"true\"\n @click=\"offsetMenu && offsetMenu.open()\"\n >\n {{ currentPage }} <OrIcon :icon=\"offsetMenu && offsetMenu.state === 'open' ? 'arrow_drop_up' : 'arrow_drop_down'\" />\n </OrButton>\n\n <OrMenu\n :ref=\"'offsetMenu'\"\n :additional-styles=\"['min-w-[60px]']\"\n :trigger=\"offsetButtonRoot\"\n :placement=\"'top'\"\n >\n <OrMenuItem\n v-for=\"page of lastPage\"\n :key=\"page\"\n :selected=\"currentPage === page\"\n @click=\"currentPage = page; offsetMenu && offsetMenu.close()\"\n >\n {{ page }}\n </OrMenuItem>\n </OrMenu>\n </template>\n\n <OrButton\n :class=\"itemStyles\"\n :variant=\"'link'\"\n :color=\"'inherit'\"\n :disabled=\"currentPage === lastPage\"\n @click=\"toNextPage()\"\n >\n <OrIcon :icon=\"'keyboard_arrow_right'\" />\n </OrButton>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { useProxyModelValue, useResponsive } from '@onereach/ui-components-common/hooks';\nimport { OrButtonV3 as OrButton } from '@onereach/ui-components.or-button-v3';\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 { computed, defineComponent, PropType, ref, toRef } from 'vue';\n\nimport * as Styles from './styles';\nimport { PaginationFeatures, PaginationModelValue } from './types';\n\nexport default defineComponent({\n name: 'OrPagination',\n\n components: {\n OrButton,\n OrIcon,\n OrMenu,\n OrMenuItem,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: undefined as unknown as PropType<PaginationModelValue>,\n default: undefined,\n },\n\n length: {\n type: Number,\n required: true,\n },\n\n options: {\n type: Array as PropType<number[]>,\n default: () => [50, 20, 10, 5],\n },\n\n features: {\n type: Object as PropType<PaginationFeatures>,\n\n default: () => ({\n limit: true,\n range: true,\n }) as PaginationFeatures,\n },\n },\n\n emits: [\n 'update:modelValue',\n ],\n\n expose: [\n 'root',\n 'currentLimit',\n ],\n\n setup(props, context) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-pagination-v3',\n ...Styles.Pagination,\n ]);\n\n const limitButton = ref<InstanceType<typeof OrButton>>();\n const limitButtonRoot = computed(() => limitButton.value?.root);\n\n const limitMenu = ref<InstanceType<typeof OrMenu>>();\n const limitMenuRoot = computed(() => limitMenu.value?.root);\n\n const limitGroupStyles = computed(() => [\n ...Styles.PaginationLimitGroup,\n ]);\n\n const offsetButton = ref<InstanceType<typeof OrButton>>();\n const offsetButtonRoot = computed(() => offsetButton.value?.root);\n\n const offsetMenu = ref<InstanceType<typeof OrMenu>>();\n const offsetMenuRoot = computed(() => offsetMenu.value?.root);\n\n const offsetGroupStyles = computed(() => [\n ...Styles.PaginationOffsetGroup,\n ]);\n\n const itemStyles = computed(() => [\n ...Styles.PaginationItem,\n ]);\n\n // State\n const model = useProxyModelValue(toRef(props, 'modelValue'), context.emit);\n\n const currentLimit = computed<number>({\n get: () => model.value?.limit ?? props.options[0],\n\n set: (value) => {\n model.value = {\n limit: value,\n offset: 0,\n };\n },\n });\n\n const currentOffset = computed<number>({\n get: () => model.value?.offset ?? 0,\n\n set: (value) => {\n model.value = {\n limit: currentLimit.value,\n offset: value,\n };\n },\n });\n\n const currentPage = computed<number>({\n get: () => Math.floor(currentOffset.value / currentLimit.value) + 1,\n\n set: (value) => {\n currentOffset.value = (value - 1) * currentLimit.value;\n },\n });\n\n const firstPage = computed<number>(() => {\n return 1;\n });\n\n const lastPage = computed<number>(() => {\n return Math.ceil(props.length / currentLimit.value);\n });\n\n const buttonGroup = computed<(number | string)[]>(() => {\n const pages = Array.from({ length: lastPage.value }, (_, index) => index + 1);\n\n switch (true) {\n case lastPage.value <= 7:\n return pages;\n\n case currentPage.value < firstPage.value + 4:\n return [\n ...pages.slice(0, 5),\n '…',\n lastPage.value,\n ];\n\n case currentPage.value > lastPage.value - 4:\n return [\n firstPage.value,\n '…',\n ...pages.slice(-5),\n ];\n\n default:\n return pages\n .map((page) => {\n switch (true) {\n case page > firstPage.value && page < currentPage.value - 1:\n case page < lastPage.value && page > currentPage.value + 1:\n return '…';\n\n default:\n return page;\n }\n })\n .reduce((accumulator, page) => {\n if (accumulator[accumulator.length - 1] === page) {\n return accumulator;\n }\n\n return [...accumulator, page];\n }, [] as (number | string)[]);\n }\n });\n\n // Methods\n function toPreviousPage(): void {\n currentPage.value = currentPage.value - 1;\n }\n\n function toNextPage(): void {\n currentPage.value = currentPage.value + 1;\n }\n\n function toPage(page: number): void {\n currentPage.value = page;\n }\n\n // Helpers\n const { isDesktop, isMobile } = useResponsive();\n\n return {\n root,\n rootStyles,\n\n limitButton,\n limitButtonRoot,\n\n limitMenu,\n limitMenuRoot,\n\n limitGroupStyles,\n\n offsetButton,\n offsetButtonRoot,\n\n offsetMenu,\n offsetMenuRoot,\n\n offsetGroupStyles,\n\n itemStyles,\n\n model,\n\n currentLimit,\n currentOffset,\n currentPage,\n\n firstPage,\n lastPage,\n\n buttonGroup,\n\n toPreviousPage,\n toNextPage,\n toPage,\n\n isDesktop,\n isMobile,\n };\n },\n});\n</script>\n"],"names":["Pagination","PaginationLimitGroup","PaginationOffsetGroup","PaginationItem","_sfc_main","defineComponent","OrButton","OrIcon","OrMenu","OrMenuItem","props","context","root","ref","rootStyles","computed","Styles.Pagination","limitButton","limitButtonRoot","_a","limitMenu","limitMenuRoot","limitGroupStyles","Styles.PaginationLimitGroup","offsetButton","offsetButtonRoot","offsetMenu","offsetMenuRoot","offsetGroupStyles","Styles.PaginationOffsetGroup","itemStyles","Styles.PaginationItem","model","useProxyModelValue","toRef","currentLimit","value","currentOffset","currentPage","firstPage","lastPage","buttonGroup","pages","_","index","page","accumulator","toPreviousPage","toNextPage","toPage","isDesktop","isMobile","useResponsive","_hoisted_1","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_ctx","_createTextVNode","_createVNode","_component_OrButton","_cache","$event","_withCtx","_toDisplayString","_component_OrIcon","_component_OrMenu","_Fragment","_renderList","limit","_component_OrMenuItem","_createCommentVNode","_createElementVNode","_createBlock"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OrPagination-BXzDa-Su.mjs","sources":["../../../components/or-pagination-v3/src/styles.ts","../../../components/or-pagination-v3/src/OrPagination.vue"],"sourcesContent":["export const Pagination: string[] = [\n // Layout\n 'layout-row justify-between md:justify-end',\n\n // Spacing\n 'gap-xl',\n\n // Typography\n 'typography-caption-regular',\n\n // Theme\n 'theme-foreground-outline',\n 'dark:theme-foreground-outline-dark',\n];\n\nexport const PaginationLimitGroup: string[] = [\n // Layout\n 'layout-row shrink-0',\n\n // Spacing\n 'gap-lg md:gap-md',\n];\n\nexport const PaginationOffsetGroup: string[] = [\n // Layout\n 'layout-row shrink-0',\n\n // Spacing\n 'gap-md',\n];\n\nexport const PaginationItem: string[] = [\n // Typography\n 'typography-caption-regular',\n\n // Typography (activated)\n 'activated:typography-caption-bold',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <div :class=\"limitGroupStyles\">\n <template v-if=\"features.limit\">\n <div :class=\"['layout-row', 'gap-sm']\">\n Per page:\n\n <OrButton\n :ref=\"'limitButton'\"\n :class=\"itemStyles\"\n :variant=\"'link'\"\n :color=\"'inherit'\"\n :activated=\"true\"\n @click=\"limitMenu && limitMenu.toggle()\"\n >\n {{ currentLimit }} <OrIcon :icon=\"limitMenu && limitMenu.state === 'open' ? 'arrow_drop_up' : 'arrow_drop_down'\" />\n </OrButton>\n\n <OrMenu\n :ref=\"'limitMenu'\"\n :additional-styles=\"['min-w-[60px]']\"\n :trigger=\"limitButtonRoot\"\n :placement=\"'top'\"\n >\n <OrMenuItem\n v-for=\"limit of options\"\n :key=\"limit\"\n :selected=\"currentLimit === limit\"\n @click=\"currentLimit = limit; limitMenu && limitMenu.close()\"\n >\n {{ limit }}\n </OrMenuItem>\n </OrMenu>\n </div>\n </template>\n\n <template v-if=\"features.range\">\n {{ currentOffset + 1 }}-{{ Math.min(currentOffset + currentLimit, length) }} of {{ length }}\n </template>\n </div>\n\n <div :class=\"offsetGroupStyles\">\n <OrButton\n :class=\"itemStyles\"\n :variant=\"'link'\"\n :color=\"'inherit'\"\n :disabled=\"currentPage === firstPage\"\n @click=\"toPreviousPage()\"\n >\n <OrIcon :icon=\"'keyboard_arrow_left'\" />\n </OrButton>\n\n <template v-if=\"isDesktop\">\n <OrButton\n v-for=\"(page, index) of buttonGroup\"\n :key=\"index\"\n :class=\"itemStyles\"\n :variant=\"'link'\"\n :color=\"'inherit'\"\n :activated=\"currentPage === page\"\n @click=\"typeof page === 'number' && toPage(page)\"\n >\n {{ page }}\n </OrButton>\n </template>\n\n <template v-if=\"isMobile\">\n <OrButton\n :ref=\"'offsetButton'\"\n :class=\"itemStyles\"\n :variant=\"'link'\"\n :color=\"'inherit'\"\n :activated=\"true\"\n @click=\"offsetMenu && offsetMenu.open()\"\n >\n {{ currentPage }} <OrIcon :icon=\"offsetMenu && offsetMenu.state === 'open' ? 'arrow_drop_up' : 'arrow_drop_down'\" />\n </OrButton>\n\n <OrMenu\n :ref=\"'offsetMenu'\"\n :additional-styles=\"['min-w-[60px]']\"\n :trigger=\"offsetButtonRoot\"\n :placement=\"'top'\"\n >\n <OrMenuItem\n v-for=\"page of lastPage\"\n :key=\"page\"\n :selected=\"currentPage === page\"\n @click=\"currentPage = page; offsetMenu && offsetMenu.close()\"\n >\n {{ page }}\n </OrMenuItem>\n </OrMenu>\n </template>\n\n <OrButton\n :class=\"itemStyles\"\n :variant=\"'link'\"\n :color=\"'inherit'\"\n :disabled=\"currentPage === lastPage\"\n @click=\"toNextPage()\"\n >\n <OrIcon :icon=\"'keyboard_arrow_right'\" />\n </OrButton>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { useProxyModelValue, useResponsive } from '@onereach/ui-components-common/hooks';\nimport { OrButtonV3 as OrButton } from '@onereach/ui-components.or-button-v3';\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 { computed, defineComponent, PropType, ref, toRef } from 'vue';\n\nimport * as Styles from './styles';\nimport { PaginationFeatures, PaginationModelValue } from './types';\n\nexport default defineComponent({\n name: 'OrPagination',\n\n components: {\n OrButton,\n OrIcon,\n OrMenu,\n OrMenuItem,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: undefined as unknown as PropType<PaginationModelValue>,\n default: undefined,\n },\n\n length: {\n type: Number,\n required: true,\n },\n\n options: {\n type: Array as PropType<number[]>,\n default: () => [50, 20, 10, 5],\n },\n\n features: {\n type: Object as PropType<PaginationFeatures>,\n\n default: () => ({\n limit: true,\n range: true,\n }) as PaginationFeatures,\n },\n },\n\n emits: [\n 'update:modelValue',\n ],\n\n expose: [\n 'root',\n 'currentLimit',\n ],\n\n setup(props, context) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-pagination-v3',\n ...Styles.Pagination,\n ]);\n\n const limitButton = ref<InstanceType<typeof OrButton>>();\n const limitButtonRoot = computed(() => limitButton.value?.root);\n\n const limitMenu = ref<InstanceType<typeof OrMenu>>();\n const limitMenuRoot = computed(() => limitMenu.value?.root);\n\n const limitGroupStyles = computed(() => [\n ...Styles.PaginationLimitGroup,\n ]);\n\n const offsetButton = ref<InstanceType<typeof OrButton>>();\n const offsetButtonRoot = computed(() => offsetButton.value?.root);\n\n const offsetMenu = ref<InstanceType<typeof OrMenu>>();\n const offsetMenuRoot = computed(() => offsetMenu.value?.root);\n\n const offsetGroupStyles = computed(() => [\n ...Styles.PaginationOffsetGroup,\n ]);\n\n const itemStyles = computed(() => [\n ...Styles.PaginationItem,\n ]);\n\n // State\n const model = useProxyModelValue(toRef(props, 'modelValue'), context.emit);\n\n const currentLimit = computed<number>({\n get: () => model.value?.limit ?? props.options[0],\n\n set: (value) => {\n model.value = {\n limit: value,\n offset: 0,\n };\n },\n });\n\n const currentOffset = computed<number>({\n get: () => model.value?.offset ?? 0,\n\n set: (value) => {\n model.value = {\n limit: currentLimit.value,\n offset: value,\n };\n },\n });\n\n const currentPage = computed<number>({\n get: () => Math.floor(currentOffset.value / currentLimit.value) + 1,\n\n set: (value) => {\n currentOffset.value = (value - 1) * currentLimit.value;\n },\n });\n\n const firstPage = computed<number>(() => {\n return 1;\n });\n\n const lastPage = computed<number>(() => {\n return Math.ceil(props.length / currentLimit.value);\n });\n\n const buttonGroup = computed<(number | string)[]>(() => {\n const pages = Array.from({ length: lastPage.value }, (_, index) => index + 1);\n\n switch (true) {\n case lastPage.value <= 7:\n return pages;\n\n case currentPage.value < firstPage.value + 4:\n return [\n ...pages.slice(0, 5),\n '…',\n lastPage.value,\n ];\n\n case currentPage.value > lastPage.value - 4:\n return [\n firstPage.value,\n '…',\n ...pages.slice(-5),\n ];\n\n default:\n return pages\n .map((page) => {\n switch (true) {\n case page > firstPage.value && page < currentPage.value - 1:\n case page < lastPage.value && page > currentPage.value + 1:\n return '…';\n\n default:\n return page;\n }\n })\n .reduce((accumulator, page) => {\n if (accumulator[accumulator.length - 1] === page) {\n return accumulator;\n }\n\n return [...accumulator, page];\n }, [] as (number | string)[]);\n }\n });\n\n // Methods\n function toPreviousPage(): void {\n currentPage.value = currentPage.value - 1;\n }\n\n function toNextPage(): void {\n currentPage.value = currentPage.value + 1;\n }\n\n function toPage(page: number): void {\n currentPage.value = page;\n }\n\n // Helpers\n const { isDesktop, isMobile } = useResponsive();\n\n return {\n root,\n rootStyles,\n\n limitButton,\n limitButtonRoot,\n\n limitMenu,\n limitMenuRoot,\n\n limitGroupStyles,\n\n offsetButton,\n offsetButtonRoot,\n\n offsetMenu,\n offsetMenuRoot,\n\n offsetGroupStyles,\n\n itemStyles,\n\n model,\n\n currentLimit,\n currentOffset,\n currentPage,\n\n firstPage,\n lastPage,\n\n buttonGroup,\n\n toPreviousPage,\n toNextPage,\n toPage,\n\n isDesktop,\n isMobile,\n };\n },\n});\n</script>\n"],"names":["Pagination","PaginationLimitGroup","PaginationOffsetGroup","PaginationItem","_sfc_main","defineComponent","OrButton","OrIcon","OrMenu","OrMenuItem","props","context","root","ref","rootStyles","computed","Styles.Pagination","limitButton","limitButtonRoot","_a","limitMenu","limitMenuRoot","limitGroupStyles","Styles.PaginationLimitGroup","offsetButton","offsetButtonRoot","offsetMenu","offsetMenuRoot","offsetGroupStyles","Styles.PaginationOffsetGroup","itemStyles","Styles.PaginationItem","model","useProxyModelValue","toRef","currentLimit","value","currentOffset","currentPage","firstPage","lastPage","buttonGroup","pages","_","index","page","accumulator","toPreviousPage","toNextPage","toPage","isDesktop","isMobile","useResponsive","_hoisted_1","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_ctx","_createTextVNode","_createVNode","_component_OrButton","_cache","$event","_withCtx","_toDisplayString","_component_OrIcon","_component_OrMenu","_Fragment","_renderList","limit","_component_OrMenuItem","_createCommentVNode","_createElementVNode","_createBlock"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
(function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode("[data-v-1222a307] .or-cm-paragraph{@apply my-xs;}[data-v-1222a307] .or-cm-bulletList{@apply mx-lg my-xs list-disc;}[data-v-1222a307] .or-cm-orderedList{@apply mx-lg my-xs list-decimal;}[data-v-1222a307] .or-cm-blockquote{@apply my-sm mx-lg px-lg border-l-2 border-outline;}[data-v-1222a307] .or-cm-link{@apply text-primary cursor-pointer;}[data-v-1222a307] .or-cm-placeholder{@apply text-outline;}[data-v-1222a307] .or-cm-editorProps{@apply flex flex-col focus:outline-none gap-xs h-full;}.tiptap-editor-v3 .is-editor-empty:before{float:left;height:0;pointer-events:none;content:attr(data-placeholder)}")),document.head.appendChild(e)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})();
|
|
2
2
|
import { useTheme as ft, useResponsive as pt } from "@onereach/ui-components-common/hooks";
|
|
3
3
|
import { isArray as gt } from "@onereach/ui-components-common/utils";
|
|
4
|
-
import { O as ht } from "./OrButton-
|
|
4
|
+
import { O as ht } from "./OrButton-ZxDr22t7.mjs";
|
|
5
5
|
import { O as vt } from "./OrError-B5ihH6-3.mjs";
|
|
6
6
|
import { O as bt } from "./OrHint-NvbZyURY.mjs";
|
|
7
7
|
import { O as kt } from "./OrIconButton-Ds8k8FmS.mjs";
|
|
@@ -1054,4 +1054,4 @@ export {
|
|
|
1054
1054
|
Ke as R,
|
|
1055
1055
|
Qe as a
|
|
1056
1056
|
};
|
|
1057
|
-
//# sourceMappingURL=OrRichTextEditor-
|
|
1057
|
+
//# sourceMappingURL=OrRichTextEditor-yRGXHaoT.mjs.map
|