@leaflink/stash 48.16.0 → 48.16.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (274) hide show
  1. package/assets/illustrations/FileUpload/csv.svg +1 -1
  2. package/assets/illustrations/FileUpload/document.svg +1 -17
  3. package/assets/illustrations/FileUpload/image.svg +1 -1
  4. package/assets/illustrations/FileUpload/pdf.svg +1 -1
  5. package/dist/Accordion.js +1 -1
  6. package/dist/Accordion.js.map +1 -1
  7. package/dist/Accordion.vue.d.ts +8 -9
  8. package/dist/ActionsDropdown.js.map +1 -1
  9. package/dist/ActionsDropdown.vue.d.ts +7 -8
  10. package/dist/AddressSelect.js +42 -38
  11. package/dist/AddressSelect.js.map +1 -1
  12. package/dist/AddressSelect.vue.d.ts +10 -11
  13. package/dist/Alert.js.map +1 -1
  14. package/dist/Alert.vue.d.ts +6 -7
  15. package/dist/AppNavigationItem.js +2 -2
  16. package/dist/AppNavigationItem.js.map +1 -1
  17. package/dist/AppNavigationItem.vue.d.ts +7 -8
  18. package/dist/AppSidebar.js +42 -42
  19. package/dist/AppSidebar.js.map +1 -1
  20. package/dist/AppSidebar.vue.d.ts +8 -9
  21. package/dist/AppTopbar.js +16 -16
  22. package/dist/AppTopbar.js.map +1 -1
  23. package/dist/AppTopbar.vue.d.ts +8 -9
  24. package/dist/Avatar.js.map +1 -1
  25. package/dist/Avatar.vue.d.ts +7 -8
  26. package/dist/Backdrop.vue.d.ts +3 -5
  27. package/dist/Badge.js +1 -1
  28. package/dist/Badge.js.map +1 -1
  29. package/dist/Badge.vue.d.ts +7 -8
  30. package/dist/Box.vue.d.ts +6 -7
  31. package/dist/Box.vue_vue_type_script_setup_true_lang-69e5176b.js.map +1 -1
  32. package/dist/Button.js.map +1 -1
  33. package/dist/Button.vue.d.ts +7 -8
  34. package/dist/ButtonGroup.js +29 -29
  35. package/dist/ButtonGroup.js.map +1 -1
  36. package/dist/ButtonGroup.vue.d.ts +8 -9
  37. package/dist/Card.js.map +1 -1
  38. package/dist/Card.vue.d.ts +6 -7
  39. package/dist/CardContent.vue.d.ts +3 -5
  40. package/dist/CardFooter.vue.d.ts +3 -5
  41. package/dist/CardHeader.js.map +1 -1
  42. package/dist/CardHeader.vue.d.ts +3 -4
  43. package/dist/CardMedia.js +6 -6
  44. package/dist/CardMedia.js.map +1 -1
  45. package/dist/CardMedia.vue.d.ts +3 -4
  46. package/dist/Carousel.js +249 -249
  47. package/dist/Carousel.js.map +1 -1
  48. package/dist/Carousel.vue.d.ts +9 -9
  49. package/dist/Checkbox.js +27 -27
  50. package/dist/Checkbox.js.map +1 -1
  51. package/dist/Checkbox.vue.d.ts +11 -12
  52. package/dist/ChevronToggle.js +1 -1
  53. package/dist/ChevronToggle.vue.d.ts +8 -9
  54. package/dist/{ChevronToggle.vue_vue_type_script_setup_true_lang-1591294c.js → ChevronToggle.vue_vue_type_script_setup_true_lang-fcdf0c19.js} +11 -11
  55. package/dist/{ChevronToggle.vue_vue_type_script_setup_true_lang-1591294c.js.map → ChevronToggle.vue_vue_type_script_setup_true_lang-fcdf0c19.js.map} +1 -1
  56. package/dist/Chip.js +30 -30
  57. package/dist/Chip.js.map +1 -1
  58. package/dist/Chip.vue.d.ts +9 -10
  59. package/dist/ConfirmationCodeInput.js +25 -25
  60. package/dist/ConfirmationCodeInput.js.map +1 -1
  61. package/dist/ConfirmationCodeInput.vue.d.ts +8 -9
  62. package/dist/ContextSwitcher.js +18 -18
  63. package/dist/ContextSwitcher.js.map +1 -1
  64. package/dist/ContextSwitcher.vue.d.ts +9 -10
  65. package/dist/Copy.js.map +1 -1
  66. package/dist/Copy.vue.d.ts +6 -7
  67. package/dist/CurrencyInput.js +93 -93
  68. package/dist/CurrencyInput.js.map +1 -1
  69. package/dist/CurrencyInput.vue.d.ts +10 -11
  70. package/dist/CustomRender.vue.d.ts +3 -15
  71. package/dist/DataView.js +97 -97
  72. package/dist/DataView.js.map +1 -1
  73. package/dist/DataView.vue.d.ts +9 -10
  74. package/dist/DataViewFilters.js +153 -150
  75. package/dist/DataViewFilters.js.map +1 -1
  76. package/dist/DataViewFilters.vue.d.ts +9 -10
  77. package/dist/DataViewSortButton.js.map +1 -1
  78. package/dist/DataViewSortButton.vue.d.ts +6 -7
  79. package/dist/DataViewToolbar.js +27 -27
  80. package/dist/DataViewToolbar.js.map +1 -1
  81. package/dist/DataViewToolbar.vue.d.ts +8 -9
  82. package/dist/DatePicker.js +738 -738
  83. package/dist/DatePicker.js.map +1 -1
  84. package/dist/DatePicker.vue.d.ts +11 -12
  85. package/dist/DescriptionList.js.map +1 -1
  86. package/dist/DescriptionList.vue.d.ts +6 -7
  87. package/dist/DescriptionListDetail.vue.d.ts +3 -5
  88. package/dist/DescriptionListGroup.vue.d.ts +3 -5
  89. package/dist/DescriptionListTerm.vue.d.ts +3 -5
  90. package/dist/Dialog.js +44 -44
  91. package/dist/Dialog.js.map +1 -1
  92. package/dist/Dialog.vue.d.ts +10 -11
  93. package/dist/Divider.vue.d.ts +3 -5
  94. package/dist/Dropdown.js +38 -38
  95. package/dist/Dropdown.js.map +1 -1
  96. package/dist/Dropdown.vue.d.ts +9 -10
  97. package/dist/EmptyState.js +20 -20
  98. package/dist/EmptyState.js.map +1 -1
  99. package/dist/EmptyState.vue.d.ts +6 -7
  100. package/dist/Expand.js +1 -1
  101. package/dist/Expand.vue.d.ts +8 -9
  102. package/dist/{Expand.vue_vue_type_script_setup_true_lang-1751f4a6.js → Expand.vue_vue_type_script_setup_true_lang-0f236267.js} +19 -19
  103. package/dist/Expand.vue_vue_type_script_setup_true_lang-0f236267.js.map +1 -0
  104. package/dist/Field.vue.d.ts +6 -7
  105. package/dist/Field.vue_vue_type_script_setup_true_lang-e1e4ff03.js.map +1 -1
  106. package/dist/FileUpload.js +65 -65
  107. package/dist/FileUpload.js.map +1 -1
  108. package/dist/FileUpload.vue.d.ts +10 -11
  109. package/dist/FilterChip.js +27 -27
  110. package/dist/FilterChip.js.map +1 -1
  111. package/dist/FilterChip.vue.d.ts +8 -9
  112. package/dist/FilterDrawerItem.js +26 -26
  113. package/dist/FilterDrawerItem.js.map +1 -1
  114. package/dist/FilterDrawerItem.vue.d.ts +5 -6
  115. package/dist/FilterDropdown.js +49 -49
  116. package/dist/FilterDropdown.js.map +1 -1
  117. package/dist/FilterDropdown.vue.d.ts +8 -9
  118. package/dist/FilterSelect.js +23 -23
  119. package/dist/FilterSelect.js.map +1 -1
  120. package/dist/FilterSelect.vue.d.ts +8 -9
  121. package/dist/Filters.js +112 -104
  122. package/dist/Filters.js.map +1 -1
  123. package/dist/Filters.vue.d.ts +2204 -65
  124. package/dist/HttpError.js +42 -42
  125. package/dist/HttpError.js.map +1 -1
  126. package/dist/HttpError.vue.d.ts +6 -7
  127. package/dist/Icon.js.map +1 -1
  128. package/dist/Icon.vue.d.ts +7 -8
  129. package/dist/IconLabel.js.map +1 -1
  130. package/dist/IconLabel.vue.d.ts +8 -9
  131. package/dist/Illustration.vue.d.ts +6 -7
  132. package/dist/Illustration.vue_vue_type_script_setup_true_lang-e26c3841.js.map +1 -1
  133. package/dist/Image.js +47 -47
  134. package/dist/Image.js.map +1 -1
  135. package/dist/Image.vue.d.ts +6 -7
  136. package/dist/InlineEdit.js +34 -34
  137. package/dist/InlineEdit.js.map +1 -1
  138. package/dist/InlineEdit.vue.d.ts +9 -10
  139. package/dist/Input.js +35 -35
  140. package/dist/Input.js.map +1 -1
  141. package/dist/Input.vue.d.ts +13 -14
  142. package/dist/InputOptions.js +33 -33
  143. package/dist/InputOptions.js.map +1 -1
  144. package/dist/InputOptions.vue.d.ts +8 -9
  145. package/dist/IntegrationIcon.js.map +1 -1
  146. package/dist/IntegrationIcon.vue.d.ts +7 -8
  147. package/dist/Label.vue.d.ts +6 -7
  148. package/dist/Label.vue_vue_type_script_setup_true_lang-4b02087f.js.map +1 -1
  149. package/dist/LicenseChip.js.map +1 -1
  150. package/dist/LicenseChip.vue.d.ts +6 -7
  151. package/dist/ListItem.vue.d.ts +225 -95
  152. package/dist/ListItemCell.vue.d.ts +4 -16
  153. package/dist/ListView.js +1 -1
  154. package/dist/ListView.vue.d.ts +5072 -470
  155. package/dist/Loading.js +16 -16
  156. package/dist/Loading.js.map +1 -1
  157. package/dist/Loading.vue.d.ts +3 -5
  158. package/dist/Logo.js +1 -1
  159. package/dist/Logo.vue.d.ts +9 -10
  160. package/dist/Logo.vue_vue_type_script_setup_true_lang-2a2597cb.js +196 -0
  161. package/dist/Logo.vue_vue_type_script_setup_true_lang-2a2597cb.js.map +1 -0
  162. package/dist/Menu.vue.d.ts +3 -5
  163. package/dist/MenuItem.vue.d.ts +3 -5
  164. package/dist/Metric.js.map +1 -1
  165. package/dist/Metric.vue.d.ts +6 -7
  166. package/dist/Modal.js +29 -29
  167. package/dist/Modal.js.map +1 -1
  168. package/dist/Modal.vue.d.ts +8 -9
  169. package/dist/Modals.js +8 -7
  170. package/dist/Modals.js.map +1 -1
  171. package/dist/Modals.vue.d.ts +3 -5
  172. package/dist/Module.js.map +1 -1
  173. package/dist/Module.vue.d.ts +7 -8
  174. package/dist/ModuleContent.vue.d.ts +3 -5
  175. package/dist/ModuleFooter.vue.d.ts +3 -5
  176. package/dist/ModuleHeader.js.map +1 -1
  177. package/dist/ModuleHeader.vue.d.ts +6 -7
  178. package/dist/ObfuscateText.js +1 -1
  179. package/dist/ObfuscateText.js.map +1 -1
  180. package/dist/ObfuscateText.vue.d.ts +6 -7
  181. package/dist/PageContent.vue.d.ts +3 -5
  182. package/dist/PageHeader.js.map +1 -1
  183. package/dist/PageHeader.vue.d.ts +6 -7
  184. package/dist/PageNavigation.js +30 -27
  185. package/dist/PageNavigation.js.map +1 -1
  186. package/dist/PageNavigation.vue.d.ts +8 -9
  187. package/dist/Paginate.js +32 -32
  188. package/dist/Paginate.js.map +1 -1
  189. package/dist/Paginate.vue.d.ts +8 -9
  190. package/dist/PlaidLink.js +29 -29
  191. package/dist/PlaidLink.js.map +1 -1
  192. package/dist/PlaidLink.vue.d.ts +11 -12
  193. package/dist/QuickAction.js.map +1 -1
  194. package/dist/QuickAction.vue.d.ts +4 -5
  195. package/dist/Radio.vue.d.ts +20 -1
  196. package/dist/RadioGroup.js +123 -123
  197. package/dist/RadioGroup.js.map +1 -1
  198. package/dist/RadioGroup.vue.d.ts +10 -11
  199. package/dist/RadioNew.js +102 -102
  200. package/dist/RadioNew.js.map +1 -1
  201. package/dist/RadioNew.vue.d.ts +10 -11
  202. package/dist/RangeInput.vue.d.ts +3 -5
  203. package/dist/SearchBar.js +36 -36
  204. package/dist/SearchBar.js.map +1 -1
  205. package/dist/SearchBar.vue.d.ts +9 -10
  206. package/dist/Select.js +792 -774
  207. package/dist/Select.js.map +1 -1
  208. package/dist/Select.vue.d.ts +14 -15
  209. package/dist/SelectStatus.js +27 -27
  210. package/dist/SelectStatus.js.map +1 -1
  211. package/dist/SelectStatus.vue.d.ts +12 -13
  212. package/dist/Skeleton.js.map +1 -1
  213. package/dist/Skeleton.vue.d.ts +7 -8
  214. package/dist/Step.js.map +1 -1
  215. package/dist/Step.vue.d.ts +7 -8
  216. package/dist/Stepper.js +19 -19
  217. package/dist/Stepper.js.map +1 -1
  218. package/dist/Stepper.vue.d.ts +9 -10
  219. package/dist/Switch.js +25 -25
  220. package/dist/Switch.js.map +1 -1
  221. package/dist/Switch.vue.d.ts +11 -12
  222. package/dist/Tab.js +2 -2
  223. package/dist/Tab.vue.d.ts +3 -4
  224. package/dist/{Tab.vue_vue_type_script_setup_true_lang-69d1b046.js → Tab.vue_vue_type_script_setup_true_lang-9aa53203.js} +5 -3
  225. package/dist/Tab.vue_vue_type_script_setup_true_lang-9aa53203.js.map +1 -0
  226. package/dist/Table.js +3 -3
  227. package/dist/Table.js.map +1 -1
  228. package/dist/{Table.keys-cf93df19.js → Table.keys-83e4f09b.js} +11 -11
  229. package/dist/{Table.keys-cf93df19.js.map → Table.keys-83e4f09b.js.map} +1 -1
  230. package/dist/Table.vue.d.ts +6 -7
  231. package/dist/TableCell.js +1 -1
  232. package/dist/TableCell.js.map +1 -1
  233. package/dist/TableCell.vue.d.ts +6 -7
  234. package/dist/TableHeaderCell.js +12 -12
  235. package/dist/TableHeaderCell.js.map +1 -1
  236. package/dist/TableHeaderCell.vue.d.ts +6 -7
  237. package/dist/TableHeaderRow.js +21 -21
  238. package/dist/TableHeaderRow.js.map +1 -1
  239. package/dist/TableHeaderRow.vue.d.ts +8 -9
  240. package/dist/TableRow.js +42 -42
  241. package/dist/TableRow.js.map +1 -1
  242. package/dist/TableRow.vue.d.ts +8 -9
  243. package/dist/Tabs.js +2 -2
  244. package/dist/Tabs.vue.d.ts +8 -9
  245. package/dist/{Tabs.vue_used_vue_type_style_index_0_lang.module-2a131332.js → Tabs.vue_used_vue_type_style_index_0_lang.module-3aa36673.js} +37 -37
  246. package/dist/Tabs.vue_used_vue_type_style_index_0_lang.module-3aa36673.js.map +1 -0
  247. package/dist/TextEditor.js +565 -565
  248. package/dist/TextEditor.js.map +1 -1
  249. package/dist/TextEditor.vue.d.ts +12 -13
  250. package/dist/Textarea.js +28 -28
  251. package/dist/Textarea.js.map +1 -1
  252. package/dist/Textarea.vue.d.ts +10 -11
  253. package/dist/Timeline.js.map +1 -1
  254. package/dist/Timeline.vue.d.ts +6 -7
  255. package/dist/TimelineItem.js +21 -21
  256. package/dist/TimelineItem.js.map +1 -1
  257. package/dist/TimelineItem.vue.d.ts +13 -6
  258. package/dist/Toast.js +134 -134
  259. package/dist/Toast.js.map +1 -1
  260. package/dist/Toast.vue.d.ts +6 -7
  261. package/dist/Toasts.vue.d.ts +3 -5
  262. package/dist/components.css +1 -1
  263. package/dist/index.js.map +1 -1
  264. package/dist/tailwind-base.js.map +1 -1
  265. package/dist/usePlaidLink.d.ts +1 -6
  266. package/dist/useScriptTag.d.ts +3 -8
  267. package/dist/useStepper.d.ts +7 -2
  268. package/package.json +1 -1
  269. package/tailwind-base.ts +13 -6
  270. package/dist/Expand.vue_vue_type_script_setup_true_lang-1751f4a6.js.map +0 -1
  271. package/dist/Logo.vue_vue_type_script_setup_true_lang-d7da48a0.js +0 -196
  272. package/dist/Logo.vue_vue_type_script_setup_true_lang-d7da48a0.js.map +0 -1
  273. package/dist/Tab.vue_vue_type_script_setup_true_lang-69d1b046.js.map +0 -1
  274. package/dist/Tabs.vue_used_vue_type_style_index_0_lang.module-2a131332.js.map +0 -1
