@indielayer/ui 1.18.1 → 2.0.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 (861) hide show
  1. package/docs/assets/css/hljs.css +0 -1
  2. package/docs/assets/css/tailwind.css +35 -10
  3. package/docs/components/common/CodePreview.vue +1 -1
  4. package/docs/components/common/CodeSnippet.vue +30 -18
  5. package/docs/components/common/DocsHero.vue +3 -3
  6. package/docs/components/common/DocumentPage.vue +29 -27
  7. package/docs/components/common/ExampleBlocks.vue +147 -8
  8. package/docs/components/menu/DocsMenu.vue +3 -1
  9. package/docs/components/toolbar/PreToolbar.vue +1 -1
  10. package/docs/components/toolbar/Toolbar.vue +1 -1
  11. package/docs/components/toolbar/ToolbarSearch.vue +3 -3
  12. package/docs/main.ts +5 -0
  13. package/docs/pages/colors.vue +11 -19
  14. package/docs/pages/component/button/variants.vue +1 -1
  15. package/docs/pages/component/drawer/index.vue +1 -1
  16. package/docs/pages/component/empty/actions.vue +11 -0
  17. package/docs/pages/component/empty/bordered.vue +7 -0
  18. package/docs/pages/component/empty/index.vue +43 -0
  19. package/docs/pages/component/empty/usage.vue +6 -0
  20. package/docs/pages/component/form/usage.vue +36 -0
  21. package/docs/pages/component/formGroup/index.vue +1 -1
  22. package/docs/pages/component/icon/formats.vue +65 -0
  23. package/docs/pages/component/icon/index.vue +11 -4
  24. package/docs/pages/component/icon/usage.vue +52 -4
  25. package/docs/pages/component/image/index.vue +16 -2
  26. package/docs/pages/component/image/sizing.vue +42 -0
  27. package/docs/pages/component/image/states.vue +45 -0
  28. package/docs/pages/component/image/usage.vue +9 -6
  29. package/docs/pages/component/infiniteLoader/composable.vue +7 -5
  30. package/docs/pages/component/infiniteLoader/usage.vue +7 -5
  31. package/docs/pages/component/input/index.vue +1 -1
  32. package/docs/pages/component/input/variants.vue +11 -0
  33. package/docs/pages/component/inputGroup/index.vue +43 -0
  34. package/docs/pages/component/inputGroup/mixed.vue +18 -0
  35. package/docs/pages/component/inputGroup/usage.vue +20 -0
  36. package/docs/pages/component/inputGroup/validation.vue +33 -0
  37. package/docs/pages/component/radio/index.vue +23 -9
  38. package/docs/pages/component/radio/payment-method.vue +28 -0
  39. package/docs/pages/component/radio/radio-button-form-group.vue +28 -0
  40. package/docs/pages/component/radio/radio-button.vue +26 -0
  41. package/docs/pages/component/skeleton/usage.vue +1 -1
  42. package/docs/pages/component/stepper/index.vue +9 -2
  43. package/docs/pages/component/stepper/usage.vue +56 -12
  44. package/docs/pages/component/stepper/wizard.vue +126 -0
  45. package/docs/pages/component/table/index.vue +1 -1
  46. package/docs/pages/component/table/states.vue +5 -3
  47. package/docs/pages/component/table/virtual.vue +1 -1
  48. package/docs/pages/component/tooltip/content.vue +11 -0
  49. package/docs/pages/component/tooltip/index.vue +30 -2
  50. package/docs/pages/component/tooltip/placement.vue +18 -0
  51. package/docs/pages/component/tooltip/states.vue +5 -0
  52. package/docs/pages/component/tooltip/toggle-tip.vue +6 -0
  53. package/docs/pages/component/tooltip/usage.vue +8 -9
  54. package/docs/pages/component/virtualGrid/usage.vue +5 -2
  55. package/docs/pages/component/virtualList/dynamicHeight.vue +8 -8
  56. package/docs/pages/component/virtualList/usage.vue +5 -2
  57. package/docs/pages/index.vue +30 -33
  58. package/docs/search/components.json +1 -1
  59. package/docs/search/index.json +1 -1
  60. package/docs/utils/shikiHighlighter.ts +22 -0
  61. package/exports/nuxt.mjs +1 -1
  62. package/exports/nuxt.plugin.js +1 -0
  63. package/exports/tailwind.css +74 -0
  64. package/lib/_virtual/_plugin-vue_export-helper.js +7 -8
  65. package/lib/_virtual/_rolldown/runtime.js +17 -0
  66. package/lib/common/colors.js +370 -19
  67. package/lib/common/icons.d.ts +1 -0
  68. package/lib/common/icons.js +4 -22
  69. package/lib/common/inputGroupRadius.d.ts +2 -0
  70. package/lib/common/inputGroupRadius.js +6 -0
  71. package/lib/common/props.d.ts +27 -0
  72. package/lib/common/props.js +18 -0
  73. package/lib/common/utils.js +17 -24
  74. package/lib/componentDefaults.d.ts +18 -0
  75. package/lib/components/accordion/Accordion.js +5 -0
  76. package/lib/components/accordion/Accordion.vue.d.ts +3 -4
  77. package/lib/components/accordion/Accordion.vue_vue_type_script_setup_true_lang.js +37 -0
  78. package/lib/components/accordion/AccordionItem.js +5 -0
  79. package/lib/components/accordion/AccordionItem.vue.d.ts +3 -4
  80. package/lib/components/accordion/AccordionItem.vue_vue_type_script_setup_true_lang.js +138 -0
  81. package/lib/components/accordion/theme/Accordion.base.theme.js +4 -8
  82. package/lib/components/accordion/theme/Accordion.carbon.theme.js +4 -4
  83. package/lib/components/accordion/theme/AccordionItem.base.theme.js +14 -16
  84. package/lib/components/accordion/theme/AccordionItem.carbon.theme.js +4 -4
  85. package/lib/components/alert/Alert.js +6 -0
  86. package/lib/components/alert/Alert.vue.d.ts +12 -16
  87. package/lib/components/alert/Alert.vue_vue_type_script_setup_true_lang.js +54 -0
  88. package/lib/components/alert/Alert.vue_vue_type_style_index_0_lang.module.js +6 -0
  89. package/lib/components/alert/theme/Alert.base.theme.js +38 -40
  90. package/lib/components/alert/theme/Alert.carbon.theme.js +38 -40
  91. package/lib/components/avatar/Avatar.js +6 -0
  92. package/lib/components/avatar/Avatar.vue.d.ts +6 -8
  93. package/lib/components/avatar/Avatar.vue_vue_type_script_setup_true_lang.js +66 -0
  94. package/lib/components/avatar/Avatar.vue_vue_type_style_index_0_lang.module.js +3 -0
  95. package/lib/components/avatar/theme/Avatar.base.theme.js +17 -21
  96. package/lib/components/avatar/theme/Avatar.carbon.theme.js +4 -4
  97. package/lib/components/badge/Badge.js +5 -0
  98. package/lib/components/badge/Badge.vue.d.ts +6 -8
  99. package/lib/components/badge/Badge.vue_vue_type_script_setup_true_lang.js +76 -0
  100. package/lib/components/badge/theme/Badge.base.theme.js +9 -11
  101. package/lib/components/badge/theme/Badge.carbon.theme.js +4 -4
  102. package/lib/components/breadcrumbs/Breadcrumbs.js +5 -0
  103. package/lib/components/breadcrumbs/Breadcrumbs.vue.d.ts +6 -8
  104. package/lib/components/breadcrumbs/Breadcrumbs.vue_vue_type_script_setup_true_lang.js +62 -0
  105. package/lib/components/breadcrumbs/theme/Breadcrumbs.base.theme.js +8 -10
  106. package/lib/components/breadcrumbs/theme/Breadcrumbs.carbon.theme.js +7 -9
  107. package/lib/components/button/Button.js +6 -0
  108. package/lib/components/button/Button.vue.d.ts +23 -28
  109. package/lib/components/button/Button.vue_vue_type_script_setup_true_lang.js +139 -0
  110. package/lib/components/button/Button.vue_vue_type_style_index_0_scoped_4402fde2_lang.module.js +6 -0
  111. package/lib/components/button/ButtonGroup.js +6 -0
  112. package/lib/components/button/ButtonGroup.vue.d.ts +21 -20
  113. package/lib/components/button/ButtonGroup.vue_vue_type_script_setup_true_lang.js +45 -0
  114. package/lib/components/button/ButtonGroup.vue_vue_type_style_index_0_lang.module.js +7 -0
  115. package/lib/components/button/theme/Button.base.theme.js +139 -140
  116. package/lib/components/button/theme/Button.carbon.theme.js +136 -137
  117. package/lib/components/button/theme/ButtonGroup.base.theme.js +4 -8
  118. package/lib/components/button/theme/ButtonGroup.carbon.theme.js +4 -8
  119. package/lib/components/card/Card.js +5 -0
  120. package/lib/components/card/Card.vue.d.ts +3 -4
  121. package/lib/components/card/Card.vue_vue_type_script_setup_true_lang.js +26 -0
  122. package/lib/components/card/theme/Card.base.theme.js +4 -8
  123. package/lib/components/card/theme/Card.carbon.theme.js +4 -4
  124. package/lib/components/carousel/Carousel.js +5 -0
  125. package/lib/components/carousel/Carousel.vue.d.ts +3 -4
  126. package/lib/components/carousel/Carousel.vue_vue_type_script_setup_true_lang.js +91 -0
  127. package/lib/components/carousel/CarouselSlide.js +6 -0
  128. package/lib/components/carousel/CarouselSlide.vue_vue_type_script_setup_true_lang.js +26 -0
  129. package/lib/components/carousel/CarouselSlide.vue_vue_type_style_index_0_scoped_e90d2127_lang.module.js +4 -0
  130. package/lib/components/carousel/theme/Carousel.base.theme.js +14 -16
  131. package/lib/components/carousel/theme/Carousel.carbon.theme.js +4 -4
  132. package/lib/components/carousel/theme/CarouselSlide.base.theme.js +4 -8
  133. package/lib/components/carousel/theme/CarouselSlide.carbon.theme.js +4 -4
  134. package/lib/components/checkbox/Checkbox.js +6 -0
  135. package/lib/components/checkbox/Checkbox.vue.d.ts +3 -4
  136. package/lib/components/checkbox/Checkbox.vue_vue_type_script_setup_true_lang.js +129 -0
  137. package/lib/components/checkbox/Checkbox.vue_vue_type_style_index_0_lang.module.js +4 -0
  138. package/lib/components/checkbox/theme/Checkbox.base.theme.js +58 -58
  139. package/lib/components/checkbox/theme/Checkbox.carbon.theme.js +58 -58
  140. package/lib/components/container/Container.js +5 -0
  141. package/lib/components/container/Container.vue_vue_type_script_setup_true_lang.js +28 -0
  142. package/lib/components/container/theme/Container.base.theme.js +7 -11
  143. package/lib/components/container/theme/Container.carbon.theme.js +4 -4
  144. package/lib/components/datepicker/Datepicker.js +6 -0
  145. package/lib/components/datepicker/Datepicker.vue.d.ts +9 -5
  146. package/lib/components/datepicker/Datepicker.vue_vue_type_script_setup_true_lang.js +638 -0
  147. package/lib/components/datepicker/theme/Datepicker.base.theme.js +26 -61
  148. package/lib/components/datepicker/theme/Datepicker.carbon.theme.js +4 -4
  149. package/lib/components/divider/Divider.js +5 -0
  150. package/lib/components/divider/Divider.vue.d.ts +4 -6
  151. package/lib/components/divider/Divider.vue_vue_type_script_setup_true_lang.js +43 -0
  152. package/lib/components/divider/theme/Divider.base.theme.js +8 -10
  153. package/lib/components/divider/theme/Divider.carbon.theme.js +4 -4
  154. package/lib/components/drawer/Drawer.js +5 -0
  155. package/lib/components/drawer/Drawer.vue_vue_type_script_setup_true_lang.js +149 -0
  156. package/lib/components/drawer/theme/Drawer.base.theme.js +7 -9
  157. package/lib/components/drawer/theme/Drawer.carbon.theme.js +4 -4
  158. package/lib/components/empty/Empty.js +5 -0
  159. package/lib/components/empty/Empty.vue.d.ts +62 -0
  160. package/lib/components/empty/Empty.vue_vue_type_script_setup_true_lang.js +67 -0
  161. package/lib/components/empty/index.d.ts +2 -0
  162. package/lib/components/empty/theme/Empty.base.theme.d.ts +3 -0
  163. package/lib/components/empty/theme/Empty.base.theme.js +20 -0
  164. package/lib/components/empty/theme/Empty.carbon.theme.d.ts +3 -0
  165. package/lib/components/empty/theme/Empty.carbon.theme.js +5 -0
  166. package/lib/components/form/Form.js +5 -0
  167. package/lib/components/form/Form.vue_vue_type_script_setup_true_lang.js +97 -0
  168. package/lib/components/form/theme/Form.base.theme.js +10 -12
  169. package/lib/components/form/theme/Form.carbon.theme.js +10 -12
  170. package/lib/components/formGroup/FormGroup.js +5 -0
  171. package/lib/components/formGroup/FormGroup.vue.d.ts +9 -2
  172. package/lib/components/formGroup/FormGroup.vue_vue_type_script_setup_true_lang.js +91 -0
  173. package/lib/components/formGroup/theme/FormGroup.base.theme.js +7 -11
  174. package/lib/components/formGroup/theme/FormGroup.carbon.theme.js +7 -11
  175. package/lib/components/icon/Icon.js +5 -0
  176. package/lib/components/icon/Icon.vue.d.ts +3 -4
  177. package/lib/components/icon/Icon.vue_vue_type_script_setup_true_lang.js +85 -0
  178. package/lib/components/icon/theme/Icon.base.theme.js +4 -11
  179. package/lib/components/icon/theme/Icon.carbon.theme.js +4 -11
  180. package/lib/components/image/Image.js +5 -0
  181. package/lib/components/image/Image.vue_vue_type_script_setup_true_lang.js +25 -0
  182. package/lib/components/image/theme/Image.base.theme.js +4 -8
  183. package/lib/components/image/theme/Image.carbon.theme.js +4 -4
  184. package/lib/components/index.d.ts +3 -0
  185. package/lib/components/index.js +128 -120
  186. package/lib/components/input/Input.js +5 -0
  187. package/lib/components/input/Input.vue.d.ts +17 -17
  188. package/lib/components/input/Input.vue_vue_type_script_setup_true_lang.js +238 -0
  189. package/lib/components/input/theme/Input.base.theme.js +22 -16
  190. package/lib/components/input/theme/Input.carbon.theme.js +21 -16
  191. package/lib/components/inputFooter/InputFooter.js +5 -0
  192. package/lib/components/inputFooter/InputFooter.vue.d.ts +4 -6
  193. package/lib/components/inputFooter/InputFooter.vue_vue_type_script_setup_true_lang.js +37 -0
  194. package/lib/components/inputFooter/theme/InputFooter.base.theme.js +10 -12
  195. package/lib/components/inputFooter/theme/InputFooter.carbon.theme.js +10 -12
  196. package/lib/components/inputGroup/InputGroup.js +5 -0
  197. package/lib/components/inputGroup/InputGroup.vue.d.ts +164 -0
  198. package/lib/components/inputGroup/InputGroup.vue_vue_type_script_setup_true_lang.js +120 -0
  199. package/lib/components/inputGroup/index.d.ts +2 -0
  200. package/lib/components/inputGroup/theme/InputGroup.base.theme.d.ts +3 -0
  201. package/lib/components/inputGroup/theme/InputGroup.base.theme.js +4 -0
  202. package/lib/components/inputGroup/theme/InputGroup.carbon.theme.d.ts +3 -0
  203. package/lib/components/inputGroup/theme/InputGroup.carbon.theme.js +5 -0
  204. package/lib/components/label/Label.js +5 -0
  205. package/lib/components/label/Label.vue.d.ts +8 -5
  206. package/lib/components/label/Label.vue_vue_type_script_setup_true_lang.js +59 -0
  207. package/lib/components/label/theme/Label.base.theme.js +13 -15
  208. package/lib/components/label/theme/Label.carbon.theme.js +10 -12
  209. package/lib/components/link/Link.js +6 -0
  210. package/lib/components/link/Link.vue.d.ts +9 -12
  211. package/lib/components/link/Link.vue_vue_type_script_setup_true_lang.js +47 -0
  212. package/lib/components/link/Link.vue_vue_type_style_index_0_scoped_8e0e4d08_lang.module.js +6 -0
  213. package/lib/components/link/theme/Link.base.theme.js +18 -24
  214. package/lib/components/link/theme/Link.carbon.theme.js +18 -24
  215. package/lib/components/loader/Loader.js +5 -0
  216. package/lib/components/loader/Loader.vue_vue_type_script_setup_true_lang.js +61 -0
  217. package/lib/components/loader/theme/Loader.base.theme.js +9 -11
  218. package/lib/components/loader/theme/Loader.carbon.theme.js +9 -11
  219. package/lib/components/menu/Menu.js +5 -0
  220. package/lib/components/menu/Menu.vue.d.ts +6 -8
  221. package/lib/components/menu/Menu.vue_vue_type_script_setup_true_lang.js +178 -0
  222. package/lib/components/menu/MenuItem.js +6 -0
  223. package/lib/components/menu/MenuItem.vue.d.ts +6 -8
  224. package/lib/components/menu/MenuItem.vue_vue_type_script_setup_true_lang.js +149 -0
  225. package/lib/components/menu/MenuItem.vue_vue_type_style_index_0_scoped_2a6b7341_lang.module.js +7 -0
  226. package/lib/components/menu/theme/Menu.base.theme.js +4 -8
  227. package/lib/components/menu/theme/Menu.carbon.theme.js +4 -4
  228. package/lib/components/menu/theme/MenuItem.base.theme.js +71 -75
  229. package/lib/components/menu/theme/MenuItem.carbon.theme.js +4 -4
  230. package/lib/components/modal/Modal.js +5 -0
  231. package/lib/components/modal/Modal.vue_vue_type_script_setup_true_lang.js +194 -0
  232. package/lib/components/modal/theme/Modal.base.theme.js +25 -27
  233. package/lib/components/modal/theme/Modal.carbon.theme.js +27 -29
  234. package/lib/components/notifications/Notifications.js +5 -0
  235. package/lib/components/notifications/Notifications.vue_vue_type_script_setup_true_lang.js +234 -0
  236. package/lib/components/notifications/theme/Notifications.base.theme.js +8 -10
  237. package/lib/components/notifications/theme/Notifications.carbon.theme.js +8 -10
  238. package/lib/components/pagination/Pagination.js +5 -0
  239. package/lib/components/pagination/Pagination.vue.d.ts +3 -4
  240. package/lib/components/pagination/Pagination.vue_vue_type_script_setup_true_lang.js +152 -0
  241. package/lib/components/pagination/PaginationItem.js +5 -0
  242. package/lib/components/pagination/PaginationItem.vue.d.ts +3 -4
  243. package/lib/components/pagination/PaginationItem.vue_vue_type_script_setup_true_lang.js +44 -0
  244. package/lib/components/pagination/theme/Pagination.base.theme.js +12 -12
  245. package/lib/components/pagination/theme/Pagination.carbon.theme.js +4 -4
  246. package/lib/components/pagination/theme/PaginationItem.base.theme.js +4 -8
  247. package/lib/components/pagination/theme/PaginationItem.carbon.theme.js +4 -4
  248. package/lib/components/popover/Popover.js +6 -0
  249. package/lib/components/popover/Popover.vue_vue_type_script_setup_true_lang.js +189 -0
  250. package/lib/components/popover/PopoverContainer.js +5 -0
  251. package/lib/components/popover/PopoverContainer.vue_vue_type_script_setup_true_lang.js +22 -0
  252. package/lib/components/popover/theme/Popover.base.theme.js +7 -9
  253. package/lib/components/popover/theme/Popover.carbon.theme.js +4 -4
  254. package/lib/components/popover/theme/PopoverContainer.base.theme.js +4 -8
  255. package/lib/components/popover/theme/PopoverContainer.carbon.theme.js +4 -8
  256. package/lib/components/progress/Progress.js +5 -0
  257. package/lib/components/progress/Progress.vue.d.ts +6 -8
  258. package/lib/components/progress/Progress.vue_vue_type_script_setup_true_lang.js +38 -0
  259. package/lib/components/progress/theme/Progress.base.theme.js +13 -17
  260. package/lib/components/progress/theme/Progress.carbon.theme.js +4 -4
  261. package/lib/components/qrCode/QrCode.js +5 -0
  262. package/lib/components/qrCode/QrCode.vue_vue_type_script_setup_true_lang.js +79 -0
  263. package/lib/components/qrCode/qrcodegen.js +766 -571
  264. package/lib/components/qrCode/theme/QrCode.base.theme.js +4 -8
  265. package/lib/components/qrCode/theme/QrCode.carbon.theme.js +4 -4
  266. package/lib/components/radio/Radio.js +6 -0
  267. package/lib/components/radio/Radio.vue.d.ts +3 -4
  268. package/lib/components/radio/Radio.vue_vue_type_script_setup_true_lang.js +116 -0
  269. package/lib/components/radio/Radio.vue_vue_type_style_index_0_lang.module.js +7 -0
  270. package/lib/components/radio/theme/Radio.base.theme.js +69 -69
  271. package/lib/components/radio/theme/Radio.carbon.theme.js +63 -63
  272. package/lib/components/radioButton/RadioButton.js +6 -0
  273. package/lib/components/radioButton/RadioButton.vue.d.ts +182 -0
  274. package/lib/components/radioButton/RadioButton.vue_vue_type_script_setup_true_lang.js +83 -0
  275. package/lib/components/radioButton/RadioButton.vue_vue_type_style_index_0_lang.module.js +6 -0
  276. package/lib/components/radioButton/index.d.ts +2 -0
  277. package/lib/components/radioButton/theme/RadioButton.base.theme.d.ts +3 -0
  278. package/lib/components/radioButton/theme/RadioButton.base.theme.js +110 -0
  279. package/lib/components/radioButton/theme/RadioButton.carbon.theme.d.ts +3 -0
  280. package/lib/components/radioButton/theme/RadioButton.carbon.theme.js +15 -0
  281. package/lib/components/scroll/Scroll.js +6 -0
  282. package/lib/components/scroll/Scroll.vue.d.ts +9 -12
  283. package/lib/components/scroll/Scroll.vue_vue_type_script_setup_true_lang.js +48 -0
  284. package/lib/components/scroll/Scroll.vue_vue_type_style_index_0_lang.module.js +12 -0
  285. package/lib/components/scroll/theme/Scroll.base.theme.js +4 -8
  286. package/lib/components/scroll/theme/Scroll.carbon.theme.js +4 -4
  287. package/lib/components/select/Select.js +5 -0
  288. package/lib/components/select/Select.vue.d.ts +81 -239
  289. package/lib/components/select/Select.vue_vue_type_script_setup_true_lang.js +548 -0
  290. package/lib/components/select/theme/Select.base.theme.js +26 -25
  291. package/lib/components/select/theme/Select.carbon.theme.js +23 -23
  292. package/lib/components/skeleton/Skeleton.js +5 -0
  293. package/lib/components/skeleton/Skeleton.vue_vue_type_script_setup_true_lang.js +30 -0
  294. package/lib/components/skeleton/theme/Skeleton.base.theme.js +7 -11
  295. package/lib/components/skeleton/theme/Skeleton.carbon.theme.js +4 -4
  296. package/lib/components/slider/Slider.js +7 -0
  297. package/lib/components/slider/Slider.vue_vue_type_script_setup_true_lang.js +106 -0
  298. package/lib/components/slider/theme/Slider.base.theme.js +17 -19
  299. package/lib/components/slider/theme/Slider.carbon.theme.js +4 -4
  300. package/lib/components/spacer/Spacer.js +9 -11
  301. package/lib/components/spinner/Spinner.js +5 -0
  302. package/lib/components/spinner/Spinner.vue_vue_type_script_setup_true_lang.js +23 -0
  303. package/lib/components/stepper/Stepper.js +5 -0
  304. package/lib/components/stepper/Stepper.vue.d.ts +137 -32
  305. package/lib/components/stepper/Stepper.vue_vue_type_script_setup_true_lang.js +377 -0
  306. package/lib/components/stepper/index.d.ts +1 -1
  307. package/lib/components/stepper/theme/Stepper.base.theme.js +33 -20
  308. package/lib/components/stepper/theme/Stepper.carbon.theme.js +4 -4
  309. package/lib/components/tab/Tab.js +5 -0
  310. package/lib/components/tab/Tab.vue.d.ts +3 -4
  311. package/lib/components/tab/Tab.vue_vue_type_script_setup_true_lang.js +139 -0
  312. package/lib/components/tab/TabGroup.js +5 -0
  313. package/lib/components/tab/TabGroup.vue.d.ts +6 -8
  314. package/lib/components/tab/TabGroup.vue_vue_type_script_setup_true_lang.js +122 -0
  315. package/lib/components/tab/theme/Tab.base.theme.js +13 -15
  316. package/lib/components/tab/theme/Tab.carbon.theme.js +16 -18
  317. package/lib/components/tab/theme/TabGroup.base.theme.js +30 -30
  318. package/lib/components/tab/theme/TabGroup.carbon.theme.js +30 -30
  319. package/lib/components/table/Table.js +5 -0
  320. package/lib/components/table/Table.vue.d.ts +49 -304
  321. package/lib/components/table/Table.vue_vue_type_script_setup_true_lang.js +385 -0
  322. package/lib/components/table/TableBody.js +9 -14
  323. package/lib/components/table/TableCell.js +5 -0
  324. package/lib/components/table/TableCell.vue.d.ts +6 -8
  325. package/lib/components/table/TableCell.vue_vue_type_script_setup_true_lang.js +81 -0
  326. package/lib/components/table/TableHead.js +5 -0
  327. package/lib/components/table/TableHead.vue.d.ts +4 -6
  328. package/lib/components/table/TableHead.vue_vue_type_script_setup_true_lang.js +17 -0
  329. package/lib/components/table/TableHeader.js +5 -0
  330. package/lib/components/table/TableHeader.vue.d.ts +3 -4
  331. package/lib/components/table/TableHeader.vue_vue_type_script_setup_true_lang.js +78 -0
  332. package/lib/components/table/TableRow.js +5 -0
  333. package/lib/components/table/TableRow.vue.d.ts +9 -12
  334. package/lib/components/table/TableRow.vue_vue_type_script_setup_true_lang.js +39 -0
  335. package/lib/components/table/theme/Table.base.theme.js +11 -13
  336. package/lib/components/table/theme/Table.carbon.theme.js +11 -13
  337. package/lib/components/table/theme/TableCell.base.theme.js +7 -11
  338. package/lib/components/table/theme/TableCell.carbon.theme.js +7 -11
  339. package/lib/components/table/theme/TableHead.base.theme.js +10 -12
  340. package/lib/components/table/theme/TableHead.carbon.theme.js +10 -12
  341. package/lib/components/table/theme/TableHeader.base.theme.js +14 -16
  342. package/lib/components/table/theme/TableHeader.carbon.theme.js +10 -12
  343. package/lib/components/table/theme/TableRow.base.theme.js +7 -11
  344. package/lib/components/table/theme/TableRow.carbon.theme.js +7 -11
  345. package/lib/components/tag/Tag.js +5 -0
  346. package/lib/components/tag/Tag.vue.d.ts +12 -16
  347. package/lib/components/tag/Tag.vue_vue_type_script_setup_true_lang.js +62 -0
  348. package/lib/components/tag/theme/Tag.base.theme.js +21 -23
  349. package/lib/components/tag/theme/Tag.carbon.theme.js +21 -23
  350. package/lib/components/textarea/Textarea.js +5 -0
  351. package/lib/components/textarea/Textarea.vue.d.ts +26 -29
  352. package/lib/components/textarea/Textarea.vue_vue_type_script_setup_true_lang.js +197 -0
  353. package/lib/components/textarea/theme/Textarea.base.theme.js +17 -13
  354. package/lib/components/textarea/theme/Textarea.carbon.theme.js +16 -13
  355. package/lib/components/themeProvider/ThemeProvider.js +5 -0
  356. package/lib/components/themeProvider/ThemeProvider.vue_vue_type_script_setup_true_lang.js +15 -0
  357. package/lib/components/toggle/Toggle.js +5 -0
  358. package/lib/components/toggle/Toggle.vue.d.ts +3 -4
  359. package/lib/components/toggle/Toggle.vue_vue_type_script_setup_true_lang.js +101 -0
  360. package/lib/components/toggle/theme/Toggle.base.theme.js +23 -28
  361. package/lib/components/toggle/theme/Toggle.carbon.theme.js +4 -4
  362. package/lib/components/tooltip/ToggleTip.js +5 -0
  363. package/lib/components/tooltip/ToggleTip.vue_vue_type_script_setup_true_lang.js +25 -0
  364. package/lib/components/tooltip/Tooltip.js +5 -0
  365. package/lib/components/tooltip/Tooltip.vue_vue_type_script_setup_true_lang.js +105 -0
  366. package/lib/components/tooltip/theme/Tooltip.base.theme.js +4 -8
  367. package/lib/components/tooltip/theme/Tooltip.carbon.theme.js +4 -4
  368. package/lib/components/upload/Upload.js +5 -0
  369. package/lib/components/upload/Upload.vue.d.ts +23 -9
  370. package/lib/components/upload/Upload.vue_vue_type_script_setup_true_lang.js +261 -0
  371. package/lib/components/upload/theme/Upload.base.theme.js +4 -8
  372. package/lib/components/upload/theme/Upload.carbon.theme.js +4 -4
  373. package/lib/composables/index.d.ts +1 -0
  374. package/lib/composables/keys.d.ts +2 -0
  375. package/lib/composables/keys.js +4 -12
  376. package/lib/composables/resolveComponentDefaults.d.ts +4 -0
  377. package/lib/composables/resolveComponentDefaults.js +15 -0
  378. package/lib/composables/useCSS.js +29 -25
  379. package/lib/composables/useColors.js +44 -51
  380. package/lib/composables/useCommon.js +15 -17
  381. package/lib/composables/useFocusTrap.js +50 -53
  382. package/lib/composables/useInputtable.d.ts +12 -2
  383. package/lib/composables/useInputtable.js +135 -113
  384. package/lib/composables/useInteractive.js +14 -20
  385. package/lib/composables/useNotifications.js +8 -8
  386. package/lib/composables/useTheme.js +44 -56
  387. package/lib/composables/useVirtualList.d.ts +1 -2
  388. package/lib/composables/useVirtualList.js +120 -115
  389. package/lib/create.d.ts +2 -0
  390. package/lib/create.js +21 -24
  391. package/lib/index.d.ts +1 -0
  392. package/lib/index.js +87 -169
  393. package/lib/index.umd.js +57 -41
  394. package/lib/install.js +14 -18
  395. package/lib/node_modules/.pnpm/@floating-ui_core@1.5.3/node_modules/@floating-ui/core/dist/floating-ui.core.js +321 -489
  396. package/lib/node_modules/.pnpm/@floating-ui_dom@1.1.1/node_modules/@floating-ui/dom/dist/floating-ui.dom.browser.min.js +288 -215
  397. package/lib/node_modules/.pnpm/@floating-ui_utils@0.2.1/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +99 -115
  398. package/lib/node_modules/.pnpm/@vuepic_vue-datepicker@11.0.2_vue@3.5.34_typescript@5.2.2_/node_modules/@vuepic/vue-datepicker/dist/vue-datepicker.js +5380 -0
  399. package/lib/node_modules/.pnpm/@vueuse_core@11.1.0_vue@3.5.34_typescript@5.2.2_/node_modules/@vueuse/core/index.js +407 -0
  400. package/lib/node_modules/.pnpm/@vueuse_shared@11.1.0_vue@3.5.34_typescript@5.2.2_/node_modules/@vueuse/shared/index.js +75 -0
  401. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/addLeadingZeros.js +5 -6
  402. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/defaultOptions.js +6 -6
  403. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/format/formatters.js +378 -513
  404. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/format/lightFormatters.js +42 -58
  405. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/format/longFormatters.js +39 -51
  406. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js +7 -17
  407. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/normalizeDates.js +7 -10
  408. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/normalizeInterval.js +10 -7
  409. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/protectedTokens.js +19 -17
  410. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/add.js +10 -19
  411. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/addDays.js +8 -9
  412. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/addHours.js +7 -8
  413. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/addMilliseconds.js +7 -8
  414. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/addMonths.js +11 -20
  415. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/addQuarters.js +6 -7
  416. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/addYears.js +6 -7
  417. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/compareAsc.js +7 -8
  418. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/constants.js +6 -9
  419. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/constructFrom.js +6 -7
  420. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/differenceInCalendarDays.js +10 -15
  421. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/differenceInCalendarYears.js +7 -12
  422. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/differenceInYears.js +11 -16
  423. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/eachDayOfInterval.js +14 -19
  424. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/eachQuarterOfInterval.js +13 -19
  425. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/endOfQuarter.js +7 -8
  426. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/endOfWeek.js +8 -10
  427. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/endOfYear.js +7 -8
  428. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/format.js +57 -58
  429. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getDay.js +6 -7
  430. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getDayOfYear.js +9 -10
  431. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getDaysInMonth.js +8 -9
  432. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getDefaultOptions.js +6 -7
  433. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getHours.js +6 -7
  434. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getISODay.js +7 -8
  435. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getISOWeek.js +10 -11
  436. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getISOWeekYear.js +13 -14
  437. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getMinutes.js +6 -7
  438. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getMonth.js +6 -7
  439. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getQuarter.js +7 -8
  440. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getSeconds.js +6 -7
  441. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getWeek.js +10 -11
  442. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getWeekYear.js +14 -16
  443. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getYear.js +6 -7
  444. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isAfter.js +6 -7
  445. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isBefore.js +6 -7
  446. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isDate.js +5 -6
  447. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isEqual.js +6 -7
  448. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isSameQuarter.js +8 -13
  449. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isValid.js +7 -8
  450. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/_lib/buildFormatLongFn.js +8 -8
  451. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/_lib/buildLocalizeFn.js +16 -17
  452. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/_lib/buildMatchFn.js +19 -28
  453. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js +17 -16
  454. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/en-US/_lib/formatDistance.js +68 -69
  455. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/en-US/_lib/formatLong.js +31 -32
  456. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/en-US/_lib/formatRelative.js +11 -11
  457. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/en-US/_lib/localize.js +200 -153
  458. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/en-US/_lib/match.js +123 -109
  459. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/en-US.js +17 -18
  460. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/Parser.js +15 -21
  461. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/Setter.js +29 -40
  462. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/constants.js +29 -48
  463. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/AMPMMidnightParser.js +45 -48
  464. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/AMPMParser.js +45 -48
  465. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/DateParser.js +63 -60
  466. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/DayOfYearParser.js +40 -50
  467. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/DayParser.js +61 -44
  468. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/DayPeriodParser.js +43 -48
  469. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/EraParser.js +24 -29
  470. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/ExtendedYearParser.js +26 -20
  471. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/FractionOfSecondParser.js +14 -21
  472. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/Hour0To11Parser.js +28 -31
  473. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/Hour0to23Parser.js +30 -31
  474. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/Hour1To24Parser.js +31 -32
  475. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/Hour1to12Parser.js +29 -32
  476. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/ISODayParser.js +73 -98
  477. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneParser.js +27 -47
  478. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneWithZParser.js +27 -47
  479. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/ISOWeekParser.js +39 -48
  480. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/ISOWeekYearParser.js +33 -39
  481. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/LocalDayParser.js +76 -73
  482. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/LocalWeekParser.js +38 -47
  483. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/LocalWeekYearParser.js +47 -68
  484. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/MinuteParser.js +22 -31
  485. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/MonthParser.js +58 -70
  486. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/QuarterParser.js +57 -69
  487. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/SecondParser.js +22 -31
  488. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/StandAloneLocalDayParser.js +76 -73
  489. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/StandAloneMonthParser.js +58 -70
  490. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/StandAloneQuarterParser.js +57 -69
  491. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/TimestampMillisecondsParser.js +14 -20
  492. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/TimestampSecondsParser.js +14 -20
  493. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/YearParser.js +42 -48
  494. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers.js +66 -66
  495. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/utils.js +64 -93
  496. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse.js +61 -88
  497. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/set.js +9 -10
  498. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setDay.js +9 -11
  499. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setHours.js +7 -8
  500. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setISODay.js +9 -10
  501. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setISOWeek.js +8 -9
  502. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setMilliseconds.js +7 -8
  503. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setMinutes.js +7 -8
  504. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setMonth.js +11 -12
  505. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setSeconds.js +7 -8
  506. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setWeek.js +8 -9
  507. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setYear.js +8 -9
  508. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startOfDay.js +7 -8
  509. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startOfISOWeek.js +9 -7
  510. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startOfISOWeekYear.js +9 -10
  511. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startOfMonth.js +7 -8
  512. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startOfQuarter.js +7 -8
  513. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startOfWeek.js +8 -10
  514. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startOfWeekYear.js +10 -12
  515. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startOfYear.js +7 -8
  516. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/sub.js +9 -18
  517. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/subDays.js +6 -7
  518. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/subMonths.js +6 -7
  519. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/subYears.js +6 -7
  520. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/toDate.js +6 -7
  521. package/lib/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/transpose.js +9 -16
  522. package/lib/node_modules/.pnpm/floating-vue@5.2.2_@nuxt_kit@4.4.6_magicast@0.5.3__vue@3.5.34_typescript@5.2.2_/node_modules/floating-vue/dist/floating-vue.js +1243 -0
  523. package/lib/node_modules/.pnpm/vue-demi@0.14.10_vue@3.5.34_typescript@5.2.2_/node_modules/vue-demi/lib/index.js +28 -0
  524. package/lib/nuxt.mjs +1 -1
  525. package/lib/nuxt.plugin.js +1 -0
  526. package/lib/tailwind.css +74 -0
  527. package/lib/theme.d.ts +4 -1
  528. package/lib/theme.js +12 -13
  529. package/lib/themes/base/components.d.ts +3 -0
  530. package/lib/themes/base/components.js +118 -108
  531. package/lib/themes/base/index.js +10 -10
  532. package/lib/themes/base/styles.d.ts +1 -1
  533. package/lib/themes/base/styles.js +4 -91
  534. package/lib/themes/carbon/components.d.ts +3 -0
  535. package/lib/themes/carbon/components.js +118 -108
  536. package/lib/themes/carbon/index.js +23 -13
  537. package/lib/themes/carbon/styles.d.ts +1 -1
  538. package/lib/themes/carbon/styles.js +4 -87
  539. package/lib/version.d.ts +1 -1
  540. package/lib/version.js +4 -4
  541. package/lib/virtual/components/infiniteLoader/InfiniteLoader.js +5 -0
  542. package/lib/virtual/components/infiniteLoader/InfiniteLoader.vue_vue_type_script_setup_true_lang.js +18 -0
  543. package/lib/virtual/components/virtualGrid/VirtualGrid.js +5 -0
  544. package/lib/virtual/components/virtualGrid/VirtualGrid.vue_vue_type_script_setup_true_lang.js +194 -0
  545. package/lib/virtual/components/virtualList/VirtualList.js +5 -0
  546. package/lib/virtual/components/virtualList/VirtualList.vue_vue_type_script_setup_true_lang.js +139 -0
  547. package/lib/virtual/components/virtualList/isDynamicRowHeight.js +5 -5
  548. package/lib/virtual/components/virtualList/useDynamicRowHeight.js +58 -67
  549. package/lib/virtual/composables/infinite-loader/scanForUnloadedIndices.js +26 -40
  550. package/lib/virtual/composables/infinite-loader/useInfiniteLoader.js +30 -41
  551. package/lib/virtual/core/createCachedBounds.js +40 -54
  552. package/lib/virtual/core/getEstimatedSize.js +11 -21
  553. package/lib/virtual/core/getOffsetForIndex.js +17 -39
  554. package/lib/virtual/core/getStartStopIndices.js +21 -30
  555. package/lib/virtual/core/useCachedBounds.js +10 -16
  556. package/lib/virtual/core/useIsRtl.js +10 -14
  557. package/lib/virtual/core/useItemSize.js +15 -26
  558. package/lib/virtual/core/useVirtualizer.js +145 -170
  559. package/lib/virtual/utils/adjustScrollOffsetForRtl.js +15 -23
  560. package/lib/virtual/utils/assert.js +5 -6
  561. package/lib/virtual/utils/getRTLOffsetType.js +12 -12
  562. package/lib/virtual/utils/getScrollbarSize.js +10 -10
  563. package/lib/virtual/utils/isRtl.js +10 -11
  564. package/lib/virtual/utils/parseNumericStyleValue.js +10 -14
  565. package/lib/virtual/utils/shallowCompare.js +9 -13
  566. package/package.json +20 -22
  567. package/src/common/__tests__/inputGroupRadius.spec.ts +14 -0
  568. package/src/common/icons.ts +1 -0
  569. package/src/common/inputGroupRadius.ts +11 -0
  570. package/src/common/props.ts +34 -0
  571. package/src/componentDefaults.ts +19 -0
  572. package/src/components/accordion/Accordion.vue +3 -1
  573. package/src/components/accordion/AccordionItem.vue +3 -1
  574. package/src/components/alert/Alert.vue +28 -24
  575. package/src/components/avatar/Avatar.vue +5 -3
  576. package/src/components/badge/Badge.vue +7 -3
  577. package/src/components/breadcrumbs/Breadcrumbs.vue +4 -2
  578. package/src/components/button/Button.vue +98 -55
  579. package/src/components/button/ButtonGroup.vue +23 -25
  580. package/src/components/button/theme/Button.base.theme.ts +7 -2
  581. package/src/components/button/theme/Button.carbon.theme.ts +8 -2
  582. package/src/components/card/Card.vue +3 -1
  583. package/src/components/card/theme/Card.base.theme.ts +1 -1
  584. package/src/components/carousel/Carousel.vue +3 -1
  585. package/src/components/carousel/CarouselSlide.vue +1 -1
  586. package/src/components/checkbox/Checkbox.vue +7 -7
  587. package/src/components/checkbox/theme/Checkbox.carbon.theme.ts +1 -1
  588. package/src/components/datepicker/Datepicker.vue +32 -10
  589. package/src/components/divider/Divider.vue +3 -2
  590. package/src/components/divider/theme/Divider.base.theme.ts +2 -2
  591. package/src/components/empty/Empty.vue +86 -0
  592. package/src/components/empty/__tests__/Empty.spec.ts +11 -0
  593. package/src/components/empty/index.ts +2 -0
  594. package/src/components/empty/theme/Empty.base.theme.ts +40 -0
  595. package/src/components/empty/theme/Empty.carbon.theme.ts +7 -0
  596. package/src/components/formGroup/FormGroup.vue +19 -7
  597. package/src/components/formGroup/__tests__/FormGroup.spec.ts +37 -2
  598. package/src/components/formGroup/theme/FormGroup.base.theme.ts +7 -3
  599. package/src/components/formGroup/theme/FormGroup.carbon.theme.ts +7 -3
  600. package/src/components/icon/Icon.vue +3 -1
  601. package/src/components/index.ts +3 -0
  602. package/src/components/input/Input.vue +114 -35
  603. package/src/components/input/__tests__/Input.spec.ts +28 -1
  604. package/src/components/input/theme/Input.base.theme.ts +10 -1
  605. package/src/components/input/theme/Input.carbon.theme.ts +5 -0
  606. package/src/components/inputFooter/InputFooter.vue +3 -1
  607. package/src/components/inputGroup/InputGroup.vue +185 -0
  608. package/src/components/inputGroup/__tests__/InputGroup.spec.ts +104 -0
  609. package/src/components/inputGroup/index.ts +2 -0
  610. package/src/components/inputGroup/theme/InputGroup.base.theme.ts +9 -0
  611. package/src/components/inputGroup/theme/InputGroup.carbon.theme.ts +7 -0
  612. package/src/components/label/Label.vue +23 -3
  613. package/src/components/label/theme/Label.base.theme.ts +2 -2
  614. package/src/components/label/theme/Label.carbon.theme.ts +2 -2
  615. package/src/components/link/Link.vue +34 -29
  616. package/src/components/menu/Menu.vue +4 -2
  617. package/src/components/menu/MenuItem.vue +39 -41
  618. package/src/components/pagination/Pagination.vue +3 -1
  619. package/src/components/pagination/PaginationItem.vue +3 -1
  620. package/src/components/popover/Popover.vue +12 -15
  621. package/src/components/progress/Progress.vue +4 -2
  622. package/src/components/radio/Radio.vue +27 -24
  623. package/src/components/radio/theme/Radio.base.theme.ts +1 -1
  624. package/src/components/radio/theme/Radio.carbon.theme.ts +1 -1
  625. package/src/components/radioButton/RadioButton.vue +154 -0
  626. package/src/components/radioButton/__tests__/RadioButton.spec.ts +48 -0
  627. package/src/components/radioButton/index.ts +2 -0
  628. package/src/components/radioButton/theme/RadioButton.base.theme.ts +155 -0
  629. package/src/components/radioButton/theme/RadioButton.carbon.theme.ts +31 -0
  630. package/src/components/scroll/Scroll.vue +6 -4
  631. package/src/components/select/Select.vue +57 -16
  632. package/src/components/select/theme/Select.base.theme.ts +7 -1
  633. package/src/components/select/theme/Select.carbon.theme.ts +2 -0
  634. package/src/components/slider/Slider.vue +19 -8
  635. package/src/components/spacer/Spacer.tsx +1 -1
  636. package/src/components/spacer/__tests__/Spacer.spec.ts +1 -1
  637. package/src/components/stepper/Stepper.vue +603 -80
  638. package/src/components/stepper/__tests__/Stepper.spec.ts +199 -5
  639. package/src/components/stepper/index.ts +4 -0
  640. package/src/components/stepper/theme/Stepper.base.theme.ts +49 -19
  641. package/src/components/tab/Tab.vue +6 -2
  642. package/src/components/tab/TabGroup.vue +8 -4
  643. package/src/components/table/Table.vue +31 -11
  644. package/src/components/table/TableCell.vue +4 -2
  645. package/src/components/table/TableHead.vue +3 -1
  646. package/src/components/table/TableHeader.vue +3 -1
  647. package/src/components/table/TableRow.vue +5 -3
  648. package/src/components/table/__tests__/Table.spec.ts +53 -0
  649. package/src/components/table/theme/Table.carbon.theme.ts +1 -1
  650. package/src/components/tag/Tag.vue +12 -8
  651. package/src/components/textarea/Textarea.vue +83 -19
  652. package/src/components/textarea/theme/Textarea.base.theme.ts +10 -1
  653. package/src/components/textarea/theme/Textarea.carbon.theme.ts +5 -0
  654. package/src/components/toggle/Toggle.vue +3 -1
  655. package/src/components/upload/Upload.vue +6 -2
  656. package/src/composables/__tests__/resolveComponentDefaults.spec.ts +139 -0
  657. package/src/composables/index.ts +1 -0
  658. package/src/composables/keys.ts +2 -0
  659. package/src/composables/resolveComponentDefaults.ts +33 -0
  660. package/src/composables/useInputtable.ts +56 -9
  661. package/src/composables/useTheme.ts +10 -3
  662. package/src/composables/useVirtualList.ts +1 -2
  663. package/src/create.ts +2 -0
  664. package/src/index.ts +1 -0
  665. package/src/theme.ts +6 -0
  666. package/src/themes/base/components.ts +3 -0
  667. package/src/themes/base/styles.ts +28 -20
  668. package/src/themes/carbon/components.ts +3 -0
  669. package/src/themes/carbon/styles.ts +25 -17
  670. package/src/version.ts +1 -1
  671. package/src/virtual/components/virtualList/VirtualList.test.ts +42 -4
  672. package/src/virtual/core/useVirtualizer.ts +18 -4
  673. package/docs/pages/component/radio/variants.vue +0 -39
  674. package/exports/tailwind.preset.js +0 -40
  675. package/lib/components/accordion/Accordion.vue.js +0 -40
  676. package/lib/components/accordion/Accordion.vue2.js +0 -4
  677. package/lib/components/accordion/AccordionItem.vue.js +0 -150
  678. package/lib/components/accordion/AccordionItem.vue2.js +0 -4
  679. package/lib/components/accordion/__tests__/Accordion.spec.d.ts +0 -1
  680. package/lib/components/alert/Alert.vue.js +0 -9
  681. package/lib/components/alert/Alert.vue2.js +0 -62
  682. package/lib/components/alert/Alert.vue3.js +0 -8
  683. package/lib/components/alert/__tests__/Alert.spec.d.ts +0 -1
  684. package/lib/components/avatar/Avatar.vue.js +0 -9
  685. package/lib/components/avatar/Avatar.vue2.js +0 -76
  686. package/lib/components/avatar/Avatar.vue3.js +0 -7
  687. package/lib/components/avatar/__tests__/Avatar.spec.d.ts +0 -1
  688. package/lib/components/badge/Badge.vue.js +0 -93
  689. package/lib/components/badge/Badge.vue2.js +0 -4
  690. package/lib/components/badge/__tests__/Badge.spec.d.ts +0 -1
  691. package/lib/components/breadcrumbs/Breadcrumbs.vue.js +0 -69
  692. package/lib/components/breadcrumbs/Breadcrumbs.vue2.js +0 -4
  693. package/lib/components/breadcrumbs/__tests__/Breadcrumbs.spec.d.ts +0 -1
  694. package/lib/components/button/Button.vue.js +0 -9
  695. package/lib/components/button/Button.vue2.js +0 -117
  696. package/lib/components/button/Button.vue3.js +0 -8
  697. package/lib/components/button/ButtonGroup.vue.js +0 -9
  698. package/lib/components/button/ButtonGroup.vue2.js +0 -53
  699. package/lib/components/button/ButtonGroup.vue3.js +0 -7
  700. package/lib/components/button/__tests__/ Button.spec.d.ts +0 -1
  701. package/lib/components/button/__tests__/ ButtonGroup.spec.d.ts +0 -1
  702. package/lib/components/card/Card.vue.js +0 -30
  703. package/lib/components/card/Card.vue2.js +0 -4
  704. package/lib/components/card/__tests__/Card.spec.d.ts +0 -1
  705. package/lib/components/carousel/Carousel.vue.js +0 -97
  706. package/lib/components/carousel/Carousel.vue2.js +0 -4
  707. package/lib/components/carousel/CarouselSlide.vue.js +0 -9
  708. package/lib/components/carousel/CarouselSlide.vue2.js +0 -32
  709. package/lib/components/carousel/CarouselSlide.vue3.js +0 -6
  710. package/lib/components/carousel/__tests__/Carousel.spec.d.ts +0 -1
  711. package/lib/components/checkbox/Checkbox.vue.js +0 -9
  712. package/lib/components/checkbox/Checkbox.vue2.js +0 -143
  713. package/lib/components/checkbox/Checkbox.vue3.js +0 -6
  714. package/lib/components/checkbox/__tests__/Checkbox.spec.d.ts +0 -1
  715. package/lib/components/container/Container.vue.js +0 -33
  716. package/lib/components/container/Container.vue2.js +0 -4
  717. package/lib/components/container/__tests__/Container.spec.d.ts +0 -1
  718. package/lib/components/datepicker/Datepicker.vue.js +0 -309
  719. package/lib/components/datepicker/Datepicker.vue2.js +0 -4
  720. package/lib/components/datepicker/Datepicker.vue3.js +0 -5
  721. package/lib/components/datepicker/__tests__/Datepicker.spec.d.ts +0 -1
  722. package/lib/components/divider/Divider.vue.js +0 -52
  723. package/lib/components/divider/Divider.vue2.js +0 -4
  724. package/lib/components/divider/__tests__/Divider.spec.d.ts +0 -1
  725. package/lib/components/drawer/Drawer.vue.js +0 -160
  726. package/lib/components/drawer/Drawer.vue2.js +0 -4
  727. package/lib/components/drawer/__tests__/Drawer.spec.d.ts +0 -1
  728. package/lib/components/form/Form.vue.js +0 -111
  729. package/lib/components/form/Form.vue2.js +0 -4
  730. package/lib/components/form/__tests__/Form.spec.d.ts +0 -1
  731. package/lib/components/formGroup/FormGroup.vue.js +0 -91
  732. package/lib/components/formGroup/FormGroup.vue2.js +0 -4
  733. package/lib/components/formGroup/__tests__/FormGroup.spec.d.ts +0 -1
  734. package/lib/components/icon/Icon.vue.js +0 -73
  735. package/lib/components/icon/Icon.vue2.js +0 -4
  736. package/lib/components/icon/__tests__/Icon.spec.d.ts +0 -1
  737. package/lib/components/image/Image.vue.js +0 -31
  738. package/lib/components/image/Image.vue2.js +0 -4
  739. package/lib/components/image/__tests__/Image.spec.d.ts +0 -1
  740. package/lib/components/input/Input.vue.js +0 -164
  741. package/lib/components/input/Input.vue2.js +0 -4
  742. package/lib/components/input/__tests__/Input.spec.d.ts +0 -1
  743. package/lib/components/inputFooter/InputFooter.vue.js +0 -43
  744. package/lib/components/inputFooter/InputFooter.vue2.js +0 -4
  745. package/lib/components/inputFooter/__tests__/InputFooter.spec.d.ts +0 -1
  746. package/lib/components/label/Label.vue.js +0 -54
  747. package/lib/components/label/Label.vue2.js +0 -4
  748. package/lib/components/label/__tests__/Label.spec.d.ts +0 -1
  749. package/lib/components/link/Link.vue.js +0 -9
  750. package/lib/components/link/Link.vue2.js +0 -47
  751. package/lib/components/link/Link.vue3.js +0 -8
  752. package/lib/components/link/__tests__/Link.spec.d.ts +0 -1
  753. package/lib/components/loader/Loader.vue.js +0 -54
  754. package/lib/components/loader/Loader.vue2.js +0 -4
  755. package/lib/components/loader/__tests__/Loader.spec.d.ts +0 -1
  756. package/lib/components/menu/Menu.vue.js +0 -141
  757. package/lib/components/menu/Menu.vue2.js +0 -4
  758. package/lib/components/menu/MenuItem.vue.js +0 -9
  759. package/lib/components/menu/MenuItem.vue2.js +0 -164
  760. package/lib/components/menu/MenuItem.vue3.js +0 -7
  761. package/lib/components/menu/__tests__/Menu.spec.d.ts +0 -1
  762. package/lib/components/menu/__tests__/MenuItem.spec.d.ts +0 -1
  763. package/lib/components/modal/Modal.vue.js +0 -211
  764. package/lib/components/modal/Modal.vue2.js +0 -4
  765. package/lib/components/modal/__tests__/Modal.spec.d.ts +0 -1
  766. package/lib/components/notifications/Notifications.vue.js +0 -266
  767. package/lib/components/notifications/Notifications.vue2.js +0 -4
  768. package/lib/components/notifications/__tests__/Notifications.spec.d.ts +0 -1
  769. package/lib/components/pagination/Pagination.vue.js +0 -131
  770. package/lib/components/pagination/Pagination.vue2.js +0 -4
  771. package/lib/components/pagination/PaginationItem.vue.js +0 -47
  772. package/lib/components/pagination/PaginationItem.vue2.js +0 -4
  773. package/lib/components/pagination/__tests__/Pagination.spec.d.ts +0 -1
  774. package/lib/components/pagination/__tests__/PaginationItem.spec.d.ts +0 -1
  775. package/lib/components/popover/Popover.vue.js +0 -134
  776. package/lib/components/popover/Popover.vue2.js +0 -4
  777. package/lib/components/popover/Popover.vue3.js +0 -5
  778. package/lib/components/popover/PopoverContainer.vue.js +0 -29
  779. package/lib/components/popover/PopoverContainer.vue2.js +0 -4
  780. package/lib/components/popover/__tests__/Popover.spec.d.ts +0 -1
  781. package/lib/components/popover/__tests__/PopoverContainer.spec.d.ts +0 -1
  782. package/lib/components/progress/Progress.vue.js +0 -50
  783. package/lib/components/progress/Progress.vue2.js +0 -4
  784. package/lib/components/progress/__tests__/Progress.spec.d.ts +0 -1
  785. package/lib/components/qrCode/QrCode.vue.js +0 -93
  786. package/lib/components/qrCode/QrCode.vue2.js +0 -4
  787. package/lib/components/qrCode/__tests__/QrCode.spec.d.ts +0 -1
  788. package/lib/components/radio/Radio.vue.js +0 -9
  789. package/lib/components/radio/Radio.vue2.js +0 -132
  790. package/lib/components/radio/Radio.vue3.js +0 -10
  791. package/lib/components/radio/__tests__/Radio.spec.d.ts +0 -1
  792. package/lib/components/scroll/Scroll.vue.js +0 -9
  793. package/lib/components/scroll/Scroll.vue2.js +0 -63
  794. package/lib/components/scroll/Scroll.vue3.js +0 -17
  795. package/lib/components/scroll/__tests__/Scroll.spec.d.ts +0 -1
  796. package/lib/components/select/Select.vue.js +0 -696
  797. package/lib/components/select/Select.vue2.js +0 -4
  798. package/lib/components/select/__tests__/Select.spec.d.ts +0 -1
  799. package/lib/components/skeleton/Skeleton.vue.js +0 -39
  800. package/lib/components/skeleton/Skeleton.vue2.js +0 -4
  801. package/lib/components/skeleton/__tests__/Skeleton.spec.d.ts +0 -1
  802. package/lib/components/slider/Slider.vue.js +0 -7
  803. package/lib/components/slider/Slider.vue2.js +0 -103
  804. package/lib/components/slider/Slider.vue3.js +0 -4
  805. package/lib/components/slider/__tests__/Slider.spec.d.ts +0 -1
  806. package/lib/components/spacer/__tests__/Spacer.spec.d.ts +0 -1
  807. package/lib/components/spinner/Spinner.vue.js +0 -27
  808. package/lib/components/spinner/Spinner.vue2.js +0 -4
  809. package/lib/components/spinner/__tests__/Spinner.spec.d.ts +0 -1
  810. package/lib/components/stepper/Stepper.vue.js +0 -129
  811. package/lib/components/stepper/Stepper.vue2.js +0 -4
  812. package/lib/components/stepper/__tests__/Stepper.spec.d.ts +0 -1
  813. package/lib/components/tab/Tab.vue.js +0 -150
  814. package/lib/components/tab/Tab.vue2.js +0 -4
  815. package/lib/components/tab/TabGroup.vue.js +0 -135
  816. package/lib/components/tab/TabGroup.vue2.js +0 -4
  817. package/lib/components/tab/__tests__/Tab.spec.d.ts +0 -1
  818. package/lib/components/tab/__tests__/TabGroup.spec.d.ts +0 -1
  819. package/lib/components/table/Table.vue.js +0 -424
  820. package/lib/components/table/Table.vue2.js +0 -4
  821. package/lib/components/table/TableCell.vue.js +0 -65
  822. package/lib/components/table/TableCell.vue2.js +0 -4
  823. package/lib/components/table/TableHead.vue.js +0 -24
  824. package/lib/components/table/TableHead.vue2.js +0 -4
  825. package/lib/components/table/TableHeader.vue.js +0 -82
  826. package/lib/components/table/TableHeader.vue2.js +0 -4
  827. package/lib/components/table/TableRow.vue.js +0 -30
  828. package/lib/components/table/TableRow.vue2.js +0 -4
  829. package/lib/components/table/__tests__/Table.spec.d.ts +0 -1
  830. package/lib/components/tag/Tag.vue.js +0 -73
  831. package/lib/components/tag/Tag.vue2.js +0 -4
  832. package/lib/components/tag/__tests__/Tag.spec.d.ts +0 -1
  833. package/lib/components/textarea/Textarea.vue.js +0 -141
  834. package/lib/components/textarea/Textarea.vue2.js +0 -4
  835. package/lib/components/textarea/__tests__/Textarea.spec.d.ts +0 -1
  836. package/lib/components/themeProvider/ThemeProvider.vue.js +0 -18
  837. package/lib/components/themeProvider/ThemeProvider.vue2.js +0 -4
  838. package/lib/components/toggle/Toggle.vue.js +0 -108
  839. package/lib/components/toggle/Toggle.vue2.js +0 -4
  840. package/lib/components/toggle/__tests__/Toggle.spec.d.ts +0 -1
  841. package/lib/components/tooltip/ToggleTip.vue.js +0 -29
  842. package/lib/components/tooltip/ToggleTip.vue2.js +0 -4
  843. package/lib/components/tooltip/Tooltip.vue.js +0 -132
  844. package/lib/components/tooltip/Tooltip.vue2.js +0 -4
  845. package/lib/components/tooltip/__tests__/ToggleTip.spec.d.ts +0 -1
  846. package/lib/components/tooltip/__tests__/Tooltip.spec.d.ts +0 -1
  847. package/lib/components/upload/Upload.vue.js +0 -275
  848. package/lib/components/upload/Upload.vue2.js +0 -4
  849. package/lib/components/upload/__tests__/Upload.spec.d.ts +0 -1
  850. package/lib/node_modules/.pnpm/@vuepic_vue-datepicker@11.0.2_vue@3.5.10_typescript@5.2.2_/node_modules/@vuepic/vue-datepicker/dist/main.css.js +0 -4
  851. package/lib/node_modules/.pnpm/@vuepic_vue-datepicker@11.0.2_vue@3.5.10_typescript@5.2.2_/node_modules/@vuepic/vue-datepicker/dist/vue-datepicker.js +0 -5210
  852. package/lib/node_modules/.pnpm/@vueuse_core@11.1.0_vue@3.5.10_typescript@5.2.2_/node_modules/@vueuse/core/index.js +0 -501
  853. package/lib/node_modules/.pnpm/@vueuse_shared@11.1.0_vue@3.5.10_typescript@5.2.2_/node_modules/@vueuse/shared/index.js +0 -96
  854. package/lib/node_modules/.pnpm/floating-vue@5.2.2_@nuxt_kit@3.10.1_rollup@3.29.4__vue@3.5.10_typescript@5.2.2_/node_modules/floating-vue/dist/floating-vue.js +0 -1371
  855. package/lib/tailwind.preset.js +0 -40
  856. package/lib/virtual/components/infiniteLoader/InfiniteLoader.vue.js +0 -21
  857. package/lib/virtual/components/infiniteLoader/InfiniteLoader.vue2.js +0 -4
  858. package/lib/virtual/components/virtualGrid/VirtualGrid.vue.js +0 -241
  859. package/lib/virtual/components/virtualGrid/VirtualGrid.vue2.js +0 -4
  860. package/lib/virtual/components/virtualList/VirtualList.vue.js +0 -159
  861. package/lib/virtual/components/virtualList/VirtualList.vue2.js +0 -4
