@leaflink/stash 50.12.0 → 50.12.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.
Files changed (155) hide show
  1. package/dist/Accordion.js +14 -14
  2. package/dist/ActionsDropdown.js +2 -2
  3. package/dist/AddressSelect.js +2 -2
  4. package/dist/Alert.js +6 -6
  5. package/dist/AppNavigationItem.js +8 -8
  6. package/dist/AppSidebar.js +8 -8
  7. package/dist/AppTopbar.js +3 -3
  8. package/dist/Avatar.js +3 -3
  9. package/dist/Backdrop.js +2 -2
  10. package/dist/Badge.js +2 -2
  11. package/dist/Box.js +1 -1
  12. package/dist/{Box.vue_vue_type_script_setup_true_lang-DgJHq-09.js → Box.vue_vue_type_script_setup_true_lang-rFnvwLVY.js} +3 -3
  13. package/dist/{Box.vue_vue_type_script_setup_true_lang-DgJHq-09.js.map → Box.vue_vue_type_script_setup_true_lang-rFnvwLVY.js.map} +1 -1
  14. package/dist/Button.js +3 -3
  15. package/dist/ButtonGroup.js +4 -4
  16. package/dist/Card.js +7 -7
  17. package/dist/CardContent.js +2 -2
  18. package/dist/CardFooter.js +2 -2
  19. package/dist/CardHeader.js +4 -4
  20. package/dist/CardMedia.js +6 -6
  21. package/dist/Carousel.js +33 -33
  22. package/dist/Carousel.js.map +1 -1
  23. package/dist/Checkbox.js +7 -7
  24. package/dist/ChevronToggle.js +1 -1
  25. package/dist/{ChevronToggle.vue_vue_type_script_setup_true_lang-DuvluoTi.js → ChevronToggle.vue_vue_type_script_setup_true_lang-Ce_qOXfR.js} +3 -3
  26. package/dist/{ChevronToggle.vue_vue_type_script_setup_true_lang-DuvluoTi.js.map → ChevronToggle.vue_vue_type_script_setup_true_lang-Ce_qOXfR.js.map} +1 -1
  27. package/dist/Chip.js +7 -7
  28. package/dist/ConfirmationCodeInput.js +6 -6
  29. package/dist/ContextSwitcher.js +1 -1
  30. package/dist/Copy.js +1 -1
  31. package/dist/CurrencyInput.js +115 -111
  32. package/dist/CurrencyInput.js.map +1 -1
  33. package/dist/DataView.js +3 -3
  34. package/dist/DataView.keys-aSOnA4AD.js.map +1 -1
  35. package/dist/DataViewFilters.js +3 -3
  36. package/dist/DataViewSortButton.js +10 -10
  37. package/dist/DataViewToolbar.js +1 -1
  38. package/dist/DatePicker.js +1080 -1037
  39. package/dist/DatePicker.js.map +1 -1
  40. package/dist/DescriptionList.js +2 -2
  41. package/dist/DescriptionListDetail.js +2 -2
  42. package/dist/DescriptionListGroup.js +2 -2
  43. package/dist/DescriptionListTerm.js +3 -3
  44. package/dist/Dialog.js +1 -1
  45. package/dist/Divider.js +2 -2
  46. package/dist/Dropdown.js +9 -9
  47. package/dist/EmptyState.js +2 -2
  48. package/dist/Expand.js +1 -1
  49. package/dist/{Expand.vue_vue_type_script_setup_true_lang-D0fSAtHr.js → Expand.vue_vue_type_script_setup_true_lang-CiONJfAp.js} +5 -5
  50. package/dist/{Expand.vue_vue_type_script_setup_true_lang-D0fSAtHr.js.map → Expand.vue_vue_type_script_setup_true_lang-CiONJfAp.js.map} +1 -1
  51. package/dist/Field.js +1 -1
  52. package/dist/{Field.vue_vue_type_script_setup_true_lang-DEizIcDo.js → Field.vue_vue_type_script_setup_true_lang-DRaKs9Lm.js} +6 -6
  53. package/dist/{Field.vue_vue_type_script_setup_true_lang-DEizIcDo.js.map → Field.vue_vue_type_script_setup_true_lang-DRaKs9Lm.js.map} +1 -1
  54. package/dist/FileUpload.js +7 -7
  55. package/dist/FilterChip.js +1 -1
  56. package/dist/FilterDrawerItem.js +9 -9
  57. package/dist/FilterDropdown.js +1 -1
  58. package/dist/FilterSelect.js +4 -4
  59. package/dist/Filters.js +18 -18
  60. package/dist/HttpError.js +9 -9
  61. package/dist/Icon.js +2 -2
  62. package/dist/IconLabel.js +2 -2
  63. package/dist/Illustration.js +2 -2
  64. package/dist/{Illustration.vue_vue_type_script_setup_true_lang-CYddAFtS.js → Illustration.vue_vue_type_script_setup_true_lang-BBqgoJO8.js} +3 -3
  65. package/dist/{Illustration.vue_vue_type_script_setup_true_lang-CYddAFtS.js.map → Illustration.vue_vue_type_script_setup_true_lang-BBqgoJO8.js.map} +1 -1
  66. package/dist/Image.js +2 -2
  67. package/dist/{Image.vue_vue_type_script_setup_true_lang-YUNunj71.js → Image.vue_vue_type_script_setup_true_lang-D5u4av0_.js} +3 -3
  68. package/dist/{Image.vue_vue_type_script_setup_true_lang-YUNunj71.js.map → Image.vue_vue_type_script_setup_true_lang-D5u4av0_.js.map} +1 -1
  69. package/dist/InlineEdit.js +5 -5
  70. package/dist/Input.js +2 -2
  71. package/dist/InputOptions.js +2 -2
  72. package/dist/IntegrationIcon.js +2 -2
  73. package/dist/Label.js +1 -1
  74. package/dist/{Label.vue_vue_type_script_setup_true_lang-C4JKdqvC.js → Label.vue_vue_type_script_setup_true_lang-DPnNUfc6.js} +3 -3
  75. package/dist/{Label.vue_vue_type_script_setup_true_lang-C4JKdqvC.js.map → Label.vue_vue_type_script_setup_true_lang-DPnNUfc6.js.map} +1 -1
  76. package/dist/LicenseChip.js +2 -2
  77. package/dist/ListItem.js +1 -1
  78. package/dist/ListItemCell.js +2 -2
  79. package/dist/ListView.js +11 -11
  80. package/dist/Loading.js +2 -2
  81. package/dist/Logo.js +1 -1
  82. package/dist/{Logo.vue_vue_type_script_setup_true_lang-BfUU9J9O.js → Logo.vue_vue_type_script_setup_true_lang-Dz8c98sc.js} +4 -4
  83. package/dist/{Logo.vue_vue_type_script_setup_true_lang-BfUU9J9O.js.map → Logo.vue_vue_type_script_setup_true_lang-Dz8c98sc.js.map} +1 -1
  84. package/dist/Menu.js +2 -2
  85. package/dist/MenuItem.js +2 -2
  86. package/dist/Metric.js +5 -5
  87. package/dist/Modal.js +20 -20
  88. package/dist/Modals.js +6 -6
  89. package/dist/Module.js +3 -3
  90. package/dist/ModuleContent.js +3 -3
  91. package/dist/ModuleFooter.js +2 -2
  92. package/dist/ModuleHeader.js +2 -2
  93. package/dist/ModuleHeader.js.map +1 -1
  94. package/dist/ObfuscateText.js +7 -7
  95. package/dist/PageContent.js +3 -3
  96. package/dist/PageHeader.js +6 -6
  97. package/dist/PageNavigation.js +1 -1
  98. package/dist/Paginate.js +6 -6
  99. package/dist/PlaidLink.js +2 -2
  100. package/dist/QuickAction.js +2 -2
  101. package/dist/Radio.js +2 -2
  102. package/dist/RadioGroup.js +2 -2
  103. package/dist/RadioNew.js +1 -1
  104. package/dist/RangeInput.js +2 -2
  105. package/dist/SearchBar.js +3 -3
  106. package/dist/Select.js +4 -4
  107. package/dist/Select.js.map +1 -1
  108. package/dist/SelectStatus.js +7 -7
  109. package/dist/Skeleton.js +4 -4
  110. package/dist/Step.js +6 -6
  111. package/dist/Stepper.js +9 -9
  112. package/dist/Switch.js +7 -7
  113. package/dist/Tab.js +4 -4
  114. package/dist/TabPanel.js +2 -2
  115. package/dist/Table.js +1 -1
  116. package/dist/TableCell.js +5 -5
  117. package/dist/TableHeaderCell.js +2 -2
  118. package/dist/TableHeaderRow.js +4 -4
  119. package/dist/TableRow.js +4 -4
  120. package/dist/TableRow.js.map +1 -1
  121. package/dist/TableRow.vue.d.ts +12 -8
  122. package/dist/Tabs.js +2 -2
  123. package/dist/{Tabs.vue_vue_type_script_setup_true_lang-NZm1OrRT.js → Tabs.vue_vue_type_script_setup_true_lang-CmnBP4i1.js} +4 -4
  124. package/dist/{Tabs.vue_vue_type_script_setup_true_lang-NZm1OrRT.js.map → Tabs.vue_vue_type_script_setup_true_lang-CmnBP4i1.js.map} +1 -1
  125. package/dist/TextEditor.js +3313 -3291
  126. package/dist/TextEditor.js.map +1 -1
  127. package/dist/Textarea.js +3 -3
  128. package/dist/Thumbnail.js +7 -7
  129. package/dist/Thumbnail.js.map +1 -1
  130. package/dist/ThumbnailEmpty.js +3 -3
  131. package/dist/ThumbnailGroup.js +6 -6
  132. package/dist/ThumbnailGroup.js.map +1 -1
  133. package/dist/{ThumbnailGroup.keys-D6WL5xQ5.js → ThumbnailGroup.keys-EJ4qFNhx.js} +2 -2
  134. package/dist/{ThumbnailGroup.keys-D6WL5xQ5.js.map → ThumbnailGroup.keys-EJ4qFNhx.js.map} +1 -1
  135. package/dist/Timeline.js +2 -2
  136. package/dist/TimelineItem.js +3 -3
  137. package/dist/Toast.js +277 -280
  138. package/dist/Toast.js.map +1 -1
  139. package/dist/Toasts.js +1 -1
  140. package/dist/Tooltip.js +1 -1
  141. package/dist/components.css +1 -1
  142. package/dist/{formatDateTime-C8CYECpd.js → formatDateTime-Dz8bXV0R.js} +98 -12
  143. package/dist/{formatDateTime-C8CYECpd.js.map → formatDateTime-Dz8bXV0R.js.map} +1 -1
  144. package/dist/index.js +2 -2
  145. package/dist/searchFuzzy-DRasJ33G.js +409 -0
  146. package/dist/{searchFuzzy-DKooyZM8.js.map → searchFuzzy-DRasJ33G.js.map} +1 -1
  147. package/dist/storage.js +3 -3
  148. package/dist/{toTimeZone-CVE1ZmsS.js → toTimeZone-Coq1oPTt.js} +7 -9
  149. package/dist/{toTimeZone-CVE1ZmsS.js.map → toTimeZone-Coq1oPTt.js.map} +1 -1
  150. package/dist/useSearch.js +1 -1
  151. package/dist/utils/formatDateTime.js +2 -2
  152. package/dist/utils/searchFuzzy.js +1 -1
  153. package/dist/utils/toTimeZone.js +1 -1
  154. package/package.json +16 -16
  155. package/dist/searchFuzzy-DKooyZM8.js +0 -407