@@ -1,12 +1,11 @@
1
- import { AllowedComponentProps } from 'vue';
2
- import { ComponentCustomProps } from 'vue';
3
1
  import { ComponentOptionsMixin } from 'vue';
2
+ import { ComponentProvideOptions } from 'vue';
4
3
  import { DefineComponent } from 'vue';
5
4
  import { ExtractPropTypes } from 'vue';
6
5
  import { PropType } from 'vue';
6
+ import { PublicProps } from 'vue';
7
7
  import Quill from 'quill';
8
8
  import Toolbar from 'quill/modules/toolbar';
9
- import { VNodeProps } from 'vue';
10
9
 
11
10
  declare type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
12
11
 
@@ -29,7 +28,7 @@ declare type __VLS_WithDefaults<P, D> = {
29
28
  }> : P[K];
30
29
  };
31
30
 
32
- declare const _default: DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<TextEditorProps>, {
31
+ declare const _default: DefineComponent<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<TextEditorProps>, {
33
32
  modelValue: string;
34
33
  placeholder: string;
35
34
  isReadOnly: boolean;
@@ -42,11 +41,11 @@ declare const _default: DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRunt
42
41
  showOptionalInLabel: boolean;
43
42
  controls: () => never[];
44
43
  handlers: () => {};
45
- }>, {}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
44
+ }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
46
45
  blur: (editor: Quill) => void;
