@eos-ui/vue 0.1.0 → 0.2.0

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 (409) hide show
  1. package/THIRD_PARTY.md +1 -1
  2. package/dist/component-names.js +1 -1
  3. package/dist/component-names.js.map +1 -1
  4. package/dist/components/Actions/EActions.js.map +1 -1
  5. package/dist/components/Actions/EActions.vue.d.ts +3 -1
  6. package/dist/components/Actions/EActions.vue_vue_type_script_setup_true_lang.js +12 -3
  7. package/dist/components/Actions/EActions.vue_vue_type_script_setup_true_lang.js.map +1 -1
  8. package/dist/components/AppHeader/EAppHeader.js.map +1 -1
  9. package/dist/components/AppHeader/EAppHeader.vue_vue_type_script_setup_true_lang.js.map +1 -1
  10. package/dist/components/AppShell/EAppShell.js.map +1 -1
  11. package/dist/components/AppShell/EAppShell.vue.d.ts +2 -2
  12. package/dist/components/AppShell/EAppShell.vue_vue_type_script_setup_true_lang.js.map +1 -1
  13. package/dist/components/Avatar/EAvatar.js.map +1 -1
  14. package/dist/components/Avatar/EAvatar.vue.d.ts +4 -4
  15. package/dist/components/Avatar/EAvatar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  16. package/dist/components/Breadcrumb/EBreadcrumb.js.map +1 -1
  17. package/dist/components/Breadcrumb/EBreadcrumb.vue.d.ts +2 -2
  18. package/dist/components/Breadcrumb/EBreadcrumb.vue_vue_type_script_setup_true_lang.js.map +1 -1
  19. package/dist/components/Button/EButton.js.map +1 -1
  20. package/dist/components/Button/EButton.vue.d.ts +5 -3
  21. package/dist/components/Button/EButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
  22. package/dist/components/Calendar/ECalendar.js.map +1 -1
  23. package/dist/components/Calendar/ECalendar.vue.d.ts +12 -9
  24. package/dist/components/Calendar/ECalendar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  25. package/dist/components/Checkbox/ECheckbox.js.map +1 -1
  26. package/dist/components/Checkbox/ECheckbox.vue.d.ts +6 -3
  27. package/dist/components/Checkbox/ECheckbox.vue_vue_type_script_setup_true_lang.js.map +1 -1
  28. package/dist/components/CodeBlock/ECodeBlock.js.map +1 -1
  29. package/dist/components/CodeBlock/ECodeBlock.vue.d.ts +2 -2
  30. package/dist/components/CodeBlock/ECodeBlock.vue_vue_type_script_setup_true_lang.js.map +1 -1
  31. package/dist/components/ColorField/EColorField.js.map +1 -1
  32. package/dist/components/ColorField/EColorField.vue.d.ts +5 -3
  33. package/dist/components/ColorField/EColorField.vue_vue_type_script_setup_true_lang.js.map +1 -1
  34. package/dist/components/Combobox/ECombobox.js.map +1 -1
  35. package/dist/components/Combobox/ECombobox.vue.d.ts +7 -5
  36. package/dist/components/Combobox/ECombobox.vue_vue_type_script_setup_true_lang.js +3 -2
  37. package/dist/components/Combobox/ECombobox.vue_vue_type_script_setup_true_lang.js.map +1 -1
  38. package/dist/components/Combobox/EComboboxBase.js.map +1 -1
  39. package/dist/components/Combobox/EComboboxBase.vue.d.ts +6 -14
  40. package/dist/components/Combobox/EComboboxBase.vue_vue_type_script_setup_true_lang.js +9 -8
  41. package/dist/components/Combobox/EComboboxBase.vue_vue_type_script_setup_true_lang.js.map +1 -1
  42. package/dist/components/Combobox/EComboboxOption.js.map +1 -1
  43. package/dist/components/Combobox/EComboboxOption.vue_vue_type_script_setup_true_lang.js +1 -1
  44. package/dist/components/Combobox/EComboboxOption.vue_vue_type_script_setup_true_lang.js.map +1 -1
  45. package/dist/components/Combobox/{EHighlight.js → matchHighlight.js} +3 -3
  46. package/dist/components/Combobox/matchHighlight.js.map +1 -0
  47. package/dist/components/Combobox/types.d.ts +13 -8
  48. package/dist/components/CurrencyField/ECurrencyField.js.map +1 -1
  49. package/dist/components/CurrencyField/ECurrencyField.vue.d.ts +8 -6
  50. package/dist/components/CurrencyField/ECurrencyField.vue_vue_type_script_setup_true_lang.js.map +1 -1
  51. package/dist/components/DataGrid/EDataGrid.js.map +1 -1
  52. package/dist/components/DataGrid/EDataGrid.vue.d.ts +20 -15
  53. package/dist/components/DataGrid/EDataGrid.vue_vue_type_script_setup_true_lang.js +213 -213
  54. package/dist/components/DataGrid/EDataGrid.vue_vue_type_script_setup_true_lang.js.map +1 -1
  55. package/dist/components/DatePicker/EDatePicker.js.map +1 -1
  56. package/dist/components/DatePicker/EDatePicker.vue.d.ts +9 -6
  57. package/dist/components/DatePicker/EDatePicker.vue_vue_type_script_setup_true_lang.js +10 -10
  58. package/dist/components/DatePicker/EDatePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  59. package/dist/components/Definition/EDefinition.js +8 -0
  60. package/dist/components/Definition/EDefinition.js.map +1 -0
  61. package/dist/components/{Popover/EPopover.vue.d.ts → Definition/EDefinition.vue.d.ts} +2 -1
  62. package/dist/components/{Popover/EPopover.vue_vue_type_script_setup_true_lang.js → Definition/EDefinition.vue_vue_type_script_setup_true_lang.js} +4 -4
  63. package/dist/components/Definition/EDefinition.vue_vue_type_script_setup_true_lang.js.map +1 -0
  64. package/dist/components/Definition/index.d.ts +1 -0
  65. package/dist/components/DescriptionList/EDescriptionList.js.map +1 -1
  66. package/dist/components/DescriptionList/EDescriptionList.vue.d.ts +32 -5
  67. package/dist/components/DescriptionList/EDescriptionList.vue_vue_type_script_setup_true_lang.js +70 -8
  68. package/dist/components/DescriptionList/EDescriptionList.vue_vue_type_script_setup_true_lang.js.map +1 -1
  69. package/dist/components/Dialog/DialogFrame.js.map +1 -1
  70. package/dist/components/Dialog/DialogFrame.vue.d.ts +1 -0
  71. package/dist/components/Dialog/DialogFrame.vue_vue_type_script_setup_true_lang.js +19 -18
  72. package/dist/components/Dialog/DialogFrame.vue_vue_type_script_setup_true_lang.js.map +1 -1
  73. package/dist/components/Dialog/EDialog.js.map +1 -1
  74. package/dist/components/Dialog/EDialog.vue.d.ts +4 -1
  75. package/dist/components/Dialog/EDialog.vue_vue_type_script_setup_true_lang.js +3 -0
  76. package/dist/components/Dialog/EDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
  77. package/dist/components/Disclosure/EDisclosure.js.map +1 -1
  78. package/dist/components/Disclosure/EDisclosure.vue.d.ts +6 -9
  79. package/dist/components/Disclosure/EDisclosure.vue_vue_type_script_setup_true_lang.js +14 -19
  80. package/dist/components/Disclosure/EDisclosure.vue_vue_type_script_setup_true_lang.js.map +1 -1
  81. package/dist/components/Drawer/EDrawer.js.map +1 -1
  82. package/dist/components/Drawer/EDrawer.vue.d.ts +4 -1
  83. package/dist/components/Drawer/EDrawer.vue_vue_type_script_setup_true_lang.js +3 -0
  84. package/dist/components/Drawer/EDrawer.vue_vue_type_script_setup_true_lang.js.map +1 -1
  85. package/dist/components/EmptyState/EEmptyState.js.map +1 -1
  86. package/dist/components/EmptyState/EEmptyState.vue.d.ts +1 -1
  87. package/dist/components/EmptyState/EEmptyState.vue_vue_type_script_setup_true_lang.js.map +1 -1
  88. package/dist/components/ExpandableRow/EExpandableRow.js +8 -0
  89. package/dist/components/ExpandableRow/EExpandableRow.js.map +1 -0
  90. package/dist/components/{ButtonGroup/EButtonGroup.vue.d.ts → ExpandableRow/EExpandableRow.vue.d.ts} +12 -4
  91. package/dist/components/ExpandableRow/EExpandableRow.vue_vue_type_script_setup_true_lang.js +40 -0
  92. package/dist/components/ExpandableRow/EExpandableRow.vue_vue_type_script_setup_true_lang.js.map +1 -0
  93. package/dist/components/ExpandableRow/index.d.ts +1 -0
  94. package/dist/components/Field/EField.js.map +1 -1
  95. package/dist/components/Field/EField.vue.d.ts +1 -1
  96. package/dist/components/Field/EField.vue_vue_type_script_setup_true_lang.js +4 -4
  97. package/dist/components/Field/EField.vue_vue_type_script_setup_true_lang.js.map +1 -1
  98. package/dist/components/Field/labelProps.d.ts +2 -2
  99. package/dist/components/Fieldset/EFieldset.js.map +1 -1
  100. package/dist/components/Fieldset/EFieldset.vue.d.ts +5 -3
  101. package/dist/components/Fieldset/EFieldset.vue_vue_type_script_setup_true_lang.js +54 -35
  102. package/dist/components/Fieldset/EFieldset.vue_vue_type_script_setup_true_lang.js.map +1 -1
  103. package/dist/components/Grid/EGrid.js.map +1 -1
  104. package/dist/components/Grid/EGrid.vue.d.ts +5 -2
  105. package/dist/components/Grid/EGrid.vue_vue_type_script_setup_true_lang.js +15 -11
  106. package/dist/components/Grid/EGrid.vue_vue_type_script_setup_true_lang.js.map +1 -1
  107. package/dist/components/Heading/EHeading.js.map +1 -1
  108. package/dist/components/Heading/EHeading.vue.d.ts +1 -1
  109. package/dist/components/Heading/EHeading.vue_vue_type_script_setup_true_lang.js +10 -10
  110. package/dist/components/Heading/EHeading.vue_vue_type_script_setup_true_lang.js.map +1 -1
  111. package/dist/components/Highlight/EHighlight.js.map +1 -1
  112. package/dist/components/Highlight/EHighlight.vue_vue_type_script_setup_true_lang.js.map +1 -1
  113. package/dist/components/IconButton/EIconButton.js.map +1 -1
  114. package/dist/components/IconButton/EIconButton.vue.d.ts +1 -0
  115. package/dist/components/IconButton/EIconButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
  116. package/dist/components/Inline/EInline.js.map +1 -1
  117. package/dist/components/Inline/EInline.vue.d.ts +3 -3
  118. package/dist/components/Inline/EInline.vue_vue_type_script_setup_true_lang.js.map +1 -1
  119. package/dist/components/Kbd/EKbd.js.map +1 -1
  120. package/dist/components/Kbd/EKbd.vue_vue_type_script_setup_true_lang.js.map +1 -1
  121. package/dist/components/Link/ELink.js.map +1 -1
  122. package/dist/components/Link/ELink.vue.d.ts +2 -2
  123. package/dist/components/Link/ELink.vue_vue_type_script_setup_true_lang.js.map +1 -1
  124. package/dist/components/Menu/EMenu.js.map +1 -1
  125. package/dist/components/Menu/EMenu.vue.d.ts +4 -3
  126. package/dist/components/Menu/EMenu.vue_vue_type_script_setup_true_lang.js +1 -1
  127. package/dist/components/Menu/EMenu.vue_vue_type_script_setup_true_lang.js.map +1 -1
  128. package/dist/components/NavList/ENavList.js.map +1 -1
  129. package/dist/components/NavList/ENavList.vue.d.ts +7 -9
  130. package/dist/components/NavList/ENavList.vue_vue_type_script_setup_true_lang.js +2 -3
  131. package/dist/components/NavList/ENavList.vue_vue_type_script_setup_true_lang.js.map +1 -1
  132. package/dist/components/{Tabs → NavList}/LinkNav.js +1 -1
  133. package/dist/components/NavList/LinkNav.js.map +1 -0
  134. package/dist/components/{Tabs → NavList}/LinkNav.vue_vue_type_script_setup_true_lang.js +1 -1
  135. package/dist/components/NavList/LinkNav.vue_vue_type_script_setup_true_lang.js.map +1 -0
  136. package/dist/components/Notice/ENotice.js.map +1 -1
  137. package/dist/components/Notice/ENotice.vue.d.ts +2 -2
  138. package/dist/components/Notice/ENotice.vue_vue_type_script_setup_true_lang.js.map +1 -1
  139. package/dist/components/NumberField/ENumberField.js.map +1 -1
  140. package/dist/components/NumberField/ENumberField.vue.d.ts +5 -3
  141. package/dist/components/NumberField/ENumberField.vue_vue_type_script_setup_true_lang.js.map +1 -1
  142. package/dist/components/OtpField/EOtpField.js.map +1 -1
  143. package/dist/components/OtpField/EOtpField.vue.d.ts +10 -8
  144. package/dist/components/OtpField/EOtpField.vue_vue_type_script_setup_true_lang.js +2 -2
  145. package/dist/components/OtpField/EOtpField.vue_vue_type_script_setup_true_lang.js.map +1 -1
  146. package/dist/components/PageHeader/EPageHeader.js.map +1 -1
  147. package/dist/components/PageHeader/EPageHeader.vue.d.ts +1 -1
  148. package/dist/components/PageHeader/EPageHeader.vue_vue_type_script_setup_true_lang.js.map +1 -1
  149. package/dist/components/Pagination/EPagination.js.map +1 -1
  150. package/dist/components/Pagination/EPagination.vue.d.ts +1 -0
  151. package/dist/components/Pagination/EPagination.vue_vue_type_script_setup_true_lang.js.map +1 -1
  152. package/dist/components/PasswordField/EPasswordField.js.map +1 -1
  153. package/dist/components/PasswordField/EPasswordField.vue.d.ts +14 -10
  154. package/dist/components/PasswordField/EPasswordField.vue_vue_type_script_setup_true_lang.js.map +1 -1
  155. package/dist/components/PhoneField/EPhoneField.js.map +1 -1
  156. package/dist/components/PhoneField/EPhoneField.vue.d.ts +6 -4
  157. package/dist/components/PhoneField/EPhoneField.vue_vue_type_script_setup_true_lang.js.map +1 -1
  158. package/dist/components/Progress/EProgress.js.map +1 -1
  159. package/dist/components/Progress/EProgress.vue.d.ts +5 -5
  160. package/dist/components/Progress/EProgress.vue_vue_type_script_setup_true_lang.js +20 -14
  161. package/dist/components/Progress/EProgress.vue_vue_type_script_setup_true_lang.js.map +1 -1
  162. package/dist/components/RadioGroup/ERadioGroup.js.map +1 -1
  163. package/dist/components/RadioGroup/ERadioGroup.vue.d.ts +8 -4
  164. package/dist/components/RadioGroup/ERadioGroup.vue_vue_type_script_setup_true_lang.js +1 -1
  165. package/dist/components/RadioGroup/ERadioGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
  166. package/dist/components/RangePicker/ERangePicker.js.map +1 -1
  167. package/dist/components/RangePicker/ERangePicker.vue.d.ts +12 -8
  168. package/dist/components/RangePicker/ERangePicker.vue_vue_type_script_setup_true_lang.js +65 -65
  169. package/dist/components/RangePicker/ERangePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  170. package/dist/components/SearchBar/ESearchBar.js.map +1 -1
  171. package/dist/components/SearchBar/ESearchBar.vue.d.ts +8 -7
  172. package/dist/components/SearchBar/ESearchBar.vue_vue_type_script_setup_true_lang.js +1 -1
  173. package/dist/components/SearchBar/ESearchBar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  174. package/dist/components/SearchResults/ESearchResults.js.map +1 -1
  175. package/dist/components/SearchResults/ESearchResults.vue.d.ts +3 -3
  176. package/dist/components/SearchResults/ESearchResults.vue_vue_type_script_setup_true_lang.js +1 -1
  177. package/dist/components/SearchResults/ESearchResults.vue_vue_type_script_setup_true_lang.js.map +1 -1
  178. package/dist/components/Segmented/ESegmented.js.map +1 -1
  179. package/dist/components/Segmented/ESegmented.vue.d.ts +10 -6
  180. package/dist/components/Segmented/ESegmented.vue_vue_type_script_setup_true_lang.js.map +1 -1
  181. package/dist/components/Select/ESelect.js.map +1 -1
  182. package/dist/components/Select/ESelect.vue.d.ts +9 -6
  183. package/dist/components/Select/ESelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
  184. package/dist/components/Select/ESelectControl.js.map +1 -1
  185. package/dist/components/Select/ESelectControl.vue.d.ts +2 -2
  186. package/dist/components/Select/ESelectControl.vue_vue_type_script_setup_true_lang.js +6 -6
  187. package/dist/components/Select/ESelectControl.vue_vue_type_script_setup_true_lang.js.map +1 -1
  188. package/dist/components/Select/options.d.ts +1 -1
  189. package/dist/components/Select/options.js.map +1 -1
  190. package/dist/components/SignatureField/ESignatureField.js.map +1 -1
  191. package/dist/components/SignatureField/ESignatureField.vue.d.ts +14 -10
  192. package/dist/components/SignatureField/ESignatureField.vue_vue_type_script_setup_true_lang.js +4 -4
  193. package/dist/components/SignatureField/ESignatureField.vue_vue_type_script_setup_true_lang.js.map +1 -1
  194. package/dist/components/SignaturePad/ESignaturePad.js.map +1 -1
  195. package/dist/components/SignaturePad/ESignaturePad.vue.d.ts +3 -1
  196. package/dist/components/SignaturePad/ESignaturePad.vue_vue_type_script_setup_true_lang.js.map +1 -1
  197. package/dist/components/Skeleton/ESkeleton.js.map +1 -1
  198. package/dist/components/Skeleton/ESkeleton.vue.d.ts +3 -3
  199. package/dist/components/Skeleton/ESkeleton.vue_vue_type_script_setup_true_lang.js.map +1 -1
  200. package/dist/components/Stack/EStack.js.map +1 -1
  201. package/dist/components/Stack/EStack.vue.d.ts +2 -2
  202. package/dist/components/Stack/EStack.vue_vue_type_script_setup_true_lang.js.map +1 -1
  203. package/dist/components/Stamp/EStamp.js.map +1 -1
  204. package/dist/components/Stamp/EStamp.vue.d.ts +18 -12
  205. package/dist/components/Stamp/EStamp.vue_vue_type_script_setup_true_lang.js +27 -40
  206. package/dist/components/Stamp/EStamp.vue_vue_type_script_setup_true_lang.js.map +1 -1
  207. package/dist/components/Stepper/EStepper.js.map +1 -1
  208. package/dist/components/Stepper/EStepper.vue.d.ts +2 -2
  209. package/dist/components/Stepper/EStepper.vue_vue_type_script_setup_true_lang.js.map +1 -1
  210. package/dist/components/Surface/ESurface.js.map +1 -1
  211. package/dist/components/Surface/ESurface.vue.d.ts +5 -5
  212. package/dist/components/Surface/ESurface.vue_vue_type_script_setup_true_lang.js +5 -5
  213. package/dist/components/Surface/ESurface.vue_vue_type_script_setup_true_lang.js.map +1 -1
  214. package/dist/components/Switch/ESwitch.js.map +1 -1
  215. package/dist/components/Switch/ESwitch.vue.d.ts +3 -1
  216. package/dist/components/Switch/ESwitch.vue_vue_type_script_setup_true_lang.js.map +1 -1
  217. package/dist/components/Tabs/ETabs.js.map +1 -1
  218. package/dist/components/Tabs/ETabs.vue.d.ts +10 -32
  219. package/dist/components/Tabs/ETabs.vue_vue_type_script_setup_true_lang.js +21 -50
  220. package/dist/components/Tabs/ETabs.vue_vue_type_script_setup_true_lang.js.map +1 -1
  221. package/dist/components/Tabs/index.d.ts +1 -1
  222. package/dist/components/Text/EText.js.map +1 -1
  223. package/dist/components/Text/EText.vue.d.ts +4 -3
  224. package/dist/components/Text/EText.vue_vue_type_script_setup_true_lang.js +7 -2
  225. package/dist/components/Text/EText.vue_vue_type_script_setup_true_lang.js.map +1 -1
  226. package/dist/components/TextField/ETextField.js.map +1 -1
  227. package/dist/components/TextField/ETextField.vue.d.ts +8 -6
  228. package/dist/components/TextField/ETextField.vue_vue_type_script_setup_true_lang.js.map +1 -1
  229. package/dist/components/Textarea/ETextarea.js.map +1 -1
  230. package/dist/components/Textarea/ETextarea.vue.d.ts +4 -2
  231. package/dist/components/Textarea/ETextarea.vue_vue_type_script_setup_true_lang.js.map +1 -1
  232. package/dist/components/Toast/EToast.js.map +1 -1
  233. package/dist/components/Toast/EToast.vue_vue_type_script_setup_true_lang.js +5 -5
  234. package/dist/components/Toast/EToast.vue_vue_type_script_setup_true_lang.js.map +1 -1
  235. package/dist/components/ToastProvider/EToastProvider.js.map +1 -1
  236. package/dist/components/ToastProvider/EToastProvider.vue_vue_type_script_setup_true_lang.js.map +1 -1
  237. package/dist/components/Tooltip/ETooltip.js.map +1 -1
  238. package/dist/components/Tooltip/ETooltip.vue.d.ts +1 -0
  239. package/dist/components/Tooltip/ETooltip.vue_vue_type_script_setup_true_lang.js.map +1 -1
  240. package/dist/components/Upload/EUpload.js.map +1 -1
  241. package/dist/components/Upload/EUpload.vue.d.ts +5 -3
  242. package/dist/components/Upload/EUpload.vue_vue_type_script_setup_true_lang.js.map +1 -1
  243. package/dist/fonts.css +1 -1
  244. package/dist/index.d.ts +2 -25
  245. package/dist/index.js +71 -94
  246. package/dist/messages.d.ts +0 -13
  247. package/dist/messages.js +0 -13
  248. package/dist/messages.js.map +1 -1
  249. package/dist/style.css +2655 -3121
  250. package/package.json +4 -2
  251. package/dist/components/Accordion/EAccordion.js +0 -8
  252. package/dist/components/Accordion/EAccordion.js.map +0 -1
  253. package/dist/components/Accordion/EAccordion.vue.d.ts +0 -32
  254. package/dist/components/Accordion/EAccordion.vue_vue_type_script_setup_true_lang.js +0 -35
  255. package/dist/components/Accordion/EAccordion.vue_vue_type_script_setup_true_lang.js.map +0 -1
  256. package/dist/components/Accordion/index.d.ts +0 -2
  257. package/dist/components/AddressField/EAddressField.js +0 -8
  258. package/dist/components/AddressField/EAddressField.js.map +0 -1
  259. package/dist/components/AddressField/EAddressField.vue.d.ts +0 -39
  260. package/dist/components/AddressField/EAddressField.vue_vue_type_script_setup_true_lang.js +0 -119
  261. package/dist/components/AddressField/EAddressField.vue_vue_type_script_setup_true_lang.js.map +0 -1
  262. package/dist/components/AddressField/index.d.ts +0 -2
  263. package/dist/components/AddressField/usStates.d.ts +0 -5
  264. package/dist/components/AddressField/usStates.js +0 -211
  265. package/dist/components/AddressField/usStates.js.map +0 -1
  266. package/dist/components/Amount/EAmount.js +0 -8
  267. package/dist/components/Amount/EAmount.js.map +0 -1
  268. package/dist/components/Amount/EAmount.vue.d.ts +0 -21
  269. package/dist/components/Amount/EAmount.vue_vue_type_script_setup_true_lang.js +0 -38
  270. package/dist/components/Amount/EAmount.vue_vue_type_script_setup_true_lang.js.map +0 -1
  271. package/dist/components/Amount/index.d.ts +0 -2
  272. package/dist/components/Autocomplete/EAutocomplete.js +0 -7
  273. package/dist/components/Autocomplete/EAutocomplete.js.map +0 -1
  274. package/dist/components/Autocomplete/EAutocomplete.vue.d.ts +0 -44
  275. package/dist/components/Autocomplete/EAutocomplete.vue_vue_type_script_setup_true_lang.js +0 -58
  276. package/dist/components/Autocomplete/EAutocomplete.vue_vue_type_script_setup_true_lang.js.map +0 -1
  277. package/dist/components/Autocomplete/index.d.ts +0 -1
  278. package/dist/components/BackLink/EBackLink.js +0 -8
  279. package/dist/components/BackLink/EBackLink.js.map +0 -1
  280. package/dist/components/BackLink/EBackLink.vue.d.ts +0 -23
  281. package/dist/components/BackLink/EBackLink.vue_vue_type_script_setup_true_lang.js +0 -27
  282. package/dist/components/BackLink/EBackLink.vue_vue_type_script_setup_true_lang.js.map +0 -1
  283. package/dist/components/BackLink/index.d.ts +0 -1
  284. package/dist/components/BookingCard/EBookingCard.js +0 -8
  285. package/dist/components/BookingCard/EBookingCard.js.map +0 -1
  286. package/dist/components/BookingCard/EBookingCard.vue.d.ts +0 -46
  287. package/dist/components/BookingCard/EBookingCard.vue_vue_type_script_setup_true_lang.js +0 -86
  288. package/dist/components/BookingCard/EBookingCard.vue_vue_type_script_setup_true_lang.js.map +0 -1
  289. package/dist/components/BookingCard/index.d.ts +0 -2
  290. package/dist/components/ButtonGroup/EButtonGroup.js +0 -8
  291. package/dist/components/ButtonGroup/EButtonGroup.js.map +0 -1
  292. package/dist/components/ButtonGroup/EButtonGroup.vue_vue_type_script_setup_true_lang.js +0 -18
  293. package/dist/components/ButtonGroup/EButtonGroup.vue_vue_type_script_setup_true_lang.js.map +0 -1
  294. package/dist/components/ButtonGroup/index.d.ts +0 -1
  295. package/dist/components/CardField/ECardField.js +0 -8
  296. package/dist/components/CardField/ECardField.js.map +0 -1
  297. package/dist/components/CardField/ECardField.vue.d.ts +0 -31
  298. package/dist/components/CardField/ECardField.vue_vue_type_script_setup_true_lang.js +0 -65
  299. package/dist/components/CardField/ECardField.vue_vue_type_script_setup_true_lang.js.map +0 -1
  300. package/dist/components/CardField/index.d.ts +0 -1
  301. package/dist/components/Chip/EChip.js +0 -8
  302. package/dist/components/Chip/EChip.js.map +0 -1
  303. package/dist/components/Chip/EChip.vue.d.ts +0 -22
  304. package/dist/components/Chip/EChip.vue_vue_type_script_setup_true_lang.js +0 -18
  305. package/dist/components/Chip/EChip.vue_vue_type_script_setup_true_lang.js.map +0 -1
  306. package/dist/components/Chip/index.d.ts +0 -2
  307. package/dist/components/Combobox/EHighlight.js.map +0 -1
  308. package/dist/components/DetailRow/EDetailRow.js +0 -8
  309. package/dist/components/DetailRow/EDetailRow.js.map +0 -1
  310. package/dist/components/DetailRow/EDetailRow.vue.d.ts +0 -30
  311. package/dist/components/DetailRow/EDetailRow.vue_vue_type_script_setup_true_lang.js +0 -53
  312. package/dist/components/DetailRow/EDetailRow.vue_vue_type_script_setup_true_lang.js.map +0 -1
  313. package/dist/components/DetailRow/index.d.ts +0 -1
  314. package/dist/components/ErrorSummary/EErrorSummary.js +0 -8
  315. package/dist/components/ErrorSummary/EErrorSummary.js.map +0 -1
  316. package/dist/components/ErrorSummary/EErrorSummary.vue.d.ts +0 -30
  317. package/dist/components/ErrorSummary/EErrorSummary.vue_vue_type_script_setup_true_lang.js +0 -52
  318. package/dist/components/ErrorSummary/EErrorSummary.vue_vue_type_script_setup_true_lang.js.map +0 -1
  319. package/dist/components/ErrorSummary/index.d.ts +0 -2
  320. package/dist/components/FormSection/EFormSection.js +0 -8
  321. package/dist/components/FormSection/EFormSection.js.map +0 -1
  322. package/dist/components/FormSection/EFormSection.vue.d.ts +0 -28
  323. package/dist/components/FormSection/EFormSection.vue_vue_type_script_setup_true_lang.js +0 -38
  324. package/dist/components/FormSection/EFormSection.vue_vue_type_script_setup_true_lang.js.map +0 -1
  325. package/dist/components/FormSection/index.d.ts +0 -1
  326. package/dist/components/ItemList/EItemList.js +0 -8
  327. package/dist/components/ItemList/EItemList.js.map +0 -1
  328. package/dist/components/ItemList/EItemList.vue.d.ts +0 -13
  329. package/dist/components/ItemList/EItemList.vue_vue_type_script_setup_true_lang.js +0 -17
  330. package/dist/components/ItemList/EItemList.vue_vue_type_script_setup_true_lang.js.map +0 -1
  331. package/dist/components/ItemList/context.d.ts +0 -3
  332. package/dist/components/ItemList/context.js +0 -6
  333. package/dist/components/ItemList/context.js.map +0 -1
  334. package/dist/components/ItemList/index.d.ts +0 -1
  335. package/dist/components/ItemRow/EItemRow.js +0 -8
  336. package/dist/components/ItemRow/EItemRow.js.map +0 -1
  337. package/dist/components/ItemRow/EItemRow.vue.d.ts +0 -29
  338. package/dist/components/ItemRow/EItemRow.vue_vue_type_script_setup_true_lang.js +0 -54
  339. package/dist/components/ItemRow/EItemRow.vue_vue_type_script_setup_true_lang.js.map +0 -1
  340. package/dist/components/ItemRow/index.d.ts +0 -1
  341. package/dist/components/LinkCard/ELinkCard.js +0 -8
  342. package/dist/components/LinkCard/ELinkCard.js.map +0 -1
  343. package/dist/components/LinkCard/ELinkCard.vue.d.ts +0 -39
  344. package/dist/components/LinkCard/ELinkCard.vue_vue_type_script_setup_true_lang.js +0 -61
  345. package/dist/components/LinkCard/ELinkCard.vue_vue_type_script_setup_true_lang.js.map +0 -1
  346. package/dist/components/LinkCard/index.d.ts +0 -1
  347. package/dist/components/LoadingBar/ELoadingBar.js +0 -8
  348. package/dist/components/LoadingBar/ELoadingBar.js.map +0 -1
  349. package/dist/components/LoadingBar/ELoadingBar.vue.d.ts +0 -7
  350. package/dist/components/LoadingBar/ELoadingBar.vue_vue_type_script_setup_true_lang.js +0 -21
  351. package/dist/components/LoadingBar/ELoadingBar.vue_vue_type_script_setup_true_lang.js.map +0 -1
  352. package/dist/components/LoadingBar/index.d.ts +0 -1
  353. package/dist/components/MetaList/EMetaList.js +0 -8
  354. package/dist/components/MetaList/EMetaList.js.map +0 -1
  355. package/dist/components/MetaList/EMetaList.vue.d.ts +0 -15
  356. package/dist/components/MetaList/EMetaList.vue_vue_type_script_setup_true_lang.js +0 -19
  357. package/dist/components/MetaList/EMetaList.vue_vue_type_script_setup_true_lang.js.map +0 -1
  358. package/dist/components/MetaList/index.d.ts +0 -2
  359. package/dist/components/MultiSelect/EMultiSelect.js +0 -7
  360. package/dist/components/MultiSelect/EMultiSelect.js.map +0 -1
  361. package/dist/components/MultiSelect/EMultiSelect.vue.d.ts +0 -44
  362. package/dist/components/MultiSelect/EMultiSelect.vue_vue_type_script_setup_true_lang.js +0 -58
  363. package/dist/components/MultiSelect/EMultiSelect.vue_vue_type_script_setup_true_lang.js.map +0 -1
  364. package/dist/components/MultiSelect/index.d.ts +0 -1
  365. package/dist/components/Panel/EPanel.js +0 -8
  366. package/dist/components/Panel/EPanel.js.map +0 -1
  367. package/dist/components/Panel/EPanel.vue.d.ts +0 -25
  368. package/dist/components/Panel/EPanel.vue_vue_type_script_setup_true_lang.js +0 -38
  369. package/dist/components/Panel/EPanel.vue_vue_type_script_setup_true_lang.js.map +0 -1
  370. package/dist/components/Panel/index.d.ts +0 -1
  371. package/dist/components/Popover/EPopover.js +0 -8
  372. package/dist/components/Popover/EPopover.js.map +0 -1
  373. package/dist/components/Popover/EPopover.vue_vue_type_script_setup_true_lang.js.map +0 -1
  374. package/dist/components/Popover/index.d.ts +0 -1
  375. package/dist/components/SlotPicker/ESlotPicker.js +0 -8
  376. package/dist/components/SlotPicker/ESlotPicker.js.map +0 -1
  377. package/dist/components/SlotPicker/ESlotPicker.vue.d.ts +0 -55
  378. package/dist/components/SlotPicker/ESlotPicker.vue_vue_type_script_setup_true_lang.js +0 -82
  379. package/dist/components/SlotPicker/ESlotPicker.vue_vue_type_script_setup_true_lang.js.map +0 -1
  380. package/dist/components/SlotPicker/index.d.ts +0 -2
  381. package/dist/components/StatementCard/EStatementCard.js +0 -8
  382. package/dist/components/StatementCard/EStatementCard.js.map +0 -1
  383. package/dist/components/StatementCard/EStatementCard.vue.d.ts +0 -20
  384. package/dist/components/StatementCard/EStatementCard.vue_vue_type_script_setup_true_lang.js +0 -96
  385. package/dist/components/StatementCard/EStatementCard.vue_vue_type_script_setup_true_lang.js.map +0 -1
  386. package/dist/components/StatementCard/index.d.ts +0 -2
  387. package/dist/components/StatementCard/types.d.ts +0 -37
  388. package/dist/components/StatementRow/EStatementRow.js +0 -8
  389. package/dist/components/StatementRow/EStatementRow.js.map +0 -1
  390. package/dist/components/StatementRow/EStatementRow.vue.d.ts +0 -14
  391. package/dist/components/StatementRow/EStatementRow.vue_vue_type_script_setup_true_lang.js +0 -96
  392. package/dist/components/StatementRow/EStatementRow.vue_vue_type_script_setup_true_lang.js.map +0 -1
  393. package/dist/components/StatementRow/index.d.ts +0 -1
  394. package/dist/components/Tabs/LinkNav.js.map +0 -1
  395. package/dist/components/Tabs/LinkNav.vue_vue_type_script_setup_true_lang.js.map +0 -1
  396. package/dist/components/Timeline/ETimeline.js +0 -8
  397. package/dist/components/Timeline/ETimeline.js.map +0 -1
  398. package/dist/components/Timeline/ETimeline.vue.d.ts +0 -15
  399. package/dist/components/Timeline/ETimeline.vue_vue_type_script_setup_true_lang.js +0 -43
  400. package/dist/components/Timeline/ETimeline.vue_vue_type_script_setup_true_lang.js.map +0 -1
  401. package/dist/components/Timeline/index.d.ts +0 -2
  402. package/dist/components/Toggle/EToggle.js +0 -8
  403. package/dist/components/Toggle/EToggle.js.map +0 -1
  404. package/dist/components/Toggle/EToggle.vue.d.ts +0 -27
  405. package/dist/components/Toggle/EToggle.vue_vue_type_script_setup_true_lang.js +0 -40
  406. package/dist/components/Toggle/EToggle.vue_vue_type_script_setup_true_lang.js.map +0 -1
  407. package/dist/components/Toggle/index.d.ts +0 -1
  408. /package/dist/components/Combobox/{EHighlight.d.ts → matchHighlight.d.ts} +0 -0
  409. /package/dist/components/{Tabs → NavList}/LinkNav.vue.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"EStamp.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createElementBlock","_normalizeClass","_createVNode","EIcon","_createElementVNode","_toDisplayString","_createCommentVNode","EIcon_default","_hoisted_1","_hoisted_2","_hoisted_3","EStamp_vue_vue_type_script_setup_true_lang_default","props","__props","PRESETS","TONE_ICON","t","useMessages","preset","computed","tone","text","glyph","openBlock","createElementBlock","normalizeClass","createVNode","createElementVNode","toDisplayString","createCommentVNode"],"sources":["../../../src/components/Stamp/EStamp.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport EIcon from \"../Icon/EIcon.vue\";\nimport type { IconName } from \"../../icons/phosphor.js\";\nimport type { IconProp } from \"../../icons/types.js\";\nimport { useMessages } from \"../../config.js\";\nimport \"../../styles/base.css\";\n\nexport type StampTone = \"success\" | \"info\" | \"warning\" | \"danger\";\nexport type StampStatus =\n \"paid\" | \"due\" | \"overdue\" | \"action\" | \"scheduled\" | \"confirmed\" | \"cancelled\" | \"signed\" | \"pending\" | \"complete\";\n\nconst props = withDefaults(\n defineProps<{\n /** A preset: sets the tone, the word and the glyph. */\n status?: StampStatus;\n /** Overrides the preset's tone. Without a status, defaults to `info`. */\n tone?: StampTone;\n /** The word. Overrides the preset's. */\n label?: string;\n /** Overrides the preset's glyph. */\n icon?: IconProp;\n /** A date or day count, set after the word. */\n detail?: string;\n /** Smaller, for rows. */\n small?: boolean;\n /** `solid` is a filled badge with light text (the default); `subtle` is a soft tint with a tone-coloured outline and text. */\n variant?: \"solid\" | \"subtle\";\n}>(),\n { variant: \"solid\" },\n);\n\nconst PRESETS: Record<StampStatus, [StampTone, IconName]> = {\n paid: [\"success\", \"check\"],\n due: [\"info\", \"clock\"],\n overdue: [\"danger\", \"alert\"],\n action: [\"warning\", \"alert\"],\n scheduled: [\"info\", \"calendar\"],\n confirmed: [\"success\", \"check\"],\n cancelled: [\"danger\", \"x\"],\n signed: [\"success\", \"check\"],\n pending: [\"info\", \"clock\"],\n complete: [\"success\", \"check\"],\n};\nconst TONE_ICON: Record<StampTone, IconName> = { info: \"info\", success: \"check\", warning: \"alert\", danger: \"alert\" };\n\nconst t = useMessages();\nconst preset = computed(() => (props.status ? PRESETS[props.status] : undefined));\nconst tone = computed<StampTone>(() => props.tone || preset.value?.[0] || \"info\");\nconst text = computed(() => props.label || (preset.value ? t(`status.${props.status}`) : t(\"status\")));\nconst glyph = computed(() => props.icon || preset.value?.[1] || TONE_ICON[tone.value]);\n</script>\n\n<template>\n <div\n class=\"e-stamp\"\n :class=\"[`e-stamp--${tone}`, small && 'e-stamp--s', variant === 'subtle' && 'e-stamp--subtle']\"\n role=\"img\"\n :aria-label=\"text + (detail ? ', ' + detail : '')\"\n >\n <EIcon :name=\"glyph\" bold />\n <span class=\"e-stamp-word\">{{ text }}</span>\n <span v-if=\"detail\" class=\"e-stamp-detail\">{{ detail }}</span>\n </div>\n</template>\n\n<style>\n@layer e.primitives {\n .e-stamp {\n --e-soft: var(--e-surface-tint);\n --e-strong: var(--e-ink);\n --e-on: var(--e-surface);\n\n display: inline-flex;\n flex-wrap: nowrap;\n white-space: nowrap;\n align-items: center;\n gap: var(--e-space-2);\n min-height: 28px;\n padding: 0 var(--e-space-3);\n border-radius: var(--e-radius-sm);\n background: var(--e-strong);\n color: var(--e-on);\n box-shadow: inset 0 0 0 var(--e-stroke-card) var(--e-strong);\n cursor: default;\n justify-self: start;\n }\n\n .e-stamp--success {\n --e-soft: var(--e-secondary-soft);\n --e-strong: var(--e-secondary);\n --e-on: var(--e-on-secondary);\n }\n\n .e-stamp--info {\n --e-soft: var(--e-surface-tint);\n --e-strong: var(--e-primary);\n --e-on: var(--e-on-primary);\n }\n\n .e-stamp--danger {\n --e-soft: var(--e-danger-soft);\n --e-strong: var(--e-danger);\n --e-on: var(--e-on-danger);\n }\n\n .e-stamp--warning {\n --e-soft: var(--e-warning-soft);\n --e-strong: var(--e-warning-strong);\n --e-on: var(--e-surface);\n }\n\n .e-stamp--subtle {\n background: var(--e-soft);\n color: var(--e-strong);\n }\n\n .e-stamp:not(.e-stamp--subtle) .e-stamp-detail {\n border-inline-start-color: color-mix(in srgb, var(--e-on) 55%, transparent);\n }\n\n .e-stamp-word {\n font: 600 var(--e-text-xs) / 16px var(--e-font-mono);\n letter-spacing: 0.1em;\n text-transform: uppercase;\n }\n\n .e-stamp-detail {\n font: 500 var(--e-text-xs) / 1 var(--e-font-mono);\n letter-spacing: 0.04em;\n padding-inline-start: var(--e-space-2);\n border-inline-start: 1px solid currentColor;\n }\n\n .e-stamp .e-icon {\n width: 14px;\n height: 14px;\n }\n\n .e-stamp--s {\n min-height: 24px;\n gap: 6px;\n padding: 0 10px;\n align-self: flex-start;\n }\n\n .e-stamp--s .e-icon {\n width: 13px;\n height: 13px;\n }\n\n .e-stamp--s .e-stamp-word {\n font-size: var(--e-text-xs);\n line-height: 14px;\n letter-spacing: 0.06em;\n }\n\n @media (forced-colors: active) {\n .e-stamp {\n border: 1px solid CanvasText;\n }\n }\n\n @media print {\n .e-stamp {\n border: 1px solid #000;\n background: none;\n color: #000;\n }\n }\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;EAYA,IAAMa,IAAQC,GAoBRC,IAAsD;GAC1D,MAAM,CAAC,WAAW,OAAO;GACzB,KAAK,CAAC,QAAQ,OAAO;GACrB,SAAS,CAAC,UAAU,OAAO;GAC3B,QAAQ,CAAC,WAAW,OAAO;GAC3B,WAAW,CAAC,QAAQ,UAAU;GAC9B,WAAW,CAAC,WAAW,OAAO;GAC9B,WAAW,CAAC,UAAU,GAAG;GACzB,QAAQ,CAAC,WAAW,OAAO;GAC3B,SAAS,CAAC,QAAQ,OAAO;GACzB,UAAU,CAAC,WAAW,OAAO;EAC/B,GACMC,IAAyC;GAAE,MAAM;GAAQ,SAAS;GAAS,SAAS;GAAS,QAAQ;EAAQ,GAE7GC,IAAIC,EAAY,GAChBC,IAASC,QAAgBP,EAAM,SAASE,EAAQF,EAAM,UAAU,KAAA,CAAU,GAC1EQ,IAAOD,QAA0BP,EAAM,QAAQM,EAAO,QAAQ,MAAM,MAAM,GAC1EG,IAAOF,QAAeP,EAAM,UAAUM,EAAO,QAAQF,EAAE,UAAUJ,EAAM,QAAQ,IAAII,EAAE,QAAQ,EAAE,GAC/FM,IAAQH,QAAeP,EAAM,QAAQM,EAAO,QAAQ,MAAMH,EAAUK,EAAK,MAAM;E,kBAInFrB,EAAA,GAAAC,EASM,OAAA;GARJ,OAAKC,EAAA,CAAC,WAAS;IAAA,YACMmB,EAAA;IAAQP,EAAA,SAAK;IAAkBA,EAAA,YAAO,YAAA;GAAA,CAAA,CAAA;GAC3D,MAAK;GACJ,cAAYQ,EAAA,SAAQR,EAAA,SAAM,OAAUA,EAAA,SAAM;;GAE3CX,EAA4BC,GAAA;IAApB,MAAMmB,EAAA;IAAO,MAAA;;GACrBlB,EAA4C,QAA5CK,GAA4CJ,EAAdgB,EAAA,KAAI,GAAA,CAAA;GACtBR,EAAA,UAAZd,EAAA,GAAAC,EAA8D,QAA9DU,GAA8DL,EAAhBQ,EAAA,MAAM,GAAA,CAAA,K"}
