@leaflink/stash 48.10.0 → 48.10.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.
Files changed (130) hide show
  1. package/dist/Accordion.js +1 -1
  2. package/dist/ActionsDropdown.js +1 -1
  3. package/dist/AddressSelect.js +1 -1
  4. package/dist/AddressSelect.js.map +1 -1
  5. package/dist/Alert.js +1 -1
  6. package/dist/Alert.js.map +1 -1
  7. package/dist/AppNavigationItem.js +1 -1
  8. package/dist/AppTopbar.js +1 -1
  9. package/dist/Avatar.vue.d.ts +1 -1
  10. package/dist/Badge.js.map +1 -1
  11. package/dist/Button.vue.d.ts +3 -1
  12. package/dist/CardMedia.js +1 -1
  13. package/dist/Carousel.js.map +1 -1
  14. package/dist/ChevronToggle.js +1 -1
  15. package/dist/ChevronToggle.vue_vue_type_script_setup_true_lang-1591294c.js.map +1 -1
  16. package/dist/Chip.js +1 -1
  17. package/dist/Chip.js.map +1 -1
  18. package/dist/Chip.vue.d.ts +1 -1
  19. package/dist/ConfirmationCodeInput.js.map +1 -1
  20. package/dist/ContextSwitcher.js.map +1 -1
  21. package/dist/Copy.js +1 -1
  22. package/dist/CurrencyInput.js +39 -34
  23. package/dist/CurrencyInput.js.map +1 -1
  24. package/dist/DataView.js +1 -1
  25. package/dist/DataView.js.map +1 -1
  26. package/dist/DataViewFilters.js +1 -1
  27. package/dist/DataViewFilters.js.map +1 -1
  28. package/dist/DataViewSortButton.js +1 -1
  29. package/dist/DataViewToolbar.js +1 -1
  30. package/dist/DatePicker.js +3355 -3368
  31. package/dist/DatePicker.js.map +1 -1
  32. package/dist/Dialog.js +75 -69
  33. package/dist/Dialog.js.map +1 -1
  34. package/dist/Dropdown.js +1 -1
  35. package/dist/Dropdown.js.map +1 -1
  36. package/dist/EmptyState.js +2 -2
  37. package/dist/Expand.vue_vue_type_script_setup_true_lang-1751f4a6.js.map +1 -1
  38. package/dist/FileUpload.js +1 -1
  39. package/dist/FileUpload.js.map +1 -1
  40. package/dist/FilterChip.js +1 -1
  41. package/dist/FilterDrawerItem.js +1 -1
  42. package/dist/FilterDropdown.js +1 -1
  43. package/dist/FilterSelect.js +1 -1
  44. package/dist/FilterSelect.js.map +1 -1
  45. package/dist/Filters.js +1 -1
  46. package/dist/Filters.js.map +1 -1
  47. package/dist/HttpError.js +2 -2
  48. package/dist/Icon.js +1 -1
  49. package/dist/Icon.js.map +1 -1
  50. package/dist/IconLabel.js +1 -1
  51. package/dist/IconLabel.vue.d.ts +1 -1
  52. package/dist/Illustration.js +3 -3
  53. package/dist/{Illustration.vue_vue_type_script_setup_true_lang-4b8944da.js → Illustration.vue_vue_type_script_setup_true_lang-e26c3841.js} +2 -2
  54. package/dist/{Illustration.vue_vue_type_script_setup_true_lang-4b8944da.js.map → Illustration.vue_vue_type_script_setup_true_lang-e26c3841.js.map} +1 -1
  55. package/dist/Image.js.map +1 -1
  56. package/dist/InlineEdit.js +1 -1
  57. package/dist/Input.js +1 -1
  58. package/dist/Input.js.map +1 -1
  59. package/dist/InputOptions.js +1 -1
  60. package/dist/LicenseChip.js +1 -1
  61. package/dist/ListView.js +2 -2
  62. package/dist/ListView.js.map +1 -1
  63. package/dist/Logo.vue_vue_type_script_setup_true_lang-d7da48a0.js.map +1 -1
  64. package/dist/Metric.vue.d.ts +1 -1
  65. package/dist/Modal.js +1 -1
  66. package/dist/Modals.js +6 -6
  67. package/dist/Modals.js.map +1 -1
  68. package/dist/ObfuscateText.js +1 -1
  69. package/dist/PageNavigation.js +1 -1
  70. package/dist/PageNavigation.js.map +1 -1
  71. package/dist/Paginate.js +1 -1
  72. package/dist/PlaidLink.js.map +1 -1
  73. package/dist/QuickAction.js +1 -1
  74. package/dist/RadioNew.js.map +1 -1
  75. package/dist/RangeInput.js +1 -1
  76. package/dist/SearchBar.js +1 -1
  77. package/dist/Select.js +709 -653
  78. package/dist/Select.js.map +1 -1
  79. package/dist/SelectStatus.js +1 -1
  80. package/dist/SelectStatus.js.map +1 -1
  81. package/dist/SelectStatus.vue.d.ts +1 -1
  82. package/dist/Skeleton.js.map +1 -1
  83. package/dist/Step.js +1 -1
  84. package/dist/Stepper.js +1 -1
  85. package/dist/Tab.js +1 -1
  86. package/dist/Tab.vue_vue_type_script_setup_true_lang-69d1b046.js.map +1 -1
  87. package/dist/Table.js +2 -2
  88. package/dist/TableCell.js +2 -2
  89. package/dist/TableHeaderCell.js +2 -2
  90. package/dist/TableHeaderRow.js +2 -2
  91. package/dist/TableRow.js +2 -2
  92. package/dist/TableRow.vue.d.ts +1 -1
  93. package/dist/Tabs.js +1 -1
  94. package/dist/TextEditor.js +991 -991
  95. package/dist/TextEditor.js.map +1 -1
  96. package/dist/Textarea.js.map +1 -1
  97. package/dist/Toast.js +274 -252
  98. package/dist/Toast.js.map +1 -1
  99. package/dist/Toasts.js +1 -1
  100. package/dist/ToastsPlugin.js +1 -1
  101. package/dist/components.css +2 -2
  102. package/dist/index-5e5945a9.js.map +1 -1
  103. package/dist/{index-79ce320f.js → index-9e1095ef.js} +6 -4
  104. package/dist/index-9e1095ef.js.map +1 -0
  105. package/dist/index.d.ts +1 -1
  106. package/dist/index.js +1 -1
  107. package/dist/index.js.map +1 -1
  108. package/dist/isDefined-2ce6cde4.js.map +1 -1
  109. package/dist/observe.js.map +1 -1
  110. package/dist/searchFuzzy-74a7de1c.js.map +1 -1
  111. package/dist/sticky.js.map +1 -1
  112. package/dist/tailwind-base.js.map +1 -1
  113. package/dist/toTimeZone-e6e9ab75.js.map +1 -1
  114. package/dist/tooltip.js.map +1 -1
  115. package/dist/useGoogleMaps.js +109 -119
  116. package/dist/useGoogleMaps.js.map +1 -1
  117. package/dist/useModals.d.ts +6 -363
  118. package/dist/useModals.js.map +1 -1
  119. package/dist/useScriptTag.js.map +1 -1
  120. package/dist/useStepper.js.map +1 -1
  121. package/dist/useValidation.js.map +1 -1
  122. package/dist/utils/colorScheme.js.map +1 -1
  123. package/dist/utils/createQueryString.js.map +1 -1
  124. package/dist/utils/formatDateTime.js.map +1 -1
  125. package/dist/utils/helpers.js.map +1 -1
  126. package/dist/utils/i18n.js.map +1 -1
  127. package/dist/utils/storage.js.map +1 -1
  128. package/dist/viewable.js.map +1 -1
  129. package/package.json +30 -46
  130. package/dist/index-79ce320f.js.map +0 -1
