@leaflink/stash 49.5.0 → 50.0.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/Accordion.js +25 -28
- package/dist/Accordion.js.map +1 -1
- package/dist/Accordion.vue.d.ts +16 -16
- package/dist/ActionsDropdown.js +14 -26
- package/dist/ActionsDropdown.js.map +1 -1
- package/dist/ActionsDropdown.vue.d.ts +12 -12
- package/dist/AddressSelect.js +22 -47
- package/dist/AddressSelect.js.map +1 -1
- package/dist/AddressSelect.vue.d.ts +45 -45
- package/dist/Alert.js +4 -6
- package/dist/Alert.js.map +1 -1
- package/dist/Alert.vue.d.ts +18 -18
- package/dist/AppNavigationItem.js +16 -19
- package/dist/AppNavigationItem.js.map +1 -1
- package/dist/AppNavigationItem.vue.d.ts +4 -4
- package/dist/AppSidebar.js +27 -28
- package/dist/AppSidebar.js.map +1 -1
- package/dist/AppSidebar.vue.d.ts +7 -7
- package/dist/AppTopbar.js +12 -17
- package/dist/AppTopbar.js.map +1 -1
- package/dist/AppTopbar.vue.d.ts +8 -8
- package/dist/Avatar.js +1 -1
- package/dist/Avatar.vue.d.ts +22 -22
- package/dist/Backdrop.js +1 -1
- package/dist/Backdrop.vue.d.ts +1 -1
- package/dist/Badge.js +1 -1
- package/dist/Badge.js.map +1 -1
- package/dist/Badge.vue.d.ts +36 -36
- package/dist/Box.js +2 -3
- package/dist/Box.js.map +1 -1
- package/dist/Box.vue.d.ts +12 -12
- package/dist/{Box.vue_vue_type_script_setup_true_lang-69e5176b.js → Box.vue_vue_type_script_setup_true_lang-DgJHq-09.js} +1 -1
- package/dist/{Box.vue_vue_type_script_setup_true_lang-69e5176b.js.map → Box.vue_vue_type_script_setup_true_lang-DgJHq-09.js.map} +1 -1
- package/dist/Button.js +40 -27
- package/dist/Button.js.map +1 -1
- package/dist/Button.vue.d.ts +34 -27
- package/dist/ButtonGroup.js +1 -1
- package/dist/ButtonGroup.vue.d.ts +14 -14
- package/dist/Card.vue.d.ts +3 -3
- package/dist/CardContent.js +1 -1
- package/dist/CardContent.vue.d.ts +1 -1
- package/dist/CardFooter.js +1 -1
- package/dist/CardFooter.vue.d.ts +1 -1
- package/dist/CardMedia.js +11 -14
- package/dist/CardMedia.js.map +1 -1
- package/dist/Carousel.js +179 -180
- package/dist/Carousel.js.map +1 -1
- package/dist/Carousel.vue.d.ts +33 -11
- package/dist/Checkbox.js +38 -35
- package/dist/Checkbox.js.map +1 -1
- package/dist/Checkbox.vue.d.ts +31 -31
- package/dist/ChevronToggle.js +2 -10
- package/dist/ChevronToggle.js.map +1 -1
- package/dist/ChevronToggle.vue.d.ts +5 -5
- package/dist/{ChevronToggle.vue_vue_type_script_setup_true_lang-fcdf0c19.js → ChevronToggle.vue_vue_type_script_setup_true_lang-DuvluoTi.js} +1 -1
- package/dist/{ChevronToggle.vue_vue_type_script_setup_true_lang-fcdf0c19.js.map → ChevronToggle.vue_vue_type_script_setup_true_lang-DuvluoTi.js.map} +1 -1
- package/dist/Chip.js +17 -20
- package/dist/Chip.js.map +1 -1
- package/dist/Chip.vue.d.ts +32 -32
- package/dist/ConfirmationCodeInput.js +1 -1
- package/dist/ConfirmationCodeInput.js.map +1 -1
- package/dist/ConfirmationCodeInput.vue.d.ts +29 -29
- package/dist/ContextSwitcher.js +8 -14
- package/dist/ContextSwitcher.js.map +1 -1
- package/dist/ContextSwitcher.vue.d.ts +32 -32
- package/dist/Copy.js +23 -34
- package/dist/Copy.js.map +1 -1
- package/dist/Copy.vue.d.ts +9 -9
- package/dist/CurrencyInput.js +117 -128
- package/dist/CurrencyInput.js.map +1 -1
- package/dist/CurrencyInput.vue.d.ts +26 -21
- package/dist/CustomRender.vue.d.ts +12 -1
- package/dist/DataView.js +70 -73
- package/dist/DataView.js.map +1 -1
- package/dist/{DataView.vue_used_vue_type_style_index_0_lang.module-5c180dba.js → DataView.keys-C7eaZg2G.js} +5 -8
- package/dist/DataView.keys-C7eaZg2G.js.map +1 -0
- package/dist/DataView.vue.d.ts +51 -51
- package/dist/DataViewFilters.js +76 -90
- package/dist/DataViewFilters.js.map +1 -1
- package/dist/{DataViewFilters.keys-c80ffabe.js → DataViewFilters.keys-BLu07FiP.js} +1 -1
- package/dist/{DataViewFilters.keys-c80ffabe.js.map → DataViewFilters.keys-BLu07FiP.js.map} +1 -1
- package/dist/DataViewFilters.vue.d.ts +39 -39
- package/dist/DataViewSortButton.js +30 -43
- package/dist/DataViewSortButton.js.map +1 -1
- package/dist/DataViewSortButton.vue.d.ts +3 -3
- package/dist/DataViewToolbar.js +27 -36
- package/dist/DataViewToolbar.js.map +1 -1
- package/dist/DataViewToolbar.vue.d.ts +17 -17
- package/dist/DatePicker.js +649 -662
- package/dist/DatePicker.js.map +1 -1
- package/dist/DatePicker.vue.d.ts +73 -73
- package/dist/DescriptionList.js +1 -1
- package/dist/{DescriptionList.keys-c906ce05.js → DescriptionList.keys-BHlHYV6b.js} +1 -1
- package/dist/{DescriptionList.keys-c906ce05.js.map → DescriptionList.keys-BHlHYV6b.js.map} +1 -1
- package/dist/DescriptionList.vue.d.ts +6 -6
- package/dist/DescriptionListDetail.js +1 -1
- package/dist/DescriptionListDetail.vue.d.ts +1 -1
- package/dist/DescriptionListGroup.js +1 -1
- package/dist/DescriptionListGroup.vue.d.ts +1 -1
- package/dist/DescriptionListTerm.js +1 -1
- package/dist/DescriptionListTerm.vue.d.ts +1 -1
- package/dist/Dialog.js +26 -30
- package/dist/Dialog.js.map +1 -1
- package/dist/Dialog.vue.d.ts +34 -34
- package/dist/Divider.js +1 -1
- package/dist/Divider.js.map +1 -1
- package/dist/Divider.vue.d.ts +1 -1
- package/dist/Dropdown.js +21 -28
- package/dist/Dropdown.js.map +1 -1
- package/dist/Dropdown.vue.d.ts +28 -28
- package/dist/EmptyState.js +32 -33
- package/dist/EmptyState.js.map +1 -1
- package/dist/EmptyState.vue.d.ts +36 -36
- package/dist/Expand.js +2 -3
- package/dist/Expand.js.map +1 -1
- package/dist/Expand.vue.d.ts +14 -14
- package/dist/{Expand.vue_vue_type_script_setup_true_lang-0f236267.js → Expand.vue_vue_type_script_setup_true_lang-D0fSAtHr.js} +1 -1
- package/dist/{Expand.vue_vue_type_script_setup_true_lang-0f236267.js.map → Expand.vue_vue_type_script_setup_true_lang-D0fSAtHr.js.map} +1 -1
- package/dist/Field.js +2 -7
- package/dist/Field.js.map +1 -1
- package/dist/Field.vue.d.ts +30 -30
- package/dist/{Field.vue_vue_type_script_setup_true_lang-fded4f75.js → Field.vue_vue_type_script_setup_true_lang-DjxUvSRF.js} +2 -2
- package/dist/{Field.vue_vue_type_script_setup_true_lang-fded4f75.js.map → Field.vue_vue_type_script_setup_true_lang-DjxUvSRF.js.map} +1 -1
- package/dist/FileUpload.js +58 -57
- package/dist/FileUpload.js.map +1 -1
- package/dist/FileUpload.vue.d.ts +28 -28
- package/dist/FilterChip.js +12 -17
- package/dist/FilterChip.js.map +1 -1
- package/dist/FilterChip.vue.d.ts +19 -19
- package/dist/FilterDrawerItem.js +24 -30
- package/dist/FilterDrawerItem.js.map +1 -1
- package/dist/FilterDrawerItem.vue.d.ts +2 -2
- package/dist/FilterDropdown.js +41 -57
- package/dist/FilterDropdown.js.map +1 -1
- package/dist/FilterDropdown.vue.d.ts +9 -9
- package/dist/FilterSelect.js +36 -45
- package/dist/FilterSelect.js.map +1 -1
- package/dist/FilterSelect.vue.d.ts +5 -5
- package/dist/Filters.js +60 -96
- package/dist/Filters.js.map +1 -1
- package/dist/Filters.vue.d.ts +2005 -2294
- package/dist/HttpError.js +16 -23
- package/dist/HttpError.js.map +1 -1
- package/dist/HttpError.vue.d.ts +18 -18
- package/dist/Icon.js +27 -22
- package/dist/Icon.js.map +1 -1
- package/dist/Icon.vue.d.ts +13 -13
- package/dist/IconLabel.js +9 -12
- package/dist/IconLabel.js.map +1 -1
- package/dist/IconLabel.vue.d.ts +17 -17
- package/dist/Illustration.js +8 -11
- package/dist/Illustration.js.map +1 -1
- package/dist/Illustration.vue.d.ts +21 -21
- package/dist/{Illustration.vue_vue_type_script_setup_true_lang-e26c3841.js → Illustration.vue_vue_type_script_setup_true_lang-C3qG3Ty6.js} +2 -2
- package/dist/{Illustration.vue_vue_type_script_setup_true_lang-e26c3841.js.map → Illustration.vue_vue_type_script_setup_true_lang-C3qG3Ty6.js.map} +1 -1
- package/dist/Image.js.map +1 -1
- package/dist/Image.vue.d.ts +18 -18
- package/dist/InlineEdit.js +19 -30
- package/dist/InlineEdit.js.map +1 -1
- package/dist/InlineEdit.vue.d.ts +26 -26
- package/dist/Input.js +58 -64
- package/dist/Input.js.map +1 -1
- package/dist/Input.vue.d.ts +44 -36
- package/dist/InputOptions.js +66 -93
- package/dist/InputOptions.js.map +1 -1
- package/dist/InputOptions.vue.d.ts +66 -58
- package/dist/IntegrationIcon.js +2 -2
- package/dist/IntegrationIcon.js.map +1 -1
- package/dist/IntegrationIcon.vue.d.ts +12 -12
- package/dist/Label.js +2 -5
- package/dist/Label.js.map +1 -1
- package/dist/Label.vue.d.ts +17 -17
- package/dist/{Label.vue_vue_type_script_setup_true_lang-b6ba2f02.js → Label.vue_vue_type_script_setup_true_lang-C4JKdqvC.js} +1 -1
- package/dist/{Label.vue_vue_type_script_setup_true_lang-b6ba2f02.js.map → Label.vue_vue_type_script_setup_true_lang-C4JKdqvC.js.map} +1 -1
- package/dist/LicenseChip.js +10 -16
- package/dist/LicenseChip.js.map +1 -1
- package/dist/LicenseChip.vue.d.ts +3 -3
- package/dist/ListItem.js +5 -8
- package/dist/ListItem.js.map +1 -1
- package/dist/ListItem.vue.d.ts +275 -225
- package/dist/ListItemCell.js +1 -1
- package/dist/ListItemCell.js.map +1 -1
- package/dist/ListItemCell.vue.d.ts +13 -2
- package/dist/ListView.js +57 -101
- package/dist/ListView.js.map +1 -1
- package/dist/ListView.vue.d.ts +5185 -5430
- package/dist/Loading.js +12 -10
- package/dist/Loading.js.map +1 -1
- package/dist/Loading.vue.d.ts +1 -1
- package/dist/Logo.js +2 -4
- package/dist/Logo.js.map +1 -1
- package/dist/Logo.vue.d.ts +17 -17
- package/dist/{Logo.vue_vue_type_script_setup_true_lang-2a2597cb.js → Logo.vue_vue_type_script_setup_true_lang-BfUU9J9O.js} +1 -1
- package/dist/{Logo.vue_vue_type_script_setup_true_lang-2a2597cb.js.map → Logo.vue_vue_type_script_setup_true_lang-BfUU9J9O.js.map} +1 -1
- package/dist/Menu.js +1 -1
- package/dist/Menu.vue.d.ts +1 -1
- package/dist/MenuItem.js +1 -1
- package/dist/MenuItem.vue.d.ts +1 -1
- package/dist/{MenusPlugin-9288029a.js → MenusPlugin-Bk6UW6o9.js} +1 -1
- package/dist/{MenusPlugin-9288029a.js.map → MenusPlugin-Bk6UW6o9.js.map} +1 -1
- package/dist/Metric.vue.d.ts +10 -10
- package/dist/Modal.js +27 -32
- package/dist/Modal.js.map +1 -1
- package/dist/Modal.vue.d.ts +42 -42
- package/dist/Modals.js +14 -16
- package/dist/Modals.js.map +1 -1
- package/dist/Modals.vue.d.ts +1 -1
- package/dist/ModalsPlugin.js +9 -12
- package/dist/ModalsPlugin.js.map +1 -1
- package/dist/Module.js +3 -3
- package/dist/{Module.keys-2cc7d830.js → Module.keys-CEsrW2f0.js} +1 -1
- package/dist/{Module.keys-2cc7d830.js.map → Module.keys-CEsrW2f0.js.map} +1 -1
- package/dist/{Module.types-3f78f2a0.js → Module.types-B1FfGGac.js} +1 -1
- package/dist/{Module.types-3f78f2a0.js.map → Module.types-B1FfGGac.js.map} +1 -1
- package/dist/Module.vue.d.ts +3 -3
- package/dist/ModuleContent.js +2 -2
- package/dist/ModuleContent.vue.d.ts +1 -1
- package/dist/ModuleFooter.js +2 -2
- package/dist/ModuleFooter.vue.d.ts +1 -1
- package/dist/ModuleHeader.js +3 -3
- package/dist/ModuleHeader.vue.d.ts +15 -15
- package/dist/ObfuscateText.js +8 -13
- package/dist/ObfuscateText.js.map +1 -1
- package/dist/ObfuscateText.vue.d.ts +18 -18
- package/dist/PageContent.js +1 -1
- package/dist/PageContent.vue.d.ts +1 -1
- package/dist/PageHeader.js +26 -23
- package/dist/PageHeader.js.map +1 -1
- package/dist/PageHeader.vue.d.ts +7 -4
- package/dist/PageNavigation.js +41 -64
- package/dist/PageNavigation.js.map +1 -1
- package/dist/PageNavigation.vue.d.ts +10 -10
- package/dist/Paginate.js +36 -34
- package/dist/Paginate.js.map +1 -1
- package/dist/Paginate.vue.d.ts +11 -11
- package/dist/PlaidLink.js +3 -5
- package/dist/PlaidLink.js.map +1 -1
- package/dist/PlaidLink.vue.d.ts +29 -29
- package/dist/QuickAction.js +12 -15
- package/dist/QuickAction.js.map +1 -1
- package/dist/QuickAction.vue.d.ts +1 -1
- package/dist/Radio.js +1 -1
- package/dist/Radio.js.map +1 -1
- package/dist/Radio.vue.d.ts +83 -12
- package/dist/RadioGroup.js +41 -45
- package/dist/RadioGroup.js.map +1 -1
- package/dist/{RadioGroup.keys-974818d6.js → RadioGroup.keys-CqfiKkNz.js} +1 -1
- package/dist/{RadioGroup.keys-974818d6.js.map → RadioGroup.keys-CqfiKkNz.js.map} +1 -1
- package/dist/RadioGroup.vue.d.ts +30 -30
- package/dist/RadioNew.js +2 -2
- package/dist/RadioNew.js.map +1 -1
- package/dist/RadioNew.vue.d.ts +26 -26
- package/dist/RangeInput.js +10 -14
- package/dist/RangeInput.js.map +1 -1
- package/dist/RangeInput.vue.d.ts +1 -1
- package/dist/SearchBar.js +31 -41
- package/dist/SearchBar.js.map +1 -1
- package/dist/SearchBar.vue.d.ts +22 -22
- package/dist/Select.js +66 -78
- package/dist/Select.js.map +1 -1
- package/dist/Select.vue.d.ts +123 -123
- package/dist/SelectStatus.js +47 -69
- package/dist/SelectStatus.js.map +1 -1
- package/dist/SelectStatus.vue.d.ts +33 -26
- package/dist/Skeleton.js +1 -1
- package/dist/Skeleton.js.map +1 -1
- package/dist/Skeleton.vue.d.ts +9 -9
- package/dist/Step.js +10 -14
- package/dist/Step.js.map +1 -1
- package/dist/Step.vue.d.ts +21 -21
- package/dist/Stepper.js +37 -40
- package/dist/Stepper.js.map +1 -1
- package/dist/Stepper.vue.d.ts +34 -29
- package/dist/Switch.js +1 -1
- package/dist/Switch.vue.d.ts +23 -23
- package/dist/Tab.js +21 -36
- package/dist/Tab.js.map +1 -1
- package/dist/Table.js +38 -55
- package/dist/Table.js.map +1 -1
- package/dist/Table.keys-LHQf6FEH.js +7 -0
- package/dist/{Table.keys-83e4f09b.js.map → Table.keys-LHQf6FEH.js.map} +1 -1
- package/dist/Table.vue.d.ts +36 -36
- package/dist/TableCell.js +26 -26
- package/dist/TableCell.js.map +1 -1
- package/dist/TableCell.vue.d.ts +6 -6
- package/dist/TableHeaderCell.js +6 -13
- package/dist/TableHeaderCell.js.map +1 -1
- package/dist/TableHeaderCell.vue.d.ts +3 -3
- package/dist/TableHeaderRow.js +22 -32
- package/dist/TableHeaderRow.js.map +1 -1
- package/dist/TableHeaderRow.vue.d.ts +8 -8
- package/dist/TableRow.js +59 -59
- package/dist/TableRow.js.map +1 -1
- package/dist/TableRow.vue.d.ts +26 -26
- package/dist/Tabs.js +10 -24
- package/dist/Tabs.js.map +1 -1
- package/dist/Tabs.vue.d.ts +5 -5
- package/dist/{Tabs.vue_used_vue_type_style_index_0_lang.module-d7530989.js → Tabs.vue_vue_type_script_setup_true_lang-l41hWkV4.js} +31 -34
- package/dist/Tabs.vue_vue_type_script_setup_true_lang-l41hWkV4.js.map +1 -0
- package/dist/TextEditor.js +1269 -1364
- package/dist/TextEditor.js.map +1 -1
- package/dist/TextEditor.vue.d.ts +46 -46
- package/dist/Textarea.js +30 -31
- package/dist/Textarea.js.map +1 -1
- package/dist/Textarea.vue.d.ts +34 -26
- package/dist/Timeline.js +9 -10
- package/dist/Timeline.js.map +1 -1
- package/dist/Timeline.vue.d.ts +6 -6
- package/dist/TimelineItem.js +1 -1
- package/dist/TimelineItem.vue.d.ts +1 -1
- package/dist/Toast.js +5 -9
- package/dist/Toast.js.map +1 -1
- package/dist/Toast.vue.d.ts +3 -3
- package/dist/Toasts.js +15 -25
- package/dist/Toasts.js.map +1 -1
- package/dist/Toasts.vue.d.ts +1 -1
- package/dist/ToastsPlugin.js +11 -23
- package/dist/ToastsPlugin.js.map +1 -1
- package/dist/Tooltip.js +1 -1
- package/dist/Tooltip.js.map +1 -1
- package/dist/Tooltip.vue.d.ts +15 -15
- package/dist/{_commonjsHelpers-10dfc225.js → _commonjsHelpers-DaMA6jEr.js} +1 -1
- package/dist/_commonjsHelpers-DaMA6jEr.js.map +1 -0
- package/dist/{_plugin-vue_export-helper-dad06003.js → _plugin-vue_export-helper-CHgC5LLL.js} +1 -1
- package/dist/_plugin-vue_export-helper-CHgC5LLL.js.map +1 -0
- package/dist/{colors-8d9b9429.js → colors-DDDVvqfQ.js} +1 -1
- package/dist/{colors-8d9b9429.js.map → colors-DDDVvqfQ.js.map} +1 -1
- package/dist/components.css +2 -2
- package/dist/directives/observe.js.map +1 -1
- package/dist/directives/sticky.js.map +1 -1
- package/dist/directives/tooltip.js +21 -27
- package/dist/directives/tooltip.js.map +1 -1
- package/dist/directives/viewable.js +1 -1
- package/dist/directives/viewable.js.map +1 -1
- package/dist/{floating-ui.vue-8d7f7932.js → floating-ui.vue-BmfQDqE-.js} +2 -3
- package/dist/{floating-ui.vue-8d7f7932.js.map → floating-ui.vue-BmfQDqE-.js.map} +1 -1
- package/dist/{formatDateTime-a5e70901.js → formatDateTime-C8CYECpd.js} +8 -12
- package/dist/{formatDateTime-a5e70901.js.map → formatDateTime-C8CYECpd.js.map} +1 -1
- package/dist/{index-9e1095ef.js → index-D6bxWkZ1.js} +2 -3
- package/dist/{index-9e1095ef.js.map → index-D6bxWkZ1.js.map} +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +90 -112
- package/dist/index.js.map +1 -1
- package/dist/{isDefined-2ce6cde4.js → isDefined-DzVx0B6k.js} +1 -1
- package/dist/{isDefined-2ce6cde4.js.map → isDefined-DzVx0B6k.js.map} +1 -1
- package/dist/{isValid-4b2b7a54.js → isValid-DN-HkCoi.js} +1 -1
- package/dist/{isValid-4b2b7a54.js.map → isValid-DN-HkCoi.js.map} +1 -1
- package/dist/{keys-241d03b7.js → keys-BEdEsanp.js} +1 -1
- package/dist/{keys-241d03b7.js.map → keys-BEdEsanp.js.map} +1 -1
- package/dist/{keys-7ecef029.js → keys-C8Zfr_By.js} +1 -1
- package/dist/{keys-7ecef029.js.map → keys-C8Zfr_By.js.map} +1 -1
- package/dist/{misc-76697f61.js → misc-CHQs-G03.js} +1 -1
- package/dist/{misc-76697f61.js.map → misc-CHQs-G03.js.map} +1 -1
- package/dist/{parseISO-ed4094c1.js → parseISO-wlfIB_QJ.js} +12 -18
- package/dist/{parseISO-ed4094c1.js.map → parseISO-wlfIB_QJ.js.map} +1 -1
- package/dist/{searchFuzzy-9b74ec4e.js → searchFuzzy-DKooyZM8.js} +110 -149
- package/dist/{searchFuzzy-9b74ec4e.js.map → searchFuzzy-DKooyZM8.js.map} +1 -1
- package/dist/{statusLevels-a8b041f4.js → statusLevels-D8EgtE_L.js} +1 -1
- package/dist/{statusLevels-a8b041f4.js.map → statusLevels-D8EgtE_L.js.map} +1 -1
- package/dist/storage.js +8 -15
- package/dist/storage.js.map +1 -1
- package/dist/tailwind-base.js.map +1 -1
- package/dist/{toTimeZone-a2ed6470.js → toTimeZone-CVE1ZmsS.js} +1 -1
- package/dist/{toTimeZone-a2ed6470.js.map → toTimeZone-CVE1ZmsS.js.map} +1 -1
- package/dist/useDialog.js +7 -7
- package/dist/useGoogleMaps.js +18 -28
- package/dist/useGoogleMaps.js.map +1 -1
- package/dist/useModals.js +1 -2
- package/dist/useModals.js.map +1 -1
- package/dist/useScriptTag.js.map +1 -1
- package/dist/useSearch.js +14 -19
- package/dist/useSearch.js.map +1 -1
- package/dist/useStepper.js.map +1 -1
- package/dist/useValidation.js +1 -1
- package/dist/useValidation.js.map +1 -1
- package/dist/utils/calculateElementOverflow.js +9 -13
- package/dist/utils/calculateElementOverflow.js.map +1 -1
- package/dist/utils/colorScheme.js.map +1 -1
- package/dist/utils/createQueryString.js +4 -5
- package/dist/utils/createQueryString.js.map +1 -1
- package/dist/utils/createValidDate.js +2 -2
- package/dist/utils/formatDateTime.js +4 -5
- package/dist/utils/formatDateTime.js.map +1 -1
- package/dist/utils/getContrastingTextColor.js +1 -1
- package/dist/utils/getContrastingTextColor.js.map +1 -1
- package/dist/utils/helpers.js.map +1 -1
- package/dist/utils/i18n.js +25 -26
- package/dist/utils/i18n.js.map +1 -1
- package/dist/utils/normalizeDate.js +1 -1
- package/dist/utils/searchFuzzy.js +3 -10
- package/dist/utils/searchFuzzy.js.map +1 -1
- package/dist/utils/storage.js +6 -11
- package/dist/utils/storage.js.map +1 -1
- package/dist/utils/toTimeZone.js +2 -3
- package/dist/utils/toTimeZone.js.map +1 -1
- package/package.json +13 -14
- package/dist/Button.vue_used_vue_type_style_index_0_lang.module-4dabc2a9.js +0 -17
- package/dist/Button.vue_used_vue_type_style_index_0_lang.module-4dabc2a9.js.map +0 -1
- package/dist/Carousel.types.d.ts +0 -33
- package/dist/Carousel.types.js +0 -2
- package/dist/Carousel.types.js.map +0 -1
- package/dist/Checkbox.vue_used_vue_type_style_index_0_lang.module-fa8d9c06.js +0 -9
- package/dist/Checkbox.vue_used_vue_type_style_index_0_lang.module-fa8d9c06.js.map +0 -1
- package/dist/DataView.vue_used_vue_type_style_index_0_lang.module-5c180dba.js.map +0 -1
- package/dist/EmptyState.vue_used_vue_type_style_index_0_lang.module-f5d89366.js +0 -8
- package/dist/EmptyState.vue_used_vue_type_style_index_0_lang.module-f5d89366.js.map +0 -1
- package/dist/Icon.vue_used_vue_type_style_index_0_lang.module-eb359559.js +0 -11
- package/dist/Icon.vue_used_vue_type_style_index_0_lang.module-eb359559.js.map +0 -1
- package/dist/Loading.vue_used_vue_type_style_index_0_lang.module-ef5a3bc6.js +0 -8
- package/dist/Loading.vue_used_vue_type_style_index_0_lang.module-ef5a3bc6.js.map +0 -1
- package/dist/Paginate.vue_used_vue_type_style_index_0_lang.module-18343da7.js +0 -11
- package/dist/Paginate.vue_used_vue_type_style_index_0_lang.module-18343da7.js.map +0 -1
- package/dist/Table.keys-83e4f09b.js +0 -27
- package/dist/Tabs.vue_used_vue_type_style_index_0_lang.module-d7530989.js.map +0 -1
- package/dist/_commonjsHelpers-10dfc225.js.map +0 -1
- package/dist/_plugin-vue_export-helper-dad06003.js.map +0 -1
package/dist/FilterChip.vue.d.ts
CHANGED
|
@@ -33,29 +33,29 @@ declare type __VLS_WithTemplateSlots<T, S> = T & {
|
|
|
33
33
|
};
|
|
34
34
|
|
|
35
35
|
declare const _default: __VLS_WithTemplateSlots<DefineComponent<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<FilterChipProps>, {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
36
|
+
filterCount: undefined;
|
|
37
|
+
hasDropdown: boolean;
|
|
38
|
+
isDropdownOpen: boolean;
|
|
39
|
+
isRemovable: boolean;
|
|
40
|
+
isSelected: boolean;
|
|
41
41
|
}>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
42
|
-
|
|
43
|
-
|
|
42
|
+
click: () => void;
|
|
43
|
+
remove: () => void;
|
|
44
44
|
}, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<FilterChipProps>, {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
45
|
+
filterCount: undefined;
|
|
46
|
+
hasDropdown: boolean;
|
|
47
|
+
isDropdownOpen: boolean;
|
|
48
|
+
isRemovable: boolean;
|
|
49
|
+
isSelected: boolean;
|
|
50
50
|
}>>> & Readonly<{
|
|
51
|
-
|
|
52
|
-
|
|
51
|
+
onClick?: (() => any) | undefined;
|
|
52
|
+
onRemove?: (() => any) | undefined;
|
|
53
53
|
}>, {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
54
|
+
isRemovable: boolean;
|
|
55
|
+
isSelected: boolean;
|
|
56
|
+
filterCount: number;
|
|
57
|
+
hasDropdown: boolean;
|
|
58
|
+
isDropdownOpen: boolean;
|
|
59
59
|
}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>, {
|
|
60
60
|
default?(_: {}): any;
|
|
61
61
|
}>;
|
package/dist/FilterDrawerItem.js
CHANGED
|
@@ -1,14 +1,8 @@
|
|
|
1
|
-
import { defineComponent as C, useSlots as F, inject as k, computed as
|
|
1
|
+
import { defineComponent as C, useSlots as F, inject as k, computed as w, openBlock as e, createElementBlock as o, createBlock as a, resolveDynamicComponent as x, withCtx as p, createElementVNode as r, toDisplayString as n, createCommentVNode as l, normalizeClass as I, unref as c, createTextVNode as g, renderSlot as D } from "vue";
|
|
2
2
|
import { t as u } from "./locale.js";
|
|
3
3
|
import E from "./Chip.js";
|
|
4
|
-
import { D as S } from "./DataViewFilters.keys-
|
|
4
|
+
import { D as S } from "./DataViewFilters.keys-BLu07FiP.js";
|
|
5
5
|
import N from "./Icon.js";
|
|
6
|
-
import "lodash-es/get";
|
|
7
|
-
import "./utils/colorScheme.js";
|
|
8
|
-
import "./_plugin-vue_export-helper-dad06003.js";
|
|
9
|
-
import "lodash-es/uniqueId";
|
|
10
|
-
import "./index-9e1095ef.js";
|
|
11
|
-
import "./Icon.vue_used_vue_type_style_index_0_lang.module-eb359559.js";
|
|
12
6
|
const T = { class: "stash-filter-drawer-item" }, A = { class: "tw-flex tw-items-center tw-justify-between tw-self-stretch" }, V = { class: "tw-flex tw-flex-col tw-items-start" }, B = {
|
|
13
7
|
key: 0,
|
|
14
8
|
class: "tw-text-xs",
|
|
@@ -16,7 +10,7 @@ const T = { class: "stash-filter-drawer-item" }, A = { class: "tw-flex tw-items-
|
|
|
16
10
|
}, O = {
|
|
17
11
|
key: 0,
|
|
18
12
|
class: "tw-gap-3 tw-p-6"
|
|
19
|
-
},
|
|
13
|
+
}, R = /* @__PURE__ */ C({
|
|
20
14
|
__name: "FilterDrawerItem",
|
|
21
15
|
props: {
|
|
22
16
|
group: {},
|
|
@@ -25,28 +19,28 @@ const T = { class: "stash-filter-drawer-item" }, A = { class: "tw-flex tw-items-
|
|
|
25
19
|
},
|
|
26
20
|
emits: ["navigate"],
|
|
27
21
|
setup(f, { emit: v }) {
|
|
28
|
-
const
|
|
29
|
-
if (!(
|
|
22
|
+
const i = f, _ = v, h = F(), t = k(S.key);
|
|
23
|
+
if (!(t != null && t.useFiltersInstance))
|
|
30
24
|
throw new Error(
|
|
31
25
|
"FilterDropdown must be used within a <DataViewFilters> that receives an instance of useFilters()."
|
|
32
26
|
);
|
|
33
|
-
const { activeFiltersCounts: b } =
|
|
34
|
-
return (y,
|
|
35
|
-
(
|
|
27
|
+
const { activeFiltersCounts: b } = t.useFiltersInstance, d = w(() => b.value[i.group]), s = w(() => t.drawerStyle === "cascade");
|
|
28
|
+
return (y, m) => (e(), o("div", T, [
|
|
29
|
+
(e(), a(x(s.value ? "div" : "button"), {
|
|
36
30
|
"data-test": "stash-filter-drawer-item|dynamic-component",
|
|
37
31
|
class: "tw-w-full tw-border-b tw-border-ice-500 tw-py-4 tw-outline-none focus:tw-outline-blue-500",
|
|
38
|
-
onClick:
|
|
32
|
+
onClick: m[0] || (m[0] = (j) => s.value ? void 0 : _("navigate"))
|
|
39
33
|
}, {
|
|
40
|
-
default:
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
34
|
+
default: p(() => [
|
|
35
|
+
r("div", A, [
|
|
36
|
+
r("div", V, [
|
|
37
|
+
r("h4", null, n(i.title), 1),
|
|
38
|
+
i.description ? (e(), o("div", B, n(i.description), 1)) : l("", !0)
|
|
45
39
|
]),
|
|
46
|
-
|
|
47
|
-
class: I(["tw-inline-flex tw-items-center tw-gap-6", { "tw-mb-0.5 tw-mr-2":
|
|
40
|
+
r("div", {
|
|
41
|
+
class: I(["tw-inline-flex tw-items-center tw-gap-6", { "tw-mb-0.5 tw-mr-2": s.value }])
|
|
48
42
|
}, [
|
|
49
|
-
|
|
43
|
+
d.value ? (e(), a(E, {
|
|
50
44
|
key: 0,
|
|
51
45
|
color: "blue",
|
|
52
46
|
radius: "pill",
|
|
@@ -54,12 +48,12 @@ const T = { class: "stash-filter-drawer-item" }, A = { class: "tw-flex tw-items-
|
|
|
54
48
|
"aria-label": c(u)("ll.numberOfActiveFilters"),
|
|
55
49
|
title: c(u)("ll.numberOfActiveFilters")
|
|
56
50
|
}, {
|
|
57
|
-
default:
|
|
58
|
-
g(n(
|
|
51
|
+
default: p(() => [
|
|
52
|
+
g(n(d.value), 1)
|
|
59
53
|
]),
|
|
60
54
|
_: 1
|
|
61
|
-
}, 8, ["aria-label", "title"])) :
|
|
62
|
-
|
|
55
|
+
}, 8, ["aria-label", "title"])) : l("", !0),
|
|
56
|
+
s.value ? l("", !0) : (e(), a(N, {
|
|
63
57
|
key: 1,
|
|
64
58
|
name: "chevron-right",
|
|
65
59
|
title: c(u)("ll.viewFilterGroup")
|
|
@@ -69,13 +63,13 @@ const T = { class: "stash-filter-drawer-item" }, A = { class: "tw-flex tw-items-
|
|
|
69
63
|
]),
|
|
70
64
|
_: 1
|
|
71
65
|
})),
|
|
72
|
-
|
|
66
|
+
s.value && h.default ? (e(), o("div", O, [
|
|
73
67
|
D(y.$slots, "default")
|
|
74
|
-
])) :
|
|
68
|
+
])) : l("", !0)
|
|
75
69
|
]));
|
|
76
70
|
}
|
|
77
71
|
});
|
|
78
72
|
export {
|
|
79
|
-
|
|
73
|
+
R as default
|
|
80
74
|
};
|
|
81
75
|
//# sourceMappingURL=FilterDrawerItem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterDrawerItem.js","sources":["../src/components/FilterDrawerItem/FilterDrawerItem.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import { computed, inject } from 'vue';\n\n import { t } from '../../locale';\n import Chip from '../Chip/Chip.vue';\n import { DATA_VIEW_FILTERS_UTILS_INJECTION } from '../DataViewFilters/DataViewFilters.keys';\n import Icon from '../Icon/Icon.vue';\n\n export interface FilterDrawerItemProps {\n /** The name of a filter group */\n group: string;\n title: string;\n description?: string;\n }\n const props = defineProps<FilterDrawerItemProps>();\n\n export interface FilterDrawerItemEmits {\n (e: 'navigate');\n }\n const emit = defineEmits<FilterDrawerItemEmits>();\n\n export interface FilterDrawerItemSlots {\n default?: void;\n }\n\n const slots = defineSlots<FilterDrawerItemSlots>();\n\n const dataViewFiltersUtils = inject(DATA_VIEW_FILTERS_UTILS_INJECTION.key);\n\n if (!dataViewFiltersUtils?.useFiltersInstance) {\n throw new Error(\n 'FilterDropdown must be used within a <DataViewFilters> that receives an instance of useFilters().',\n );\n }\n\n const { activeFiltersCounts } = dataViewFiltersUtils.useFiltersInstance;\n\n const activeCount = computed(() => activeFiltersCounts.value[props.group]);\n const isDrawerCascade = computed(() => dataViewFiltersUtils.drawerStyle === 'cascade');\n</script>\n\n<template>\n <div class=\"stash-filter-drawer-item\">\n <component\n :is=\"isDrawerCascade ? 'div' : 'button'\"\n data-test=\"stash-filter-drawer-item|dynamic-component\"\n class=\"tw-w-full tw-border-b tw-border-ice-500 tw-py-4 tw-outline-none focus:tw-outline-blue-500\"\n @click=\"isDrawerCascade ? undefined : emit('navigate')\"\n >\n <div class=\"tw-flex tw-items-center tw-justify-between tw-self-stretch\">\n <div class=\"tw-flex tw-flex-col tw-items-start\">\n <h4>{{ props.title }}</h4>\n <div v-if=\"props.description\" class=\"tw-text-xs\" data-test=\"description\">\n {{ props.description }}\n </div>\n </div>\n <div class=\"tw-inline-flex tw-items-center tw-gap-6\" :class=\"{ 'tw-mb-0.5 tw-mr-2': isDrawerCascade }\">\n <Chip\n v-if=\"activeCount\"\n color=\"blue\"\n radius=\"pill\"\n shade=\"main\"\n :aria-label=\"t('ll.numberOfActiveFilters')\"\n :title=\"t('ll.numberOfActiveFilters')\"\n >\n {{ activeCount }}\n </Chip>\n <Icon v-if=\"!isDrawerCascade\" name=\"chevron-right\" :title=\"t('ll.viewFilterGroup')\" />\n </div>\n </div>\n </component>\n <div v-if=\"isDrawerCascade && slots.default\" class=\"tw-gap-3 tw-p-6\">\n <slot></slot>\n </div>\n </div>\n</template>\n"],"names":["props","__props","emit","__emit","slots","_useSlots","dataViewFiltersUtils","inject","DATA_VIEW_FILTERS_UTILS_INJECTION","activeFiltersCounts","activeCount","computed","isDrawerCascade"],"mappings":"
|
|
1
|
+
{"version":3,"file":"FilterDrawerItem.js","sources":["../src/components/FilterDrawerItem/FilterDrawerItem.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import { computed, inject } from 'vue';\n\n import { t } from '../../locale';\n import Chip from '../Chip/Chip.vue';\n import { DATA_VIEW_FILTERS_UTILS_INJECTION } from '../DataViewFilters/DataViewFilters.keys';\n import Icon from '../Icon/Icon.vue';\n\n export interface FilterDrawerItemProps {\n /** The name of a filter group */\n group: string;\n title: string;\n description?: string;\n }\n const props = defineProps<FilterDrawerItemProps>();\n\n export interface FilterDrawerItemEmits {\n (e: 'navigate');\n }\n const emit = defineEmits<FilterDrawerItemEmits>();\n\n export interface FilterDrawerItemSlots {\n default?: void;\n }\n\n const slots = defineSlots<FilterDrawerItemSlots>();\n\n const dataViewFiltersUtils = inject(DATA_VIEW_FILTERS_UTILS_INJECTION.key);\n\n if (!dataViewFiltersUtils?.useFiltersInstance) {\n throw new Error(\n 'FilterDropdown must be used within a <DataViewFilters> that receives an instance of useFilters().',\n );\n }\n\n const { activeFiltersCounts } = dataViewFiltersUtils.useFiltersInstance;\n\n const activeCount = computed(() => activeFiltersCounts.value[props.group]);\n const isDrawerCascade = computed(() => dataViewFiltersUtils.drawerStyle === 'cascade');\n</script>\n\n<template>\n <div class=\"stash-filter-drawer-item\">\n <component\n :is=\"isDrawerCascade ? 'div' : 'button'\"\n data-test=\"stash-filter-drawer-item|dynamic-component\"\n class=\"tw-w-full tw-border-b tw-border-ice-500 tw-py-4 tw-outline-none focus:tw-outline-blue-500\"\n @click=\"isDrawerCascade ? undefined : emit('navigate')\"\n >\n <div class=\"tw-flex tw-items-center tw-justify-between tw-self-stretch\">\n <div class=\"tw-flex tw-flex-col tw-items-start\">\n <h4>{{ props.title }}</h4>\n <div v-if=\"props.description\" class=\"tw-text-xs\" data-test=\"description\">\n {{ props.description }}\n </div>\n </div>\n <div class=\"tw-inline-flex tw-items-center tw-gap-6\" :class=\"{ 'tw-mb-0.5 tw-mr-2': isDrawerCascade }\">\n <Chip\n v-if=\"activeCount\"\n color=\"blue\"\n radius=\"pill\"\n shade=\"main\"\n :aria-label=\"t('ll.numberOfActiveFilters')\"\n :title=\"t('ll.numberOfActiveFilters')\"\n >\n {{ activeCount }}\n </Chip>\n <Icon v-if=\"!isDrawerCascade\" name=\"chevron-right\" :title=\"t('ll.viewFilterGroup')\" />\n </div>\n </div>\n </component>\n <div v-if=\"isDrawerCascade && slots.default\" class=\"tw-gap-3 tw-p-6\">\n <slot></slot>\n </div>\n </div>\n</template>\n"],"names":["props","__props","emit","__emit","slots","_useSlots","dataViewFiltersUtils","inject","DATA_VIEW_FILTERS_UTILS_INJECTION","activeFiltersCounts","activeCount","computed","isDrawerCascade"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAcE,UAAMA,IAAQC,GAKRC,IAAOC,GAMPC,IAAQC,KAERC,IAAuBC,EAAOC,EAAkC,GAAG;AAErE,QAAA,EAACF,KAAA,QAAAA,EAAsB;AACzB,YAAM,IAAI;AAAA,QACR;AAAA,MAAA;AAIE,UAAA,EAAE,qBAAAG,EAAoB,IAAIH,EAAqB,oBAE/CI,IAAcC,EAAS,MAAMF,EAAoB,MAAMT,EAAM,KAAK,CAAC,GACnEY,IAAkBD,EAAS,MAAML,EAAqB,gBAAgB,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -23,9 +23,9 @@ declare type __VLS_WithTemplateSlots<T, S> = T & {
|
|
|
23
23
|
};
|
|
24
24
|
|
|
25
25
|
declare const _default: __VLS_WithTemplateSlots<DefineComponent<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<FilterDrawerItemProps>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
26
|
-
|
|
26
|
+
navigate: () => void;
|
|
27
27
|
}, string, PublicProps, Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<FilterDrawerItemProps>>> & Readonly<{
|
|
28
|
-
|
|
28
|
+
onNavigate?: (() => any) | undefined;
|
|
29
29
|
}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>, Readonly<FilterDrawerItemSlots> & FilterDrawerItemSlots>;
|
|
30
30
|
export default _default;
|
|
31
31
|
|
package/dist/FilterDropdown.js
CHANGED
|
@@ -1,33 +1,17 @@
|
|
|
1
|
-
import { defineComponent as O, inject as b, ref as y, computed as R, openBlock as
|
|
1
|
+
import { defineComponent as O, inject as b, ref as y, computed as R, openBlock as w, createBlock as k, withCtx as l, createVNode as f, unref as o, createTextVNode as p, toDisplayString as m, createElementVNode as d, renderSlot as W, Transition as j, createElementBlock as J, createCommentVNode as x } from "vue";
|
|
2
2
|
import z from "lodash-es/throttle";
|
|
3
3
|
import { t as C } from "./locale.js";
|
|
4
4
|
import D from "./Button.js";
|
|
5
5
|
import "lodash-es/cloneDeep";
|
|
6
6
|
import "lodash-es/uniqueId";
|
|
7
|
-
import "./
|
|
8
|
-
import "./
|
|
9
|
-
import { D as F } from "./DataView.vue_used_vue_type_style_index_0_lang.module-5c180dba.js";
|
|
10
|
-
import { D as G } from "./DataViewFilters.keys-c80ffabe.js";
|
|
7
|
+
import { D as F } from "./DataView.keys-C7eaZg2G.js";
|
|
8
|
+
import { D as G } from "./DataViewFilters.keys-BLu07FiP.js";
|
|
11
9
|
import $ from "./Dropdown.js";
|
|
12
10
|
import q from "./FilterChip.js";
|
|
13
|
-
import "lodash-es/get";
|
|
14
|
-
import "./Icon.js";
|
|
15
|
-
import "./index-9e1095ef.js";
|
|
16
|
-
import "./_plugin-vue_export-helper-dad06003.js";
|
|
17
|
-
import "./Button.vue_used_vue_type_style_index_0_lang.module-4dabc2a9.js";
|
|
18
|
-
import "./constants.js";
|
|
19
|
-
import "./directives/clickoutside.js";
|
|
20
|
-
import "./utils/calculateElementOverflow.js";
|
|
21
|
-
import "./utils/helpers.js";
|
|
22
|
-
import "lodash-es/camelCase";
|
|
23
|
-
import "lodash-es/isFinite";
|
|
24
|
-
import "lodash-es/isPlainObject";
|
|
25
|
-
import "./Chip.js";
|
|
26
|
-
import "./utils/colorScheme.js";
|
|
27
11
|
const H = { class: "tw-flex tw-h-full tw-flex-col tw-rounded" }, K = { class: "tw-relative tw-grow tw-overflow-hidden tw-rounded-t" }, M = {
|
|
28
12
|
key: 0,
|
|
29
13
|
class: "tw-pointer-events-none tw-absolute tw-inset-x-0 tw-bottom-0 tw-z-10 tw-h-[20px] tw-bg-scroll-shadow"
|
|
30
|
-
}, P = { class: "tw-flex tw-justify-end tw-gap-6 tw-rounded-b tw-border tw-border-solid tw-border-x-ice-100 tw-border-b-ice-100 tw-border-t-ice-200 tw-bg-ice-100 tw-p-3.5" },
|
|
14
|
+
}, P = { class: "tw-flex tw-justify-end tw-gap-6 tw-rounded-b tw-border tw-border-solid tw-border-x-ice-100 tw-border-b-ice-100 tw-border-t-ice-200 tw-bg-ice-100 tw-p-3.5" }, ne = /* @__PURE__ */ O({
|
|
31
15
|
__name: "FilterDropdown",
|
|
32
16
|
props: {
|
|
33
17
|
label: {},
|
|
@@ -37,43 +21,43 @@ const H = { class: "tw-flex tw-h-full tw-flex-col tw-rounded" }, K = { class: "t
|
|
|
37
21
|
},
|
|
38
22
|
emits: ["reset", "dismiss"],
|
|
39
23
|
setup(T, { emit: I }) {
|
|
40
|
-
const s = T, c = I, { isLoading: h } = b(F.key, F.defaults),
|
|
41
|
-
if (!(
|
|
24
|
+
const s = T, c = I, { isLoading: h } = b(F.key, F.defaults), i = b(G.key);
|
|
25
|
+
if (!(i != null && i.useFiltersInstance))
|
|
42
26
|
throw new Error(
|
|
43
27
|
"FilterDropdown must be used within a <DataViewFilters> that receives an instance of useFilters()."
|
|
44
28
|
);
|
|
45
|
-
const { applyFilters: E, resetFilterGroup: S, activeFiltersCounts: v, undoWorkingFilters: _ } =
|
|
46
|
-
var
|
|
47
|
-
return (
|
|
29
|
+
const { applyFilters: E, resetFilterGroup: S, activeFiltersCounts: v, undoWorkingFilters: _ } = i.useFiltersInstance, n = y(), u = R(() => {
|
|
30
|
+
var e;
|
|
31
|
+
return (e = n.value) == null ? void 0 : e.isActive;
|
|
48
32
|
});
|
|
49
33
|
function A() {
|
|
50
|
-
var
|
|
51
|
-
const
|
|
52
|
-
(
|
|
34
|
+
var t;
|
|
35
|
+
const e = u.value;
|
|
36
|
+
(t = n.value) == null || t.toggle(), e && (_(), c("dismiss"));
|
|
53
37
|
}
|
|
54
38
|
function N() {
|
|
55
|
-
var
|
|
56
|
-
S(s.group), c("reset"), (
|
|
39
|
+
var e;
|
|
40
|
+
S(s.group), c("reset"), (e = n.value) == null || e.dismiss();
|
|
57
41
|
}
|
|
58
42
|
async function V() {
|
|
59
|
-
var
|
|
60
|
-
const { preventDismiss:
|
|
61
|
-
|
|
43
|
+
var t, a;
|
|
44
|
+
const { preventDismiss: e } = await ((t = s.onApply) == null ? void 0 : t.call(s)) || E() || {};
|
|
45
|
+
e || (a = n.value) == null || a.dismiss();
|
|
62
46
|
}
|
|
63
47
|
function B() {
|
|
64
48
|
_(), c("dismiss");
|
|
65
49
|
}
|
|
66
|
-
const
|
|
67
|
-
|
|
50
|
+
const r = y(!1), g = z((e) => {
|
|
51
|
+
e.target && (e.target.scrollTop > 0 ? r.value = !0 : r.value = !1);
|
|
68
52
|
}, 500);
|
|
69
53
|
function L() {
|
|
70
54
|
setTimeout(() => {
|
|
71
|
-
|
|
55
|
+
r.value = !1;
|
|
72
56
|
}, 2e3);
|
|
73
57
|
}
|
|
74
|
-
return (
|
|
58
|
+
return (e, t) => (w(), k($, {
|
|
75
59
|
ref_key: "dropdownRef",
|
|
76
|
-
ref:
|
|
60
|
+
ref: n,
|
|
77
61
|
align: "left",
|
|
78
62
|
class: "stash-filter-dropdown",
|
|
79
63
|
"data-test": "stash-filter-dropdown",
|
|
@@ -83,59 +67,59 @@ const H = { class: "tw-flex tw-h-full tw-flex-col tw-rounded" }, K = { class: "t
|
|
|
83
67
|
offset: { y: 6 },
|
|
84
68
|
onDismiss: B
|
|
85
69
|
}, {
|
|
86
|
-
toggle:
|
|
87
|
-
|
|
70
|
+
toggle: l(() => [
|
|
71
|
+
f(q, {
|
|
88
72
|
class: "tw-rounded-full",
|
|
89
73
|
"has-dropdown": "",
|
|
90
|
-
"is-dropdown-open":
|
|
74
|
+
"is-dropdown-open": u.value,
|
|
91
75
|
"filter-count": o(v)[s.group],
|
|
92
|
-
"is-selected":
|
|
76
|
+
"is-selected": u.value,
|
|
93
77
|
onClick: A
|
|
94
78
|
}, {
|
|
95
|
-
default:
|
|
96
|
-
m(
|
|
79
|
+
default: l(() => [
|
|
80
|
+
p(m(s.label), 1)
|
|
97
81
|
]),
|
|
98
82
|
_: 1
|
|
99
83
|
}, 8, ["is-dropdown-open", "filter-count", "is-selected"])
|
|
100
84
|
]),
|
|
101
|
-
default:
|
|
85
|
+
default: l(() => [
|
|
102
86
|
d("div", H, [
|
|
103
87
|
d("div", K, [
|
|
104
88
|
d("div", {
|
|
105
89
|
class: "tw-h-full tw-overflow-auto tw-p-6",
|
|
106
|
-
onScroll:
|
|
90
|
+
onScroll: t[0] || (t[0] = //@ts-ignore
|
|
107
91
|
(...a) => o(g) && o(g)(...a)),
|
|
108
92
|
onScrollend: L
|
|
109
93
|
}, [
|
|
110
|
-
W(
|
|
94
|
+
W(e.$slots, "default")
|
|
111
95
|
], 32),
|
|
112
|
-
|
|
113
|
-
default:
|
|
114
|
-
|
|
96
|
+
f(j, { name: "fade" }, {
|
|
97
|
+
default: l(() => [
|
|
98
|
+
r.value ? (w(), J("div", M)) : x("", !0)
|
|
115
99
|
]),
|
|
116
100
|
_: 1
|
|
117
101
|
})
|
|
118
102
|
]),
|
|
119
103
|
d("footer", P, [
|
|
120
|
-
o(v)[s.group] ? (
|
|
104
|
+
o(v)[s.group] ? (w(), k(D, {
|
|
121
105
|
key: 0,
|
|
122
106
|
secondary: "",
|
|
123
107
|
class: "tw-min-w-[100px]",
|
|
124
108
|
disabled: o(h),
|
|
125
109
|
onClick: N
|
|
126
110
|
}, {
|
|
127
|
-
default:
|
|
128
|
-
m(
|
|
111
|
+
default: l(() => [
|
|
112
|
+
p(m(o(C)("ll.reset")), 1)
|
|
129
113
|
]),
|
|
130
114
|
_: 1
|
|
131
115
|
}, 8, ["disabled"])) : x("", !0),
|
|
132
|
-
|
|
116
|
+
f(D, {
|
|
133
117
|
class: "tw-min-w-[100px]",
|
|
134
118
|
disabled: o(h),
|
|
135
119
|
onClick: V
|
|
136
120
|
}, {
|
|
137
|
-
default:
|
|
138
|
-
m(
|
|
121
|
+
default: l(() => [
|
|
122
|
+
p(m(o(C)("ll.apply")), 1)
|
|
139
123
|
]),
|
|
140
124
|
_: 1
|
|
141
125
|
}, 8, ["disabled"])
|
|
@@ -147,6 +131,6 @@ const H = { class: "tw-flex tw-h-full tw-flex-col tw-rounded" }, K = { class: "t
|
|
|
147
131
|
}
|
|
148
132
|
});
|
|
149
133
|
export {
|
|
150
|
-
|
|
134
|
+
ne as default
|
|
151
135
|
};
|
|
152
136
|
//# sourceMappingURL=FilterDropdown.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterDropdown.js","sources":["../src/components/FilterDropdown/FilterDropdown.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import throttle from 'lodash-es/throttle';\n import { computed, inject, ref } from 'vue';\n\n import { t } from '../../locale';\n import Button from '../Button/Button.vue';\n import { DATA_VIEW_INJECTION } from '../DataView/DataView.vue';\n import { DATA_VIEW_FILTERS_UTILS_INJECTION } from '../DataViewFilters/DataViewFilters.keys';\n import type { OnApplyFilters } from '../DataViewFilters/DataViewFilters.types';\n import Dropdown from '../Dropdown/Dropdown.vue';\n import FilterChip from '../FilterChip/FilterChip.vue';\n\n export interface FilterDropdownProps {\n label: string;\n /** The name of a filter group */\n group: string;\n onApply?: OnApplyFilters;\n }\n const props = withDefaults(defineProps<FilterDropdownProps>(), {\n activeFilterCount: 0,\n onApply: () => undefined,\n });\n\n const emit = defineEmits<{\n (e: 'reset'): void;\n (e: 'dismiss'): void;\n }>();\n\n const { isLoading: isDataViewLoading } = inject(DATA_VIEW_INJECTION.key, DATA_VIEW_INJECTION.defaults);\n\n const dataViewFiltersUtils = inject(DATA_VIEW_FILTERS_UTILS_INJECTION.key);\n\n if (!dataViewFiltersUtils?.useFiltersInstance) {\n throw new Error(\n 'FilterDropdown must be used within a <DataViewFilters> that receives an instance of useFilters().',\n );\n }\n\n const { applyFilters, resetFilterGroup, activeFiltersCounts, undoWorkingFilters } =\n dataViewFiltersUtils.useFiltersInstance;\n\n const dropdownRef = ref<InstanceType<typeof Dropdown>>();\n const isOpen = computed(() => dropdownRef.value?.isActive);\n\n function onToggleButtonClick() {\n const wasOpen = isOpen.value;\n\n dropdownRef.value?.toggle();\n\n if (wasOpen) {\n undoWorkingFilters();\n emit('dismiss');\n }\n }\n\n function handleResetClick() {\n resetFilterGroup(props.group);\n emit('reset');\n dropdownRef.value?.dismiss();\n }\n\n async function handleApplyClick() {\n const { preventDismiss } = (await props.onApply?.()) || applyFilters() || {};\n\n if (!preventDismiss) {\n dropdownRef.value?.dismiss();\n }\n }\n\n function onDismiss() {\n undoWorkingFilters();\n emit('dismiss');\n }\n\n const showShadow = ref(false);\n const onScroll = throttle((event: Event) => {\n if (!event.target) return;\n\n if ((event.target as HTMLElement).scrollTop > 0) {\n showShadow.value = true;\n } else {\n showShadow.value = false;\n }\n }, 500);\n\n function onScrollEnd() {\n setTimeout(() => {\n showShadow.value = false;\n }, 2000);\n }\n</script>\n\n<template>\n <Dropdown\n ref=\"dropdownRef\"\n align=\"left\"\n class=\"stash-filter-dropdown\"\n data-test=\"stash-filter-dropdown\"\n fluid-content\n close-manually\n content-class=\"tw-w-full tw-max-w-[600px] tw-h-full tw-max-h-[400px]\"\n :offset=\"{ y: 6 }\"\n @dismiss=\"onDismiss\"\n >\n <template #toggle>\n <FilterChip\n class=\"tw-rounded-full\"\n has-dropdown\n :is-dropdown-open=\"isOpen\"\n :filter-count=\"activeFiltersCounts[props.group]\"\n :is-selected=\"isOpen\"\n @click=\"onToggleButtonClick\"\n >\n {{ props.label }}\n </FilterChip>\n </template>\n <template #default>\n <div class=\"tw-flex tw-h-full tw-flex-col tw-rounded\">\n <div class=\"tw-relative tw-grow tw-overflow-hidden tw-rounded-t\">\n <div class=\"tw-h-full tw-overflow-auto tw-p-6\" @scroll=\"onScroll\" @scrollend=\"onScrollEnd\">\n <slot></slot>\n </div>\n <Transition name=\"fade\">\n <div\n v-if=\"showShadow\"\n class=\"tw-pointer-events-none tw-absolute tw-inset-x-0 tw-bottom-0 tw-z-10 tw-h-[20px] tw-bg-scroll-shadow\"\n ></div>\n </Transition>\n </div>\n\n <footer\n class=\"tw-flex tw-justify-end tw-gap-6 tw-rounded-b tw-border tw-border-solid tw-border-x-ice-100 tw-border-b-ice-100 tw-border-t-ice-200 tw-bg-ice-100 tw-p-3.5\"\n >\n <Button\n v-if=\"activeFiltersCounts[props.group]\"\n secondary\n class=\"tw-min-w-[100px]\"\n :disabled=\"isDataViewLoading\"\n @click=\"handleResetClick\"\n >\n {{ t('ll.reset') }}\n </Button>\n <Button class=\"tw-min-w-[100px]\" :disabled=\"isDataViewLoading\" @click=\"handleApplyClick\">\n {{ t('ll.apply') }}\n </Button>\n </footer>\n </div>\n </template>\n </Dropdown>\n</template>\n"],"names":["props","__props","emit","__emit","isDataViewLoading","inject","DATA_VIEW_INJECTION","dataViewFiltersUtils","DATA_VIEW_FILTERS_UTILS_INJECTION","applyFilters","resetFilterGroup","activeFiltersCounts","undoWorkingFilters","dropdownRef","ref","isOpen","computed","_a","onToggleButtonClick","wasOpen","handleResetClick","handleApplyClick","preventDismiss","_b","onDismiss","showShadow","onScroll","throttle","event","onScrollEnd"],"mappings":"
|
|
1
|
+
{"version":3,"file":"FilterDropdown.js","sources":["../src/components/FilterDropdown/FilterDropdown.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import throttle from 'lodash-es/throttle';\n import { computed, inject, ref } from 'vue';\n\n import { t } from '../../locale';\n import Button from '../Button/Button.vue';\n import { DATA_VIEW_INJECTION } from '../DataView/DataView.vue';\n import { DATA_VIEW_FILTERS_UTILS_INJECTION } from '../DataViewFilters/DataViewFilters.keys';\n import type { OnApplyFilters } from '../DataViewFilters/DataViewFilters.types';\n import Dropdown from '../Dropdown/Dropdown.vue';\n import FilterChip from '../FilterChip/FilterChip.vue';\n\n export interface FilterDropdownProps {\n label: string;\n /** The name of a filter group */\n group: string;\n onApply?: OnApplyFilters;\n }\n const props = withDefaults(defineProps<FilterDropdownProps>(), {\n activeFilterCount: 0,\n onApply: () => undefined,\n });\n\n const emit = defineEmits<{\n (e: 'reset'): void;\n (e: 'dismiss'): void;\n }>();\n\n const { isLoading: isDataViewLoading } = inject(DATA_VIEW_INJECTION.key, DATA_VIEW_INJECTION.defaults);\n\n const dataViewFiltersUtils = inject(DATA_VIEW_FILTERS_UTILS_INJECTION.key);\n\n if (!dataViewFiltersUtils?.useFiltersInstance) {\n throw new Error(\n 'FilterDropdown must be used within a <DataViewFilters> that receives an instance of useFilters().',\n );\n }\n\n const { applyFilters, resetFilterGroup, activeFiltersCounts, undoWorkingFilters } =\n dataViewFiltersUtils.useFiltersInstance;\n\n const dropdownRef = ref<InstanceType<typeof Dropdown>>();\n const isOpen = computed(() => dropdownRef.value?.isActive);\n\n function onToggleButtonClick() {\n const wasOpen = isOpen.value;\n\n dropdownRef.value?.toggle();\n\n if (wasOpen) {\n undoWorkingFilters();\n emit('dismiss');\n }\n }\n\n function handleResetClick() {\n resetFilterGroup(props.group);\n emit('reset');\n dropdownRef.value?.dismiss();\n }\n\n async function handleApplyClick() {\n const { preventDismiss } = (await props.onApply?.()) || applyFilters() || {};\n\n if (!preventDismiss) {\n dropdownRef.value?.dismiss();\n }\n }\n\n function onDismiss() {\n undoWorkingFilters();\n emit('dismiss');\n }\n\n const showShadow = ref(false);\n const onScroll = throttle((event: Event) => {\n if (!event.target) return;\n\n if ((event.target as HTMLElement).scrollTop > 0) {\n showShadow.value = true;\n } else {\n showShadow.value = false;\n }\n }, 500);\n\n function onScrollEnd() {\n setTimeout(() => {\n showShadow.value = false;\n }, 2000);\n }\n</script>\n\n<template>\n <Dropdown\n ref=\"dropdownRef\"\n align=\"left\"\n class=\"stash-filter-dropdown\"\n data-test=\"stash-filter-dropdown\"\n fluid-content\n close-manually\n content-class=\"tw-w-full tw-max-w-[600px] tw-h-full tw-max-h-[400px]\"\n :offset=\"{ y: 6 }\"\n @dismiss=\"onDismiss\"\n >\n <template #toggle>\n <FilterChip\n class=\"tw-rounded-full\"\n has-dropdown\n :is-dropdown-open=\"isOpen\"\n :filter-count=\"activeFiltersCounts[props.group]\"\n :is-selected=\"isOpen\"\n @click=\"onToggleButtonClick\"\n >\n {{ props.label }}\n </FilterChip>\n </template>\n <template #default>\n <div class=\"tw-flex tw-h-full tw-flex-col tw-rounded\">\n <div class=\"tw-relative tw-grow tw-overflow-hidden tw-rounded-t\">\n <div class=\"tw-h-full tw-overflow-auto tw-p-6\" @scroll=\"onScroll\" @scrollend=\"onScrollEnd\">\n <slot></slot>\n </div>\n <Transition name=\"fade\">\n <div\n v-if=\"showShadow\"\n class=\"tw-pointer-events-none tw-absolute tw-inset-x-0 tw-bottom-0 tw-z-10 tw-h-[20px] tw-bg-scroll-shadow\"\n ></div>\n </Transition>\n </div>\n\n <footer\n class=\"tw-flex tw-justify-end tw-gap-6 tw-rounded-b tw-border tw-border-solid tw-border-x-ice-100 tw-border-b-ice-100 tw-border-t-ice-200 tw-bg-ice-100 tw-p-3.5\"\n >\n <Button\n v-if=\"activeFiltersCounts[props.group]\"\n secondary\n class=\"tw-min-w-[100px]\"\n :disabled=\"isDataViewLoading\"\n @click=\"handleResetClick\"\n >\n {{ t('ll.reset') }}\n </Button>\n <Button class=\"tw-min-w-[100px]\" :disabled=\"isDataViewLoading\" @click=\"handleApplyClick\">\n {{ t('ll.apply') }}\n </Button>\n </footer>\n </div>\n </template>\n </Dropdown>\n</template>\n"],"names":["props","__props","emit","__emit","isDataViewLoading","inject","DATA_VIEW_INJECTION","dataViewFiltersUtils","DATA_VIEW_FILTERS_UTILS_INJECTION","applyFilters","resetFilterGroup","activeFiltersCounts","undoWorkingFilters","dropdownRef","ref","isOpen","computed","_a","onToggleButtonClick","wasOpen","handleResetClick","handleApplyClick","preventDismiss","_b","onDismiss","showShadow","onScroll","throttle","event","onScrollEnd"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAkBE,UAAMA,IAAQC,GAKRC,IAAOC,GAKP,EAAE,WAAWC,MAAsBC,EAAOC,EAAoB,KAAKA,EAAoB,QAAQ,GAE/FC,IAAuBF,EAAOG,EAAkC,GAAG;AAErE,QAAA,EAACD,KAAA,QAAAA,EAAsB;AACzB,YAAM,IAAI;AAAA,QACR;AAAA,MAAA;AAIJ,UAAM,EAAE,cAAAE,GAAc,kBAAAC,GAAkB,qBAAAC,GAAqB,oBAAAC,MAC3DL,EAAqB,oBAEjBM,IAAcC,KACdC,IAASC,EAAS,MAAA;;AAAM,cAAAC,IAAAJ,EAAY,UAAZ,gBAAAI,EAAmB;AAAA,KAAQ;AAEzD,aAASC,IAAsB;;AAC7B,YAAMC,IAAUJ,EAAO;AAEvB,OAAAE,IAAAJ,EAAY,UAAZ,QAAAI,EAAmB,UAEfE,MACiBP,KACnBV,EAAK,SAAS;AAAA,IAElB;AAEA,aAASkB,IAAmB;;AAC1B,MAAAV,EAAiBV,EAAM,KAAK,GAC5BE,EAAK,OAAO,IACZe,IAAAJ,EAAY,UAAZ,QAAAI,EAAmB;AAAA,IACrB;AAEA,mBAAeI,IAAmB;;AAC1B,YAAA,EAAE,gBAAAC,MAAoB,QAAML,IAAAjB,EAAM,YAAN,gBAAAiB,EAAA,KAAAjB,OAAsBS,EAAa,KAAK;AAE1E,MAAKa,MACHC,IAAAV,EAAY,UAAZ,QAAAU,EAAmB;AAAA,IAEvB;AAEA,aAASC,IAAY;AACA,MAAAZ,KACnBV,EAAK,SAAS;AAAA,IAChB;AAEM,UAAAuB,IAAaX,EAAI,EAAK,GACtBY,IAAWC,EAAS,CAACC,MAAiB;AACtC,MAACA,EAAM,WAENA,EAAM,OAAuB,YAAY,IAC5CH,EAAW,QAAQ,KAEnBA,EAAW,QAAQ;AAAA,OAEpB,GAAG;AAEN,aAASI,IAAc;AACrB,iBAAW,MAAM;AACf,QAAAJ,EAAW,QAAQ;AAAA,SAClB,GAAI;AAAA,IACT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -33,19 +33,19 @@ declare type __VLS_WithTemplateSlots<T, S> = T & {
|
|
|
33
33
|
};
|
|
34
34
|
|
|
35
35
|
declare const _default: __VLS_WithTemplateSlots<DefineComponent<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<FilterDropdownProps>, {
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
activeFilterCount: number;
|
|
37
|
+
onApply: () => undefined;
|
|
38
38
|
}>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
reset: () => void;
|
|
40
|
+
dismiss: () => void;
|
|
41
41
|
}, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<FilterDropdownProps>, {
|
|
42
|
-
|
|
43
|
-
|
|
42
|
+
activeFilterCount: number;
|
|
43
|
+
onApply: () => undefined;
|
|
44
44
|
}>>> & Readonly<{
|
|
45
|
-
|
|
46
|
-
|
|
45
|
+
onReset?: (() => any) | undefined;
|
|
46
|
+
onDismiss?: (() => any) | undefined;
|
|
47
47
|
}>, {
|
|
48
|
-
|
|
48
|
+
onApply: OnApplyFilters;
|
|
49
49
|
}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>, {
|
|
50
50
|
default?(_: {}): any;
|
|
51
51
|
}>;
|
package/dist/FilterSelect.js
CHANGED
|
@@ -1,17 +1,8 @@
|
|
|
1
|
-
import { defineComponent as $, computed as p, openBlock as
|
|
1
|
+
import { defineComponent as $, computed as p, openBlock as u, createBlock as C, withCtx as i, createElementVNode as s, createElementBlock as d, withDirectives as f, vModelCheckbox as v, createVNode as _, withKeys as h, createTextVNode as b, toDisplayString as x, unref as A, createCommentVNode as B, Fragment as E, renderList as K } from "vue";
|
|
2
2
|
import { t as N } from "./locale.js";
|
|
3
|
-
import { _ as F } from "./Field.vue_vue_type_script_setup_true_lang-
|
|
3
|
+
import { _ as F } from "./Field.vue_vue_type_script_setup_true_lang-DjxUvSRF.js";
|
|
4
4
|
import y from "./FilterChip.js";
|
|
5
|
-
|
|
6
|
-
import "lodash-es/uniqueId";
|
|
7
|
-
import "./Label.vue_vue_type_script_setup_true_lang-b6ba2f02.js";
|
|
8
|
-
import "./Chip.js";
|
|
9
|
-
import "./utils/colorScheme.js";
|
|
10
|
-
import "./Icon.js";
|
|
11
|
-
import "./index-9e1095ef.js";
|
|
12
|
-
import "./Icon.vue_used_vue_type_style_index_0_lang.module-eb359559.js";
|
|
13
|
-
import "./_plugin-vue_export-helper-dad06003.js";
|
|
14
|
-
const D = { class: "tw-flex tw-flex-wrap tw-gap-1.5" }, O = ["id"], U = ["for"], I = ["id", "value"], L = ["for"], Y = /* @__PURE__ */ $({
|
|
5
|
+
const D = { class: "tw-flex tw-flex-wrap tw-gap-1.5" }, O = ["id"], U = ["for"], I = ["id", "value"], L = ["for"], z = /* @__PURE__ */ $({
|
|
15
6
|
__name: "FilterSelect",
|
|
16
7
|
props: {
|
|
17
8
|
name: {},
|
|
@@ -22,92 +13,92 @@ const D = { class: "tw-flex tw-flex-wrap tw-gap-1.5" }, O = ["id"], U = ["for"],
|
|
|
22
13
|
},
|
|
23
14
|
emits: ["update:modelValue"],
|
|
24
15
|
setup(V, { emit: g }) {
|
|
25
|
-
const e = V, c = g,
|
|
16
|
+
const e = V, c = g, n = p({
|
|
26
17
|
get() {
|
|
27
18
|
return e.modelValue;
|
|
28
19
|
},
|
|
29
|
-
set(
|
|
30
|
-
c("update:modelValue",
|
|
20
|
+
set(l) {
|
|
21
|
+
c("update:modelValue", l);
|
|
31
22
|
}
|
|
32
|
-
}),
|
|
23
|
+
}), o = p({
|
|
33
24
|
get() {
|
|
34
25
|
return e.options.length === e.modelValue.length;
|
|
35
26
|
},
|
|
36
|
-
set(
|
|
37
|
-
c("update:modelValue",
|
|
27
|
+
set(l) {
|
|
28
|
+
c("update:modelValue", l ? e.options.map((a) => a.value) : []);
|
|
38
29
|
}
|
|
39
30
|
});
|
|
40
|
-
function
|
|
41
|
-
return `${e.name}--${
|
|
31
|
+
function r(l) {
|
|
32
|
+
return `${e.name}--${l.value}`;
|
|
42
33
|
}
|
|
43
|
-
function w(
|
|
44
|
-
return e.modelValue.includes(
|
|
34
|
+
function w(l) {
|
|
35
|
+
return e.modelValue.includes(l.value);
|
|
45
36
|
}
|
|
46
|
-
function k(
|
|
47
|
-
const a =
|
|
48
|
-
a.length ===
|
|
37
|
+
function k(l) {
|
|
38
|
+
const a = n.value.filter((t) => t !== l);
|
|
39
|
+
a.length === n.value.length && a.push(l), n.value = a;
|
|
49
40
|
}
|
|
50
41
|
function S() {
|
|
51
|
-
|
|
42
|
+
o.value = !o.value;
|
|
52
43
|
}
|
|
53
|
-
return (
|
|
44
|
+
return (l, a) => (u(), C(F, {
|
|
54
45
|
class: "stash-filter-select",
|
|
55
46
|
fieldset: "",
|
|
56
47
|
label: e.label
|
|
57
48
|
}, {
|
|
58
|
-
default:
|
|
49
|
+
default: i(() => [
|
|
59
50
|
s("div", D, [
|
|
60
|
-
e.canSelectAll ? (
|
|
51
|
+
e.canSelectAll ? (u(), d("div", {
|
|
61
52
|
key: `${e.name}--all`
|
|
62
53
|
}, [
|
|
63
54
|
f(s("input", {
|
|
64
55
|
id: `${e.name}--all`,
|
|
65
|
-
"onUpdate:modelValue": a[0] || (a[0] = (
|
|
56
|
+
"onUpdate:modelValue": a[0] || (a[0] = (t) => o.value = t),
|
|
66
57
|
class: "tw-sr-only",
|
|
67
58
|
tabindex: "-1",
|
|
68
59
|
type: "checkbox",
|
|
69
60
|
value: "all"
|
|
70
61
|
}, null, 8, O), [
|
|
71
|
-
[v,
|
|
62
|
+
[v, o.value]
|
|
72
63
|
]),
|
|
73
64
|
s("label", {
|
|
74
65
|
for: `${e.name}--all`
|
|
75
66
|
}, [
|
|
76
67
|
_(y, {
|
|
77
|
-
"is-selected":
|
|
68
|
+
"is-selected": o.value,
|
|
78
69
|
tabindex: "0",
|
|
79
70
|
onKeypress: h(S, ["enter"])
|
|
80
71
|
}, {
|
|
81
|
-
default:
|
|
72
|
+
default: i(() => [
|
|
82
73
|
b(x(A(N)("ll.all")), 1)
|
|
83
74
|
]),
|
|
84
75
|
_: 1
|
|
85
76
|
}, 8, ["is-selected"])
|
|
86
77
|
], 8, U)
|
|
87
78
|
])) : B("", !0),
|
|
88
|
-
(
|
|
89
|
-
key:
|
|
79
|
+
(u(!0), d(E, null, K(e.options, (t) => (u(), d("div", {
|
|
80
|
+
key: r(t)
|
|
90
81
|
}, [
|
|
91
82
|
f(s("input", {
|
|
92
|
-
id:
|
|
93
|
-
"onUpdate:modelValue": a[1] || (a[1] = (m) =>
|
|
83
|
+
id: r(t),
|
|
84
|
+
"onUpdate:modelValue": a[1] || (a[1] = (m) => n.value = m),
|
|
94
85
|
class: "tw-sr-only",
|
|
95
86
|
tabindex: "-1",
|
|
96
87
|
type: "checkbox",
|
|
97
|
-
value:
|
|
88
|
+
value: t.value
|
|
98
89
|
}, null, 8, I), [
|
|
99
|
-
[v,
|
|
90
|
+
[v, n.value]
|
|
100
91
|
]),
|
|
101
92
|
s("label", {
|
|
102
|
-
for:
|
|
93
|
+
for: r(t)
|
|
103
94
|
}, [
|
|
104
95
|
_(y, {
|
|
105
|
-
"is-selected": w(
|
|
96
|
+
"is-selected": w(t),
|
|
106
97
|
tabindex: "0",
|
|
107
|
-
onKeypress: h((m) => k(
|
|
98
|
+
onKeypress: h((m) => k(t.value), ["enter"])
|
|
108
99
|
}, {
|
|
109
|
-
default:
|
|
110
|
-
b(x(
|
|
100
|
+
default: i(() => [
|
|
101
|
+
b(x(t.label), 1)
|
|
111
102
|
]),
|
|
112
103
|
_: 2
|
|
113
104
|
}, 1032, ["is-selected", "onKeypress"])
|
|
@@ -120,6 +111,6 @@ const D = { class: "tw-flex tw-flex-wrap tw-gap-1.5" }, O = ["id"], U = ["for"],
|
|
|
120
111
|
}
|
|
121
112
|
});
|
|
122
113
|
export {
|
|
123
|
-
|
|
114
|
+
z as default
|
|
124
115
|
};
|
|
125
116
|
//# sourceMappingURL=FilterSelect.js.map
|
package/dist/FilterSelect.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterSelect.js","sources":["../src/components/FilterSelect/FilterSelect.vue"],"sourcesContent":["<script lang=\"ts\">\n export * from './FilterSelect.types';\n</script>\n\n<script lang=\"ts\" setup>\n import { computed } from 'vue';\n\n import { t } from '../../locale';\n import Field from '../Field/Field.vue';\n import FilterChip from '../FilterChip/FilterChip.vue';\n import { FilterSelectModelValue, FilterSelectOption } from './FilterSelect.types';\n\n export interface FilterSelectProps {\n /**\n * The name attribute for the `<input>` elements. It is also used as a unique field to differentiate FilterSelect instances.\n */\n name: string;\n\n label: string;\n\n options: FilterSelectOption[];\n\n modelValue: FilterSelectModelValue;\n\n /**\n * When true, this prop adds an \"All\" option for selecting all options.\n */\n canSelectAll?: boolean;\n }\n\n const props = withDefaults(defineProps<FilterSelectProps>(), {\n canSelectAll: false,\n });\n\n const emit = defineEmits<{\n (e: 'update:modelValue', value: FilterSelectModelValue): void;\n }>();\n\n /**\n * @see: https://vuejs.org/guide/components/v-model.html#component-v-model\n */\n const selected = computed({\n get() {\n return props.modelValue;\n },\n set(value) {\n emit('update:modelValue', value);\n },\n });\n\n const isAllSelected = computed({\n get() {\n return props.options.length === props.modelValue.length;\n },\n set(isChecked) {\n emit('update:modelValue', isChecked ? props.options.map((option) => option.value) : []);\n },\n });\n\n function getOptionId(option: FilterSelectOption) {\n return `${props.name}--${option.value}`;\n }\n\n function isOptionSelected(option: FilterSelectOption) {\n return props.modelValue.includes(option.value);\n }\n\n function onEnter(enteredValue: FilterSelectOption['value']) {\n const newSelected = selected.value.filter((value) => value !== enteredValue);\n\n if (newSelected.length === selected.value.length) {\n newSelected.push(enteredValue);\n }\n\n selected.value = newSelected;\n }\n\n function onEnterAll() {\n isAllSelected.value = !isAllSelected.value;\n }\n</script>\n\n<template>\n <Field class=\"stash-filter-select\" fieldset :label=\"props.label\">\n <div class=\"tw-flex tw-flex-wrap tw-gap-1.5\">\n <div v-if=\"props.canSelectAll\" :key=\"`${props.name}--all`\">\n <input\n :id=\"`${props.name}--all`\"\n v-model=\"isAllSelected\"\n class=\"tw-sr-only\"\n tabindex=\"-1\"\n type=\"checkbox\"\n value=\"all\"\n />\n <label :for=\"`${props.name}--all`\">\n <FilterChip :is-selected=\"isAllSelected\" tabindex=\"0\" @keypress.enter=\"onEnterAll\">\n {{ t('ll.all') }}\n </FilterChip>\n </label>\n </div>\n <div v-for=\"option in props.options\" :key=\"getOptionId(option)\">\n <input\n :id=\"getOptionId(option)\"\n v-model=\"selected\"\n class=\"tw-sr-only\"\n tabindex=\"-1\"\n type=\"checkbox\"\n :value=\"option.value\"\n />\n <label :for=\"getOptionId(option)\">\n <FilterChip :is-selected=\"isOptionSelected(option)\" tabindex=\"0\" @keypress.enter=\"onEnter(option.value)\">\n {{ option.label }}\n </FilterChip>\n </label>\n </div>\n </div>\n </Field>\n</template>\n"],"names":["props","__props","emit","__emit","selected","computed","value","isAllSelected","isChecked","option","getOptionId","isOptionSelected","onEnter","enteredValue","newSelected","onEnterAll"],"mappings":"
|
|
1
|
+
{"version":3,"file":"FilterSelect.js","sources":["../src/components/FilterSelect/FilterSelect.vue"],"sourcesContent":["<script lang=\"ts\">\n export * from './FilterSelect.types';\n</script>\n\n<script lang=\"ts\" setup>\n import { computed } from 'vue';\n\n import { t } from '../../locale';\n import Field from '../Field/Field.vue';\n import FilterChip from '../FilterChip/FilterChip.vue';\n import { FilterSelectModelValue, FilterSelectOption } from './FilterSelect.types';\n\n export interface FilterSelectProps {\n /**\n * The name attribute for the `<input>` elements. It is also used as a unique field to differentiate FilterSelect instances.\n */\n name: string;\n\n label: string;\n\n options: FilterSelectOption[];\n\n modelValue: FilterSelectModelValue;\n\n /**\n * When true, this prop adds an \"All\" option for selecting all options.\n */\n canSelectAll?: boolean;\n }\n\n const props = withDefaults(defineProps<FilterSelectProps>(), {\n canSelectAll: false,\n });\n\n const emit = defineEmits<{\n (e: 'update:modelValue', value: FilterSelectModelValue): void;\n }>();\n\n /**\n * @see: https://vuejs.org/guide/components/v-model.html#component-v-model\n */\n const selected = computed({\n get() {\n return props.modelValue;\n },\n set(value) {\n emit('update:modelValue', value);\n },\n });\n\n const isAllSelected = computed({\n get() {\n return props.options.length === props.modelValue.length;\n },\n set(isChecked) {\n emit('update:modelValue', isChecked ? props.options.map((option) => option.value) : []);\n },\n });\n\n function getOptionId(option: FilterSelectOption) {\n return `${props.name}--${option.value}`;\n }\n\n function isOptionSelected(option: FilterSelectOption) {\n return props.modelValue.includes(option.value);\n }\n\n function onEnter(enteredValue: FilterSelectOption['value']) {\n const newSelected = selected.value.filter((value) => value !== enteredValue);\n\n if (newSelected.length === selected.value.length) {\n newSelected.push(enteredValue);\n }\n\n selected.value = newSelected;\n }\n\n function onEnterAll() {\n isAllSelected.value = !isAllSelected.value;\n }\n</script>\n\n<template>\n <Field class=\"stash-filter-select\" fieldset :label=\"props.label\">\n <div class=\"tw-flex tw-flex-wrap tw-gap-1.5\">\n <div v-if=\"props.canSelectAll\" :key=\"`${props.name}--all`\">\n <input\n :id=\"`${props.name}--all`\"\n v-model=\"isAllSelected\"\n class=\"tw-sr-only\"\n tabindex=\"-1\"\n type=\"checkbox\"\n value=\"all\"\n />\n <label :for=\"`${props.name}--all`\">\n <FilterChip :is-selected=\"isAllSelected\" tabindex=\"0\" @keypress.enter=\"onEnterAll\">\n {{ t('ll.all') }}\n </FilterChip>\n </label>\n </div>\n <div v-for=\"option in props.options\" :key=\"getOptionId(option)\">\n <input\n :id=\"getOptionId(option)\"\n v-model=\"selected\"\n class=\"tw-sr-only\"\n tabindex=\"-1\"\n type=\"checkbox\"\n :value=\"option.value\"\n />\n <label :for=\"getOptionId(option)\">\n <FilterChip :is-selected=\"isOptionSelected(option)\" tabindex=\"0\" @keypress.enter=\"onEnter(option.value)\">\n {{ option.label }}\n </FilterChip>\n </label>\n </div>\n </div>\n </Field>\n</template>\n"],"names":["props","__props","emit","__emit","selected","computed","value","isAllSelected","isChecked","option","getOptionId","isOptionSelected","onEnter","enteredValue","newSelected","onEnterAll"],"mappings":";;;;;;;;;;;;;;;AA8BE,UAAMA,IAAQC,GAIRC,IAAOC,GAOPC,IAAWC,EAAS;AAAA,MACxB,MAAM;AACJ,eAAOL,EAAM;AAAA,MACf;AAAA,MACA,IAAIM,GAAO;AACT,QAAAJ,EAAK,qBAAqBI,CAAK;AAAA,MACjC;AAAA,IAAA,CACD,GAEKC,IAAgBF,EAAS;AAAA,MAC7B,MAAM;AACJ,eAAOL,EAAM,QAAQ,WAAWA,EAAM,WAAW;AAAA,MACnD;AAAA,MACA,IAAIQ,GAAW;AACR,QAAAN,EAAA,qBAAqBM,IAAYR,EAAM,QAAQ,IAAI,CAACS,MAAWA,EAAO,KAAK,IAAI,CAAE,CAAA;AAAA,MACxF;AAAA,IAAA,CACD;AAED,aAASC,EAAYD,GAA4B;AAC/C,aAAO,GAAGT,EAAM,IAAI,KAAKS,EAAO,KAAK;AAAA,IACvC;AAEA,aAASE,EAAiBF,GAA4B;AACpD,aAAOT,EAAM,WAAW,SAASS,EAAO,KAAK;AAAA,IAC/C;AAEA,aAASG,EAAQC,GAA2C;AAC1D,YAAMC,IAAcV,EAAS,MAAM,OAAO,CAACE,MAAUA,MAAUO,CAAY;AAE3E,MAAIC,EAAY,WAAWV,EAAS,MAAM,UACxCU,EAAY,KAAKD,CAAY,GAG/BT,EAAS,QAAQU;AAAA,IACnB;AAEA,aAASC,IAAa;AACN,MAAAR,EAAA,QAAQ,CAACA,EAAc;AAAA,IACvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|