1
+ {"version":3,"file":"EStamp.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createElementBlock","_normalizeClass","_createBlock","EIcon","_createCommentVNode","_createElementVNode","_renderSlot","_createTextVNode","_toDisplayString","EIcon_default","_hoisted_1","_hoisted_2","EStamp_vue_vue_type_script_setup_true_lang_default","props","__props","PRESETS","t","useMessages","preset","computed","tone","toneClass","text","openBlock","createElementBlock","normalizeClass","createBlock","createCommentVNode","createElementVNode","renderSlot","_ctx","createTextVNode","toDisplayString"],"sources":["../../../src/components/Stamp/EStamp.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport EIcon from \"../Icon/EIcon.vue\";\nimport type { IconProp } from \"../../icons/types.js\";\nimport { useMessages } from \"../../config.js\";\nimport \"../../styles/base.css\";\n\nexport type StampTone = \"neutral\" | \"ink\" | \"success\" | \"info\" | \"warning\" | \"danger\";\nexport type StampStatus =\n \"paid\" | \"due\" | \"overdue\" | \"action\" | \"scheduled\" | \"confirmed\" | \"cancelled\" | \"signed\" | \"pending\" | \"complete\";\n\nconst props = defineProps<{\n /** A preset: sets the tone and the word (message `status.<name>`). */\n status?: StampStatus;\n /** Overrides the preset's tone. Without a status it is `neutral` (ink; `ink` is the same). `success`: paid, confirmed. `info`: due, scheduled. `warning`: needs attention. `danger`: overdue, failed. @default \"ink\" */\n tone?: StampTone;\n /** The word. Overrides the preset's; the default slot overrides both. @default preset's word, else Status */\n label?: string;\n /** A glyph before the word. None by default. */\n icon?: IconProp;\n /** A date or day count, set after the word. */\n detail?: string;\n /** `sm` is shorter, for rows and tables. @default \"md\" */\n size?: \"sm\" | \"md\";\n}>();\n\ndefineSlots<{\n /** The word, instead of `label` or the preset's. Write sentence case; the stamp sets it in capitals. */\n default?(): unknown;\n}>();\n\nconst PRESETS: Record<StampStatus, StampTone> = {\n paid: \"success\",\n due: \"info\",\n overdue: \"danger\",\n action: \"warning\",\n scheduled: \"info\",\n confirmed: \"success\",\n cancelled: \"danger\",\n signed: \"success\",\n pending: \"info\",\n complete: \"success\",\n};\n\nconst t = useMessages();\nconst preset = computed(() => (props.status ? PRESETS[props.status] : undefined));\nconst tone = computed<StampTone>(() => props.tone || preset.value || \"neutral\");\nconst toneClass = computed(() => (tone.value === \"neutral\" || tone.value === \"ink\" ? null : `e-stamp--${tone.value}`));\nconst text = computed(() => props.label || (preset.value ? t(`status.${props.status}`) : t(\"status\")));\n</script>\n\n<template>\n <span class=\"e-stamp\" :class=\"[toneClass, size === 'sm' && 'e-stamp--sm']\">\n <EIcon v-if=\"icon\" :name=\"icon\" bold />\n <span class=\"e-stamp-word\"><slot>{{ text }}</slot></span>\n <span v-if=\"detail\" class=\"e-stamp-detail\">{{ detail }}</span>\n </span>\n</template>\n\n<style>\n@layer e.primitives {\n .e-stamp {\n --e-soft: var(--e-surface-tint);\n --e-strong: var(--e-ink);\n --e-on: var(--e-surface);\n\n display: inline-flex;\n flex-wrap: nowrap;\n white-space: nowrap;\n align-items: center;\n gap: var(--e-space-2);\n\n --e-bc: var(--e-strong);\n\n min-height: calc(var(--e-chip-height) + var(--e-space-1));\n padding: 0 var(--e-space-3);\n border-radius: var(--e-radius-sm);\n background: var(--e-strong);\n color: var(--e-on);\n box-shadow: inset 0 0 0 var(--e-stroke-card) var(--e-bc);\n outline: var(--e-stroke-card) solid var(--e-bc);\n outline-offset: calc(-1 * var(--e-stroke-card));\n cursor: default;\n justify-self: start;\n }\n\n .e-stamp--success {\n --e-soft: var(--e-secondary-soft);\n --e-strong: var(--e-secondary);\n --e-on: var(--e-on-secondary);\n }\n\n .e-stamp--info {\n --e-soft: var(--e-surface-tint);\n --e-strong: var(--e-primary);\n --e-on: var(--e-on-primary);\n }\n\n .e-stamp--danger {\n --e-soft: var(--e-danger-soft);\n --e-strong: var(--e-danger);\n --e-on: var(--e-on-danger);\n }\n\n .e-stamp--warning {\n --e-soft: var(--e-warning-soft);\n --e-strong: var(--e-warning-strong);\n --e-on: var(--e-surface);\n }\n\n .e-stamp .e-stamp-detail {\n border-inline-start-color: color-mix(in srgb, var(--e-on) 55%, transparent);\n }\n\n .e-stamp-word {\n font: 600 var(--e-text-xs) / 16px var(--e-font-mono);\n letter-spacing: 0.1em;\n text-transform: uppercase;\n }\n\n .e-stamp-detail {\n font: 500 var(--e-text-xs) / 1 var(--e-font-mono);\n letter-spacing: 0.04em;\n padding-inline-start: var(--e-space-2);\n border-inline-start: var(--e-stroke-hair) solid currentColor;\n }\n\n .e-stamp .e-icon {\n width: 14px;\n height: 14px;\n }\n\n .e-stamp--sm {\n min-height: var(--e-chip-height);\n gap: var(--e-space-1);\n align-self: flex-start;\n }\n\n .e-stamp--sm .e-icon {\n width: 13px;\n height: 13px;\n }\n\n .e-stamp--sm .e-stamp-word {\n font-size: var(--e-text-xs);\n line-height: 14px;\n letter-spacing: 0.06em;\n }\n\n @media (forced-colors: active) {\n .e-stamp {\n border: var(--e-stroke-card) solid CanvasText;\n }\n }\n\n @media print {\n .e-stamp {\n border: var(--e-stroke-card) solid var(--e-print-ink);\n outline: 0;\n background: none;\n box-shadow: none;\n color: var(--e-print-ink);\n }\n }\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;EAWA,IAAMc,IAAQC,GAoBRC,IAA0C;GAC9C,MAAM;GACN,KAAK;GACL,SAAS;GACT,QAAQ;GACR,WAAW;GACX,WAAW;GACX,WAAW;GACX,QAAQ;GACR,SAAS;GACT,UAAU;EACZ,GAEMC,IAAIC,EAAY,GAChBC,IAASC,QAAgBN,EAAM,SAASE,EAAQF,EAAM,UAAU,KAAA,CAAU,GAC1EO,IAAOD,QAA0BN,EAAM,QAAQK,EAAO,SAAS,SAAS,GACxEG,IAAYF,QAAgBC,EAAK,UAAU,aAAaA,EAAK,UAAU,QAAQ,OAAO,YAAYA,EAAK,OAAQ,GAC/GE,IAAOH,QAAeN,EAAM,UAAUK,EAAO,QAAQF,EAAE,UAAUH,EAAM,QAAQ,IAAIG,EAAE,QAAQ,EAAE;E,kBAInGjB,EAAA,GAAAC,EAIO,QAAA,EAJD,OAAKC,EAAA,CAAC,WAAS,CAAUoB,EAAA,OAAWP,EAAA,SAAI,QAAA,aAAA,CAAA,CAAA,E;GAC/BA,EAAA,QAAbf,EAAA,GAAAG,EAAuCC,GAAA;;IAAnB,MAAMW,EAAA;IAAM,MAAA;;GAChCT,EAAyD,QAAzDK,GAAyD,CAA9BJ,EAAuBwB,EAAA,QAAA,WAAA,CAAA,SAAA,CAAdvB,EAAAC,EAAAc,EAAA,KAAI,GAAA,CAAA,C;GAC5BR,EAAA,UAAZf,EAAA,GAAAC,EAA8D,QAA9DW,GAA8DH,EAAhBM,EAAA,MAAM,GAAA,CAAA,K"}
@@ -1 +1 @@
1
- {"version":3,"file":"EStepper.js","names":["_sfc_main","EStepper_vue_vue_type_script_setup_true_lang_default","EStepper_default"],"sources":["../../../src/components/Stepper/EStepper.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport EIcon from \"../Icon/EIcon.vue\";\nimport { useMessages } from \"../../config.js\";\nimport \"../../styles/base.css\";\n\nexport interface Step {\n /** The name of the step. */\n label: string;\n /** `done` is finished, `current` is where the person is, `upcoming` is still ahead (`todo` is accepted as the same thing). */\n state: \"done\" | \"current\" | \"upcoming\" | \"todo\";\n}\n\ndefineProps<{\n /** The steps in order. Exactly one is normally `current`. */\n steps: Step[];\n /** The list's name for assistive technology, such as \"Registration\". Defaults to \"Progress\". */\n label?: string;\n}>();\n\nconst t = useMessages();\n</script>\n\n<template>\n <ol class=\"e-steps\" :aria-label=\"label || t('progress')\">\n <li\n v-for=\"(step, i) in steps\"\n :key=\"i\"\n class=\"e-step\"\n :data-state=\"step.state === 'todo' ? 'upcoming' : step.state\"\n :aria-current=\"step.state === 'current' ? 'step' : undefined\"\n >\n <span class=\"e-step-dot\">\n <EIcon v-if=\"step.state === 'done'\" name=\"check\" small />\n <template v-else>{{ i + 1 }}</template>\n </span>\n <span class=\"e-step-label\">\n {{ step.label }}\n <span v-if=\"step.state === 'done'\" class=\"e-sr\"> ({{ t(\"done\") }})</span>\n </span>\n </li>\n </ol>\n</template>\n\n<style>\n@layer e.page {\n .e-steps {\n display: grid;\n grid-auto-flow: column;\n grid-auto-columns: 1fr;\n gap: var(--e-space-2);\n margin: 0;\n padding: 0;\n list-style: none;\n counter-reset: s;\n }\n\n .e-step {\n display: grid;\n justify-items: center;\n align-content: start;\n gap: var(--e-space-2);\n position: relative;\n text-align: center;\n min-width: 0;\n }\n\n .e-step::before {\n content: \"\";\n position: absolute;\n top: 13px;\n inset-inline-end: 50%;\n width: 100%;\n border-top: 2px solid var(--e-border-strong);\n z-index: 0;\n }\n\n .e-step:first-child::before {\n display: none;\n }\n\n .e-step[data-state=\"done\"]::before,\n .e-step[data-state=\"current\"]::before {\n border-top-color: var(--e-primary);\n }\n\n .e-step-dot {\n position: relative;\n z-index: var(--e-z-raised);\n display: grid;\n place-items: center;\n width: 28px;\n height: 28px;\n border-radius: 50%;\n border: var(--e-stroke-edge) dashed var(--e-border-strong);\n background: var(--e-surface);\n color: var(--e-muted);\n font: 600 var(--e-text-xs) / 1 var(--e-font-mono);\n }\n\n .e-step[data-state=\"done\"] .e-step-dot {\n border: var(--e-stroke-edge) solid var(--e-primary);\n background: var(--e-primary);\n color: var(--e-on-primary);\n }\n\n .e-step[data-state=\"current\"] .e-step-dot {\n border: 2px solid var(--e-ink);\n color: var(--e-ink);\n background: var(--e-surface);\n }\n\n .e-step-label {\n font: 400 var(--e-text-sm) / 1.3 var(--e-font-sans);\n color: var(--e-muted);\n overflow-wrap: anywhere;\n }\n\n .e-step[data-state=\"current\"] .e-step-label {\n color: var(--e-ink);\n font-weight: 600;\n }\n\n .e-step[data-state=\"done\"] .e-step-label {\n color: var(--e-ink);\n }\n\n /* stylelint-disable declaration-block-no-redundant-longhand-properties -- the longhands stay separate */\n @media (max-width: 32rem) {\n .e-steps {\n grid-auto-flow: row;\n gap: var(--e-space-3);\n }\n\n .e-step {\n grid-template-columns: auto 1fr;\n justify-items: start;\n align-items: center;\n text-align: start;\n }\n\n .e-step::before {\n display: block;\n top: calc(-1 * var(--e-space-3));\n inset-inline-end: auto;\n inset-inline-start: 13px;\n width: 0;\n height: var(--e-space-3);\n border-top: 0;\n border-inline-start: 2px solid var(--e-border-strong);\n }\n\n .e-step:first-child::before {\n display: none;\n }\n\n .e-step[data-state=\"done\"]::before,\n .e-step[data-state=\"current\"]::before {\n border-inline-start-color: var(--e-primary);\n }\n }\n\n /* stylelint-enable declaration-block-no-redundant-longhand-properties */\n\n @media (forced-colors: active) {\n .e-step[data-state=\"done\"] .e-step-dot {\n forced-color-adjust: none;\n background: Highlight;\n border-color: Highlight;\n color: HighlightText;\n }\n }\n}\n</style>\n"],"mappings":""}
1
+ {"version":3,"file":"EStepper.js","names":["_sfc_main","EStepper_vue_vue_type_script_setup_true_lang_default","EStepper_default"],"sources":["../../../src/components/Stepper/EStepper.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport EIcon from \"../Icon/EIcon.vue\";\nimport { useMessages } from \"../../config.js\";\nimport \"../../styles/base.css\";\n\nexport interface Step {\n /** The name of the step. */\n label: string;\n /** `done` is finished, `current` is where the person is, `upcoming` is still ahead (`todo` is accepted as the same thing). */\n state: \"done\" | \"current\" | \"upcoming\" | \"todo\";\n}\n\ndefineProps<{\n /** The steps in order: `{ label, state }`; `state` is `done`, `current` or `upcoming` (`todo` is an alias). Exactly one is normally `current`. Keep labels to one or two words. */\n steps: Step[];\n /** The list's accessible name. @default \"Progress\" */\n label?: string;\n}>();\n\nconst t = useMessages();\n</script>\n\n<template>\n <ol class=\"e-steps\" :aria-label=\"label || t('progress')\">\n <li\n v-for=\"(step, i) in steps\"\n :key=\"i\"\n class=\"e-step\"\n :data-state=\"step.state === 'todo' ? 'upcoming' : step.state\"\n :aria-current=\"step.state === 'current' ? 'step' : undefined\"\n >\n <span class=\"e-step-dot\">\n <EIcon v-if=\"step.state === 'done'\" name=\"check\" small />\n <template v-else>{{ i + 1 }}</template>\n </span>\n <span class=\"e-step-label\">\n {{ step.label }}\n <span v-if=\"step.state === 'done'\" class=\"e-sr\"> ({{ t(\"done\") }})</span>\n </span>\n </li>\n </ol>\n</template>\n\n<style>\n@layer e.page {\n .e-steps {\n display: grid;\n grid-auto-flow: column;\n grid-auto-columns: 1fr;\n gap: var(--e-space-2);\n margin: 0;\n padding: 0;\n list-style: none;\n counter-reset: s;\n }\n\n .e-step {\n --e-dot: 28px;\n\n display: grid;\n justify-items: center;\n align-content: start;\n gap: var(--e-space-2);\n position: relative;\n text-align: center;\n min-width: 0;\n }\n\n .e-step::before {\n content: \"\";\n position: absolute;\n top: calc((var(--e-dot) - var(--e-stroke-focus)) / 2);\n inset-inline-end: 50%;\n width: 100%;\n border-top: var(--e-stroke-focus) solid var(--e-border-strong);\n z-index: 0;\n }\n\n .e-step:first-child::before {\n display: none;\n }\n\n .e-step[data-state=\"done\"]::before {\n border-top-color: var(--e-primary);\n }\n\n .e-step[data-state=\"current\"]::before {\n border-top-color: var(--e-primary);\n }\n\n .e-step-dot {\n position: relative;\n z-index: var(--e-z-raised);\n display: grid;\n place-items: center;\n width: var(--e-dot);\n height: var(--e-dot);\n border-radius: 50%;\n border: var(--e-stroke-edge) dashed var(--e-border-strong);\n background: var(--e-surface);\n color: var(--e-muted);\n font: 600 var(--e-text-xs) / 1 var(--e-font-mono);\n }\n\n .e-step[data-state=\"done\"] .e-step-dot {\n border: var(--e-stroke-edge) solid var(--e-primary);\n background: var(--e-primary);\n color: var(--e-on-primary);\n }\n\n .e-step[data-state=\"current\"] .e-step-dot {\n border: var(--e-stroke-focus) solid var(--e-primary);\n color: var(--e-primary);\n background: var(--e-surface);\n }\n\n .e-step-label {\n font: 400 var(--e-text-sm) / 1.3 var(--e-font-sans);\n color: var(--e-muted);\n overflow-wrap: anywhere;\n }\n\n .e-step[data-state=\"current\"] .e-step-label {\n color: var(--e-ink);\n font-weight: 600;\n }\n\n .e-step[data-state=\"done\"] .e-step-label {\n color: var(--e-ink);\n }\n\n /* stylelint-disable declaration-block-no-redundant-longhand-properties -- the longhands stay separate */\n @media (max-width: 32rem) {\n .e-steps {\n grid-auto-flow: row;\n gap: var(--e-space-3);\n }\n\n .e-step {\n grid-template-columns: auto 1fr;\n justify-items: start;\n align-items: center;\n text-align: start;\n }\n\n .e-step::before {\n display: block;\n top: calc(-1 * var(--e-space-3));\n inset-inline-end: auto;\n inset-inline-start: calc((var(--e-dot) - var(--e-stroke-focus)) / 2);\n width: 0;\n height: var(--e-space-3);\n border-top: 0;\n border-inline-start: var(--e-stroke-focus) solid var(--e-border-strong);\n }\n\n .e-step:first-child::before {\n display: none;\n }\n\n .e-step[data-state=\"done\"]::before {\n border-inline-start-color: var(--e-primary);\n }\n\n .e-step[data-state=\"current\"]::before {\n border-inline-start-color: var(--e-primary);\n }\n }\n\n /* stylelint-enable declaration-block-no-redundant-longhand-properties */\n\n @media (forced-colors: active) {\n .e-step[data-state=\"done\"] .e-step-dot {\n forced-color-adjust: none;\n background: Highlight;\n border-color: Highlight;\n color: HighlightText;\n }\n }\n}\n</style>\n"],"mappings":""}
@@ -5,9 +5,9 @@ export interface Step {
5
5
  state: "done" | "current" | "upcoming" | "todo";
6
6
  }