@@ -15,6 +15,14 @@ const countries: SelectOption[] = [
15
15
  { label: 'Canada', value: 'ca' },
16
16
  { label: 'Mexico', value: 'mx' },
17
17
  ]
18
+ const countryCode = ref('')
19
+ const phoneNumber = ref('')
20
+ const countryCodes: SelectOption[] = [
21
+ { label: '+1', value: '+1' },
22
+ { label: '+44', value: '+44' },
23
+ { label: '+351', value: '+351' },
24
+ { label: '+49', value: '+49' },
25
+ ]
18
26
  const agree = ref(false)
19
27
  const rules = {
20
28
  isEmail: (v: string) => /^\w+([.-]?\w+)*@\w+([.-]?\w+)*(\.\w{2,3})+$/.test(v) || 'E-mail must be valid',
@@ -23,6 +31,13 @@ const rules = {
23
31
 
24
32
  return !!v || 'Field is required'
25
33
  },
34
+ phoneComplete: (values: unknown) => {
35
+ if (!Array.isArray(values)) return 'Country code and phone number are required'
36
+
37
+ if (values.every((v) => !!v)) return true
38
+
39
+ return 'Country code and phone number are required'
40
+ },
26
41
  }
27
42
  const range = ref([])
28
43
 
@@ -79,6 +94,27 @@ function onSubmit(isValid: string) {
79
94
  label="Country"
80
95
  />
81
96
 
97
+ <x-input-group
98
+ label="Phone number"
99
+ helper="Select a country code and enter your local number"
100
+ :rules="[rules.phoneComplete]"
101
+ required
102
+ >
103
+ <x-select
104
+ v-model="countryCode"
105
+ :options="countryCodes"
106
+ name="countryCode"
107
+ placeholder="Code"
108
+ class="!w-28"
109
+ />
110
+ <x-input
111
+ v-model="phoneNumber"
112
+ type="number"
113
+ name="phoneNumber"
114
+ placeholder="5550000"
115
+ />
116
+ </x-input-group>
117
+
82
118
  <x-datepicker
83
119
  v-model="range"
84
120
  :rules="[rules.isRequired]"
@@ -13,7 +13,7 @@ const demos = [{
13
13
  component: UsageDemo,
14
14
  }]
15
15
  const back = 'form'
16
- const next = 'input'
16
+ const next = 'inputGroup'
17
17
  </script>
18
18
 
19
19
  <template>
@@ -0,0 +1,65 @@
1
+ <template>
2
+ <div class="space-y-8 max-w-2xl">
3
+ <section class="space-y-3">
4
+ <p class="text-sm font-medium text-secondary-700 dark:text-secondary-300">
5
+ Registry key
6
+ </p>
7
+ <p class="text-sm text-secondary-600 dark:text-secondary-400">
8
+ Reference a name from your icons map.
9
+ </p>
10
+ <div class="flex items-center gap-3">
11
+ <x-icon icon="github" size="lg" />
12
+ <code class="text-xs">icon="github"</code>
13
+ </div>
14
+ </section>
15
+
16
+ <section class="space-y-3">
17
+ <p class="text-sm font-medium text-secondary-700 dark:text-secondary-300">
18
+ Full SVG string
19
+ </p>
20
+ <p class="text-sm text-secondary-600 dark:text-secondary-400">
21
+ Paste a complete <code class="text-xs">&lt;svg&gt;</code> element; attributes are applied automatically.
22
+ </p>
23
+ <div class="flex items-center gap-3">
24
+ <x-icon icon="fullsvg" size="lg" class="text-amber-500" />
25
+ <code class="text-xs">icon="fullsvg"</code>
26
+ </div>
27
+ </section>
28
+
29
+ <section class="space-y-3">
30
+ <p class="text-sm font-medium text-secondary-700 dark:text-secondary-300">
31
+ Raw path markup
32
+ </p>
33
+ <p class="text-sm text-secondary-600 dark:text-secondary-400">
34
+ Pass path/polyline markup directly when the icon is not in the registry.
35
+ </p>
36
+ <div class="flex items-center gap-3">
37
+ <x-icon icon="<polyline points=&quot;20 6 9 17 4 12&quot;></polyline>" size="lg" class="text-primary-500" />
38
+ <code class="text-xs truncate max-w-[14rem]">&lt;polyline …&gt;</code>
39
+ </div>
40
+ </section>
41
+
42
+ <section class="space-y-3">
43
+ <p class="text-sm font-medium text-secondary-700 dark:text-secondary-300">
44
+ Filled icons (object config)
45
+ </p>
46
+ <p class="text-sm text-secondary-600 dark:text-secondary-400">
47
+ Use <code class="text-xs">{ icon, filled, viewBox }</code> in the registry for multi-color or filled shapes.
48
+ </p>
49
+ <div class="flex flex-wrap items-center gap-6">
50
+ <div class="flex items-center gap-2">
51
+ <x-icon icon="vue" size="lg" />
52
+ <span class="text-xs text-secondary-500">vue</span>
53
+ </div>
54
+ <div class="flex items-center gap-2">
55
+ <x-icon icon="nuxt" size="lg" />
56
+ <span class="text-xs text-secondary-500">nuxt</span>
57
+ </div>
58
+ <div class="flex items-center gap-2">
59
+ <x-icon icon="play" size="lg" class="text-primary-600" />
60
+ <span class="text-xs text-secondary-500">play</span>
61
+ </div>
62
+ </div>
63
+ </section>
64
+ </div>
65
+ </template>
@@ -2,24 +2,31 @@
2
2
  import { XIcon } from '@indielayer/ui'
3
3
  import UsageDemoCode from './usage.vue?raw'
4
4
  import UsageDemo from './usage.vue'
5
+ import FormatsDemoCode from './formats.vue?raw'
6
+ import FormatsDemo from './formats.vue'
5
7
  import VariantsDemoCode from './variants.vue?raw'
6
8
  import VariantsDemo from './variants.vue'
7
9
 
8
10
  const title = 'Icon'
9
- const description = 'Icons visually represent actions, objects, or concepts, enhancing usability and recognition in interfaces. They can be used alone or alongside text for buttons, menus, and indicators.'
11
+ const description = 'Icons visually represent actions and concepts. Register SVG paths in a global map, then reference them by name on XIcon.'
10
12
  const components = [XIcon]
11
13
  const demos = [{
12
14
  name: 'Usage',
13
- description: '',
15
+ description: 'Browse icons registered in the docs app (docs/icons.ts).',
14
16
  code: UsageDemoCode,
15
17
  component: UsageDemo,
18
+ }, {
19
+ name: 'Formats',
20
+ description: 'Registry keys, full SVG strings, raw paths, and filled object configs.',
21
+ code: FormatsDemoCode,
22
+ component: FormatsDemo,
16
23
  }, {
17
24
  name: 'Variants',
18
- description: '',
25
+ description: 'Color via class and size prop.',
19
26
  code: VariantsDemoCode,
20
27
  component: VariantsDemo,
21
28
  }]
22
- const back = 'drawer'
29
+ const back = 'empty'
23
30
  const next = 'image'
24
31
  </script>
25
32
 
@@ -1,6 +1,54 @@
1
+ <script setup lang="ts">
2
+ import { computed, ref } from 'vue'
3
+ import docsIcons from '../../../icons'
4
+
5
+ const query = ref('')
6
+
7
+ const iconNames = computed(() =>
8
+ Object.keys(docsIcons).sort().filter((name) =>
9
+ name.toLowerCase().includes(query.value.trim().toLowerCase()),
10
+ ),
11
+ )
12
+ </script>
13
+
1
14
  <template>
2
- <x-icon icon="fullsvg"/>
3
- <x-icon icon="smile"/>
4
- <x-icon icon="github"/>
5
- <x-icon icon="<polyline points=&quot;20 6 9 17 4 12&quot;></polyline>"/>
15
+ <div class="space-y-6 max-w-3xl">
16
+ <p class="text-sm text-secondary-600 dark:text-secondary-400">
17
+ Icons below are loaded from
18
+ <code class="text-xs bg-secondary-100 dark:bg-secondary-800 px-1 py-0.5 rounded">packages/ui/docs/icons.ts</code>
19
+ and passed to <code class="text-xs bg-secondary-100 dark:bg-secondary-800 px-1 py-0.5 rounded">app.use(UI, { icons })</code>
20
+ in the docs app. See the
21
+ <x-link to="/icons" color="primary">Icons guide</x-link>
22
+ to build your own set.
23
+ </p>
24
+
25
+ <x-input
26
+ v-model="query"
27
+ label="Filter icons"
28
+ placeholder="Search by name…"
29
+ clearable
30
+ class="max-w-xs"
31
+ />
32
+
33
+ <div
34
+ v-if="iconNames.length"
35
+ class="grid grid-cols-3 sm:grid-cols-5 md:grid-cols-6 lg:grid-cols-8 gap-2"
36
+ >
37
+ <div
38
+ v-for="name in iconNames"
39
+ :key="name"
40
+ class="flex flex-col items-center gap-1.5 p-3 rounded-md border border-secondary-200 dark:border-secondary-700 bg-secondary-50/50 dark:bg-secondary-900/30"
41
+ :title="name"
42
+ >
43
+ <x-icon :icon="name" size="lg" class="text-secondary-800 dark:text-secondary-200" />
44
+ <span class="text-[10px] leading-tight text-secondary-500 dark:text-secondary-400 truncate w-full text-center">
45
+ {{ name }}
46
+ </span>
47
+ </div>
48
+ </div>
49
+
50
+ <p v-else class="text-sm text-secondary-500">
51
+ No icons match “{{ query }}”.
52
+ </p>
53
+ </div>
6
54
  </template>
@@ -2,15 +2,29 @@
2
2
  import { XImage } from '@indielayer/ui'
3
3
  import UsageDemoCode from './usage.vue?raw'
4
4
  import UsageDemo from './usage.vue'
5
+ import SizingDemoCode from './sizing.vue?raw'
6
+ import SizingDemo from './sizing.vue'
7
+ import StatesDemoCode from './states.vue?raw'
8
+ import StatesDemo from './states.vue'
5
9
 
6
10
  const title = 'Image'
7
- const description = 'Image is used to load an image file with a skeleton as placeholder and on load display the image.'
11
+ const description = 'Loads a remote image after preloading. Use a background on the wrapper for a visible placeholder until load completes.'
8
12
  const components = [XImage]
9
13
  const demos = [{
10
14
  name: 'Usage',
11
- description: '',
15
+ description: 'Basic image with alt text, dimensions, and object-cover.',
12
16
  code: UsageDemoCode,
13
17
  component: UsageDemo,
18
+ }, {
19
+ name: 'Sizing',
20
+ description: 'Common width and height combinations.',
21
+ code: SizingDemoCode,
22
+ component: SizingDemo,
23
+ }, {
24
+ name: 'States',
25
+ description: 'Loading placeholder and failed URL behavior.',
26
+ code: StatesDemoCode,
27
+ component: StatesDemo,
14
28
  }]
15
29
  const back = 'icon'
16
30
  const next = 'link'
@@ -0,0 +1,42 @@
1
+ <template>
2
+ <div class="flex flex-wrap items-end gap-6">
3
+ <div class="text-center space-y-2">
4
+ <div class="rounded-md overflow-hidden bg-secondary-200 dark:bg-secondary-800">
5
+ <x-image
6
+ src="https://picsum.photos/id/106/120/120"
7
+ alt="Thumbnail"
8
+ class="block object-cover"
9
+ width="120"
10
+ height="120"
11
+ />
12
+ </div>
13
+ <span class="text-xs text-secondary-500">120 × 120</span>
14
+ </div>
15
+
16
+ <div class="text-center space-y-2">
17
+ <div class="rounded-md overflow-hidden bg-secondary-200 dark:bg-secondary-800">
18
+ <x-image
19
+ src="https://picsum.photos/id/106/200/150"
20
+ alt="Card image"
21
+ class="block object-cover"
22
+ width="200"
23
+ height="150"
24
+ />
25
+ </div>
26
+ <span class="text-xs text-secondary-500">200 × 150</span>
27
+ </div>
28
+
29
+ <div class="text-center space-y-2">
30
+ <div class="rounded-md overflow-hidden bg-secondary-200 dark:bg-secondary-800">
31
+ <x-image
32
+ src="https://picsum.photos/id/106/320/180"
33
+ alt="Wide banner"
34
+ class="block object-cover w-80 max-w-full"
35
+ width="320"
36
+ height="180"
37
+ />
38
+ </div>
39
+ <span class="text-xs text-secondary-500">320 × 180</span>
40
+ </div>
41
+ </div>
42
+ </template>
@@ -0,0 +1,45 @@
1
+ <script setup lang="ts">
2
+ const validSrc = 'https://picsum.photos/id/64/360/240'
3
+ const brokenSrc = 'https://invalid.example/image.jpg'
4
+ </script>
5
+
6
+ <template>
7
+ <div class="grid gap-8 sm:grid-cols-2 max-w-2xl">
8
+ <section class="space-y-2">
9
+ <p class="text-sm font-medium text-secondary-700 dark:text-secondary-300">
10
+ Loading
11
+ </p>
12
+ <p class="text-sm text-secondary-600 dark:text-secondary-400">
13
+ A neutral background on the wrapper shows while the URL loads. The component swaps in
14
+ <code class="text-xs">src</code> after <code class="text-xs">onload</code>.
15
+ </p>
16
+ <div class="rounded-lg overflow-hidden bg-secondary-200 dark:bg-secondary-800 w-[360px] max-w-full h-60">
17
+ <x-image
18
+ :src="validSrc"
19
+ alt="Portrait loaded from remote URL"
20
+ class="block w-full h-full object-cover"
21
+ width="360"
22
+ height="240"
23
+ />
24
+ </div>
25
+ </section>
26
+
27
+ <section class="space-y-2">
28
+ <p class="text-sm font-medium text-secondary-700 dark:text-secondary-300">
29
+ Failed load
30
+ </p>
31
+ <p class="text-sm text-secondary-600 dark:text-secondary-400">
32
+ When the request fails, the image keeps a minimal fallback and the wrapper background remains visible.
33
+ </p>
34
+ <div class="rounded-lg overflow-hidden bg-secondary-200 dark:bg-secondary-800 w-[360px] max-w-full h-60 flex items-center justify-center">
35
+ <x-image
36
+ :src="brokenSrc"
37
+ alt="Image failed to load"
38
+ class="block w-full h-full object-cover"
39
+ width="360"
40
+ height="240"
41
+ />
42
+ </div>
43
+ </section>
44
+ </div>
45
+ </template>
@@ -1,8 +1,11 @@
1
1
  <template>
2
- <x-image
3
- src="https://images.unsplash.com/photo-1543352634-99a5d50ae78e?auto=format&fit=crop&q=80&w=2671&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D"
4
- width="256"
5
- height="256"
6
- alt=""
7
- />
2
+ <div class="inline-block rounded-lg overflow-hidden bg-secondary-200 dark:bg-secondary-800">
3
+ <x-image
4
+ src="https://picsum.photos/id/237/400/300"
5
+ alt="Golden retriever sitting on a path"
6
+ class="block w-full max-w-sm h-auto object-cover"
7
+ width="400"
8
+ height="300"
9
+ />
10
+ </div>
8
11
  </template>
@@ -143,22 +143,24 @@ onMounted(() => {
143
143
  </script>
144
144
 
145
145
  <template>
146
- <p class="info">
146
+ <p class="mb-2 text-sm text-gray-600 dark:text-gray-400">
147
147
  Loaded {{ loadedCount }} of {{ infiniteRowCount }} items
148
- <span v-if="isLoading" class="loading"> (Loading...)</span>
148
+ <span v-if="isLoading" class="text-gray-500 dark:text-gray-300"> (Loading...)</span>
149
149
  </p>
150
150
  <x-virtual-list
151
151
  :row-count="infiniteRowCount"
152
152
  :row-height="50"
153
- class="h-96 border border-gray-200 rounded-md bg-white"
153
+ class="h-96 rounded-md border border-gray-200 bg-white dark:border-gray-700 dark:bg-gray-950"
154
154
  :on-rows-rendered="onRowsRendered"
155
155
  >
156
156
  <template #row="{ index, style }">
157
157
  <div
158
158
  :style="style"
159
159
  :class="[
160
- 'h-12 flex items-center justify-center border-b border-gray-200',
161
- { 'loading-indicator': index === infiniteItems.length && hasMoreData }
160
+ 'flex h-12 items-center justify-center border-b border-gray-200 text-gray-800 dark:border-gray-700 dark:text-gray-200',
161
+ index === infiniteItems.length && hasMoreData
162
+ ? 'bg-gray-50 text-gray-500 dark:bg-gray-900 dark:text-gray-400'
163
+ : '',
162
164
  ]"
163
165
  >
164
166
  {{ getItem(index) }}
@@ -126,9 +126,9 @@ onMounted(() => {
126
126
  </script>
127
127
 
128
128
  <template>
129
- <p class="info">
129
+ <p class="mb-2 text-sm text-gray-600 dark:text-gray-400">
130
130
  Loaded {{ loadedCount }} of {{ infiniteRowCount }} items
131
- <span v-if="isLoading" class="loading"> (Loading...)</span>
131
+ <span v-if="isLoading" class="text-gray-500 dark:text-gray-300"> (Loading...)</span>
132
132
  </p>
133
133
  <x-infinite-loader
134
134
  :is-row-loaded="isRowLoaded"
@@ -141,15 +141,17 @@ onMounted(() => {
141
141
  <x-virtual-list
142
142
  :row-count="infiniteRowCount"
143
143
  :row-height="50"
144
- class="h-96 border border-gray-200 rounded-md bg-white"
144
+ class="h-96 rounded-md border border-gray-200 bg-white dark:border-gray-700 dark:bg-gray-950"
145
145
  :on-rows-rendered="onRowsRendered"
146
146
  >
147
147
  <template #row="{ index, style }">
148
148
  <div
149
149
  :style="style"
150
150
  :class="[
151
- 'h-12 flex items-center justify-center border-b border-gray-200',
152
- { 'loading-indicator': index === infiniteItems.length && hasMoreData }
151
+ 'flex h-12 items-center justify-center border-b border-gray-200 text-gray-800 dark:border-gray-700 dark:text-gray-200',
152
+ index === infiniteItems.length && hasMoreData
153
+ ? 'bg-gray-50 text-gray-500 dark:bg-gray-900 dark:text-gray-400'
154
+ : '',
153
155
  ]"
154
156
  >
155
157
  {{ getItem(index) }}
@@ -33,7 +33,7 @@ const demos = [{
33
33
  code: StatesDemoCode,
34
34
  component: StatesDemo,
35
35
  }]
36
- const back = 'form'
36
+ const back = 'inputGroup'
37
37
  const next = 'radio'
38
38
  </script>
39
39
 
@@ -14,5 +14,16 @@ const other = ref('I have an icon')
14
14
  />
15
15
  <x-input v-model="other" label="Input with icon" icon-left="smile"/>
16
16
  <x-input v-model="other" label="Icon on the right" icon-right="smile" />
17
+ <x-input
18
+ v-model="other"
19
+ icon="smile"
20
+ label="Icon and suffix slot"
21
+ class="md:col-span-3"
22
+ clearable
23
+ >
24
+ <template #suffix>
25
+ <span class="text-secondary-400 text-xs">min</span>
26
+ </template>
27
+ </x-input>
17
28
  </div>
18
29
  </template>
@@ -0,0 +1,43 @@
1
+ <script setup lang="ts">
2
+ import { XInputGroup } from '@indielayer/ui'
3
+ import UsageDemoCode from './usage.vue?raw'
4
+ import UsageDemo from './usage.vue'
5
+ import MixedDemoCode from './mixed.vue?raw'
6
+ import MixedDemo from './mixed.vue'
7
+ import ValidationDemoCode from './validation.vue?raw'
8
+ import ValidationDemo from './validation.vue'
9
+
10
+ const title = 'Input Group'
11
+ const description = 'Input groups combine multiple inline fields (Input, Textarea, Select, Datepicker, Button) into one control with a shared label and footer.'
12
+ const components = [XInputGroup]
13
+ const demos = [{
14
+ name: 'Usage',
15
+ description: '',
16
+ code: UsageDemoCode,
17
+ component: UsageDemo,
18
+ }, {
19
+ name: 'Mixed',
20
+ description: '',
21
+ code: MixedDemoCode,
22
+ component: MixedDemo,
23
+ }, {
24
+ name: 'Validation',
25
+ description: '',
26
+ code: ValidationDemoCode,
27
+ component: ValidationDemo,
28
+ }]
29
+ const back = 'formGroup'
30
+ const next = 'input'
31
+ </script>
32
+
33
+ <template>
34
+ <document-page
35
+ github="https://github.com/indielayer/ui/blob/main/packages/ui/docs/pages/component/inputGroup"
36
+ :title="title"
37
+ :description="description"
38
+ :components="components"
39
+ :demos="demos"
40
+ :back="back"
41
+ :next="next"
42
+ />
43
+ </template>
@@ -0,0 +1,18 @@
1
+ <script setup lang="ts">
2
+ import { ref } from 'vue'
3
+
4
+ const unit = ref('km')
5
+ const distance = ref('')
6
+
7
+ const unitOptions = [
8
+ { value: 'km', label: 'km' },
9
+ { value: 'mi', label: 'mi' },
10
+ ]
11
+ </script>
12
+
13
+ <template>
14
+ <x-input-group label="Distance">
15
+ <x-select v-model="unit" :options="unitOptions" class="!w-28" />
16
+ <x-input v-model="distance" placeholder="0" type="number" />
17
+ </x-input-group>
18
+ </template>
@@ -0,0 +1,20 @@
1
+ <script setup lang="ts">
2
+ import { ref } from 'vue'
3
+
4
+ const country = ref('+1')
5
+ const phone = ref('')
6
+ </script>
7
+
8
+ <template>
9
+ <div class="grid gap-6">
10
+ <x-input-group label="Phone number" helper="Country code and local number">
11
+ <x-input v-model="country" placeholder="+1" class="!w-24" />
12
+ <x-input v-model="phone" placeholder="555-0000" />
13
+ </x-input-group>
14
+
15
+ <x-input-group label="Search" helper="Helper text here">
16
+ <x-input v-model="phone" placeholder="Search…" />
17
+ <x-button color="primary">Go</x-button>
18
+ </x-input-group>
19
+ </div>
20
+ </template>
@@ -0,0 +1,33 @@
1
+ <script setup lang="ts">
2
+ import { ref } from 'vue'
3
+
4
+ const start = ref('')
5
+ const end = ref('')
6
+
7
+ const rules = {
8
+ required: (values: unknown) => {
9
+ if (!Array.isArray(values)) return 'Both dates are required'
10
+
11
+ if (values.length >= 2 && values.every((v) => !!v)) return true
12
+
13
+ return 'Both dates are required'
14
+ },
15
+ }
16
+ </script>
17
+
18
+ <template>
19
+ <x-form @submit="() => {}">
20
+ <div class="flex">
21
+ <x-input-group
22
+ label="Date range"
23
+ helper="Select date and time"
24
+ :rules="[rules.required]"
25
+ >
26
+ <x-datepicker v-model="start" placeholder="Date" :enable-time-picker="false" />
27
+ <x-input v-model="end" type="time" placeholder="Time" />
28
+ </x-input-group>
29
+ </div>
30
+
31
+ <x-button type="submit" color="primary">Submit</x-button>
32
+ </x-form>
33
+ </template>
@@ -1,27 +1,41 @@
1
1
  <script setup lang="ts">
2
- import { XRadio } from '@indielayer/ui'
2
+ import { XRadio, XRadioButton } from '@indielayer/ui'
3
3
  import UsageDemoCode from './usage.vue?raw'
4
4
  import UsageDemo from './usage.vue'
5
- import VariantsDemoCode from './variants.vue?raw'
6
- import VariantsDemo from './variants.vue'
5
+ import PaymentMethodDemoCode from './payment-method.vue?raw'
6
+ import PaymentMethodDemo from './payment-method.vue'
7
+ import RadioButtonDemoCode from './radio-button.vue?raw'
8
+ import RadioButtonDemo from './radio-button.vue'
9
+ import RadioButtonFormGroupDemoCode from './radio-button-form-group.vue?raw'
10
+ import RadioButtonFormGroupDemo from './radio-button-form-group.vue'
7
11
  import StatesDemoCode from './states.vue?raw'
8
12
  import StatesDemo from './states.vue'
9
13
  import SizeDemoCode from './size.vue?raw'
10
14
  import SizeDemo from './size.vue'
11
15
 
12
16
  const title = 'Radio'
13
- const description = 'Radios allow the user to select one option from a set. Use radio buttons for exclusive selection if you think that the user needs to see all available options side-by-side.'
14
- const components = [XRadio]
17
+ const description = 'Radios allow the user to select one option from a set. Use classic radios for standard options, or x-radio-button for a button-shaped variant. Place several x-radio-button options inside x-form-group for a joined segmented control.'
18
+ const components = [XRadio, XRadioButton]
15
19
  const demos = [{
16
20
  name: 'Usage',
17
21
  description: '',
18
22
  code: UsageDemoCode,
19
23
  component: UsageDemo,
20
24
  }, {
21
- name: 'Variants',
22
- description: '',
23
- code: VariantsDemoCode,
24
- component: VariantsDemo,
25
+ name: 'Payment method',
26
+ description: 'Bordered cards with default slot content for extra details.',
27
+ code: PaymentMethodDemoCode,
28
+ component: PaymentMethodDemo,
29
+ }, {
30
+ name: 'Radio button',
31
+ description: 'Button-shaped options with a shared model value.',
32
+ code: RadioButtonDemoCode,
33
+ component: RadioButtonDemo,
34
+ }, {
35
+ name: 'Radio button group',
36
+ description: 'Inside x-form-group, options render as a single joined control.',
37
+ code: RadioButtonFormGroupDemoCode,
38
+ component: RadioButtonFormGroupDemo,
25
39
  }, {
26
40
  name: 'States',
27
41
  description: '',
@@ -0,0 +1,28 @@
1
+ <script setup lang="ts">
2
+ import { ref } from 'vue'
3
+
4
+ const selected = ref('a')
5
+ </script>
6
+
7
+ <template>
8
+ <div class="max-w-md space-y-1">
9
+ <x-radio
10
+ v-model="selected"
11
+ value="a"
12
+ label="Credit card"
13
+ class="border p-3 rounded w-full"
14
+ :class="{ 'bg-emerald-50 dark:bg-gray-800 border-emerald-400 dark:border-emerald-800': selected === 'a' }"
15
+ >
16
+ <div class="text-gray-400 font-light text-sm">VISA · · · · 2592</div>
17
+ </x-radio>
18
+ <x-radio
19
+ v-model="selected"
20
+ value="b"
21
+ label="Bank account"
22
+ class="border p-3 rounded w-full"
23
+ :class="{ 'bg-emerald-50 dark:bg-gray-800 border-emerald-400 dark:border-emerald-800': selected === 'b' }"
24
+ >
25
+ <div class="text-gray-400 font-light text-sm">Santander · · · · 1580</div>
26
+ </x-radio>
27
+ </div>
28
+ </template>