@leaflink/stash 48.16.1 → 48.16.2
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 +1 -1
- package/dist/Accordion.js.map +1 -1
- package/dist/Accordion.vue.d.ts +8 -9
- package/dist/ActionsDropdown.js.map +1 -1
- package/dist/ActionsDropdown.vue.d.ts +7 -8
- package/dist/AddressSelect.js +42 -38
- package/dist/AddressSelect.js.map +1 -1
- package/dist/AddressSelect.vue.d.ts +10 -11
- package/dist/Alert.js.map +1 -1
- package/dist/Alert.vue.d.ts +6 -7
- package/dist/AppNavigationItem.js +2 -2
- package/dist/AppNavigationItem.js.map +1 -1
- package/dist/AppNavigationItem.vue.d.ts +7 -8
- package/dist/AppSidebar.js +42 -42
- package/dist/AppSidebar.js.map +1 -1
- package/dist/AppSidebar.vue.d.ts +8 -9
- package/dist/AppTopbar.js +16 -16
- package/dist/AppTopbar.js.map +1 -1
- package/dist/AppTopbar.vue.d.ts +8 -9
- package/dist/Avatar.js.map +1 -1
- package/dist/Avatar.vue.d.ts +7 -8
- package/dist/Backdrop.vue.d.ts +3 -5
- package/dist/Badge.js +1 -1
- package/dist/Badge.js.map +1 -1
- package/dist/Badge.vue.d.ts +7 -8
- package/dist/Box.vue.d.ts +6 -7
- package/dist/Box.vue_vue_type_script_setup_true_lang-69e5176b.js.map +1 -1
- package/dist/Button.js.map +1 -1
- package/dist/Button.vue.d.ts +7 -8
- package/dist/ButtonGroup.js +29 -29
- package/dist/ButtonGroup.js.map +1 -1
- package/dist/ButtonGroup.vue.d.ts +8 -9
- package/dist/Card.js.map +1 -1
- package/dist/Card.vue.d.ts +6 -7
- package/dist/CardContent.vue.d.ts +3 -5
- package/dist/CardFooter.vue.d.ts +3 -5
- package/dist/CardHeader.js.map +1 -1
- package/dist/CardHeader.vue.d.ts +3 -4
- package/dist/CardMedia.js +6 -6
- package/dist/CardMedia.js.map +1 -1
- package/dist/CardMedia.vue.d.ts +3 -4
- package/dist/Carousel.js +249 -249
- package/dist/Carousel.js.map +1 -1
- package/dist/Carousel.vue.d.ts +9 -9
- package/dist/Checkbox.js +27 -27
- package/dist/Checkbox.js.map +1 -1
- package/dist/Checkbox.vue.d.ts +11 -12
- package/dist/ChevronToggle.js +1 -1
- package/dist/ChevronToggle.vue.d.ts +8 -9
- package/dist/{ChevronToggle.vue_vue_type_script_setup_true_lang-1591294c.js → ChevronToggle.vue_vue_type_script_setup_true_lang-fcdf0c19.js} +11 -11
- package/dist/{ChevronToggle.vue_vue_type_script_setup_true_lang-1591294c.js.map → ChevronToggle.vue_vue_type_script_setup_true_lang-fcdf0c19.js.map} +1 -1
- package/dist/Chip.js +30 -30
- package/dist/Chip.js.map +1 -1
- package/dist/Chip.vue.d.ts +9 -10
- package/dist/ConfirmationCodeInput.js +25 -25
- package/dist/ConfirmationCodeInput.js.map +1 -1
- package/dist/ConfirmationCodeInput.vue.d.ts +8 -9
- package/dist/ContextSwitcher.js +18 -18
- package/dist/ContextSwitcher.js.map +1 -1
- package/dist/ContextSwitcher.vue.d.ts +9 -10
- package/dist/Copy.js.map +1 -1
- package/dist/Copy.vue.d.ts +6 -7
- package/dist/CurrencyInput.js +93 -93
- package/dist/CurrencyInput.js.map +1 -1
- package/dist/CurrencyInput.vue.d.ts +10 -11
- package/dist/CustomRender.vue.d.ts +3 -15
- package/dist/DataView.js +97 -97
- package/dist/DataView.js.map +1 -1
- package/dist/DataView.vue.d.ts +9 -10
- package/dist/DataViewFilters.js +153 -150
- package/dist/DataViewFilters.js.map +1 -1
- package/dist/DataViewFilters.vue.d.ts +9 -10
- package/dist/DataViewSortButton.js.map +1 -1
- package/dist/DataViewSortButton.vue.d.ts +6 -7
- package/dist/DataViewToolbar.js +27 -27
- package/dist/DataViewToolbar.js.map +1 -1
- package/dist/DataViewToolbar.vue.d.ts +8 -9
- package/dist/DatePicker.js +738 -738
- package/dist/DatePicker.js.map +1 -1
- package/dist/DatePicker.vue.d.ts +11 -12
- package/dist/DescriptionList.js.map +1 -1
- package/dist/DescriptionList.vue.d.ts +6 -7
- package/dist/DescriptionListDetail.vue.d.ts +3 -5
- package/dist/DescriptionListGroup.vue.d.ts +3 -5
- package/dist/DescriptionListTerm.vue.d.ts +3 -5
- package/dist/Dialog.js +44 -44
- package/dist/Dialog.js.map +1 -1
- package/dist/Dialog.vue.d.ts +10 -11
- package/dist/Divider.vue.d.ts +3 -5
- package/dist/Dropdown.js +38 -38
- package/dist/Dropdown.js.map +1 -1
- package/dist/Dropdown.vue.d.ts +9 -10
- package/dist/EmptyState.js +20 -20
- package/dist/EmptyState.js.map +1 -1
- package/dist/EmptyState.vue.d.ts +6 -7
- package/dist/Expand.js +1 -1
- package/dist/Expand.vue.d.ts +8 -9
- package/dist/{Expand.vue_vue_type_script_setup_true_lang-1751f4a6.js → Expand.vue_vue_type_script_setup_true_lang-0f236267.js} +19 -19
- package/dist/Expand.vue_vue_type_script_setup_true_lang-0f236267.js.map +1 -0
- package/dist/Field.vue.d.ts +6 -7
- package/dist/Field.vue_vue_type_script_setup_true_lang-e1e4ff03.js.map +1 -1
- package/dist/FileUpload.js +65 -65
- package/dist/FileUpload.js.map +1 -1
- package/dist/FileUpload.vue.d.ts +10 -11
- package/dist/FilterChip.js +27 -27
- package/dist/FilterChip.js.map +1 -1
- package/dist/FilterChip.vue.d.ts +8 -9
- package/dist/FilterDrawerItem.js +26 -26
- package/dist/FilterDrawerItem.js.map +1 -1
- package/dist/FilterDrawerItem.vue.d.ts +5 -6
- package/dist/FilterDropdown.js +49 -49
- package/dist/FilterDropdown.js.map +1 -1
- package/dist/FilterDropdown.vue.d.ts +8 -9
- package/dist/FilterSelect.js +23 -23
- package/dist/FilterSelect.js.map +1 -1
- package/dist/FilterSelect.vue.d.ts +8 -9
- package/dist/Filters.js +112 -104
- package/dist/Filters.js.map +1 -1
- package/dist/Filters.vue.d.ts +2204 -65
- package/dist/HttpError.js +42 -42
- package/dist/HttpError.js.map +1 -1
- package/dist/HttpError.vue.d.ts +6 -7
- package/dist/Icon.js.map +1 -1
- package/dist/Icon.vue.d.ts +7 -8
- package/dist/IconLabel.js.map +1 -1
- package/dist/IconLabel.vue.d.ts +8 -9
- package/dist/Illustration.vue.d.ts +6 -7
- package/dist/Illustration.vue_vue_type_script_setup_true_lang-e26c3841.js.map +1 -1
- package/dist/Image.js +47 -47
- package/dist/Image.js.map +1 -1
- package/dist/Image.vue.d.ts +6 -7
- package/dist/InlineEdit.js +34 -34
- package/dist/InlineEdit.js.map +1 -1
- package/dist/InlineEdit.vue.d.ts +9 -10
- package/dist/Input.js +35 -35
- package/dist/Input.js.map +1 -1
- package/dist/Input.vue.d.ts +13 -14
- package/dist/InputOptions.js +33 -33
- package/dist/InputOptions.js.map +1 -1
- package/dist/InputOptions.vue.d.ts +8 -9
- package/dist/IntegrationIcon.js.map +1 -1
- package/dist/IntegrationIcon.vue.d.ts +7 -8
- package/dist/Label.vue.d.ts +6 -7
- package/dist/Label.vue_vue_type_script_setup_true_lang-4b02087f.js.map +1 -1
- package/dist/LicenseChip.js.map +1 -1
- package/dist/LicenseChip.vue.d.ts +6 -7
- package/dist/ListItem.vue.d.ts +225 -95
- package/dist/ListItemCell.vue.d.ts +4 -16
- package/dist/ListView.js +1 -1
- package/dist/ListView.vue.d.ts +5072 -470
- package/dist/Loading.js +16 -16
- package/dist/Loading.js.map +1 -1
- package/dist/Loading.vue.d.ts +3 -5
- package/dist/Logo.js +1 -1
- package/dist/Logo.vue.d.ts +9 -10
- package/dist/Logo.vue_vue_type_script_setup_true_lang-2a2597cb.js +196 -0
- package/dist/Logo.vue_vue_type_script_setup_true_lang-2a2597cb.js.map +1 -0
- package/dist/Menu.vue.d.ts +3 -5
- package/dist/MenuItem.vue.d.ts +3 -5
- package/dist/Metric.js.map +1 -1
- package/dist/Metric.vue.d.ts +6 -7
- package/dist/Modal.js +29 -29
- package/dist/Modal.js.map +1 -1
- package/dist/Modal.vue.d.ts +8 -9
- package/dist/Modals.js +8 -7
- package/dist/Modals.js.map +1 -1
- package/dist/Modals.vue.d.ts +3 -5
- package/dist/Module.js.map +1 -1
- package/dist/Module.vue.d.ts +7 -8
- package/dist/ModuleContent.vue.d.ts +3 -5
- package/dist/ModuleFooter.vue.d.ts +3 -5
- package/dist/ModuleHeader.js.map +1 -1
- package/dist/ModuleHeader.vue.d.ts +6 -7
- package/dist/ObfuscateText.js +1 -1
- package/dist/ObfuscateText.js.map +1 -1
- package/dist/ObfuscateText.vue.d.ts +6 -7
- package/dist/PageContent.vue.d.ts +3 -5
- package/dist/PageHeader.js.map +1 -1
- package/dist/PageHeader.vue.d.ts +6 -7
- package/dist/PageNavigation.js +30 -27
- package/dist/PageNavigation.js.map +1 -1
- package/dist/PageNavigation.vue.d.ts +8 -9
- package/dist/Paginate.js +32 -32
- package/dist/Paginate.js.map +1 -1
- package/dist/Paginate.vue.d.ts +8 -9
- package/dist/PlaidLink.js +29 -29
- package/dist/PlaidLink.js.map +1 -1
- package/dist/PlaidLink.vue.d.ts +11 -12
- package/dist/QuickAction.js.map +1 -1
- package/dist/QuickAction.vue.d.ts +4 -5
- package/dist/Radio.vue.d.ts +20 -1
- package/dist/RadioGroup.js +123 -123
- package/dist/RadioGroup.js.map +1 -1
- package/dist/RadioGroup.vue.d.ts +10 -11
- package/dist/RadioNew.js +102 -102
- package/dist/RadioNew.js.map +1 -1
- package/dist/RadioNew.vue.d.ts +10 -11
- package/dist/RangeInput.vue.d.ts +3 -5
- package/dist/SearchBar.js +36 -36
- package/dist/SearchBar.js.map +1 -1
- package/dist/SearchBar.vue.d.ts +9 -10
- package/dist/Select.js +792 -774
- package/dist/Select.js.map +1 -1
- package/dist/Select.vue.d.ts +14 -15
- package/dist/SelectStatus.js +27 -27
- package/dist/SelectStatus.js.map +1 -1
- package/dist/SelectStatus.vue.d.ts +12 -13
- package/dist/Skeleton.js.map +1 -1
- package/dist/Skeleton.vue.d.ts +7 -8
- package/dist/Step.js.map +1 -1
- package/dist/Step.vue.d.ts +7 -8
- package/dist/Stepper.js +19 -19
- package/dist/Stepper.js.map +1 -1
- package/dist/Stepper.vue.d.ts +9 -10
- package/dist/Switch.js +25 -25
- package/dist/Switch.js.map +1 -1
- package/dist/Switch.vue.d.ts +11 -12
- package/dist/Tab.js +2 -2
- package/dist/Tab.vue.d.ts +3 -4
- package/dist/{Tab.vue_vue_type_script_setup_true_lang-69d1b046.js → Tab.vue_vue_type_script_setup_true_lang-9aa53203.js} +5 -3
- package/dist/Tab.vue_vue_type_script_setup_true_lang-9aa53203.js.map +1 -0
- package/dist/Table.js +3 -3
- package/dist/Table.js.map +1 -1
- package/dist/{Table.keys-cf93df19.js → Table.keys-83e4f09b.js} +11 -11
- package/dist/{Table.keys-cf93df19.js.map → Table.keys-83e4f09b.js.map} +1 -1
- package/dist/Table.vue.d.ts +6 -7
- package/dist/TableCell.js +1 -1
- package/dist/TableCell.js.map +1 -1
- package/dist/TableCell.vue.d.ts +6 -7
- package/dist/TableHeaderCell.js +12 -12
- package/dist/TableHeaderCell.js.map +1 -1
- package/dist/TableHeaderCell.vue.d.ts +6 -7
- package/dist/TableHeaderRow.js +21 -21
- package/dist/TableHeaderRow.js.map +1 -1
- package/dist/TableHeaderRow.vue.d.ts +8 -9
- package/dist/TableRow.js +42 -42
- package/dist/TableRow.js.map +1 -1
- package/dist/TableRow.vue.d.ts +8 -9
- package/dist/Tabs.js +2 -2
- package/dist/Tabs.vue.d.ts +8 -9
- package/dist/{Tabs.vue_used_vue_type_style_index_0_lang.module-2a131332.js → Tabs.vue_used_vue_type_style_index_0_lang.module-3aa36673.js} +37 -37
- package/dist/Tabs.vue_used_vue_type_style_index_0_lang.module-3aa36673.js.map +1 -0
- package/dist/TextEditor.js +565 -565
- package/dist/TextEditor.js.map +1 -1
- package/dist/TextEditor.vue.d.ts +12 -13
- package/dist/Textarea.js +28 -28
- package/dist/Textarea.js.map +1 -1
- package/dist/Textarea.vue.d.ts +10 -11
- package/dist/Timeline.js.map +1 -1
- package/dist/Timeline.vue.d.ts +6 -7
- package/dist/TimelineItem.js +21 -21
- package/dist/TimelineItem.js.map +1 -1
- package/dist/TimelineItem.vue.d.ts +13 -6
- package/dist/Toast.js +134 -134
- package/dist/Toast.js.map +1 -1
- package/dist/Toast.vue.d.ts +6 -7
- package/dist/Toasts.vue.d.ts +3 -5
- package/dist/components.css +1 -1
- package/dist/index.js.map +1 -1
- package/dist/tailwind-base.js.map +1 -1
- package/dist/usePlaidLink.d.ts +1 -6
- package/dist/useScriptTag.d.ts +3 -8
- package/dist/useStepper.d.ts +7 -2
- package/package.json +1 -1
- package/tailwind-base.ts +13 -6
- package/dist/Expand.vue_vue_type_script_setup_true_lang-1751f4a6.js.map +0 -1
- package/dist/Logo.vue_vue_type_script_setup_true_lang-d7da48a0.js +0 -196
- package/dist/Logo.vue_vue_type_script_setup_true_lang-d7da48a0.js.map +0 -1
- package/dist/Tab.vue_vue_type_script_setup_true_lang-69d1b046.js.map +0 -1
- package/dist/Tabs.vue_used_vue_type_style_index_0_lang.module-2a131332.js.map +0 -1
package/dist/FilterChip.vue.d.ts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { AllowedComponentProps } from 'vue';
|
|
2
|
-
import { ComponentCustomProps } from 'vue';
|
|
3
1
|
import { ComponentOptionsMixin } from 'vue';
|
|
2
|
+
import { ComponentProvideOptions } from 'vue';
|
|
4
3
|
import { DefineComponent } from 'vue';
|
|
5
4
|
import { ExtractPropTypes } from 'vue';
|
|
6
5
|
import { PropType } from 'vue';
|
|
7
|
-
import {
|
|
6
|
+
import { PublicProps } from 'vue';
|
|
8
7
|
|
|
9
8
|
declare type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
10
9
|
|
|
@@ -33,31 +32,31 @@ declare type __VLS_WithTemplateSlots<T, S> = T & {
|
|
|
33
32
|
};
|
|
34
33
|
};
|
|
35
34
|
|
|
36
|
-
declare const _default: __VLS_WithTemplateSlots<DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<FilterChipProps>, {
|
|
35
|
+
declare const _default: __VLS_WithTemplateSlots<DefineComponent<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<FilterChipProps>, {
|
|
37
36
|
filterCount: undefined;
|
|
38
37
|
hasDropdown: boolean;
|
|
39
38
|
isDropdownOpen: boolean;
|
|
40
39
|
isRemovable: boolean;
|
|
41
40
|
isSelected: boolean;
|
|
42
|
-
}
|
|
41
|
+
}>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
43
42
|
click: () => void;
|
|
44
43
|
remove: () => void;
|
|
45
|
-
}, string,
|
|
44
|
+
}, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<FilterChipProps>, {
|
|
46
45
|
filterCount: undefined;
|
|
47
46
|
hasDropdown: boolean;
|
|
48
47
|
isDropdownOpen: boolean;
|
|
49
48
|
isRemovable: boolean;
|
|
50
49
|
isSelected: boolean;
|
|
51
|
-
}>>> & {
|
|
50
|
+
}>>> & Readonly<{
|
|
52
51
|
onClick?: (() => any) | undefined;
|
|
53
52
|
onRemove?: (() => any) | undefined;
|
|
54
|
-
}
|
|
53
|
+
}>, {
|
|
55
54
|
isRemovable: boolean;
|
|
56
55
|
isSelected: boolean;
|
|
57
56
|
filterCount: number;
|
|
58
57
|
hasDropdown: boolean;
|
|
59
58
|
isDropdownOpen: boolean;
|
|
60
|
-
}, {}>, {
|
|
59
|
+
}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>, {
|
|
61
60
|
default?(_: {}): any;
|
|
62
61
|
}>;
|
|
63
62
|
export default _default;
|
package/dist/FilterDrawerItem.js
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import { defineComponent as
|
|
1
|
+
import { defineComponent as C, useSlots as F, inject as k, computed as p, openBlock as t, createElementBlock as l, createBlock as a, resolveDynamicComponent as x, withCtx as w, createElementVNode as s, toDisplayString as n, createCommentVNode as o, normalizeClass as I, unref as c, createTextVNode as g, renderSlot as D } from "vue";
|
|
2
2
|
import { t as u } from "./locale.js";
|
|
3
|
-
import
|
|
4
|
-
import { D as
|
|
5
|
-
import
|
|
3
|
+
import E from "./Chip.js";
|
|
4
|
+
import { D as S } from "./DataViewFilters.keys-c80ffabe.js";
|
|
5
|
+
import N from "./Icon.js";
|
|
6
6
|
import "lodash-es/get";
|
|
7
7
|
import "./utils/colorScheme.js";
|
|
8
8
|
import "./_plugin-vue_export-helper-dad06003.js";
|
|
9
9
|
import "lodash-es/uniqueId";
|
|
10
10
|
import "./index-9e1095ef.js";
|
|
11
11
|
import "./Icon.vue_used_vue_type_style_index_0_lang.module-eb359559.js";
|
|
12
|
-
const
|
|
12
|
+
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
13
|
key: 0,
|
|
14
14
|
class: "tw-text-xs",
|
|
15
15
|
"data-test": "description"
|
|
16
|
-
},
|
|
16
|
+
}, O = {
|
|
17
17
|
key: 0,
|
|
18
18
|
class: "tw-gap-3 tw-p-6"
|
|
19
|
-
},
|
|
19
|
+
}, P = /* @__PURE__ */ C({
|
|
20
20
|
__name: "FilterDrawerItem",
|
|
21
21
|
props: {
|
|
22
22
|
group: {},
|
|
@@ -25,57 +25,57 @@ const N = { class: "stash-filter-drawer-item" }, T = { class: "tw-flex tw-items-
|
|
|
25
25
|
},
|
|
26
26
|
emits: ["navigate"],
|
|
27
27
|
setup(f, { emit: v }) {
|
|
28
|
-
const r = f, _ =
|
|
28
|
+
const r = f, _ = v, h = F(), e = k(S.key);
|
|
29
29
|
if (!(e != null && e.useFiltersInstance))
|
|
30
30
|
throw new Error(
|
|
31
31
|
"FilterDropdown must be used within a <DataViewFilters> that receives an instance of useFilters()."
|
|
32
32
|
);
|
|
33
|
-
const { activeFiltersCounts:
|
|
34
|
-
return (
|
|
35
|
-
(t(),
|
|
33
|
+
const { activeFiltersCounts: b } = e.useFiltersInstance, m = p(() => b.value[r.group]), i = p(() => e.drawerStyle === "cascade");
|
|
34
|
+
return (y, d) => (t(), l("div", T, [
|
|
35
|
+
(t(), a(x(i.value ? "div" : "button"), {
|
|
36
36
|
"data-test": "stash-filter-drawer-item|dynamic-component",
|
|
37
37
|
class: "tw-w-full tw-border-b tw-border-ice-500 tw-py-4 tw-outline-none focus:tw-outline-blue-500",
|
|
38
|
-
onClick: d[0] || (d[0] = (
|
|
38
|
+
onClick: d[0] || (d[0] = (j) => i.value ? void 0 : _("navigate"))
|
|
39
39
|
}, {
|
|
40
40
|
default: w(() => [
|
|
41
|
-
s("div",
|
|
42
|
-
s("div",
|
|
43
|
-
s("h4", null,
|
|
44
|
-
r.description ? (t(),
|
|
41
|
+
s("div", A, [
|
|
42
|
+
s("div", V, [
|
|
43
|
+
s("h4", null, n(r.title), 1),
|
|
44
|
+
r.description ? (t(), l("div", B, n(r.description), 1)) : o("", !0)
|
|
45
45
|
]),
|
|
46
46
|
s("div", {
|
|
47
|
-
class:
|
|
47
|
+
class: I(["tw-inline-flex tw-items-center tw-gap-6", { "tw-mb-0.5 tw-mr-2": i.value }])
|
|
48
48
|
}, [
|
|
49
|
-
m.value ? (t(),
|
|
49
|
+
m.value ? (t(), a(E, {
|
|
50
50
|
key: 0,
|
|
51
51
|
color: "blue",
|
|
52
52
|
radius: "pill",
|
|
53
53
|
shade: "main",
|
|
54
|
-
"aria-label":
|
|
55
|
-
title:
|
|
54
|
+
"aria-label": c(u)("ll.numberOfActiveFilters"),
|
|
55
|
+
title: c(u)("ll.numberOfActiveFilters")
|
|
56
56
|
}, {
|
|
57
57
|
default: w(() => [
|
|
58
|
-
|
|
58
|
+
g(n(m.value), 1)
|
|
59
59
|
]),
|
|
60
60
|
_: 1
|
|
61
61
|
}, 8, ["aria-label", "title"])) : o("", !0),
|
|
62
|
-
i.value ? o("", !0) : (t(),
|
|
62
|
+
i.value ? o("", !0) : (t(), a(N, {
|
|
63
63
|
key: 1,
|
|
64
64
|
name: "chevron-right",
|
|
65
|
-
title:
|
|
65
|
+
title: c(u)("ll.viewFilterGroup")
|
|
66
66
|
}, null, 8, ["title"]))
|
|
67
67
|
], 2)
|
|
68
68
|
])
|
|
69
69
|
]),
|
|
70
70
|
_: 1
|
|
71
71
|
})),
|
|
72
|
-
i.value &&
|
|
73
|
-
|
|
72
|
+
i.value && h.default ? (t(), l("div", O, [
|
|
73
|
+
D(y.$slots, "default")
|
|
74
74
|
])) : o("", !0)
|
|
75
75
|
]));
|
|
76
76
|
}
|
|
77
77
|
});
|
|
78
78
|
export {
|
|
79
|
-
|
|
79
|
+
P as default
|
|
80
80
|
};
|
|
81
81
|
//# 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":["slots","_useSlots","dataViewFiltersUtils","inject","DATA_VIEW_FILTERS_UTILS_INJECTION","activeFiltersCounts","activeCount","computed","
|
|
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { AllowedComponentProps } from 'vue';
|
|
2
|
-
import { ComponentCustomProps } from 'vue';
|
|
3
1
|
import { ComponentOptionsMixin } from 'vue';
|
|
2
|
+
import { ComponentProvideOptions } from 'vue';
|
|
4
3
|
import { DefineComponent } from 'vue';
|
|
5
4
|
import { ExtractPropTypes } from 'vue';
|
|
6
5
|
import { PropType } from 'vue';
|
|
7
|
-
import {
|
|
6
|
+
import { PublicProps } from 'vue';
|
|
8
7
|
|
|
9
8
|
declare type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
10
9
|
|
|
@@ -23,11 +22,11 @@ declare type __VLS_WithTemplateSlots<T, S> = T & {
|
|
|
23
22
|
};
|
|
24
23
|
};
|
|
25
24
|
|
|
26
|
-
declare const _default: __VLS_WithTemplateSlots<DefineComponent<__VLS_TypePropsToRuntimeProps<FilterDrawerItemProps
|
|
25
|
+
declare const _default: __VLS_WithTemplateSlots<DefineComponent<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<FilterDrawerItemProps>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
27
26
|
navigate: () => void;
|
|
28
|
-
}, string,
|
|
27
|
+
}, string, PublicProps, Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<FilterDrawerItemProps>>> & Readonly<{
|
|
29
28
|
onNavigate?: (() => any) | undefined;
|
|
30
|
-
}, {}, {}>, Readonly<FilterDrawerItemSlots
|
|
29
|
+
}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>, Readonly<FilterDrawerItemSlots> & FilterDrawerItemSlots>;
|
|
31
30
|
export default _default;
|
|
32
31
|
|
|
33
32
|
export declare interface FilterDrawerItemEmits {
|
package/dist/FilterDropdown.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import
|
|
1
|
+
import { defineComponent as O, inject as b, ref as y, computed as R, openBlock as u, createBlock as k, withCtx as i, createVNode as w, unref as o, createTextVNode as m, toDisplayString as f, createElementVNode as d, renderSlot as W, Transition as j, createElementBlock as J, createCommentVNode as x } from "vue";
|
|
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";
|
|
@@ -7,9 +7,9 @@ import "lodash-es/uniqueId";
|
|
|
7
7
|
import "./Icon.vue_used_vue_type_style_index_0_lang.module-eb359559.js";
|
|
8
8
|
import "./Paginate.vue_used_vue_type_style_index_0_lang.module-18343da7.js";
|
|
9
9
|
import { D as F } from "./DataView.vue_used_vue_type_style_index_0_lang.module-5c180dba.js";
|
|
10
|
-
import { D as
|
|
11
|
-
import
|
|
12
|
-
import
|
|
10
|
+
import { D as G } from "./DataViewFilters.keys-c80ffabe.js";
|
|
11
|
+
import $ from "./Dropdown.js";
|
|
12
|
+
import q from "./FilterChip.js";
|
|
13
13
|
import "lodash-es/get";
|
|
14
14
|
import "./Button.vue_used_vue_type_style_index_0_lang.module-a9290468.js";
|
|
15
15
|
import "./_plugin-vue_export-helper-dad06003.js";
|
|
@@ -24,10 +24,10 @@ import "./Icon.js";
|
|
|
24
24
|
import "./index-9e1095ef.js";
|
|
25
25
|
import "./Chip.js";
|
|
26
26
|
import "./utils/colorScheme.js";
|
|
27
|
-
const
|
|
27
|
+
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
28
|
key: 0,
|
|
29
29
|
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
|
-
},
|
|
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" }, yt = /* @__PURE__ */ O({
|
|
31
31
|
__name: "FilterDropdown",
|
|
32
32
|
props: {
|
|
33
33
|
label: {},
|
|
@@ -36,44 +36,44 @@ const q = { class: "tw-flex tw-h-full tw-flex-col tw-rounded" }, H = { class: "t
|
|
|
36
36
|
} }
|
|
37
37
|
},
|
|
38
38
|
emits: ["reset", "dismiss"],
|
|
39
|
-
setup(T, { emit:
|
|
40
|
-
const s = T, { isLoading: h } = b(F.key, F.defaults), l = b(
|
|
39
|
+
setup(T, { emit: I }) {
|
|
40
|
+
const s = T, c = I, { isLoading: h } = b(F.key, F.defaults), l = b(G.key);
|
|
41
41
|
if (!(l != null && l.useFiltersInstance))
|
|
42
42
|
throw new Error(
|
|
43
43
|
"FilterDropdown must be used within a <DataViewFilters> that receives an instance of useFilters()."
|
|
44
44
|
);
|
|
45
|
-
const { applyFilters:
|
|
45
|
+
const { applyFilters: E, resetFilterGroup: S, activeFiltersCounts: v, undoWorkingFilters: _ } = l.useFiltersInstance, r = y(), p = R(() => {
|
|
46
46
|
var t;
|
|
47
|
-
return (t =
|
|
47
|
+
return (t = r.value) == null ? void 0 : t.isActive;
|
|
48
48
|
});
|
|
49
|
-
function
|
|
49
|
+
function A() {
|
|
50
50
|
var e;
|
|
51
|
-
const t =
|
|
52
|
-
(e =
|
|
51
|
+
const t = p.value;
|
|
52
|
+
(e = r.value) == null || e.toggle(), t && (_(), c("dismiss"));
|
|
53
53
|
}
|
|
54
|
-
function
|
|
54
|
+
function N() {
|
|
55
55
|
var t;
|
|
56
|
-
|
|
56
|
+
S(s.group), c("reset"), (t = r.value) == null || t.dismiss();
|
|
57
57
|
}
|
|
58
|
-
async function
|
|
58
|
+
async function V() {
|
|
59
59
|
var e, a;
|
|
60
|
-
const { preventDismiss: t } = await ((e = s.onApply) == null ? void 0 : e.call(s)) ||
|
|
61
|
-
t || (a =
|
|
60
|
+
const { preventDismiss: t } = await ((e = s.onApply) == null ? void 0 : e.call(s)) || E() || {};
|
|
61
|
+
t || (a = r.value) == null || a.dismiss();
|
|
62
62
|
}
|
|
63
|
-
function
|
|
64
|
-
_(),
|
|
63
|
+
function B() {
|
|
64
|
+
_(), c("dismiss");
|
|
65
65
|
}
|
|
66
|
-
const n = y(!1), g =
|
|
66
|
+
const n = y(!1), g = z((t) => {
|
|
67
67
|
t.target && (t.target.scrollTop > 0 ? n.value = !0 : n.value = !1);
|
|
68
68
|
}, 500);
|
|
69
|
-
function
|
|
69
|
+
function L() {
|
|
70
70
|
setTimeout(() => {
|
|
71
71
|
n.value = !1;
|
|
72
72
|
}, 2e3);
|
|
73
73
|
}
|
|
74
|
-
return (t, e) => (u(), k(
|
|
74
|
+
return (t, e) => (u(), k($, {
|
|
75
75
|
ref_key: "dropdownRef",
|
|
76
|
-
ref:
|
|
76
|
+
ref: r,
|
|
77
77
|
align: "left",
|
|
78
78
|
class: "stash-filter-dropdown",
|
|
79
79
|
"data-test": "stash-filter-dropdown",
|
|
@@ -81,61 +81,61 @@ const q = { class: "tw-flex tw-h-full tw-flex-col tw-rounded" }, H = { class: "t
|
|
|
81
81
|
"close-manually": "",
|
|
82
82
|
"content-class": "tw-w-full tw-max-w-[600px] tw-h-full tw-max-h-[400px]",
|
|
83
83
|
offset: { y: 6 },
|
|
84
|
-
onDismiss:
|
|
84
|
+
onDismiss: B
|
|
85
85
|
}, {
|
|
86
|
-
toggle:
|
|
87
|
-
w(
|
|
86
|
+
toggle: i(() => [
|
|
87
|
+
w(q, {
|
|
88
88
|
class: "tw-rounded-full",
|
|
89
89
|
"has-dropdown": "",
|
|
90
|
-
"is-dropdown-open":
|
|
90
|
+
"is-dropdown-open": p.value,
|
|
91
91
|
"filter-count": o(v)[s.group],
|
|
92
|
-
"is-selected":
|
|
93
|
-
onClick:
|
|
92
|
+
"is-selected": p.value,
|
|
93
|
+
onClick: A
|
|
94
94
|
}, {
|
|
95
|
-
default:
|
|
96
|
-
f(
|
|
95
|
+
default: i(() => [
|
|
96
|
+
m(f(s.label), 1)
|
|
97
97
|
]),
|
|
98
98
|
_: 1
|
|
99
99
|
}, 8, ["is-dropdown-open", "filter-count", "is-selected"])
|
|
100
100
|
]),
|
|
101
|
-
default:
|
|
102
|
-
d("div",
|
|
103
|
-
d("div",
|
|
101
|
+
default: i(() => [
|
|
102
|
+
d("div", H, [
|
|
103
|
+
d("div", K, [
|
|
104
104
|
d("div", {
|
|
105
105
|
class: "tw-h-full tw-overflow-auto tw-p-6",
|
|
106
106
|
onScroll: e[0] || (e[0] = //@ts-ignore
|
|
107
107
|
(...a) => o(g) && o(g)(...a)),
|
|
108
|
-
onScrollend:
|
|
108
|
+
onScrollend: L
|
|
109
109
|
}, [
|
|
110
|
-
|
|
110
|
+
W(t.$slots, "default")
|
|
111
111
|
], 32),
|
|
112
|
-
w(
|
|
113
|
-
default:
|
|
114
|
-
n.value ? (u(),
|
|
112
|
+
w(j, { name: "fade" }, {
|
|
113
|
+
default: i(() => [
|
|
114
|
+
n.value ? (u(), J("div", M)) : x("", !0)
|
|
115
115
|
]),
|
|
116
116
|
_: 1
|
|
117
117
|
})
|
|
118
118
|
]),
|
|
119
|
-
d("footer",
|
|
119
|
+
d("footer", P, [
|
|
120
120
|
o(v)[s.group] ? (u(), k(D, {
|
|
121
121
|
key: 0,
|
|
122
122
|
secondary: "",
|
|
123
123
|
class: "tw-min-w-[100px]",
|
|
124
124
|
disabled: o(h),
|
|
125
|
-
onClick:
|
|
125
|
+
onClick: N
|
|
126
126
|
}, {
|
|
127
|
-
default:
|
|
128
|
-
f(
|
|
127
|
+
default: i(() => [
|
|
128
|
+
m(f(o(C)("ll.reset")), 1)
|
|
129
129
|
]),
|
|
130
130
|
_: 1
|
|
131
131
|
}, 8, ["disabled"])) : x("", !0),
|
|
132
132
|
w(D, {
|
|
133
133
|
class: "tw-min-w-[100px]",
|
|
134
134
|
disabled: o(h),
|
|
135
|
-
onClick:
|
|
135
|
+
onClick: V
|
|
136
136
|
}, {
|
|
137
|
-
default:
|
|
138
|
-
f(
|
|
137
|
+
default: i(() => [
|
|
138
|
+
m(f(o(C)("ll.apply")), 1)
|
|
139
139
|
]),
|
|
140
140
|
_: 1
|
|
141
141
|
}, 8, ["disabled"])
|
|
@@ -147,6 +147,6 @@ const q = { class: "tw-flex tw-h-full tw-flex-col tw-rounded" }, H = { class: "t
|
|
|
147
147
|
}
|
|
148
148
|
});
|
|
149
149
|
export {
|
|
150
|
-
|
|
150
|
+
yt as default
|
|
151
151
|
};
|
|
152
152
|
//# 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
|
|
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;AAC1C,MAAKA,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { AllowedComponentProps } from 'vue';
|
|
2
|
-
import { ComponentCustomProps } from 'vue';
|
|
3
1
|
import { ComponentOptionsMixin } from 'vue';
|
|
2
|
+
import { ComponentProvideOptions } from 'vue';
|
|
4
3
|
import { DefineComponent } from 'vue';
|
|
5
4
|
import { ExtractPropTypes } from 'vue';
|
|
6
5
|
import { PropType } from 'vue';
|
|
7
|
-
import {
|
|
6
|
+
import { PublicProps } from 'vue';
|
|
8
7
|
|
|
9
8
|
declare type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
10
9
|
|
|
@@ -33,21 +32,21 @@ declare type __VLS_WithTemplateSlots<T, S> = T & {
|
|
|
33
32
|
};
|
|
34
33
|
};
|
|
35
34
|
|
|
36
|
-
declare const _default: __VLS_WithTemplateSlots<DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<FilterDropdownProps>, {
|
|
35
|
+
declare const _default: __VLS_WithTemplateSlots<DefineComponent<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<FilterDropdownProps>, {
|
|
37
36
|
activeFilterCount: number;
|
|
38
37
|
onApply: () => undefined;
|
|
39
|
-
}
|
|
38
|
+
}>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
40
39
|
reset: () => void;
|
|
41
40
|
dismiss: () => void;
|
|
42
|
-
}, string,
|
|
41
|
+
}, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<FilterDropdownProps>, {
|
|
43
42
|
activeFilterCount: number;
|
|
44
43
|
onApply: () => undefined;
|
|
45
|
-
}>>> & {
|
|
44
|
+
}>>> & Readonly<{
|
|
46
45
|
onReset?: (() => any) | undefined;
|
|
47
46
|
onDismiss?: (() => any) | undefined;
|
|
48
|
-
}
|
|
47
|
+
}>, {
|
|
49
48
|
onApply: OnApplyFilters;
|
|
50
|
-
}, {}>, {
|
|
49
|
+
}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>, {
|
|
51
50
|
default?(_: {}): any;
|
|
52
51
|
}>;
|
|
53
52
|
export default _default;
|
package/dist/FilterSelect.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { t as
|
|
3
|
-
import { _ as
|
|
1
|
+
import { defineComponent as $, computed as p, openBlock as r, createBlock as C, withCtx as u, 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
|
+
import { t as N } from "./locale.js";
|
|
3
|
+
import { _ as F } from "./Field.vue_vue_type_script_setup_true_lang-e1e4ff03.js";
|
|
4
4
|
import y from "./FilterChip.js";
|
|
5
5
|
import "lodash-es/get";
|
|
6
6
|
import "lodash-es/uniqueId";
|
|
@@ -11,7 +11,7 @@ import "./Icon.js";
|
|
|
11
11
|
import "./index-9e1095ef.js";
|
|
12
12
|
import "./Icon.vue_used_vue_type_style_index_0_lang.module-eb359559.js";
|
|
13
13
|
import "./_plugin-vue_export-helper-dad06003.js";
|
|
14
|
-
const
|
|
14
|
+
const D = { class: "tw-flex tw-flex-wrap tw-gap-1.5" }, O = ["id"], U = ["for"], I = ["id", "value"], L = ["for"], Y = /* @__PURE__ */ $({
|
|
15
15
|
__name: "FilterSelect",
|
|
16
16
|
props: {
|
|
17
17
|
name: {},
|
|
@@ -21,8 +21,8 @@ const F = { class: "tw-flex tw-flex-wrap tw-gap-1.5" }, D = ["id"], O = ["for"],
|
|
|
21
21
|
canSelectAll: { type: Boolean, default: !1 }
|
|
22
22
|
},
|
|
23
23
|
emits: ["update:modelValue"],
|
|
24
|
-
setup(V, { emit:
|
|
25
|
-
const e = V, o = p({
|
|
24
|
+
setup(V, { emit: g }) {
|
|
25
|
+
const e = V, c = g, o = p({
|
|
26
26
|
get() {
|
|
27
27
|
return e.modelValue;
|
|
28
28
|
},
|
|
@@ -40,23 +40,23 @@ const F = { class: "tw-flex tw-flex-wrap tw-gap-1.5" }, D = ["id"], O = ["for"],
|
|
|
40
40
|
function i(t) {
|
|
41
41
|
return `${e.name}--${t.value}`;
|
|
42
42
|
}
|
|
43
|
-
function
|
|
43
|
+
function w(t) {
|
|
44
44
|
return e.modelValue.includes(t.value);
|
|
45
45
|
}
|
|
46
|
-
function
|
|
46
|
+
function k(t) {
|
|
47
47
|
const a = o.value.filter((l) => l !== t);
|
|
48
48
|
a.length === o.value.length && a.push(t), o.value = a;
|
|
49
49
|
}
|
|
50
|
-
function
|
|
50
|
+
function S() {
|
|
51
51
|
n.value = !n.value;
|
|
52
52
|
}
|
|
53
|
-
return (t, a) => (r(),
|
|
53
|
+
return (t, a) => (r(), C(F, {
|
|
54
54
|
class: "stash-filter-select",
|
|
55
55
|
fieldset: "",
|
|
56
56
|
label: e.label
|
|
57
57
|
}, {
|
|
58
58
|
default: u(() => [
|
|
59
|
-
s("div",
|
|
59
|
+
s("div", D, [
|
|
60
60
|
e.canSelectAll ? (r(), d("div", {
|
|
61
61
|
key: `${e.name}--all`
|
|
62
62
|
}, [
|
|
@@ -67,7 +67,7 @@ const F = { class: "tw-flex tw-flex-wrap tw-gap-1.5" }, D = ["id"], O = ["for"],
|
|
|
67
67
|
tabindex: "-1",
|
|
68
68
|
type: "checkbox",
|
|
69
69
|
value: "all"
|
|
70
|
-
}, null, 8,
|
|
70
|
+
}, null, 8, O), [
|
|
71
71
|
[v, n.value]
|
|
72
72
|
]),
|
|
73
73
|
s("label", {
|
|
@@ -76,16 +76,16 @@ const F = { class: "tw-flex tw-flex-wrap tw-gap-1.5" }, D = ["id"], O = ["for"],
|
|
|
76
76
|
_(y, {
|
|
77
77
|
"is-selected": n.value,
|
|
78
78
|
tabindex: "0",
|
|
79
|
-
onKeypress: h(
|
|
79
|
+
onKeypress: h(S, ["enter"])
|
|
80
80
|
}, {
|
|
81
81
|
default: u(() => [
|
|
82
|
-
b(x(
|
|
82
|
+
b(x(A(N)("ll.all")), 1)
|
|
83
83
|
]),
|
|
84
84
|
_: 1
|
|
85
|
-
}, 8, ["is-selected"
|
|
86
|
-
], 8,
|
|
87
|
-
])) :
|
|
88
|
-
(r(!0), d(
|
|
85
|
+
}, 8, ["is-selected"])
|
|
86
|
+
], 8, U)
|
|
87
|
+
])) : B("", !0),
|
|
88
|
+
(r(!0), d(E, null, K(e.options, (l) => (r(), d("div", {
|
|
89
89
|
key: i(l)
|
|
90
90
|
}, [
|
|
91
91
|
f(s("input", {
|
|
@@ -95,23 +95,23 @@ const F = { class: "tw-flex tw-flex-wrap tw-gap-1.5" }, D = ["id"], O = ["for"],
|
|
|
95
95
|
tabindex: "-1",
|
|
96
96
|
type: "checkbox",
|
|
97
97
|
value: l.value
|
|
98
|
-
}, null, 8,
|
|
98
|
+
}, null, 8, I), [
|
|
99
99
|
[v, o.value]
|
|
100
100
|
]),
|
|
101
101
|
s("label", {
|
|
102
102
|
for: i(l)
|
|
103
103
|
}, [
|
|
104
104
|
_(y, {
|
|
105
|
-
"is-selected":
|
|
105
|
+
"is-selected": w(l),
|
|
106
106
|
tabindex: "0",
|
|
107
|
-
onKeypress: h((m) =>
|
|
107
|
+
onKeypress: h((m) => k(l.value), ["enter"])
|
|
108
108
|
}, {
|
|
109
109
|
default: u(() => [
|
|
110
110
|
b(x(l.label), 1)
|
|
111
111
|
]),
|
|
112
112
|
_: 2
|
|
113
113
|
}, 1032, ["is-selected", "onKeypress"])
|
|
114
|
-
], 8,
|
|
114
|
+
], 8, L)
|
|
115
115
|
]))), 128))
|
|
116
116
|
])
|
|
117
117
|
]),
|
|
@@ -120,6 +120,6 @@ const F = { class: "tw-flex tw-flex-wrap tw-gap-1.5" }, D = ["id"], O = ["for"],
|
|
|
120
120
|
}
|
|
121
121
|
});
|
|
122
122
|
export {
|
|
123
|
-
|
|
123
|
+
Y as default
|
|
124
124
|
};
|
|
125
125
|
//# 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
|
|
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;AACxC,aAAA,GAAGT,EAAM,SAASS,EAAO;AAAA,IAClC;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|