7
7
  type __VLS_Props = {
8
- /** The steps in order. Exactly one is normally `current`. */
8
+ /** The steps in order: `{ label, state }`; `state` is `done`, `current` or `upcoming` (`todo` is an alias). Exactly one is normally `current`. Keep labels to one or two words. */
9
9
  steps: Step[];
10
- /** The list's name for assistive technology, such as "Registration". Defaults to "Progress". */
10
+ /** The list's accessible name. @default "Progress" */
11
11
  label?: string;
12
12
  };
13
13
  declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
@@ -1 +1 @@
1
- {"version":3,"file":"EStepper.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createElementBlock","_unref","_Fragment","_renderList","_createElementVNode","_createBlock","EIcon","_createTextVNode","_toDisplayString","_createCommentVNode","EIcon_default","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","EStepper_vue_vue_type_script_setup_true_lang_default","t","useMessages","openBlock","createElementBlock","__props","unref","Fragment","renderList","i","step","createElementVNode","createBlock","createTextVNode","toDisplayString","createCommentVNode"],"sources":["../../../src/components/Stepper/EStepper.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport EIcon from \"../Icon/EIcon.vue\";\nimport { useMessages } from \"../../config.js\";\nimport \"../../styles/base.css\";\n\nexport interface Step {\n /** The name of the step. */\n label: string;\n /** `done` is finished, `current` is where the person is, `upcoming` is still ahead (`todo` is accepted as the same thing). */\n state: \"done\" | \"current\" | \"upcoming\" | \"todo\";\n}\n\ndefineProps<{\n /** The steps in order. Exactly one is normally `current`. */\n steps: Step[];\n /** The list's name for assistive technology, such as \"Registration\". Defaults to \"Progress\". */\n label?: string;\n}>();\n\nconst t = useMessages();\n</script>\n\n<template>\n <ol class=\"e-steps\" :aria-label=\"label || t('progress')\">\n <li\n v-for=\"(step, i) in steps\"\n :key=\"i\"\n class=\"e-step\"\n :data-state=\"step.state === 'todo' ? 'upcoming' : step.state\"\n :aria-current=\"step.state === 'current' ? 'step' : undefined\"\n >\n <span class=\"e-step-dot\">\n <EIcon v-if=\"step.state === 'done'\" name=\"check\" small />\n <template v-else>{{ i + 1 }}</template>\n </span>\n <span class=\"e-step-label\">\n {{ step.label }}\n <span v-if=\"step.state === 'done'\" class=\"e-sr\"> ({{ t(\"done\") }})</span>\n </span>\n </li>\n </ol>\n</template>\n\n<style>\n@layer e.page {\n .e-steps {\n display: grid;\n grid-auto-flow: column;\n grid-auto-columns: 1fr;\n gap: var(--e-space-2);\n margin: 0;\n padding: 0;\n list-style: none;\n counter-reset: s;\n }\n\n .e-step {\n display: grid;\n justify-items: center;\n align-content: start;\n gap: var(--e-space-2);\n position: relative;\n text-align: center;\n min-width: 0;\n }\n\n .e-step::before {\n content: \"\";\n position: absolute;\n top: 13px;\n inset-inline-end: 50%;\n width: 100%;\n border-top: 2px solid var(--e-border-strong);\n z-index: 0;\n }\n\n .e-step:first-child::before {\n display: none;\n }\n\n .e-step[data-state=\"done\"]::before,\n .e-step[data-state=\"current\"]::before {\n border-top-color: var(--e-primary);\n }\n\n .e-step-dot {\n position: relative;\n z-index: var(--e-z-raised);\n display: grid;\n place-items: center;\n width: 28px;\n height: 28px;\n border-radius: 50%;\n border: var(--e-stroke-edge) dashed var(--e-border-strong);\n background: var(--e-surface);\n color: var(--e-muted);\n font: 600 var(--e-text-xs) / 1 var(--e-font-mono);\n }\n\n .e-step[data-state=\"done\"] .e-step-dot {\n border: var(--e-stroke-edge) solid var(--e-primary);\n background: var(--e-primary);\n color: var(--e-on-primary);\n }\n\n .e-step[data-state=\"current\"] .e-step-dot {\n border: 2px solid var(--e-ink);\n color: var(--e-ink);\n background: var(--e-surface);\n }\n\n .e-step-label {\n font: 400 var(--e-text-sm) / 1.3 var(--e-font-sans);\n color: var(--e-muted);\n overflow-wrap: anywhere;\n }\n\n .e-step[data-state=\"current\"] .e-step-label {\n color: var(--e-ink);\n font-weight: 600;\n }\n\n .e-step[data-state=\"done\"] .e-step-label {\n color: var(--e-ink);\n }\n\n /* stylelint-disable declaration-block-no-redundant-longhand-properties -- the longhands stay separate */\n @media (max-width: 32rem) {\n .e-steps {\n grid-auto-flow: row;\n gap: var(--e-space-3);\n }\n\n .e-step {\n grid-template-columns: auto 1fr;\n justify-items: start;\n align-items: center;\n text-align: start;\n }\n\n .e-step::before {\n display: block;\n top: calc(-1 * var(--e-space-3));\n inset-inline-end: auto;\n inset-inline-start: 13px;\n width: 0;\n height: var(--e-space-3);\n border-top: 0;\n border-inline-start: 2px solid var(--e-border-strong);\n }\n\n .e-step:first-child::before {\n display: none;\n }\n\n .e-step[data-state=\"done\"]::before,\n .e-step[data-state=\"current\"]::before {\n border-inline-start-color: var(--e-primary);\n }\n }\n\n /* stylelint-enable declaration-block-no-redundant-longhand-properties */\n\n @media (forced-colors: active) {\n .e-step[data-state=\"done\"] .e-step-dot {\n forced-color-adjust: none;\n background: Highlight;\n border-color: Highlight;\n color: HighlightText;\n }\n }\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;EAmBA,IAAMkB,IAAIC,EAAY;E,kBAIpBnB,EAAA,GAAAC,EAiBK,MAAA;GAjBD,OAAM;GAAW,cAAYqB,EAAA,SAASpB,EAAAgB,CAAA,CAAC,CAAA,UAAA;E,KACzClB,EAAA,EAAA,GAAAC,EAeKE,GAAA,MAAAC,EAdiBkB,EAAA,QAAZ,GAAM,OADhBtB,EAAA,GAAAC,EAeK,MAAA;GAbF,KAAKyB;GACN,OAAM;GACL,cAAYC,EAAK,UAAK,SAAA,aAA2BA,EAAK;GACtD,gBAAcA,EAAK,UAAK,YAAA,SAA0B,KAAA;E,IAEnDtB,EAGO,QAHPS,GAGO,CAFQa,EAAK,UAAK,UAAvB3B,EAAA,GAAAM,EAAyDC,GAAA;;GAArB,MAAK;GAAQ,OAAA;E,OACjDP,EAAA,GAAAC,EAAuCE,GAAA,EAAA,KAAA,EAAA,GAAA,CAAnBK,EAAAC,EAAAiB,IAAC,CAAA,GAAA,CAAA,C,WAEvBrB,EAGO,QAHPU,GAGO,CAFFP,EAAAC,EAAAkB,EAAK,KAAK,IAAG,KAChB,CAAA,GAAYA,EAAK,UAAK,UAAtB3B,EAAA,GAAAC,EAAyE,QAAzEe,GAAgD,OAAEP,EAAGP,EAAAgB,CAAA,CAAC,CAAA,MAAA,CAAA,IAAW,KAAC,CAAA,K"}
1
+ {"version":3,"file":"EStepper.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createElementBlock","_unref","_Fragment","_renderList","_createElementVNode","_createBlock","EIcon","_createTextVNode","_toDisplayString","_createCommentVNode","EIcon_default","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","EStepper_vue_vue_type_script_setup_true_lang_default","t","useMessages","openBlock","createElementBlock","__props","unref","Fragment","renderList","i","step","createElementVNode","createBlock","createTextVNode","toDisplayString","createCommentVNode"],"sources":["../../../src/components/Stepper/EStepper.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport EIcon from \"../Icon/EIcon.vue\";\nimport { useMessages } from \"../../config.js\";\nimport \"../../styles/base.css\";\n\nexport interface Step {\n /** The name of the step. */\n label: string;\n /** `done` is finished, `current` is where the person is, `upcoming` is still ahead (`todo` is accepted as the same thing). */\n state: \"done\" | \"current\" | \"upcoming\" | \"todo\";\n}\n\ndefineProps<{\n /** The steps in order: `{ label, state }`; `state` is `done`, `current` or `upcoming` (`todo` is an alias). Exactly one is normally `current`. Keep labels to one or two words. */\n steps: Step[];\n /** The list's accessible name. @default \"Progress\" */\n label?: string;\n}>();\n\nconst t = useMessages();\n</script>\n\n<template>\n <ol class=\"e-steps\" :aria-label=\"label || t('progress')\">\n <li\n v-for=\"(step, i) in steps\"\n :key=\"i\"\n class=\"e-step\"\n :data-state=\"step.state === 'todo' ? 'upcoming' : step.state\"\n :aria-current=\"step.state === 'current' ? 'step' : undefined\"\n >\n <span class=\"e-step-dot\">\n <EIcon v-if=\"step.state === 'done'\" name=\"check\" small />\n <template v-else>{{ i + 1 }}</template>\n </span>\n <span class=\"e-step-label\">\n {{ step.label }}\n <span v-if=\"step.state === 'done'\" class=\"e-sr\"> ({{ t(\"done\") }})</span>\n </span>\n </li>\n </ol>\n</template>\n\n<style>\n@layer e.page {\n .e-steps {\n display: grid;\n grid-auto-flow: column;\n grid-auto-columns: 1fr;\n gap: var(--e-space-2);\n margin: 0;\n padding: 0;\n list-style: none;\n counter-reset: s;\n }\n\n .e-step {\n --e-dot: 28px;\n\n display: grid;\n justify-items: center;\n align-content: start;\n gap: var(--e-space-2);\n position: relative;\n text-align: center;\n min-width: 0;\n }\n\n .e-step::before {\n content: \"\";\n position: absolute;\n top: calc((var(--e-dot) - var(--e-stroke-focus)) / 2);\n inset-inline-end: 50%;\n width: 100%;\n border-top: var(--e-stroke-focus) solid var(--e-border-strong);\n z-index: 0;\n }\n\n .e-step:first-child::before {\n display: none;\n }\n\n .e-step[data-state=\"done\"]::before {\n border-top-color: var(--e-primary);\n }\n\n .e-step[data-state=\"current\"]::before {\n border-top-color: var(--e-primary);\n }\n\n .e-step-dot {\n position: relative;\n z-index: var(--e-z-raised);\n display: grid;\n place-items: center;\n width: var(--e-dot);\n height: var(--e-dot);\n border-radius: 50%;\n border: var(--e-stroke-edge) dashed var(--e-border-strong);\n background: var(--e-surface);\n color: var(--e-muted);\n font: 600 var(--e-text-xs) / 1 var(--e-font-mono);\n }\n\n .e-step[data-state=\"done\"] .e-step-dot {\n border: var(--e-stroke-edge) solid var(--e-primary);\n background: var(--e-primary);\n color: var(--e-on-primary);\n }\n\n .e-step[data-state=\"current\"] .e-step-dot {\n border: var(--e-stroke-focus) solid var(--e-primary);\n color: var(--e-primary);\n background: var(--e-surface);\n }\n\n .e-step-label {\n font: 400 var(--e-text-sm) / 1.3 var(--e-font-sans);\n color: var(--e-muted);\n overflow-wrap: anywhere;\n }\n\n .e-step[data-state=\"current\"] .e-step-label {\n color: var(--e-ink);\n font-weight: 600;\n }\n\n .e-step[data-state=\"done\"] .e-step-label {\n color: var(--e-ink);\n }\n\n /* stylelint-disable declaration-block-no-redundant-longhand-properties -- the longhands stay separate */\n @media (max-width: 32rem) {\n .e-steps {\n grid-auto-flow: row;\n gap: var(--e-space-3);\n }\n\n .e-step {\n grid-template-columns: auto 1fr;\n justify-items: start;\n align-items: center;\n text-align: start;\n }\n\n .e-step::before {\n display: block;\n top: calc(-1 * var(--e-space-3));\n inset-inline-end: auto;\n inset-inline-start: calc((var(--e-dot) - var(--e-stroke-focus)) / 2);\n width: 0;\n height: var(--e-space-3);\n border-top: 0;\n border-inline-start: var(--e-stroke-focus) solid var(--e-border-strong);\n }\n\n .e-step:first-child::before {\n display: none;\n }\n\n .e-step[data-state=\"done\"]::before {\n border-inline-start-color: var(--e-primary);\n }\n\n .e-step[data-state=\"current\"]::before {\n border-inline-start-color: var(--e-primary);\n }\n }\n\n /* stylelint-enable declaration-block-no-redundant-longhand-properties */\n\n @media (forced-colors: active) {\n .e-step[data-state=\"done\"] .e-step-dot {\n forced-color-adjust: none;\n background: Highlight;\n border-color: Highlight;\n color: HighlightText;\n }\n }\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;EAmBA,IAAMkB,IAAIC,EAAY;E,kBAIpBnB,EAAA,GAAAC,EAiBK,MAAA;GAjBD,OAAM;GAAW,cAAYqB,EAAA,SAASpB,EAAAgB,CAAA,CAAC,CAAA,UAAA;E,KACzClB,EAAA,EAAA,GAAAC,EAeKE,GAAA,MAAAC,EAdiBkB,EAAA,QAAZ,GAAM,OADhBtB,EAAA,GAAAC,EAeK,MAAA;GAbF,KAAKyB;GACN,OAAM;GACL,cAAYC,EAAK,UAAK,SAAA,aAA2BA,EAAK;GACtD,gBAAcA,EAAK,UAAK,YAAA,SAA0B,KAAA;E,IAEnDtB,EAGO,QAHPS,GAGO,CAFQa,EAAK,UAAK,UAAvB3B,EAAA,GAAAM,EAAyDC,GAAA;;GAArB,MAAK;GAAQ,OAAA;E,OACjDP,EAAA,GAAAC,EAAuCE,GAAA,EAAA,KAAA,EAAA,GAAA,CAAnBK,EAAAC,EAAAiB,IAAC,CAAA,GAAA,CAAA,C,WAEvBrB,EAGO,QAHPU,GAGO,CAFFP,EAAAC,EAAAkB,EAAK,KAAK,IAAG,KAChB,CAAA,GAAYA,EAAK,UAAK,UAAtB3B,EAAA,GAAAC,EAAyE,QAAzEe,GAAgD,OAAEP,EAAGP,EAAAgB,CAAA,CAAC,CAAA,MAAA,CAAA,IAAW,KAAC,CAAA,K"}
@@ -1 +1 @@
1
- {"version":3,"file":"ESurface.js","names":["_sfc_main","ESurface_vue_vue_type_script_setup_true_lang_default","ESurface_default"],"sources":["../../../src/components/Surface/ESurface.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport EActions from \"../Actions/EActions.vue\";\nimport \"../../styles/base.css\";\n\nconst props = withDefaults(\n defineProps<{\n /** The element to render, `div` by default. */\n as?: string;\n /** Padding: `sm`, `md` or `lg`. Omit for none. */\n pad?: \"sm\" | \"md\" | \"lg\";\n /** `default`, `tint` (the tinted look) or `float` (the lifted look of a Toast). */\n tone?: \"default\" | \"tint\" | \"float\";\n /** Hides what overflows the rounded corners. */\n clip?: boolean;\n }>(),\n { as: \"div\" },\n);\n\ndefineSlots<{\n /** The content of the card. */\n default(): unknown;\n /** Buttons for a bar at the foot of the card, edge to edge. The body takes the remaining height so cards in a row end level. */\n actions(): unknown;\n}>();\n\nconst tone = computed(() => (props.tone && props.tone !== \"default\" ? `e-surface--${props.tone}` : null));\nconst pad = computed(() => (props.pad ? `e-surface--pad-${props.pad}` : null));\nconst barElement = computed(() => (/^(article|section|aside)$/.test(props.as) ? \"footer\" : \"div\"));\n</script>\n\n<template>\n <component\n :is=\"as\"\n class=\"e-surface\"\n :class=\"[tone, $slots.actions ? 'e-surface--actions' : [pad, clip && 'e-surface--clip']]\"\n >\n <template v-if=\"$slots.actions\">\n <div class=\"e-surface-body\" :class=\"pad\">\n <slot />\n </div>\n <EActions :as=\"barElement\" bar>\n <slot name=\"actions\" />\n </EActions>\n </template>\n <slot v-else />\n </component>\n</template>\n\n<style>\n@layer e.blocks {\n .e-surface {\n min-width: 0;\n border-radius: var(--e-radius-md);\n background: var(--e-surface);\n box-shadow: var(--e-edge);\n }\n\n .e-surface--tint {\n background: var(--e-surface-tint);\n }\n\n .e-surface--clip {\n overflow: hidden;\n }\n\n .e-surface--actions {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n }\n\n .e-surface-body {\n flex: 1;\n min-width: 0;\n }\n\n .e-surface > .e-actions--bar:last-child {\n border-end-start-radius: var(--e-radius-md);\n border-end-end-radius: var(--e-radius-md);\n }\n\n .e-surface--float {\n box-shadow: var(--e-float);\n }\n\n .e-surface--pad-sm {\n padding: var(--e-space-3) var(--e-space-4);\n }\n\n .e-surface--pad-md {\n padding: var(--e-space-4);\n }\n\n .e-surface--pad-lg {\n padding: var(--e-space-6);\n }\n\n @media print {\n .e-surface {\n box-shadow: none;\n border: 1px solid #000;\n break-inside: avoid;\n }\n }\n}\n</style>\n"],"mappings":""}
1
+ {"version":3,"file":"ESurface.js","names":["_sfc_main","ESurface_vue_vue_type_script_setup_true_lang_default","ESurface_default"],"sources":["../../../src/components/Surface/ESurface.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport EActions from \"../Actions/EActions.vue\";\nimport \"../../styles/base.css\";\n\nconst props = withDefaults(\n defineProps<{\n /** The element to render, `div` by default. Use `article`, `section` or `aside` for a real block. */\n as?: string;\n /** Padding: `sm`, `md` or `lg`. None by default. */\n pad?: \"sm\" | \"md\" | \"lg\";\n /** The lifted shadow of something floating above the page, such as a Toast. */\n raised?: boolean;\n /** Hides what overflows the rounded corners. Ignored when there is an `actions` slot. */\n clip?: boolean;\n }>(),\n { as: \"div\" },\n);\n\ndefineSlots<{\n /** The content of the card. */\n default(): unknown;\n /** Buttons for a bar at the foot of the card, edge to edge. The body takes the remaining height so cards in a row end level. */\n actions(): unknown;\n}>();\n\nconst pad = computed(() => (props.pad ? `e-surface--pad-${props.pad}` : null));\nconst barElement = computed(() => (/^(article|section|aside)$/.test(props.as) ? \"footer\" : \"div\"));\n</script>\n\n<template>\n <component\n :is=\"as\"\n class=\"e-surface\"\n :class=\"[raised && 'e-surface--raised', $slots.actions ? 'e-surface--actions' : [pad, clip && 'e-surface--clip']]\"\n >\n <template v-if=\"$slots.actions\">\n <div class=\"e-surface-body\" :class=\"pad\">\n <slot />\n </div>\n <EActions :as=\"barElement\" bar>\n <slot name=\"actions\" />\n </EActions>\n </template>\n <slot v-else />\n </component>\n</template>\n\n<style>\n@layer e.blocks {\n .e-surface {\n min-width: 0;\n border-radius: var(--e-radius-md);\n background: var(--e-surface);\n box-shadow: var(--e-edge);\n outline: var(--e-stroke-card) solid var(--e-border);\n outline-offset: 0;\n }\n\n .e-surface--clip {\n overflow: hidden;\n }\n\n .e-surface--actions {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n }\n\n .e-surface-body {\n flex: 1;\n min-width: 0;\n }\n\n .e-surface > .e-actions--bar:last-child {\n border-end-start-radius: var(--e-radius-md);\n border-end-end-radius: var(--e-radius-md);\n }\n\n .e-surface--raised {\n box-shadow: var(--e-float);\n outline: var(--e-stroke-card) solid var(--e-border);\n outline-offset: 0;\n }\n\n .e-surface--pad-sm {\n padding: var(--e-space-3) var(--e-space-4);\n }\n\n .e-surface--pad-md {\n padding: var(--e-space-4);\n }\n\n .e-surface--pad-lg {\n padding: var(--e-space-6);\n }\n\n @media print {\n .e-surface {\n box-shadow: none;\n outline: 0;\n border: var(--e-stroke-hair) solid var(--e-print-ink, #000);\n break-inside: avoid;\n }\n }\n\n @media (forced-colors: active) {\n .e-surface {\n outline-color: CanvasText;\n }\n }\n}\n</style>\n"],"mappings":""}
@@ -1,11 +1,11 @@
1
1
  type __VLS_Props = {
2
- /** The element to render, `div` by default. */
2
+ /** The element to render, `div` by default. Use `article`, `section` or `aside` for a real block. */
3
3
  as?: string;
4
- /** Padding: `sm`, `md` or `lg`. Omit for none. */
4
+ /** Padding: `sm`, `md` or `lg`. None by default. */
5
5
  pad?: "sm" | "md" | "lg";
6
- /** `default`, `tint` (the tinted look) or `float` (the lifted look of a Toast). */
7
- tone?: "default" | "tint" | "float";
8
- /** Hides what overflows the rounded corners. */
6
+ /** The lifted shadow of something floating above the page, such as a Toast. */
7
+ raised?: boolean;
8
+ /** Hides what overflows the rounded corners. Ignored when there is an `actions` slot. */
9
9
  clip?: boolean;
10
10
  };