47
46
  focus: (editor: Quill) => void;
48
47
  "update:model-value": (value: string) => void;
49
- }, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<TextEditorProps>, {
48
+ }, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<TextEditorProps>, {
50
49
  modelValue: string;
51
50
  placeholder: string;
52
51
  isReadOnly: boolean;
@@ -59,14 +58,13 @@ declare const _default: DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRunt
59
58
  showOptionalInLabel: boolean;
60
59
  controls: () => never[];
61
60
  handlers: () => {};
62
- }>>> & {
63
- onFocus?: ((editor: Quill) => any) | undefined;
61
+ }>>> & Readonly<{
64
62
  onBlur?: ((editor: Quill) => any) | undefined;
63
+ onFocus?: ((editor: Quill) => any) | undefined;
65
64
  "onUpdate:model-value"?: ((value: string) => any) | undefined;
66
- }, {
65
+ }>, {
67
66
  label: string;
68
67
  id: string;
69
- placeholder: string;
70
68
  controls: TextEditorControls;
71
69
  isRequired: boolean;
72
70
  addBottomSpace: boolean;
@@ -74,18 +72,19 @@ declare const _default: DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRunt
74
72
  hintText: string;
75
73
  isReadOnly: boolean;
76
74
  showOptionalInLabel: boolean;
75
+ placeholder: string;
77
76
  modelValue: string;
78
77
  handlers: TextEditorControlHandlerMap;
79
- }, {}>;
78
+ }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
80
79
  export default _default;
81
80
 
82
- declare type IconName = typeof iconNames[number];
81
+ declare type IconName = (typeof iconNames)[number];
83
82
 
84
83
  declare const iconNames: readonly ["action-dots", "activity", "alert-bell", "archive", "arrow-down", "arrow-left", "arrow-right", "arrow-up", "badge-discount", "badge-seller-elite", "badge-seller-power", "badge-seller-verified", "book-customer", "building-office", "bulk-add", "calendar-reschedule", "calendar", "caret-down", "caret-up", "change-log", "check", "chevron-down", "chevron-left", "chevron-right", "chevron-up", "circle-check", "circle-close", "circle-dollar", "circle-info", "circle-partial", "circle-percent", "circle-question-mark", "circle-status", "circle-warning", "clipboard-checkmark", "clipboard-inventory", "close", "combine", "compass", "contact", "contract", "copy", "credit-card", "credit-profile", "dashboard", "document-accept", "document-invoice", "document-recieved", "document-sent", "document-view", "document", "dolly", "download", "edit", "ellipsis", "envelope-open", "envelope", "equals", "export", "figma", "file-csv", "file", "filter-funnel", "filter-line", "flag", "folder", "folder-bar-graph", "folder-orders", "font-bold", "font-clear-format", "font-italic", "font-underline", "gear", "github", "globe", "graph-bar-chart", "graph-line-chart", "graph-pie-chart", "hazard", "hazard-outline", "headset-agent", "headset-mic", "heart-filled", "heart-outline", "help-question-mark", "hide", "history", "image", "keyboard-return", "license-approved", "license-certificate", "lightbulb", "link-add", "link-unlink", "link", "list-bulleted", "list-items", "list-numbered", "loading-big", "loading-empty", "loading-small", "location", "lock-unlock", "lock", "logo-facebook", "logo-instagram", "logo-linkedin", "logo-ll", "logo-metrc", "logo-plaid", "logo-x", "logo-youtube", "logout", "medical", "megaphone-sound", "megaphone", "menu", "message-dispute", "message-reply", "message", "minus", "mj-leaf", "money", "note-add", "note", "open-in-new", "paperclip", "paper-plane", "performance", "phone", "plus", "preview", "print", "product-menu-manage", "product-menu-search", "product-menu", "queue-add", "queue", "recent", "refresh", "register", "reply", "report-download", "sample", "save", "scale-law", "scale-weight", "search", "seed-cycle", "share", "shop-bag-browse", "shop-bag-reorder", "shop-bag", "shop-basket", "shop-cart-add", "shop-cart", "show", "sign-dollar", "sign-percent", "sort", "split", "star-filled", "star-outline", "storefront", "submit", "swap-horizontal", "swap-vertical", "tag-star", "tag", "test-results", "ticket-star", "ticket", "tool-dropper", "tool-wrench", "transfer", "trashcan", "truck", "upload", "user-add", "user-admin", "user-check", "user", "view-card", "view-detailed", "view-list", "warehouse", "working"];
85
84
 
86
85
  declare const TEXT_EDITOR_ALLOWED_CONTROLS: readonly ["bold", "italic", "underline", "link", "divider", "list"];
87
86
 
88
- export declare type TextEditorAllowedControlName = typeof TEXT_EDITOR_ALLOWED_CONTROLS[number];
87
+ export declare type TextEditorAllowedControlName = (typeof TEXT_EDITOR_ALLOWED_CONTROLS)[number];
89
88
 
90
89
  export declare type TextEditorControl = (TextEditorAllowedControlName | TextEditorControlObject)[];
91
90
 
package/dist/Textarea.js CHANGED
@@ -1,11 +1,11 @@
1
- import { defineComponent as R, useAttrs as M, useSlots as S, useCssModule as k, ref as x, computed as H, watch as O, onMounted as A, nextTick as I, onBeforeUnmount as P, openBlock as V, createBlock as $, mergeProps as _, unref as c, createSlots as q, withCtx as g, createElementVNode as j, renderSlot as D } from "vue";
2
- import F from "lodash-es/uniqueId";
3
- import { _ as L } from "./Field.vue_vue_type_script_setup_true_lang-e1e4ff03.js";
4
- import { _ as N } from "./_plugin-vue_export-helper-dad06003.js";
1
+ import { defineComponent as M, useAttrs as S, useSlots as k, useCssModule as H, ref as x, computed as O, watch as A, onMounted as I, nextTick as P, onBeforeUnmount as V, openBlock as $, createBlock as q, mergeProps as _, unref as c, createSlots as j, withCtx as g, createElementVNode as D, renderSlot as F } from "vue";
2
+ import L from "lodash-es/uniqueId";
3
+ import { _ as N } from "./Field.vue_vue_type_script_setup_true_lang-e1e4ff03.js";
4
+ import { _ as U } from "./_plugin-vue_export-helper-dad06003.js";
5
5
  import "./Label.vue_vue_type_script_setup_true_lang-4b02087f.js";
6
6
  import "./locale.js";
7
7
  import "lodash-es/get";