package/dist/Textarea.js CHANGED
@@ -1,5 +1,5 @@
1
- import { defineComponent as E, useAttrs as M, useSlots as k, useCssModule as H, ref as x, computed as w, watch as A, onMounted as I, nextTick as P, onBeforeUnmount as V, openBlock as $, createBlock as q, mergeProps as y, unref as p, createSlots as D, withCtx as b, createElementVNode as j, renderSlot as F } from "vue";
2
- import { _ as L } from "./Field.vue_vue_type_script_setup_true_lang-DEizIcDo.js";
1
+ import { defineComponent as E, useAttrs as M, useSlots as k, useCssModule as H, ref as x, computed as w, watch as A, onMounted as I, nextTick as P, onBeforeUnmount as V, createBlock as $, openBlock as q, mergeProps as y, unref as p, createSlots as D, withCtx as b, createElementVNode as j, renderSlot as F } from "vue";
2
+ import { _ as L } from "./Field.vue_vue_type_script_setup_true_lang-DRaKs9Lm.js";
3
3
  import { _ as N } from "./_plugin-vue_export-helper-CHgC5LLL.js";
4
4
  const U = ["id", "maxlength", "value", "placeholder", "disabled", "readonly", "rows"], W = /* @__PURE__ */ E({
5
5
  name: "ll-textarea",
@@ -83,7 +83,7 @@ const U = ["id", "maxlength", "value", "placeholder", "disabled", "readonly", "r
83
83
  }), V(() => {
84
84
  var e;
85
85
  (e = r.value) == null || e.disconnect();
86
- }), (e, o) => ($(), q(L, y(t, {
86
+ }), (e, o) => (q(), $(L, y(t, {
87
87
  class: ["stash-textarea", [p(m).root]],
88
88
  "data-test": "stash-textarea"
89
89
  }), D({
package/dist/Thumbnail.js CHANGED
@@ -1,9 +1,9 @@
1
- import { defineComponent as w, useCssModule as q, inject as C, computed as T, toValue as x, openBlock as b, createElementBlock as B, normalizeClass as s, unref as t, createVNode as h, createBlock as I, withModifiers as y, withCtx as M, createCommentVNode as N, renderSlot as $ } from "vue";
1
+ import { defineComponent as w, useCssModule as q, inject as C, computed as T, toValue as x, createElementBlock as B, openBlock as b, unref as t, normalizeClass as s, createVNode as h, createBlock as I, createCommentVNode as y, renderSlot as M, withModifiers as N, withCtx as $ } from "vue";
2
2
  import { t as V } from "./locale.js";
3
3
  import z from "./Button.js";
4
4
  import E from "./Icon.js";
5
- import { _ as U } from "./Image.vue_vue_type_script_setup_true_lang-YUNunj71.js";
6
- import { T as d } from "./ThumbnailGroup.keys-D6WL5xQ5.js";
5
+ import { _ as U } from "./Image.vue_vue_type_script_setup_true_lang-D5u4av0_.js";
6
+ import { T as d } from "./ThumbnailGroup.keys-EJ4qFNhx.js";
7
7
  import { _ as j } from "./_plugin-vue_export-helper-CHgC5LLL.js";
8
8
  const A = ["aria-current", "draggable"], D = /* @__PURE__ */ w({
9
9
  __name: "Thumbnail",
@@ -61,17 +61,17 @@ const A = ["aria-current", "draggable"], D = /* @__PURE__ */ w({
61
61
  "aria-label": t(V)("ll.thumbnail.removeButton", { index: e.value + 1 }),
62
62
  type: "button",
63
63
  icon: "",
64
- onClick: y(k, ["stop", "prevent"])
64
+ onClick: N(k, ["stop", "prevent"])
65
65
  }, {
66
- default: M(() => [
66
+ default: $(() => [
67
67
  h(E, {
68
68
  name: "close",
69
69
  size: "small"
70
70
  })
71
71
  ]),
72
72
  _: 1
73
- }, 8, ["class", "aria-label"])) : N("", !0),
74
- $(l.$slots, "hint")
73
+ }, 8, ["class", "aria-label"])) : y("", !0),
74
+ M(l.$slots, "hint")
75
75
  ], 10, A));
76
76
  }
77
77
  }), H = {
@@ -1 +1 @@
1
- {"version":3,"file":"Thumbnail.js","sources":["../src/components/Thumbnail/Thumbnail.vue"],"sourcesContent":["<script lang=\"ts\">\n export * from './Thumbnail.types';\n</script>\n\n<script setup lang=\"ts\" generic=\"ThumbnailItem extends ThumbnailDefinition\">\n import { computed, inject, toValue, useCssModule } from 'vue';\n\n import { t } from '../../locale';\n import Button from '../Button/Button.vue';\n import Icon from '../Icon/Icon.vue';\n import Image from '../Image/Image.vue';\n import { THUMBNAIL_INJECTION } from '../ThumbnailGroup/ThumbnailGroup.keys';\n import { ThumbnailDefinition, ThumbnailVariant } from './Thumbnail.types';\n\n interface ThumbnailProps {\n /**\n * Thumbnail data containing and id and the image url\n */\n thumbnail: ThumbnailItem;\n\n /**\n * Thumbnail alt text for the image\n * @default ''\n */\n altText?: string;\n\n /**\n * Whether the thumbnail has some transparency or is fully opaque\n * @default 'opaque'\n */\n variant?: ThumbnailVariant;\n }\n\n const props = withDefaults(defineProps<ThumbnailProps>(), {\n variant: 'opaque',\n altText: '',\n });\n\n const emit = defineEmits<{\n /**\n * Emits when a thumbnail is removed\n */\n remove: [index: number];\n\n /**\n * Emits when a thumbnail is clicked\n */\n click: [index: number];\n }>();\n\n const classes = useCssModule();\n\n const { thumbnails, activeThumbnail, draggable, isDragging, radius, removable } = inject(\n THUMBNAIL_INJECTION.key,\n THUMBNAIL_INJECTION.defaults,\n );\n\n const thumbnailIndex = computed(() => toValue(thumbnails).findIndex((t) => t === props.thumbnail));\n\n function handleThumbnailClick() {\n activeThumbnail.value = thumbnailIndex.value;\n emit('click', thumbnailIndex.value);\n }\n\n function handleRemove() {\n emit('remove', thumbnailIndex.value);\n activeThumbnail.value = -1;\n }\n</script>\n\n<template>\n <li\n class=\"stash-thumbnail tw-group tw-relative tw-cursor-pointer focus-visible:tw-outline-none\"\n :class=\"[\n {\n [classes['thumbnail-translucent']]: props.variant === 'translucent',\n [classes['thumbnail-opaque']]: props.variant === 'opaque',\n [classes['thumbnail-removable']]: removable,\n [classes['thumbnail-circle']]: radius === 'circle',\n [classes['thumbnail-rounded']]: radius === 'rounded',\n },\n ]\"\n :aria-current=\"activeThumbnail === thumbnailIndex\"\n :draggable=\"draggable\"\n data-test=\"stash-thumbnail\"\n tabindex=\"0\"\n @click=\"handleThumbnailClick()\"\n >\n <Image\n class=\"stash-thumbnail__img tw-border-ice-200 tw-outline-blue-500/15 tw-transition-colors\"\n :class=\"[\n classes['thumbnail-img'],\n {\n [classes['thumbnail-mask']]: removable && radius !== 'circle',\n [classes['thumbnail-active']]: activeThumbnail === thumbnailIndex && !isDragging,\n 'group-hover:tw-border-blue-500 group-focus-visible:tw-border-blue-500 group-focus-visible:tw-outline':\n !isDragging,\n },\n ]\"\n data-test=\"stash-thumbnail|img\"\n :radius=\"radius\"\n :src=\"thumbnail.imageUrl\"\n :alt=\"altText\"\n />\n\n <Button\n v-if=\"removable\"\n class=\"stash-thumbnail__remove\"\n :class=\"[classes['thumbnail-remove']]\"\n data-test=\"stash-thumbnail|remove\"\n :aria-label=\"t('ll.thumbnail.removeButton', { index: thumbnailIndex + 1 })\"\n type=\"button\"\n icon\n @click.stop.prevent=\"handleRemove\"\n >\n <Icon name=\"close\" size=\"small\" />\n </Button>\n\n <!-- @slot: Slot to add a hint below the image -->\n <slot name=\"hint\" />\n </li>\n</template>\n\n<style module>\n .thumbnail-remove {\n position: absolute;\n top: calc(theme('spacing[1.5]') * -1);\n right: calc(theme('spacing[1.5]') * -1);\n padding: 1px;\n height: auto;\n width: auto !important;\n min-width: auto;\n border-radius: theme('borderRadius.full');\n background: var(--color-blue-500);\n color: white;\n\n &:hover,\n &:focus {\n background: var(--color-blue-600);\n }\n\n &:focus {\n outline: none;\n }\n }\n\n .thumbnail-img {\n border-style: solid;\n object-fit: cover;\n height: theme('spacing.12');\n width: theme('spacing.12');\n border-width: 1px;\n outline-width: theme('borderSpacing.1');\n\n .thumbnail-translucent & {\n opacity: theme('opacity.40');\n\n &:hover,\n &.thumbnail-active {\n opacity: theme('opacity.100');\n }\n }\n }\n\n .thumbnail-active {\n border: 1px solid var(--color-ice-500);\n }\n\n .thumbnail-mask {\n mask-image: radial-gradient(circle at top right, transparent 20%, white 20.5%);\n }\n\n .thumbnail-full {\n border-radius: theme('borderRadius.full');\n }\n\n .thumbnail-rounded {\n border-radius: theme('borderRadius.DEFAULT');\n }\n</style>\n"],"names":["props","__props","emit","__emit","classes","useCssModule","thumbnails","activeThumbnail","draggable","isDragging","radius","removable","inject","THUMBNAIL_INJECTION","thumbnailIndex","computed","toValue","t","handleThumbnailClick","handleRemove"],"mappings":";;;;;;;;;;;;;;;;AAiCE,UAAMA,IAAQC,GAKRC,IAAOC,GAYPC,IAAUC,EAAa,GAEvB,EAAE,YAAAC,GAAY,iBAAAC,GAAiB,WAAAC,GAAW,YAAAC,GAAY,QAAAC,GAAQ,WAAAC,MAAcC;AAAA,MAChFC,EAAoB;AAAA,MACpBA,EAAoB;AAAA,IACtB,GAEMC,IAAiBC,EAAS,MAAMC,EAAQV,CAAU,EAAE,UAAU,CAACW,MAAMA,MAAMjB,EAAM,SAAS,CAAC;AAEjG,aAASkB,IAAuB;AAC9B,MAAAX,EAAgB,QAAQO,EAAe,OAClCZ,EAAA,SAASY,EAAe,KAAK;AAAA,IAAA;AAGpC,aAASK,IAAe;AACjB,MAAAjB,EAAA,UAAUY,EAAe,KAAK,GACnCP,EAAgB,QAAQ;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Thumbnail.js","sources":["../src/components/Thumbnail/Thumbnail.vue"],"sourcesContent":["<script lang=\"ts\">\n import { ThumbnailDefinition, ThumbnailVariant } from './Thumbnail.types';\n\n export * from './Thumbnail.types';\n</script>\n\n<script setup lang=\"ts\" generic=\"ThumbnailItem extends ThumbnailDefinition\">\n import { computed, inject, toValue, useCssModule } from 'vue';\n\n import { t } from '../../locale';\n import Button from '../Button/Button.vue';\n import Icon from '../Icon/Icon.vue';\n import Image from '../Image/Image.vue';\n import { THUMBNAIL_INJECTION } from '../ThumbnailGroup/ThumbnailGroup.keys';\n\n const props = withDefaults(\n defineProps<{\n /**\n * Thumbnail data containing and id and the image url\n */\n thumbnail: ThumbnailItem;\n\n /**\n * Thumbnail alt text for the image\n * @default ''\n */\n altText?: string;\n\n /**\n * Whether the thumbnail has some transparency or is fully opaque\n * @default 'opaque'\n */\n variant?: ThumbnailVariant;\n }>(),\n {\n variant: 'opaque',\n altText: '',\n },\n );\n\n const emit = defineEmits<{\n /**\n * Emits when a thumbnail is removed\n */\n remove: [index: number];\n\n /**\n * Emits when a thumbnail is clicked\n */\n click: [index: number];\n }>();\n\n const classes = useCssModule();\n\n const { thumbnails, activeThumbnail, draggable, isDragging, radius, removable } = inject(\n THUMBNAIL_INJECTION.key,\n THUMBNAIL_INJECTION.defaults,\n );\n\n const thumbnailIndex = computed(() => toValue(thumbnails).findIndex((t) => t === props.thumbnail));\n\n function handleThumbnailClick() {\n activeThumbnail.value = thumbnailIndex.value;\n emit('click', thumbnailIndex.value);\n }\n\n function handleRemove() {\n emit('remove', thumbnailIndex.value);\n activeThumbnail.value = -1;\n }\n</script>\n\n<template>\n <li\n class=\"stash-thumbnail tw-group tw-relative tw-cursor-pointer focus-visible:tw-outline-none\"\n :class=\"[\n {\n [classes['thumbnail-translucent']]: props.variant === 'translucent',\n [classes['thumbnail-opaque']]: props.variant === 'opaque',\n [classes['thumbnail-removable']]: removable,\n [classes['thumbnail-circle']]: radius === 'circle',\n [classes['thumbnail-rounded']]: radius === 'rounded',\n },\n ]\"\n :aria-current=\"activeThumbnail === thumbnailIndex\"\n :draggable=\"draggable\"\n data-test=\"stash-thumbnail\"\n tabindex=\"0\"\n @click=\"handleThumbnailClick()\"\n >\n <Image\n class=\"stash-thumbnail__img tw-border-ice-200 tw-outline-blue-500/15 tw-transition-colors\"\n :class=\"[\n classes['thumbnail-img'],\n {\n [classes['thumbnail-mask']]: removable && radius !== 'circle',\n [classes['thumbnail-active']]: activeThumbnail === thumbnailIndex && !isDragging,\n 'group-hover:tw-border-blue-500 group-focus-visible:tw-border-blue-500 group-focus-visible:tw-outline':\n !isDragging,\n },\n ]\"\n data-test=\"stash-thumbnail|img\"\n :radius=\"radius\"\n :src=\"thumbnail.imageUrl\"\n :alt=\"altText\"\n />\n\n <Button\n v-if=\"removable\"\n class=\"stash-thumbnail__remove\"\n :class=\"[classes['thumbnail-remove']]\"\n data-test=\"stash-thumbnail|remove\"\n :aria-label=\"t('ll.thumbnail.removeButton', { index: thumbnailIndex + 1 })\"\n type=\"button\"\n icon\n @click.stop.prevent=\"handleRemove\"\n >\n <Icon name=\"close\" size=\"small\" />\n </Button>\n\n <!-- @slot: Slot to add a hint below the image -->\n <slot name=\"hint\" />\n </li>\n</template>\n\n<style module>\n .thumbnail-remove {\n position: absolute;\n top: calc(theme('spacing[1.5]') * -1);\n right: calc(theme('spacing[1.5]') * -1);\n padding: 1px;\n height: auto;\n width: auto !important;\n min-width: auto;\n border-radius: theme('borderRadius.full');\n background: var(--color-blue-500);\n color: white;\n\n &:hover,\n &:focus {\n background: var(--color-blue-600);\n }\n\n &:focus {\n outline: none;\n }\n }\n\n .thumbnail-img {\n border-style: solid;\n object-fit: cover;\n height: theme('spacing.12');\n width: theme('spacing.12');\n border-width: 1px;\n outline-width: theme('borderSpacing.1');\n\n .thumbnail-translucent & {\n opacity: theme('opacity.40');\n\n &:hover,\n &.thumbnail-active {\n opacity: theme('opacity.100');\n }\n }\n }\n\n .thumbnail-active {\n border: 1px solid var(--color-ice-500);\n }\n\n .thumbnail-mask {\n mask-image: radial-gradient(circle at top right, transparent 20%, white 20.5%);\n }\n\n .thumbnail-full {\n border-radius: theme('borderRadius.full');\n }\n\n .thumbnail-rounded {\n border-radius: theme('borderRadius.DEFAULT');\n }\n</style>\n"],"names":["props","__props","emit","__emit","classes","useCssModule","thumbnails","activeThumbnail","draggable","isDragging","radius","removable","inject","THUMBNAIL_INJECTION","thumbnailIndex","computed","toValue","t","handleThumbnailClick","handleRemove"],"mappings":";;;;;;;;;;;;;;;;AAeE,UAAMA,IAAQC,GAyBRC,IAAOC,GAYPC,IAAUC,EAAa,GAEvB,EAAE,YAAAC,GAAY,iBAAAC,GAAiB,WAAAC,GAAW,YAAAC,GAAY,QAAAC,GAAQ,WAAAC,MAAcC;AAAA,MAChFC,EAAoB;AAAA,MACpBA,EAAoB;AAAA,IACtB,GAEMC,IAAiBC,EAAS,MAAMC,EAAQV,CAAU,EAAE,UAAU,CAACW,MAAMA,MAAMjB,EAAM,SAAS,CAAC;AAEjG,aAASkB,IAAuB;AAC9B,MAAAX,EAAgB,QAAQO,EAAe,OAClCZ,EAAA,SAASY,EAAe,KAAK;AAAA,IAAA;AAGpC,aAASK,IAAe;AACjB,MAAAjB,EAAA,UAAUY,EAAe,KAAK,GACnCP,EAAgB,QAAQ;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,12 +1,12 @@
1
- import { defineComponent as n, useCssModule as o, inject as m, openBlock as l, createElementBlock as c, normalizeClass as r, unref as t, createVNode as u } from "vue";
1
+ import { defineComponent as n, useCssModule as o, inject as m, createElementBlock as l, openBlock as c, normalizeClass as r, unref as t, createVNode as u } from "vue";
2
2
  import i from "./Icon.js";
3
- import { T as s } from "./ThumbnailGroup.keys-D6WL5xQ5.js";
3
+ import { T as s } from "./ThumbnailGroup.keys-EJ4qFNhx.js";
4
4
  import { _ as p } from "./_plugin-vue_export-helper-CHgC5LLL.js";
5
5
  const _ = /* @__PURE__ */ n({
6
6
  __name: "ThumbnailEmpty",
7
7
  setup(f) {
8
8
  const a = o(), { radius: e } = m(s.key, s.defaults);
9
- return (y, b) => (l(), c("li", {
9
+ return (y, b) => (c(), l("li", {
10
10
  class: r(["stash-thumbnail-empty", [
11
11
  t(a)["thumbnail-empty"],
12
12
  {
@@ -1,7 +1,7 @@
1
- import { defineComponent as h, mergeModels as m, useModel as c, computed as l, ref as g, provide as v, openBlock as o, createElementBlock as d, renderSlot as T, normalizeProps as y, guardReactiveProps as _, unref as E, Fragment as x, renderList as w, createBlock as I } from "vue";
1
+ import { defineComponent as h, mergeModels as m, useModel as c, computed as l, ref as g, provide as v, createElementBlock as d, openBlock as o, renderSlot as T, normalizeProps as y, guardReactiveProps as _, unref as E, Fragment as x, renderList as w, createBlock as I } from "vue";
2
2
  import B, { moveSortableElements as k } from "./useSortable.js";
3
3
  import S from "./ThumbnailEmpty.js";
4
- import { T as C } from "./ThumbnailGroup.keys-D6WL5xQ5.js";
4
+ import { T as C } from "./ThumbnailGroup.keys-EJ4qFNhx.js";
5
5
  import { _ as D } from "./_plugin-vue_export-helper-CHgC5LLL.js";
6
6
  const M = /* @__PURE__ */ h({
7
7
  __name: "ThumbnailGroup",
@@ -38,7 +38,7 @@ const M = /* @__PURE__ */ h({
38
38
  onDragEnd: (e) => {
39
39
  r.value = e.newIndex, k({ list: a, from: e.oldIndex, to: e.newIndex }), n("dragEnd", e);
40
40
  }
41
- }), f = l(() => {
41
+ }), b = l(() => {
42
42
  if (!t.showEmpty) return 0;
43
43
  const { max: e } = t.emptyOptions || {};
44
44
  return a.value.length < e ? e - a.value.length : 0;
@@ -60,12 +60,12 @@ const M = /* @__PURE__ */ h({
60
60
  "data-test": "stash-thumbnail-group"
61
61
  }, [
62
62
  T(e.$slots, "default", y(_({ activeThumbnail: r.value, isDragging: E(i) })), void 0, !0),
63
- (o(!0), d(x, null, w(f.value, (N, b) => (o(), I(S, {
64
- key: `empty_thumb_${b}`
63
+ (o(!0), d(x, null, w(b.value, (N, f) => (o(), I(S, {
64
+ key: `empty_thumb_${f}`
65
65
  }))), 128))
66
66
  ], 512));
67
67
  }
68
- }), $ = /* @__PURE__ */ D(M, [["__scopeId", "data-v-358f73aa"]]);
68
+ }), $ = /* @__PURE__ */ D(M, [["__scopeId", "data-v-d7a887de"]]);
69
69
  export {
70
70
  $ as default,
71
71
  k as moveSortableElements
@@ -1 +1 @@
1
- {"version":3,"file":"ThumbnailGroup.js","sources":["../src/components/ThumbnailGroup/ThumbnailGroup.vue"],"sourcesContent":["<script lang=\"ts\">\n export * from '../../composables/useSortable/useSortable';\n export * from './ThumbnailGroup.types';\n</script>\n\n<script setup lang=\"ts\" generic=\"Thumbnail extends ThumbnailDefinition\">\n import { computed, provide, ref } from 'vue';\n\n import useSortable, {\n moveSortableElements,\n type SortableOnDragEndEvent,\n type SortableOnDragStartEvent,\n } from '../../composables/useSortable/useSortable';\n import { ThumbnailDefinition } from '../Thumbnail/Thumbnail.types';\n import ThumbnailEmpty from '../ThumbnailEmpty/ThumbnailEmpty.vue';\n import { THUMBNAIL_INJECTION } from './ThumbnailGroup.keys';\n import type { ThumbnailEmptyOptions, ThumbnailRadius } from './ThumbnailGroup.types';\n\n interface ThumbnailProps {\n /**\n * Enable drag and drop functionality\n * @default false\n */\n draggable?: boolean;\n\n /**\n * Thumbnail radius. Can be 'rounded' or 'circle'\n * @default 'rounded'\n */\n radius?: ThumbnailRadius;\n\n /**\n * Shows a close button on the thumbnail when set to true\n * @default false\n */\n removable?: boolean;\n\n /**\n * Shows empty thumbnails when set to true\n */\n showEmpty?: boolean;\n\n /**\n * Empty thumbnail options. Only applicable when `showEmpty` is true\n * @default { max: 6 }\n */\n emptyOptions?: ThumbnailEmptyOptions;\n\n /**\n * List of thumbnails to display\n * @default []\n */\n thumbnails?: Thumbnail[];\n }\n\n const emit = defineEmits<{\n /**\n * Emits when a thumbnail starts dragging\n */\n dragStart: [event: SortableOnDragStartEvent];\n\n /**\n * Emits when a thumbnail stops dragging\n */\n dragEnd: [event: SortableOnDragEndEvent];\n\n /**\n * Emits when the thumbnails are updated\n */\n 'update:thumbnails': [thumbnails: Thumbnail[]];\n }>();\n\n const props = withDefaults(defineProps<ThumbnailProps>(), {\n thumbnails: () => [],\n draggable: false,\n radius: 'rounded',\n variant: 'opaque',\n removable: false,\n showEmpty: false,\n emptyOptions: () => ({ max: 6 }),\n });\n\n /**\n * The active thumbnail index\n */\n const activeThumbnail = defineModel<number>('activeThumbnail', {\n default: -1,\n });\n\n const internalThumbnails = computed({\n get() {\n return props.thumbnails;\n },\n set(value) {\n emit('update:thumbnails', value);\n },\n });\n\n const thumbnailRef = ref<HTMLElement | null>(null);\n const { isDragging } = useSortable({\n ref: thumbnailRef,\n list: internalThumbnails,\n isEnabled: props.draggable,\n ghostClass: 'thumbnail-ghost',\n chosenClass: 'thumbnail-chosen',\n sortInPlace: false,\n onDragStart: (e) => emit('dragStart', e),\n onDragEnd: (e) => {\n activeThumbnail.value = e.newIndex;\n moveSortableElements({ list: internalThumbnails, from: e.oldIndex, to: e.newIndex });\n emit('dragEnd', e);\n },\n });\n\n const emptyThumbnailsCount = computed(() => {\n if (!props.showEmpty) return 0;\n\n const { max } = props.emptyOptions || {};\n\n return internalThumbnails.value.length < max ? max - internalThumbnails.value.length : 0;\n });\n\n provide(\n THUMBNAIL_INJECTION.key,\n Object.freeze({\n draggable: computed(() => props.draggable),\n removable: computed(() => props.removable),\n thumbnails: internalThumbnails,\n radius: props.radius,\n activeThumbnail,\n isDragging,\n }),\n );\n</script>\n\n<template>\n <ul ref=\"thumbnailRef\" class=\"stash-thumbnail-group tw-flex tw-flex-wrap tw-gap-3\" data-test=\"stash-thumbnail-group\">\n <slot v-bind=\"{ activeThumbnail, isDragging }\"></slot>\n\n <ThumbnailEmpty v-for=\"(_, index) in emptyThumbnailsCount\" :key=\"`empty_thumb_${index}`\" />\n </ul>\n</template>\n\n<style>\n .thumbnail-ghost {\n .stash-thumbnail-item__img {\n border: 1px solid var(-color-blue-500);\n mask-image: none !important;\n box-shadow: theme('boxShadow.DEFAULT');\n }\n\n .stash-thumbnail-item__remove {\n opacity: 0;\n }\n }\n</style>\n\n<style scoped>\n :deep(.thumbnail-chosen) {\n opacity: 0 !important;\n }\n</style>\n"],"names":["emit","__emit","props","__props","activeThumbnail","_useModel","internalThumbnails","computed","value","thumbnailRef","ref","isDragging","useSortable","moveSortableElements","emptyThumbnailsCount","max","provide","THUMBNAIL_INJECTION"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAuDE,UAAMA,IAAOC,GAiBPC,IAAQC,GAaRC,IAAkBC,EAAoBF,GAAA,iBAE3C,GAEKG,IAAqBC,EAAS;AAAA,MAClC,MAAM;AACJ,eAAOL,EAAM;AAAA,MACf;AAAA,MACA,IAAIM,GAAO;AACT,QAAAR,EAAK,qBAAqBQ,CAAK;AAAA,MAAA;AAAA,IACjC,CACD,GAEKC,IAAeC,EAAwB,IAAI,GAC3C,EAAE,YAAAC,EAAW,IAAIC,EAAY;AAAA,MACjC,KAAKH;AAAA,MACL,MAAMH;AAAA,MACN,WAAWJ,EAAM;AAAA,MACjB,YAAY;AAAA,MACZ,aAAa;AAAA,MACb,aAAa;AAAA,MACb,aAAa,CAAC,MAAMF,EAAK,aAAa,CAAC;AAAA,MACvC,WAAW,CAAC,MAAM;AAChB,QAAAI,EAAgB,QAAQ,EAAE,UACLS,EAAA,EAAE,MAAMP,GAAoB,MAAM,EAAE,UAAU,IAAI,EAAE,UAAU,GACnFN,EAAK,WAAW,CAAC;AAAA,MAAA;AAAA,IACnB,CACD,GAEKc,IAAuBP,EAAS,MAAM;AACtC,UAAA,CAACL,EAAM,UAAkB,QAAA;AAE7B,YAAM,EAAE,KAAAa,EAAA,IAAQb,EAAM,gBAAgB,CAAC;AAEvC,aAAOI,EAAmB,MAAM,SAASS,IAAMA,IAAMT,EAAmB,MAAM,SAAS;AAAA,IAAA,CACxF;AAED,WAAAU;AAAA,MACEC,EAAoB;AAAA,MACpB,OAAO,OAAO;AAAA,QACZ,WAAWV,EAAS,MAAML,EAAM,SAAS;AAAA,QACzC,WAAWK,EAAS,MAAML,EAAM,SAAS;AAAA,QACzC,YAAYI;AAAA,QACZ,QAAQJ,EAAM;AAAA,QACd,iBAAAE;AAAA,QACA,YAAAO;AAAA,MACD,CAAA;AAAA,IACH;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ThumbnailGroup.js","sources":["../src/components/ThumbnailGroup/ThumbnailGroup.vue"],"sourcesContent":["<script lang=\"ts\">\n import type { ThumbnailEmptyOptions, ThumbnailRadius } from './ThumbnailGroup.types';\n\n export * from '../../composables/useSortable/useSortable';\n export * from './ThumbnailGroup.types';\n</script>\n\n<script setup lang=\"ts\" generic=\"Thumbnail extends ThumbnailDefinition\">\n import { computed, provide, ref } from 'vue';\n\n import useSortable, {\n moveSortableElements,\n type SortableOnDragEndEvent,\n type SortableOnDragStartEvent,\n } from '../../composables/useSortable/useSortable';\n import { ThumbnailDefinition } from '../Thumbnail/Thumbnail.types';\n import ThumbnailEmpty from '../ThumbnailEmpty/ThumbnailEmpty.vue';\n import { THUMBNAIL_INJECTION } from './ThumbnailGroup.keys';\n\n const emit = defineEmits<{\n /**\n * Emits when a thumbnail starts dragging\n */\n dragStart: [event: SortableOnDragStartEvent];\n\n /**\n * Emits when a thumbnail stops dragging\n */\n dragEnd: [event: SortableOnDragEndEvent];\n\n /**\n * Emits when the thumbnails are updated\n */\n 'update:thumbnails': [thumbnails: Thumbnail[]];\n }>();\n\n const props = withDefaults(\n defineProps<{\n /**\n * Enable drag and drop functionality\n * @default false\n */\n draggable?: boolean;\n\n /**\n * Thumbnail radius. Can be 'rounded' or 'circle'\n * @default 'rounded'\n */\n radius?: ThumbnailRadius;\n\n /**\n * Shows a close button on the thumbnail when set to true\n * @default false\n */\n removable?: boolean;\n\n /**\n * Shows empty thumbnails when set to true\n */\n showEmpty?: boolean;\n\n /**\n * Empty thumbnail options. Only applicable when `showEmpty` is true\n * @default { max: 6 }\n */\n emptyOptions?: ThumbnailEmptyOptions;\n\n /**\n * List of thumbnails to display\n * @default []\n */\n thumbnails?: Thumbnail[];\n }>(),\n {\n thumbnails: () => [],\n draggable: false,\n radius: 'rounded',\n variant: 'opaque',\n removable: false,\n showEmpty: false,\n emptyOptions: () => ({ max: 6 }),\n },\n );\n\n /**\n * The active thumbnail index\n */\n const activeThumbnail = defineModel<number>('activeThumbnail', {\n default: -1,\n });\n\n const internalThumbnails = computed({\n get() {\n return props.thumbnails;\n },\n set(value) {\n emit('update:thumbnails', value);\n },\n });\n\n const thumbnailRef = ref<HTMLElement | null>(null);\n const { isDragging } = useSortable({\n ref: thumbnailRef,\n list: internalThumbnails,\n isEnabled: props.draggable,\n ghostClass: 'thumbnail-ghost',\n chosenClass: 'thumbnail-chosen',\n sortInPlace: false,\n onDragStart: (e) => emit('dragStart', e),\n onDragEnd: (e) => {\n activeThumbnail.value = e.newIndex;\n moveSortableElements({ list: internalThumbnails, from: e.oldIndex, to: e.newIndex });\n emit('dragEnd', e);\n },\n });\n\n const emptyThumbnailsCount = computed(() => {\n if (!props.showEmpty) return 0;\n\n const { max } = props.emptyOptions || {};\n\n return internalThumbnails.value.length < max ? max - internalThumbnails.value.length : 0;\n });\n\n provide(\n THUMBNAIL_INJECTION.key,\n Object.freeze({\n draggable: computed(() => props.draggable),\n removable: computed(() => props.removable),\n thumbnails: internalThumbnails,\n radius: props.radius,\n activeThumbnail,\n isDragging,\n }),\n );\n</script>\n\n<template>\n <ul ref=\"thumbnailRef\" class=\"stash-thumbnail-group tw-flex tw-flex-wrap tw-gap-3\" data-test=\"stash-thumbnail-group\">\n <slot v-bind=\"{ activeThumbnail, isDragging }\"></slot>\n\n <ThumbnailEmpty v-for=\"(_, index) in emptyThumbnailsCount\" :key=\"`empty_thumb_${index}`\" />\n </ul>\n</template>\n\n<style>\n .thumbnail-ghost {\n .stash-thumbnail-item__img {\n border: 1px solid var(-color-blue-500);\n mask-image: none !important;\n box-shadow: theme('boxShadow.DEFAULT');\n }\n\n .stash-thumbnail-item__remove {\n opacity: 0;\n }\n }\n</style>\n\n<style scoped>\n :deep(.thumbnail-chosen) {\n opacity: 0 !important;\n }\n</style>\n"],"names":["emit","__emit","props","__props","activeThumbnail","_useModel","internalThumbnails","computed","value","thumbnailRef","ref","isDragging","useSortable","moveSortableElements","emptyThumbnailsCount","max","provide","THUMBNAIL_INJECTION"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAmBE,UAAMA,IAAOC,GAiBPC,IAAQC,GAmDRC,IAAkBC,EAAoBF,GAAA,iBAE3C,GAEKG,IAAqBC,EAAS;AAAA,MAClC,MAAM;AACJ,eAAOL,EAAM;AAAA,MACf;AAAA,MACA,IAAIM,GAAO;AACT,QAAAR,EAAK,qBAAqBQ,CAAK;AAAA,MAAA;AAAA,IACjC,CACD,GAEKC,IAAeC,EAAwB,IAAI,GAC3C,EAAE,YAAAC,EAAW,IAAIC,EAAY;AAAA,MACjC,KAAKH;AAAA,MACL,MAAMH;AAAA,MACN,WAAWJ,EAAM;AAAA,MACjB,YAAY;AAAA,MACZ,aAAa;AAAA,MACb,aAAa;AAAA,MACb,aAAa,CAAC,MAAMF,EAAK,aAAa,CAAC;AAAA,MACvC,WAAW,CAAC,MAAM;AAChB,QAAAI,EAAgB,QAAQ,EAAE,UACLS,EAAA,EAAE,MAAMP,GAAoB,MAAM,EAAE,UAAU,IAAI,EAAE,UAAU,GACnFN,EAAK,WAAW,CAAC;AAAA,MAAA;AAAA,IACnB,CACD,GAEKc,IAAuBP,EAAS,MAAM;AACtC,UAAA,CAACL,EAAM,UAAkB,QAAA;AAE7B,YAAM,EAAE,KAAAa,EAAA,IAAQb,EAAM,gBAAgB,CAAC;AAEvC,aAAOI,EAAmB,MAAM,SAASS,IAAMA,IAAMT,EAAmB,MAAM,SAAS;AAAA,IAAA,CACxF;AAED,WAAAU;AAAA,MACEC,EAAoB;AAAA,MACpB,OAAO,OAAO;AAAA,QACZ,WAAWV,EAAS,MAAML,EAAM,SAAS;AAAA,QACzC,WAAWK,EAAS,MAAML,EAAM,SAAS;AAAA,QACzC,YAAYI;AAAA,QACZ,QAAQJ,EAAM;AAAA,QACd,iBAAAE;AAAA,QACA,YAAAO;AAAA,MACD,CAAA;AAAA,IACH;;;;;;;;;;;;;"}
@@ -1,4 +1,4 @@
1
- import { computed as e, ref as a } from "vue";
1
+ import { ref as a, computed as e } from "vue";
2
2
  const l = Object.freeze({
3
3
  key: Symbol("THUMBNAIL_INJECTION_KEY"),
4
4
  defaults: Object.freeze({
@@ -13,4 +13,4 @@ const l = Object.freeze({
13
13
  export {
14
14
  l as T
15
15
  };
16
- //# sourceMappingURL=ThumbnailGroup.keys-D6WL5xQ5.js.map
16
+ //# sourceMappingURL=ThumbnailGroup.keys-EJ4qFNhx.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ThumbnailGroup.keys-D6WL5xQ5.js","sources":["../src/components/ThumbnailGroup/ThumbnailGroup.keys.ts"],"sourcesContent":["import { computed, ref } from 'vue';\n\nimport { InjectionWithDefaults } from '../../../types/utils';\nimport { ThumbnailDefinition } from '../Thumbnail/Thumbnail.types';\nimport { ThumbnailInjection, ThumbnailRadius } from './ThumbnailGroup.types';\n\n// See: https://vuejs.org/guide/typescript/composition-api.html#typing-provide-inject\nexport const THUMBNAIL_INJECTION: InjectionWithDefaults<ThumbnailInjection<ThumbnailDefinition>> = Object.freeze({\n key: Symbol('THUMBNAIL_INJECTION_KEY'),\n defaults: Object.freeze({\n radius: 'rounded' as ThumbnailRadius,\n draggable: computed(() => false),\n removable: computed(() => false),\n thumbnails: computed(() => [] as ThumbnailDefinition[]),\n activeThumbnail: ref(undefined),\n isDragging: ref(false),\n }),\n});\n"],"names":["THUMBNAIL_INJECTION","computed","ref"],"mappings":";AAOa,MAAAA,IAAsF,OAAO,OAAO;AAAA,EAC/G,KAAK,OAAO,yBAAyB;AAAA,EACrC,UAAU,OAAO,OAAO;AAAA,IACtB,QAAQ;AAAA,IACR,WAAWC,EAAS,MAAM,EAAK;AAAA,IAC/B,WAAWA,EAAS,MAAM,EAAK;AAAA,IAC/B,YAAYA,EAAS,MAAM,EAA2B;AAAA,IACtD,iBAAiBC,EAAI,MAAS;AAAA,IAC9B,YAAYA,EAAI,EAAK;AAAA,EACtB,CAAA;AACH,CAAC;"}
1
+ {"version":3,"file":"ThumbnailGroup.keys-EJ4qFNhx.js","sources":["../src/components/ThumbnailGroup/ThumbnailGroup.keys.ts"],"sourcesContent":["import { computed, ref } from 'vue';\n\nimport { InjectionWithDefaults } from '../../../types/utils';\nimport { ThumbnailDefinition } from '../Thumbnail/Thumbnail.types';\nimport { ThumbnailInjection, ThumbnailRadius } from './ThumbnailGroup.types';\n\n// See: https://vuejs.org/guide/typescript/composition-api.html#typing-provide-inject\nexport const THUMBNAIL_INJECTION: InjectionWithDefaults<ThumbnailInjection<ThumbnailDefinition>> = Object.freeze({\n key: Symbol('THUMBNAIL_INJECTION_KEY'),\n defaults: Object.freeze({\n radius: 'rounded' as ThumbnailRadius,\n draggable: computed(() => false),\n removable: computed(() => false),\n thumbnails: computed(() => [] as ThumbnailDefinition[]),\n activeThumbnail: ref(undefined),\n isDragging: ref(false),\n }),\n});\n"],"names":["THUMBNAIL_INJECTION","computed","ref"],"mappings":";AAOa,MAAAA,IAAsF,OAAO,OAAO;AAAA,EAC/G,KAAK,OAAO,yBAAyB;AAAA,EACrC,UAAU,OAAO,OAAO;AAAA,IACtB,QAAQ;AAAA,IACR,WAAWC,EAAS,MAAM,EAAK;AAAA,IAC/B,WAAWA,EAAS,MAAM,EAAK;AAAA,IAC/B,YAAYA,EAAS,MAAM,EAA2B;AAAA,IACtD,iBAAiBC,EAAI,MAAS;AAAA,IAC9B,YAAYA,EAAI,EAAK;AAAA,EACtB,CAAA;AACH,CAAC;"}
package/dist/Timeline.js CHANGED
@@ -1,4 +1,4 @@
1
- import { defineComponent as o, provide as n, computed as t, openBlock as a, createElementBlock as r, normalizeClass as d, renderSlot as l } from "vue";
1
+ import { defineComponent as o, provide as n, computed as t, createElementBlock as a, openBlock as r, normalizeClass as d, renderSlot as l } from "vue";
2
2
  import { T as m } from "./keys-BEdEsanp.js";
3
3
  import { _ as p } from "./_plugin-vue_export-helper-CHgC5LLL.js";
4
4
  const c = /* @__PURE__ */ o({
@@ -12,7 +12,7 @@ const c = /* @__PURE__ */ o({
12
12
  return n(m.key, {
13
13
  side: t(() => e.side),
14
14
  density: t(() => e.density)
15
- }), (i, f) => (a(), r("ol", {
15
+ }), (i, f) => (r(), a("ol", {
16
16
  class: d(["stash-timeline tw-grid tw-grid-flow-dense tw-items-start tw-justify-center tw-gap-x-3 tw-gap-y-1.5", [`stash-timeline--${e.side}`, `stash-timeline--${e.density}`]]),
17
17
  "data-test": "stash-timeline"
18
18
  }, [
@@ -1,4 +1,4 @@
1
- import { defineComponent as w, useSlots as v, inject as f, computed as m, openBlock as c, createElementBlock as r, createElementVNode as e, normalizeClass as p, renderSlot as d, createCommentVNode as h } from "vue";
1
+ import { defineComponent as w, useSlots as v, inject as f, computed as m, createElementBlock as c, openBlock as r, createElementVNode as e, createCommentVNode as h, normalizeClass as p, renderSlot as d } from "vue";
2
2
  import { T as _ } from "./keys-BEdEsanp.js";
3
3
  const I = {
4
4
  class: "stash-timeline-item group tw-contents tw-list-none",
@@ -22,7 +22,7 @@ const I = {
22
22
  "tw-mb-3": o.value === "compact",
23
23
  "tw-mb-6": o.value === "comfortable"
24
24
  }));
25
- return (l, a) => (c(), r("li", I, [
25
+ return (l, a) => (r(), c("li", I, [
26
26
  e("div", {
27
27
  class: p(["stash-timeline-item__main-content", [n.value.main, i.value]]),
28
28
  "data-test": "stash-timeline-item|content"
@@ -36,7 +36,7 @@ const I = {
36
36
  e("div", { class: "tw-mt-[5px] tw-rounded-full tw-bg-ice-500 tw-p-1.5" }),
37
37
  e("div", { class: "tw-w-[2px] tw-flex-1 tw-bg-ice-500" })
38
38
  ], -1)),
39
- u.opposite ? (c(), r("div", {
39
+ u.opposite ? (r(), c("div", {
40
40
  key: 0,
41
41
  class: p(["stash-timeline-item__opposite-content", [n.value.opposite, i.value]]),
42
42
  "data-test": "stash-timeline-item|opposite-content"