11
11
  type __VLS_Slots = {
@@ -7,14 +7,14 @@ var p = /*@__PURE__*/ s({
7
7
  props: {
8
8
  as: { default: "div" },
9
9
  pad: {},
10
- tone: {},
10
+ raised: { type: Boolean },
11
11
  clip: { type: Boolean }
12
12
  },
13
13
  setup(s) {
14
- let p = s, m = n(() => p.tone && p.tone !== "default" ? `e-surface--${p.tone}` : null), h = n(() => p.pad ? `e-surface--pad-${p.pad}` : null), g = n(() => /^(article|section|aside)$/.test(p.as) ? "footer" : "div");
15
- return (n, p) => (l(), r(d(s.as), { class: c(["e-surface", [m.value, n.$slots.actions ? "e-surface--actions" : [h.value, s.clip && "e-surface--clip"]]]) }, {
16
- default: f(() => [n.$slots.actions ? (l(), i(t, { key: 0 }, [a("div", { class: c(["e-surface-body", h.value]) }, [u(n.$slots, "default")], 2), o(e, {
17
- as: g.value,
14
+ let p = s, m = n(() => p.pad ? `e-surface--pad-${p.pad}` : null), h = n(() => /^(article|section|aside)$/.test(p.as) ? "footer" : "div");
15
+ return (n, p) => (l(), r(d(s.as), { class: c(["e-surface", [s.raised && "e-surface--raised", n.$slots.actions ? "e-surface--actions" : [m.value, s.clip && "e-surface--clip"]]]) }, {
16
+ default: f(() => [n.$slots.actions ? (l(), i(t, { key: 0 }, [a("div", { class: c(["e-surface-body", m.value]) }, [u(n.$slots, "default")], 2), o(e, {
17
+ as: h.value,
18
18
  bar: ""
19
19
  }, {
20
20
  default: f(() => [u(n.$slots, "actions")]),
@@ -1 +1 @@
1
- {"version":3,"file":"ESurface.vue_vue_type_script_setup_true_lang.js","names":["$slots","_openBlock","_createBlock","_resolveDynamicComponent","_normalizeClass","_withCtx","_createElementBlock","_Fragment","_createElementVNode","_renderSlot","_createVNode","EActions","EActions_default","ESurface_vue_vue_type_script_setup_true_lang_default","props","__props","tone","computed","pad","barElement","openBlock","createBlock","resolveDynamicComponent","normalizeClass","_ctx","withCtx","createElementBlock","Fragment","createElementVNode","renderSlot","createVNode"],"sources":["../../../src/components/Surface/ESurface.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport EActions from \"../Actions/EActions.vue\";\nimport \"../../styles/base.css\";\n\nconst props = withDefaults(\n defineProps<{\n /** The element to render, `div` by default. */\n as?: string;\n /** Padding: `sm`, `md` or `lg`. Omit for none. */\n pad?: \"sm\" | \"md\" | \"lg\";\n /** `default`, `tint` (the tinted look) or `float` (the lifted look of a Toast). */\n tone?: \"default\" | \"tint\" | \"float\";\n /** Hides what overflows the rounded corners. */\n clip?: boolean;\n }>(),\n { as: \"div\" },\n);\n\ndefineSlots<{\n /** The content of the card. */\n default(): unknown;\n /** Buttons for a bar at the foot of the card, edge to edge. The body takes the remaining height so cards in a row end level. */\n actions(): unknown;\n}>();\n\nconst tone = computed(() => (props.tone && props.tone !== \"default\" ? `e-surface--${props.tone}` : null));\nconst pad = computed(() => (props.pad ? `e-surface--pad-${props.pad}` : null));\nconst barElement = computed(() => (/^(article|section|aside)$/.test(props.as) ? \"footer\" : \"div\"));\n</script>\n\n<template>\n <component\n :is=\"as\"\n class=\"e-surface\"\n :class=\"[tone, $slots.actions ? 'e-surface--actions' : [pad, clip && 'e-surface--clip']]\"\n >\n <template v-if=\"$slots.actions\">\n <div class=\"e-surface-body\" :class=\"pad\">\n <slot />\n </div>\n <EActions :as=\"barElement\" bar>\n <slot name=\"actions\" />\n </EActions>\n </template>\n <slot v-else />\n </component>\n</template>\n\n<style>\n@layer e.blocks {\n .e-surface {\n min-width: 0;\n border-radius: var(--e-radius-md);\n background: var(--e-surface);\n box-shadow: var(--e-edge);\n }\n\n .e-surface--tint {\n background: var(--e-surface-tint);\n }\n\n .e-surface--clip {\n overflow: hidden;\n }\n\n .e-surface--actions {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n }\n\n .e-surface-body {\n flex: 1;\n min-width: 0;\n }\n\n .e-surface > .e-actions--bar:last-child {\n border-end-start-radius: var(--e-radius-md);\n border-end-end-radius: var(--e-radius-md);\n }\n\n .e-surface--float {\n box-shadow: var(--e-float);\n }\n\n .e-surface--pad-sm {\n padding: var(--e-space-3) var(--e-space-4);\n }\n\n .e-surface--pad-md {\n padding: var(--e-space-4);\n }\n\n .e-surface--pad-lg {\n padding: var(--e-space-6);\n }\n\n @media print {\n .e-surface {\n box-shadow: none;\n border: 1px solid #000;\n break-inside: avoid;\n }\n }\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;EAKA,IAAMc,IAAQC,GAqBRC,IAAOC,QAAgBH,EAAM,QAAQA,EAAM,SAAS,YAAY,cAAcA,EAAM,SAAS,IAAK,GAClGI,IAAMD,QAAgBH,EAAM,MAAM,kBAAkBA,EAAM,QAAQ,IAAK,GACvEK,IAAaF,QAAgB,4BAA4B,KAAKH,EAAM,EAAE,IAAI,WAAW,KAAM;E,kBAI/Fb,EAAA,GAAAC,EAcYC,EAbLY,EAAA,EAAE,GAAA,EACP,OAAKX,EAAA,CAAC,aAAW,CACRY,EAAA,OAAMhB,EAAAA,OAAO,UAAO,uBAAA,CAA2BkB,EAAA,OAAKH,EAAA,QAAI,iBAAA,CAAA,CAAA,CAAA,E;GAEjE,SAAAV,QAOW,CAPKL,EAAAA,OAAO,WAAvBC,EAAA,GAAAK,EAOWC,GAAA,EAAA,KAAA,EAAA,GAAA,CANTC,EAEM,OAAA,EAFD,OAAKJ,EAAA,CAAC,kBAAyBc,EAAA,KAAG,CAAA,E,IACrCT,EAAQe,EAAA,QAAA,SAAA,C,OAEVd,EAEWC,GAAA;IAFA,IAAIQ,EAAA;IAAY,KAAA;;IACzB,SAAAd,QAAuB,CAAvBI,EAAuBe,EAAA,QAAA,SAAA,C;;G,uBAG3Bf,EAAee,EAAA,QAAA,WAAA,CAAA,GAAA,KAAA,GAAA,KAAA,GAAA,CAAA,C"}
1
+ {"version":3,"file":"ESurface.vue_vue_type_script_setup_true_lang.js","names":["$slots","_openBlock","_createBlock","_resolveDynamicComponent","_normalizeClass","_withCtx","_createElementBlock","_Fragment","_createElementVNode","_renderSlot","_createVNode","EActions","EActions_default","ESurface_vue_vue_type_script_setup_true_lang_default","props","__props","pad","computed","barElement","openBlock","createBlock","resolveDynamicComponent","normalizeClass","_ctx","withCtx","createElementBlock","Fragment","createElementVNode","renderSlot","createVNode"],"sources":["../../../src/components/Surface/ESurface.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport EActions from \"../Actions/EActions.vue\";\nimport \"../../styles/base.css\";\n\nconst props = withDefaults(\n defineProps<{\n /** The element to render, `div` by default. Use `article`, `section` or `aside` for a real block. */\n as?: string;\n /** Padding: `sm`, `md` or `lg`. None by default. */\n pad?: \"sm\" | \"md\" | \"lg\";\n /** The lifted shadow of something floating above the page, such as a Toast. */\n raised?: boolean;\n /** Hides what overflows the rounded corners. Ignored when there is an `actions` slot. */\n clip?: boolean;\n }>(),\n { as: \"div\" },\n);\n\ndefineSlots<{\n /** The content of the card. */\n default(): unknown;\n /** Buttons for a bar at the foot of the card, edge to edge. The body takes the remaining height so cards in a row end level. */\n actions(): unknown;\n}>();\n\nconst pad = computed(() => (props.pad ? `e-surface--pad-${props.pad}` : null));\nconst barElement = computed(() => (/^(article|section|aside)$/.test(props.as) ? \"footer\" : \"div\"));\n</script>\n\n<template>\n <component\n :is=\"as\"\n class=\"e-surface\"\n :class=\"[raised && 'e-surface--raised', $slots.actions ? 'e-surface--actions' : [pad, clip && 'e-surface--clip']]\"\n >\n <template v-if=\"$slots.actions\">\n <div class=\"e-surface-body\" :class=\"pad\">\n <slot />\n </div>\n <EActions :as=\"barElement\" bar>\n <slot name=\"actions\" />\n </EActions>\n </template>\n <slot v-else />\n </component>\n</template>\n\n<style>\n@layer e.blocks {\n .e-surface {\n min-width: 0;\n border-radius: var(--e-radius-md);\n background: var(--e-surface);\n box-shadow: var(--e-edge);\n outline: var(--e-stroke-card) solid var(--e-border);\n outline-offset: 0;\n }\n\n .e-surface--clip {\n overflow: hidden;\n }\n\n .e-surface--actions {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n }\n\n .e-surface-body {\n flex: 1;\n min-width: 0;\n }\n\n .e-surface > .e-actions--bar:last-child {\n border-end-start-radius: var(--e-radius-md);\n border-end-end-radius: var(--e-radius-md);\n }\n\n .e-surface--raised {\n box-shadow: var(--e-float);\n outline: var(--e-stroke-card) solid var(--e-border);\n outline-offset: 0;\n }\n\n .e-surface--pad-sm {\n padding: var(--e-space-3) var(--e-space-4);\n }\n\n .e-surface--pad-md {\n padding: var(--e-space-4);\n }\n\n .e-surface--pad-lg {\n padding: var(--e-space-6);\n }\n\n @media print {\n .e-surface {\n box-shadow: none;\n outline: 0;\n border: var(--e-stroke-hair) solid var(--e-print-ink, #000);\n break-inside: avoid;\n }\n }\n\n @media (forced-colors: active) {\n .e-surface {\n outline-color: CanvasText;\n }\n }\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;EAKA,IAAMc,IAAQC,GAqBRC,IAAMC,QAAgBH,EAAM,MAAM,kBAAkBA,EAAM,QAAQ,IAAK,GACvEI,IAAaD,QAAgB,4BAA4B,KAAKH,EAAM,EAAE,IAAI,WAAW,KAAM;E,kBAI/Fb,EAAA,GAAAC,EAcYC,EAbLY,EAAA,EAAE,GAAA,EACP,OAAKX,EAAA,CAAC,aAAW,CACRW,EAAA,UAAM,qBAAyBf,EAAAA,OAAO,UAAO,uBAAA,CAA2BgB,EAAA,OAAKD,EAAA,QAAI,iBAAA,CAAA,CAAA,CAAA,E;GAE1F,SAAAV,QAOW,CAPKL,EAAAA,OAAO,WAAvBC,EAAA,GAAAK,EAOWC,GAAA,EAAA,KAAA,EAAA,GAAA,CANTC,EAEM,OAAA,EAFD,OAAKJ,EAAA,CAAC,kBAAyBY,EAAA,KAAG,CAAA,E,IACrCP,EAAQc,EAAA,QAAA,SAAA,C,OAEVb,EAEWC,GAAA;IAFA,IAAIO,EAAA;IAAY,KAAA;;IACzB,SAAAb,QAAuB,CAAvBI,EAAuBc,EAAA,QAAA,SAAA,C;;G,uBAG3Bd,EAAec,EAAA,QAAA,WAAA,CAAA,GAAA,KAAA,GAAA,KAAA,GAAA,CAAA,C"}
@@ -1 +1 @@
1
- {"version":3,"file":"ESwitch.js","names":["_sfc_main","ESwitch_vue_vue_type_script_setup_true_lang_default","ESwitch_default"],"sources":["../../../src/components/Switch/ESwitch.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ref } from \"vue\";\nimport { useFieldAttrs } from \"../../composables/useFieldAttrs.js\";\nimport { useUid } from \"../../composables/useUid.js\";\nimport \"../../styles/base.css\";\nimport \"../Checkbox/choice.css\";\n\ndefineOptions({ inheritAttrs: false });\n\nconst props = defineProps<{\n /** The setting, named by what it does. */\n label: string;\n /** A line of detail under the label. */\n description?: string;\n disabled?: boolean;\n /** The name submitted with a form. */\n name?: string;\n /** The value submitted with a form when on. */\n value?: string;\n /** The id of the input; the label points at it. Generated when left out. */\n id?: string;\n}>();\n\nconst model = defineModel<boolean>({ default: false });\n\nconst id = useUid(() => props.id);\nconst input = ref<HTMLInputElement | null>(null);\nconst attrs = useFieldAttrs();\n\ndefineExpose({\n input,\n focus: () => input.value?.focus(),\n});\n</script>\n\n<template>\n <label\n class=\"e-choice e-switch\"\n :class=\"[{ 'e-choice--disabled': disabled }, attrs.wrapper().class]\"\n :style=\"attrs.wrapper().style\"\n :for=\"id\"\n >\n <input\n :id=\"id\"\n ref=\"input\"\n type=\"checkbox\"\n role=\"switch\"\n class=\"e-switch-input\"\n :name=\"name\"\n :value=\"value\"\n :checked=\"model\"\n :disabled=\"disabled\"\n v-bind=\"attrs.input()\"\n @change=\"model = ($event.target as HTMLInputElement).checked\"\n />\n <span class=\"e-switch-track\" aria-hidden=\"true\" />\n <span class=\"e-choice-text\">\n {{ label }}\n <span v-if=\"description\" class=\"e-choice-desc\">{{ description }}</span>\n </span>\n </label>\n</template>\n\n<style>\n@layer e.controls {\n .e-switch-input {\n position: absolute;\n opacity: 0;\n width: 1px;\n height: 1px;\n }\n\n .e-switch-track {\n position: relative;\n flex: none;\n width: 44px;\n height: 24px;\n border: var(--e-stroke-edge) solid var(--e-border-strong);\n border-radius: var(--e-radius-pill);\n background: var(--e-surface-tint);\n transition:\n background-color var(--e-duration-tap) var(--e-easing-out),\n border-color var(--e-duration-tap) var(--e-easing-out);\n }\n\n .e-switch-track::after {\n content: \"\";\n position: absolute;\n top: 50%;\n inset-inline-start: 3px;\n width: 14px;\n height: 14px;\n margin-top: -7px;\n border-radius: 50%;\n background: var(--e-ink);\n transition: transform var(--e-duration-move, 160ms) var(--e-easing-out);\n }\n\n .e-switch:hover .e-switch-track {\n border-color: var(--e-ink);\n }\n\n .e-switch-input:checked + .e-switch-track {\n background: var(--e-primary);\n border-color: var(--e-primary);\n }\n\n .e-switch-input:checked + .e-switch-track::after {\n background: var(--e-on-primary);\n transform: translateX(20px);\n }\n\n .e-switch-input:disabled + .e-switch-track {\n border-style: dashed;\n background: var(--e-surface-tint);\n }\n\n .e-switch-input:disabled + .e-switch-track::after {\n background: var(--e-muted);\n }\n\n @media (prefers-reduced-motion: reduce) {\n .e-switch-track::after {\n transition: none;\n }\n }\n\n @media (forced-colors: active) {\n .e-switch-input:checked + .e-switch-track {\n forced-color-adjust: none;\n background: Highlight;\n }\n\n .e-switch-track::after {\n forced-color-adjust: none;\n background: ButtonText;\n }\n }\n\n :dir(rtl) .e-switch-input:checked + .e-switch-track::after {\n transform: translateX(-20px);\n }\n}\n</style>\n"],"mappings":""}
1
+ {"version":3,"file":"ESwitch.js","names":["_sfc_main","ESwitch_vue_vue_type_script_setup_true_lang_default","ESwitch_default"],"sources":["../../../src/components/Switch/ESwitch.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ref } from \"vue\";\nimport { useFieldAttrs } from \"../../composables/useFieldAttrs.js\";\nimport { useUid } from \"../../composables/useUid.js\";\nimport \"../../styles/base.css\";\nimport \"../Checkbox/choice.css\";\n\ndefineOptions({ inheritAttrs: false });\n\nconst props = defineProps<{\n /** The setting, named by what it does. */\n label: string;\n /** A line of detail under the label. */\n description?: string;\n /** Disables the switch. */\n disabled?: boolean;\n /** The name submitted with a form. */\n name?: string;\n /** The value submitted with a form when on. */\n value?: string;\n /** The id of the input; the label points at it. @default generated */\n id?: string;\n}>();\n\n/** On or off. */\nconst model = defineModel<boolean>({ default: false });\n\nconst id = useUid(() => props.id);\nconst input = ref<HTMLInputElement | null>(null);\nconst attrs = useFieldAttrs();\n\ndefineExpose({\n input,\n focus: () => input.value?.focus(),\n});\n</script>\n\n<template>\n <label\n class=\"e-choice e-switch\"\n :class=\"[{ 'e-choice--disabled': disabled }, attrs.wrapper().class]\"\n :style=\"attrs.wrapper().style\"\n :for=\"id\"\n >\n <input\n :id=\"id\"\n ref=\"input\"\n type=\"checkbox\"\n role=\"switch\"\n class=\"e-switch-input\"\n :name=\"name\"\n :value=\"value\"\n :checked=\"model\"\n :disabled=\"disabled\"\n v-bind=\"attrs.input()\"\n @change=\"model = ($event.target as HTMLInputElement).checked\"\n />\n <span class=\"e-switch-track\" aria-hidden=\"true\" />\n <span class=\"e-choice-text\">\n {{ label }}\n <span v-if=\"description\" class=\"e-choice-desc\">{{ description }}</span>\n </span>\n </label>\n</template>\n\n<style>\n@layer e.controls {\n .e-switch-input {\n position: absolute;\n opacity: 0;\n width: 1px;\n height: 1px;\n }\n\n .e-switch-track {\n --e-switch-w: 44px;\n --e-thumb: 14px;\n --e-thumb-inset: calc(var(--e-space-1) - var(--e-stroke-card));\n --e-thumb-travel: calc(var(--e-switch-w) - 2 * var(--e-stroke-edge) - var(--e-thumb) - 2 * var(--e-thumb-inset));\n\n position: relative;\n flex: none;\n width: var(--e-switch-w);\n height: 24px;\n border: var(--e-stroke-edge) solid var(--e-border-strong);\n\n --e-bc: var(--e-border-strong);\n\n outline: var(--e-stroke-edge) solid var(--e-bc);\n outline-offset: calc(-1 * var(--e-stroke-edge));\n border-radius: var(--e-radius-pill);\n background: var(--e-surface-tint);\n transition:\n background-color var(--e-duration-tap) var(--e-easing-out),\n border-color var(--e-duration-tap) var(--e-easing-out);\n }\n\n .e-switch-track::after {\n content: \"\";\n position: absolute;\n top: 50%;\n inset-inline-start: var(--e-thumb-inset);\n width: var(--e-thumb);\n height: var(--e-thumb);\n margin-top: calc(var(--e-thumb) / -2);\n border-radius: 50%;\n background: var(--e-ink);\n transition: transform var(--e-duration-move, 160ms) var(--e-easing-out);\n }\n\n .e-switch:hover .e-switch-track {\n border-color: var(--e-ink);\n\n --e-bc: var(--e-ink);\n }\n\n .e-switch-input:checked + .e-switch-track {\n background: var(--e-primary);\n border-color: var(--e-primary);\n\n --e-bc: var(--e-primary);\n }\n\n .e-switch-input:checked + .e-switch-track::after {\n background: var(--e-on-primary);\n transform: translateX(var(--e-thumb-travel));\n }\n\n .e-switch-input:disabled + .e-switch-track {\n border-style: dashed;\n outline: 0;\n background: var(--e-surface-tint);\n }\n\n .e-switch-input:disabled + .e-switch-track::after {\n background: var(--e-muted);\n }\n\n @media (prefers-reduced-motion: reduce) {\n .e-switch-track::after {\n transition: none;\n }\n }\n\n @media (forced-colors: active) {\n .e-switch-input:checked + .e-switch-track {\n forced-color-adjust: none;\n background: Highlight;\n }\n\n .e-switch-track::after {\n forced-color-adjust: none;\n background: ButtonText;\n }\n }\n\n :dir(rtl) .e-switch-input:checked + .e-switch-track::after {\n transform: translateX(calc(-1 * var(--e-thumb-travel)));\n }\n}\n</style>\n"],"mappings":""}
@@ -3,15 +3,17 @@ type __VLS_Props = {
3
3
  label: string;
4
4
  /** A line of detail under the label. */
5
5
  description?: string;
6
+ /** Disables the switch. */
6
7
  disabled?: boolean;
7
8
  /** The name submitted with a form. */
8
9
  name?: string;
9
10
  /** The value submitted with a form when on. */
10
11
  value?: string;
11
- /** The id of the input; the label points at it. Generated when left out. */
12
+ /** The id of the input; the label points at it. @default generated */
12
13
  id?: string;
13
14
  };
14
15
  type __VLS_ModelProps = {
16
+ /** On or off. */
15
17
  modelValue?: boolean;
16
18
  };
17
19
  type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
@@ -1 +1 @@
1
- {"version":3,"file":"ESwitch.vue_vue_type_script_setup_true_lang.js","names":["_useModel","_openBlock","_createElementBlock","_normalizeClass","_unref","_normalizeStyle","_createElementVNode","_mergeProps","_createTextVNode","_toDisplayString","_createCommentVNode","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","ESwitch_vue_vue_type_script_setup_true_lang_default","\"modelValue\"","\"modelModifiers\"","__expose","props","__props","model","useModel","id","useUid","input","ref","attrs","useFieldAttrs","openBlock","createElementBlock","normalizeClass","unref","normalizeStyle","createElementVNode","mergeProps","_cache","$event","createTextVNode","toDisplayString","createCommentVNode"],"sources":["../../../src/components/Switch/ESwitch.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ref } from \"vue\";\nimport { useFieldAttrs } from \"../../composables/useFieldAttrs.js\";\nimport { useUid } from \"../../composables/useUid.js\";\nimport \"../../styles/base.css\";\nimport \"../Checkbox/choice.css\";\n\ndefineOptions({ inheritAttrs: false });\n\nconst props = defineProps<{\n /** The setting, named by what it does. */\n label: string;\n /** A line of detail under the label. */\n description?: string;\n disabled?: boolean;\n /** The name submitted with a form. */\n name?: string;\n /** The value submitted with a form when on. */\n value?: string;\n /** The id of the input; the label points at it. Generated when left out. */\n id?: string;\n}>();\n\nconst model = defineModel<boolean>({ default: false });\n\nconst id = useUid(() => props.id);\nconst input = ref<HTMLInputElement | null>(null);\nconst attrs = useFieldAttrs();\n\ndefineExpose({\n input,\n focus: () => input.value?.focus(),\n});\n</script>\n\n<template>\n <label\n class=\"e-choice e-switch\"\n :class=\"[{ 'e-choice--disabled': disabled }, attrs.wrapper().class]\"\n :style=\"attrs.wrapper().style\"\n :for=\"id\"\n >\n <input\n :id=\"id\"\n ref=\"input\"\n type=\"checkbox\"\n role=\"switch\"\n class=\"e-switch-input\"\n :name=\"name\"\n :value=\"value\"\n :checked=\"model\"\n :disabled=\"disabled\"\n v-bind=\"attrs.input()\"\n @change=\"model = ($event.target as HTMLInputElement).checked\"\n />\n <span class=\"e-switch-track\" aria-hidden=\"true\" />\n <span class=\"e-choice-text\">\n {{ label }}\n <span v-if=\"description\" class=\"e-choice-desc\">{{ description }}</span>\n </span>\n </label>\n</template>\n\n<style>\n@layer e.controls {\n .e-switch-input {\n position: absolute;\n opacity: 0;\n width: 1px;\n height: 1px;\n }\n\n .e-switch-track {\n position: relative;\n flex: none;\n width: 44px;\n height: 24px;\n border: var(--e-stroke-edge) solid var(--e-border-strong);\n border-radius: var(--e-radius-pill);\n background: var(--e-surface-tint);\n transition:\n background-color var(--e-duration-tap) var(--e-easing-out),\n border-color var(--e-duration-tap) var(--e-easing-out);\n }\n\n .e-switch-track::after {\n content: \"\";\n position: absolute;\n top: 50%;\n inset-inline-start: 3px;\n width: 14px;\n height: 14px;\n margin-top: -7px;\n border-radius: 50%;\n background: var(--e-ink);\n transition: transform var(--e-duration-move, 160ms) var(--e-easing-out);\n }\n\n .e-switch:hover .e-switch-track {\n border-color: var(--e-ink);\n }\n\n .e-switch-input:checked + .e-switch-track {\n background: var(--e-primary);\n border-color: var(--e-primary);\n }\n\n .e-switch-input:checked + .e-switch-track::after {\n background: var(--e-on-primary);\n transform: translateX(20px);\n }\n\n .e-switch-input:disabled + .e-switch-track {\n border-style: dashed;\n background: var(--e-surface-tint);\n }\n\n .e-switch-input:disabled + .e-switch-track::after {\n background: var(--e-muted);\n }\n\n @media (prefers-reduced-motion: reduce) {\n .e-switch-track::after {\n transition: none;\n }\n }\n\n @media (forced-colors: active) {\n .e-switch-input:checked + .e-switch-track {\n forced-color-adjust: none;\n background: Highlight;\n }\n\n .e-switch-track::after {\n forced-color-adjust: none;\n background: ButtonText;\n }\n }\n\n :dir(rtl) .e-switch-input:checked + .e-switch-track::after {\n transform: translateX(-20px);\n }\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASA,IAAMmB,IAAQC,GAcRC,IAAQrB,EAAoBoB,GAAA,YAAmB,GAE/CG,IAAKC,QAAaL,EAAM,EAAE,GAC1BM,IAAQC,EAA6B,IAAI,GACzCC,IAAQC,EAAc;E,OAE5BV,EAAa;GACX;GACA,aAAaO,EAAM,OAAO,MAAM;EAClC,CAAC,I,UAICxB,EAAA,GAAAC,EAwBQ,SAAA;GAvBN,OAAKC,EAAA,CAAC,qBAAmB,CAAA,EAAA,sBACQiB,EAAA,SAAQ,GAAIhB,EAAAuB,CAAA,CAAK,CAAC,QAAO,CAAA,CAAG,KAAK,CAAA,CAAA;GACjE,OAAKtB,EAAED,EAAAuB,CAAA,CAAK,CAAC,QAAO,CAAA,CAAG,KAAK;GAC5B,KAAKvB,EAAAmB,CAAA;;GAENjB,EAYE,SAZFC,EAYE;IAXC,IAAIH,EAAAmB,CAAA;IACD,SAAA;IAAJ,KAAIE;IACJ,MAAK;IACL,MAAK;IACL,OAAM;IACL,MAAML,EAAA;IACN,OAAOA,EAAA;IACP,SAASC,EAAA;IACT,UAAUD,EAAA;GACH,GAAAhB,EAAAuB,CAAA,CAAK,CAAC,MAAK,GAAA,EAClB,UAAM,AAAAS,EAAA,QAAA,MAAE,EAAA,QAASC,EAAO,OAA4B,Q;GAEvD,AAAAD,EAAA,OAAA9B,EAAkD,QAAA;IAA5C,OAAM;IAAiB,eAAY;;GACzCA,EAGO,QAHPO,GAGO,CAFFL,EAAAC,EAAAW,EAAA,KAAK,IAAG,KACX,CAAA,GAAYA,EAAA,eAAZnB,EAAA,GAAAC,EAAuE,QAAvEY,GAAuEL,EAArBW,EAAA,WAAW,GAAA,CAAA,K"}
1
+ {"version":3,"file":"ESwitch.vue_vue_type_script_setup_true_lang.js","names":["_useModel","_openBlock","_createElementBlock","_normalizeClass","_unref","_normalizeStyle","_createElementVNode","_mergeProps","_createTextVNode","_toDisplayString","_createCommentVNode","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","ESwitch_vue_vue_type_script_setup_true_lang_default","\"modelValue\"","\"modelModifiers\"","__expose","props","__props","model","useModel","id","useUid","input","ref","attrs","useFieldAttrs","openBlock","createElementBlock","normalizeClass","unref","normalizeStyle","createElementVNode","mergeProps","_cache","$event","createTextVNode","toDisplayString","createCommentVNode"],"sources":["../../../src/components/Switch/ESwitch.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ref } from \"vue\";\nimport { useFieldAttrs } from \"../../composables/useFieldAttrs.js\";\nimport { useUid } from \"../../composables/useUid.js\";\nimport \"../../styles/base.css\";\nimport \"../Checkbox/choice.css\";\n\ndefineOptions({ inheritAttrs: false });\n\nconst props = defineProps<{\n /** The setting, named by what it does. */\n label: string;\n /** A line of detail under the label. */\n description?: string;\n /** Disables the switch. */\n disabled?: boolean;\n /** The name submitted with a form. */\n name?: string;\n /** The value submitted with a form when on. */\n value?: string;\n /** The id of the input; the label points at it. @default generated */\n id?: string;\n}>();\n\n/** On or off. */\nconst model = defineModel<boolean>({ default: false });\n\nconst id = useUid(() => props.id);\nconst input = ref<HTMLInputElement | null>(null);\nconst attrs = useFieldAttrs();\n\ndefineExpose({\n input,\n focus: () => input.value?.focus(),\n});\n</script>\n\n<template>\n <label\n class=\"e-choice e-switch\"\n :class=\"[{ 'e-choice--disabled': disabled }, attrs.wrapper().class]\"\n :style=\"attrs.wrapper().style\"\n :for=\"id\"\n >\n <input\n :id=\"id\"\n ref=\"input\"\n type=\"checkbox\"\n role=\"switch\"\n class=\"e-switch-input\"\n :name=\"name\"\n :value=\"value\"\n :checked=\"model\"\n :disabled=\"disabled\"\n v-bind=\"attrs.input()\"\n @change=\"model = ($event.target as HTMLInputElement).checked\"\n />\n <span class=\"e-switch-track\" aria-hidden=\"true\" />\n <span class=\"e-choice-text\">\n {{ label }}\n <span v-if=\"description\" class=\"e-choice-desc\">{{ description }}</span>\n </span>\n </label>\n</template>\n\n<style>\n@layer e.controls {\n .e-switch-input {\n position: absolute;\n opacity: 0;\n width: 1px;\n height: 1px;\n }\n\n .e-switch-track {\n --e-switch-w: 44px;\n --e-thumb: 14px;\n --e-thumb-inset: calc(var(--e-space-1) - var(--e-stroke-card));\n --e-thumb-travel: calc(var(--e-switch-w) - 2 * var(--e-stroke-edge) - var(--e-thumb) - 2 * var(--e-thumb-inset));\n\n position: relative;\n flex: none;\n width: var(--e-switch-w);\n height: 24px;\n border: var(--e-stroke-edge) solid var(--e-border-strong);\n\n --e-bc: var(--e-border-strong);\n\n outline: var(--e-stroke-edge) solid var(--e-bc);\n outline-offset: calc(-1 * var(--e-stroke-edge));\n border-radius: var(--e-radius-pill);\n background: var(--e-surface-tint);\n transition:\n background-color var(--e-duration-tap) var(--e-easing-out),\n border-color var(--e-duration-tap) var(--e-easing-out);\n }\n\n .e-switch-track::after {\n content: \"\";\n position: absolute;\n top: 50%;\n inset-inline-start: var(--e-thumb-inset);\n width: var(--e-thumb);\n height: var(--e-thumb);\n margin-top: calc(var(--e-thumb) / -2);\n border-radius: 50%;\n background: var(--e-ink);\n transition: transform var(--e-duration-move, 160ms) var(--e-easing-out);\n }\n\n .e-switch:hover .e-switch-track {\n border-color: var(--e-ink);\n\n --e-bc: var(--e-ink);\n }\n\n .e-switch-input:checked + .e-switch-track {\n background: var(--e-primary);\n border-color: var(--e-primary);\n\n --e-bc: var(--e-primary);\n }\n\n .e-switch-input:checked + .e-switch-track::after {\n background: var(--e-on-primary);\n transform: translateX(var(--e-thumb-travel));\n }\n\n .e-switch-input:disabled + .e-switch-track {\n border-style: dashed;\n outline: 0;\n background: var(--e-surface-tint);\n }\n\n .e-switch-input:disabled + .e-switch-track::after {\n background: var(--e-muted);\n }\n\n @media (prefers-reduced-motion: reduce) {\n .e-switch-track::after {\n transition: none;\n }\n }\n\n @media (forced-colors: active) {\n .e-switch-input:checked + .e-switch-track {\n forced-color-adjust: none;\n background: Highlight;\n }\n\n .e-switch-track::after {\n forced-color-adjust: none;\n background: ButtonText;\n }\n }\n\n :dir(rtl) .e-switch-input:checked + .e-switch-track::after {\n transform: translateX(calc(-1 * var(--e-thumb-travel)));\n }\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASA,IAAMmB,IAAQC,GAgBRC,IAAQrB,EAAoBoB,GAAA,YAAmB,GAE/CG,IAAKC,QAAaL,EAAM,EAAE,GAC1BM,IAAQC,EAA6B,IAAI,GACzCC,IAAQC,EAAc;E,OAE5BV,EAAa;GACX;GACA,aAAaO,EAAM,OAAO,MAAM;EAClC,CAAC,I,UAICxB,EAAA,GAAAC,EAwBQ,SAAA;GAvBN,OAAKC,EAAA,CAAC,qBAAmB,CAAA,EAAA,sBACQiB,EAAA,SAAQ,GAAIhB,EAAAuB,CAAA,CAAK,CAAC,QAAO,CAAA,CAAG,KAAK,CAAA,CAAA;GACjE,OAAKtB,EAAED,EAAAuB,CAAA,CAAK,CAAC,QAAO,CAAA,CAAG,KAAK;GAC5B,KAAKvB,EAAAmB,CAAA;;GAENjB,EAYE,SAZFC,EAYE;IAXC,IAAIH,EAAAmB,CAAA;IACD,SAAA;IAAJ,KAAIE;IACJ,MAAK;IACL,MAAK;IACL,OAAM;IACL,MAAML,EAAA;IACN,OAAOA,EAAA;IACP,SAASC,EAAA;IACT,UAAUD,EAAA;GACH,GAAAhB,EAAAuB,CAAA,CAAK,CAAC,MAAK,GAAA,EAClB,UAAM,AAAAS,EAAA,QAAA,MAAE,EAAA,QAASC,EAAO,OAA4B,Q;GAEvD,AAAAD,EAAA,OAAA9B,EAAkD,QAAA;IAA5C,OAAM;IAAiB,eAAY;;GACzCA,EAGO,QAHPO,GAGO,CAFFL,EAAAC,EAAAW,EAAA,KAAK,IAAG,KACX,CAAA,GAAYA,EAAA,eAAZnB,EAAA,GAAAC,EAAuE,QAAvEY,GAAuEL,EAArBW,EAAA,WAAW,GAAA,CAAA,K"}
@@ -1 +1 @@
1
- {"version":3,"file":"ETabs.js","names":["_sfc_main","ETabs_vue_vue_type_script_setup_true_lang_default","ETabs_default"],"sources":["../../../src/components/Tabs/ETabs.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { LinkItem, LinkSection } from \"./LinkNav.vue\";\n\nexport interface TabItem extends LinkItem {\n /** Names the tab's slot, and is the value of `v-model`. Not needed for a link. */\n id?: string;\n /** A number or short word in a small badge after the label. */\n count?: number | string;\n}\n\nexport type TabSection = LinkSection<TabItem>;\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, nextTick, onMounted, ref, watch, type Component } from \"vue\";\nimport { TabsContent, TabsList, TabsRoot, TabsTrigger } from \"reka-ui\";\nimport LinkNav from \"./LinkNav.vue\";\nimport { useConfig } from \"../../config.js\";\nimport \"../../styles/base.css\";\n\nconst props = withDefaults(\n defineProps<{\n /** The tabs, in order. Two to five for panels; give them `href` or `to` to make a row or column of links. */\n items?: TabItem[];\n /** Links in labelled groups, instead of `items`. */\n sections?: TabSection[];\n /** `vertical` stacks the links with a rule down the start edge, for a sidebar or an outline. Links only. */\n orientation?: \"horizontal\" | \"vertical\";\n /** Shorter rows and smaller words, for a long list of links. */\n dense?: boolean;\n /** The landmark's name when the tabs are links. Defaults to \"Main\". */\n label?: string;\n /** What renders each link: `\"a\"` by default, or `RouterLink`. */\n linkComponent?: string | Component;\n }>(),\n { orientation: \"horizontal\", linkComponent: \"a\" },\n);\n\ndefineSlots<{\n [id: string]: ((props: { item: TabItem }) => unknown) | undefined;\n /** The panel of any tab that has no slot of its own. */\n panel?(props: { item: TabItem }): unknown;\n}>();\n\nconst groups = computed<TabSection[]>(() => props.sections ?? [{ items: props.items ?? [] }]);\nconst flat = computed(() => groups.value.flatMap((g) => g.items));\nconst isNav = computed(() => flat.value.some((i) => i.href !== undefined || i.to !== undefined));\n\nconst model = defineModel<string>();\n\nconst config = useConfig();\nconst current = computed(() => model.value ?? flat.value[0]?.id);\nconst dir = computed<\"ltr\" | \"rtl\">(\n () => config.dir ?? (typeof document !== \"undefined\" && document.documentElement.dir === \"rtl\" ? \"rtl\" : \"ltr\"),\n);\n\nconst list = ref<{ $el: HTMLElement } | null>(null);\n\nasync function reveal(smooth: boolean) {\n await nextTick();\n const el = list.value?.$el;\n const tab = el?.querySelector<HTMLElement>('[aria-selected=\"true\"]');\n if (!el || !tab || el.scrollWidth <= el.clientWidth) return;\n const calm = typeof matchMedia !== \"undefined\" && matchMedia(\"(prefers-reduced-motion: reduce)\").matches;\n const a = tab.getBoundingClientRect();\n const b = el.getBoundingClientRect();\n el.scrollBy({ left: a.left + a.width / 2 - (b.left + b.width / 2), behavior: smooth && !calm ? \"smooth\" : \"auto\" });\n}\n\nonMounted(() => reveal(false));\nwatch(current, () => reveal(true));\n</script>\n\n<template>\n <LinkNav\n v-if=\"isNav\"\n class=\"e-tabs e-tabs--links\"\n :class=\"[orientation === 'vertical' && 'e-tabs--vertical', dense && 'e-tabs--dense']\"\n :groups=\"groups\"\n :label=\"label\"\n :link-component=\"linkComponent\"\n item-class=\"e-tab\"\n heading-class=\"e-tabs-heading\"\n list-class=\"e-tablist\"\n >\n <template #item=\"{ item }\">\n {{ item.label }}\n <span v-if=\"item.count != null\" class=\"e-tab-count\">{{ item.count }}</span>\n </template>\n </LinkNav>\n <TabsRoot v-else class=\"e-tabs\" :model-value=\"current\" :dir=\"dir\" @update:model-value=\"model = String($event)\">\n <TabsList ref=\"list\" class=\"e-tablist\">\n <TabsTrigger v-for=\"item in flat\" :key=\"item.id\" :value=\"item.id!\" class=\"e-tab\">\n {{ item.label }}\n <span v-if=\"item.count != null\" class=\"e-tab-count\">{{ item.count }}</span>\n </TabsTrigger>\n </TabsList>\n <TabsContent v-for=\"item in flat\" :key=\"item.id\" :value=\"item.id!\" class=\"e-tabpanel\">\n <slot :name=\"item.id!\" :item=\"item\"><slot name=\"panel\" :item=\"item\" /></slot>\n </TabsContent>\n </TabsRoot>\n</template>\n\n<style>\n@layer e.containers {\n .e-tablist {\n display: flex;\n gap: var(--e-space-1);\n /* stylelint-disable-next-line declaration-block-no-redundant-longhand-properties -- the two axes are set apart */\n overflow-x: auto;\n overflow-y: hidden;\n scrollbar-width: none;\n border-bottom: var(--e-stroke-hair) solid var(--e-border);\n }\n\n .e-tablist::-webkit-scrollbar {\n display: none;\n }\n\n .e-tab + .e-tab::before,\n .e-tablist > li + li > .e-tab::before {\n content: \"\";\n position: absolute;\n inset-block: 30%;\n inset-inline-start: calc(var(--e-space-1) * -0.5);\n border-inline-start: var(--e-stroke-hair) solid color-mix(in srgb, var(--e-border) 40%, transparent);\n }\n\n .e-tablist:has(> li) {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n .e-tablist > li {\n display: contents;\n }\n\n a.e-tab {\n text-decoration: none;\n }\n\n .e-tabs--dense .e-tab {\n height: 2.25rem;\n font-size: var(--e-text-sm);\n }\n\n .e-tabs--vertical .e-tablist {\n flex-direction: column;\n gap: 0;\n overflow: visible;\n border-bottom: 0;\n border-inline-start: var(--e-stroke-edge) solid var(--e-border);\n }\n\n .e-tabs--vertical .e-tab {\n background-clip: padding-box;\n justify-content: flex-start;\n height: auto;\n min-height: 2rem;\n margin-inline-start: calc(-1 * var(--e-stroke-edge));\n padding-block: var(--e-space-1);\n border-bottom: 0;\n border-inline-start: 3px solid transparent;\n line-height: 1.35;\n text-align: start;\n }\n\n .e-tabs--vertical .e-tablist > li > .e-tab::before {\n content: none;\n }\n\n .e-tabs--vertical.e-tabs--dense .e-tab {\n min-height: 2.25rem;\n }\n\n .e-tabs--vertical .e-tab[aria-current=\"page\"] {\n border-inline-start-color: var(--e-primary);\n background: var(--e-surface-tint);\n }\n\n .e-tab {\n position: relative;\n display: inline-flex;\n align-items: center;\n gap: var(--e-space-2);\n flex: none;\n height: var(--e-control-height);\n padding: 0 var(--e-space-4);\n border: 0;\n border-bottom: 3px solid transparent;\n background: transparent;\n color: var(--e-muted);\n font: 500 var(--e-text-md) / 1 var(--e-font-sans);\n cursor: pointer;\n transition:\n color var(--e-duration-tap) var(--e-easing-out),\n background-color var(--e-duration-tap) var(--e-easing-out);\n }\n\n .e-tab:hover {\n color: var(--e-ink);\n background: var(--e-surface-tint);\n }\n\n .e-tab[aria-selected=\"true\"],\n .e-tab[aria-current=\"page\"] {\n color: var(--e-ink);\n border-bottom-color: var(--e-primary);\n font-weight: 600;\n }\n\n .e-tab:focus-visible {\n outline: var(--e-stroke-focus) solid var(--e-focus-ring);\n outline-offset: calc(-1 * var(--e-stroke-focus));\n border-radius: var(--e-radius-sm);\n }\n\n .e-tab-count {\n min-width: 22px;\n padding: 0 6px;\n border-radius: var(--e-radius-pill);\n background: var(--e-surface-tint);\n box-shadow: inset 0 0 0 1px var(--e-border-strong);\n font: 600 var(--e-text-xs) / 20px var(--e-font-mono);\n text-align: center;\n color: var(--e-ink);\n }\n\n .e-tabpanel {\n padding-top: var(--e-space-4);\n }\n\n @media (prefers-reduced-motion: reduce) {\n .e-tab {\n transition: none;\n }\n }\n\n @media (forced-colors: active) {\n .e-tab[aria-selected=\"true\"],\n .e-tab[aria-current=\"page\"] {\n forced-color-adjust: none;\n background: Highlight;\n color: HighlightText;\n }\n }\n}\n</style>\n"],"mappings":""}
1
+ {"version":3,"file":"ETabs.js","names":["_sfc_main","ETabs_vue_vue_type_script_setup_true_lang_default","ETabs_default"],"sources":["../../../src/components/Tabs/ETabs.vue"],"sourcesContent":["<script lang=\"ts\">\nexport interface TabItem {\n /** Names the tab's slot, and is the value of `v-model`. */\n id: string;\n /** The tab's words. */\n label: string;\n /** A number or short word in a small badge after the label. */\n count?: number | string;\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, nextTick, onMounted, ref, watch } from \"vue\";\nimport { TabsContent, TabsList, TabsRoot, TabsTrigger } from \"reka-ui\";\nimport { useConfig } from \"../../config.js\";\nimport \"../../styles/base.css\";\n\nconst props = defineProps<{\n /** The tabs, in order: `{ id, label, count? }`. Two to five, with short labels. `id` names the slot and is the `v-model` value. */\n items?: TabItem[];\n}>();\n\ndefineSlots<{\n [id: string]: ((props: { item: TabItem }) => unknown) | undefined;\n /** The panel of any tab that has no slot of its own. */\n panel?(props: { item: TabItem }): unknown;\n}>();\n\nconst flat = computed(() => props.items ?? []);\n\n/** The `id` of the selected tab. Keeps its own state when unbound. @default first tab */\nconst model = defineModel<string>();\n\nconst config = useConfig();\nconst current = computed(() => model.value ?? flat.value[0]?.id);\nconst dir = computed<\"ltr\" | \"rtl\">(\n () => config.dir ?? (typeof document !== \"undefined\" && document.documentElement.dir === \"rtl\" ? \"rtl\" : \"ltr\"),\n);\n\nconst list = ref<{ $el: HTMLElement } | null>(null);\n\nasync function reveal(smooth: boolean) {\n await nextTick();\n const el = list.value?.$el;\n const tab = el?.querySelector<HTMLElement>('[aria-selected=\"true\"]');\n if (!el || !tab || el.scrollWidth <= el.clientWidth) return;\n const calm = typeof matchMedia !== \"undefined\" && matchMedia(\"(prefers-reduced-motion: reduce)\").matches;\n const a = tab.getBoundingClientRect();\n const b = el.getBoundingClientRect();\n el.scrollBy({ left: a.left + a.width / 2 - (b.left + b.width / 2), behavior: smooth && !calm ? \"smooth\" : \"auto\" });\n}\n\nonMounted(() => reveal(false));\nwatch(current, () => reveal(true));\n</script>\n\n<template>\n <TabsRoot class=\"e-tabs\" :model-value=\"current\" :dir=\"dir\" @update:model-value=\"model = String($event)\">\n <TabsList ref=\"list\" class=\"e-tablist\">\n <TabsTrigger v-for=\"item in flat\" :key=\"item.id\" :value=\"item.id\" class=\"e-tab\">\n {{ item.label }}\n <span v-if=\"item.count != null\" class=\"e-tab-count\">{{ item.count }}</span>\n </TabsTrigger>\n </TabsList>\n <TabsContent v-for=\"item in flat\" :key=\"item.id\" :value=\"item.id\" class=\"e-tabpanel\">\n <slot :name=\"item.id\" :item=\"item\"><slot name=\"panel\" :item=\"item\" /></slot>\n </TabsContent>\n </TabsRoot>\n</template>\n\n<style>\n@layer e.containers {\n .e-tablist {\n display: flex;\n gap: 0;\n /* stylelint-disable-next-line declaration-block-no-redundant-longhand-properties -- the two axes are set apart */\n overflow-x: auto;\n overflow-y: hidden;\n scrollbar-width: none;\n }\n\n .e-tablist::-webkit-scrollbar {\n display: none;\n }\n\n /* Tabs are button-like: every tab is ringed and neighbours sit flush and share an edge, so only the outer ends of the row are rounded. The selected tab is outlined in the primary colour with a thick slab underneath. */\n .e-tab {\n --e-bc: var(--e-border-strong);\n\n position: relative;\n display: inline-flex;\n align-items: center;\n gap: var(--e-space-2);\n flex: none;\n height: var(--e-control-height);\n padding: 0 var(--e-space-4);\n border: var(--e-stroke-edge) solid var(--e-bc);\n border-radius: 0;\n outline: var(--e-stroke-edge) solid var(--e-bc);\n outline-offset: calc(-1 * var(--e-stroke-edge));\n background: transparent;\n color: var(--e-muted);\n font: 500 var(--e-text-md) / 1 var(--e-font-sans);\n cursor: pointer;\n transition:\n color var(--e-duration-tap) var(--e-easing-out),\n background-color var(--e-duration-tap) var(--e-easing-out);\n }\n\n /* Only the outer ends of the row are rounded. */\n .e-tab:first-child {\n border-start-start-radius: var(--e-radius-md);\n border-end-start-radius: var(--e-radius-md);\n }\n\n .e-tab:last-child {\n border-start-end-radius: var(--e-radius-md);\n border-end-end-radius: var(--e-radius-md);\n }\n\n .e-tab + .e-tab {\n margin-inline-start: calc(-1 * var(--e-stroke-edge));\n }\n\n .e-tab:hover {\n --e-bc: var(--e-ink);\n\n z-index: var(--e-z-raised);\n color: var(--e-ink);\n background-color: var(--e-surface-hover);\n }\n\n .e-tab[aria-selected=\"true\"] {\n --e-bc: var(--e-primary);\n\n z-index: var(--e-z-sticky);\n border-bottom-width: calc(var(--e-stroke-edge) + var(--e-depth));\n background-color: color-mix(in srgb, var(--e-surface-tint), var(--e-ink) 3%);\n color: var(--e-ink);\n font-weight: 600;\n }\n\n .e-tab:focus-visible {\n z-index: var(--e-z-focus);\n outline: var(--e-stroke-focus) solid var(--e-focus-ring);\n outline-offset: var(--e-focus-gap);\n }\n\n .e-tab-count {\n min-width: var(--e-space-6);\n padding: 0 var(--e-space-2);\n border-radius: var(--e-radius-pill);\n background: color-mix(in srgb, var(--e-primary) 12%, var(--e-surface));\n box-shadow: inset 0 0 0 var(--e-stroke-hair) var(--e-primary);\n outline: var(--e-stroke-hair) solid var(--e-primary);\n outline-offset: calc(-1 * var(--e-stroke-hair));\n font: 600 var(--e-text-xs) / 20px var(--e-font-mono);\n text-align: center;\n color: var(--e-ink);\n }\n\n .e-tabpanel {\n padding-top: var(--e-space-4);\n }\n\n @media (prefers-reduced-motion: reduce) {\n .e-tab {\n transition: none;\n }\n }\n\n @media (forced-colors: active) {\n .e-tab[aria-selected=\"true\"] {\n forced-color-adjust: none;\n background: Highlight;\n color: HighlightText;\n }\n }\n}\n</style>\n"],"mappings":""}
@@ -1,52 +1,30 @@
1
- import { Component } from 'vue';
2
- import { LinkItem, LinkSection } from './LinkNav.vue.js';
3
- export interface TabItem extends LinkItem {
4
- /** Names the tab's slot, and is the value of `v-model`. Not needed for a link. */
5
- id?: string;
1
+ export interface TabItem {
2
+ /** Names the tab's slot, and is the value of `v-model`. */
3
+ id: string;
4
+ /** The tab's words. */
5
+ label: string;
6
6
  /** A number or short word in a small badge after the label. */
7
7
  count?: number | string;
8
8
  }
9
- export type TabSection = LinkSection<TabItem>;
10
9
  declare const _default: typeof __VLS_export;
11
10
  export default _default;
12
11
  declare const __VLS_export: __VLS_WithSlots<import('vue').DefineComponent<{
13
- /** The tabs, in order. Two to five for panels; give them `href` or `to` to make a row or column of links. */
12
+ /** The tabs, in order: `{ id, label, count? }`. Two to five, with short labels. `id` names the slot and is the `v-model` value. */
14
13
  items?: TabItem[];
15
- /** Links in labelled groups, instead of `items`. */
16
- sections?: TabSection[];
17
- /** `vertical` stacks the links with a rule down the start edge, for a sidebar or an outline. Links only. */
18
- orientation?: "horizontal" | "vertical";
19
- /** Shorter rows and smaller words, for a long list of links. */
20
- dense?: boolean;
21
- /** The landmark's name when the tabs are links. Defaults to "Main". */
22
- label?: string;
23
- /** What renders each link: `"a"` by default, or `RouterLink`. */
24
- linkComponent?: string | Component;
25
14
  } & {
15
+ /** The `id` of the selected tab. Keeps its own state when unbound. @default first tab */
26
16
  modelValue?: string;
27
17
  }, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
28
18
  "update:modelValue": (value: string | undefined) => any;
29
19
  }, string, import('vue').PublicProps, Readonly<{
30
- /** The tabs, in order. Two to five for panels; give them `href` or `to` to make a row or column of links. */
20
+ /** The tabs, in order: `{ id, label, count? }`. Two to five, with short labels. `id` names the slot and is the `v-model` value. */
31
21
  items?: TabItem[];
32
- /** Links in labelled groups, instead of `items`. */
33
- sections?: TabSection[];
34
- /** `vertical` stacks the links with a rule down the start edge, for a sidebar or an outline. Links only. */
35
- orientation?: "horizontal" | "vertical";
36
- /** Shorter rows and smaller words, for a long list of links. */
37
- dense?: boolean;
38
- /** The landmark's name when the tabs are links. Defaults to "Main". */
39
- label?: string;
40
- /** What renders each link: `"a"` by default, or `RouterLink`. */
41
- linkComponent?: string | Component;
42
22
  } & {
23
+ /** The `id` of the selected tab. Keeps its own state when unbound. @default first tab */
43
24
  modelValue?: string;
44
25
  }> & Readonly<{
45
26
  "onUpdate:modelValue"?: ((value: string | undefined) => any) | undefined;
46
- }>, {
47
- orientation: "vertical" | "horizontal";
48
- linkComponent: string | Component;
49
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>, {
27
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>, {
50
28
  [id: string]: ((props: {
51
29
  item: TabItem;
52
30
  }) => unknown) | undefined;
@@ -1,34 +1,23 @@
1
1
  /* empty css */
2
2
  import { useConfig as e } from "../../config.js";
3
- import t from "./LinkNav.js";
4
- import { Fragment as n, computed as r, createBlock as i, createCommentVNode as a, createElementBlock as o, createTextVNode as s, createVNode as c, defineComponent as l, mergeModels as u, nextTick as d, normalizeClass as f, onMounted as p, openBlock as m, ref as h, renderList as g, renderSlot as _, toDisplayString as v, unref as y, useModel as b, watch as x, withCtx as S } from "vue";
5
- import { TabsContent as C, TabsList as w, TabsRoot as T, TabsTrigger as E } from "reka-ui";
3
+ import { Fragment as t, computed as n, createBlock as r, createCommentVNode as i, createElementBlock as a, createTextVNode as o, createVNode as s, defineComponent as c, mergeModels as l, nextTick as u, onMounted as d, openBlock as f, ref as p, renderList as m, renderSlot as h, toDisplayString as g, unref as _, useModel as v, watch as y, withCtx as b } from "vue";
4
+ import { TabsContent as x, TabsList as S, TabsRoot as C, TabsTrigger as w } from "reka-ui";
6
5
  //#region src/components/Tabs/ETabs.vue?vue&type=script&setup=true&lang.ts
7
- var D = {
6
+ var T = {
8
7
  key: 0,
9
8
  class: "e-tab-count"
10
- }, O = {
11
- key: 0,
12
- class: "e-tab-count"
13
- }, k = /*@__PURE__*/ l({
9
+ }, E = /*@__PURE__*/ c({
14
10
  __name: "ETabs",
15
- props: /*@__PURE__*/ u({
16
- items: {},
17
- sections: {},
18
- orientation: { default: "horizontal" },
19
- dense: { type: Boolean },
20
- label: {},
21
- linkComponent: { default: "a" }
22
- }, {
11
+ props: /*@__PURE__*/ l({ items: {} }, {
23
12
  modelValue: {},
24
13
  modelModifiers: {}
25
14
  }),
26
15
  emits: ["update:modelValue"],
27
- setup(l) {
28
- let u = l, k = r(() => u.sections ?? [{ items: u.items ?? [] }]), A = r(() => k.value.flatMap((e) => e.items)), j = r(() => A.value.some((e) => e.href !== void 0 || e.to !== void 0)), M = b(l, "modelValue"), N = e(), P = r(() => M.value ?? A.value[0]?.id), F = r(() => N.dir ?? (typeof document < "u" && document.documentElement.dir === "rtl" ? "rtl" : "ltr")), I = h(null);
29
- async function L(e) {
30
- await d();
31
- let t = I.value?.$el, n = t?.querySelector("[aria-selected=\"true\"]");
16
+ setup(c) {
17
+ let l = c, E = n(() => l.items ?? []), D = v(c, "modelValue"), O = e(), k = n(() => D.value ?? E.value[0]?.id), A = n(() => O.dir ?? (typeof document < "u" && document.documentElement.dir === "rtl" ? "rtl" : "ltr")), j = p(null);
18
+ async function M(e) {
19
+ await u();
20
+ let t = j.value?.$el, n = t?.querySelector("[aria-selected=\"true\"]");
32
21
  if (!t || !n || t.scrollWidth <= t.clientWidth) return;
33
22
  let r = typeof matchMedia < "u" && matchMedia("(prefers-reduced-motion: reduce)").matches, i = n.getBoundingClientRect(), a = t.getBoundingClientRect();
34
23
  t.scrollBy({
@@ -36,50 +25,32 @@ var D = {
36
25
  behavior: e && !r ? "smooth" : "auto"
37
26
  });
38
27
  }
39
- return p(() => L(!1)), x(P, () => L(!0)), (e, r) => j.value ? (m(), i(t, {
40
- key: 0,
41
- class: f(["e-tabs e-tabs--links", [l.orientation === "vertical" && "e-tabs--vertical", l.dense && "e-tabs--dense"]]),
42
- groups: k.value,
43
- label: l.label,
44
- "link-component": l.linkComponent,
45
- "item-class": "e-tab",
46
- "heading-class": "e-tabs-heading",
47
- "list-class": "e-tablist"
48
- }, {
49
- item: S(({ item: e }) => [s(v(e.label) + " ", 1), e.count == null ? a("", !0) : (m(), o("span", D, v(e.count), 1))]),
50
- _: 1
51
- }, 8, [
52
- "class",
53
- "groups",
54
- "label",
55
- "link-component"
56
- ])) : (m(), i(y(T), {
57
- key: 1,
28
+ return d(() => M(!1)), y(k, () => M(!0)), (e, n) => (f(), r(_(C), {
58
29
  class: "e-tabs",
59
- "model-value": P.value,
60
- dir: F.value,
61
- "onUpdate:modelValue": r[0] ||= (e) => M.value = String(e)
30
+ "model-value": k.value,
31
+ dir: A.value,
32
+ "onUpdate:modelValue": n[0] ||= (e) => D.value = String(e)
62
33
  }, {
63
- default: S(() => [c(y(w), {
34
+ default: b(() => [s(_(S), {
64
35
  ref_key: "list",
65
- ref: I,
36
+ ref: j,
66
37
  class: "e-tablist"
67
38
  }, {
68
- default: S(() => [(m(!0), o(n, null, g(A.value, (e) => (m(), i(y(E), {
39
+ default: b(() => [(f(!0), a(t, null, m(E.value, (e) => (f(), r(_(w), {
69
40
  key: e.id,
70
41
  value: e.id,
71
42
  class: "e-tab"
72
43
  }, {
73
- default: S(() => [s(v(e.label) + " ", 1), e.count == null ? a("", !0) : (m(), o("span", O, v(e.count), 1))]),
44
+ default: b(() => [o(g(e.label) + " ", 1), e.count == null ? i("", !0) : (f(), a("span", T, g(e.count), 1))]),
74
45
  _: 2
75
46
  }, 1032, ["value"]))), 128))]),
76
47
  _: 1
77
- }, 512), (m(!0), o(n, null, g(A.value, (t) => (m(), i(y(C), {
48
+ }, 512), (f(!0), a(t, null, m(E.value, (t) => (f(), r(_(x), {
78
49
  key: t.id,
79
50
  value: t.id,
80
51
  class: "e-tabpanel"
81
52
  }, {
82
- default: S(() => [_(e.$slots, t.id, { item: t }, () => [_(e.$slots, "panel", { item: t })])]),
53
+ default: b(() => [h(e.$slots, t.id, { item: t }, () => [h(e.$slots, "panel", { item: t })])]),
83
54
  _: 2
84
55
  }, 1032, ["value"]))), 128))]),
85
56
  _: 3
@@ -87,6 +58,6 @@ var D = {
87
58
  }
88
59
  });
89
60
  //#endregion
90
- export { k as default };
61
+ export { E as default };
91
62
 
92
63
  //# sourceMappingURL=ETabs.vue_vue_type_script_setup_true_lang.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ETabs.vue_vue_type_script_setup_true_lang.js","names":["_useModel","_openBlock","_createBlock","LinkNav","_normalizeClass","_withCtx","_createTextVNode","_toDisplayString","_createElementBlock","_createCommentVNode","_unref","_createVNode","_Fragment","_renderList","_renderSlot","LinkNav_default","_hoisted_1","_hoisted_2","ETabs_vue_vue_type_script_setup_true_lang_default","\"modelValue\"","\"modelModifiers\"","props","__props","groups","computed","flat","g","isNav","i","model","useModel","config","useConfig","current","dir","list","ref","reveal","nextTick","el","tab","calm","a","b","smooth","onMounted","watch","openBlock","createBlock","normalizeClass","withCtx","createTextVNode","toDisplayString","item","createCommentVNode","createElementBlock","unref","TabsRoot","_cache","$event","createVNode","TabsList","Fragment","renderList","TabsTrigger","TabsContent","renderSlot","_ctx"],"sources":["../../../src/components/Tabs/ETabs.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { LinkItem, LinkSection } from \"./LinkNav.vue\";\n\nexport interface TabItem extends LinkItem {\n /** Names the tab's slot, and is the value of `v-model`. Not needed for a link. */\n id?: string;\n /** A number or short word in a small badge after the label. */\n count?: number | string;\n}\n\nexport type TabSection = LinkSection<TabItem>;\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, nextTick, onMounted, ref, watch, type Component } from \"vue\";\nimport { TabsContent, TabsList, TabsRoot, TabsTrigger } from \"reka-ui\";\nimport LinkNav from \"./LinkNav.vue\";\nimport { useConfig } from \"../../config.js\";\nimport \"../../styles/base.css\";\n\nconst props = withDefaults(\n defineProps<{\n /** The tabs, in order. Two to five for panels; give them `href` or `to` to make a row or column of links. */\n items?: TabItem[];\n /** Links in labelled groups, instead of `items`. */\n sections?: TabSection[];\n /** `vertical` stacks the links with a rule down the start edge, for a sidebar or an outline. Links only. */\n orientation?: \"horizontal\" | \"vertical\";\n /** Shorter rows and smaller words, for a long list of links. */\n dense?: boolean;\n /** The landmark's name when the tabs are links. Defaults to \"Main\". */\n label?: string;\n /** What renders each link: `\"a\"` by default, or `RouterLink`. */\n linkComponent?: string | Component;\n }>(),\n { orientation: \"horizontal\", linkComponent: \"a\" },\n);\n\ndefineSlots<{\n [id: string]: ((props: { item: TabItem }) => unknown) | undefined;\n /** The panel of any tab that has no slot of its own. */\n panel?(props: { item: TabItem }): unknown;\n}>();\n\nconst groups = computed<TabSection[]>(() => props.sections ?? [{ items: props.items ?? [] }]);\nconst flat = computed(() => groups.value.flatMap((g) => g.items));\nconst isNav = computed(() => flat.value.some((i) => i.href !== undefined || i.to !== undefined));\n\nconst model = defineModel<string>();\n\nconst config = useConfig();\nconst current = computed(() => model.value ?? flat.value[0]?.id);\nconst dir = computed<\"ltr\" | \"rtl\">(\n () => config.dir ?? (typeof document !== \"undefined\" && document.documentElement.dir === \"rtl\" ? \"rtl\" : \"ltr\"),\n);\n\nconst list = ref<{ $el: HTMLElement } | null>(null);\n\nasync function reveal(smooth: boolean) {\n await nextTick();\n const el = list.value?.$el;\n const tab = el?.querySelector<HTMLElement>('[aria-selected=\"true\"]');\n if (!el || !tab || el.scrollWidth <= el.clientWidth) return;\n const calm = typeof matchMedia !== \"undefined\" && matchMedia(\"(prefers-reduced-motion: reduce)\").matches;\n const a = tab.getBoundingClientRect();\n const b = el.getBoundingClientRect();\n el.scrollBy({ left: a.left + a.width / 2 - (b.left + b.width / 2), behavior: smooth && !calm ? \"smooth\" : \"auto\" });\n}\n\nonMounted(() => reveal(false));\nwatch(current, () => reveal(true));\n</script>\n\n<template>\n <LinkNav\n v-if=\"isNav\"\n class=\"e-tabs e-tabs--links\"\n :class=\"[orientation === 'vertical' && 'e-tabs--vertical', dense && 'e-tabs--dense']\"\n :groups=\"groups\"\n :label=\"label\"\n :link-component=\"linkComponent\"\n item-class=\"e-tab\"\n heading-class=\"e-tabs-heading\"\n list-class=\"e-tablist\"\n >\n <template #item=\"{ item }\">\n {{ item.label }}\n <span v-if=\"item.count != null\" class=\"e-tab-count\">{{ item.count }}</span>\n </template>\n </LinkNav>\n <TabsRoot v-else class=\"e-tabs\" :model-value=\"current\" :dir=\"dir\" @update:model-value=\"model = String($event)\">\n <TabsList ref=\"list\" class=\"e-tablist\">\n <TabsTrigger v-for=\"item in flat\" :key=\"item.id\" :value=\"item.id!\" class=\"e-tab\">\n {{ item.label }}\n <span v-if=\"item.count != null\" class=\"e-tab-count\">{{ item.count }}</span>\n </TabsTrigger>\n </TabsList>\n <TabsContent v-for=\"item in flat\" :key=\"item.id\" :value=\"item.id!\" class=\"e-tabpanel\">\n <slot :name=\"item.id!\" :item=\"item\"><slot name=\"panel\" :item=\"item\" /></slot>\n </TabsContent>\n </TabsRoot>\n</template>\n\n<style>\n@layer e.containers {\n .e-tablist {\n display: flex;\n gap: var(--e-space-1);\n /* stylelint-disable-next-line declaration-block-no-redundant-longhand-properties -- the two axes are set apart */\n overflow-x: auto;\n overflow-y: hidden;\n scrollbar-width: none;\n border-bottom: var(--e-stroke-hair) solid var(--e-border);\n }\n\n .e-tablist::-webkit-scrollbar {\n display: none;\n }\n\n .e-tab + .e-tab::before,\n .e-tablist > li + li > .e-tab::before {\n content: \"\";\n position: absolute;\n inset-block: 30%;\n inset-inline-start: calc(var(--e-space-1) * -0.5);\n border-inline-start: var(--e-stroke-hair) solid color-mix(in srgb, var(--e-border) 40%, transparent);\n }\n\n .e-tablist:has(> li) {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n .e-tablist > li {\n display: contents;\n }\n\n a.e-tab {\n text-decoration: none;\n }\n\n .e-tabs--dense .e-tab {\n height: 2.25rem;\n font-size: var(--e-text-sm);\n }\n\n .e-tabs--vertical .e-tablist {\n flex-direction: column;\n gap: 0;\n overflow: visible;\n border-bottom: 0;\n border-inline-start: var(--e-stroke-edge) solid var(--e-border);\n }\n\n .e-tabs--vertical .e-tab {\n background-clip: padding-box;\n justify-content: flex-start;\n height: auto;\n min-height: 2rem;\n margin-inline-start: calc(-1 * var(--e-stroke-edge));\n padding-block: var(--e-space-1);\n border-bottom: 0;\n border-inline-start: 3px solid transparent;\n line-height: 1.35;\n text-align: start;\n }\n\n .e-tabs--vertical .e-tablist > li > .e-tab::before {\n content: none;\n }\n\n .e-tabs--vertical.e-tabs--dense .e-tab {\n min-height: 2.25rem;\n }\n\n .e-tabs--vertical .e-tab[aria-current=\"page\"] {\n border-inline-start-color: var(--e-primary);\n background: var(--e-surface-tint);\n }\n\n .e-tab {\n position: relative;\n display: inline-flex;\n align-items: center;\n gap: var(--e-space-2);\n flex: none;\n height: var(--e-control-height);\n padding: 0 var(--e-space-4);\n border: 0;\n border-bottom: 3px solid transparent;\n background: transparent;\n color: var(--e-muted);\n font: 500 var(--e-text-md) / 1 var(--e-font-sans);\n cursor: pointer;\n transition:\n color var(--e-duration-tap) var(--e-easing-out),\n background-color var(--e-duration-tap) var(--e-easing-out);\n }\n\n .e-tab:hover {\n color: var(--e-ink);\n background: var(--e-surface-tint);\n }\n\n .e-tab[aria-selected=\"true\"],\n .e-tab[aria-current=\"page\"] {\n color: var(--e-ink);\n border-bottom-color: var(--e-primary);\n font-weight: 600;\n }\n\n .e-tab:focus-visible {\n outline: var(--e-stroke-focus) solid var(--e-focus-ring);\n outline-offset: calc(-1 * var(--e-stroke-focus));\n border-radius: var(--e-radius-sm);\n }\n\n .e-tab-count {\n min-width: 22px;\n padding: 0 6px;\n border-radius: var(--e-radius-pill);\n background: var(--e-surface-tint);\n box-shadow: inset 0 0 0 1px var(--e-border-strong);\n font: 600 var(--e-text-xs) / 20px var(--e-font-mono);\n text-align: center;\n color: var(--e-ink);\n }\n\n .e-tabpanel {\n padding-top: var(--e-space-4);\n }\n\n @media (prefers-reduced-motion: reduce) {\n .e-tab {\n transition: none;\n }\n }\n\n @media (forced-colors: active) {\n .e-tab[aria-selected=\"true\"],\n .e-tab[aria-current=\"page\"] {\n forced-color-adjust: none;\n background: Highlight;\n color: HighlightText;\n }\n }\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;EAoBA,IAAMqB,IAAQC,GAwBRC,IAASC,QAA6BH,EAAM,YAAY,CAAC,EAAE,OAAOA,EAAM,SAAS,CAAC,EAAE,CAAC,CAAC,GACtFI,IAAOD,QAAeD,EAAO,MAAM,SAAS,MAAMG,EAAE,KAAK,CAAC,GAC1DC,IAAQH,QAAeC,EAAK,MAAM,MAAM,MAAMG,EAAE,SAAS,KAAA,KAAaA,EAAE,OAAO,KAAA,CAAS,CAAC,GAEzFC,IAAQ7B,EAAmBsB,GAAA,YAAC,GAE5BS,IAASC,EAAU,GACnBC,IAAUT,QAAeK,EAAM,SAASJ,EAAK,MAAM,EAAE,EAAE,EAAE,GACzDS,IAAMV,QACJO,EAAO,QAAQ,OAAO,WAAa,OAAe,SAAS,gBAAgB,QAAQ,QAAQ,QAAQ,MAC3G,GAEMI,IAAOC,EAAiC,IAAI;EAElD,eAAeC,EAAO,GAAiB;GACrC,MAAMC,EAAS;GACf,IAAMC,IAAKJ,EAAK,OAAO,KACjBK,IAAMD,GAAI,cAA2B,0BAAwB;GACnE,IAAI,CAACA,KAAM,CAACC,KAAOD,EAAG,eAAeA,EAAG,aAAa;GACrD,IAAME,IAAO,OAAO,aAAe,OAAe,WAAW,kCAAkC,CAAC,CAAC,SAC3FC,IAAIF,EAAI,sBAAsB,GAC9BG,IAAIJ,EAAG,sBAAsB;GACnC,EAAG,SAAS;IAAE,MAAMG,EAAE,OAAOA,EAAE,QAAQ,KAAKC,EAAE,OAAOA,EAAE,QAAQ;IAAI,UAAUC,KAAU,CAACH,IAAO,WAAW;GAAO,CAAC;EACpH;E,OAEAI,QAAgBR,EAAO,EAAK,CAAC,GAC7BS,EAAMb,SAAeI,EAAO,EAAI,CAAC,I,SAKvBV,EAAA,SADR1B,EAAA,GAAAC,EAeUC,GAAA;;GAbR,OAAKC,EAAA,CAAC,wBAAsB,CACnBkB,EAAA,gBAAW,cAAA,oBAAuCA,EAAA,SAAK,eAAA,CAAA,CAAA;GAC/D,QAAQC,EAAA;GACR,OAAOD,EAAA;GACP,kBAAgBA,EAAA;GACjB,cAAW;GACX,iBAAc;GACd,cAAW;;GAEA,MAAIjB,GACG,EADC,cAAI,CAClBC,EAAAC,EAAA8C,EAAK,KAAK,IAAG,KAChB,CAAA,GAAYA,EAAK,SAAK,O,aAAtBpD,EAAA,GAAAO,EAA2E,QAA3EQ,GAA2ET,EAApB8C,EAAK,KAAK,GAAA,CAAA,E;;;;;;;E,OAGrEpD,EAAA,GAAAC,EAUWQ,EAAA+C,CAAA,GAAA;;GAVM,OAAM;GAAU,eAAaxB,EAAA;GAAU,KAAKC,EAAA;GAAM,uBAAkB,AAAAwB,EAAA,QAAA,MAAE,EAAA,QAAQ,OAAOC,CAAM;;GAC1G,SAAAtD,QAKW,CALXM,EAKWD,EAAAmD,CAAA,GAAA;IALG,SAAA;IAAJ,KAAI1B;IAAO,OAAM;;IACZ,SAAA9B,QAAoB,EAAjCJ,EAAA,EAAA,GAAAO,EAGcI,GAAA,MAAAC,EAHcY,EAAA,QAAR,OAApBxB,EAAA,GAAAC,EAGcQ,EAAAsD,CAAA,GAAA;KAHqB,KAAKX,EAAK;KAAK,OAAOA,EAAK;KAAK,OAAM;;KACvE,SAAAhD,QAAgB,CAAbC,EAAAC,EAAA8C,EAAK,KAAK,IAAG,KAChB,CAAA,GAAYA,EAAK,SAAK,O,aAAtBpD,EAAA,GAAAO,EAA2E,QAA3ES,GAA2EV,EAApB8C,EAAK,KAAK,GAAA,CAAA,E;;;;G,UAGrEpD,EAAA,EAAA,GAAAO,EAEcI,GAAA,MAAAC,EAFcY,EAAA,QAAR,OAApBxB,EAAA,GAAAC,EAEcQ,EAAAuD,CAAA,GAAA;IAFqB,KAAKZ,EAAK;IAAK,OAAOA,EAAK;IAAK,OAAM;;IACvE,SAAAhD,QAA6E,CAA7ES,EAA6EqD,EAAA,QAAhEd,EAAK,IAAE,EAAU,QAAI,SAA2C,CAAzCvC,EAAkCqD,EAAA,QAAA,SAAA,EAAR,QAAI,CAAA,C"}
1
+ {"version":3,"file":"ETabs.vue_vue_type_script_setup_true_lang.js","names":["_useModel","_openBlock","_createBlock","_unref","_withCtx","_createVNode","_createElementBlock","_Fragment","_renderList","_createTextVNode","_toDisplayString","_createCommentVNode","_renderSlot","_hoisted_1","ETabs_vue_vue_type_script_setup_true_lang_default","\"modelValue\"","\"modelModifiers\"","props","__props","flat","computed","model","useModel","config","useConfig","current","dir","list","ref","reveal","nextTick","el","tab","calm","a","b","smooth","onMounted","watch","openBlock","createBlock","unref","TabsRoot","_cache","$event","withCtx","createVNode","TabsList","createElementBlock","Fragment","renderList","TabsTrigger","item","createTextVNode","toDisplayString","createCommentVNode","TabsContent","renderSlot","_ctx"],"sources":["../../../src/components/Tabs/ETabs.vue"],"sourcesContent":["<script lang=\"ts\">\nexport interface TabItem {\n /** Names the tab's slot, and is the value of `v-model`. */\n id: string;\n /** The tab's words. */\n label: string;\n /** A number or short word in a small badge after the label. */\n count?: number | string;\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, nextTick, onMounted, ref, watch } from \"vue\";\nimport { TabsContent, TabsList, TabsRoot, TabsTrigger } from \"reka-ui\";\nimport { useConfig } from \"../../config.js\";\nimport \"../../styles/base.css\";\n\nconst props = defineProps<{\n /** The tabs, in order: `{ id, label, count? }`. Two to five, with short labels. `id` names the slot and is the `v-model` value. */\n items?: TabItem[];\n}>();\n\ndefineSlots<{\n [id: string]: ((props: { item: TabItem }) => unknown) | undefined;\n /** The panel of any tab that has no slot of its own. */\n panel?(props: { item: TabItem }): unknown;\n}>();\n\nconst flat = computed(() => props.items ?? []);\n\n/** The `id` of the selected tab. Keeps its own state when unbound. @default first tab */\nconst model = defineModel<string>();\n\nconst config = useConfig();\nconst current = computed(() => model.value ?? flat.value[0]?.id);\nconst dir = computed<\"ltr\" | \"rtl\">(\n () => config.dir ?? (typeof document !== \"undefined\" && document.documentElement.dir === \"rtl\" ? \"rtl\" : \"ltr\"),\n);\n\nconst list = ref<{ $el: HTMLElement } | null>(null);\n\nasync function reveal(smooth: boolean) {\n await nextTick();\n const el = list.value?.$el;\n const tab = el?.querySelector<HTMLElement>('[aria-selected=\"true\"]');\n if (!el || !tab || el.scrollWidth <= el.clientWidth) return;\n const calm = typeof matchMedia !== \"undefined\" && matchMedia(\"(prefers-reduced-motion: reduce)\").matches;\n const a = tab.getBoundingClientRect();\n const b = el.getBoundingClientRect();\n el.scrollBy({ left: a.left + a.width / 2 - (b.left + b.width / 2), behavior: smooth && !calm ? \"smooth\" : \"auto\" });\n}\n\nonMounted(() => reveal(false));\nwatch(current, () => reveal(true));\n</script>\n\n<template>\n <TabsRoot class=\"e-tabs\" :model-value=\"current\" :dir=\"dir\" @update:model-value=\"model = String($event)\">\n <TabsList ref=\"list\" class=\"e-tablist\">\n <TabsTrigger v-for=\"item in flat\" :key=\"item.id\" :value=\"item.id\" class=\"e-tab\">\n {{ item.label }}\n <span v-if=\"item.count != null\" class=\"e-tab-count\">{{ item.count }}</span>\n </TabsTrigger>\n </TabsList>\n <TabsContent v-for=\"item in flat\" :key=\"item.id\" :value=\"item.id\" class=\"e-tabpanel\">\n <slot :name=\"item.id\" :item=\"item\"><slot name=\"panel\" :item=\"item\" /></slot>\n </TabsContent>\n </TabsRoot>\n</template>\n\n<style>\n@layer e.containers {\n .e-tablist {\n display: flex;\n gap: 0;\n /* stylelint-disable-next-line declaration-block-no-redundant-longhand-properties -- the two axes are set apart */\n overflow-x: auto;\n overflow-y: hidden;\n scrollbar-width: none;\n }\n\n .e-tablist::-webkit-scrollbar {\n display: none;\n }\n\n /* Tabs are button-like: every tab is ringed and neighbours sit flush and share an edge, so only the outer ends of the row are rounded. The selected tab is outlined in the primary colour with a thick slab underneath. */\n .e-tab {\n --e-bc: var(--e-border-strong);\n\n position: relative;\n display: inline-flex;\n align-items: center;\n gap: var(--e-space-2);\n flex: none;\n height: var(--e-control-height);\n padding: 0 var(--e-space-4);\n border: var(--e-stroke-edge) solid var(--e-bc);\n border-radius: 0;\n outline: var(--e-stroke-edge) solid var(--e-bc);\n outline-offset: calc(-1 * var(--e-stroke-edge));\n background: transparent;\n color: var(--e-muted);\n font: 500 var(--e-text-md) / 1 var(--e-font-sans);\n cursor: pointer;\n transition:\n color var(--e-duration-tap) var(--e-easing-out),\n background-color var(--e-duration-tap) var(--e-easing-out);\n }\n\n /* Only the outer ends of the row are rounded. */\n .e-tab:first-child {\n border-start-start-radius: var(--e-radius-md);\n border-end-start-radius: var(--e-radius-md);\n }\n\n .e-tab:last-child {\n border-start-end-radius: var(--e-radius-md);\n border-end-end-radius: var(--e-radius-md);\n }\n\n .e-tab + .e-tab {\n margin-inline-start: calc(-1 * var(--e-stroke-edge));\n }\n\n .e-tab:hover {\n --e-bc: var(--e-ink);\n\n z-index: var(--e-z-raised);\n color: var(--e-ink);\n background-color: var(--e-surface-hover);\n }\n\n .e-tab[aria-selected=\"true\"] {\n --e-bc: var(--e-primary);\n\n z-index: var(--e-z-sticky);\n border-bottom-width: calc(var(--e-stroke-edge) + var(--e-depth));\n background-color: color-mix(in srgb, var(--e-surface-tint), var(--e-ink) 3%);\n color: var(--e-ink);\n font-weight: 600;\n }\n\n .e-tab:focus-visible {\n z-index: var(--e-z-focus);\n outline: var(--e-stroke-focus) solid var(--e-focus-ring);\n outline-offset: var(--e-focus-gap);\n }\n\n .e-tab-count {\n min-width: var(--e-space-6);\n padding: 0 var(--e-space-2);\n border-radius: var(--e-radius-pill);\n background: color-mix(in srgb, var(--e-primary) 12%, var(--e-surface));\n box-shadow: inset 0 0 0 var(--e-stroke-hair) var(--e-primary);\n outline: var(--e-stroke-hair) solid var(--e-primary);\n outline-offset: calc(-1 * var(--e-stroke-hair));\n font: 600 var(--e-text-xs) / 20px var(--e-font-mono);\n text-align: center;\n color: var(--e-ink);\n }\n\n .e-tabpanel {\n padding-top: var(--e-space-4);\n }\n\n @media (prefers-reduced-motion: reduce) {\n .e-tab {\n transition: none;\n }\n }\n\n @media (forced-colors: active) {\n .e-tab[aria-selected=\"true\"] {\n forced-color-adjust: none;\n background: Highlight;\n color: HighlightText;\n }\n }\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;EAiBA,IAAMiB,IAAQC,GAWRC,IAAOC,QAAeH,EAAM,SAAS,CAAC,CAAC,GAGvCI,IAAQrB,EAAmBkB,GAAA,YAAC,GAE5BK,IAASC,EAAU,GACnBC,IAAUL,QAAeC,EAAM,SAASF,EAAK,MAAM,EAAE,EAAE,EAAE,GACzDO,IAAMN,QACJG,EAAO,QAAQ,OAAO,WAAa,OAAe,SAAS,gBAAgB,QAAQ,QAAQ,QAAQ,MAC3G,GAEMI,IAAOC,EAAiC,IAAI;EAElD,eAAeC,EAAO,GAAiB;GACrC,MAAMC,EAAS;GACf,IAAMC,IAAKJ,EAAK,OAAO,KACjBK,IAAMD,GAAI,cAA2B,0BAAwB;GACnE,IAAI,CAACA,KAAM,CAACC,KAAOD,EAAG,eAAeA,EAAG,aAAa;GACrD,IAAME,IAAO,OAAO,aAAe,OAAe,WAAW,kCAAkC,CAAC,CAAC,SAC3FC,IAAIF,EAAI,sBAAsB,GAC9BG,IAAIJ,EAAG,sBAAsB;GACnC,EAAG,SAAS;IAAE,MAAMG,EAAE,OAAOA,EAAE,QAAQ,KAAKC,EAAE,OAAOA,EAAE,QAAQ;IAAI,UAAUC,KAAU,CAACH,IAAO,WAAW;GAAO,CAAC;EACpH;E,OAEAI,QAAgBR,EAAO,EAAK,CAAC,GAC7BS,EAAMb,SAAeI,EAAO,EAAI,CAAC,I,UAI/B5B,EAAA,GAAAC,EAUWC,EAAAuC,CAAA,GAAA;GAVD,OAAM;GAAU,eAAajB,EAAA;GAAU,KAAKC,EAAA;GAAM,uBAAkB,AAAAiB,EAAA,QAAA,MAAE,EAAA,QAAQ,OAAOC,CAAM;;GACnG,SAAAxC,QAKW,CALXC,EAKWF,EAAA4C,CAAA,GAAA;IALG,SAAA;IAAJ,KAAIpB;IAAO,OAAM;;IACZ,SAAAvB,QAAoB,EAAjCH,EAAA,EAAA,GAAAK,EAGcC,GAAA,MAAAC,EAHcW,EAAA,QAAR,OAApBlB,EAAA,GAAAC,EAGcC,EAAAgD,CAAA,GAAA;KAHqB,KAAKC,EAAK;KAAK,OAAOA,EAAK;KAAI,OAAM;;KACtE,SAAAhD,QAAgB,CAAbK,EAAAC,EAAA0C,EAAK,KAAK,IAAG,KAChB,CAAA,GAAYA,EAAK,SAAK,O,aAAtBnD,EAAA,GAAAK,EAA2E,QAA3EO,GAA2EH,EAApB0C,EAAK,KAAK,GAAA,CAAA,E;;;;G,UAGrEnD,EAAA,EAAA,GAAAK,EAEcC,GAAA,MAAAC,EAFcW,EAAA,QAAR,OAApBlB,EAAA,GAAAC,EAEcC,EAAAqD,CAAA,GAAA;IAFqB,KAAKJ,EAAK;IAAK,OAAOA,EAAK;IAAI,OAAM;;IACtE,SAAAhD,QAA4E,CAA5EQ,EAA4E8C,EAAA,QAA/DN,EAAK,IAAE,EAAS,QAAI,SAA2C,CAAzCxC,EAAkC8C,EAAA,QAAA,SAAA,EAAR,QAAI,CAAA,C"}
@@ -1,2 +1,2 @@
1
1
  export { default as ETabs } from './ETabs.vue.js';
2
- export type { TabItem, TabSection } from './ETabs.vue.js';
2
+ export type { TabItem } from './ETabs.vue.js';