@@ -3,7 +3,7 @@ import f from "./Icon.js";
3
3
  import V from "./Select.js";
4
4
  import { _ as $ } from "./_plugin-vue_export-helper-dad06003.js";
5
5
  import "lodash-es/uniqueId";
6
- import "./index-79ce320f.js";
6
+ import "./index-9e1095ef.js";
7
7
  import "./Icon.vue_used_vue_type_style_index_0_lang.module-eb359559.js";
8
8
  import "@leaflink/snitch";
9
9
  import "lodash-es/debounce";
@@ -1 +1 @@
1
- {"version":3,"file":"SelectStatus.js","sources":["../src/components/SelectStatus/SelectStatus.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { computed, useAttrs, useCssModule } from 'vue';\n\n import { StashCommonColor, StashPrimaryColorGroup } from '../../../types';\n import { IconName } from '../Icon/Icon.types';\n import Icon from '../Icon/Icon.vue';\n import Select from '../Select/Select.vue';\n\n defineOptions({\n name: 'll-select-status',\n });\n\n export type SelectStatusOption = {\n id: number | string;\n name: string;\n color?: StashPrimaryColorGroup | StashCommonColor; // todo: just `StashPrimaryColor`?.\n icon?: IconName;\n };\n\n export interface SelectStatusProps {\n /**\n * Disables the component, if true\n */\n disabled?: boolean;\n /**\n * Which key of the prop option to use for display\n */\n displayBy?: string;\n /**\n * Sets the background color of the component to the color of the selected option\n */\n secondary?: boolean;\n /**\n * Allows option text to wrap to next line when set to true\n */\n noTruncate?: boolean;\n /**\n * Placeholder text\n */\n placeholder?: string;\n /**\n * The list of all options to select the status from\n * each object must have the following structure: { id: number | string, name: string, color?: string }\n */\n statusOptions: Array<SelectStatusOption>;\n /**\n * Default field to track the selected status by\n */\n trackBy?: string;\n /**\n * Sets the currently-selected option for the component\n */\n modelValue: number | string | boolean;\n /**\n * @deprecated Use `:model-value` or `v-model` instead of `:value`.\n */\n value?: number | string | boolean | null;\n }\n\n /**\n * Array containing the available dark fill colors that need a different text color.\n */\n const DARK_FILL_COLORS = ['green', 'teal', 'ice', 'yellow', 'seafoam', 'seafoam-700'];\n\n const attrs = useAttrs();\n const classes = useCssModule();\n\n const props = withDefaults(defineProps<SelectStatusProps>(), {\n disabled: false,\n displayBy: 'name',\n secondary: false,\n noTruncate: false,\n placeholder: 'Select Status',\n trackBy: 'id',\n value: null,\n });\n\n if (props.value) {\n throw new Error('ll-select-status: use :model-value or v-model instead of :value.');\n }\n\n if (attrs.onInput) {\n throw new Error('ll-select-status: use the @update:model-value event instead of @input');\n }\n\n const emit =\n defineEmits<{\n /**\n * Emitted when the model value changes\n */\n (e: 'update:model-value', value: unknown): void;\n }>();\n\n const valueOption = computed(() => {\n return props.statusOptions.find((status) => status[props.trackBy] === props.modelValue);\n });\n\n const hasDarkFill = computed(() => {\n const { color = '' } = valueOption.value || {};\n return DARK_FILL_COLORS.includes(color);\n });\n\n /**\n * @param {string} color Valid color name\n * @return {string} tailwind class for given color\n */\n function getBgColor(color: SelectStatusOption['color']): string {\n // if there's no hyphen then it's a color name and has no shade, so we default to 500\n return color?.includes('-') ? `tw-bg-${color}` : `tw-bg-${color}-500`;\n }\n\n /**\n * @param {string} color Valid color name\n * @return {string} tailwind class for given color\n */\n function getTextColor(color: SelectStatusOption['color']): string {\n // if there's no hyphen then it's a color name and has no shade, so we default to 500\n return color?.includes('-') ? `tw-text-${color}` : `tw-text-${color}-500`;\n }\n\n function onSelect(value?: SelectStatusOption): void {\n emit('update:model-value', value?.[props.trackBy] ?? '');\n }\n</script>\n\n<template>\n <Select\n ref=\"select\"\n hide-search\n single\n :class=\"[\n classes.select,\n {\n 'stash-select-status--filled': props.secondary,\n 'stash-select-status--filled-dark': props.secondary && hasDarkFill,\n },\n ]\"\n :disabled=\"props.disabled\"\n :icon=\"!props.disabled && 'caret-down'\"\n :options=\"props.statusOptions\"\n :placeholder=\"props.placeholder\"\n :track-by=\"props.trackBy\"\n :model-value=\"valueOption\"\n data-test=\"stash-select-status\"\n class=\"stash-select-status\"\n @update:model-value=\"onSelect\"\n >\n <template #selected=\"{ option }\">\n <div\n v-if=\"props.secondary\"\n class=\"\n stash-select-status--selected\n tw-absolute tw-inset-0 tw-flex tw-h-full tw-w-full tw-items-center tw-rounded tw-pl-3\n \"\n data-test=\"select-status|value\"\n :class=\"[getBgColor(option.color)]\"\n >\n <span class=\"tw-mr-6 tw-truncate\">{{ option[props.displayBy] }}</span>\n </div>\n\n <div v-else class=\"tw-flex tw-items-center\" data-test=\"select-status|value\">\n <Icon\n data-test=\"select-status|value-icon\"\n :name=\"option.icon || 'circle-status'\"\n :class=\"[\n { [getTextColor(option.color)]: option.color },\n { 'tw-text-ice-700': !option.color && !option.hexCode },\n ]\"\n :style=\"{ color: option.hexCode }\"\n />\n <span class=\"tw-ml-1.5 tw-mr-6 tw-truncate\">{{ option[props.displayBy] }}</span>\n </div>\n </template>\n\n <template #option=\"{ option }\">\n <div class=\"tw-flex tw-min-w-0\">\n <Icon\n data-test=\"svg|status-color\"\n :name=\"option.icon || 'circle-status'\"\n :class=\"[\n { [getTextColor(option.color)]: option.color },\n { 'tw-text-ice-700': !option.color && !option.hexCode },\n ]\"\n class=\"!tw-shrink-0\"\n :style=\"{ color: option.hexCode }\"\n />\n <span data-test=\"span|option-text\" class=\"tw-ml-1.5\" :class=\"!props.noTruncate && 'tw-truncate'\">\n {{ option[props.displayBy] }}\n </span>\n </div>\n </template>\n </Select>\n</template>\n\n<style module>\n :global(.stash-select-status--filled .stash-select__content) {\n border: none;\n padding: 0;\n }\n\n :global(.stash-select-status--filled\n .stash-select--active\n .stash-select__content:focus-within\n .stash-select__border-selector) {\n box-sizing: content-box;\n max-width: calc(100% - 2px);\n }\n\n :global(.stash-select-status--filled .stash-select-status--selected),\n :global(.stash-select-status--filled :has(.stash-select-status--selected) .icon--caret-down) {\n color: theme('colors.white');\n }\n\n :global(.stash-select-status--filled-dark .stash-select-status--selected),\n :global(.stash-select-status--filled-dark :has(.stash-select-status--selected) .icon--caret-down) {\n color: var(--color-ice-900);\n }\n\n .select :global(.stash-select--disabled > .stash-select__content) {\n background-color: transparent;\n border-color: transparent;\n }\n\n .select :deep(.stash-select__chips) {\n margin: 0;\n }\n\n .select :global(.stash-select__options) {\n margin: 0;\n padding: 0;\n }\n\n .select ul {\n position: relative;\n }\n</style>\n"],"names":["DARK_FILL_COLORS","attrs","useAttrs","classes","useCssModule","props","valueOption","computed","status","hasDarkFill","color","getBgColor","getTextColor","onSelect","value","emit"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA8DQA,IAAmB,CAAC,SAAS,QAAQ,OAAO,UAAU,WAAW,aAAa,GAE9EC,IAAQC,KACRC,IAAUC;AAYhB,QAAIC,EAAM;AACF,YAAA,IAAI,MAAM,kEAAkE;AAGpF,QAAIJ,EAAM;AACF,YAAA,IAAI,MAAM,uEAAuE;AAWnF,UAAAK,IAAcC,EAAS,MACpBF,EAAM,cAAc,KAAK,CAACG,MAAWA,EAAOH,EAAM,OAAO,MAAMA,EAAM,UAAU,CACvF,GAEKI,IAAcF,EAAS,MAAM;AACjC,YAAM,EAAE,OAAAG,IAAQ,GAAA,IAAOJ,EAAY,SAAS,CAAA;AACrC,aAAAN,EAAiB,SAASU,CAAK;AAAA,IAAA,CACvC;AAMD,aAASC,EAAWD,GAA4C;AAEvD,aAAAA,KAAA,QAAAA,EAAO,SAAS,OAAO,SAASA,CAAK,KAAK,SAASA,CAAK;AAAA,IACjE;AAMA,aAASE,EAAaF,GAA4C;AAEzD,aAAAA,KAAA,QAAAA,EAAO,SAAS,OAAO,WAAWA,CAAK,KAAK,WAAWA,CAAK;AAAA,IACrE;AAEA,aAASG,EAASC,GAAkC;AAClD,MAAAC,EAAK,uBAAsBD,KAAA,gBAAAA,EAAQT,EAAM,aAAY,EAAE;AAAA,IACzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"SelectStatus.js","sources":["../src/components/SelectStatus/SelectStatus.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { computed, useAttrs, useCssModule } from 'vue';\n\n import { StashCommonColor, StashPrimaryColorGroup } from '../../../types';\n import { IconName } from '../Icon/Icon.types';\n import Icon from '../Icon/Icon.vue';\n import Select from '../Select/Select.vue';\n\n defineOptions({\n name: 'll-select-status',\n });\n\n export type SelectStatusOption = {\n id: number | string;\n name: string;\n color?: StashPrimaryColorGroup | StashCommonColor; // todo: just `StashPrimaryColor`?.\n icon?: IconName;\n };\n\n export interface SelectStatusProps {\n /**\n * Disables the component, if true\n */\n disabled?: boolean;\n /**\n * Which key of the prop option to use for display\n */\n displayBy?: string;\n /**\n * Sets the background color of the component to the color of the selected option\n */\n secondary?: boolean;\n /**\n * Allows option text to wrap to next line when set to true\n */\n noTruncate?: boolean;\n /**\n * Placeholder text\n */\n placeholder?: string;\n /**\n * The list of all options to select the status from\n * each object must have the following structure: { id: number | string, name: string, color?: string }\n */\n statusOptions: Array<SelectStatusOption>;\n /**\n * Default field to track the selected status by\n */\n trackBy?: string;\n /**\n * Sets the currently-selected option for the component\n */\n modelValue: number | string | boolean;\n /**\n * @deprecated Use `:model-value` or `v-model` instead of `:value`.\n */\n value?: number | string | boolean | null;\n }\n\n /**\n * Array containing the available dark fill colors that need a different text color.\n */\n const DARK_FILL_COLORS = ['green', 'teal', 'ice', 'yellow', 'seafoam', 'seafoam-700'];\n\n const attrs = useAttrs();\n const classes = useCssModule();\n\n const props = withDefaults(defineProps<SelectStatusProps>(), {\n disabled: false,\n displayBy: 'name',\n secondary: false,\n noTruncate: false,\n placeholder: 'Select Status',\n trackBy: 'id',\n value: null,\n });\n\n if (props.value) {\n throw new Error('ll-select-status: use :model-value or v-model instead of :value.');\n }\n\n if (attrs.onInput) {\n throw new Error('ll-select-status: use the @update:model-value event instead of @input');\n }\n\n const emit =\n defineEmits<{\n /**\n * Emitted when the model value changes\n */\n (e: 'update:model-value', value: unknown): void;\n }>();\n\n const valueOption = computed(() => {\n return props.statusOptions.find((status) => status[props.trackBy] === props.modelValue);\n });\n\n const hasDarkFill = computed(() => {\n const { color = '' } = valueOption.value || {};\n return DARK_FILL_COLORS.includes(color);\n });\n\n /**\n * @param {string} color Valid color name\n * @return {string} tailwind class for given color\n */\n function getBgColor(color: SelectStatusOption['color']): string {\n // if there's no hyphen then it's a color name and has no shade, so we default to 500\n return color?.includes('-') ? `tw-bg-${color}` : `tw-bg-${color}-500`;\n }\n\n /**\n * @param {string} color Valid color name\n * @return {string} tailwind class for given color\n */\n function getTextColor(color: SelectStatusOption['color']): string {\n // if there's no hyphen then it's a color name and has no shade, so we default to 500\n return color?.includes('-') ? `tw-text-${color}` : `tw-text-${color}-500`;\n }\n\n function onSelect(value?: SelectStatusOption): void {\n emit('update:model-value', value?.[props.trackBy] ?? '');\n }\n</script>\n\n<template>\n <Select\n ref=\"select\"\n hide-search\n single\n :class=\"[\n classes.select,\n {\n 'stash-select-status--filled': props.secondary,\n 'stash-select-status--filled-dark': props.secondary && hasDarkFill,\n },\n ]\"\n :disabled=\"props.disabled\"\n :icon=\"!props.disabled && 'caret-down'\"\n :options=\"props.statusOptions\"\n :placeholder=\"props.placeholder\"\n :track-by=\"props.trackBy\"\n :model-value=\"valueOption\"\n data-test=\"stash-select-status\"\n class=\"stash-select-status\"\n @update:model-value=\"onSelect\"\n >\n <template #selected=\"{ option }\">\n <div\n v-if=\"props.secondary\"\n class=\"\n stash-select-status--selected\n tw-absolute tw-inset-0 tw-flex tw-h-full tw-w-full tw-items-center tw-rounded tw-pl-3\n \"\n data-test=\"select-status|value\"\n :class=\"[getBgColor(option.color)]\"\n >\n <span class=\"tw-mr-6 tw-truncate\">{{ option[props.displayBy] }}</span>\n </div>\n\n <div v-else class=\"tw-flex tw-items-center\" data-test=\"select-status|value\">\n <Icon\n data-test=\"select-status|value-icon\"\n :name=\"option.icon || 'circle-status'\"\n :class=\"[\n { [getTextColor(option.color)]: option.color },\n { 'tw-text-ice-700': !option.color && !option.hexCode },\n ]\"\n :style=\"{ color: option.hexCode }\"\n />\n <span class=\"tw-ml-1.5 tw-mr-6 tw-truncate\">{{ option[props.displayBy] }}</span>\n </div>\n </template>\n\n <template #option=\"{ option }\">\n <div class=\"tw-flex tw-min-w-0\">\n <Icon\n data-test=\"svg|status-color\"\n :name=\"option.icon || 'circle-status'\"\n :class=\"[\n { [getTextColor(option.color)]: option.color },\n { 'tw-text-ice-700': !option.color && !option.hexCode },\n ]\"\n class=\"!tw-shrink-0\"\n :style=\"{ color: option.hexCode }\"\n />\n <span data-test=\"span|option-text\" class=\"tw-ml-1.5\" :class=\"!props.noTruncate && 'tw-truncate'\">\n {{ option[props.displayBy] }}\n </span>\n </div>\n </template>\n </Select>\n</template>\n\n<style module>\n :global(.stash-select-status--filled .stash-select__content) {\n border: none;\n padding: 0;\n }\n\n :global(.stash-select-status--filled\n .stash-select--active\n .stash-select__content:focus-within\n .stash-select__border-selector) {\n box-sizing: content-box;\n max-width: calc(100% - 2px);\n }\n\n :global(.stash-select-status--filled .stash-select-status--selected),\n :global(.stash-select-status--filled :has(.stash-select-status--selected) .icon--caret-down) {\n color: theme('colors.white');\n }\n\n :global(.stash-select-status--filled-dark .stash-select-status--selected),\n :global(.stash-select-status--filled-dark :has(.stash-select-status--selected) .icon--caret-down) {\n color: var(--color-ice-900);\n }\n\n .select :global(.stash-select--disabled > .stash-select__content) {\n background-color: transparent;\n border-color: transparent;\n }\n\n .select :deep(.stash-select__chips) {\n margin: 0;\n }\n\n .select :global(.stash-select__options) {\n margin: 0;\n padding: 0;\n }\n\n .select ul {\n position: relative;\n }\n</style>\n"],"names":["DARK_FILL_COLORS","attrs","useAttrs","classes","useCssModule","props","valueOption","computed","status","hasDarkFill","color","getBgColor","getTextColor","onSelect","value","emit"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA8DQA,IAAmB,CAAC,SAAS,QAAQ,OAAO,UAAU,WAAW,aAAa,GAE9EC,IAAQC,KACRC,IAAUC;AAYhB,QAAIC,EAAM;AACF,YAAA,IAAI,MAAM,kEAAkE;AAGpF,QAAIJ,EAAM;AACF,YAAA,IAAI,MAAM,uEAAuE;AAWnF,UAAAK,IAAcC,EAAS,MACpBF,EAAM,cAAc,KAAK,CAACG,MAAWA,EAAOH,EAAM,OAAO,MAAMA,EAAM,UAAU,CACvF,GAEKI,IAAcF,EAAS,MAAM;AACjC,YAAM,EAAE,OAAAG,IAAQ,GAAA,IAAOJ,EAAY,SAAS,CAAA;AACrC,aAAAN,EAAiB,SAASU,CAAK;AAAA,IAAA,CACvC;AAMD,aAASC,EAAWD,GAA4C;AAE9D,aAAOA,KAAA,QAAAA,EAAO,SAAS,OAAO,SAASA,MAAU,SAASA;AAAA,IAC5D;AAMA,aAASE,EAAaF,GAA4C;AAEhE,aAAOA,KAAA,QAAAA,EAAO,SAAS,OAAO,WAAWA,MAAU,WAAWA;AAAA,IAChE;AAEA,aAASG,EAASC,GAAkC;AAClD,MAAAC,EAAK,uBAAsBD,KAAA,gBAAAA,EAAQT,EAAM,aAAY,EAAE;AAAA,IACzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -144,7 +144,7 @@ declare enum StashCommonColors {
144
144
  Red100 = "red-100",
145
145
  Ice700 = "ice-700",
146
146
  Ice500 = "ice-500",
147
- Ice200 = "ice-200",// This is the one outlier, but it's used purposefully in a few places
147
+ Ice200 = "ice-200",
148
148
  Ice100 = "ice-100",
149
149
  White = "white",
150
150
  Black = "black"
@@ -1 +1 @@
1
- {"version":3,"file":"Skeleton.js","sources":["../src/components/Skeleton/Skeleton.vue"],"sourcesContent":["<script lang=\"ts\">\n export enum SkeletonVariants {\n Text = 'text',\n Circular = 'circular',\n Rectangular = 'rectangular',\n }\n\n export type SkeletonVariant = `${SkeletonVariants}`;\n</script>\n\n<script setup lang=\"ts\">\n import { computed, useCssModule, useSlots } from 'vue';\n\n export interface SkeletonProps {\n /** Pass a pixel value for circular and rectangular variants */\n height?: string | number;\n\n /** Either text, circular, or rectangular */\n variant?: SkeletonVariant;\n\n /** Pass a pixel value for any variant */\n width?: string | number;\n }\n\n const props = withDefaults(defineProps<SkeletonProps>(), {\n height: undefined,\n variant: SkeletonVariants.Text,\n width: undefined,\n });\n\n const slots = useSlots();\n const classes = useCssModule();\n\n const hasChildren = computed(() => !!slots['default']);\n\n const computedStyles = computed(() => {\n const styles: {\n width?: string;\n height?: string;\n } = {};\n\n if (props.width) {\n styles.width = `${props.width}px`;\n }\n\n // If the variant is text, let the font-size define the height\n if (props.height && props.variant !== SkeletonVariants.Text) {\n styles.height = `${props.height}px`;\n }\n\n return styles;\n });\n</script>\n\n<template>\n <div\n data-test=\"stash-skeleton\"\n class=\"stash-skeleton tw-animate-pulse tw-bg-ice-500\"\n :class=\"{\n 'stash-skeleton--circular tw-rounded-full': props.variant === SkeletonVariants.Circular,\n 'stash-skeleton--text tw-rounded': props.variant === SkeletonVariants.Text,\n [classes['text-variant']]: props.variant === SkeletonVariants.Text,\n 'stash-skeleton--rectangular tw-rounded': props.variant === SkeletonVariants.Rectangular,\n [classes['has-children']]: hasChildren,\n 'tw-max-w-fit': hasChildren && !props.width,\n 'tw-h-auto': hasChildren && !props.height,\n }\"\n :style=\"computedStyles\"\n >\n <!-- @slot Default slot for style inheritance -->\n <slot></slot>\n </div>\n</template>\n\n<style module>\n .text-variant::before {\n content: '\\00a0';\n }\n\n .has-children > * {\n visibility: hidden;\n }\n</style>\n"],"names":["SkeletonVariants","slots","useSlots","classes","useCssModule","hasChildren","computed","computedStyles","styles","props"],"mappings":";;AACc,IAAAA,sBAAAA,OACVA,EAAA,OAAO,QACPA,EAAA,WAAW,YACXA,EAAA,cAAc,eAHJA,IAAAA,KAAA,CAAA,CAAA;;;;;;;;;;;;iBA6BNC,IAAQC,KACRC,IAAUC,KAEVC,IAAcC,EAAS,MAAM,CAAC,CAACL,EAAM,OAAU,GAE/CM,IAAiBD,EAAS,MAAM;AACpC,YAAME,IAGF,CAAA;AAEJ,aAAIC,EAAM,UACDD,EAAA,QAAQ,GAAGC,EAAM,KAAK,OAI3BA,EAAM,UAAUA,EAAM,YAAY,WAC7BD,EAAA,SAAS,GAAGC,EAAM,MAAM,OAG1BD;AAAA,IAAA,CACR;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Skeleton.js","sources":["../src/components/Skeleton/Skeleton.vue"],"sourcesContent":["<script lang=\"ts\">\n export enum SkeletonVariants {\n Text = 'text',\n Circular = 'circular',\n Rectangular = 'rectangular',\n }\n\n export type SkeletonVariant = `${SkeletonVariants}`;\n</script>\n\n<script setup lang=\"ts\">\n import { computed, useCssModule, useSlots } from 'vue';\n\n export interface SkeletonProps {\n /** Pass a pixel value for circular and rectangular variants */\n height?: string | number;\n\n /** Either text, circular, or rectangular */\n variant?: SkeletonVariant;\n\n /** Pass a pixel value for any variant */\n width?: string | number;\n }\n\n const props = withDefaults(defineProps<SkeletonProps>(), {\n height: undefined,\n variant: SkeletonVariants.Text,\n width: undefined,\n });\n\n const slots = useSlots();\n const classes = useCssModule();\n\n const hasChildren = computed(() => !!slots['default']);\n\n const computedStyles = computed(() => {\n const styles: {\n width?: string;\n height?: string;\n } = {};\n\n if (props.width) {\n styles.width = `${props.width}px`;\n }\n\n // If the variant is text, let the font-size define the height\n if (props.height && props.variant !== SkeletonVariants.Text) {\n styles.height = `${props.height}px`;\n }\n\n return styles;\n });\n</script>\n\n<template>\n <div\n data-test=\"stash-skeleton\"\n class=\"stash-skeleton tw-animate-pulse tw-bg-ice-500\"\n :class=\"{\n 'stash-skeleton--circular tw-rounded-full': props.variant === SkeletonVariants.Circular,\n 'stash-skeleton--text tw-rounded': props.variant === SkeletonVariants.Text,\n [classes['text-variant']]: props.variant === SkeletonVariants.Text,\n 'stash-skeleton--rectangular tw-rounded': props.variant === SkeletonVariants.Rectangular,\n [classes['has-children']]: hasChildren,\n 'tw-max-w-fit': hasChildren && !props.width,\n 'tw-h-auto': hasChildren && !props.height,\n }\"\n :style=\"computedStyles\"\n >\n <!-- @slot Default slot for style inheritance -->\n <slot></slot>\n </div>\n</template>\n\n<style module>\n .text-variant::before {\n content: '\\00a0';\n }\n\n .has-children > * {\n visibility: hidden;\n }\n</style>\n"],"names":["SkeletonVariants","slots","useSlots","classes","useCssModule","hasChildren","computed","computedStyles","styles","props"],"mappings":";;AACc,IAAAA,sBAAAA,OACVA,EAAA,OAAO,QACPA,EAAA,WAAW,YACXA,EAAA,cAAc,eAHJA,IAAAA,KAAA,CAAA,CAAA;;;;;;;;;;;;iBA6BNC,IAAQC,KACRC,IAAUC,KAEVC,IAAcC,EAAS,MAAM,CAAC,CAACL,EAAM,OAAU,GAE/CM,IAAiBD,EAAS,MAAM;AACpC,YAAME,IAGF,CAAA;AAEJ,aAAIC,EAAM,UACDD,EAAA,QAAQ,GAAGC,EAAM,YAItBA,EAAM,UAAUA,EAAM,YAAY,WAC7BD,EAAA,SAAS,GAAGC,EAAM,aAGpBD;AAAA,IAAA,CACR;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/Step.js CHANGED
@@ -5,7 +5,7 @@ import { S as z } from "./keys-7ecef029.js";
5
5
  import { _ as M } from "./_plugin-vue_export-helper-dad06003.js";
6
6
  import "lodash-es/get";
7
7
  import "lodash-es/uniqueId";
8
- import "./index-79ce320f.js";
8
+ import "./index-9e1095ef.js";
9
9
  import "./Icon.vue_used_vue_type_style_index_0_lang.module-eb359559.js";
10
10
  const S = { key: 1 }, I = /* @__PURE__ */ x({
11
11
  __name: "Step",
package/dist/Stepper.js CHANGED
@@ -7,7 +7,7 @@ import { S as A } from "./keys-7ecef029.js";
7
7
  import "./Button.vue_used_vue_type_style_index_0_lang.module-a9290468.js";
8
8
  import "./_plugin-vue_export-helper-dad06003.js";
9
9
  import "lodash-es/uniqueId";
10
- import "./index-79ce320f.js";
10
+ import "./index-9e1095ef.js";
11
11
  import "./Icon.vue_used_vue_type_style_index_0_lang.module-eb359559.js";
12
12
  const V = { class: "tw-relative" }, F = /* @__PURE__ */ C({
13
13
  __name: "Stepper",
package/dist/Tab.js CHANGED
@@ -17,7 +17,7 @@ import "lodash-es/camelCase";
17
17
  import "lodash-es/isFinite";
18
18
  import "lodash-es/isPlainObject";
19
19
  import "./Icon.js";
20
- import "./index-79ce320f.js";
20
+ import "./index-9e1095ef.js";
21
21
  import "./Icon.vue_used_vue_type_style_index_0_lang.module-eb359559.js";
22
22
  export {
23
23
  o as default
@@ -1 +1 @@
1
- {"version":3,"file":"Tab.vue_vue_type_script_setup_true_lang-69d1b046.js","sources":["../src/components/Tab/Tab.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import logger from '@leaflink/snitch';\n import { computed, inject, nextTick, onMounted, toRefs } from 'vue';\n import { type RouteLocationRaw, type RouterLinkProps } from 'vue-router';\n\n import Badge from '../Badge/Badge.vue';\n import { TABS_INJECTION } from '../Tabs/Tabs.vue';\n\n /**\n * Allowed attributes for the `<a>` element when the `href` prop is used.\n */\n type AnchorAttrs = HTMLAnchorElement['download'] | HTMLAnchorElement['hreflang'] | HTMLAnchorElement['ping'] | HTMLAnchorElement['referrerPolicy'] | HTMLAnchorElement['rel'] | HTMLAnchorElement['target'] | HTMLAnchorElement['type'];\n\n export interface TabProps {\n /**\n * The tab identifier\n */\n value: string;\n\n /**\n * Router link `to` prop\n */\n to?: RouteLocationRaw;\n\n /**\n * Anchor tag href. Used for navigating to non-vue pages, such as Django pages in marketplace.\n */\n href?: string;\n\n /**\n * The badge's content\n */\n badge?: string | number;\n\n /**\n * Will render a plain text item if true.\n */\n disabled?: boolean\n\n /**\n * Props for the `<a>` element when the `href` prop is used\n */\n anchorProps?: Record<AnchorAttrs, string>;\n\n /**\n * Props for the `<RouterLink>` element when the `to` prop is used\n */\n routerLinkProps?: Omit<RouterLinkProps, 'to'>;\n }\n\n const props = defineProps<TabProps>();\n\n const tabsInjection = inject(TABS_INJECTION.key);\n\n if (!tabsInjection) {\n throw Error('The Tab component must be a child of the Tabs component.');\n }\n\n const { setActiveTab, activeTab, variant } = tabsInjection;\n\n const isTabActive = computed(() => {\n return props.value === activeTab.value;\n });\n\n const is = computed(() => {\n if (props.to) {\n return 'router-link';\n }\n\n if (props.href) {\n return 'a';\n }\n\n return 'button';\n });\n\n /**\n * Note: this click handler gets ignored when the `href` prop is used; `preventDefault()` is intentionally omitted in order to enable the `href` prop to work correctly. The `href` prop is used for navigation to non-vue pages, such as Django pages in marketplace.\n */\n function onClick(tabValue: string) {\n if (props.disabled) {\n return;\n }\n\n setActiveTab(tabValue);\n }\n\n const panelId = computed(() => `tabpanel-${props.value}`);\n\n onMounted(async () => {\n await nextTick();\n\n if (process.env.NODE_ENV !== 'test' && isTabActive.value && !document.getElementById(panelId.value)) {\n // The following warning ensures optimal accessibility is maintained when using the Tabs component. See: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/tab_role#example\n logger.warn(`The <Tab> with value \"${props.value}\" is active, but its corresponding tab panel cannot be found. Please ensure that the corresponding tab panel has an \"id\" attribute with value \"${panelId.value}\" and a \"role\" attribute with value \"tabpanel\".`);\n }\n });\n\n const dynamicComponentAttrs = computed(() => {\n if (props.to && props.routerLinkProps) {\n return toRefs(props.routerLinkProps);\n }\n\n if (props.href && props.anchorProps) {\n return toRefs(props.anchorProps);\n }\n\n return {};\n });\n</script>\n\n<template>\n <li\n :id=\"`tab-${props.value}`\"\n role=\"tab\"\n :aria-selected=\"isTabActive\"\n :aria-controls=\"panelId\"\n :aria-disabled=\"props.disabled\"\n class=\"stash-tab\"\n :class=\"[\n {\n 'stash-tab--active is-active': isTabActive,\n 'stash-tab--disabled': props.disabled,\n 'stash-tab--variant-line': variant === 'line',\n 'stash-tab--variant-enclosed': variant === 'enclosed',\n },\n ]\"\n @click=\"onClick(props.value)\"\n @keypress.enter=\"onClick(props.value)\"\n >\n <component\n v-bind=\"dynamicComponentAttrs\"\n :is=\"is\"\n :to=\"props.to\"\n :href=\"props.href\"\n class=\"\n tw-flex\n tw-cursor-pointer\n tw-items-center\n tw-justify-center\n tw-whitespace-nowrap\n tw-border-solid\n tw-py-1.5\n tw-text-sm\n tw-font-medium\n hover:tw-no-underline\n \"\n :class=\"[\n {\n 'tw-border-b-2': variant === 'line',\n 'tw-border-t-4 tw-px-6': variant === 'enclosed',\n 'tw-rounded-t tw-bg-white': isTabActive && variant === 'enclosed',\n 'focus:tw-no-underline': props.href,\n 'tw-pointer-events-none tw-text-ice-500': props.disabled,\n 'tw-text-ice-700': !props.disabled && !isTabActive,\n },\n [\n isTabActive\n ? 'tw-border-blue-500 tw-text-blue-500'\n : 'tw-border-transparent hover:tw-text-blue-500 focus:tw-text-blue-500',\n ],\n ]\"\n :tabindex=\"props.disabled ? -1 : 0\"\n >\n <!-- The margin-top on the <div> below is necessary to fix the vertical alignment of text in the default slot since our Sofia font has extra space under the baseline -->\n <div class=\"tw-mt-0.5\">\n <Badge :content=\"props.badge\" position=\"inline\" color=\"red\" :is-disabled=\"props.disabled\">\n <slot :is-active=\"isTabActive\" :is-disabled=\"props.disabled\" :variant=\"variant\"></slot>\n </Badge>\n </div>\n </component>\n </li>\n</template>\n"],"names":["tabsInjection","inject","TABS_INJECTION","setActiveTab","activeTab","variant","isTabActive","computed","props","is","onClick","tabValue","panelId","onMounted","nextTick","logger","dynamicComponentAttrs","toRefs"],"mappings":";;;;;;;;;;;;;;;;iBAoDQA,IAAgBC,EAAOC,EAAe,GAAG;AAE/C,QAAI,CAACF;AACH,YAAM,MAAM,0DAA0D;AAGxE,UAAM,EAAE,cAAAG,GAAc,WAAAC,GAAW,SAAAC,EAAA,IAAYL,GAEvCM,IAAcC,EAAS,MACpBC,EAAM,UAAUJ,EAAU,KAClC,GAEKK,IAAKF,EAAS,MACdC,EAAM,KACD,gBAGLA,EAAM,OACD,MAGF,QACR;AAKD,aAASE,EAAQC,GAAkB;AACjC,MAAIH,EAAM,YAIVL,EAAaQ,CAAQ;AAAA,IACvB;AAEA,UAAMC,IAAUL,EAAS,MAAM,YAAYC,EAAM,KAAK,EAAE;AAExD,IAAAK,EAAU,YAAY;AACpB,YAAMC,EAAS,GAEX,QAAQ,IAAI,aAAa,UAAUR,EAAY,SAAS,CAAC,SAAS,eAAeM,EAAQ,KAAK,KAEhGG,EAAO,KAAK,yBAAyBP,EAAM,KAAK,kJAAkJI,EAAQ,KAAK,iDAAiD;AAAA,IAClQ,CACD;AAEK,UAAAI,IAAwBT,EAAS,MACjCC,EAAM,MAAMA,EAAM,kBACbS,EAAOT,EAAM,eAAe,IAGjCA,EAAM,QAAQA,EAAM,cACfS,EAAOT,EAAM,WAAW,IAG1B,EACR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Tab.vue_vue_type_script_setup_true_lang-69d1b046.js","sources":["../src/components/Tab/Tab.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import logger from '@leaflink/snitch';\n import { computed, inject, nextTick, onMounted, toRefs } from 'vue';\n import { type RouteLocationRaw, type RouterLinkProps } from 'vue-router';\n\n import Badge from '../Badge/Badge.vue';\n import { TABS_INJECTION } from '../Tabs/Tabs.vue';\n\n /**\n * Allowed attributes for the `<a>` element when the `href` prop is used.\n */\n type AnchorAttrs = HTMLAnchorElement['download'] | HTMLAnchorElement['hreflang'] | HTMLAnchorElement['ping'] | HTMLAnchorElement['referrerPolicy'] | HTMLAnchorElement['rel'] | HTMLAnchorElement['target'] | HTMLAnchorElement['type'];\n\n export interface TabProps {\n /**\n * The tab identifier\n */\n value: string;\n\n /**\n * Router link `to` prop\n */\n to?: RouteLocationRaw;\n\n /**\n * Anchor tag href. Used for navigating to non-vue pages, such as Django pages in marketplace.\n */\n href?: string;\n\n /**\n * The badge's content\n */\n badge?: string | number;\n\n /**\n * Will render a plain text item if true.\n */\n disabled?: boolean\n\n /**\n * Props for the `<a>` element when the `href` prop is used\n */\n anchorProps?: Record<AnchorAttrs, string>;\n\n /**\n * Props for the `<RouterLink>` element when the `to` prop is used\n */\n routerLinkProps?: Omit<RouterLinkProps, 'to'>;\n }\n\n const props = defineProps<TabProps>();\n\n const tabsInjection = inject(TABS_INJECTION.key);\n\n if (!tabsInjection) {\n throw Error('The Tab component must be a child of the Tabs component.');\n }\n\n const { setActiveTab, activeTab, variant } = tabsInjection;\n\n const isTabActive = computed(() => {\n return props.value === activeTab.value;\n });\n\n const is = computed(() => {\n if (props.to) {\n return 'router-link';\n }\n\n if (props.href) {\n return 'a';\n }\n\n return 'button';\n });\n\n /**\n * Note: this click handler gets ignored when the `href` prop is used; `preventDefault()` is intentionally omitted in order to enable the `href` prop to work correctly. The `href` prop is used for navigation to non-vue pages, such as Django pages in marketplace.\n */\n function onClick(tabValue: string) {\n if (props.disabled) {\n return;\n }\n\n setActiveTab(tabValue);\n }\n\n const panelId = computed(() => `tabpanel-${props.value}`);\n\n onMounted(async () => {\n await nextTick();\n\n if (process.env.NODE_ENV !== 'test' && isTabActive.value && !document.getElementById(panelId.value)) {\n // The following warning ensures optimal accessibility is maintained when using the Tabs component. See: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/tab_role#example\n logger.warn(`The <Tab> with value \"${props.value}\" is active, but its corresponding tab panel cannot be found. Please ensure that the corresponding tab panel has an \"id\" attribute with value \"${panelId.value}\" and a \"role\" attribute with value \"tabpanel\".`);\n }\n });\n\n const dynamicComponentAttrs = computed(() => {\n if (props.to && props.routerLinkProps) {\n return toRefs(props.routerLinkProps);\n }\n\n if (props.href && props.anchorProps) {\n return toRefs(props.anchorProps);\n }\n\n return {};\n });\n</script>\n\n<template>\n <li\n :id=\"`tab-${props.value}`\"\n role=\"tab\"\n :aria-selected=\"isTabActive\"\n :aria-controls=\"panelId\"\n :aria-disabled=\"props.disabled\"\n class=\"stash-tab\"\n :class=\"[\n {\n 'stash-tab--active is-active': isTabActive,\n 'stash-tab--disabled': props.disabled,\n 'stash-tab--variant-line': variant === 'line',\n 'stash-tab--variant-enclosed': variant === 'enclosed',\n },\n ]\"\n @click=\"onClick(props.value)\"\n @keypress.enter=\"onClick(props.value)\"\n >\n <component\n v-bind=\"dynamicComponentAttrs\"\n :is=\"is\"\n :to=\"props.to\"\n :href=\"props.href\"\n class=\"\n tw-flex\n tw-cursor-pointer\n tw-items-center\n tw-justify-center\n tw-whitespace-nowrap\n tw-border-solid\n tw-py-1.5\n tw-text-sm\n tw-font-medium\n hover:tw-no-underline\n \"\n :class=\"[\n {\n 'tw-border-b-2': variant === 'line',\n 'tw-border-t-4 tw-px-6': variant === 'enclosed',\n 'tw-rounded-t tw-bg-white': isTabActive && variant === 'enclosed',\n 'focus:tw-no-underline': props.href,\n 'tw-pointer-events-none tw-text-ice-500': props.disabled,\n 'tw-text-ice-700': !props.disabled && !isTabActive,\n },\n [\n isTabActive\n ? 'tw-border-blue-500 tw-text-blue-500'\n : 'tw-border-transparent hover:tw-text-blue-500 focus:tw-text-blue-500',\n ],\n ]\"\n :tabindex=\"props.disabled ? -1 : 0\"\n >\n <!-- The margin-top on the <div> below is necessary to fix the vertical alignment of text in the default slot since our Sofia font has extra space under the baseline -->\n <div class=\"tw-mt-0.5\">\n <Badge :content=\"props.badge\" position=\"inline\" color=\"red\" :is-disabled=\"props.disabled\">\n <slot :is-active=\"isTabActive\" :is-disabled=\"props.disabled\" :variant=\"variant\"></slot>\n </Badge>\n </div>\n </component>\n </li>\n</template>\n"],"names":["tabsInjection","inject","TABS_INJECTION","setActiveTab","activeTab","variant","isTabActive","computed","props","is","onClick","tabValue","panelId","onMounted","nextTick","logger","dynamicComponentAttrs","toRefs"],"mappings":";;;;;;;;;;;;;;;;iBAoDQA,IAAgBC,EAAOC,EAAe,GAAG;AAE/C,QAAI,CAACF;AACH,YAAM,MAAM,0DAA0D;AAGxE,UAAM,EAAE,cAAAG,GAAc,WAAAC,GAAW,SAAAC,EAAA,IAAYL,GAEvCM,IAAcC,EAAS,MACpBC,EAAM,UAAUJ,EAAU,KAClC,GAEKK,IAAKF,EAAS,MACdC,EAAM,KACD,gBAGLA,EAAM,OACD,MAGF,QACR;AAKD,aAASE,EAAQC,GAAkB;AACjC,MAAIH,EAAM,YAIVL,EAAaQ,CAAQ;AAAA,IACvB;AAEA,UAAMC,IAAUL,EAAS,MAAM,YAAYC,EAAM,OAAO;AAExD,IAAAK,EAAU,YAAY;AACpB,YAAMC,EAAS,GAEX,QAAQ,IAAI,aAAa,UAAUR,EAAY,SAAS,CAAC,SAAS,eAAeM,EAAQ,KAAK,KAEhGG,EAAO,KAAK,yBAAyBP,EAAM,uJAAuJI,EAAQ,sDAAsD;AAAA,IAClQ,CACD;AAEK,UAAAI,IAAwBT,EAAS,MACjCC,EAAM,MAAMA,EAAM,kBACbS,EAAOT,EAAM,eAAe,IAGjCA,EAAM,QAAQA,EAAM,cACfS,EAAOT,EAAM,WAAW,IAG1B,EACR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/Table.js CHANGED
@@ -13,8 +13,8 @@ import { T as O } from "./Table.keys-cf93df19.js";
13
13
  import { S as V } from "./misc-76697f61.js";
14
14
  import "./locale.js";
15
15
  import "lodash-es/get";
16
- import "./Illustration.vue_vue_type_script_setup_true_lang-4b8944da.js";
17
- import "./index-79ce320f.js";
16
+ import "./Illustration.vue_vue_type_script_setup_true_lang-e26c3841.js";
17
+ import "./index-9e1095ef.js";
18
18
  import "./EmptyState.vue_used_vue_type_style_index_0_lang.module-f5d89366.js";
19
19
  import "./_plugin-vue_export-helper-dad06003.js";
20
20
  import "./Loading.vue_used_vue_type_style_index_0_lang.module-ef5a3bc6.js";
package/dist/TableCell.js CHANGED
@@ -5,7 +5,7 @@ import "./Icon.vue_used_vue_type_style_index_0_lang.module-eb359559.js";
5
5
  import "./Paginate.vue_used_vue_type_style_index_0_lang.module-18343da7.js";
6
6
  import "./DataView.vue_used_vue_type_style_index_0_lang.module-5c180dba.js";
7
7
  import "lodash-es/get";
8
- import "./Illustration.vue_vue_type_script_setup_true_lang-4b8944da.js";
8
+ import "./Illustration.vue_vue_type_script_setup_true_lang-e26c3841.js";
9
9
  import "./EmptyState.vue_used_vue_type_style_index_0_lang.module-f5d89366.js";
10
10
  import "./Loading.vue_used_vue_type_style_index_0_lang.module-ef5a3bc6.js";
11
11
  import { T as y, s as C } from "./Table.keys-cf93df19.js";
@@ -13,7 +13,7 @@ import "@leaflink/snitch";
13
13
  import "./Checkbox.vue_used_vue_type_style_index_0_lang.module-fa8d9c06.js";
14
14
  import "./Button.vue_used_vue_type_style_index_0_lang.module-a9290468.js";
15
15
  import { _ as h } from "./_plugin-vue_export-helper-dad06003.js";
16
- import "./index-79ce320f.js";
16
+ import "./index-9e1095ef.js";
17
17
  const T = {
18
18
  key: 0,
19
19
  class: "tw-text-xs tw-font-medium tw-text-ice-900 lg:tw-hidden"
@@ -4,7 +4,7 @@ import f from "./Icon.js";
4
4
  import "./Paginate.vue_used_vue_type_style_index_0_lang.module-18343da7.js";
5
5
  import { D as b } from "./DataView.vue_used_vue_type_style_index_0_lang.module-5c180dba.js";
6
6
  import "lodash-es/get";
7
- import "./Illustration.vue_vue_type_script_setup_true_lang-4b8944da.js";
7
+ import "./Illustration.vue_vue_type_script_setup_true_lang-e26c3841.js";
8
8
  import "./EmptyState.vue_used_vue_type_style_index_0_lang.module-f5d89366.js";
9
9
  import "./Loading.vue_used_vue_type_style_index_0_lang.module-ef5a3bc6.js";
10
10
  import { T as N } from "./Table.keys-cf93df19.js";
@@ -13,7 +13,7 @@ import "@leaflink/snitch";
13
13
  import "./Checkbox.vue_used_vue_type_style_index_0_lang.module-fa8d9c06.js";
14
14
  import "./Button.vue_used_vue_type_style_index_0_lang.module-a9290468.js";
15
15
  import { _ as S } from "./_plugin-vue_export-helper-dad06003.js";
16
- import "./index-79ce320f.js";
16
+ import "./index-9e1095ef.js";
17
17
  import "./Icon.vue_used_vue_type_style_index_0_lang.module-eb359559.js";
18
18
  const A = {
19
19
  key: 0,
@@ -6,7 +6,7 @@ import "lodash-es/cloneDeep";
6
6
  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
- import "./Illustration.vue_vue_type_script_setup_true_lang-4b8944da.js";
9
+ import "./Illustration.vue_vue_type_script_setup_true_lang-e26c3841.js";
10
10
  import "./EmptyState.vue_used_vue_type_style_index_0_lang.module-f5d89366.js";
11
11
  import "./Loading.vue_used_vue_type_style_index_0_lang.module-ef5a3bc6.js";
12
12
  import { T as v } from "./Table.keys-cf93df19.js";
@@ -16,7 +16,7 @@ import { _ as N } from "./_plugin-vue_export-helper-dad06003.js";
16
16
  import "lodash-es/get";
17
17
  import "@leaflink/snitch";
18
18
  import "./Checkbox.vue_used_vue_type_style_index_0_lang.module-fa8d9c06.js";
19
- import "./index-79ce320f.js";
19
+ import "./index-9e1095ef.js";
20
20
  import "./Icon.js";
21
21
  const g = /* @__PURE__ */ T({
22
22
  __name: "TableHeaderRow",
package/dist/TableRow.js CHANGED
@@ -8,7 +8,7 @@ import "lodash-es/cloneDeep";
8
8
  import "./Icon.vue_used_vue_type_style_index_0_lang.module-eb359559.js";
9
9
  import "./Paginate.vue_used_vue_type_style_index_0_lang.module-18343da7.js";
10
10
  import "./DataView.vue_used_vue_type_style_index_0_lang.module-5c180dba.js";
11
- import "./Illustration.vue_vue_type_script_setup_true_lang-4b8944da.js";
11
+ import "./Illustration.vue_vue_type_script_setup_true_lang-e26c3841.js";
12
12
  import "./EmptyState.vue_used_vue_type_style_index_0_lang.module-f5d89366.js";
13
13
  import "./Loading.vue_used_vue_type_style_index_0_lang.module-ef5a3bc6.js";
14
14
  import y from "./TableCell.js";
@@ -20,7 +20,7 @@ import "./Checkbox.vue_used_vue_type_style_index_0_lang.module-fa8d9c06.js";
20
20
  import "./Button.js";
21
21
  import "./Button.vue_used_vue_type_style_index_0_lang.module-a9290468.js";
22
22
  import "./Icon.js";
23
- import "./index-79ce320f.js";
23
+ import "./index-9e1095ef.js";
24
24
  const Q = /* @__PURE__ */ N({
25
25
  inheritAttrs: !1,
26
26
  __name: "TableRow",
@@ -107,7 +107,7 @@ declare enum StashCommonColors {
107
107
  Red100 = "red-100",
108
108
  Ice700 = "ice-700",
109
109
  Ice500 = "ice-500",
110
- Ice200 = "ice-200",// This is the one outlier, but it's used purposefully in a few places
110
+ Ice200 = "ice-200",
111
111
  Ice100 = "ice-100",
112
112
  White = "white",
113
113
  Black = "black"
package/dist/Tabs.js CHANGED
@@ -15,7 +15,7 @@ import "lodash-es/camelCase";
15
15
  import "lodash-es/isFinite";
16
16
  import "lodash-es/isPlainObject";
17
17
  import "./Icon.js";
18
- import "./index-79ce320f.js";
18
+ import "./index-9e1095ef.js";
19
19
  import "./Icon.vue_used_vue_type_style_index_0_lang.module-eb359559.js";
20
20
  const m = {
21
21
  $style: t