8
- const U = ["id", "value"], W = /* @__PURE__ */ R({
8
+ const W = ["id", "value"], Y = /* @__PURE__ */ M({
9
9
  name: "ll-textarea",
10
10
  __name: "Textarea",
11
11
  props: {
@@ -19,29 +19,29 @@ const U = ["id", "value"], W = /* @__PURE__ */ R({
19
19
  },
20
20
  emits: ["update:model-value"],
21
21
  setup(w, { emit: b }) {
22
- const s = w, y = F("textarea-"), p = M(), z = S(), m = k(), d = x(), l = x(), T = H(() => {
22
+ const y = L("textarea-"), p = S(), z = k(), m = H(), s = w, T = b, d = x(), l = x(), B = O(() => {
23
23
  const e = { ...p };
24
24
  return delete e["data-test"], delete e.class, e;
25
25
  });
26
- O(
26
+ A(
27
27
  () => s.resize,
28
28
  (e) => {
29
29
  var t;
30
30
  e ? v() : (t = l.value) == null || t.disconnect();
31
31
  }
32
32
  );
33
- const B = (e) => {
34
- b("update:model-value", e.target.value);
33
+ const C = (e) => {
34
+ T("update:model-value", e.target.value);
35
35
  }, v = () => {
36
36
  l.value || !d.value || (l.value = new ResizeObserver(([e]) => {
37
37
  const { target: t } = e, o = h(d.value) || document.documentElement, { scrollTop: a } = o;
38
38
  let n = 0;
39
39
  if (o === document.documentElement) {
40
- const { top: r, height: i } = C(t), { innerHeight: u } = window;
40
+ const { top: r, height: i } = E(t), { innerHeight: u } = window;
41
41
  n = Math.max(r + i - (u + a), 0);
42
42
  } else {
43
- const { top: r, height: i } = t.getBoundingClientRect(), { top: u } = o.getBoundingClientRect(), { offsetHeight: f } = o, E = r - u;
44
- n = Math.max(E + i - f, 0);
43
+ const { top: r, height: i } = t.getBoundingClientRect(), { top: u } = o.getBoundingClientRect(), { offsetHeight: f } = o, R = r - u;
44
+ n = Math.max(R + i - f, 0);
45
45
  }
46
46
  n && requestAnimationFrame(() => {
47
47
  o.scrollTop = a + n;
@@ -53,7 +53,7 @@ const U = ["id", "value"], W = /* @__PURE__ */ R({
53
53
  return null;
54
54
  const { overflowY: o } = getComputedStyle(t);
55
55
  return o !== "visible" ? t : t === document.body ? document.documentElement : h(t);
56
- }, C = (e) => {
56
+ }, E = (e) => {
57
57
  const { offsetWidth: t, offsetHeight: o } = e;
58
58
  let a = 0, n = 0;
59
59
  const r = function({ offsetLeft: i, offsetTop: u, offsetParent: f }) {
@@ -66,23 +66,23 @@ const U = ["id", "value"], W = /* @__PURE__ */ R({
66
66
  height: o
67
67
  };
68
68
  };
69
- return A(async () => {
69
+ return I(async () => {
70
70
  var e;
71
71
  if (s.value !== null)
72
72
  throw new Error("ll-input: use :model-value or v-model instead of :value.");
73
73
  if (p.onInput)
74
74
  throw new Error("ll-input: use the @update:model-value event instead of @input");
75
- (typeof s.resize == "boolean" && s.resize || (e = s.resize) != null && e.forceBrowserScroll) && (await I(), v());
76
- }), P(() => {
75
+ (typeof s.resize == "boolean" && s.resize || (e = s.resize) != null && e.forceBrowserScroll) && (await P(), v());
76
+ }), V(() => {
77
77
  var e;
78
78
  (e = l.value) == null || e.disconnect();
79
- }), (e, t) => (V(), $(L, _(s, {
79
+ }), (e, t) => ($(), q(N, _(s, {
80
80
  id: c(y),
81
81
  class: ["stash-textarea", [c(m).root, c(p).class]],
82
82
  "data-test": "stash-textarea"
83
- }), q({
83
+ }), j({
84
84
  default: g(({ fieldId: o, hasError: a }) => [
85
- j("textarea", _({
85
+ D("textarea", _({
86
86
  id: o,
87
87
  ref_key: "textareaRef",
88
88
  ref: d,
@@ -92,27 +92,27 @@ const U = ["id", "value"], W = /* @__PURE__ */ R({
92
92
  ],
93
93
  value: s.modelValue,
94
94
  "data-test": "stash-textarea|textarea"
95
- }, T.value, { onInput: B }), null, 16, U)
95
+ }, B.value, { onInput: C }), null, 16, W)
96
96
  ]),
97
97
  _: 2
98
98
  }, [
99
99
  c(z).hint ? {
100
100
  name: "hint",
101
101
  fn: g(() => [
102
- D(e.$slots, "hint")
102
+ F(e.$slots, "hint")
103
103
  ]),
104
104
  key: "0"
105
105
  } : void 0
106
106
  ]), 1040, ["id", "class"]));
107
107
  }
108
- }), Y = "_root_1bv4v_2", G = "_textarea_1bv4v_7", J = {
109
- root: Y,
110
- textarea: G,
108
+ }), G = "_root_1bv4v_2", J = "_textarea_1bv4v_7", K = {
109
+ root: G,
110
+ textarea: J,
111
111
  "stash-textarea--error": "_stash-textarea--error_1bv4v_28"
112
- }, K = {
113
- $style: J
114
- }, ae = /* @__PURE__ */ N(W, [["__cssModules", K]]);
112
+ }, Q = {
113
+ $style: K
114
+ }, ne = /* @__PURE__ */ U(Y, [["__cssModules", Q]]);
115
115
  export {
116
- ae as default
116
+ ne as default
117
117
  };
118
118
  //# sourceMappingURL=Textarea.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Textarea.js","sources":["../src/components/Textarea/Textarea.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import uniqueId from 'lodash-es/uniqueId';\n import { computed, nextTick, onBeforeUnmount, onMounted, ref, useAttrs, useCssModule, useSlots, watch } from 'vue';\n\n import Field from '../Field/Field.vue';\n\n export interface TextareaResizeOptions {\n /**\n * It will automatically scroll the page down when it reaches the bottom of the viewport/element\n */\n forceBrowserScroll: boolean;\n }\n\n export interface TextAreaProps {\n /**\n * Label text for the textarea element.\n */\n label?: string;\n\n /**\n * Value for the textarea element.\n */\n modelValue?: string;\n\n /**\n * Deprecated. Use :model-value or v-model instead of :value.\n * @deprecated Use :model-value or v-model instead of :value.\n */\n value?: string | number | null;\n\n /**\n * Error text for the textarea element.\n */\n errorText?: string;\n\n /**\n * Hint text for the textarea element.\n */\n hintText?: string;\n\n /**\n * Render \"(optional)\" to the right of the label text\n */\n showOptionalInLabel?: boolean;\n\n /**\n * Allow textarea to be resizable vertically.\n * Alternatively if you want to disable automatic scroll when resizing, you can set `{ forceBrowserScroll: false }`\n */\n resize?: boolean | TextareaResizeOptions;\n }\n\n defineOptions({\n name: 'll-textarea',\n });\n\n /**\n * Unique ID for the textarea, required for accessibility purposes\n */\n const id = uniqueId('textarea-');\n\n const attrs = useAttrs();\n const slots = useSlots();\n const classes = useCssModule();\n\n const props = withDefaults(defineProps<TextAreaProps>(), {\n label: ' ',\n modelValue: '',\n value: null,\n errorText: '',\n hintText: '',\n showOptionalInLabel: false,\n resize: false,\n });\n\n const emits =\n defineEmits<{\n /**\n * Emitted when the model value changes.\n */\n (e: 'update:model-value', value: string): void;\n }>();\n\n const textareaRef = ref<HTMLTextAreaElement>();\n const observer = ref<ResizeObserver>();\n\n const inputAttrs = computed(() => {\n const allAttrs = { ...attrs };\n\n delete allAttrs['data-test'];\n delete allAttrs.class;\n\n return allAttrs;\n });\n\n watch(\n () => props.resize,\n (v) => {\n v ? setupResizeObserver() : observer.value?.disconnect();\n },\n );\n\n const onInput = (event: Event) => {\n emits('update:model-value', (event.target as HTMLTextAreaElement).value);\n };\n\n const setupResizeObserver = () => {\n if (observer.value || !textareaRef.value) {\n return;\n }\n\n // the ResizeObserver will be in charge to detect if page needs to scroll when resizing the component\n observer.value = new ResizeObserver(([entry]) => {\n const { target } = entry;\n const parent = findParentScrollable(textareaRef.value as HTMLTextAreaElement) || document.documentElement;\n\n const { scrollTop: scrollPosition } = parent;\n let offsetDiff = 0;\n\n // checks if the closest parent element scrollable is the document page\n if (parent === document.documentElement) {\n const { top, height } = getOffsetClipRect(target as HTMLElement);\n const { innerHeight: viewportHeight } = window;\n\n offsetDiff = Math.max(top + height - (viewportHeight + scrollPosition), 0);\n } else {\n const { top, height } = (target as HTMLElement).getBoundingClientRect();\n const { top: parentTop } = parent.getBoundingClientRect();\n const { offsetHeight: parentHeight } = parent;\n const offsetTop = top - parentTop;\n\n offsetDiff = Math.max(offsetTop + height - parentHeight, 0);\n }\n\n if (offsetDiff) {\n requestAnimationFrame(() => {\n parent.scrollTop = scrollPosition + offsetDiff;\n });\n }\n });\n\n observer.value.observe(textareaRef.value);\n };\n\n /**\n * Retrieve the closest parent that has a scroll. Defaults to the document page.\n */\n const findParentScrollable = (el: HTMLElement): HTMLElement | null => {\n const parent = el.parentElement as HTMLElement;\n if (!parent) {\n return null;\n }\n\n const { overflowY } = getComputedStyle(parent);\n if (overflowY !== 'visible') {\n return parent;\n }\n\n if (parent === document.body) {\n return document.documentElement;\n }\n\n return findParentScrollable(parent);\n };\n\n /**\n * Retrieve element absolute positioning relative to the page.\n */\n const getOffsetClipRect = (el: HTMLElement) => {\n const { offsetWidth: width, offsetHeight: height } = el;\n\n let left = 0;\n let top = 0;\n\n const findPos = function ({ offsetLeft, offsetTop, offsetParent }: HTMLElement) {\n left += offsetLeft;\n top += offsetTop;\n\n if (offsetParent) {\n findPos(offsetParent as HTMLElement);\n }\n };\n\n findPos(el);\n\n return {\n top,\n left,\n width,\n height,\n };\n };\n\n onMounted(async () => {\n if (props.value !== null) {\n throw new Error('ll-input: use :model-value or v-model instead of :value.');\n }\n\n if (attrs.onInput) {\n throw new Error('ll-input: use the @update:model-value event instead of @input');\n }\n\n if (\n (typeof props.resize === 'boolean' && props.resize) ||\n (props.resize as TextareaResizeOptions)?.forceBrowserScroll\n ) {\n await nextTick();\n setupResizeObserver();\n }\n });\n\n onBeforeUnmount(() => {\n observer.value?.disconnect();\n });\n</script>\n\n<template>\n <Field v-bind=\"props\" :id=\"id\" class=\"stash-textarea\" :class=\"[classes.root, attrs.class]\" data-test=\"stash-textarea\">\n <template #default=\"{ fieldId, hasError }\">\n <textarea\n :id=\"fieldId\"\n ref=\"textareaRef\"\n :class=\"[\n classes.textarea,\n { 'stash-textarea--error': hasError, 'tw-resize-y': props.resize, 'tw-resize-none': !props.resize },\n ]\"\n :value=\"props.modelValue\"\n data-test=\"stash-textarea|textarea\"\n v-bind=\"inputAttrs\"\n @input=\"onInput\"\n ></textarea>\n </template>\n <template v-if=\"slots.hint\" #hint>\n <!-- @slot Hint content -->\n <slot name=\"hint\"></slot>\n </template>\n </Field>\n</template>\n\n<style module>\n .root {\n position: relative;\n width: 100%;\n }\n\n .textarea {\n background: var(--color-white);\n border: 1px solid;\n border-color: var(--color-ice-500);\n border-radius: theme('borderRadius.DEFAULT');\n color: var(--color-ice-700);\n display: block;\n min-height: 100px;\n outline: none;\n padding: theme('spacing[1.5]');\n width: 100%;\n\n &:hover {\n border-color: var(--color-ice-500);\n }\n\n &:focus,\n &:active {\n border-color: var(--color-blue-500);\n }\n\n &.stash-textarea--error {\n border-color: var(--color-red-500);\n color: var(--color-red-500);\n }\n\n &::placeholder {\n color: var(--color-ice-500);\n opacity: 1;\n }\n\n &[disabled],\n &[readonly] {\n background-color: var(--color-ice-200);\n border-color: var(--color-ice-500);\n color: var(--color-ice-700);\n pointer-events: none;\n }\n\n &[disabled]:active,\n &[readonly]:active,\n &[disabled]:focus,\n &[readonly]:focus {\n box-shadow: none;\n }\n\n &[disabled]::placeholder,\n &[readonly]::placeholder {\n text-transform: none;\n }\n }\n</style>\n"],"names":["id","uniqueId","attrs","useAttrs","slots","useSlots","classes","useCssModule","textareaRef","ref","observer","inputAttrs","computed","allAttrs","watch","props","v","setupResizeObserver","_a","onInput","event","emits","entry","target","parent","findParentScrollable","scrollPosition","offsetDiff","top","height","getOffsetClipRect","viewportHeight","parentTop","parentHeight","offsetTop","el","overflowY","width","left","findPos","offsetLeft","offsetParent","onMounted","nextTick","onBeforeUnmount"],"mappings":";;;;;;;;;;;;;;;;;;;;;iBA2DQA,IAAKC,EAAS,WAAW,GAEzBC,IAAQC,KACRC,IAAQC,KACRC,IAAUC,KAoBVC,IAAcC,KACdC,IAAWD,KAEXE,IAAaC,EAAS,MAAM;AAC1B,YAAAC,IAAW,EAAE,GAAGX;AAEtB,oBAAOW,EAAS,WAAW,GAC3B,OAAOA,EAAS,OAETA;AAAA,IAAA,CACR;AAED,IAAAC;AAAA,MACE,MAAMC,EAAM;AAAA,MACZ,CAACC,MAAM;;AACL,QAAAA,IAAIC,EAAoB,KAAIC,IAAAR,EAAS,UAAT,QAAAQ,EAAgB;AAAA,MAC9C;AAAA,IAAA;AAGI,UAAAC,IAAU,CAACC,MAAiB;AAC1B,MAAAC,EAAA,sBAAuBD,EAAM,OAA+B,KAAK;AAAA,IAAA,GAGnEH,IAAsB,MAAM;AAChC,MAAIP,EAAS,SAAS,CAACF,EAAY,UAKnCE,EAAS,QAAQ,IAAI,eAAe,CAAC,CAACY,CAAK,MAAM;AACzC,cAAA,EAAE,QAAAC,EAAW,IAAAD,GACbE,IAASC,EAAqBjB,EAAY,KAA4B,KAAK,SAAS,iBAEpF,EAAE,WAAWkB,EAAmB,IAAAF;AACtC,YAAIG,IAAa;AAGb,YAAAH,MAAW,SAAS,iBAAiB;AACvC,gBAAM,EAAE,KAAAI,GAAK,QAAAC,EAAO,IAAIC,EAAkBP,CAAqB,GACzD,EAAE,aAAaQ,EAAmB,IAAA;AAExC,UAAAJ,IAAa,KAAK,IAAIC,IAAMC,KAAUE,IAAiBL,IAAiB,CAAC;AAAA,eACpE;AACL,gBAAM,EAAE,KAAAE,GAAK,QAAAC,EAAO,IAAKN,EAAuB,sBAAsB,GAChE,EAAE,KAAKS,EAAU,IAAIR,EAAO,sBAAsB,GAClD,EAAE,cAAcS,EAAiB,IAAAT,GACjCU,IAAYN,IAAMI;AAExB,UAAAL,IAAa,KAAK,IAAIO,IAAYL,IAASI,GAAc,CAAC;AAAA;AAG5D,QAAIN,KACF,sBAAsB,MAAM;AAC1B,UAAAH,EAAO,YAAYE,IAAiBC;AAAA,QAAA,CACrC;AAAA,MACH,CACD,GAEQjB,EAAA,MAAM,QAAQF,EAAY,KAAK;AAAA,IAAA,GAMpCiB,IAAuB,CAACU,MAAwC;AACpE,YAAMX,IAASW,EAAG;AAClB,UAAI,CAACX;AACI,eAAA;AAGT,YAAM,EAAE,WAAAY,EAAA,IAAc,iBAAiBZ,CAAM;AAC7C,aAAIY,MAAc,YACTZ,IAGLA,MAAW,SAAS,OACf,SAAS,kBAGXC,EAAqBD,CAAM;AAAA,IAAA,GAM9BM,IAAoB,CAACK,MAAoB;AAC7C,YAAM,EAAE,aAAaE,GAAO,cAAcR,MAAWM;AAErD,UAAIG,IAAO,GACPV,IAAM;AAEV,YAAMW,IAAU,SAAU,EAAE,YAAAC,GAAY,WAAAN,GAAW,cAAAO,KAA6B;AACtE,QAAAH,KAAAE,GACDZ,KAAAM,GAEHO,KACFF,EAAQE,CAA2B;AAAA,MACrC;AAGF,aAAAF,EAAQJ,CAAE,GAEH;AAAA,QACL,KAAAP;AAAA,QACA,MAAAU;AAAA,QACA,OAAAD;AAAA,QACA,QAAAR;AAAA,MAAA;AAAA,IACF;AAGF,WAAAa,EAAU,YAAY;;AAChB,UAAA3B,EAAM,UAAU;AACZ,cAAA,IAAI,MAAM,0DAA0D;AAG5E,UAAIb,EAAM;AACF,cAAA,IAAI,MAAM,+DAA+D;AAI9E,OAAA,OAAOa,EAAM,UAAW,aAAaA,EAAM,WAC3CG,IAAAH,EAAM,WAAN,QAAAG,EAAwC,wBAEzC,MAAMyB,EAAS,GACK1B;IACtB,CACD,GAED2B,EAAgB,MAAM;;AACpB,OAAA1B,IAAAR,EAAS,UAAT,QAAAQ,EAAgB;AAAA,IAAW,CAC5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Textarea.js","sources":["../src/components/Textarea/Textarea.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import uniqueId from 'lodash-es/uniqueId';\n import { computed, nextTick, onBeforeUnmount, onMounted, ref, useAttrs, useCssModule, useSlots, watch } from 'vue';\n\n import Field from '../Field/Field.vue';\n\n export interface TextareaResizeOptions {\n /**\n * It will automatically scroll the page down when it reaches the bottom of the viewport/element\n */\n forceBrowserScroll: boolean;\n }\n\n export interface TextAreaProps {\n /**\n * Label text for the textarea element.\n */\n label?: string;\n\n /**\n * Value for the textarea element.\n */\n modelValue?: string;\n\n /**\n * Deprecated. Use :model-value or v-model instead of :value.\n * @deprecated Use :model-value or v-model instead of :value.\n */\n value?: string | number | null;\n\n /**\n * Error text for the textarea element.\n */\n errorText?: string;\n\n /**\n * Hint text for the textarea element.\n */\n hintText?: string;\n\n /**\n * Render \"(optional)\" to the right of the label text\n */\n showOptionalInLabel?: boolean;\n\n /**\n * Allow textarea to be resizable vertically.\n * Alternatively if you want to disable automatic scroll when resizing, you can set `{ forceBrowserScroll: false }`\n */\n resize?: boolean | TextareaResizeOptions;\n }\n\n defineOptions({\n name: 'll-textarea',\n });\n\n /**\n * Unique ID for the textarea, required for accessibility purposes\n */\n const id = uniqueId('textarea-');\n\n const attrs = useAttrs();\n const slots = useSlots();\n const classes = useCssModule();\n\n const props = withDefaults(defineProps<TextAreaProps>(), {\n label: ' ',\n modelValue: '',\n value: null,\n errorText: '',\n hintText: '',\n showOptionalInLabel: false,\n resize: false,\n });\n\n const emits = defineEmits<{\n /**\n * Emitted when the model value changes.\n */\n (e: 'update:model-value', value: string): void;\n }>();\n\n const textareaRef = ref<HTMLTextAreaElement>();\n const observer = ref<ResizeObserver>();\n\n const inputAttrs = computed(() => {\n const allAttrs = { ...attrs };\n\n delete allAttrs['data-test'];\n delete allAttrs.class;\n\n return allAttrs;\n });\n\n watch(\n () => props.resize,\n (v) => {\n v ? setupResizeObserver() : observer.value?.disconnect();\n },\n );\n\n const onInput = (event: Event) => {\n emits('update:model-value', (event.target as HTMLTextAreaElement).value);\n };\n\n const setupResizeObserver = () => {\n if (observer.value || !textareaRef.value) {\n return;\n }\n\n // the ResizeObserver will be in charge to detect if page needs to scroll when resizing the component\n observer.value = new ResizeObserver(([entry]) => {\n const { target } = entry;\n const parent = findParentScrollable(textareaRef.value as HTMLTextAreaElement) || document.documentElement;\n\n const { scrollTop: scrollPosition } = parent;\n let offsetDiff = 0;\n\n // checks if the closest parent element scrollable is the document page\n if (parent === document.documentElement) {\n const { top, height } = getOffsetClipRect(target as HTMLElement);\n const { innerHeight: viewportHeight } = window;\n\n offsetDiff = Math.max(top + height - (viewportHeight + scrollPosition), 0);\n } else {\n const { top, height } = (target as HTMLElement).getBoundingClientRect();\n const { top: parentTop } = parent.getBoundingClientRect();\n const { offsetHeight: parentHeight } = parent;\n const offsetTop = top - parentTop;\n\n offsetDiff = Math.max(offsetTop + height - parentHeight, 0);\n }\n\n if (offsetDiff) {\n requestAnimationFrame(() => {\n parent.scrollTop = scrollPosition + offsetDiff;\n });\n }\n });\n\n observer.value.observe(textareaRef.value);\n };\n\n /**\n * Retrieve the closest parent that has a scroll. Defaults to the document page.\n */\n const findParentScrollable = (el: HTMLElement): HTMLElement | null => {\n const parent = el.parentElement as HTMLElement;\n if (!parent) {\n return null;\n }\n\n const { overflowY } = getComputedStyle(parent);\n if (overflowY !== 'visible') {\n return parent;\n }\n\n if (parent === document.body) {\n return document.documentElement;\n }\n\n return findParentScrollable(parent);\n };\n\n /**\n * Retrieve element absolute positioning relative to the page.\n */\n const getOffsetClipRect = (el: HTMLElement) => {\n const { offsetWidth: width, offsetHeight: height } = el;\n\n let left = 0;\n let top = 0;\n\n const findPos = function ({ offsetLeft, offsetTop, offsetParent }: HTMLElement) {\n left += offsetLeft;\n top += offsetTop;\n\n if (offsetParent) {\n findPos(offsetParent as HTMLElement);\n }\n };\n\n findPos(el);\n\n return {\n top,\n left,\n width,\n height,\n };\n };\n\n onMounted(async () => {\n if (props.value !== null) {\n throw new Error('ll-input: use :model-value or v-model instead of :value.');\n }\n\n if (attrs.onInput) {\n throw new Error('ll-input: use the @update:model-value event instead of @input');\n }\n\n if (\n (typeof props.resize === 'boolean' && props.resize) ||\n (props.resize as TextareaResizeOptions)?.forceBrowserScroll\n ) {\n await nextTick();\n setupResizeObserver();\n }\n });\n\n onBeforeUnmount(() => {\n observer.value?.disconnect();\n });\n</script>\n\n<template>\n <Field v-bind=\"props\" :id=\"id\" class=\"stash-textarea\" :class=\"[classes.root, attrs.class]\" data-test=\"stash-textarea\">\n <template #default=\"{ fieldId, hasError }\">\n <textarea\n :id=\"fieldId\"\n ref=\"textareaRef\"\n :class=\"[\n classes.textarea,\n { 'stash-textarea--error': hasError, 'tw-resize-y': props.resize, 'tw-resize-none': !props.resize },\n ]\"\n :value=\"props.modelValue\"\n data-test=\"stash-textarea|textarea\"\n v-bind=\"inputAttrs\"\n @input=\"onInput\"\n ></textarea>\n </template>\n <template v-if=\"slots.hint\" #hint>\n <!-- @slot Hint content -->\n <slot name=\"hint\"></slot>\n </template>\n </Field>\n</template>\n\n<style module>\n .root {\n position: relative;\n width: 100%;\n }\n\n .textarea {\n background: var(--color-white);\n border: 1px solid;\n border-color: var(--color-ice-500);\n border-radius: theme('borderRadius.DEFAULT');\n color: var(--color-ice-700);\n display: block;\n min-height: 100px;\n outline: none;\n padding: theme('spacing[1.5]');\n width: 100%;\n\n &:hover {\n border-color: var(--color-ice-500);\n }\n\n &:focus,\n &:active {\n border-color: var(--color-blue-500);\n }\n\n &.stash-textarea--error {\n border-color: var(--color-red-500);\n color: var(--color-red-500);\n }\n\n &::placeholder {\n color: var(--color-ice-500);\n opacity: 1;\n }\n\n &[disabled],\n &[readonly] {\n background-color: var(--color-ice-200);\n border-color: var(--color-ice-500);\n color: var(--color-ice-700);\n pointer-events: none;\n }\n\n &[disabled]:active,\n &[readonly]:active,\n &[disabled]:focus,\n &[readonly]:focus {\n box-shadow: none;\n }\n\n &[disabled]::placeholder,\n &[readonly]::placeholder {\n text-transform: none;\n }\n }\n</style>\n"],"names":["id","uniqueId","attrs","useAttrs","slots","useSlots","classes","useCssModule","props","__props","emits","__emit","textareaRef","ref","observer","inputAttrs","computed","allAttrs","watch","v","setupResizeObserver","_a","onInput","event","entry","target","parent","findParentScrollable","scrollPosition","offsetDiff","top","height","getOffsetClipRect","viewportHeight","parentTop","parentHeight","offsetTop","el","overflowY","width","left","findPos","offsetLeft","offsetParent","onMounted","nextTick","onBeforeUnmount"],"mappings":"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"}
@@ -1,10 +1,9 @@
1
- import { AllowedComponentProps } from 'vue';
2
- import { ComponentCustomProps } from 'vue';
3
1
  import { ComponentOptionsMixin } from 'vue';
2
+ import { ComponentProvideOptions } from 'vue';
4
3
  import { DefineComponent } from 'vue';
5
4
  import { ExtractPropTypes } from 'vue';
6
5
  import { PropType } from 'vue';
7
- import { VNodeProps } from 'vue';
6
+ import { PublicProps } from 'vue';
8
7
 
9
8
  declare type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
10
9
 
@@ -33,7 +32,7 @@ declare type __VLS_WithTemplateSlots<T, S> = T & {
33
32
  };
34
33
  };
35
34
 
36
- declare const _default: __VLS_WithTemplateSlots<DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<TextAreaProps>, {
35
+ declare const _default: __VLS_WithTemplateSlots<DefineComponent<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<TextAreaProps>, {
37
36
  label: string;
38
37
  modelValue: string;
39
38
  value: null;
@@ -41,9 +40,9 @@ declare const _default: __VLS_WithTemplateSlots<DefineComponent<__VLS_WithDefaul
41
40
  hintText: string;
42
41
  showOptionalInLabel: boolean;
43
42
  resize: boolean;
44
- }>, {}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
43
+ }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
45
44
  "update:model-value": (value: string) => void;
46
- }, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<TextAreaProps>, {
45
+ }, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<TextAreaProps>, {
47
46
  label: string;
48
47
  modelValue: string;
49
48
  value: null;
@@ -51,17 +50,17 @@ declare const _default: __VLS_WithTemplateSlots<DefineComponent<__VLS_WithDefaul
51
50
  hintText: string;
52
51
  showOptionalInLabel: boolean;
53
52
  resize: boolean;
54
- }>>> & {
53
+ }>>> & Readonly<{
55
54
  "onUpdate:model-value"?: ((value: string) => any) | undefined;
56
- }, {
57
- label: string;
55
+ }>, {
58
56
  resize: boolean | TextareaResizeOptions;
59
- value: string | number | null;
57
+ label: string;
60
58
  errorText: string;
61
59
  hintText: string;
62
60
  showOptionalInLabel: boolean;
63
61
  modelValue: string;
64
- }, {}>, {
62
+ value: string | number | null;
63
+ }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>, {
65
64
  hint?(_: {}): any;
66
65
  }>;
67
66
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"Timeline.js","sources":["../src/components/Timeline/Timeline.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { SpacingDensities } from 'types';\n import { computed, provide } from 'vue';\n\n import { TIMELINE_INJECTION } from './keys';\n\n export interface TimelineProps {\n /**\n * Sets which side of the timeline the main and opposed content is going to be displayed.\n */\n side?: 'start' | 'end';\n\n /**\n * Sets the size of each timeline item.\n */\n density?: SpacingDensities;\n }\n\n const props = withDefaults(defineProps<TimelineProps>(), {\n side: 'end',\n density: 'comfortable',\n });\n\n provide(TIMELINE_INJECTION.key, {\n side: computed(() => props.side),\n density: computed(() => props.density),\n });\n</script>\n\n<template>\n <ol\n class=\"stash-timeline tw-grid tw-grid-flow-dense tw-items-start tw-justify-center tw-gap-x-3 tw-gap-y-1.5\"\n :class=\"[`stash-timeline--${props.side}`, `stash-timeline--${props.density}`]\"\n data-test=\"stash-timeline\"\n >\n <slot></slot>\n </ol>\n</template>\n\n<style scoped>\n .stash-timeline {\n grid-template-columns: auto min-content auto;\n }\n</style>\n"],"names":["provide","TIMELINE_INJECTION","computed","props"],"mappings":";;;;;;;;;;;AAuBE,WAAAA,EAAQC,EAAmB,KAAK;AAAA,MAC9B,MAAMC,EAAS,MAAMC,EAAM,IAAI;AAAA,MAC/B,SAASD,EAAS,MAAMC,EAAM,OAAO;AAAA,IAAA,CACtC;;;;;;;;;"}
1
+ {"version":3,"file":"Timeline.js","sources":["../src/components/Timeline/Timeline.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { SpacingDensities } from 'types';\n import { computed, provide } from 'vue';\n\n import { TIMELINE_INJECTION } from './keys';\n\n export interface TimelineProps {\n /**\n * Sets which side of the timeline the main and opposed content is going to be displayed.\n */\n side?: 'start' | 'end';\n\n /**\n * Sets the size of each timeline item.\n */\n density?: SpacingDensities;\n }\n\n const props = withDefaults(defineProps<TimelineProps>(), {\n side: 'end',\n density: 'comfortable',\n });\n\n provide(TIMELINE_INJECTION.key, {\n side: computed(() => props.side),\n density: computed(() => props.density),\n });\n</script>\n\n<template>\n <ol\n class=\"stash-timeline tw-grid tw-grid-flow-dense tw-items-start tw-justify-center tw-gap-x-3 tw-gap-y-1.5\"\n :class=\"[`stash-timeline--${props.side}`, `stash-timeline--${props.density}`]\"\n data-test=\"stash-timeline\"\n >\n <slot></slot>\n </ol>\n</template>\n\n<style scoped>\n .stash-timeline {\n grid-template-columns: auto min-content auto;\n }\n</style>\n"],"names":["props","__props","provide","TIMELINE_INJECTION","computed"],"mappings":";;;;;;;;;;AAkBE,UAAMA,IAAQC;AAKd,WAAAC,EAAQC,EAAmB,KAAK;AAAA,MAC9B,MAAMC,EAAS,MAAMJ,EAAM,IAAI;AAAA,MAC/B,SAASI,EAAS,MAAMJ,EAAM,OAAO;AAAA,IAAA,CACtC;;;;;;;;;"}
@@ -1,10 +1,9 @@
1
- import { AllowedComponentProps } from 'vue';
2
- import { ComponentCustomProps } from 'vue';
3
1
  import { ComponentOptionsMixin } from 'vue';
2
+ import { ComponentProvideOptions } from 'vue';
4
3
  import { DefineComponent } from 'vue';
5
4
  import { ExtractPropTypes } from 'vue';
6
5
  import { PropType } from 'vue';
7
- import { VNodeProps } from 'vue';
6
+ import { PublicProps } from 'vue';
8
7
 
9
8
  declare type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
10
9
 
@@ -33,16 +32,16 @@ declare type __VLS_WithTemplateSlots<T, S> = T & {
33
32
  };
34
33
  };
35
34
 
36
- declare const _default: __VLS_WithTemplateSlots<DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<TimelineProps>, {
35
+ declare const _default: __VLS_WithTemplateSlots<DefineComponent<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<TimelineProps>, {
37
36
  side: string;
38
37
  density: string;
39
- }>, {}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<TimelineProps>, {
38
+ }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<TimelineProps>, {
40
39
  side: string;
41
40
  density: string;
42
- }>>>, {
41
+ }>>> & Readonly<{}>, {
43
42
  side: "start" | "end";
44
43
  density: "compact" | "comfortable";
45
- }, {}>, {
44
+ }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>, {
46
45
  default?(_: {}): any;
47
46
  }>;
48
47
  export default _default;
@@ -1,21 +1,15 @@
1
- import { defineComponent as u, useSlots as w, inject as h, computed as l, openBlock as c, createElementBlock as m, createElementVNode as e, normalizeClass as r, renderSlot as p, unref as f, createCommentVNode as v } from "vue";
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";
2
2
  import { T as _ } from "./keys-241d03b7.js";
3
3
  const I = {
4
4
  class: "stash-timeline-item group tw-contents tw-list-none",
5
5
  "data-test": "stash-timeline-item"
6
- }, T = /* @__PURE__ */ e("div", {
7
- class: "stash-timeline-separator tw-col-start-2 tw-col-end-3 tw-flex tw-h-full tw-flex-col tw-items-center",
8
- "data-test": "stash-timeline-separator"
9
- }, [
10
- /* @__PURE__ */ e("div", { class: "tw-mt-[5px] tw-rounded-full tw-bg-ice-500 tw-p-1.5" }),
11
- /* @__PURE__ */ e("div", { class: "tw-w-[2px] tw-flex-1 tw-bg-ice-500" })
12
- ], -1), N = /* @__PURE__ */ u({
6
+ }, x = /* @__PURE__ */ w({
13
7
  __name: "TimelineItem",
14
- setup(b) {
15
- const d = w(), s = h(_.key);
8
+ setup(T) {
9
+ const u = v(), s = f(_.key);
16
10
  if (!s)
17
11
  throw Error("The TimelineItem component must be a child of the Timeline component.");
18
- const { density: o, side: t } = s, n = l(() => ({
12
+ const { density: o, side: t } = s, n = m(() => ({
19
13
  main: {
20
14
  "tw-col-start-3": t.value === "end",
21
15
  "tw-col-end-2": t.value === "start"
@@ -24,29 +18,35 @@ const I = {
24
18
  "tw-col-end-2": t.value === "end",
25
19
  "tw-col-start-3": t.value === "start"
26
20
  }
27
- })), i = l(() => ({
21
+ })), i = m(() => ({
28
22
  "tw-mb-3": o.value === "compact",
29
23
  "tw-mb-6": o.value === "comfortable"
30
24
  }));
31
- return (a, E) => (c(), m("li", I, [
25
+ return (l, a) => (c(), r("li", I, [
32
26
  e("div", {
33
- class: r(["stash-timeline-item__main-content", [n.value.main, i.value]]),
27
+ class: p(["stash-timeline-item__main-content", [n.value.main, i.value]]),
34
28
  "data-test": "stash-timeline-item|content"
35
29
  }, [
36
- p(a.$slots, "default")
30
+ d(l.$slots, "default")
37
31
  ], 2),
38
- T,
39
- f(d).opposite ? (c(), m("div", {
32
+ a[0] || (a[0] = e("div", {
33
+ class: "stash-timeline-separator tw-col-start-2 tw-col-end-3 tw-flex tw-h-full tw-flex-col tw-items-center",
34
+ "data-test": "stash-timeline-separator"
35
+ }, [
36
+ e("div", { class: "tw-mt-[5px] tw-rounded-full tw-bg-ice-500 tw-p-1.5" }),
37
+ e("div", { class: "tw-w-[2px] tw-flex-1 tw-bg-ice-500" })
38
+ ], -1)),
39
+ u.opposite ? (c(), r("div", {
40
40
  key: 0,
41
- class: r(["stash-timeline-item__opposite-content", [n.value.opposite, i.value]]),
41
+ class: p(["stash-timeline-item__opposite-content", [n.value.opposite, i.value]]),
42
42
  "data-test": "stash-timeline-item|opposite-content"
43
43
  }, [
44
- p(a.$slots, "opposite")
45
- ], 2)) : v("", !0)
44
+ d(l.$slots, "opposite")
45
+ ], 2)) : h("", !0)
46
46
  ]));
47
47
  }
48
48
  });
49
49
  export {
50
- N as default
50
+ x as default
51
51
  };
52
52
  //# sourceMappingURL=TimelineItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TimelineItem.js","sources":["../src/components/TimelineItem/TimelineItem.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { computed, inject } from 'vue';\n\n import { TIMELINE_INJECTION } from '../Timeline/keys';\n\n const slots =\n defineSlots<{\n /**\n * The opposite content of the timeline item.\n */\n opposite?: Record<string, never>;\n\n /**\n * The default content of the timeline item.\n */\n default: Record<string, never>;\n }>();\n\n const timelineInjection = inject(TIMELINE_INJECTION.key);\n\n if (!timelineInjection) {\n throw Error('The TimelineItem component must be a child of the Timeline component.');\n }\n\n const { density, side } = timelineInjection;\n\n const sideClasses = computed(() => {\n return {\n main: {\n 'tw-col-start-3': side.value === 'end',\n 'tw-col-end-2': side.value === 'start',\n },\n opposite: {\n 'tw-col-end-2': side.value === 'end',\n 'tw-col-start-3': side.value === 'start',\n },\n };\n });\n\n const contentDensity = computed(() => ({\n 'tw-mb-3': density.value === 'compact',\n 'tw-mb-6': density.value === 'comfortable',\n }));\n</script>\n\n<template>\n <li class=\"stash-timeline-item group tw-contents tw-list-none\" data-test=\"stash-timeline-item\">\n <div\n class=\"stash-timeline-item__main-content\"\n :class=\"[sideClasses.main, contentDensity]\"\n data-test=\"stash-timeline-item|content\"\n >\n <slot></slot>\n </div>\n\n <div\n class=\"stash-timeline-separator tw-col-start-2 tw-col-end-3 tw-flex tw-h-full tw-flex-col tw-items-center\"\n data-test=\"stash-timeline-separator\"\n >\n <div class=\"tw-mt-[5px] tw-rounded-full tw-bg-ice-500 tw-p-1.5\"></div>\n <div class=\"tw-w-[2px] tw-flex-1 tw-bg-ice-500\"></div>\n </div>\n\n <div\n v-if=\"slots.opposite\"\n class=\"stash-timeline-item__opposite-content\"\n :class=\"[sideClasses.opposite, contentDensity]\"\n data-test=\"stash-timeline-item|opposite-content\"\n >\n <slot name=\"opposite\"></slot>\n </div>\n </li>\n</template>\n"],"names":["slots","_useSlots","timelineInjection","inject","TIMELINE_INJECTION","density","side","sideClasses","computed","contentDensity"],"mappings":";;;;;;;;;;;;;;AAKE,UAAMA,IACJC,KAYIC,IAAoBC,EAAOC,EAAmB,GAAG;AAEvD,QAAI,CAACF;AACH,YAAM,MAAM,uEAAuE;AAG/E,UAAA,EAAE,SAAAG,GAAS,MAAAC,EAAS,IAAAJ,GAEpBK,IAAcC,EAAS,OACpB;AAAA,MACL,MAAM;AAAA,QACJ,kBAAkBF,EAAK,UAAU;AAAA,QACjC,gBAAgBA,EAAK,UAAU;AAAA,MACjC;AAAA,MACA,UAAU;AAAA,QACR,gBAAgBA,EAAK,UAAU;AAAA,QAC/B,kBAAkBA,EAAK,UAAU;AAAA,MACnC;AAAA,IAAA,EAEH,GAEKG,IAAiBD,EAAS,OAAO;AAAA,MACrC,WAAWH,EAAQ,UAAU;AAAA,MAC7B,WAAWA,EAAQ,UAAU;AAAA,IAC7B,EAAA;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"TimelineItem.js","sources":["../src/components/TimelineItem/TimelineItem.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { computed, inject } from 'vue';\n\n import { TIMELINE_INJECTION } from '../Timeline/keys';\n\n const slots = defineSlots<{\n /**\n * The opposite content of the timeline item.\n */\n opposite?: Record<string, never>;\n\n /**\n * The default content of the timeline item.\n */\n default: Record<string, never>;\n }>();\n\n const timelineInjection = inject(TIMELINE_INJECTION.key);\n\n if (!timelineInjection) {\n throw Error('The TimelineItem component must be a child of the Timeline component.');\n }\n\n const { density, side } = timelineInjection;\n\n const sideClasses = computed(() => {\n return {\n main: {\n 'tw-col-start-3': side.value === 'end',\n 'tw-col-end-2': side.value === 'start',\n },\n opposite: {\n 'tw-col-end-2': side.value === 'end',\n 'tw-col-start-3': side.value === 'start',\n },\n };\n });\n\n const contentDensity = computed(() => ({\n 'tw-mb-3': density.value === 'compact',\n 'tw-mb-6': density.value === 'comfortable',\n }));\n</script>\n\n<template>\n <li class=\"stash-timeline-item group tw-contents tw-list-none\" data-test=\"stash-timeline-item\">\n <div\n class=\"stash-timeline-item__main-content\"\n :class=\"[sideClasses.main, contentDensity]\"\n data-test=\"stash-timeline-item|content\"\n >\n <slot></slot>\n </div>\n\n <div\n class=\"stash-timeline-separator tw-col-start-2 tw-col-end-3 tw-flex tw-h-full tw-flex-col tw-items-center\"\n data-test=\"stash-timeline-separator\"\n >\n <div class=\"tw-mt-[5px] tw-rounded-full tw-bg-ice-500 tw-p-1.5\"></div>\n <div class=\"tw-w-[2px] tw-flex-1 tw-bg-ice-500\"></div>\n </div>\n\n <div\n v-if=\"slots.opposite\"\n class=\"stash-timeline-item__opposite-content\"\n :class=\"[sideClasses.opposite, contentDensity]\"\n data-test=\"stash-timeline-item|opposite-content\"\n >\n <slot name=\"opposite\"></slot>\n </div>\n </li>\n</template>\n"],"names":["slots","_useSlots","timelineInjection","inject","TIMELINE_INJECTION","density","side","sideClasses","computed","contentDensity"],"mappings":";;;;;;;;AAKE,UAAMA,IAAQC,KAYRC,IAAoBC,EAAOC,EAAmB,GAAG;AAEvD,QAAI,CAACF;AACH,YAAM,MAAM,uEAAuE;AAG/E,UAAA,EAAE,SAAAG,GAAS,MAAAC,EAAS,IAAAJ,GAEpBK,IAAcC,EAAS,OACpB;AAAA,MACL,MAAM;AAAA,QACJ,kBAAkBF,EAAK,UAAU;AAAA,QACjC,gBAAgBA,EAAK,UAAU;AAAA,MACjC;AAAA,MACA,UAAU;AAAA,QACR,gBAAgBA,EAAK,UAAU;AAAA,QAC/B,kBAAkBA,EAAK,UAAU;AAAA,MACnC;AAAA,IAAA,EAEH,GAEKG,IAAiBD,EAAS,OAAO;AAAA,MACrC,WAAWH,EAAQ,UAAU;AAAA,MAC7B,WAAWA,EAAQ,UAAU;AAAA,IAC7B,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,9 +1,7 @@
1
- import { AllowedComponentProps } from 'vue';
2
- import { ComponentCustomProps } from 'vue';
3
1
  import { ComponentOptionsMixin } from 'vue';
2
+ import { ComponentProvideOptions } from 'vue';
4
3
  import { DefineComponent } from 'vue';
5
- import { ExtractPropTypes } from 'vue';
6
- import { VNodeProps } from 'vue';
4
+ import { PublicProps } from 'vue';
7
5
 
8
6
  declare type __VLS_WithTemplateSlots<T, S> = T & {
9
7
  new (): {
@@ -11,7 +9,7 @@ declare type __VLS_WithTemplateSlots<T, S> = T & {
11
9
  };
12
10
  };
13
11
 
14
- declare const _default: __VLS_WithTemplateSlots<DefineComponent<{}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes<{}>>, {}, {}>, Readonly<{
12
+ declare const _default: __VLS_WithTemplateSlots<DefineComponent<{}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>, Readonly<{
15
13
  /**
16
14
  * The opposite content of the timeline item.
17
15
  */
@@ -20,7 +18,16 @@ declare const _default: __VLS_WithTemplateSlots<DefineComponent<{}, {}, {}, {},
20
18
  * The default content of the timeline item.
21
19
  */
22
20
  default: Record<string, never>;
23
- }>>;
21
+ }> & {
22
+ /**
23
+ * The opposite content of the timeline item.
24
+ */
25
+ opposite?: Record<string, never> | undefined;
26
+ /**
27
+ * The default content of the timeline item.
28
+ */
29
+ default: Record<string, never>;
30
+ }>;
24
31
  export default _default;
25
32
 
26
33
  export { }