@leaflink/stash 42.5.0 → 42.5.1
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/README.md +24 -3
- package/dist/ActionsDropdown.js +15 -20
- package/dist/ActionsDropdown.js.map +1 -1
- package/dist/AddressSelect.js +34 -45
- package/dist/AddressSelect.js.map +1 -1
- package/dist/Alert.js +11 -13
- package/dist/Alert.js.map +1 -1
- package/dist/AppNavigationItem.js +4 -6
- package/dist/AppNavigationItem.js.map +1 -1
- package/dist/AppTopbar.js +13 -15
- package/dist/AppTopbar.js.map +1 -1
- package/dist/ButtonGroup.js +12 -14
- package/dist/ButtonGroup.js.map +1 -1
- package/dist/CardMedia.js +9 -11
- package/dist/CardMedia.js.map +1 -1
- package/dist/Carousel.js +41 -44
- package/dist/Carousel.js.map +1 -1
- package/dist/Checkbox.js +9 -11
- package/dist/Checkbox.js.map +1 -1
- package/dist/ChevronToggle.js +2 -4
- package/dist/ChevronToggle.js.map +1 -1
- package/dist/Chip.js +4 -6
- package/dist/Chip.js.map +1 -1
- package/dist/ContextSwitcher.js +12 -17
- package/dist/ContextSwitcher.js.map +1 -1
- package/dist/Copy.js +19 -24
- package/dist/Copy.js.map +1 -1
- package/dist/CurrencyInput.js +8 -13
- package/dist/CurrencyInput.js.map +1 -1
- package/dist/DataView.js +48 -59
- package/dist/DataView.js.map +1 -1
- package/dist/DataViewFilters.js +87 -97
- package/dist/DataViewFilters.js.map +1 -1
- package/dist/DataViewSortButton.js +14 -18
- package/dist/DataViewSortButton.js.map +1 -1
- package/dist/DataViewToolbar.js +12 -14
- package/dist/DataViewToolbar.js.map +1 -1
- package/dist/DatePicker.js +8 -18
- package/dist/DatePicker.js.map +1 -1
- package/dist/Dialog.js +6 -9
- package/dist/Dialog.js.map +1 -1
- package/dist/Dropdown.js +15 -20
- package/dist/Dropdown.js.map +1 -1
- package/dist/EmptyState.js +10 -13
- package/dist/EmptyState.js.map +1 -1
- package/dist/Field.js +3 -6
- package/dist/Field.js.map +1 -1
- package/dist/{Field.vue_vue_type_script_setup_true_lang-c864abd3.js → Field.vue_vue_type_script_setup_true_lang-475832fe.js} +2 -2
- package/dist/{Field.vue_vue_type_script_setup_true_lang-c864abd3.js.map → Field.vue_vue_type_script_setup_true_lang-475832fe.js.map} +1 -1
- package/dist/FileUpload.js +27 -30
- package/dist/FileUpload.js.map +1 -1
- package/dist/FilterChip.js +10 -13
- package/dist/FilterChip.js.map +1 -1
- package/dist/FilterDrawerItem.js +5 -8
- package/dist/FilterDrawerItem.js.map +1 -1
- package/dist/FilterDropdown.js +73 -88
- package/dist/FilterDropdown.js.map +1 -1
- package/dist/FilterSelect.js +15 -18
- package/dist/FilterSelect.js.map +1 -1
- package/dist/Filters.js +67 -78
- package/dist/Filters.js.map +1 -1
- package/dist/HttpError.js +4 -7
- package/dist/HttpError.js.map +1 -1
- package/dist/Icon.js +236 -14
- package/dist/Icon.js.map +1 -1
- package/dist/Icon.vue.d.ts +2 -2
- package/dist/Icon.vue_used_vue_type_style_index_0_lang.module-eb359559.js +11 -0
- package/dist/Icon.vue_used_vue_type_style_index_0_lang.module-eb359559.js.map +1 -0
- package/dist/IconLabel.js +4 -6
- package/dist/IconLabel.js.map +1 -1
- package/dist/Illustration.js +6 -8
- package/dist/Illustration.js.map +1 -1
- package/dist/Image.js +39 -49
- package/dist/Image.js.map +1 -1
- package/dist/InlineEdit.js +10 -12
- package/dist/InlineEdit.js.map +1 -1
- package/dist/Input.js +50 -55
- package/dist/Input.js.map +1 -1
- package/dist/InputOptions.js +20 -29
- package/dist/InputOptions.js.map +1 -1
- package/dist/Label.js +1 -4
- package/dist/Label.js.map +1 -1
- package/dist/LicenseChip.js +7 -9
- package/dist/LicenseChip.js.map +1 -1
- package/dist/ListItem.js +11 -13
- package/dist/ListItem.js.map +1 -1
- package/dist/ListView.js +47 -58
- package/dist/ListView.js.map +1 -1
- package/dist/Metric.js +6 -8
- package/dist/Metric.js.map +1 -1
- package/dist/Modal.js +16 -19
- package/dist/Modal.js.map +1 -1
- package/dist/Modals.js +16 -26
- package/dist/Modals.js.map +1 -1
- package/dist/ModalsPlugin.js +12 -22
- package/dist/ModalsPlugin.js.map +1 -1
- package/dist/ObfuscateText.js +7 -9
- package/dist/ObfuscateText.js.map +1 -1
- package/dist/PageNavigation.js +25 -29
- package/dist/PageNavigation.js.map +1 -1
- package/dist/Paginate.js +29 -31
- package/dist/Paginate.js.map +1 -1
- package/dist/QuickAction.js +13 -15
- package/dist/QuickAction.js.map +1 -1
- package/dist/RadioGroup.js +86 -89
- package/dist/RadioGroup.js.map +1 -1
- package/dist/SearchBar.js +18 -20
- package/dist/SearchBar.js.map +1 -1
- package/dist/Select.js +13 -23
- package/dist/Select.js.map +1 -1
- package/dist/SelectStatus.js +26 -36
- package/dist/SelectStatus.js.map +1 -1
- package/dist/Step.js +19 -21
- package/dist/Step.js.map +1 -1
- package/dist/Switch.js +8 -10
- package/dist/Switch.js.map +1 -1
- package/dist/Tab.js +25 -30
- package/dist/Tab.js.map +1 -1
- package/dist/Table.js +19 -21
- package/dist/Table.js.map +1 -1
- package/dist/TableCell.js +21 -22
- package/dist/TableCell.js.map +1 -1
- package/dist/TableHeaderCell.js +4 -4
- package/dist/TableHeaderRow.js +7 -9
- package/dist/TableHeaderRow.js.map +1 -1
- package/dist/TableRow.js +22 -24
- package/dist/TableRow.js.map +1 -1
- package/dist/Tabs.js +11 -16
- package/dist/Tabs.js.map +1 -1
- package/dist/{Tabs.vue_vue_type_script_setup_true_lang-ba383fda.js → Tabs.vue_vue_type_script_setup_true_lang-aca4f8b8.js} +3 -3
- package/dist/{Tabs.vue_vue_type_script_setup_true_lang-ba383fda.js.map → Tabs.vue_vue_type_script_setup_true_lang-aca4f8b8.js.map} +1 -1
- package/dist/Textarea.js +10 -13
- package/dist/Textarea.js.map +1 -1
- package/dist/Toast.js +8 -10
- package/dist/Toast.js.map +1 -1
- package/dist/Toasts.js +14 -25
- package/dist/Toasts.js.map +1 -1
- package/dist/ToastsPlugin.js +14 -25
- package/dist/ToastsPlugin.js.map +1 -1
- package/dist/components.css +1 -1
- package/dist/index.js +53 -62
- package/dist/index.js.map +1 -1
- package/dist/locale.js +12 -15
- package/dist/locale.js.map +1 -1
- package/dist/{searchFuzzy-13c124f8.js → searchFuzzy-74a7de1c.js} +2 -2
- package/dist/{searchFuzzy-13c124f8.js.map → searchFuzzy-74a7de1c.js.map} +1 -1
- package/dist/storage.js +6 -11
- package/dist/storage.js.map +1 -1
- package/dist/tooltip.js +21 -26
- package/dist/tooltip.js.map +1 -1
- package/dist/useGoogleMaps.js +91 -226
- package/dist/useGoogleMaps.js.map +1 -1
- package/dist/useModals.js +21 -31
- package/dist/useModals.js.map +1 -1
- package/dist/useSearch.js +17 -22
- package/dist/useSearch.js.map +1 -1
- package/dist/useToasts.js +25 -36
- package/dist/useToasts.js.map +1 -1
- package/dist/useValidation.js +79 -108
- package/dist/useValidation.js.map +1 -1
- package/dist/utils/calculateElementOverflow.js +9 -14
- package/dist/utils/calculateElementOverflow.js.map +1 -1
- package/dist/utils/createQueryString.js +9 -15
- package/dist/utils/createQueryString.js.map +1 -1
- package/dist/utils/helpers.js +46 -59
- package/dist/utils/helpers.js.map +1 -1
- package/dist/utils/i18n.js +17 -20
- package/dist/utils/i18n.js.map +1 -1
- package/dist/utils/searchFuzzy.js +7 -12
- package/dist/utils/searchFuzzy.js.map +1 -1
- package/dist/utils/storage.js +10 -15
- package/dist/utils/storage.js.map +1 -1
- package/dist/viewable.js +26 -34
- package/dist/viewable.js.map +1 -1
- package/package.json +2 -4
- package/dist/Icon.vue_used_vue_type_style_index_0_lang.module-d2507af3.js +0 -243
- package/dist/Icon.vue_used_vue_type_style_index_0_lang.module-d2507af3.js.map +0 -1
- package/dist/_MapCache-65811284.js +0 -188
- package/dist/_MapCache-65811284.js.map +0 -1
- package/dist/_Uint8Array-06e4d083.js +0 -66
- package/dist/_Uint8Array-06e4d083.js.map +0 -1
- package/dist/_baseAssignValue-dd1499b4.js +0 -22
- package/dist/_baseAssignValue-dd1499b4.js.map +0 -1
- package/dist/_baseIsEqual-d594c87f.js +0 -171
- package/dist/_baseIsEqual-d594c87f.js.map +0 -1
- package/dist/_createCompounder-ae01a723.js +0 -245
- package/dist/_createCompounder-ae01a723.js.map +0 -1
- package/dist/_getAllKeys-5e735d41.js +0 -44
- package/dist/_getAllKeys-5e735d41.js.map +0 -1
- package/dist/_getPrototype-3e6fccd6.js +0 -7
- package/dist/_getPrototype-3e6fccd6.js.map +0 -1
- package/dist/_getTag-4db47fa6.js +0 -47
- package/dist/_getTag-4db47fa6.js.map +0 -1
- package/dist/_initCloneObject-161353b9.js +0 -88
- package/dist/_initCloneObject-161353b9.js.map +0 -1
- package/dist/_overArg-6d920d99.js +0 -9
- package/dist/_overArg-6d920d99.js.map +0 -1
- package/dist/capitalize-667d9f60.js +0 -42
- package/dist/capitalize-667d9f60.js.map +0 -1
- package/dist/cloneDeep-5bc375b0.js +0 -146
- package/dist/cloneDeep-5bc375b0.js.map +0 -1
- package/dist/debounce-6aca1ca9.js +0 -86
- package/dist/debounce-6aca1ca9.js.map +0 -1
- package/dist/get-27d90892.js +0 -66
- package/dist/get-27d90892.js.map +0 -1
- package/dist/identity-452d03fd.js +0 -20
- package/dist/identity-452d03fd.js.map +0 -1
- package/dist/isArrayLike-09233e52.js +0 -61
- package/dist/isArrayLike-09233e52.js.map +0 -1
- package/dist/isEmpty-2fbad344.js +0 -23
- package/dist/isEmpty-2fbad344.js.map +0 -1
- package/dist/isEqual-fca467fb.js +0 -8
- package/dist/isEqual-fca467fb.js.map +0 -1
- package/dist/isObjectLike-54341556.js +0 -39
- package/dist/isObjectLike-54341556.js.map +0 -1
- package/dist/isPlainObject-55c7f916.js +0 -16
- package/dist/isPlainObject-55c7f916.js.map +0 -1
- package/dist/merge-b14fad9d.js +0 -124
- package/dist/merge-b14fad9d.js.map +0 -1
- package/dist/toString-7d5bf363.js +0 -29
- package/dist/toString-7d5bf363.js.map +0 -1
- package/dist/uniqueId-847efe53.js +0 -10
- package/dist/uniqueId-847efe53.js.map +0 -1
package/dist/ButtonGroup.js
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { defineComponent as m, computed as r, ref as b, openBlock as n, createElementBlock as s, normalizeClass as p, Fragment as g, renderList as $, withModifiers as y, toDisplayString as B } from "vue";
|
|
2
|
-
import
|
|
2
|
+
import h from "lodash-es/uniqueId";
|
|
3
3
|
import { _ as k } from "./_plugin-vue_export-helper-dad06003.js";
|
|
4
|
-
import "./toString-7d5bf363.js";
|
|
5
|
-
import "./isObjectLike-54341556.js";
|
|
6
4
|
const C = ["data-test"], G = ["data-test", "disabled", "onClick"], w = {
|
|
7
5
|
name: "ll-button-group"
|
|
8
6
|
}, D = /* @__PURE__ */ m({
|
|
@@ -18,10 +16,10 @@ const C = ["data-test"], G = ["data-test", "disabled", "onClick"], w = {
|
|
|
18
16
|
setup(v, { emit: _ }) {
|
|
19
17
|
const e = v, u = r(() => e.options.length === 1), i = r(() => e.allowDeactivate || u.value), a = b(e.options.find((t) => t.active) || null);
|
|
20
18
|
function f(t) {
|
|
21
|
-
var
|
|
22
|
-
i.value && ((
|
|
19
|
+
var o;
|
|
20
|
+
i.value && ((o = a.value) == null ? void 0 : o.id) === t.id ? a.value = null : a.value = t, _("input", a.value);
|
|
23
21
|
}
|
|
24
|
-
return (t,
|
|
22
|
+
return (t, o) => (n(), s("div", {
|
|
25
23
|
class: p([
|
|
26
24
|
"flex",
|
|
27
25
|
t.$style.buttonGroup,
|
|
@@ -31,16 +29,16 @@ const C = ["data-test"], G = ["data-test", "disabled", "onClick"], w = {
|
|
|
31
29
|
]),
|
|
32
30
|
"data-test": `button-group-${t.$props.groupName}`
|
|
33
31
|
}, [
|
|
34
|
-
(n(!0), s(g, null, $(e.options, (
|
|
32
|
+
(n(!0), s(g, null, $(e.options, (l) => {
|
|
35
33
|
var c, d;
|
|
36
34
|
return n(), s("button", {
|
|
37
|
-
key: `${e.groupName}-${
|
|
38
|
-
class: p([t.$style.button, { [t.$style.active]: ((c = a.value) == null ? void 0 : c.id) ===
|
|
39
|
-
"data-test": `${e.groupName}-button-${((d = a.value) == null ? void 0 : d.id) ===
|
|
35
|
+
key: `${e.groupName}-${l.id}`,
|
|
36
|
+
class: p([t.$style.button, { [t.$style.active]: ((c = a.value) == null ? void 0 : c.id) === l.id }]),
|
|
37
|
+
"data-test": `${e.groupName}-button-${((d = a.value) == null ? void 0 : d.id) === l.id ? "active" : "inactive"}`,
|
|
40
38
|
tabindex: 0,
|
|
41
39
|
disabled: e.disabled,
|
|
42
|
-
onClick: y((E) => f(
|
|
43
|
-
}, B(
|
|
40
|
+
onClick: y((E) => f(l), ["prevent"])
|
|
41
|
+
}, B(l.text), 11, G);
|
|
44
42
|
}), 128))
|
|
45
43
|
], 10, C));
|
|
46
44
|
}
|
|
@@ -52,8 +50,8 @@ const C = ["data-test"], G = ["data-test", "disabled", "onClick"], w = {
|
|
|
52
50
|
"can-deactivate": "_can-deactivate_15lt7_215"
|
|
53
51
|
}, z = {
|
|
54
52
|
$style: q
|
|
55
|
-
},
|
|
53
|
+
}, j = /* @__PURE__ */ k(D, [["__cssModules", z]]);
|
|
56
54
|
export {
|
|
57
|
-
|
|
55
|
+
j as default
|
|
58
56
|
};
|
|
59
57
|
//# sourceMappingURL=ButtonGroup.js.map
|
package/dist/ButtonGroup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonGroup.js","sources":["../src/components/ButtonGroup/ButtonGroup.vue"],"sourcesContent":["<script lang=\"ts\">\n /**\n * @deprecated use RadioGroup instead with `variant=\"button\"`.\n * RadioGroup uses pretty much the same API as the ButtonGroup,\n * but every button is a radio element which makes more sense semantically.\n */\n export default {\n name: 'll-button-group',\n };\n</script>\n\n<script lang=\"ts\" setup>\n import uniqueId from 'lodash-es/uniqueId';\n import { computed, ref } from 'vue';\n\n export interface ButtonGroupOption {\n id: string;\n active?: boolean;\n text: string;\n }\n\n export interface ButtonGroupProps {\n /**\n * A name for the group, useful when multiple ButtonGroups exist on the page\n */\n groupName?: string;\n\n /**\n * The list of buttons to render\n */\n options: ButtonGroupOption[];\n\n /**\n * Whether the group should expand to the parent's width\n */\n fullWidth?: boolean;\n\n /**\n * Whether the entire group should be disabled\n */\n disabled?: boolean;\n\n /**\n * Whether the active button can be deactivated\n */\n allowDeactivate?: boolean;\n }\n\n const props = withDefaults(defineProps<ButtonGroupProps>(), {\n groupName: uniqueId(),\n fullWidth: false,\n disabled: false,\n allowDeactivate: false,\n });\n\n const emit =\n defineEmits<{\n (e: 'input', activeButton: ButtonGroupOption | null): void;\n }>();\n\n const isSingleButton = computed(() => props.options.length === 1);\n\n const canDeactivate = computed(() => props.allowDeactivate || isSingleButton.value);\n\n const activeButton = ref(props.options.find((o) => o.active) || null);\n\n function onClick(clickedOption: ButtonGroupOption) {\n if (canDeactivate.value && activeButton.value?.id === clickedOption.id) {\n activeButton.value = null;\n } else {\n activeButton.value = clickedOption;\n }\n\n emit('input', activeButton.value);\n }\n</script>\n\n<template>\n <div\n :class=\"[\n 'flex',\n $style.buttonGroup,\n { 'w-full': props.fullWidth },\n { [$style.single]: isSingleButton },\n { [$style['can-deactivate']]: canDeactivate },\n ]\"\n :data-test=\"`button-group-${$props.groupName}`\"\n >\n <button\n v-for=\"option in props.options\"\n :key=\"`${props.groupName}-${option.id}`\"\n :class=\"[$style.button, { [$style.active]: activeButton?.id === option.id }]\"\n :data-test=\"`${props.groupName}-button-${activeButton?.id === option.id ? 'active' : 'inactive'}`\"\n :tabindex=\"0\"\n :disabled=\"props.disabled\"\n @click.prevent=\"onClick(option)\"\n >\n {{ option.text }}\n </button>\n </div>\n</template>\n\n<style lang=\"scss\" module>\n // full width buttons\n .buttonGroup:global(.w-full) > button {\n flex: 1 1 50%;\n max-width: 100%;\n }\n\n .button {\n border: 1px solid var(--color-ice);\n border-radius: 0;\n font-weight: var(--font-weight-semibold);\n line-height: var(--line-height-body);\n min-width: 100px;\n padding: 7px 8px;\n }\n\n .single .button {\n border: 1px solid var(--color-ice-700);\n color: var(--color-ice-700);\n }\n\n .button:focus,\n .button:hover {\n border: 1px solid var(--color-blue) !important;\n color: var(--color-blue);\n z-index: 1;\n }\n\n .button.active {\n background-color: var(--color-blue-100);\n border: 1px solid var(--color-blue) !important;\n color: var(--color-blue);\n cursor: default;\n z-index: 1;\n }\n\n .button.active + button {\n border-left: 1px solid transparent;\n }\n\n .single .button.active,\n .can-deactivate .button.active {\n cursor: pointer;\n }\n\n .button[disabled] {\n color: var(--color-ice);\n cursor: default;\n pointer-events: none;\n }\n\n .button:focus {\n box-shadow: none;\n outline: 0;\n }\n\n .button:not(:first-child) {\n margin-left: -1px;\n }\n\n .button:not(:last-child) {\n border-right: 1px solid transparent;\n }\n\n .button:first-child {\n border-bottom-left-radius: var(--border-radius);\n border-top-left-radius: var(--border-radius);\n }\n\n .button:last-child {\n border-bottom-right-radius: var(--border-radius);\n border-top-right-radius: var(--border-radius);\n }\n</style>\n"],"names":["isSingleButton","computed","props","canDeactivate","activeButton","ref","o","onClick","clickedOption","_a","emit"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ButtonGroup.js","sources":["../src/components/ButtonGroup/ButtonGroup.vue"],"sourcesContent":["<script lang=\"ts\">\n /**\n * @deprecated use RadioGroup instead with `variant=\"button\"`.\n * RadioGroup uses pretty much the same API as the ButtonGroup,\n * but every button is a radio element which makes more sense semantically.\n */\n export default {\n name: 'll-button-group',\n };\n</script>\n\n<script lang=\"ts\" setup>\n import uniqueId from 'lodash-es/uniqueId';\n import { computed, ref } from 'vue';\n\n export interface ButtonGroupOption {\n id: string;\n active?: boolean;\n text: string;\n }\n\n export interface ButtonGroupProps {\n /**\n * A name for the group, useful when multiple ButtonGroups exist on the page\n */\n groupName?: string;\n\n /**\n * The list of buttons to render\n */\n options: ButtonGroupOption[];\n\n /**\n * Whether the group should expand to the parent's width\n */\n fullWidth?: boolean;\n\n /**\n * Whether the entire group should be disabled\n */\n disabled?: boolean;\n\n /**\n * Whether the active button can be deactivated\n */\n allowDeactivate?: boolean;\n }\n\n const props = withDefaults(defineProps<ButtonGroupProps>(), {\n groupName: uniqueId(),\n fullWidth: false,\n disabled: false,\n allowDeactivate: false,\n });\n\n const emit =\n defineEmits<{\n (e: 'input', activeButton: ButtonGroupOption | null): void;\n }>();\n\n const isSingleButton = computed(() => props.options.length === 1);\n\n const canDeactivate = computed(() => props.allowDeactivate || isSingleButton.value);\n\n const activeButton = ref(props.options.find((o) => o.active) || null);\n\n function onClick(clickedOption: ButtonGroupOption) {\n if (canDeactivate.value && activeButton.value?.id === clickedOption.id) {\n activeButton.value = null;\n } else {\n activeButton.value = clickedOption;\n }\n\n emit('input', activeButton.value);\n }\n</script>\n\n<template>\n <div\n :class=\"[\n 'flex',\n $style.buttonGroup,\n { 'w-full': props.fullWidth },\n { [$style.single]: isSingleButton },\n { [$style['can-deactivate']]: canDeactivate },\n ]\"\n :data-test=\"`button-group-${$props.groupName}`\"\n >\n <button\n v-for=\"option in props.options\"\n :key=\"`${props.groupName}-${option.id}`\"\n :class=\"[$style.button, { [$style.active]: activeButton?.id === option.id }]\"\n :data-test=\"`${props.groupName}-button-${activeButton?.id === option.id ? 'active' : 'inactive'}`\"\n :tabindex=\"0\"\n :disabled=\"props.disabled\"\n @click.prevent=\"onClick(option)\"\n >\n {{ option.text }}\n </button>\n </div>\n</template>\n\n<style lang=\"scss\" module>\n // full width buttons\n .buttonGroup:global(.w-full) > button {\n flex: 1 1 50%;\n max-width: 100%;\n }\n\n .button {\n border: 1px solid var(--color-ice);\n border-radius: 0;\n font-weight: var(--font-weight-semibold);\n line-height: var(--line-height-body);\n min-width: 100px;\n padding: 7px 8px;\n }\n\n .single .button {\n border: 1px solid var(--color-ice-700);\n color: var(--color-ice-700);\n }\n\n .button:focus,\n .button:hover {\n border: 1px solid var(--color-blue) !important;\n color: var(--color-blue);\n z-index: 1;\n }\n\n .button.active {\n background-color: var(--color-blue-100);\n border: 1px solid var(--color-blue) !important;\n color: var(--color-blue);\n cursor: default;\n z-index: 1;\n }\n\n .button.active + button {\n border-left: 1px solid transparent;\n }\n\n .single .button.active,\n .can-deactivate .button.active {\n cursor: pointer;\n }\n\n .button[disabled] {\n color: var(--color-ice);\n cursor: default;\n pointer-events: none;\n }\n\n .button:focus {\n box-shadow: none;\n outline: 0;\n }\n\n .button:not(:first-child) {\n margin-left: -1px;\n }\n\n .button:not(:last-child) {\n border-right: 1px solid transparent;\n }\n\n .button:first-child {\n border-bottom-left-radius: var(--border-radius);\n border-top-left-radius: var(--border-radius);\n }\n\n .button:last-child {\n border-bottom-right-radius: var(--border-radius);\n border-top-right-radius: var(--border-radius);\n }\n</style>\n"],"names":["isSingleButton","computed","props","canDeactivate","activeButton","ref","o","onClick","clickedOption","_a","emit"],"mappings":";;;uEAMiB;AAAA,EACb,MAAM;AACR;;;;;;;;;;;iBAoDMA,IAAiBC,EAAS,MAAMC,EAAM,QAAQ,WAAW,CAAC,GAE1DC,IAAgBF,EAAS,MAAMC,EAAM,mBAAmBF,EAAe,KAAK,GAE5EI,IAAeC,EAAIH,EAAM,QAAQ,KAAK,CAACI,MAAMA,EAAE,MAAM,KAAK,IAAI;AAEpE,aAASC,EAAQC,GAAkC;;AACjD,MAAIL,EAAc,WAASM,IAAAL,EAAa,UAAb,gBAAAK,EAAoB,QAAOD,EAAc,KAClEJ,EAAa,QAAQ,OAErBA,EAAa,QAAQI,GAGlBE,EAAA,SAASN,EAAa,KAAK;AAAA,IAClC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/CardMedia.js
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import { defineComponent as m, ref as a, useCssModule as u, openBlock as l, createElementBlock as c, normalizeClass as n, unref as
|
|
1
|
+
import { defineComponent as m, ref as a, useCssModule as u, openBlock as l, createElementBlock as c, normalizeClass as n, unref as d, createVNode as p, createCommentVNode as _, createElementVNode as f } from "vue";
|
|
2
2
|
import w from "./Icon.js";
|
|
3
3
|
import { _ as z } from "./_plugin-vue_export-helper-dad06003.js";
|
|
4
|
-
import "
|
|
5
|
-
import "./uniqueId-847efe53.js";
|
|
6
|
-
import "./toString-7d5bf363.js";
|
|
7
|
-
import "./isObjectLike-54341556.js";
|
|
4
|
+
import "lodash-es/uniqueId";
|
|
8
5
|
import "./index-79ce320f.js";
|
|
6
|
+
import "./Icon.vue_used_vue_type_style_index_0_lang.module-eb359559.js";
|
|
9
7
|
const h = {
|
|
10
8
|
class: "stash-card-media",
|
|
11
9
|
"data-test": "stash-card-media"
|
|
@@ -15,16 +13,16 @@ const h = {
|
|
|
15
13
|
src: {},
|
|
16
14
|
alt: {}
|
|
17
15
|
},
|
|
18
|
-
setup(
|
|
19
|
-
const t =
|
|
16
|
+
setup(i) {
|
|
17
|
+
const t = i, s = a(!0), o = a(!1), r = u();
|
|
20
18
|
return (E, e) => (l(), c("div", h, [
|
|
21
19
|
s.value || o.value ? (l(), c("div", {
|
|
22
20
|
key: 0,
|
|
23
|
-
class: n([
|
|
21
|
+
class: n([d(r).placeholder, "tw-bg-ice-200 tw-flex tw-items-center tw-justify-center tw-rounded-t tw-w-full"])
|
|
24
22
|
}, [
|
|
25
23
|
p(w, {
|
|
26
24
|
name: "image",
|
|
27
|
-
class: n(
|
|
25
|
+
class: n(d(r).iconSize)
|
|
28
26
|
}, null, 8, ["class"])
|
|
29
27
|
], 2)) : _("", !0),
|
|
30
28
|
f("img", {
|
|
@@ -41,8 +39,8 @@ const h = {
|
|
|
41
39
|
iconSize: g
|
|
42
40
|
}, y = {
|
|
43
41
|
$style: x
|
|
44
|
-
},
|
|
42
|
+
}, b = /* @__PURE__ */ z(C, [["__cssModules", y]]);
|
|
45
43
|
export {
|
|
46
|
-
|
|
44
|
+
b as default
|
|
47
45
|
};
|
|
48
46
|
//# sourceMappingURL=CardMedia.js.map
|
package/dist/CardMedia.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardMedia.js","sources":["../src/components/CardMedia/CardMedia.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { ref, useCssModule } from 'vue';\n\n import Icon from '../Icon/Icon.vue';\n\n export interface CardMediaProps {\n /**\n * The image source.\n */\n src: string;\n /**\n * The image alternative text.\n */\n alt?: string;\n }\n\n const isLoading = ref(true);\n\n const hasErrored = ref(false);\n\n const props = defineProps<CardMediaProps>();\n\n const classes = useCssModule();\n</script>\n\n<template>\n <div class=\"stash-card-media\" data-test=\"stash-card-media\">\n <div\n v-if=\"isLoading || hasErrored\"\n :class=\"classes.placeholder\"\n class=\"tw-bg-ice-200 tw-flex tw-items-center tw-justify-center tw-rounded-t tw-w-full\"\n >\n <Icon name=\"image\" :class=\"classes.iconSize\" />\n </div>\n <img\n :src=\"props.src\"\n class=\"tw-w-full tw-rounded-t\"\n :alt=\"props.alt\"\n @load=\"() => (isLoading = false)\"\n @error=\"() => (hasErrored = true)\"\n />\n </div>\n</template>\n\n<style module>\n .placeholder {\n height: 300px;\n width: 100%;\n }\n\n .iconSize {\n width: 189px;\n height: 189px;\n }\n</style>\n"],"names":["isLoading","ref","hasErrored","classes","useCssModule"],"mappings":"
|
|
1
|
+
{"version":3,"file":"CardMedia.js","sources":["../src/components/CardMedia/CardMedia.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { ref, useCssModule } from 'vue';\n\n import Icon from '../Icon/Icon.vue';\n\n export interface CardMediaProps {\n /**\n * The image source.\n */\n src: string;\n /**\n * The image alternative text.\n */\n alt?: string;\n }\n\n const isLoading = ref(true);\n\n const hasErrored = ref(false);\n\n const props = defineProps<CardMediaProps>();\n\n const classes = useCssModule();\n</script>\n\n<template>\n <div class=\"stash-card-media\" data-test=\"stash-card-media\">\n <div\n v-if=\"isLoading || hasErrored\"\n :class=\"classes.placeholder\"\n class=\"tw-bg-ice-200 tw-flex tw-items-center tw-justify-center tw-rounded-t tw-w-full\"\n >\n <Icon name=\"image\" :class=\"classes.iconSize\" />\n </div>\n <img\n :src=\"props.src\"\n class=\"tw-w-full tw-rounded-t\"\n :alt=\"props.alt\"\n @load=\"() => (isLoading = false)\"\n @error=\"() => (hasErrored = true)\"\n />\n </div>\n</template>\n\n<style module>\n .placeholder {\n height: 300px;\n width: 100%;\n }\n\n .iconSize {\n width: 189px;\n height: 189px;\n }\n</style>\n"],"names":["isLoading","ref","hasErrored","classes","useCssModule"],"mappings":";;;;;;;;;;;;;;;;iBAgBQA,IAAYC,EAAI,EAAI,GAEpBC,IAAaD,EAAI,EAAK,GAItBE,IAAUC;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/Carousel.js
CHANGED
|
@@ -1,16 +1,13 @@
|
|
|
1
1
|
import { defineComponent as Y, inject as b, reactive as M, ref as d, h as S, provide as A, onMounted as Me, nextTick as Ie, onUnmounted as Ee, computed as xe, watch as ae, cloneVNode as _e, Fragment as P, useAttrs as je, openBlock as x, createElementBlock as C, createVNode as De, unref as _, mergeProps as Be, withCtx as oe, createBlock as ke, createCommentVNode as Re, renderList as le, renderSlot as Pe, createElementVNode as Ae, normalizeClass as H } from "vue";
|
|
2
2
|
import { t as E } from "./locale.js";
|
|
3
3
|
import { _ as Ve } from "./_plugin-vue_export-helper-dad06003.js";
|
|
4
|
-
import "
|
|
5
|
-
import "./isObjectLike-54341556.js";
|
|
6
|
-
import "./toString-7d5bf363.js";
|
|
7
|
-
import "./_MapCache-65811284.js";
|
|
4
|
+
import "lodash-es/get";
|
|
8
5
|
/**
|
|
9
6
|
* Vue 3 Carousel 0.3.1
|
|
10
7
|
* (c) 2023
|
|
11
8
|
* @license MIT
|
|
12
9
|
*/
|
|
13
|
-
const
|
|
10
|
+
const p = {
|
|
14
11
|
itemsToShow: 1,
|
|
15
12
|
itemsToScroll: 1,
|
|
16
13
|
modelValue: 0,
|
|
@@ -38,49 +35,49 @@ const f = {
|
|
|
38
35
|
}, Te = {
|
|
39
36
|
// count of items to showed per view
|
|
40
37
|
itemsToShow: {
|
|
41
|
-
default:
|
|
38
|
+
default: p.itemsToShow,
|
|
42
39
|
type: Number
|
|
43
40
|
},
|
|
44
41
|
// count of items to be scrolled
|
|
45
42
|
itemsToScroll: {
|
|
46
|
-
default:
|
|
43
|
+
default: p.itemsToScroll,
|
|
47
44
|
type: Number
|
|
48
45
|
},
|
|
49
46
|
// control infinite scrolling mode
|
|
50
47
|
wrapAround: {
|
|
51
|
-
default:
|
|
48
|
+
default: p.wrapAround,
|
|
52
49
|
type: Boolean
|
|
53
50
|
},
|
|
54
51
|
// control max drag
|
|
55
52
|
throttle: {
|
|
56
|
-
default:
|
|
53
|
+
default: p.throttle,
|
|
57
54
|
type: Number
|
|
58
55
|
},
|
|
59
56
|
// control snap position alignment
|
|
60
57
|
snapAlign: {
|
|
61
|
-
default:
|
|
58
|
+
default: p.snapAlign,
|
|
62
59
|
validator(t) {
|
|
63
60
|
return ["start", "end", "center", "center-even", "center-odd"].includes(t);
|
|
64
61
|
}
|
|
65
62
|
},
|
|
66
63
|
// sliding transition time in ms
|
|
67
64
|
transition: {
|
|
68
|
-
default:
|
|
65
|
+
default: p.transition,
|
|
69
66
|
type: Number
|
|
70
67
|
},
|
|
71
68
|
// an object to store breakpoints
|
|
72
69
|
breakpoints: {
|
|
73
|
-
default:
|
|
70
|
+
default: p.breakpoints,
|
|
74
71
|
type: Object
|
|
75
72
|
},
|
|
76
73
|
// time to auto advance slides in ms
|
|
77
74
|
autoplay: {
|
|
78
|
-
default:
|
|
75
|
+
default: p.autoplay,
|
|
79
76
|
type: Number
|
|
80
77
|
},
|
|
81
78
|
// pause autoplay when mouse hover over the carousel
|
|
82
79
|
pauseAutoplayOnHover: {
|
|
83
|
-
default:
|
|
80
|
+
default: p.pauseAutoplayOnHover,
|
|
84
81
|
type: Boolean
|
|
85
82
|
},
|
|
86
83
|
// slide number number of initial slide
|
|
@@ -90,24 +87,24 @@ const f = {
|
|
|
90
87
|
},
|
|
91
88
|
// toggle mouse dragging.
|
|
92
89
|
mouseDrag: {
|
|
93
|
-
default:
|
|
90
|
+
default: p.mouseDrag,
|
|
94
91
|
type: Boolean
|
|
95
92
|
},
|
|
96
93
|
// toggle mouse dragging.
|
|
97
94
|
touchDrag: {
|
|
98
|
-
default:
|
|
95
|
+
default: p.touchDrag,
|
|
99
96
|
type: Boolean
|
|
100
97
|
},
|
|
101
98
|
// control snap position alignment
|
|
102
99
|
dir: {
|
|
103
|
-
default:
|
|
100
|
+
default: p.dir,
|
|
104
101
|
validator(t) {
|
|
105
102
|
return ["rtl", "ltr"].includes(t);
|
|
106
103
|
}
|
|
107
104
|
},
|
|
108
105
|
// aria-labels and additional text labels
|
|
109
106
|
i18n: {
|
|
110
|
-
default:
|
|
107
|
+
default: p.i18n,
|
|
111
108
|
type: Object
|
|
112
109
|
},
|
|
113
110
|
// an object to pass all settings
|
|
@@ -222,7 +219,7 @@ function Ye(t = "", n = {}) {
|
|
|
222
219
|
var We = Y({
|
|
223
220
|
name: "ARIA",
|
|
224
221
|
setup() {
|
|
225
|
-
const t = b("config", M(Object.assign({},
|
|
222
|
+
const t = b("config", M(Object.assign({}, p))), n = b("currentSlide", d(0)), e = b("slidesCount", d(0));
|
|
226
223
|
return () => S("div", {
|
|
227
224
|
class: ["carousel__liveregion", "carousel__sr-only"],
|
|
228
225
|
"aria-live": "polite",
|
|
@@ -237,8 +234,8 @@ var We = Y({
|
|
|
237
234
|
props: Te,
|
|
238
235
|
setup(t, { slots: n, emit: e, expose: l }) {
|
|
239
236
|
var s;
|
|
240
|
-
const r = d(null), c = d([]), h = d(0), v = d(0), o = M(Object.assign({},
|
|
241
|
-
let u = Object.assign({},
|
|
237
|
+
const r = d(null), c = d([]), h = d(0), v = d(0), o = M(Object.assign({}, p));
|
|
238
|
+
let u = Object.assign({}, p), w;
|
|
242
239
|
const i = d((s = t.modelValue) !== null && s !== void 0 ? s : 0), g = d(0), j = d(0), T = d(0), D = d(0);
|
|
243
240
|
let I, W;
|
|
244
241
|
A("config", o), A("slidesCount", v), A("currentSlide", i), A("maxSlide", T), A("minSlide", D), A("slideWidth", h);
|
|
@@ -248,15 +245,15 @@ var We = Y({
|
|
|
248
245
|
function V() {
|
|
249
246
|
if (!w || !Object.keys(w).length)
|
|
250
247
|
return;
|
|
251
|
-
const a = Object.keys(w).map((
|
|
248
|
+
const a = Object.keys(w).map((f) => Number(f)).sort((f, k) => +k - +f);
|
|
252
249
|
let m = Object.assign({}, u);
|
|
253
|
-
a.some((
|
|
254
|
-
const k = window.matchMedia(`(min-width: ${
|
|
255
|
-
return k && (m = Object.assign(Object.assign({}, m), w[
|
|
250
|
+
a.some((f) => {
|
|
251
|
+
const k = window.matchMedia(`(min-width: ${f}px)`).matches;
|
|
252
|
+
return k && (m = Object.assign(Object.assign({}, m), w[f])), k;
|
|
256
253
|
}), ce(m);
|
|
257
254
|
}
|
|
258
255
|
function ce(a) {
|
|
259
|
-
Object.entries(a).forEach(([m,
|
|
256
|
+
Object.entries(a).forEach(([m, f]) => o[m] = f);
|
|
260
257
|
}
|
|
261
258
|
const de = He(() => {
|
|
262
259
|
V(), B();
|
|
@@ -288,22 +285,22 @@ var We = Y({
|
|
|
288
285
|
X.value = !1;
|
|
289
286
|
};
|
|
290
287
|
function ve(a) {
|
|
291
|
-
["INPUT", "TEXTAREA", "SELECT"].includes(a.target.tagName) || (y = a.type === "touchstart", y || a.preventDefault(), !(!y && a.button !== 0 || O.value) && ($.x = y ? a.touches[0].clientX : a.clientX, $.y = y ? a.touches[0].clientY : a.clientY, document.addEventListener(y ? "touchmove" : "mousemove",
|
|
288
|
+
["INPUT", "TEXTAREA", "SELECT"].includes(a.target.tagName) || (y = a.type === "touchstart", y || a.preventDefault(), !(!y && a.button !== 0 || O.value) && ($.x = y ? a.touches[0].clientX : a.clientX, $.y = y ? a.touches[0].clientY : a.clientY, document.addEventListener(y ? "touchmove" : "mousemove", fe, !0), document.addEventListener(y ? "touchend" : "mouseup", pe, !0)));
|
|
292
289
|
}
|
|
293
|
-
const
|
|
290
|
+
const fe = ze((a) => {
|
|
294
291
|
q.value = !0, U.x = y ? a.touches[0].clientX : a.clientX, U.y = y ? a.touches[0].clientY : a.clientY;
|
|
295
|
-
const m = U.x - $.x,
|
|
296
|
-
N.y =
|
|
292
|
+
const m = U.x - $.x, f = U.y - $.y;
|
|
293
|
+
N.y = f, N.x = m;
|
|
297
294
|
}, o.throttle);
|
|
298
|
-
function
|
|
299
|
-
const a = o.dir === "rtl" ? -1 : 1, m = Math.sign(N.x) * 0.4,
|
|
300
|
-
if (
|
|
295
|
+
function pe() {
|
|
296
|
+
const a = o.dir === "rtl" ? -1 : 1, m = Math.sign(N.x) * 0.4, f = Math.round(N.x / h.value + m) * a;
|
|
297
|
+
if (f && !y) {
|
|
301
298
|
const k = (Z) => {
|
|
302
299
|
Z.stopPropagation(), window.removeEventListener("click", k, !0);
|
|
303
300
|
};
|
|
304
301
|
window.addEventListener("click", k, !0);
|
|
305
302
|
}
|
|
306
|
-
L(i.value -
|
|
303
|
+
L(i.value - f), N.x = 0, N.y = 0, q.value = !1, document.removeEventListener(y ? "touchmove" : "mousemove", fe, !0), document.removeEventListener(y ? "touchend" : "mouseup", pe, !0);
|
|
307
304
|
}
|
|
308
305
|
function ge() {
|
|
309
306
|
!o.autoplay || o.autoplay <= 0 || (I = setInterval(() => {
|
|
@@ -327,12 +324,12 @@ var We = Y({
|
|
|
327
324
|
slidesCount: v.value
|
|
328
325
|
}), O.value = !0, g.value = i.value, i.value = m, W = setTimeout(() => {
|
|
329
326
|
if (o.wrapAround) {
|
|
330
|
-
const
|
|
327
|
+
const f = ie({
|
|
331
328
|
val: m,
|
|
332
329
|
max: T.value,
|
|
333
330
|
min: 0
|
|
334
331
|
});
|
|
335
|
-
|
|
332
|
+
f !== i.value && (i.value = f, e("loop", {
|
|
336
333
|
currentSlideIndex: i.value,
|
|
337
334
|
slidingToIndex: a
|
|
338
335
|
}));
|
|
@@ -403,7 +400,7 @@ var We = Y({
|
|
|
403
400
|
return () => {
|
|
404
401
|
const a = Ce(K == null ? void 0 : K(ye)), m = (Q == null ? void 0 : Q(ye)) || [];
|
|
405
402
|
a.forEach((ee, te) => ee.props.index = te);
|
|
406
|
-
let
|
|
403
|
+
let f = a;
|
|
407
404
|
if (o.wrapAround) {
|
|
408
405
|
const ee = a.map((ne, R) => _e(ne, {
|
|
409
406
|
index: -a.length + R,
|
|
@@ -414,7 +411,7 @@ var We = Y({
|
|
|
414
411
|
isClone: !0,
|
|
415
412
|
key: `clone-after-${R}`
|
|
416
413
|
}));
|
|
417
|
-
|
|
414
|
+
f = [...ee, ...a, ...te];
|
|
418
415
|
}
|
|
419
416
|
c.value = a, v.value = Math.max(a.length, 1);
|
|
420
417
|
const k = S("ol", {
|
|
@@ -422,7 +419,7 @@ var We = Y({
|
|
|
422
419
|
style: Le.value,
|
|
423
420
|
onMousedownCapture: o.mouseDrag ? ve : null,
|
|
424
421
|
onTouchstartPassiveCapture: o.touchDrag ? ve : null
|
|
425
|
-
},
|
|
422
|
+
}, f), Z = S("div", { class: "carousel__viewport" }, k);
|
|
426
423
|
return S("section", {
|
|
427
424
|
ref: r,
|
|
428
425
|
class: {
|
|
@@ -454,7 +451,7 @@ function qe(t) {
|
|
|
454
451
|
return t in se;
|
|
455
452
|
}
|
|
456
453
|
const ue = (t) => {
|
|
457
|
-
const n = b("config", M(Object.assign({},
|
|
454
|
+
const n = b("config", M(Object.assign({}, p))), e = String(t.name), l = `icon${e.charAt(0).toUpperCase() + e.slice(1)}`;
|
|
458
455
|
if (!e || typeof e != "string" || !qe(e))
|
|
459
456
|
return;
|
|
460
457
|
const s = Fe[e], r = S("path", { d: s }), c = n.i18n[l] || t.title || e, h = S("title", c);
|
|
@@ -467,7 +464,7 @@ const ue = (t) => {
|
|
|
467
464
|
};
|
|
468
465
|
ue.props = { name: String, title: String };
|
|
469
466
|
const Je = (t, { slots: n, attrs: e }) => {
|
|
470
|
-
const { next: l, prev: s } = n || {}, r = b("config", M(Object.assign({},
|
|
467
|
+
const { next: l, prev: s } = n || {}, r = b("config", M(Object.assign({}, p))), c = b("maxSlide", d(1)), h = b("minSlide", d(1)), v = b("currentSlide", d(1)), o = b("nav", {}), { dir: u, wrapAround: w, i18n: i } = r, g = u === "rtl", j = S("button", {
|
|
471
468
|
type: "button",
|
|
472
469
|
class: [
|
|
473
470
|
"carousel__prev",
|
|
@@ -501,7 +498,7 @@ var Ke = Y({
|
|
|
501
498
|
}
|
|
502
499
|
},
|
|
503
500
|
setup(t, { slots: n }) {
|
|
504
|
-
const e = b("config", M(Object.assign({},
|
|
501
|
+
const e = b("config", M(Object.assign({}, p))), l = b("currentSlide", d(0)), s = b("slidesToScroll", d(0)), r = b("isSliding", d(!1)), c = () => t.index === l.value, h = () => t.index === l.value - 1, v = () => t.index === l.value + 1, o = () => {
|
|
505
502
|
const u = Math.floor(s.value), w = Math.ceil(s.value + e.itemsToShow - 1);
|
|
506
503
|
return t.index >= u && t.index <= w;
|
|
507
504
|
};
|
|
@@ -640,8 +637,8 @@ const Qe = ["src", "title"], Ze = {
|
|
|
640
637
|
], 64));
|
|
641
638
|
}
|
|
642
639
|
});
|
|
643
|
-
const
|
|
640
|
+
const it = /* @__PURE__ */ Ve(nt, [["__scopeId", "data-v-274b7c1c"]]);
|
|
644
641
|
export {
|
|
645
|
-
|
|
642
|
+
it as default
|
|
646
643
|
};
|
|
647
644
|
//# sourceMappingURL=Carousel.js.map
|