@leaflink/stash 51.9.3 → 51.11.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/assets/icons/cloud-share.svg +1 -0
- package/assets/spritesheet.svg +1 -1
- package/dist/Accordion.js.map +1 -1
- package/dist/Accordion.vue.d.ts +7 -38
- package/dist/ActionsDropdown.js +2 -2
- package/dist/ActionsDropdown.js.map +1 -1
- package/dist/ActionsDropdown.vue.d.ts +0 -74
- package/dist/AddressSelect.js +56 -60
- package/dist/AddressSelect.js.map +1 -1
- package/dist/AddressSelect.vue.d.ts +8 -65
- package/dist/Alert.js.map +1 -1
- package/dist/Alert.vue.d.ts +4 -41
- package/dist/AppNavigationItem.js.map +1 -1
- package/dist/AppNavigationItem.vue.d.ts +5 -32
- package/dist/AppSidebar.js.map +1 -1
- package/dist/AppSidebar.vue.d.ts +8 -35
- package/dist/AppTopbar.js +1 -1
- package/dist/AppTopbar.js.map +1 -1
- package/dist/AppTopbar.vue.d.ts +4 -33
- package/dist/Avatar.js.map +1 -1
- package/dist/Avatar.vue.d.ts +5 -44
- package/dist/Backdrop.js.map +1 -1
- package/dist/Backdrop.vue.d.ts +1 -1
- package/dist/Badge.js.map +1 -1
- package/dist/Badge.vue.d.ts +6 -55
- package/dist/Box.vue.d.ts +3 -36
- package/dist/Box.vue_vue_type_script_setup_true_lang-rFnvwLVY.js.map +1 -1
- package/dist/Button.js.map +1 -1
- package/dist/Button.vue.d.ts +5 -50
- package/dist/ButtonGroup.js +33 -37
- package/dist/ButtonGroup.js.map +1 -1
- package/dist/ButtonGroup.vue.d.ts +6 -39
- package/dist/Card.js.map +1 -1
- package/dist/Card.vue.d.ts +5 -32
- package/dist/CardContent.js.map +1 -1
- package/dist/CardContent.vue.d.ts +1 -1
- package/dist/CardFooter.js.map +1 -1
- package/dist/CardFooter.vue.d.ts +1 -1
- package/dist/CardHeader.js.map +1 -1
- package/dist/CardHeader.vue.d.ts +2 -15
- package/dist/CardMedia.js.map +1 -1
- package/dist/CardMedia.vue.d.ts +2 -15
- package/dist/Carousel.js +66 -72
- package/dist/Carousel.js.map +1 -1
- package/dist/Carousel.vue.d.ts +10 -10
- package/dist/Checkbox.js.map +1 -1
- package/dist/Checkbox.vue.d.ts +8 -53
- package/dist/ChevronToggle.vue.d.ts +7 -34
- package/dist/ChevronToggle.vue_vue_type_script_setup_true_lang-Ce_qOXfR.js.map +1 -1
- package/dist/Chip.js.map +1 -1
- package/dist/Chip.vue.d.ts +10 -52
- package/dist/ConfirmationCodeInput.js +40 -44
- package/dist/ConfirmationCodeInput.js.map +1 -1
- package/dist/ConfirmationCodeInput.vue.d.ts +8 -43
- package/dist/ContextSwitcher.js.map +1 -1
- package/dist/ContextSwitcher.vue.d.ts +6 -41
- package/dist/Copy.js.map +1 -1
- package/dist/Copy.vue.d.ts +3 -34
- package/dist/CurrencyInput.js +20 -21
- package/dist/CurrencyInput.js.map +1 -1
- package/dist/CurrencyInput.vue.d.ts +125 -46
- package/dist/CustomRender.js.map +1 -1
- package/dist/DataView.js +94 -96
- package/dist/DataView.js.map +1 -1
- package/dist/DataView.keys-aSOnA4AD.js.map +1 -1
- package/dist/DataView.vue.d.ts +15 -57
- package/dist/DataViewFilters.js +127 -139
- package/dist/DataViewFilters.js.map +1 -1
- package/dist/DataViewFilters.keys-BLu07FiP.js.map +1 -1
- package/dist/DataViewFilters.vue.d.ts +9 -54
- package/dist/DataViewSortButton.js +2 -2
- package/dist/DataViewSortButton.js.map +1 -1
- package/dist/DataViewSortButton.vue.d.ts +3 -30
- package/dist/DataViewToolbar.js +146 -71
- package/dist/DataViewToolbar.js.map +1 -1
- package/dist/DataViewToolbar.vue.d.ts +106 -40
- package/dist/DatePicker.js +4524 -4636
- package/dist/DatePicker.js.map +1 -1
- package/dist/DatePicker.vue.d.ts +32 -81
- package/dist/DescriptionList.js.map +1 -1
- package/dist/DescriptionList.vue.d.ts +3 -32
- package/dist/DescriptionListDetail.js.map +1 -1
- package/dist/DescriptionListDetail.vue.d.ts +1 -1
- package/dist/DescriptionListGroup.js.map +1 -1
- package/dist/DescriptionListGroup.vue.d.ts +1 -1
- package/dist/DescriptionListTerm.js.map +1 -1
- package/dist/DescriptionListTerm.vue.d.ts +1 -1
- package/dist/Dialog.js.map +1 -1
- package/dist/Dialog.vue.d.ts +10 -53
- package/dist/Divider.js.map +1 -1
- package/dist/Dropdown.js +89 -95
- package/dist/Dropdown.js.map +1 -1
- package/dist/Dropdown.vue.d.ts +12 -48
- package/dist/EmptyState.js +1 -1
- package/dist/EmptyState.js.map +1 -1
- package/dist/EmptyState.vue.d.ts +5 -62
- package/dist/Expand.vue.d.ts +10 -40
- package/dist/Expand.vue_vue_type_script_setup_true_lang-CiONJfAp.js.map +1 -1
- package/dist/Field.vue.d.ts +4 -53
- package/dist/Field.vue_vue_type_script_setup_true_lang-DI6z3AE9.js.map +1 -1
- package/dist/FileUpload.js +72 -74
- package/dist/FileUpload.js.map +1 -1
- package/dist/FileUpload.vue.d.ts +10 -44
- package/dist/FilterChip.js.map +1 -1
- package/dist/FilterChip.vue.d.ts +6 -41
- package/dist/FilterDrawerItem.js +21 -21
- package/dist/FilterDrawerItem.js.map +1 -1
- package/dist/FilterDrawerItem.vue.d.ts +6 -23
- package/dist/FilterDropdown.js +63 -69
- package/dist/FilterDropdown.js.map +1 -1
- package/dist/FilterDropdown.vue.d.ts +122 -35
- package/dist/FilterSelect.js.map +1 -1
- package/dist/FilterSelect.vue.d.ts +4 -31
- package/dist/Filters.js +157 -164
- package/dist/Filters.js.map +1 -1
- package/dist/Filters.vue.d.ts +0 -2190
- package/dist/HttpError.js +7 -7
- package/dist/HttpError.js.map +1 -1
- package/dist/HttpError.vue.d.ts +4 -41
- package/dist/Icon.js +16 -15
- package/dist/Icon.js.map +1 -1
- package/dist/Icon.vue.d.ts +4 -37
- package/dist/IconLabel.js.map +1 -1
- package/dist/IconLabel.vue.d.ts +6 -41
- package/dist/Illustration.js +2 -2
- package/dist/Illustration.vue.d.ts +3 -42
- package/dist/{Illustration.vue_vue_type_script_setup_true_lang-BrqEF8xe.js → Illustration.vue_vue_type_script_setup_true_lang-BVzzNsRt.js} +11 -11
- package/dist/{Illustration.vue_vue_type_script_setup_true_lang-BrqEF8xe.js.map → Illustration.vue_vue_type_script_setup_true_lang-BVzzNsRt.js.map} +1 -1
- package/dist/Image.js +2 -2
- package/dist/Image.vue.d.ts +5 -40
- package/dist/{Image.vue_vue_type_script_setup_true_lang-D5u4av0_.js → Image.vue_vue_type_script_setup_true_lang-Dg2Zk2r2.js} +37 -41
- package/dist/{Image.vue_vue_type_script_setup_true_lang-D5u4av0_.js.map → Image.vue_vue_type_script_setup_true_lang-Dg2Zk2r2.js.map} +1 -1
- package/dist/InlineEdit.js.map +1 -1
- package/dist/InlineEdit.vue.d.ts +126 -47
- package/dist/Input.js.map +1 -1
- package/dist/Input.vue.d.ts +12 -45
- package/dist/InputOptions.js +66 -69
- package/dist/InputOptions.js.map +1 -1
- package/dist/InputOptions.vue.d.ts +10 -55
- package/dist/IntegrationIcon.js +7 -7
- package/dist/IntegrationIcon.js.map +1 -1
- package/dist/IntegrationIcon.vue.d.ts +3 -36
- package/dist/Label.vue.d.ts +3 -42
- package/dist/Label.vue_vue_type_script_setup_true_lang-CNquF3AP.js.map +1 -1
- package/dist/LicenseChip.js.map +1 -1
- package/dist/LicenseChip.vue.d.ts +3 -30
- package/dist/ListItem.js.map +1 -1
- package/dist/ListItem.vue.d.ts +0 -294
- package/dist/ListItemCell.js.map +1 -1
- package/dist/ListItemCell.vue.d.ts +0 -21
- package/dist/ListView.js +4 -7
- package/dist/ListView.js.map +1 -1
- package/dist/ListView.types.d.ts +0 -29
- package/dist/ListView.vue.d.ts +0 -5496
- package/dist/Loading.js +2 -2
- package/dist/Loading.js.map +1 -1
- package/dist/Loading.vue.d.ts +1 -1
- package/dist/Logo.js +1 -1
- package/dist/Logo.vue.d.ts +6 -41
- package/dist/{Logo.vue_vue_type_script_setup_true_lang-Dz8c98sc.js → Logo.vue_vue_type_script_setup_true_lang-Y3iE9utm.js} +17 -17
- package/dist/Logo.vue_vue_type_script_setup_true_lang-Y3iE9utm.js.map +1 -0
- package/dist/Menu.js.map +1 -1
- package/dist/Menu.vue.d.ts +1 -1
- package/dist/MenuItem.js.map +1 -1
- package/dist/MenuItem.vue.d.ts +1 -1
- package/dist/MenusPlugin-B4jpNe7x.js +12 -0
- package/dist/{MenusPlugin-Bk6UW6o9.js.map → MenusPlugin-B4jpNe7x.js.map} +1 -1
- package/dist/Metric.js.map +1 -1
- package/dist/Metric.vue.d.ts +3 -34
- package/dist/Modal.js +62 -64
- package/dist/Modal.js.map +1 -1
- package/dist/Modal.vue.d.ts +13 -60
- package/dist/Modals.js +17 -18
- package/dist/Modals.js.map +1 -1
- package/dist/ModalsPlugin.js +11 -11
- package/dist/ModalsPlugin.js.map +1 -1
- package/dist/Module.js.map +1 -1
- package/dist/Module.keys-CEsrW2f0.js.map +1 -1
- package/dist/Module.types-B1FfGGac.js.map +1 -1
- package/dist/Module.vue.d.ts +2 -29
- package/dist/ModuleContent.js.map +1 -1
- package/dist/ModuleContent.vue.d.ts +3 -3
- package/dist/ModuleFooter.js.map +1 -1
- package/dist/ModuleFooter.vue.d.ts +1 -1
- package/dist/ModuleHeader.js.map +1 -1
- package/dist/ModuleHeader.vue.d.ts +5 -39
- package/dist/MoreActions.js +489 -0
- package/dist/MoreActions.js.map +1 -0
- package/dist/MoreActions.vue.d.ts +203 -0
- package/dist/ObfuscateText.js.map +1 -1
- package/dist/ObfuscateText.vue.d.ts +3 -40
- package/dist/PageContent.js.map +1 -1
- package/dist/PageContent.vue.d.ts +3 -30
- package/dist/PageHeader.js.map +1 -1
- package/dist/PageHeader.vue.d.ts +6 -35
- package/dist/PageNavigation.js +50 -50
- package/dist/PageNavigation.js.map +1 -1
- package/dist/PageNavigation.vue.d.ts +7 -36
- package/dist/Paginate.js.map +1 -1
- package/dist/Paginate.vue.d.ts +5 -40
- package/dist/PlaidLink.js.map +1 -1
- package/dist/PlaidLink.vue.d.ts +12 -49
- package/dist/QuickAction.js.map +1 -1
- package/dist/QuickAction.vue.d.ts +3 -16
- package/dist/Radio.js.map +1 -1
- package/dist/Radio.vue.d.ts +0 -93
- package/dist/RadioGroup.js +94 -101
- package/dist/RadioGroup.js.map +1 -1
- package/dist/RadioGroup.vue.d.ts +116 -42
- package/dist/RadioNew.js +96 -99
- package/dist/RadioNew.js.map +1 -1
- package/dist/RadioNew.vue.d.ts +7 -48
- package/dist/RangeInput.js.map +1 -1
- package/dist/RangeInput.vue.d.ts +1 -1
- package/dist/SearchBar.js +38 -39
- package/dist/SearchBar.js.map +1 -1
- package/dist/SearchBar.vue.d.ts +127 -44
- package/dist/SectionHeader.js.map +1 -1
- package/dist/SectionHeader.vue.d.ts +6 -37
- package/dist/Select.js +171 -183
- package/dist/Select.js.map +1 -1
- package/dist/Select.vue.d.ts +23 -102
- package/dist/SelectStatus.js +38 -38
- package/dist/SelectStatus.js.map +1 -1
- package/dist/SelectStatus.vue.d.ts +227 -47
- package/dist/Skeleton.js.map +1 -1
- package/dist/Skeleton.vue.d.ts +3 -34
- package/dist/Step.js +44 -44
- package/dist/Step.js.map +1 -1
- package/dist/Step.vue.d.ts +4 -43
- package/dist/Stepper.js.map +1 -1
- package/dist/Stepper.vue.d.ts +9 -44
- package/dist/Switch.js.map +1 -1
- package/dist/Switch.vue.d.ts +8 -47
- package/dist/Tab.js +9 -9
- package/dist/Tab.js.map +1 -1
- package/dist/Tab.vue.d.ts +2 -15
- package/dist/TabPanel.js.map +1 -1
- package/dist/TabPanel.vue.d.ts +3 -30
- package/dist/Table.js +53 -59
- package/dist/Table.js.map +1 -1
- package/dist/Table.keys-LHQf6FEH.js.map +1 -1
- package/dist/Table.vue.d.ts +3 -50
- package/dist/TableCell.js +1 -1
- package/dist/TableCell.js.map +1 -1
- package/dist/TableCell.vue.d.ts +3 -32
- package/dist/TableHeaderCell.js +1 -1
- package/dist/TableHeaderCell.js.map +1 -1
- package/dist/TableHeaderCell.vue.d.ts +3 -30
- package/dist/TableHeaderRow.js +47 -45
- package/dist/TableHeaderRow.js.map +1 -1
- package/dist/TableHeaderRow.vue.d.ts +5 -34
- package/dist/TableRow.js +60 -61
- package/dist/TableRow.js.map +1 -1
- package/dist/TableRow.vue.d.ts +7 -48
- package/dist/Tabs.js +2 -2
- package/dist/Tabs.vue.d.ts +4 -31
- package/dist/Tabs.vue_vue_type_script_setup_true_lang-BlJVDr7o.js +78 -0
- package/dist/Tabs.vue_vue_type_script_setup_true_lang-BlJVDr7o.js.map +1 -0
- package/dist/TextEditor.js +2414 -2420
- package/dist/TextEditor.js.map +1 -1
- package/dist/TextEditor.vue.d.ts +9 -40
- package/dist/Textarea.js +69 -69
- package/dist/Textarea.js.map +1 -1
- package/dist/Textarea.vue.d.ts +9 -44
- package/dist/Thumbnail.js +1 -1
- package/dist/Thumbnail.js.map +1 -1
- package/dist/Thumbnail.vue.d.ts +4 -4
- package/dist/ThumbnailEmpty.js.map +1 -1
- package/dist/ThumbnailEmpty.vue.d.ts +1 -1
- package/dist/ThumbnailGroup.js.map +1 -1
- package/dist/ThumbnailGroup.keys-EJ4qFNhx.js.map +1 -1
- package/dist/ThumbnailGroup.vue.d.ts +26 -22
- package/dist/Timeline.js.map +1 -1
- package/dist/Timeline.vue.d.ts +3 -32
- package/dist/TimelineItem.js.map +1 -1
- package/dist/TimelineItem.vue.d.ts +1 -1
- package/dist/Toast.js.map +1 -1
- package/dist/Toast.vue.d.ts +3 -30
- package/dist/Toasts.js.map +1 -1
- package/dist/ToastsPlugin.js +11 -11
- package/dist/ToastsPlugin.js.map +1 -1
- package/dist/Tooltip.js +29 -30
- package/dist/Tooltip.js.map +1 -1
- package/dist/Tooltip.vue.d.ts +11 -43
- package/dist/colors-DDDVvqfQ.js.map +1 -1
- package/dist/components.css +1 -1
- package/dist/constants.js.map +1 -1
- package/dist/directives/autofocus.js.map +1 -1
- package/dist/directives/clickoutside.js.map +1 -1
- package/dist/directives/observe.js.map +1 -1
- package/dist/directives/sticky.js.map +1 -1
- package/dist/directives/tooltip.js +3 -3
- package/dist/directives/tooltip.js.map +1 -1
- package/dist/directives/viewable.js +39 -44
- package/dist/directives/viewable.js.map +1 -1
- package/dist/{floating-ui.vue-pzUuloyX.js → floating-ui.vue-CL01Y9ER.js} +2 -2
- package/dist/{floating-ui.vue-pzUuloyX.js.map → floating-ui.vue-CL01Y9ER.js.map} +1 -1
- package/dist/formatDateTime-DG7kBc2T.js +1414 -0
- package/dist/{formatDateTime-Dz8bXV0R.js.map → formatDateTime-DG7kBc2T.js.map} +1 -1
- package/dist/index-D6bxWkZ1.js.map +1 -1
- package/dist/index-XZqpB2_R.js +294 -0
- package/dist/{index-ConQ3o31.js.map → index-XZqpB2_R.js.map} +1 -1
- package/dist/index.js +99 -104
- package/dist/index.js.map +1 -1
- package/dist/isDefined-DzVx0B6k.js.map +1 -1
- package/dist/keys-BEdEsanp.js.map +1 -1
- package/dist/keys-C8Zfr_By.js.map +1 -1
- package/dist/locale.js.map +1 -1
- package/dist/misc-CHQs-G03.js.map +1 -1
- package/dist/obfuscateText.d.ts +1 -1
- package/dist/parseISO-wlfIB_QJ.js.map +1 -1
- package/dist/searchFuzzy-DBDE6jkd.js +408 -0
- package/dist/{searchFuzzy-DRasJ33G.js.map → searchFuzzy-DBDE6jkd.js.map} +1 -1
- package/dist/statusLevels-D8EgtE_L.js.map +1 -1
- package/dist/storage.js.map +1 -1
- package/dist/tailwind-base.d.ts +18 -0
- package/dist/tailwind-base.js +19 -9
- package/dist/tailwind-base.js.map +1 -1
- package/dist/toTimeZone-Coq1oPTt.js.map +1 -1
- package/dist/useConfirmBeforeClosing.js.map +1 -1
- package/dist/useDialog.d.ts +2 -2
- package/dist/useDialog.js +21 -25
- package/dist/useDialog.js.map +1 -1
- package/dist/useGoogleMaps.js +108 -110
- package/dist/useGoogleMaps.js.map +1 -1
- package/dist/useMediaQuery.d.ts +0 -6
- package/dist/useMediaQuery.js +11 -15
- package/dist/useMediaQuery.js.map +1 -1
- package/dist/useModals.d.ts +1 -1
- package/dist/useModals.js.map +1 -1
- package/dist/usePaginationStats-d_q39naC.js.map +1 -1
- package/dist/usePlaidLink.js +20 -27
- package/dist/usePlaidLink.js.map +1 -1
- package/dist/useScriptTag.js.map +1 -1
- package/dist/useSearch.js +13 -13
- package/dist/useSearch.js.map +1 -1
- package/dist/useSelection.js +56 -56
- package/dist/useSelection.js.map +1 -1
- package/dist/useSortable.js +54 -63
- package/dist/useSortable.js.map +1 -1
- package/dist/useStepper.d.ts +2 -2
- package/dist/useStepper.js +36 -40
- package/dist/useStepper.js.map +1 -1
- package/dist/useToasts.js +23 -23
- package/dist/useToasts.js.map +1 -1
- package/dist/useValidation.js +96 -100
- package/dist/useValidation.js.map +1 -1
- package/dist/utils/calculateElementOverflow.js +4 -4
- package/dist/utils/calculateElementOverflow.js.map +1 -1
- package/dist/utils/colorScheme.js +2 -2
- package/dist/utils/colorScheme.js.map +1 -1
- package/dist/utils/createQueryString.js.map +1 -1
- package/dist/utils/createValidDate.js.map +1 -1
- package/dist/utils/formatDateTime.js +1 -1
- package/dist/utils/getContrastingTextColor.js.map +1 -1
- package/dist/utils/helpers.js.map +1 -1
- package/dist/utils/i18n.js.map +1 -1
- package/dist/utils/normalizeDate.js.map +1 -1
- package/dist/utils/obfuscateText.js +6 -6
- package/dist/utils/obfuscateText.js.map +1 -1
- package/dist/utils/searchFuzzy.js +1 -1
- package/dist/utils/storage.js +23 -23
- package/dist/utils/storage.js.map +1 -1
- package/package.json +12 -13
- package/tailwind-base.ts +12 -1
- package/types/vite.d.ts +7 -0
- package/types/vitest.d.ts +7 -0
- package/dist/Logo.vue_vue_type_script_setup_true_lang-Dz8c98sc.js.map +0 -1
- package/dist/MenusPlugin-Bk6UW6o9.js +0 -12
- package/dist/Tabs.vue_vue_type_script_setup_true_lang-CmnBP4i1.js +0 -159
- package/dist/Tabs.vue_vue_type_script_setup_true_lang-CmnBP4i1.js.map +0 -1
- package/dist/formatDateTime-Dz8bXV0R.js +0 -1418
- package/dist/index-ConQ3o31.js +0 -128
- package/dist/searchFuzzy-DRasJ33G.js +0 -409
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sources":["../src/constants.ts"],"sourcesContent":["/**\n * Leaflink Global Constants.\n * NOTE: as per convention, all constants are written in UPPERCASE.\n */\n\n/**\n * Key Codes\n */\nexport const KEY_CODES = Object.freeze({\n DOWN: 40,\n ENTER: 13,\n ESCAPE: 27,\n LEFT: 37,\n SPACE: 32,\n RIGHT: 39,\n UP: 38,\n});\n\n/**\n * Date Formats\n */\nexport const DATE_FORMATS = {\n DEFAULT: 'YYYY-MM-DD hh:mm A',\n MONTH_DAY_YEAR_AT_TIME: 'MMM DD, YYYY @ h:mmA',\n YYYY_MM_DD: 'YYYY-MM-DD',\n YYYY_MM_DD_DATE_FNS: 'yyyy-MM-dd',\n YYYY_MM_DD_TIME_DATE_FNS: 'yyyy-MM-dd hh:mm aa',\n TIME_DATE_FNS: 'hh:mm aa',\n YYYY_MM_DD_SLASHES: 'YYYY/MM/DD',\n};\n\n/**\n * Timeout for UI/UX effects\n */\nexport const UI_TIMEOUT = 3000;\n\n/**\n * Debounce used for firing side-effects (tracking, etc)\n */\nexport const DEBOUNCE = Object.freeze({\n SLOW: 3000,\n MEDIUM: 1000,\n FAST: 200,\n});\n\n/**\n * Query selector string for getting all focusable elements\n */\nexport const FOCUS_ELEMENTS_SELECTOR =\n 'button, [href]:not(use), input, select, textarea, [tabindex]:not([tabindex=\"-1\"])';\n\n/**\n * License colors\n */\nexport const LICENSE_COLORS = Object.freeze({\n ADU: 'tw-bg-blue-500',\n BULK: 'tw-bg-ice-900',\n REC: 'tw-bg-blue-500',\n MED: 'tw-bg-yellow-500',\n COM: 'tw-bg-royal-500',\n ANC: 'tw-bg-orange-500',\n CAN: 'tw-bg-green-500',\n});\n\n/**\n * CSS variable names\n */\nexport const CSS_VARS = {\n GRID_GUTTER: 'grid-gutter',\n TOP_HEADER_HEIGHT: 'height-topbar',\n} as const;\n\n/**\n * LeafLink app names\n */\nexport const APPS = {\n MARKETPLACE: 'marketplace',\n PAYMENTS: 'payments',\n} as const;\n\n/**\n * Change triggers for ListView\n */\nexport const LLLV_CHANGE_TRIGGERS = {\n APPLY: 'apply',\n LOAD: 'load',\n PAGE: 'page',\n RESET: 'reset',\n SEARCH: 'search',\n SORT: 'sort',\n} as const;\n\n/**\n * Key value pairs where the key is a currency code and the value is the\n * symbol for that code.\n */\nexport const CURRENCY_SYMBOL_MAP = Object.freeze({\n AED: 'د.إ',\n AFN: '؋',\n ALL: 'L',\n AMD: '֏',\n ANG: 'ƒ',\n AOA: 'Kz',\n ARS: '$',\n AUD: '$',\n AWG: 'ƒ',\n AZN: '₼',\n BAM: 'KM',\n BBD: '$',\n BDT: '৳',\n BGN: 'лв',\n BHD: '.د.ب',\n BIF: 'FBu',\n BMD: '$',\n BND: '$',\n BOB: '$b',\n BOV: 'BOV',\n BRL: 'R$',\n BSD: '$',\n BTC: '₿',\n BTN: 'Nu.',\n BWP: 'P',\n BYN: 'Br',\n BYR: 'Br',\n BZD: 'BZ$',\n CAD: '$',\n CDF: 'FC',\n CHE: 'CHE',\n CHF: 'CHF',\n CHW: 'CHW',\n CLF: 'CLF',\n CLP: '$',\n CNY: '¥',\n COP: '$',\n COU: 'COU',\n CRC: '₡',\n CUC: '$',\n CUP: '₱',\n CVE: '$',\n CZK: 'Kč',\n DJF: 'Fdj',\n DKK: 'kr',\n DOP: 'RD$',\n DZD: 'دج',\n EEK: 'kr',\n EGP: '£',\n ERN: 'Nfk',\n ETB: 'Br',\n ETH: 'Ξ',\n EUR: '€',\n FJD: '$',\n FKP: '£',\n GBP: '£',\n GEL: '₾',\n GGP: '£',\n GHC: '₵',\n GHS: 'GH₵',\n GIP: '£',\n GMD: 'D',\n GNF: 'FG',\n GTQ: 'Q',\n GYD: '$',\n HKD: '$',\n HNL: 'L',\n HRK: 'kn',\n HTG: 'G',\n HUF: 'Ft',\n IDR: 'Rp',\n ILS: '₪',\n IMP: '£',\n INR: '₹',\n IQD: 'ع.د',\n IRR: '﷼',\n ISK: 'kr',\n JEP: '£',\n JMD: 'J$',\n JOD: 'JD',\n JPY: '¥',\n KES: 'KSh',\n KGS: 'лв',\n KHR: '៛',\n KMF: 'CF',\n KPW: '₩',\n KRW: '₩',\n KWD: 'KD',\n KYD: '$',\n KZT: '₸',\n LAK: '₭',\n LBP: '£',\n LKR: '₨',\n LRD: '$',\n LSL: 'M',\n LTC: 'Ł',\n LTL: 'Lt',\n LVL: 'Ls',\n LYD: 'LD',\n MAD: 'MAD',\n MDL: 'lei',\n MGA: 'Ar',\n MKD: 'ден',\n MMK: 'K',\n MNT: '₮',\n MOP: 'MOP$',\n MRO: 'UM',\n MRU: 'UM',\n MUR: '₨',\n MVR: 'Rf',\n MWK: 'MK',\n MXN: '$',\n MXV: 'MXV',\n MYR: 'RM',\n MZN: 'MT',\n NAD: '$',\n NGN: '₦',\n NIO: 'C$',\n NOK: 'kr',\n NPR: '₨',\n NZD: '$',\n OMR: '﷼',\n PAB: 'B/.',\n PEN: 'S/.',\n PGK: 'K',\n PHP: '₱',\n PKR: '₨',\n PLN: 'zł',\n PYG: 'Gs',\n QAR: '﷼',\n RMB: '¥',\n RON: 'lei',\n RSD: 'Дин.',\n RUB: '₽',\n RWF: 'R₣',\n SAR: '﷼',\n SBD: '$',\n SCR: '₨',\n SDG: 'ج.س.',\n SEK: 'kr',\n SGD: 'S$',\n SHP: '£',\n SLL: 'Le',\n SOS: 'S',\n SRD: '$',\n SSP: '£',\n STD: 'Db',\n STN: 'Db',\n SVC: '$',\n SYP: '£',\n SZL: 'E',\n THB: '฿',\n TJS: 'SM',\n TMT: 'T',\n TND: 'د.ت',\n TOP: 'T$',\n TRL: '₤',\n TRY: '₺',\n TTD: 'TT$',\n TVD: '$',\n TWD: 'NT$',\n TZS: 'TSh',\n UAH: '₴',\n UGX: 'USh',\n USD: '$',\n UYI: 'UYI',\n UYU: '$U',\n UYW: 'UYW',\n UZS: 'лв',\n VEF: 'Bs',\n VES: 'Bs.S',\n VND: '₫',\n VUV: 'VT',\n WST: 'WS$',\n XAF: 'FCFA',\n XBT: 'Ƀ',\n XCD: '$',\n XOF: 'CFA',\n XPF: '₣',\n XSU: 'Sucre',\n XUA: 'XUA',\n YER: '﷼',\n ZAR: 'R',\n ZMW: 'ZK',\n ZWD: 'Z$',\n ZWL: '$',\n});\n\n/**\n * Image Provider URLs\n */\n\nexport const IMAGE_PROVIDER_URLS = {\n CLOUDINARY: 'https://res.cloudinary.com/leaflink/image/fetch',\n} as const;\n\n/**\n * The number of decimals to round a number\n */\nexport const DECIMAL_PRECISION = {\n CURRENCY: 2,\n} as const;\n\nexport const LICENSE_CLASSIFICATIONS = Object.freeze({\n NONE: {\n id: 'None',\n displayName: '',\n },\n ADULT_USE: {\n id: 'Adult Use',\n displayName: 'Recreational',\n },\n MEDICAL: {\n id: 'Medical',\n displayName: 'Medical',\n },\n COMBINED: {\n id: 'Combined',\n displayName: 'Recreational',\n },\n CANNABIS: {\n id: 'Cannabis',\n displayName: 'Recreational',\n },\n});\n\n/**\n * Inbound Leads Statuses\n */\nexport const INBOUND_LEADS = Object.freeze({\n COMPLETE: {\n color: 'tw-bg-purple-500',\n id: 'complete',\n },\n PENDING: {\n color: 'tw-bg-orange-500',\n id: 'pending',\n },\n IGNORED: {\n color: 'tw-bg-red-500',\n id: 'ignored',\n },\n});\n\n/**\n * Order statuses for both Buyer and Seller generated Orders.\n */\nexport const ORDER = Object.freeze({\n SUBMITTED: {\n color: 'ice-700',\n name: 'submitted',\n transitionName: 'submit',\n },\n ACCEPTED: {\n color: 'green',\n name: 'accepted',\n transitionName: 'accept',\n },\n FULFILLED: {\n color: 'royal',\n name: 'fulfilled',\n transitionName: 'fulfill',\n },\n SHIPPED: {\n color: 'blue',\n name: 'shipped',\n transitionName: 'ship',\n },\n COMPLETE: {\n color: 'purple',\n name: 'complete',\n transitionName: 'complete',\n },\n REJECTED: {\n color: 'red',\n name: 'rejected',\n transitionName: 'reject',\n },\n CANCELLED: {\n color: 'red',\n name: 'cancelled',\n transitionName: 'cancel',\n },\n DRAFT: {\n color: 'blue',\n name: 'draft',\n transitionName: '',\n },\n BACKORDER: {\n color: 'ice',\n name: 'backorder',\n transitionName: 'backorder',\n },\n COMBINED: {\n color: 'ice',\n name: 'combined',\n transitionName: 'combine',\n },\n});\n\n/**\n * Certified Seller Statuses\n */\nexport const SELLER_STATUSES = Object.freeze({\n eliteSeller: {\n color: 'royal',\n id: 'elite',\n },\n powerSeller: {\n color: 'green',\n id: 'power',\n },\n});\n\n// Tailwind is mobile first so there's no media query necessary for LL's sm\n// breakpoint as it's effectively `@media (min-width: 0) { ... }`. Typically\n// (in tailwind, bootstrap, etc) everything from 0 - sm \"breakpoint\" is\n// considered XS. But for us, it's actually shifted up. We're not really\n// defining \"breakpoints\" so much as we do ranges, so in Tailwind world, we\n// don't need to define a `sm` breakpoint.\n// See:\n// - https://tailwindcss.com/docs/screens#advanced-configuration\n// - https://tailwindcss.com/docs/responsive-design#targeting-a-breakpoint-range\nexport const SCREEN_SIZES = Object.freeze({\n md: '640px',\n // => @media (min-width: 640px) { ... }\n\n lg: '961px',\n // => @media (min-width: 961px) { ... }\n\n xl: '1321px',\n // => @media (min-width: 1321px) { ... }\n\n /**\n * Target only specific breakpoints.\n *\n * Note: These ONLY apply to the screen function in Tailwind, i.e. `@media screen('md:max-lg')`.\n * When using in a class like `class=\"lg:max-xl:tw-bg-red\"`, it will actually generate two\n * media queries nested inside each other like so: `@media (min-width: 961px) { @media (max-width: 1321px) { ... } }`.\n */\n\n // sm only - use `max-md` instead!\n\n // md only\n 'md:max-lg': { min: '640px', max: '961px' },\n // => @media (min-width: 640px) and (max-width: 961px) { ... }\n\n // lg only\n 'lg:max-xl': { min: '961px', max: '1321px' },\n // => @media (min-width: 961px) and (max-width: 1321px) { ... }\n\n /**\n * Max breakpoints.\n *\n * Important: Make sure to list max breakpoints in descending order so that they override each other as expected.\n */\n\n 'max-xl': { raw: 'not all and (min-width: 1321px)' },\n // => @media (not all and (min-width: 1321px)) { ... }\n\n 'max-lg': { raw: 'not all and (min-width: 969px)' },\n // => @media (not all and (min-width: 961px)) { ... }\n\n 'max-md': { raw: 'not all and (min-width: 640px)' },\n // => @media (not all and (min-width: 640px)) { ... }\n});\n"],"names":["KEY_CODES","DATE_FORMATS","UI_TIMEOUT","DEBOUNCE","FOCUS_ELEMENTS_SELECTOR","LICENSE_COLORS","CSS_VARS","APPS","LLLV_CHANGE_TRIGGERS","CURRENCY_SYMBOL_MAP","IMAGE_PROVIDER_URLS","DECIMAL_PRECISION","LICENSE_CLASSIFICATIONS","INBOUND_LEADS","ORDER","SELLER_STATUSES","SCREEN_SIZES"],"mappings":"AAQa,MAAAA,IAAY,OAAO,OAAO;AAAA,EACrC,MAAM;AAAA,EACN,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,OAAO;AAAA,EACP,OAAO;AAAA,EACP,IAAI;AACN,CAAC,GAKYC,IAAe;AAAA,EAC1B,SAAS;AAAA,EACT,wBAAwB;AAAA,EACxB,YAAY;AAAA,EACZ,qBAAqB;AAAA,EACrB,0BAA0B;AAAA,EAC1B,eAAe;AAAA,EACf,oBAAoB;AACtB,GAKaC,IAAa,KAKbC,IAAW,OAAO,OAAO;AAAA,EACpC,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,MAAM;AACR,CAAC,GAKYC,IACX,qFAKWC,IAAiB,OAAO,OAAO;AAAA,EAC1C,KAAK;AAAA,EACL,MAAM;AAAA,EACN,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AACP,CAAC,GAKYC,IAAW;AAAA,EACtB,aAAa;AAAA,EACb,mBAAmB;AACrB,GAKaC,IAAO;AAAA,EAClB,aAAa;AAAA,EACb,UAAU;AACZ,GAKaC,IAAuB;AAAA,EAClC,OAAO;AAAA,EACP,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,MAAM;AACR,GAMaC,IAAsB,OAAO,OAAO;AAAA,EAC/C,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EAC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"}
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../src/constants.ts"],"sourcesContent":["/**\n * Leaflink Global Constants.\n * NOTE: as per convention, all constants are written in UPPERCASE.\n */\n\n/**\n * Key Codes\n */\nexport const KEY_CODES = Object.freeze({\n DOWN: 40,\n ENTER: 13,\n ESCAPE: 27,\n LEFT: 37,\n SPACE: 32,\n RIGHT: 39,\n UP: 38,\n});\n\n/**\n * Date Formats\n */\nexport const DATE_FORMATS = {\n DEFAULT: 'YYYY-MM-DD hh:mm A',\n MONTH_DAY_YEAR_AT_TIME: 'MMM DD, YYYY @ h:mmA',\n YYYY_MM_DD: 'YYYY-MM-DD',\n YYYY_MM_DD_DATE_FNS: 'yyyy-MM-dd',\n YYYY_MM_DD_TIME_DATE_FNS: 'yyyy-MM-dd hh:mm aa',\n TIME_DATE_FNS: 'hh:mm aa',\n YYYY_MM_DD_SLASHES: 'YYYY/MM/DD',\n};\n\n/**\n * Timeout for UI/UX effects\n */\nexport const UI_TIMEOUT = 3000;\n\n/**\n * Debounce used for firing side-effects (tracking, etc)\n */\nexport const DEBOUNCE = Object.freeze({\n SLOW: 3000,\n MEDIUM: 1000,\n FAST: 200,\n});\n\n/**\n * Query selector string for getting all focusable elements\n */\nexport const FOCUS_ELEMENTS_SELECTOR =\n 'button, [href]:not(use), input, select, textarea, [tabindex]:not([tabindex=\"-1\"])';\n\n/**\n * License colors\n */\nexport const LICENSE_COLORS = Object.freeze({\n ADU: 'tw-bg-blue-500',\n BULK: 'tw-bg-ice-900',\n REC: 'tw-bg-blue-500',\n MED: 'tw-bg-yellow-500',\n COM: 'tw-bg-royal-500',\n ANC: 'tw-bg-orange-500',\n CAN: 'tw-bg-green-500',\n});\n\n/**\n * CSS variable names\n */\nexport const CSS_VARS = {\n GRID_GUTTER: 'grid-gutter',\n TOP_HEADER_HEIGHT: 'height-topbar',\n} as const;\n\n/**\n * LeafLink app names\n */\nexport const APPS = {\n MARKETPLACE: 'marketplace',\n PAYMENTS: 'payments',\n} as const;\n\n/**\n * Change triggers for ListView\n */\nexport const LLLV_CHANGE_TRIGGERS = {\n APPLY: 'apply',\n LOAD: 'load',\n PAGE: 'page',\n RESET: 'reset',\n SEARCH: 'search',\n SORT: 'sort',\n} as const;\n\n/**\n * Key value pairs where the key is a currency code and the value is the\n * symbol for that code.\n */\nexport const CURRENCY_SYMBOL_MAP = Object.freeze({\n AED: 'د.إ',\n AFN: '؋',\n ALL: 'L',\n AMD: '֏',\n ANG: 'ƒ',\n AOA: 'Kz',\n ARS: '$',\n AUD: '$',\n AWG: 'ƒ',\n AZN: '₼',\n BAM: 'KM',\n BBD: '$',\n BDT: '৳',\n BGN: 'лв',\n BHD: '.د.ب',\n BIF: 'FBu',\n BMD: '$',\n BND: '$',\n BOB: '$b',\n BOV: 'BOV',\n BRL: 'R$',\n BSD: '$',\n BTC: '₿',\n BTN: 'Nu.',\n BWP: 'P',\n BYN: 'Br',\n BYR: 'Br',\n BZD: 'BZ$',\n CAD: '$',\n CDF: 'FC',\n CHE: 'CHE',\n CHF: 'CHF',\n CHW: 'CHW',\n CLF: 'CLF',\n CLP: '$',\n CNY: '¥',\n COP: '$',\n COU: 'COU',\n CRC: '₡',\n CUC: '$',\n CUP: '₱',\n CVE: '$',\n CZK: 'Kč',\n DJF: 'Fdj',\n DKK: 'kr',\n DOP: 'RD$',\n DZD: 'دج',\n EEK: 'kr',\n EGP: '£',\n ERN: 'Nfk',\n ETB: 'Br',\n ETH: 'Ξ',\n EUR: '€',\n FJD: '$',\n FKP: '£',\n GBP: '£',\n GEL: '₾',\n GGP: '£',\n GHC: '₵',\n GHS: 'GH₵',\n GIP: '£',\n GMD: 'D',\n GNF: 'FG',\n GTQ: 'Q',\n GYD: '$',\n HKD: '$',\n HNL: 'L',\n HRK: 'kn',\n HTG: 'G',\n HUF: 'Ft',\n IDR: 'Rp',\n ILS: '₪',\n IMP: '£',\n INR: '₹',\n IQD: 'ع.د',\n IRR: '﷼',\n ISK: 'kr',\n JEP: '£',\n JMD: 'J$',\n JOD: 'JD',\n JPY: '¥',\n KES: 'KSh',\n KGS: 'лв',\n KHR: '៛',\n KMF: 'CF',\n KPW: '₩',\n KRW: '₩',\n KWD: 'KD',\n KYD: '$',\n KZT: '₸',\n LAK: '₭',\n LBP: '£',\n LKR: '₨',\n LRD: '$',\n LSL: 'M',\n LTC: 'Ł',\n LTL: 'Lt',\n LVL: 'Ls',\n LYD: 'LD',\n MAD: 'MAD',\n MDL: 'lei',\n MGA: 'Ar',\n MKD: 'ден',\n MMK: 'K',\n MNT: '₮',\n MOP: 'MOP$',\n MRO: 'UM',\n MRU: 'UM',\n MUR: '₨',\n MVR: 'Rf',\n MWK: 'MK',\n MXN: '$',\n MXV: 'MXV',\n MYR: 'RM',\n MZN: 'MT',\n NAD: '$',\n NGN: '₦',\n NIO: 'C$',\n NOK: 'kr',\n NPR: '₨',\n NZD: '$',\n OMR: '﷼',\n PAB: 'B/.',\n PEN: 'S/.',\n PGK: 'K',\n PHP: '₱',\n PKR: '₨',\n PLN: 'zł',\n PYG: 'Gs',\n QAR: '﷼',\n RMB: '¥',\n RON: 'lei',\n RSD: 'Дин.',\n RUB: '₽',\n RWF: 'R₣',\n SAR: '﷼',\n SBD: '$',\n SCR: '₨',\n SDG: 'ج.س.',\n SEK: 'kr',\n SGD: 'S$',\n SHP: '£',\n SLL: 'Le',\n SOS: 'S',\n SRD: '$',\n SSP: '£',\n STD: 'Db',\n STN: 'Db',\n SVC: '$',\n SYP: '£',\n SZL: 'E',\n THB: '฿',\n TJS: 'SM',\n TMT: 'T',\n TND: 'د.ت',\n TOP: 'T$',\n TRL: '₤',\n TRY: '₺',\n TTD: 'TT$',\n TVD: '$',\n TWD: 'NT$',\n TZS: 'TSh',\n UAH: '₴',\n UGX: 'USh',\n USD: '$',\n UYI: 'UYI',\n UYU: '$U',\n UYW: 'UYW',\n UZS: 'лв',\n VEF: 'Bs',\n VES: 'Bs.S',\n VND: '₫',\n VUV: 'VT',\n WST: 'WS$',\n XAF: 'FCFA',\n XBT: 'Ƀ',\n XCD: '$',\n XOF: 'CFA',\n XPF: '₣',\n XSU: 'Sucre',\n XUA: 'XUA',\n YER: '﷼',\n ZAR: 'R',\n ZMW: 'ZK',\n ZWD: 'Z$',\n ZWL: '$',\n});\n\n/**\n * Image Provider URLs\n */\n\nexport const IMAGE_PROVIDER_URLS = {\n CLOUDINARY: 'https://res.cloudinary.com/leaflink/image/fetch',\n} as const;\n\n/**\n * The number of decimals to round a number\n */\nexport const DECIMAL_PRECISION = {\n CURRENCY: 2,\n} as const;\n\nexport const LICENSE_CLASSIFICATIONS = Object.freeze({\n NONE: {\n id: 'None',\n displayName: '',\n },\n ADULT_USE: {\n id: 'Adult Use',\n displayName: 'Recreational',\n },\n MEDICAL: {\n id: 'Medical',\n displayName: 'Medical',\n },\n COMBINED: {\n id: 'Combined',\n displayName: 'Recreational',\n },\n CANNABIS: {\n id: 'Cannabis',\n displayName: 'Recreational',\n },\n});\n\n/**\n * Inbound Leads Statuses\n */\nexport const INBOUND_LEADS = Object.freeze({\n COMPLETE: {\n color: 'tw-bg-purple-500',\n id: 'complete',\n },\n PENDING: {\n color: 'tw-bg-orange-500',\n id: 'pending',\n },\n IGNORED: {\n color: 'tw-bg-red-500',\n id: 'ignored',\n },\n});\n\n/**\n * Order statuses for both Buyer and Seller generated Orders.\n */\nexport const ORDER = Object.freeze({\n SUBMITTED: {\n color: 'ice-700',\n name: 'submitted',\n transitionName: 'submit',\n },\n ACCEPTED: {\n color: 'green',\n name: 'accepted',\n transitionName: 'accept',\n },\n FULFILLED: {\n color: 'royal',\n name: 'fulfilled',\n transitionName: 'fulfill',\n },\n SHIPPED: {\n color: 'blue',\n name: 'shipped',\n transitionName: 'ship',\n },\n COMPLETE: {\n color: 'purple',\n name: 'complete',\n transitionName: 'complete',\n },\n REJECTED: {\n color: 'red',\n name: 'rejected',\n transitionName: 'reject',\n },\n CANCELLED: {\n color: 'red',\n name: 'cancelled',\n transitionName: 'cancel',\n },\n DRAFT: {\n color: 'blue',\n name: 'draft',\n transitionName: '',\n },\n BACKORDER: {\n color: 'ice',\n name: 'backorder',\n transitionName: 'backorder',\n },\n COMBINED: {\n color: 'ice',\n name: 'combined',\n transitionName: 'combine',\n },\n});\n\n/**\n * Certified Seller Statuses\n */\nexport const SELLER_STATUSES = Object.freeze({\n eliteSeller: {\n color: 'royal',\n id: 'elite',\n },\n powerSeller: {\n color: 'green',\n id: 'power',\n },\n});\n\n// Tailwind is mobile first so there's no media query necessary for LL's sm\n// breakpoint as it's effectively `@media (min-width: 0) { ... }`. Typically\n// (in tailwind, bootstrap, etc) everything from 0 - sm \"breakpoint\" is\n// considered XS. But for us, it's actually shifted up. We're not really\n// defining \"breakpoints\" so much as we do ranges, so in Tailwind world, we\n// don't need to define a `sm` breakpoint.\n// See:\n// - https://tailwindcss.com/docs/screens#advanced-configuration\n// - https://tailwindcss.com/docs/responsive-design#targeting-a-breakpoint-range\nexport const SCREEN_SIZES = Object.freeze({\n md: '640px',\n // => @media (min-width: 640px) { ... }\n\n lg: '961px',\n // => @media (min-width: 961px) { ... }\n\n xl: '1321px',\n // => @media (min-width: 1321px) { ... }\n\n /**\n * Target only specific breakpoints.\n *\n * Note: These ONLY apply to the screen function in Tailwind, i.e. `@media screen('md:max-lg')`.\n * When using in a class like `class=\"lg:max-xl:tw-bg-red\"`, it will actually generate two\n * media queries nested inside each other like so: `@media (min-width: 961px) { @media (max-width: 1321px) { ... } }`.\n */\n\n // sm only - use `max-md` instead!\n\n // md only\n 'md:max-lg': { min: '640px', max: '961px' },\n // => @media (min-width: 640px) and (max-width: 961px) { ... }\n\n // lg only\n 'lg:max-xl': { min: '961px', max: '1321px' },\n // => @media (min-width: 961px) and (max-width: 1321px) { ... }\n\n /**\n * Max breakpoints.\n *\n * Important: Make sure to list max breakpoints in descending order so that they override each other as expected.\n */\n\n 'max-xl': { raw: 'not all and (min-width: 1321px)' },\n // => @media (not all and (min-width: 1321px)) { ... }\n\n 'max-lg': { raw: 'not all and (min-width: 969px)' },\n // => @media (not all and (min-width: 961px)) { ... }\n\n 'max-md': { raw: 'not all and (min-width: 640px)' },\n // => @media (not all and (min-width: 640px)) { ... }\n});\n"],"names":["KEY_CODES","DATE_FORMATS","UI_TIMEOUT","DEBOUNCE","FOCUS_ELEMENTS_SELECTOR","LICENSE_COLORS","CSS_VARS","APPS","LLLV_CHANGE_TRIGGERS","CURRENCY_SYMBOL_MAP","IMAGE_PROVIDER_URLS","DECIMAL_PRECISION","LICENSE_CLASSIFICATIONS","INBOUND_LEADS","ORDER","SELLER_STATUSES","SCREEN_SIZES"],"mappings":"AAQO,MAAMA,IAAY,OAAO,OAAO;AAAA,EACrC,MAAM;AAAA,EACN,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,OAAO;AAAA,EACP,OAAO;AAAA,EACP,IAAI;AACN,CAAC,GAKYC,IAAe;AAAA,EAC1B,SAAS;AAAA,EACT,wBAAwB;AAAA,EACxB,YAAY;AAAA,EACZ,qBAAqB;AAAA,EACrB,0BAA0B;AAAA,EAC1B,eAAe;AAAA,EACf,oBAAoB;AACtB,GAKaC,IAAa,KAKbC,IAAW,OAAO,OAAO;AAAA,EACpC,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,MAAM;AACR,CAAC,GAKYC,IACX,qFAKWC,IAAiB,OAAO,OAAO;AAAA,EAC1C,KAAK;AAAA,EACL,MAAM;AAAA,EACN,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AACP,CAAC,GAKYC,IAAW;AAAA,EACtB,aAAa;AAAA,EACb,mBAAmB;AACrB,GAKaC,IAAO;AAAA,EAClB,aAAa;AAAA,EACb,UAAU;AACZ,GAKaC,IAAuB;AAAA,EAClC,OAAO;AAAA,EACP,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,MAAM;AACR,GAMaC,IAAsB,OAAO,OAAO;AAAA,EAC/C,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EAC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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autofocus.js","sources":["../../src/directives/autofocus/autofocus.ts"],"sourcesContent":["interface AutofocusBinding {\n modifiers: {\n empty?: boolean;\n };\n value?: boolean;\n}\n\ntype AutofocusElementTargets = HTMLInputElement | HTMLTextAreaElement | HTMLButtonElement;\n\nexport default {\n mounted(el: HTMLElement, { modifiers, value }: AutofocusBinding) {\n const matchesTarget = /input|textarea|button/i.test(el.nodeName);\n const targetElement = matchesTarget\n ? (el as AutofocusElementTargets)\n : el.querySelector<AutofocusElementTargets>('input, textarea, button');\n\n const isNotEmptyWithModifiers = !!targetElement && !(modifiers.empty && targetElement.value);\n const shouldFocus = isNotEmptyWithModifiers && value !== false;\n\n if (shouldFocus) {\n targetElement.focus();\n }\n },\n};\n"],"names":["autofocus","el","modifiers","value","targetElement"],"mappings":"AASA,
|
|
1
|
+
{"version":3,"file":"autofocus.js","sources":["../../src/directives/autofocus/autofocus.ts"],"sourcesContent":["interface AutofocusBinding {\n modifiers: {\n empty?: boolean;\n };\n value?: boolean;\n}\n\ntype AutofocusElementTargets = HTMLInputElement | HTMLTextAreaElement | HTMLButtonElement;\n\nexport default {\n mounted(el: HTMLElement, { modifiers, value }: AutofocusBinding) {\n const matchesTarget = /input|textarea|button/i.test(el.nodeName);\n const targetElement = matchesTarget\n ? (el as AutofocusElementTargets)\n : el.querySelector<AutofocusElementTargets>('input, textarea, button');\n\n const isNotEmptyWithModifiers = !!targetElement && !(modifiers.empty && targetElement.value);\n const shouldFocus = isNotEmptyWithModifiers && value !== false;\n\n if (shouldFocus) {\n targetElement.focus();\n }\n },\n};\n"],"names":["autofocus","el","modifiers","value","targetElement"],"mappings":"AASA,MAAAA,IAAe;AAAA,EACb,QAAQC,GAAiB,EAAE,WAAAC,GAAW,OAAAC,KAA2B;AAE/D,UAAMC,IADgB,yBAAyB,KAAKH,EAAG,QAAQ,IAE1DA,IACDA,EAAG,cAAuC,yBAAyB;AAKvE,IAHgC,CAAC,CAACG,KAAiB,EAAEF,EAAU,SAASE,EAAc,UACvCD,MAAU,MAGvDC,EAAc,MAAA;AAAA,EAElB;AACF;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clickoutside.js","sources":["../../src/directives/clickoutside/clickoutside.ts"],"sourcesContent":["/**\n * Determine whether a click occurred outside the referenced\n * element(s) or not. Trigger the directive's handler if so.\n */\nexport default {\n beforeMount(el, binding) {\n el._handler = (e) => {\n if (!el.contains(e.target) && binding.value) {\n binding.value(e);\n }\n };\n\n document.body.addEventListener('click', el._handler);\n },\n unmounted(el) {\n document.body.removeEventListener('click', el._handler);\n },\n};\n"],"names":["vClickoutside","el","binding","e"],"mappings":"AAIA,
|
|
1
|
+
{"version":3,"file":"clickoutside.js","sources":["../../src/directives/clickoutside/clickoutside.ts"],"sourcesContent":["/**\n * Determine whether a click occurred outside the referenced\n * element(s) or not. Trigger the directive's handler if so.\n */\nexport default {\n beforeMount(el, binding) {\n el._handler = (e) => {\n if (!el.contains(e.target) && binding.value) {\n binding.value(e);\n }\n };\n\n document.body.addEventListener('click', el._handler);\n },\n unmounted(el) {\n document.body.removeEventListener('click', el._handler);\n },\n};\n"],"names":["vClickoutside","el","binding","e"],"mappings":"AAIA,MAAAA,IAAe;AAAA,EACb,YAAYC,GAAIC,GAAS;AACvB,IAAAD,EAAG,WAAW,CAACE,MAAM;AACnB,MAAI,CAACF,EAAG,SAASE,EAAE,MAAM,KAAKD,EAAQ,SACpCA,EAAQ,MAAMC,CAAC;AAAA,IAEnB,GAEA,SAAS,KAAK,iBAAiB,SAASF,EAAG,QAAQ;AAAA,EACrD;AAAA,EACA,UAAUA,GAAI;AACZ,aAAS,KAAK,oBAAoB,SAASA,EAAG,QAAQ;AAAA,EACxD;AACF;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observe.js","sources":["../../src/directives/observe/observe.ts"],"sourcesContent":["const YES = 'yes';\nconst NO = 'no';\nconst observerKey = Symbol('v-observe');\n\nfunction markObserved(el) {\n el.dataset.vObserved = YES;\n}\n\nfunction markNotObserved(el) {\n el.dataset.vObserved = NO;\n}\n\nfunction cacheObserver(el, observer) {\n el[observerKey] = observer;\n}\n\nfunction removeCachedObserver(el) {\n el[observerKey] = undefined;\n}\n\nexport default {\n mounted(el, { value: observer }) {\n if (observer instanceof IntersectionObserver) {\n observer.observe(el);\n markObserved(el);\n cacheObserver(el, observer);\n } else {\n markNotObserved(el);\n removeCachedObserver(el);\n }\n },\n\n updated(el, { value: observer }) {\n const cached = el[observerKey];\n const sameObserver = observer === cached;\n const observed = el.dataset.vObserved === YES;\n const newObserver = observer instanceof IntersectionObserver;\n\n if (!observed) {\n if (newObserver) {\n observer.observe(el);\n markObserved(el);\n cacheObserver(el, observer);\n }\n\n return;\n }\n\n if (!newObserver) {\n markNotObserved(el);\n\n if (cached) {\n cached.unobserve(el);\n removeCachedObserver(el);\n }\n\n return;\n }\n\n if (sameObserver) {\n return;\n }\n\n if (cached) {\n cached.unobserve(el);\n }\n\n observer.observe(el);\n markObserved(el);\n cacheObserver(el, observer);\n },\n\n unmounted(el) {\n const cached = el[observerKey];\n\n if (cached instanceof IntersectionObserver) {\n cached.unobserve(el);\n }\n\n markNotObserved(el);\n removeCachedObserver(el);\n },\n};\n"],"names":["YES","NO","observerKey","markObserved","el","markNotObserved","cacheObserver","observer","removeCachedObserver","observe","cached","sameObserver","observed","newObserver"],"mappings":"AAAA,MAAMA,IAAM,OACNC,IAAK,MACLC,IAAc,OAAO,WAAW;AAEtC,SAASC,EAAaC,GAAI;AACxB,EAAAA,EAAG,QAAQ,YAAYJ;AACzB;AAEA,SAASK,EAAgBD,GAAI;AAC3B,EAAAA,EAAG,QAAQ,YAAYH;AACzB;AAEA,SAASK,EAAcF,GAAIG,GAAU;AACnC,EAAAH,EAAGF,CAAW,IAAIK;AACpB;AAEA,SAASC,EAAqBJ,GAAI;AAChC,EAAAA,EAAGF,CAAW,IAAI;AACpB;AAEA,
|
|
1
|
+
{"version":3,"file":"observe.js","sources":["../../src/directives/observe/observe.ts"],"sourcesContent":["const YES = 'yes';\nconst NO = 'no';\nconst observerKey = Symbol('v-observe');\n\nfunction markObserved(el) {\n el.dataset.vObserved = YES;\n}\n\nfunction markNotObserved(el) {\n el.dataset.vObserved = NO;\n}\n\nfunction cacheObserver(el, observer) {\n el[observerKey] = observer;\n}\n\nfunction removeCachedObserver(el) {\n el[observerKey] = undefined;\n}\n\nexport default {\n mounted(el, { value: observer }) {\n if (observer instanceof IntersectionObserver) {\n observer.observe(el);\n markObserved(el);\n cacheObserver(el, observer);\n } else {\n markNotObserved(el);\n removeCachedObserver(el);\n }\n },\n\n updated(el, { value: observer }) {\n const cached = el[observerKey];\n const sameObserver = observer === cached;\n const observed = el.dataset.vObserved === YES;\n const newObserver = observer instanceof IntersectionObserver;\n\n if (!observed) {\n if (newObserver) {\n observer.observe(el);\n markObserved(el);\n cacheObserver(el, observer);\n }\n\n return;\n }\n\n if (!newObserver) {\n markNotObserved(el);\n\n if (cached) {\n cached.unobserve(el);\n removeCachedObserver(el);\n }\n\n return;\n }\n\n if (sameObserver) {\n return;\n }\n\n if (cached) {\n cached.unobserve(el);\n }\n\n observer.observe(el);\n markObserved(el);\n cacheObserver(el, observer);\n },\n\n unmounted(el) {\n const cached = el[observerKey];\n\n if (cached instanceof IntersectionObserver) {\n cached.unobserve(el);\n }\n\n markNotObserved(el);\n removeCachedObserver(el);\n },\n};\n"],"names":["YES","NO","observerKey","markObserved","el","markNotObserved","cacheObserver","observer","removeCachedObserver","observe","cached","sameObserver","observed","newObserver"],"mappings":"AAAA,MAAMA,IAAM,OACNC,IAAK,MACLC,IAAc,OAAO,WAAW;AAEtC,SAASC,EAAaC,GAAI;AACxB,EAAAA,EAAG,QAAQ,YAAYJ;AACzB;AAEA,SAASK,EAAgBD,GAAI;AAC3B,EAAAA,EAAG,QAAQ,YAAYH;AACzB;AAEA,SAASK,EAAcF,GAAIG,GAAU;AACnC,EAAAH,EAAGF,CAAW,IAAIK;AACpB;AAEA,SAASC,EAAqBJ,GAAI;AAChC,EAAAA,EAAGF,CAAW,IAAI;AACpB;AAEA,MAAAO,IAAe;AAAA,EACb,QAAQL,GAAI,EAAE,OAAOG,KAAY;AAC/B,IAAIA,aAAoB,wBACtBA,EAAS,QAAQH,CAAE,GACnBD,EAAaC,CAAE,GACfE,EAAcF,GAAIG,CAAQ,MAE1BF,EAAgBD,CAAE,GAClBI,EAAqBJ,CAAE;AAAA,EAE3B;AAAA,EAEA,QAAQA,GAAI,EAAE,OAAOG,KAAY;AAC/B,UAAMG,IAASN,EAAGF,CAAW,GACvBS,IAAeJ,MAAaG,GAC5BE,IAAWR,EAAG,QAAQ,cAAcJ,GACpCa,IAAcN,aAAoB;AAExC,QAAI,CAACK,GAAU;AACb,MAAIC,MACFN,EAAS,QAAQH,CAAE,GACnBD,EAAaC,CAAE,GACfE,EAAcF,GAAIG,CAAQ;AAG5B;AAAA,IACF;AAEA,QAAI,CAACM,GAAa;AAChB,MAAAR,EAAgBD,CAAE,GAEdM,MACFA,EAAO,UAAUN,CAAE,GACnBI,EAAqBJ,CAAE;AAGzB;AAAA,IACF;AAEA,IAAIO,MAIAD,KACFA,EAAO,UAAUN,CAAE,GAGrBG,EAAS,QAAQH,CAAE,GACnBD,EAAaC,CAAE,GACfE,EAAcF,GAAIG,CAAQ;AAAA,EAC5B;AAAA,EAEA,UAAUH,GAAI;AACZ,UAAMM,IAASN,EAAGF,CAAW;AAE7B,IAAIQ,aAAkB,wBACpBA,EAAO,UAAUN,CAAE,GAGrBC,EAAgBD,CAAE,GAClBI,EAAqBJ,CAAE;AAAA,EACzB;AACF;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sticky.js","sources":["../../src/directives/sticky/sticky.ts"],"sourcesContent":["/**\n * The v-sticky directive makes an element sticky and toggles the \"is-sticky\" class when stickiness changes.\n * Note: the \"is-sticky\" class is user-defined and therefore varies in usage\n * @example\n * // sticks to the top of the screen\n * v-sticky\n * @example\n * // sticks 60px from the top of the screen\n * v-sticky=\"60\" or v-sticky:top=\"60\"\n * @example\n * // sticks 0px from the left of the screen\n * v-sticky:left\n */\n\n/**\n * Create an instance of window.IntersectionObserver and begin observing the element's position\n * Note: the instance is saved on the element under _stickyObserver so that it can be easily disconnected later\n * @param {Object} config\n * @param {Object} config.element - the HTMLElement that is sticky\n * @param {String} [config.position] - where the element should stick\n * @param {Number} [config.offset] - space from edge of screen in pixels when sticky\n */\nfunction observeStickiness({ element, position = 'top', offset = 0 }) {\n if (!window.IntersectionObserver || !element) {\n return;\n }\n\n const topMargin = `${position === 'top' ? -(offset + 1) : 0}px`;\n const rightMargin = `${position === 'right' ? -(offset + 1) : 0}px`;\n const bottomMargin = `${position === 'bottom' ? -(offset + 1) : 0}px`;\n const leftMargin = `${position === 'left' ? -(offset + 1) : 0}px`;\n\n if (offset === null) {\n return;\n }\n\n // @ts-expect-error - todo\n element._stickyObserver = new window.IntersectionObserver(updateStickyStyles, {\n root: null,\n threshold: 1.0,\n rootMargin: `${topMargin} ${rightMargin} ${bottomMargin} ${leftMargin}`,\n }); // InteractionObserver docs: https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserver\n\n element.style.position = 'sticky';\n element.style[position] = `${offset}px`;\n element._stickyObserver.observe(element);\n}\n\n/**\n * Stop observing, disconnect the InteractionObserver instance, and prepare for instance for garbage collection\n * @param {Object} element - an HTMLElement which may have a _stickyObserver property\n */\nfunction removeSticky(element) {\n element.classList.remove('is-sticky');\n\n if (element._stickyObserver) {\n element._stickyObserver.unobserve(element);\n element._stickyObserver.disconnect();\n element._stickyObserver = undefined;\n }\n}\n\n/**\n * This is the callback function for the IntersectionObserver; it toggles the \"is-sticky\" class\n * @param {Object[]} entries - The IntersectionObserverEntry objects being observed. https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserverEntry\n */\nfunction updateStickyStyles(entries = []) {\n entries.forEach((entry) => {\n // @ts-expect-error - todo\n // The target element is \"intersecting\" with the root element when it is not touching the nav bar\n entry.target.classList.toggle('is-sticky', !entry.isIntersecting);\n });\n}\n\nexport default {\n mounted(el, binding) {\n observeStickiness({\n element: el,\n position: binding.arg,\n offset: binding.value,\n });\n },\n\n unmounted(el) {\n removeSticky(el);\n },\n\n updated(el, binding) {\n removeSticky(el);\n observeStickiness({\n element: el,\n position: binding.arg,\n offset: binding.value,\n });\n },\n};\n"],"names":["observeStickiness","element","position","offset","topMargin","rightMargin","bottomMargin","leftMargin","updateStickyStyles","removeSticky","entries","entry","sticky","el","binding"],"mappings":"AAsBA,SAASA,EAAkB,EAAE,SAAAC,GAAS,UAAAC,IAAW,OAAO,QAAAC,IAAS,KAAK;AACpE,MAAI,CAAC,OAAO,wBAAwB,CAACF;AACnC;AAGF,QAAMG,IAAY,GAAGF,MAAa,QAAQ,EAAEC,IAAS,KAAK,CAAC,MACrDE,IAAc,GAAGH,MAAa,UAAU,EAAEC,IAAS,KAAK,CAAC,MACzDG,IAAe,GAAGJ,MAAa,WAAW,EAAEC,IAAS,KAAK,CAAC,MAC3DI,IAAa,GAAGL,MAAa,SAAS,EAAEC,IAAS,KAAK,CAAC;AAE7D,EAAIA,MAAW,SAKfF,EAAQ,kBAAkB,IAAI,OAAO,qBAAqBO,GAAoB;AAAA,IAC5E,MAAM;AAAA,IACN,WAAW;AAAA,IACX,YAAY,GAAGJ,CAAS,IAAIC,CAAW,IAAIC,CAAY,IAAIC,CAAU;AAAA,EAAA,CACtE,GAEDN,EAAQ,MAAM,WAAW,UACzBA,EAAQ,MAAMC,CAAQ,IAAI,GAAGC,CAAM,
|
|
1
|
+
{"version":3,"file":"sticky.js","sources":["../../src/directives/sticky/sticky.ts"],"sourcesContent":["/**\n * The v-sticky directive makes an element sticky and toggles the \"is-sticky\" class when stickiness changes.\n * Note: the \"is-sticky\" class is user-defined and therefore varies in usage\n * @example\n * // sticks to the top of the screen\n * v-sticky\n * @example\n * // sticks 60px from the top of the screen\n * v-sticky=\"60\" or v-sticky:top=\"60\"\n * @example\n * // sticks 0px from the left of the screen\n * v-sticky:left\n */\n\n/**\n * Create an instance of window.IntersectionObserver and begin observing the element's position\n * Note: the instance is saved on the element under _stickyObserver so that it can be easily disconnected later\n * @param {Object} config\n * @param {Object} config.element - the HTMLElement that is sticky\n * @param {String} [config.position] - where the element should stick\n * @param {Number} [config.offset] - space from edge of screen in pixels when sticky\n */\nfunction observeStickiness({ element, position = 'top', offset = 0 }) {\n if (!window.IntersectionObserver || !element) {\n return;\n }\n\n const topMargin = `${position === 'top' ? -(offset + 1) : 0}px`;\n const rightMargin = `${position === 'right' ? -(offset + 1) : 0}px`;\n const bottomMargin = `${position === 'bottom' ? -(offset + 1) : 0}px`;\n const leftMargin = `${position === 'left' ? -(offset + 1) : 0}px`;\n\n if (offset === null) {\n return;\n }\n\n // @ts-expect-error - todo\n element._stickyObserver = new window.IntersectionObserver(updateStickyStyles, {\n root: null,\n threshold: 1.0,\n rootMargin: `${topMargin} ${rightMargin} ${bottomMargin} ${leftMargin}`,\n }); // InteractionObserver docs: https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserver\n\n element.style.position = 'sticky';\n element.style[position] = `${offset}px`;\n element._stickyObserver.observe(element);\n}\n\n/**\n * Stop observing, disconnect the InteractionObserver instance, and prepare for instance for garbage collection\n * @param {Object} element - an HTMLElement which may have a _stickyObserver property\n */\nfunction removeSticky(element) {\n element.classList.remove('is-sticky');\n\n if (element._stickyObserver) {\n element._stickyObserver.unobserve(element);\n element._stickyObserver.disconnect();\n element._stickyObserver = undefined;\n }\n}\n\n/**\n * This is the callback function for the IntersectionObserver; it toggles the \"is-sticky\" class\n * @param {Object[]} entries - The IntersectionObserverEntry objects being observed. https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserverEntry\n */\nfunction updateStickyStyles(entries = []) {\n entries.forEach((entry) => {\n // @ts-expect-error - todo\n // The target element is \"intersecting\" with the root element when it is not touching the nav bar\n entry.target.classList.toggle('is-sticky', !entry.isIntersecting);\n });\n}\n\nexport default {\n mounted(el, binding) {\n observeStickiness({\n element: el,\n position: binding.arg,\n offset: binding.value,\n });\n },\n\n unmounted(el) {\n removeSticky(el);\n },\n\n updated(el, binding) {\n removeSticky(el);\n observeStickiness({\n element: el,\n position: binding.arg,\n offset: binding.value,\n });\n },\n};\n"],"names":["observeStickiness","element","position","offset","topMargin","rightMargin","bottomMargin","leftMargin","updateStickyStyles","removeSticky","entries","entry","sticky","el","binding"],"mappings":"AAsBA,SAASA,EAAkB,EAAE,SAAAC,GAAS,UAAAC,IAAW,OAAO,QAAAC,IAAS,KAAK;AACpE,MAAI,CAAC,OAAO,wBAAwB,CAACF;AACnC;AAGF,QAAMG,IAAY,GAAGF,MAAa,QAAQ,EAAEC,IAAS,KAAK,CAAC,MACrDE,IAAc,GAAGH,MAAa,UAAU,EAAEC,IAAS,KAAK,CAAC,MACzDG,IAAe,GAAGJ,MAAa,WAAW,EAAEC,IAAS,KAAK,CAAC,MAC3DI,IAAa,GAAGL,MAAa,SAAS,EAAEC,IAAS,KAAK,CAAC;AAE7D,EAAIA,MAAW,SAKfF,EAAQ,kBAAkB,IAAI,OAAO,qBAAqBO,GAAoB;AAAA,IAC5E,MAAM;AAAA,IACN,WAAW;AAAA,IACX,YAAY,GAAGJ,CAAS,IAAIC,CAAW,IAAIC,CAAY,IAAIC,CAAU;AAAA,EAAA,CACtE,GAEDN,EAAQ,MAAM,WAAW,UACzBA,EAAQ,MAAMC,CAAQ,IAAI,GAAGC,CAAM,MACnCF,EAAQ,gBAAgB,QAAQA,CAAO;AACzC;AAMA,SAASQ,EAAaR,GAAS;AAC7B,EAAAA,EAAQ,UAAU,OAAO,WAAW,GAEhCA,EAAQ,oBACVA,EAAQ,gBAAgB,UAAUA,CAAO,GACzCA,EAAQ,gBAAgB,WAAA,GACxBA,EAAQ,kBAAkB;AAE9B;AAMA,SAASO,EAAmBE,IAAU,IAAI;AACxC,EAAAA,EAAQ,QAAQ,CAACC,MAAU;AAGzB,IAAAA,EAAM,OAAO,UAAU,OAAO,aAAa,CAACA,EAAM,cAAc;AAAA,EAClE,CAAC;AACH;AAEA,MAAAC,IAAe;AAAA,EACb,QAAQC,GAAIC,GAAS;AACnB,IAAAd,EAAkB;AAAA,MAChB,SAASa;AAAA,MACT,UAAUC,EAAQ;AAAA,MAClB,QAAQA,EAAQ;AAAA,IAAA,CACjB;AAAA,EACH;AAAA,EAEA,UAAUD,GAAI;AACZ,IAAAJ,EAAaI,CAAE;AAAA,EACjB;AAAA,EAEA,QAAQA,GAAIC,GAAS;AACnB,IAAAL,EAAaI,CAAE,GACfb,EAAkB;AAAA,MAChB,SAASa;AAAA,MACT,UAAUC,EAAQ;AAAA,MAClB,QAAQA,EAAQ;AAAA,IAAA,CACjB;AAAA,EACH;AACF;"}
|
|
@@ -16,7 +16,7 @@ function c(t, o) {
|
|
|
16
16
|
e.classList.value = r, e.setAttribute("role", "tooltip"), e.innerHTML = o.value, t.appendChild(e), t.classList.add("tooltip-toggle"), t.tabIndex = 0, d().then(() => {
|
|
17
17
|
if (r.includes("bottom") || r.includes("top")) {
|
|
18
18
|
const s = m(e);
|
|
19
|
-
if (s
|
|
19
|
+
if (s?.value) {
|
|
20
20
|
const l = s.side === "right" ? "-" : "";
|
|
21
21
|
e.style.setProperty("--offset", `${l}${s.value}`);
|
|
22
22
|
}
|
|
@@ -41,7 +41,7 @@ function a(t, o) {
|
|
|
41
41
|
function f(t) {
|
|
42
42
|
t.observer && document.body && (t.observer.unobserve(document.body), t.observer.disconnect(), t.observer = void 0);
|
|
43
43
|
}
|
|
44
|
-
const
|
|
44
|
+
const L = {
|
|
45
45
|
beforeMount(t, o) {
|
|
46
46
|
c(t, o), a(t, o);
|
|
47
47
|
},
|
|
@@ -55,6 +55,6 @@ const T = {
|
|
|
55
55
|
};
|
|
56
56
|
export {
|
|
57
57
|
u as Positions,
|
|
58
|
-
|
|
58
|
+
L as default
|
|
59
59
|
};
|
|
60
60
|
//# sourceMappingURL=tooltip.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tooltip.js","sources":["../../src/directives/tooltip/tooltip.ts"],"sourcesContent":["import debounce from 'lodash-es/debounce';\nimport { DirectiveBinding, nextTick } from 'vue';\n\nimport calculateElementOverflow from '../../utils/calculateElementOverflow';\n\nexport enum Positions {\n Bottom = 'bottom',\n Left = 'left',\n Right = 'right',\n Top = 'top',\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype HTMLDirectiveElement = HTMLElement & { observer?: ResizeObserver; cachedVal: any };\n\nconst defaultPosition = Positions.Top;\nconst positions = Object.values(Positions);\n\n/**\n * Gets position name based on modifiers provided. Defaults to Top.\n */\nfunction getPosition(modifiers: Record<string, boolean>): Positions {\n let position = defaultPosition;\n\n positions.forEach((pos) => {\n if (modifiers[pos]) {\n position = pos;\n return false;\n }\n });\n\n return position;\n}\n\n/**\n * Appends a new tooltip element to the directive element.\n *\n * Adds .tooltip-toggle class to element.\n *\n */\nfunction mount(el: HTMLDirectiveElement, binding: DirectiveBinding) {\n if (binding.value) {\n const tooltip = document.createElement('div');\n const styles = `tooltip tooltip--${getPosition(binding.modifiers)}`;\n\n tooltip.classList.value = styles;\n tooltip.setAttribute('role', 'tooltip');\n tooltip.innerHTML = binding.value;\n\n el.appendChild(tooltip);\n\n // Add classname to wrapper element for styling\n el.classList.add('tooltip-toggle');\n // Apply tabindex to make focusable (if it doesn't already have)\n el.tabIndex = 0;\n\n nextTick().then(() => {\n if (styles.includes('bottom') || styles.includes('top')) {\n const overflow = calculateElementOverflow(tooltip);\n\n if (overflow?.value) {\n const symbol = overflow.side === 'right' ? '-' : '';\n\n tooltip.style.setProperty('--offset', `${symbol}${overflow.value}`);\n }\n }\n });\n }\n}\n\n/**\n * Removes tooltip & cleans up any classnames added\n */\nfunction unmount(el: HTMLElement) {\n const tooltip = el.querySelector('.tooltip');\n\n el.classList.remove('tooltip-toggle');\n el.style.removeProperty('--offset');\n\n if (tooltip) {\n tooltip.remove();\n }\n}\n\n/**\n * Remounts tooltip to re-calc placement\n */\nfunction remount(el: HTMLDirectiveElement, binding: DirectiveBinding) {\n unmount(el);\n mount(el, binding);\n\n // If the value has not changed, avoid re-initializing observer\n // This prevents a `remount` infinite loop\n if (el.cachedVal !== binding.value) {\n el.cachedVal = binding.value;\n destroyObserver(el);\n setupObserver(el, binding);\n }\n}\n\n/**\n * Initializes a ResizeObserver for the current element to remount on resize\n */\nfunction setupObserver(el: HTMLDirectiveElement, binding: DirectiveBinding) {\n /**\n * Cache value on element because when we setup observer\n * it's still referencing the original value from on `beforeMount`.\n * When the directive updates with a new value, we'll verify\n * the new value is different from the cached one during remount.\n */\n el.cachedVal = binding.value;\n\n if ('ResizeObserver' in window && 'body' in document) {\n // debounce to limit remounts to after resize\n el.observer = new ResizeObserver(\n debounce(() => {\n remount(el, binding);\n }, 300),\n );\n\n el.observer.observe(document.body);\n }\n}\n\n/**\n * Removes the current observer\n */\nfunction destroyObserver(el: HTMLDirectiveElement) {\n if (el.observer && document.body) {\n el.observer.unobserve(document.body);\n el.observer.disconnect();\n el.observer = undefined;\n }\n}\n\n/**\n * Tooltip directive\n * @deprecated Use the `Tooltip` component from `@leaflink/stash/Tooltip.vue` instead\n */\nexport default {\n beforeMount(el: HTMLDirectiveElement, binding: DirectiveBinding) {\n mount(el, binding);\n setupObserver(el, binding);\n },\n\n updated(el: HTMLDirectiveElement, binding: DirectiveBinding) {\n const { oldValue, value } = binding;\n\n if (oldValue !== value) {\n remount(el, binding);\n }\n },\n\n unmounted(el: HTMLDirectiveElement) {\n destroyObserver(el);\n unmount(el);\n },\n};\n"],"names":["Positions","defaultPosition","positions","getPosition","modifiers","position","pos","mount","el","binding","tooltip","styles","nextTick","overflow","calculateElementOverflow","symbol","unmount","remount","destroyObserver","setupObserver","debounce","vTooltip","oldValue","value"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"tooltip.js","sources":["../../src/directives/tooltip/tooltip.ts"],"sourcesContent":["import debounce from 'lodash-es/debounce';\nimport { DirectiveBinding, nextTick } from 'vue';\n\nimport calculateElementOverflow from '../../utils/calculateElementOverflow';\n\nexport enum Positions {\n Bottom = 'bottom',\n Left = 'left',\n Right = 'right',\n Top = 'top',\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype HTMLDirectiveElement = HTMLElement & { observer?: ResizeObserver; cachedVal: any };\n\nconst defaultPosition = Positions.Top;\nconst positions = Object.values(Positions);\n\n/**\n * Gets position name based on modifiers provided. Defaults to Top.\n */\nfunction getPosition(modifiers: Record<string, boolean>): Positions {\n let position = defaultPosition;\n\n positions.forEach((pos) => {\n if (modifiers[pos]) {\n position = pos;\n return false;\n }\n });\n\n return position;\n}\n\n/**\n * Appends a new tooltip element to the directive element.\n *\n * Adds .tooltip-toggle class to element.\n *\n */\nfunction mount(el: HTMLDirectiveElement, binding: DirectiveBinding) {\n if (binding.value) {\n const tooltip = document.createElement('div');\n // @ts-expect-error - todo: fix this\n const styles = `tooltip tooltip--${getPosition(binding.modifiers)}`;\n\n tooltip.classList.value = styles;\n tooltip.setAttribute('role', 'tooltip');\n tooltip.innerHTML = binding.value;\n\n el.appendChild(tooltip);\n\n // Add classname to wrapper element for styling\n el.classList.add('tooltip-toggle');\n // Apply tabindex to make focusable (if it doesn't already have)\n el.tabIndex = 0;\n\n nextTick().then(() => {\n if (styles.includes('bottom') || styles.includes('top')) {\n const overflow = calculateElementOverflow(tooltip);\n\n if (overflow?.value) {\n const symbol = overflow.side === 'right' ? '-' : '';\n\n tooltip.style.setProperty('--offset', `${symbol}${overflow.value}`);\n }\n }\n });\n }\n}\n\n/**\n * Removes tooltip & cleans up any classnames added\n */\nfunction unmount(el: HTMLElement) {\n const tooltip = el.querySelector('.tooltip');\n\n el.classList.remove('tooltip-toggle');\n el.style.removeProperty('--offset');\n\n if (tooltip) {\n tooltip.remove();\n }\n}\n\n/**\n * Remounts tooltip to re-calc placement\n */\nfunction remount(el: HTMLDirectiveElement, binding: DirectiveBinding) {\n unmount(el);\n mount(el, binding);\n\n // If the value has not changed, avoid re-initializing observer\n // This prevents a `remount` infinite loop\n if (el.cachedVal !== binding.value) {\n el.cachedVal = binding.value;\n destroyObserver(el);\n setupObserver(el, binding);\n }\n}\n\n/**\n * Initializes a ResizeObserver for the current element to remount on resize\n */\nfunction setupObserver(el: HTMLDirectiveElement, binding: DirectiveBinding) {\n /**\n * Cache value on element because when we setup observer\n * it's still referencing the original value from on `beforeMount`.\n * When the directive updates with a new value, we'll verify\n * the new value is different from the cached one during remount.\n */\n el.cachedVal = binding.value;\n\n if ('ResizeObserver' in window && 'body' in document) {\n // debounce to limit remounts to after resize\n el.observer = new ResizeObserver(\n debounce(() => {\n remount(el, binding);\n }, 300),\n );\n\n el.observer.observe(document.body);\n }\n}\n\n/**\n * Removes the current observer\n */\nfunction destroyObserver(el: HTMLDirectiveElement) {\n if (el.observer && document.body) {\n el.observer.unobserve(document.body);\n el.observer.disconnect();\n el.observer = undefined;\n }\n}\n\n/**\n * Tooltip directive\n * @deprecated Use the `Tooltip` component from `@leaflink/stash/Tooltip.vue` instead\n */\nexport default {\n beforeMount(el: HTMLDirectiveElement, binding: DirectiveBinding) {\n mount(el, binding);\n setupObserver(el, binding);\n },\n\n updated(el: HTMLDirectiveElement, binding: DirectiveBinding) {\n const { oldValue, value } = binding;\n\n if (oldValue !== value) {\n remount(el, binding);\n }\n },\n\n unmounted(el: HTMLDirectiveElement) {\n destroyObserver(el);\n unmount(el);\n },\n};\n"],"names":["Positions","defaultPosition","positions","getPosition","modifiers","position","pos","mount","el","binding","tooltip","styles","nextTick","overflow","calculateElementOverflow","symbol","unmount","remount","destroyObserver","setupObserver","debounce","vTooltip","oldValue","value"],"mappings":";;;AAKO,IAAKA,sBAAAA,OACVA,EAAA,SAAS,UACTA,EAAA,OAAO,QACPA,EAAA,QAAQ,SACRA,EAAA,MAAM,OAJIA,IAAAA,KAAA,CAAA,CAAA;AAUZ,MAAMC,IAAkB,OAClBC,IAAY,OAAO,OAAOF,CAAS;AAKzC,SAASG,EAAYC,GAA+C;AAClE,MAAIC,IAAWJ;AAEf,SAAAC,EAAU,QAAQ,CAACI,MAAQ;AACzB,QAAIF,EAAUE,CAAG;AACf,aAAAD,IAAWC,GACJ;AAAA,EAEX,CAAC,GAEMD;AACT;AAQA,SAASE,EAAMC,GAA0BC,GAA2B;AAClE,MAAIA,EAAQ,OAAO;AACjB,UAAMC,IAAU,SAAS,cAAc,KAAK,GAEtCC,IAAS,oBAAoBR,EAAYM,EAAQ,SAAS,CAAC;AAEjE,IAAAC,EAAQ,UAAU,QAAQC,GAC1BD,EAAQ,aAAa,QAAQ,SAAS,GACtCA,EAAQ,YAAYD,EAAQ,OAE5BD,EAAG,YAAYE,CAAO,GAGtBF,EAAG,UAAU,IAAI,gBAAgB,GAEjCA,EAAG,WAAW,GAEdI,EAAA,EAAW,KAAK,MAAM;AACpB,UAAID,EAAO,SAAS,QAAQ,KAAKA,EAAO,SAAS,KAAK,GAAG;AACvD,cAAME,IAAWC,EAAyBJ,CAAO;AAEjD,YAAIG,GAAU,OAAO;AACnB,gBAAME,IAASF,EAAS,SAAS,UAAU,MAAM;AAEjD,UAAAH,EAAQ,MAAM,YAAY,YAAY,GAAGK,CAAM,GAAGF,EAAS,KAAK,EAAE;AAAA,QACpE;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH;AACF;AAKA,SAASG,EAAQR,GAAiB;AAChC,QAAME,IAAUF,EAAG,cAAc,UAAU;AAE3C,EAAAA,EAAG,UAAU,OAAO,gBAAgB,GACpCA,EAAG,MAAM,eAAe,UAAU,GAE9BE,KACFA,EAAQ,OAAA;AAEZ;AAKA,SAASO,EAAQT,GAA0BC,GAA2B;AACpE,EAAAO,EAAQR,CAAE,GACVD,EAAMC,GAAIC,CAAO,GAIbD,EAAG,cAAcC,EAAQ,UAC3BD,EAAG,YAAYC,EAAQ,OACvBS,EAAgBV,CAAE,GAClBW,EAAcX,GAAIC,CAAO;AAE7B;AAKA,SAASU,EAAcX,GAA0BC,GAA2B;AAO1E,EAAAD,EAAG,YAAYC,EAAQ,OAEnB,oBAAoB,UAAU,UAAU,aAE1CD,EAAG,WAAW,IAAI;AAAA,IAChBY,EAAS,MAAM;AACb,MAAAH,EAAQT,GAAIC,CAAO;AAAA,IACrB,GAAG,GAAG;AAAA,EAAA,GAGRD,EAAG,SAAS,QAAQ,SAAS,IAAI;AAErC;AAKA,SAASU,EAAgBV,GAA0B;AACjD,EAAIA,EAAG,YAAY,SAAS,SAC1BA,EAAG,SAAS,UAAU,SAAS,IAAI,GACnCA,EAAG,SAAS,WAAA,GACZA,EAAG,WAAW;AAElB;AAMA,MAAAa,IAAe;AAAA,EACb,YAAYb,GAA0BC,GAA2B;AAC/D,IAAAF,EAAMC,GAAIC,CAAO,GACjBU,EAAcX,GAAIC,CAAO;AAAA,EAC3B;AAAA,EAEA,QAAQD,GAA0BC,GAA2B;AAC3D,UAAM,EAAE,UAAAa,GAAU,OAAAC,EAAA,IAAUd;AAE5B,IAAIa,MAAaC,KACfN,EAAQT,GAAIC,CAAO;AAAA,EAEvB;AAAA,EAEA,UAAUD,GAA0B;AAClC,IAAAU,EAAgBV,CAAE,GAClBQ,EAAQR,CAAE;AAAA,EACZ;AACF;"}
|
|
@@ -1,19 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
o(this, "callback");
|
|
15
|
-
o(this, "modifiers");
|
|
16
|
-
this.el = e, this.modifiers = i, this.observer = null, this.callback = null, this.frozen = !1, this.options = {
|
|
1
|
+
import l from "lodash-es/isEqual";
|
|
2
|
+
import { nextTick as b } from "vue";
|
|
3
|
+
const o = Symbol("v-viewable");
|
|
4
|
+
class f {
|
|
5
|
+
observer;
|
|
6
|
+
el;
|
|
7
|
+
frozen;
|
|
8
|
+
options;
|
|
9
|
+
oldResult;
|
|
10
|
+
callback;
|
|
11
|
+
modifiers;
|
|
12
|
+
constructor(e, t, s = {}) {
|
|
13
|
+
this.el = e, this.modifiers = s, this.observer = null, this.callback = null, this.frozen = !1, this.options = {
|
|
17
14
|
callback: () => {
|
|
18
15
|
},
|
|
19
16
|
intersection: {}
|
|
@@ -35,22 +32,21 @@ class u {
|
|
|
35
32
|
};
|
|
36
33
|
}
|
|
37
34
|
createObserver(e) {
|
|
38
|
-
this.observer && this.destroyObserver(), !this.frozen && (this.options = this.processOptions(e), this.callback = (t,
|
|
39
|
-
|
|
40
|
-
this.options.callback(t, i), t && ((r = this.modifiers) != null && r.once) && (this.frozen = !0, this.destroyObserver());
|
|
35
|
+
this.observer && this.destroyObserver(), !this.frozen && (this.options = this.processOptions(e), this.callback = (t, s) => {
|
|
36
|
+
this.options.callback(t, s), t && this.modifiers?.once && (this.frozen = !0, this.destroyObserver());
|
|
41
37
|
}, this.oldResult = void 0, "IntersectionObserver" in window && (this.observer = new IntersectionObserver((t) => {
|
|
42
|
-
let
|
|
38
|
+
let s = t[0];
|
|
43
39
|
if (t.length > 1) {
|
|
44
|
-
const
|
|
45
|
-
|
|
40
|
+
const i = t.find((c) => c.isIntersecting);
|
|
41
|
+
i && (s = i);
|
|
46
42
|
}
|
|
47
43
|
if (this.callback) {
|
|
48
|
-
const
|
|
49
|
-
if (
|
|
44
|
+
const i = s.isIntersecting && s.intersectionRatio >= this.threshold;
|
|
45
|
+
if (i === this.oldResult)
|
|
50
46
|
return;
|
|
51
|
-
this.oldResult =
|
|
47
|
+
this.oldResult = i, this.callback(i, s);
|
|
52
48
|
}
|
|
53
|
-
}, this.intersectionObserverOptions)),
|
|
49
|
+
}, this.intersectionObserverOptions)), b(() => {
|
|
54
50
|
this.observer && this.observer.observe(this.el);
|
|
55
51
|
}));
|
|
56
52
|
}
|
|
@@ -61,35 +57,34 @@ class u {
|
|
|
61
57
|
return typeof e == "function" ? { callback: e } : e;
|
|
62
58
|
}
|
|
63
59
|
}
|
|
64
|
-
function
|
|
65
|
-
var r;
|
|
60
|
+
function n(r, { modifiers: e = {}, value: t }) {
|
|
66
61
|
if (!t)
|
|
67
62
|
return;
|
|
68
|
-
if (
|
|
63
|
+
if (t.intersection?.threshold instanceof Array)
|
|
69
64
|
throw new Error("`threshold` must be a number. v-viewable does not support `threshold` as an array.");
|
|
70
|
-
const
|
|
71
|
-
|
|
65
|
+
const s = new f(r, t, e);
|
|
66
|
+
r[o] = s;
|
|
72
67
|
}
|
|
73
|
-
function
|
|
74
|
-
if (
|
|
68
|
+
function a(r, { modifiers: e, value: t, oldValue: s }) {
|
|
69
|
+
if (l(t, s) || t.toString() === s.toString())
|
|
75
70
|
return;
|
|
76
|
-
const
|
|
71
|
+
const i = r[o];
|
|
77
72
|
if (!t) {
|
|
78
|
-
|
|
73
|
+
h(r);
|
|
79
74
|
return;
|
|
80
75
|
}
|
|
81
|
-
|
|
76
|
+
i ? i.createObserver(t) : n(r, { modifiers: e, value: t });
|
|
82
77
|
}
|
|
83
|
-
function
|
|
84
|
-
const e =
|
|
85
|
-
e && (e.destroyObserver(), delete
|
|
78
|
+
function h(r) {
|
|
79
|
+
const e = r[o];
|
|
80
|
+
e && (e.destroyObserver(), delete r[o]);
|
|
86
81
|
}
|
|
87
|
-
const
|
|
88
|
-
beforeMount:
|
|
89
|
-
updated:
|
|
90
|
-
unmounted:
|
|
82
|
+
const p = {
|
|
83
|
+
beforeMount: n,
|
|
84
|
+
updated: a,
|
|
85
|
+
unmounted: h
|
|
91
86
|
};
|
|
92
87
|
export {
|
|
93
|
-
|
|
88
|
+
p as default
|
|
94
89
|
};
|
|
95
90
|
//# sourceMappingURL=viewable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"viewable.js","sources":["../../src/directives/viewable/viewable.ts"],"sourcesContent":["import isEqual from 'lodash-es/isEqual';\nimport { nextTick } from 'vue';\n\nconst viewableKey = Symbol('v-viewable');\n\ntype ViewableCallback = (result: boolean, entry: IntersectionObserverEntry) => void;\n\nclass ViewableState {\n private observer: IntersectionObserver | null;\n private el: Element;\n private frozen: boolean;\n private options: {\n callback: ViewableCallback;\n intersection: IntersectionObserverInit;\n };\n private oldResult: undefined | boolean;\n private callback: ViewableCallback | null;\n private modifiers?: {\n once?: boolean;\n };\n\n constructor(el, options, modifiers = {}) {\n this.el = el;\n this.modifiers = modifiers;\n this.observer = null;\n this.callback = null;\n this.frozen = false;\n this.options = {\n callback: () => {},\n intersection: {},\n };\n this.createObserver(options);\n }\n\n /**\n * Default threshold of 100%.\n * Informs when the element is 100% visibile, or at the provided threshold(s)\n * Does not support an array of values.\n * @see: https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API#thresholds\n */\n get threshold() {\n return this.options.intersection && typeof this.options.intersection.threshold === 'number'\n ? this.options.intersection.threshold\n : 1;\n }\n\n get intersectionObserverOptions() {\n return {\n threshold: this.threshold,\n ...this.options.intersection,\n };\n }\n\n createObserver(options) {\n if (this.observer) {\n this.destroyObserver();\n }\n\n if (this.frozen) {\n return;\n }\n\n this.options = this.processOptions(options);\n\n this.callback = (result, entry) => {\n this.options.callback(result, entry);\n\n if (result && this.modifiers?.once) {\n this.frozen = true;\n this.destroyObserver();\n }\n };\n\n this.oldResult = undefined;\n\n if ('IntersectionObserver' in window) {\n this.observer = new IntersectionObserver((entries) => {\n let entry = entries[0];\n\n if (entries.length > 1) {\n const intersectingEntry = entries.find((e) => e.isIntersecting);\n\n if (intersectingEntry) {\n entry = intersectingEntry;\n }\n }\n\n if (this.callback) {\n // Use isIntersecting if possible because browsers can report isIntersecting as true, but intersectionRatio as 0, when something very slowly enters the viewport.\n const result = entry.isIntersecting && entry.intersectionRatio >= this.threshold;\n\n if (result === this.oldResult) {\n return;\n }\n\n this.oldResult = result;\n this.callback(result, entry);\n }\n }, this.intersectionObserverOptions);\n }\n\n // Wait for the element to be in document\n nextTick(() => {\n if (this.observer) {\n this.observer.observe(this.el);\n }\n });\n }\n\n destroyObserver() {\n if (this.observer) {\n this.observer.unobserve(this.el);\n this.observer.disconnect();\n this.observer = null;\n }\n }\n\n private processOptions(value) {\n const options =\n typeof value === 'function'\n ? { callback: value } // Simple options (callback-only)\n : value; // Options object\n\n return options;\n }\n}\n\nfunction mount(el, { modifiers = {}, value }) {\n if (!value) {\n return;\n }\n\n if (value.intersection?.threshold instanceof Array) {\n throw new Error('`threshold` must be a number. v-viewable does not support `threshold` as an array.');\n }\n\n const state = new ViewableState(el, value, modifiers);\n\n el[viewableKey] = state;\n}\n\nfunction updated(el, { modifiers, value, oldValue }) {\n if (isEqual(value, oldValue) || value.toString() === oldValue.toString()) {\n return;\n }\n\n const state = el[viewableKey];\n\n if (!value) {\n unmount(el);\n return;\n }\n\n if (state) {\n state.createObserver(value);\n } else {\n mount(el, { modifiers, value });\n }\n}\n\nfunction unmount(el) {\n const state = el[viewableKey];\n\n if (state) {\n state.destroyObserver();\n delete el[viewableKey];\n }\n}\n\nexport default {\n beforeMount: mount,\n updated,\n unmounted: unmount,\n};\n"],"names":["viewableKey","ViewableState","el","options","modifiers","
|
|
1
|
+
{"version":3,"file":"viewable.js","sources":["../../src/directives/viewable/viewable.ts"],"sourcesContent":["import isEqual from 'lodash-es/isEqual';\nimport { nextTick } from 'vue';\n\nconst viewableKey = Symbol('v-viewable');\n\ntype ViewableCallback = (result: boolean, entry: IntersectionObserverEntry) => void;\n\nclass ViewableState {\n private observer: IntersectionObserver | null;\n private el: Element;\n private frozen: boolean;\n private options: {\n callback: ViewableCallback;\n intersection: IntersectionObserverInit;\n };\n private oldResult: undefined | boolean;\n private callback: ViewableCallback | null;\n private modifiers?: {\n once?: boolean;\n };\n\n constructor(el, options, modifiers = {}) {\n this.el = el;\n this.modifiers = modifiers;\n this.observer = null;\n this.callback = null;\n this.frozen = false;\n this.options = {\n callback: () => {},\n intersection: {},\n };\n this.createObserver(options);\n }\n\n /**\n * Default threshold of 100%.\n * Informs when the element is 100% visibile, or at the provided threshold(s)\n * Does not support an array of values.\n * @see: https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API#thresholds\n */\n get threshold() {\n return this.options.intersection && typeof this.options.intersection.threshold === 'number'\n ? this.options.intersection.threshold\n : 1;\n }\n\n get intersectionObserverOptions() {\n return {\n threshold: this.threshold,\n ...this.options.intersection,\n };\n }\n\n createObserver(options) {\n if (this.observer) {\n this.destroyObserver();\n }\n\n if (this.frozen) {\n return;\n }\n\n this.options = this.processOptions(options);\n\n this.callback = (result, entry) => {\n this.options.callback(result, entry);\n\n if (result && this.modifiers?.once) {\n this.frozen = true;\n this.destroyObserver();\n }\n };\n\n this.oldResult = undefined;\n\n if ('IntersectionObserver' in window) {\n this.observer = new IntersectionObserver((entries) => {\n let entry = entries[0];\n\n if (entries.length > 1) {\n const intersectingEntry = entries.find((e) => e.isIntersecting);\n\n if (intersectingEntry) {\n entry = intersectingEntry;\n }\n }\n\n if (this.callback) {\n // Use isIntersecting if possible because browsers can report isIntersecting as true, but intersectionRatio as 0, when something very slowly enters the viewport.\n const result = entry.isIntersecting && entry.intersectionRatio >= this.threshold;\n\n if (result === this.oldResult) {\n return;\n }\n\n this.oldResult = result;\n this.callback(result, entry);\n }\n }, this.intersectionObserverOptions);\n }\n\n // Wait for the element to be in document\n nextTick(() => {\n if (this.observer) {\n this.observer.observe(this.el);\n }\n });\n }\n\n destroyObserver() {\n if (this.observer) {\n this.observer.unobserve(this.el);\n this.observer.disconnect();\n this.observer = null;\n }\n }\n\n private processOptions(value) {\n const options =\n typeof value === 'function'\n ? { callback: value } // Simple options (callback-only)\n : value; // Options object\n\n return options;\n }\n}\n\nfunction mount(el, { modifiers = {}, value }) {\n if (!value) {\n return;\n }\n\n if (value.intersection?.threshold instanceof Array) {\n throw new Error('`threshold` must be a number. v-viewable does not support `threshold` as an array.');\n }\n\n const state = new ViewableState(el, value, modifiers);\n\n el[viewableKey] = state;\n}\n\nfunction updated(el, { modifiers, value, oldValue }) {\n if (isEqual(value, oldValue) || value.toString() === oldValue.toString()) {\n return;\n }\n\n const state = el[viewableKey];\n\n if (!value) {\n unmount(el);\n return;\n }\n\n if (state) {\n state.createObserver(value);\n } else {\n mount(el, { modifiers, value });\n }\n}\n\nfunction unmount(el) {\n const state = el[viewableKey];\n\n if (state) {\n state.destroyObserver();\n delete el[viewableKey];\n }\n}\n\nexport default {\n beforeMount: mount,\n updated,\n unmounted: unmount,\n};\n"],"names":["viewableKey","ViewableState","el","options","modifiers","result","entry","entries","intersectingEntry","e","nextTick","value","mount","state","updated","oldValue","isEqual","unmount","viewable"],"mappings":"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"}
|
|
@@ -934,7 +934,7 @@ function Ce(t, e, n, o) {
|
|
|
934
934
|
var p;
|
|
935
935
|
f.forEach((v) => {
|
|
936
936
|
i && v.removeEventListener("scroll", n), s && v.removeEventListener("resize", n);
|
|
937
|
-
}), d
|
|
937
|
+
}), d?.(), (p = u) == null || p.disconnect(), u = null, a && cancelAnimationFrame(h);
|
|
938
938
|
};
|
|
939
939
|
}
|
|
940
940
|
const Ee = ne, De = te, Te = oe, be = Zt, Re = (t, e, n) => {
|
|
@@ -1072,4 +1072,4 @@ export {
|
|
|
1072
1072
|
Te as s,
|
|
1073
1073
|
Pe as u
|
|
1074
1074
|
};
|
|
1075
|
-
//# sourceMappingURL=floating-ui.vue-
|
|
1075
|
+
//# sourceMappingURL=floating-ui.vue-CL01Y9ER.js.map
|