@iyulab/components 0.3.0 → 1.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 (475) hide show
  1. package/CHANGELOG.md +67 -0
  2. package/README.md +42 -236
  3. package/dist/_virtual/_@oxc-project_runtime@0.122.0/helpers/decorate.js +9 -0
  4. package/dist/_virtual/_@oxc-project_runtime@0.122.0/helpers/decorateMetadata.js +6 -0
  5. package/dist/_virtual/_glob-assets_raw/bell-fill.svg.d37c41d9.js +4 -0
  6. package/dist/_virtual/_glob-assets_raw/check-circle-fill.svg.51c33a2a.js +4 -0
  7. package/dist/_virtual/_glob-assets_raw/check-lg.svg.371c5e78.js +4 -0
  8. package/dist/_virtual/_glob-assets_raw/chevron-down.svg.0ccd06ea.js +4 -0
  9. package/dist/_virtual/_glob-assets_raw/chevron-left.svg.b4601050.js +4 -0
  10. package/dist/_virtual/_glob-assets_raw/chevron-right.svg.0711bb67.js +4 -0
  11. package/dist/_virtual/_glob-assets_raw/chevron-up.svg.ed917211.js +4 -0
  12. package/dist/_virtual/_glob-assets_raw/dark.css.e8ac080d.js +4 -0
  13. package/dist/_virtual/_glob-assets_raw/dash-lg.svg.b40b8b3a.js +4 -0
  14. package/dist/_virtual/_glob-assets_raw/exclamation-circle-fill.svg.dc8c523e.js +4 -0
  15. package/dist/_virtual/_glob-assets_raw/exclamation-triangle-fill.svg.7949d2c7.js +4 -0
  16. package/dist/_virtual/_glob-assets_raw/eye-slash.svg.240afafa.js +4 -0
  17. package/dist/_virtual/_glob-assets_raw/eye.svg.2e5e9c4c.js +4 -0
  18. package/dist/_virtual/_glob-assets_raw/info-circle-fill.svg.6580071d.js +4 -0
  19. package/dist/_virtual/_glob-assets_raw/light.css.637cb2f8.js +4 -0
  20. package/dist/_virtual/_glob-assets_raw/plus-lg.svg.294e9073.js +4 -0
  21. package/dist/_virtual/_glob-assets_raw/search.svg.0ba2012d.js +4 -0
  22. package/dist/_virtual/_glob-assets_raw/star-fill.svg.f24b5a2d.js +4 -0
  23. package/dist/_virtual/_glob-assets_raw/star.svg.4af61468.js +4 -0
  24. package/dist/_virtual/_glob-assets_raw/three-dots-vertical.svg.9fee78c5.js +4 -0
  25. package/dist/_virtual/_glob-assets_raw/three-dots.svg.6a7a5b23.js +4 -0
  26. package/dist/_virtual/_glob-assets_raw/x-lg.svg.f34b882c.js +4 -0
  27. package/dist/components/UDataElement.d.ts +44 -0
  28. package/dist/components/UDataElement.js +101 -0
  29. package/dist/components/UDataElement.styles.js +95 -0
  30. package/dist/components/UElement.d.ts +54 -0
  31. package/dist/components/UElement.js +83 -0
  32. package/dist/components/UElement.styles.js +67 -0
  33. package/dist/components/UFloatingElement.d.ts +125 -0
  34. package/dist/components/UFloatingElement.js +238 -0
  35. package/dist/components/UFloatingElement.styles.d.ts +9 -0
  36. package/dist/components/UFloatingElement.styles.js +46 -0
  37. package/dist/components/UFormControlElement.d.ts +57 -0
  38. package/dist/components/UFormControlElement.js +68 -0
  39. package/dist/components/UFormControlElement.styles.js +14 -0
  40. package/dist/components/UOverlayElement.d.ts +66 -0
  41. package/dist/components/UOverlayElement.js +123 -0
  42. package/dist/components/UOverlayElement.styles.d.ts +1 -0
  43. package/dist/components/UOverlayElement.styles.js +35 -0
  44. package/dist/components/alert/UAlert.d.ts +58 -3
  45. package/dist/components/alert/UAlert.js +115 -4
  46. package/dist/components/alert/UAlert.styles.js +73 -48
  47. package/dist/components/avatar/UAvatar.d.ts +27 -0
  48. package/dist/components/avatar/UAvatar.js +42 -0
  49. package/dist/components/avatar/UAvatar.styles.d.ts +1 -0
  50. package/dist/components/avatar/UAvatar.styles.js +45 -0
  51. package/dist/components/badge/UBadge.d.ts +28 -0
  52. package/dist/components/badge/UBadge.js +40 -0
  53. package/dist/components/badge/UBadge.styles.d.ts +1 -0
  54. package/dist/components/badge/UBadge.styles.js +113 -0
  55. package/dist/components/breadcrumb/UBreadcrumb.d.ts +24 -0
  56. package/dist/components/breadcrumb/UBreadcrumb.js +65 -0
  57. package/dist/components/breadcrumb/UBreadcrumb.styles.d.ts +1 -0
  58. package/dist/components/breadcrumb/UBreadcrumb.styles.js +37 -0
  59. package/dist/components/breadcrumb-item/UBreadcrumbItem.d.ts +30 -0
  60. package/dist/components/breadcrumb-item/UBreadcrumbItem.js +52 -0
  61. package/dist/components/breadcrumb-item/UBreadcrumbItem.styles.d.ts +1 -0
  62. package/dist/components/breadcrumb-item/UBreadcrumbItem.styles.js +41 -0
  63. package/dist/components/button/UButton.d.ts +46 -3
  64. package/dist/components/button/UButton.js +104 -4
  65. package/dist/components/button/UButton.styles.js +121 -48
  66. package/dist/components/button-group/UButtonGroup.d.ts +28 -0
  67. package/dist/components/button-group/UButtonGroup.js +93 -0
  68. package/dist/components/button-group/UButtonGroup.styles.d.ts +1 -0
  69. package/dist/components/button-group/UButtonGroup.styles.js +34 -0
  70. package/dist/components/card/UCard.d.ts +30 -3
  71. package/dist/components/card/UCard.js +61 -4
  72. package/dist/components/card/UCard.styles.js +13 -12
  73. package/dist/components/carousel/UCarousel.d.ts +65 -3
  74. package/dist/components/carousel/UCarousel.js +219 -2
  75. package/dist/components/carousel/UCarousel.styles.js +32 -33
  76. package/dist/components/checkbox/UCheckbox.d.ts +39 -0
  77. package/dist/components/checkbox/UCheckbox.js +88 -0
  78. package/dist/components/checkbox/UCheckbox.styles.d.ts +1 -0
  79. package/dist/components/checkbox/UCheckbox.styles.js +211 -0
  80. package/dist/components/chip/UChip.d.ts +43 -0
  81. package/dist/components/chip/UChip.js +103 -0
  82. package/dist/components/chip/UChip.styles.d.ts +1 -0
  83. package/dist/components/chip/UChip.styles.js +31 -0
  84. package/dist/components/dialog/UDialog.d.ts +29 -2
  85. package/dist/components/dialog/UDialog.js +66 -4
  86. package/dist/components/dialog/UDialog.styles.js +90 -39
  87. package/dist/components/divider/UDivider.d.ts +27 -2
  88. package/dist/components/divider/UDivider.js +45 -4
  89. package/dist/components/divider/UDivider.styles.js +80 -10
  90. package/dist/components/drawer/UDrawer.d.ts +25 -3
  91. package/dist/components/drawer/UDrawer.js +54 -4
  92. package/dist/components/drawer/UDrawer.styles.js +67 -60
  93. package/dist/components/field/UField.d.ts +31 -0
  94. package/dist/components/field/UField.js +64 -0
  95. package/dist/components/field/UField.styles.d.ts +1 -0
  96. package/dist/components/field/UField.styles.js +47 -0
  97. package/dist/components/form/UForm.d.ts +38 -2
  98. package/dist/components/form/UForm.js +105 -4
  99. package/dist/components/form/UForm.styles.js +5 -5
  100. package/dist/components/icon/UIcon.d.ts +23 -4
  101. package/dist/components/icon/UIcon.js +55 -4
  102. package/dist/components/icon/UIcon.styles.js +5 -5
  103. package/dist/components/icon-button/UIconButton.d.ts +48 -0
  104. package/dist/components/icon-button/UIconButton.js +88 -0
  105. package/dist/components/icon-button/UIconButton.styles.d.ts +1 -0
  106. package/dist/components/icon-button/UIconButton.styles.js +24 -0
  107. package/dist/components/input/UInput.d.ts +95 -3
  108. package/dist/components/input/UInput.js +258 -2
  109. package/dist/components/input/UInput.styles.js +120 -86
  110. package/dist/components/menu/UMenu.d.ts +41 -3
  111. package/dist/components/menu/UMenu.js +178 -4
  112. package/dist/components/menu/UMenu.styles.js +16 -30
  113. package/dist/components/menu-item/UMenuItem.d.ts +48 -2
  114. package/dist/components/menu-item/UMenuItem.js +159 -2
  115. package/dist/components/menu-item/UMenuItem.styles.js +120 -34
  116. package/dist/components/option/UOption.d.ts +42 -0
  117. package/dist/components/option/UOption.js +64 -0
  118. package/dist/components/option/UOption.styles.d.ts +1 -0
  119. package/dist/components/option/UOption.styles.js +132 -0
  120. package/dist/components/panel/UPanel.d.ts +22 -0
  121. package/dist/components/panel/UPanel.js +36 -0
  122. package/dist/components/panel/UPanel.styles.d.ts +1 -0
  123. package/dist/components/panel/UPanel.styles.js +14 -0
  124. package/dist/components/popover/UPopover.d.ts +69 -0
  125. package/dist/components/popover/UPopover.js +235 -0
  126. package/dist/components/popover/UPopover.styles.d.ts +1 -0
  127. package/dist/components/popover/UPopover.styles.js +9 -0
  128. package/dist/components/progress-bar/UProgressBar.d.ts +46 -2
  129. package/dist/components/progress-bar/UProgressBar.js +94 -2
  130. package/dist/components/progress-bar/UProgressBar.styles.js +110 -36
  131. package/dist/components/progress-ring/UProgressRing.d.ts +46 -3
  132. package/dist/components/progress-ring/UProgressRing.js +152 -2
  133. package/dist/components/progress-ring/UProgressRing.styles.js +88 -25
  134. package/dist/components/radio/URadio.d.ts +41 -0
  135. package/dist/components/radio/URadio.js +151 -0
  136. package/dist/components/radio/URadio.styles.d.ts +1 -0
  137. package/dist/components/radio/URadio.styles.js +111 -0
  138. package/dist/components/rating/URating.d.ts +48 -0
  139. package/dist/components/rating/URating.js +196 -0
  140. package/dist/components/rating/URating.styles.d.ts +1 -0
  141. package/dist/components/rating/URating.styles.js +55 -0
  142. package/dist/components/select/USelect.d.ts +70 -0
  143. package/dist/components/select/USelect.js +315 -0
  144. package/dist/components/select/USelect.styles.d.ts +1 -0
  145. package/dist/components/select/USelect.styles.js +200 -0
  146. package/dist/components/skeleton/USkeleton.d.ts +27 -3
  147. package/dist/components/skeleton/USkeleton.js +37 -4
  148. package/dist/components/skeleton/USkeleton.styles.js +15 -18
  149. package/dist/components/slider/USlider.d.ts +88 -0
  150. package/dist/components/slider/USlider.js +286 -0
  151. package/dist/components/slider/USlider.styles.d.ts +1 -0
  152. package/dist/components/slider/USlider.styles.js +125 -0
  153. package/dist/components/spinner/USpinner.d.ts +23 -2
  154. package/dist/components/spinner/USpinner.js +37 -3
  155. package/dist/components/spinner/USpinner.styles.js +34 -13
  156. package/dist/components/split-panel/USplitPanel.d.ts +49 -2
  157. package/dist/components/split-panel/USplitPanel.js +239 -3
  158. package/dist/components/split-panel/USplitPanel.styles.js +47 -15
  159. package/dist/components/switch/USwitch.d.ts +43 -0
  160. package/dist/components/switch/USwitch.js +80 -0
  161. package/dist/components/switch/USwitch.styles.d.ts +1 -0
  162. package/dist/components/switch/USwitch.styles.js +191 -0
  163. package/dist/components/tab/UTab.d.ts +31 -0
  164. package/dist/components/tab/UTab.js +68 -0
  165. package/dist/components/tab/UTab.styles.d.ts +1 -0
  166. package/dist/components/tab/UTab.styles.js +46 -0
  167. package/dist/components/tab-panel/UTabPanel.d.ts +45 -0
  168. package/dist/components/tab-panel/UTabPanel.js +150 -0
  169. package/dist/components/tab-panel/UTabPanel.styles.d.ts +1 -0
  170. package/dist/components/tab-panel/UTabPanel.styles.js +201 -0
  171. package/dist/components/tag/UTag.d.ts +26 -3
  172. package/dist/components/tag/UTag.js +41 -4
  173. package/dist/components/tag/UTag.styles.js +206 -60
  174. package/dist/components/textarea/UTextarea.d.ts +65 -0
  175. package/dist/components/textarea/UTextarea.js +145 -0
  176. package/dist/components/textarea/UTextarea.styles.d.ts +1 -0
  177. package/dist/components/textarea/UTextarea.styles.js +157 -0
  178. package/dist/components/tooltip/UTooltip.d.ts +28 -2
  179. package/dist/components/tooltip/UTooltip.js +104 -4
  180. package/dist/components/tooltip/UTooltip.styles.js +10 -12
  181. package/dist/components/tree/UTree.d.ts +62 -2
  182. package/dist/components/tree/UTree.js +308 -3
  183. package/dist/components/tree/UTree.styles.js +13 -19
  184. package/dist/components/tree-item/UTreeItem.d.ts +61 -2
  185. package/dist/components/tree-item/UTreeItem.js +191 -2
  186. package/dist/components/tree-item/UTreeItem.styles.js +96 -37
  187. package/dist/events/CheckEvent.d.ts +7 -0
  188. package/dist/events/CollapseEvent.d.ts +7 -0
  189. package/dist/events/ExpandEvent.d.ts +7 -0
  190. package/dist/events/HideEvent.d.ts +7 -0
  191. package/dist/events/NavigateEvent.d.ts +7 -0
  192. package/dist/events/PickEvent.d.ts +18 -0
  193. package/dist/events/RemoveEvent.d.ts +7 -0
  194. package/dist/events/ShiftEvent.d.ts +16 -0
  195. package/dist/events/ShowEvent.d.ts +7 -0
  196. package/dist/index.d.ts +41 -8
  197. package/dist/index.js +56 -46
  198. package/dist/react/UAlert.d.ts +13 -0
  199. package/dist/{react-components → react}/UAlert.js +5 -2
  200. package/dist/react/UAvatar.d.ts +9 -0
  201. package/dist/react/UAvatar.js +10 -0
  202. package/dist/react/UBadge.d.ts +9 -0
  203. package/dist/react/UBadge.js +10 -0
  204. package/dist/react/UBreadcrumb.d.ts +9 -0
  205. package/dist/react/UBreadcrumb.js +10 -0
  206. package/dist/react/UBreadcrumbItem.d.ts +11 -0
  207. package/dist/react/UBreadcrumbItem.js +12 -0
  208. package/dist/{react-components → react}/UButton.d.ts +3 -2
  209. package/dist/{react-components → react}/UButton.js +2 -2
  210. package/dist/react/UButtonGroup.d.ts +9 -0
  211. package/dist/react/UButtonGroup.js +10 -0
  212. package/dist/{react-components → react}/UCard.d.ts +3 -2
  213. package/dist/{react-components → react}/UCard.js +2 -2
  214. package/dist/{react-components → react}/UCarousel.d.ts +3 -2
  215. package/dist/{react-components → react}/UCarousel.js +2 -2
  216. package/dist/react/UCheckbox.d.ts +9 -0
  217. package/dist/react/UCheckbox.js +10 -0
  218. package/dist/react/UChip.d.ts +13 -0
  219. package/dist/react/UChip.js +13 -0
  220. package/dist/{react-components → react}/UDialog.d.ts +3 -2
  221. package/dist/{react-components → react}/UDialog.js +2 -2
  222. package/dist/{react-components → react}/UDivider.d.ts +3 -2
  223. package/dist/{react-components → react}/UDivider.js +2 -2
  224. package/dist/{react-components → react}/UDrawer.d.ts +3 -2
  225. package/dist/{react-components → react}/UDrawer.js +2 -2
  226. package/dist/react/UField.d.ts +9 -0
  227. package/dist/react/UField.js +10 -0
  228. package/dist/react/UForm.d.ts +10 -0
  229. package/dist/{react-components → react}/UForm.js +4 -2
  230. package/dist/{react-components → react}/UIcon.d.ts +3 -2
  231. package/dist/{react-components → react}/UIcon.js +2 -2
  232. package/dist/react/UIconButton.d.ts +9 -0
  233. package/dist/react/UIconButton.js +10 -0
  234. package/dist/react/UInput.d.ts +11 -0
  235. package/dist/{react-components → react}/UInput.js +5 -2
  236. package/dist/react/UMenu.d.ts +10 -0
  237. package/dist/{react-components → react}/UMenu.js +4 -2
  238. package/dist/react/UMenuItem.d.ts +11 -0
  239. package/dist/{react-components → react}/UMenuItem.js +4 -2
  240. package/dist/react/UOption.d.ts +9 -0
  241. package/dist/react/UOption.js +10 -0
  242. package/dist/react/UPanel.d.ts +9 -0
  243. package/dist/react/UPanel.js +10 -0
  244. package/dist/react/UPopover.d.ts +11 -0
  245. package/dist/react/UPopover.js +13 -0
  246. package/dist/react/UProgressBar.d.ts +9 -0
  247. package/dist/{react-components → react}/UProgressBar.js +2 -2
  248. package/dist/react/UProgressRing.d.ts +9 -0
  249. package/dist/{react-components → react}/UProgressRing.js +2 -2
  250. package/dist/react/URadio.d.ts +10 -0
  251. package/dist/react/URadio.js +12 -0
  252. package/dist/react/URating.d.ts +10 -0
  253. package/dist/react/URating.js +12 -0
  254. package/dist/react/USelect.d.ts +10 -0
  255. package/dist/react/USelect.js +12 -0
  256. package/dist/{react-components → react}/USkeleton.d.ts +3 -2
  257. package/dist/{react-components → react}/USkeleton.js +2 -2
  258. package/dist/react/USlider.d.ts +10 -0
  259. package/dist/react/USlider.js +12 -0
  260. package/dist/{react-components → react}/USpinner.d.ts +3 -2
  261. package/dist/{react-components → react}/USpinner.js +2 -2
  262. package/dist/react/USplitPanel.d.ts +13 -0
  263. package/dist/{react-components → react}/USplitPanel.js +6 -2
  264. package/dist/react/USwitch.d.ts +10 -0
  265. package/dist/react/USwitch.js +12 -0
  266. package/dist/react/UTab.d.ts +11 -0
  267. package/dist/react/UTab.js +12 -0
  268. package/dist/react/UTabPanel.d.ts +9 -0
  269. package/dist/react/UTabPanel.js +10 -0
  270. package/dist/{react-components → react}/UTag.d.ts +3 -2
  271. package/dist/{react-components → react}/UTag.js +2 -2
  272. package/dist/react/UTextarea.d.ts +11 -0
  273. package/dist/react/UTextarea.js +13 -0
  274. package/dist/react/UTooltip.d.ts +11 -0
  275. package/dist/{react-components → react}/UTooltip.js +5 -2
  276. package/dist/react/UTree.d.ts +10 -0
  277. package/dist/{react-components → react}/UTree.js +4 -2
  278. package/dist/react/UTreeItem.d.ts +17 -0
  279. package/dist/{react-components → react}/UTreeItem.js +7 -2
  280. package/dist/{react-components → react}/index.d.ts +40 -27
  281. package/dist/{react-components → react}/index.js +40 -20
  282. package/dist/{assets/styles → styles}/dark.css +68 -3
  283. package/dist/{assets/styles → styles}/light.css +68 -3
  284. package/dist/utilities/BrowserStorage.d.ts +2 -1
  285. package/dist/utilities/BrowserStorage.js +69 -86
  286. package/dist/utilities/Dialog.d.ts +83 -0
  287. package/dist/utilities/Dialog.js +141 -0
  288. package/dist/utilities/OverlayManager.d.ts +37 -0
  289. package/dist/utilities/OverlayManager.js +68 -0
  290. package/dist/utilities/Theme.js +134 -141
  291. package/dist/utilities/Toast.d.ts +45 -0
  292. package/dist/utilities/Toast.js +114 -0
  293. package/dist/utilities/converters.d.ts +44 -1
  294. package/dist/utilities/converters.js +112 -14
  295. package/dist/utilities/elements.d.ts +23 -0
  296. package/dist/utilities/elements.js +67 -16
  297. package/dist/utilities/icons.d.ts +67 -0
  298. package/dist/utilities/icons.js +200 -0
  299. package/dist/utilities/sanitizers.d.ts +35 -0
  300. package/dist/utilities/sanitizers.js +75 -0
  301. package/package.json +24 -21
  302. package/plugins/vite-plugin-glob-resolve.d.ts +12 -0
  303. package/plugins/vite-plugin-glob-resolve.js +66 -0
  304. package/plugins/vite-plugin-react-wrapper.d.ts +12 -0
  305. package/plugins/vite-plugin-react-wrapper.js +206 -0
  306. package/skills/iyulab-components/SKILL.md +138 -0
  307. package/skills/iyulab-components/references/components/alert.md +74 -0
  308. package/skills/iyulab-components/references/components/avatar.md +41 -0
  309. package/skills/iyulab-components/references/components/badge.md +38 -0
  310. package/skills/iyulab-components/references/components/breadcrumb.md +75 -0
  311. package/skills/iyulab-components/references/components/button-group.md +38 -0
  312. package/skills/iyulab-components/references/components/button.md +56 -0
  313. package/skills/iyulab-components/references/components/card.md +53 -0
  314. package/skills/iyulab-components/references/components/carousel.md +63 -0
  315. package/skills/iyulab-components/references/components/checkbox.md +70 -0
  316. package/skills/iyulab-components/references/components/chip.md +64 -0
  317. package/skills/iyulab-components/references/components/dialog.md +71 -0
  318. package/skills/iyulab-components/references/components/divider.md +56 -0
  319. package/skills/iyulab-components/references/components/drawer.md +63 -0
  320. package/skills/iyulab-components/references/components/field.md +42 -0
  321. package/skills/iyulab-components/references/components/form.md +68 -0
  322. package/skills/iyulab-components/references/components/icon-button.md +56 -0
  323. package/skills/iyulab-components/references/components/icon.md +49 -0
  324. package/skills/iyulab-components/references/components/input.md +95 -0
  325. package/skills/iyulab-components/references/components/menu.md +106 -0
  326. package/skills/iyulab-components/references/components/option.md +70 -0
  327. package/skills/iyulab-components/references/components/panel.md +38 -0
  328. package/skills/iyulab-components/references/components/popover.md +62 -0
  329. package/skills/iyulab-components/references/components/progress-bar.md +61 -0
  330. package/skills/iyulab-components/references/components/progress-ring.md +58 -0
  331. package/skills/iyulab-components/references/components/radio.md +67 -0
  332. package/skills/iyulab-components/references/components/rating.md +74 -0
  333. package/skills/iyulab-components/references/components/select.md +86 -0
  334. package/skills/iyulab-components/references/components/skeleton.md +46 -0
  335. package/skills/iyulab-components/references/components/slider.md +89 -0
  336. package/skills/iyulab-components/references/components/spinner.md +47 -0
  337. package/skills/iyulab-components/references/components/split-panel.md +65 -0
  338. package/skills/iyulab-components/references/components/switch.md +81 -0
  339. package/skills/iyulab-components/references/components/tab-panel.md +93 -0
  340. package/skills/iyulab-components/references/components/tag.md +55 -0
  341. package/skills/iyulab-components/references/components/textarea.md +67 -0
  342. package/skills/iyulab-components/references/components/tooltip.md +58 -0
  343. package/skills/iyulab-components/references/components/tree.md +128 -0
  344. package/skills/iyulab-components/references/extensions/data.md +60 -0
  345. package/skills/iyulab-components/references/extensions/element.md +57 -0
  346. package/skills/iyulab-components/references/extensions/floating.md +60 -0
  347. package/skills/iyulab-components/references/extensions/form-control.md +79 -0
  348. package/skills/iyulab-components/references/extensions/overlay.md +76 -0
  349. package/skills/iyulab-components/references/usage.md +216 -0
  350. package/skills/iyulab-components/references/utilities/browser-storage.md +54 -0
  351. package/skills/iyulab-components/references/utilities/converters.md +42 -0
  352. package/skills/iyulab-components/references/utilities/dialog.md +75 -0
  353. package/skills/iyulab-components/references/utilities/elements.md +55 -0
  354. package/skills/iyulab-components/references/utilities/icons.md +53 -0
  355. package/skills/iyulab-components/references/utilities/overlay-manager.md +34 -0
  356. package/skills/iyulab-components/references/utilities/sanitizers.md +32 -0
  357. package/skills/iyulab-components/references/utilities/theme.md +45 -0
  358. package/skills/iyulab-components/references/utilities/toast.md +58 -0
  359. package/dist/assets/icons/arrow-down.svg.js +0 -3
  360. package/dist/assets/icons/arrow-repeat.svg.js +0 -3
  361. package/dist/assets/icons/arrow-up.svg.js +0 -3
  362. package/dist/assets/icons/ban.svg.js +0 -3
  363. package/dist/assets/icons/bell-fill.svg.js +0 -3
  364. package/dist/assets/icons/box-arrow-up-right.svg.js +0 -3
  365. package/dist/assets/icons/check-circle-fill.svg.js +0 -3
  366. package/dist/assets/icons/check-lg.svg.js +0 -3
  367. package/dist/assets/icons/chevron-down.svg.js +0 -3
  368. package/dist/assets/icons/chevron-left.svg.js +0 -3
  369. package/dist/assets/icons/chevron-right.svg.js +0 -3
  370. package/dist/assets/icons/chevron-up.svg.js +0 -3
  371. package/dist/assets/icons/copy.svg.js +0 -3
  372. package/dist/assets/icons/dash-lg.svg.js +0 -3
  373. package/dist/assets/icons/exclamation-circle-fill.svg.js +0 -3
  374. package/dist/assets/icons/exclamation-triangle-fill.svg.js +0 -3
  375. package/dist/assets/icons/eye-slash.svg.js +0 -3
  376. package/dist/assets/icons/eye.svg.js +0 -3
  377. package/dist/assets/icons/file-earmark.svg.js +0 -3
  378. package/dist/assets/icons/flag.svg.js +0 -3
  379. package/dist/assets/icons/globe.svg.js +0 -3
  380. package/dist/assets/icons/hand-thumbs-down-fill.svg.js +0 -3
  381. package/dist/assets/icons/hand-thumbs-down.svg.js +0 -3
  382. package/dist/assets/icons/hand-thumbs-up-fill.svg.js +0 -3
  383. package/dist/assets/icons/hand-thumbs-up.svg.js +0 -3
  384. package/dist/assets/icons/info-circle-fill.svg.js +0 -3
  385. package/dist/assets/icons/lightbulb-fill.svg.js +0 -3
  386. package/dist/assets/icons/lightbulb-off.svg.js +0 -3
  387. package/dist/assets/icons/lightbulb.svg.js +0 -3
  388. package/dist/assets/icons/mic-fill.svg.js +0 -3
  389. package/dist/assets/icons/mic-mute-fill.svg.js +0 -3
  390. package/dist/assets/icons/paperclip.svg.js +0 -3
  391. package/dist/assets/icons/pencil-square.svg.js +0 -3
  392. package/dist/assets/icons/plus-lg.svg.js +0 -3
  393. package/dist/assets/icons/search.svg.js +0 -3
  394. package/dist/assets/icons/share.svg.js +0 -3
  395. package/dist/assets/icons/stop-circle.svg.js +0 -3
  396. package/dist/assets/icons/tools.svg.js +0 -3
  397. package/dist/assets/icons/x-lg.svg.js +0 -3
  398. package/dist/assets/styles/dark.css.js +0 -3
  399. package/dist/assets/styles/light.css.js +0 -3
  400. package/dist/components/BaseElement.d.ts +0 -33
  401. package/dist/components/BaseElement.js +0 -59
  402. package/dist/components/BaseElement.styles.js +0 -28
  403. package/dist/components/FloatingElement.d.ts +0 -104
  404. package/dist/components/FloatingElement.js +0 -195
  405. package/dist/components/FloatingElement.styles.js +0 -23
  406. package/dist/components/ModalElement.d.ts +0 -70
  407. package/dist/components/ModalElement.js +0 -144
  408. package/dist/components/ModalElement.styles.js +0 -29
  409. package/dist/components/alert/UAlert.component.d.ts +0 -40
  410. package/dist/components/alert/UAlert.component.js +0 -146
  411. package/dist/components/button/UButton.component.d.ts +0 -23
  412. package/dist/components/button/UButton.component.js +0 -72
  413. package/dist/components/card/UCard.component.d.ts +0 -21
  414. package/dist/components/card/UCard.component.js +0 -66
  415. package/dist/components/carousel/UCarousel.component.d.ts +0 -67
  416. package/dist/components/carousel/UCarousel.component.js +0 -243
  417. package/dist/components/dialog/UDialog.component.d.ts +0 -17
  418. package/dist/components/dialog/UDialog.component.js +0 -70
  419. package/dist/components/divider/UDivider.component.d.ts +0 -10
  420. package/dist/components/divider/UDivider.component.js +0 -30
  421. package/dist/components/drawer/UDrawer.component.d.ts +0 -18
  422. package/dist/components/drawer/UDrawer.component.js +0 -64
  423. package/dist/components/form/UForm.component.d.ts +0 -24
  424. package/dist/components/form/UForm.component.js +0 -76
  425. package/dist/components/icon/UIcon.component.d.ts +0 -29
  426. package/dist/components/icon/UIcon.component.js +0 -57
  427. package/dist/components/input/UInput.component.d.ts +0 -92
  428. package/dist/components/input/UInput.component.js +0 -267
  429. package/dist/components/menu/UMenu.component.d.ts +0 -67
  430. package/dist/components/menu/UMenu.component.js +0 -338
  431. package/dist/components/menu-item/UMenuItem.component.d.ts +0 -25
  432. package/dist/components/menu-item/UMenuItem.component.js +0 -111
  433. package/dist/components/progress-bar/UProgressBar.component.d.ts +0 -27
  434. package/dist/components/progress-bar/UProgressBar.component.js +0 -99
  435. package/dist/components/progress-ring/UProgressRing.component.d.ts +0 -33
  436. package/dist/components/progress-ring/UProgressRing.component.js +0 -114
  437. package/dist/components/skeleton/USkeleton.component.d.ts +0 -22
  438. package/dist/components/skeleton/USkeleton.component.js +0 -58
  439. package/dist/components/spinner/USpinner.component.d.ts +0 -9
  440. package/dist/components/spinner/USpinner.component.js +0 -22
  441. package/dist/components/split-panel/USplitPanel.component.d.ts +0 -44
  442. package/dist/components/split-panel/USplitPanel.component.js +0 -185
  443. package/dist/components/tag/UTag.component.d.ts +0 -23
  444. package/dist/components/tag/UTag.component.js +0 -72
  445. package/dist/components/tooltip/UTooltip.component.d.ts +0 -27
  446. package/dist/components/tooltip/UTooltip.component.js +0 -88
  447. package/dist/components/tree/UTree.component.d.ts +0 -37
  448. package/dist/components/tree/UTree.component.js +0 -120
  449. package/dist/components/tree-item/UTreeItem.component.d.ts +0 -41
  450. package/dist/components/tree-item/UTreeItem.component.js +0 -161
  451. package/dist/events/UChangeEvent.d.ts +0 -6
  452. package/dist/events/UHideEvent.d.ts +0 -6
  453. package/dist/events/UInputEvent.d.ts +0 -6
  454. package/dist/events/UResizeEvent.d.ts +0 -6
  455. package/dist/events/USelectEvent.d.ts +0 -6
  456. package/dist/events/UShowEvent.d.ts +0 -6
  457. package/dist/react-components/UAlert.d.ts +0 -8
  458. package/dist/react-components/UForm.d.ts +0 -8
  459. package/dist/react-components/UInput.d.ts +0 -8
  460. package/dist/react-components/UMenu.d.ts +0 -8
  461. package/dist/react-components/UMenuItem.d.ts +0 -8
  462. package/dist/react-components/UProgressBar.d.ts +0 -8
  463. package/dist/react-components/UProgressRing.d.ts +0 -8
  464. package/dist/react-components/USplitPanel.d.ts +0 -8
  465. package/dist/react-components/UTooltip.d.ts +0 -8
  466. package/dist/react-components/UTree.d.ts +0 -8
  467. package/dist/react-components/UTreeItem.d.ts +0 -8
  468. package/dist/utilities/IconRegistry.d.ts +0 -40
  469. package/dist/utilities/IconRegistry.js +0 -119
  470. package/dist/utilities/Notifier.d.ts +0 -31
  471. package/dist/utilities/Notifier.js +0 -79
  472. package/dist/utilities/decorators.d.ts +0 -28
  473. /package/dist/components/{BaseElement.styles.d.ts → UDataElement.styles.d.ts} +0 -0
  474. /package/dist/components/{FloatingElement.styles.d.ts → UElement.styles.d.ts} +0 -0
  475. /package/dist/components/{ModalElement.styles.d.ts → UFormControlElement.styles.d.ts} +0 -0
@@ -0,0 +1,53 @@
1
+ # u-card
2
+
3
+ ```ts
4
+ import '@iyulab/components/dist/components/card/UCard.js';
5
+ ```
6
+
7
+ **Tag:** `u-card`
8
+
9
+ Content card with optional media, header, body, and footer sections.
10
+
11
+ ```html
12
+ <u-card>
13
+ <img slot="media" src="/cover.jpg" alt="Cover" />
14
+ <span slot="header">Title</span>
15
+ <p>Card body content.</p>
16
+ <u-button slot="footer" variant="ghost">Read more</u-button>
17
+ </u-card>
18
+
19
+ <u-card orientation="horizontal" hoverable>
20
+ <img slot="media" src="/thumb.jpg" />
21
+ <p>Horizontal layout card.</p>
22
+ </u-card>
23
+ ```
24
+
25
+ ---
26
+
27
+ ## Slots
28
+
29
+ | Name | Description |
30
+ |------|-------------|
31
+ | `media` | Visual media (image, video) |
32
+ | `header` | Card header area |
33
+ | *(default)* | Card body content |
34
+ | `footer` | Card footer area |
35
+
36
+ ## Properties
37
+
38
+ | Property | Type | Default | Reflect | Description |
39
+ |----------|------|---------|---------|-------------|
40
+ | `orientation` | `'vertical'\|'horizontal'` | `'vertical'` | ✓ | Layout direction |
41
+ | `shadowless` | `boolean` | `false` | ✓ | Remove drop shadow |
42
+ | `borderless` | `boolean` | `false` | ✓ | Remove border |
43
+ | `hoverable` | `boolean` | `false` | ✓ | Lift effect on hover |
44
+
45
+ ## CSS Parts
46
+
47
+ | Part | Description |
48
+ |------|-------------|
49
+ | `media` | Media area wrapper |
50
+ | `content` | Full content wrapper (header + body + footer) |
51
+ | `header` | Header slot wrapper |
52
+ | `body` | Body (default slot) wrapper |
53
+ | `footer` | Footer slot wrapper |
@@ -0,0 +1,63 @@
1
+ # u-carousel
2
+
3
+ ```ts
4
+ import '@iyulab/components/dist/components/carousel/UCarousel.js';
5
+ ```
6
+
7
+ **Tag:** `u-carousel`
8
+
9
+ Slide carousel. Each direct child element becomes one slide.
10
+
11
+ ```html
12
+ <u-carousel navigation pagination loop autoplay>
13
+ <div>Slide 1</div>
14
+ <div>Slide 2</div>
15
+ <div>Slide 3</div>
16
+ </u-carousel>
17
+
18
+ <!-- Multi-slide view -->
19
+ <u-carousel slides-per-view="3" gap="16" draggable>
20
+ <div>A</div><div>B</div><div>C</div><div>D</div>
21
+ </u-carousel>
22
+ ```
23
+
24
+ ---
25
+
26
+ ## Slots
27
+
28
+ | Name | Description |
29
+ |------|-------------|
30
+ | *(default)* | Slide elements (each direct child = one slide) |
31
+
32
+ ## Properties
33
+
34
+ | Property | Type | Default | Description |
35
+ |----------|------|---------|-------------|
36
+ | `autoplay` | `boolean` | `false` | Auto-advance slides |
37
+ | `autoplayInterval` | `number` | `3000` | Auto-advance interval in ms |
38
+ | `loop` | `boolean` | `false` | Loop from last to first |
39
+ | `navigation` | `boolean` | `false` | Show prev/next buttons |
40
+ | `pagination` | `boolean` | `false` | Show dot pagination |
41
+ | `draggable` | `boolean` | `false` | Drag to navigate |
42
+ | `slidesPerView` | `number` | `1` | Visible slides at once |
43
+ | `slidesPerMove` | `number` | `1` | Slides to advance per step |
44
+ | `gap` | `number` | `0` | Gap between slides in px |
45
+ | `index` | `number` | `0` | Active slide index |
46
+
47
+ ## Methods
48
+
49
+ | Method | Description |
50
+ |--------|-------------|
51
+ | `prev()` | Go to previous slide |
52
+ | `next()` | Go to next slide |
53
+ | `goTo(index)` | Jump to a specific slide index |
54
+
55
+ ## CSS Parts
56
+
57
+ | Part | Description |
58
+ |------|-------------|
59
+ | `slides` | Slides track container |
60
+ | `prev-button` | Previous navigation button |
61
+ | `next-button` | Next navigation button |
62
+ | `indicator` | Pagination indicator wrapper |
63
+ | `dot` | Individual pagination dot |
@@ -0,0 +1,70 @@
1
+ # u-checkbox
2
+
3
+ ```ts
4
+ import '@iyulab/components/dist/components/checkbox/UCheckbox.js';
5
+ ```
6
+
7
+ **Tag:** `u-checkbox`
8
+
9
+ Checkbox with `indeterminate` state support. Form-associated (`formAssociated = true`).
10
+
11
+ ```html
12
+ <u-checkbox name="agree" required>I agree to the terms</u-checkbox>
13
+
14
+ <u-checkbox checked color="green" variant="outline">
15
+ Enabled feature
16
+ </u-checkbox>
17
+
18
+ <!-- Indeterminate (partial selection) -->
19
+ <u-checkbox indeterminate>Select all</u-checkbox>
20
+ ```
21
+
22
+ ---
23
+
24
+ ## Slots
25
+
26
+ | Name | Description |
27
+ |------|-------------|
28
+ | *(default)* | Label text |
29
+
30
+ ## Properties
31
+
32
+ | Property | Type | Default | Reflect | Description |
33
+ |----------|------|---------|---------|-------------|
34
+ | `checked` | `boolean` | `false` | ✓ | Checked state |
35
+ | `indeterminate` | `boolean` | `false` | ✓ | Partial / indeterminate state |
36
+ | `variant` | `'filled'\|'outline'` | `'filled'` | ✓ | Visual style |
37
+ | `color` | `'blue'\|'green'\|'red'\|'orange'\|'teal'\|'cyan'\|'purple'\|'pink'\|'neutral'` | `'blue'` | ✓ | Accent color |
38
+ | `disabled` | `boolean` | `false` | ✓ | Disable the control |
39
+ | `readonly` | `boolean` | `false` | ✓ | Read-only |
40
+ | `required` | `boolean` | `false` | ✓ | Required field |
41
+ | `invalid` | `boolean` | `false` | ✓ | Validation failed state |
42
+ | `name` | `string` | — | — | Form field name |
43
+ | `value` | `string` | — | — | Submitted value |
44
+ | `label` | `string` | — | — | Label (alternative to slot) |
45
+ | `validationMessage` | `string` | — | — | Custom validation message |
46
+
47
+ ## Methods
48
+
49
+ | Method | Returns | Description |
50
+ |--------|---------|-------------|
51
+ | `validate()` | `boolean` | Run validation; sets `invalid` |
52
+ | `reset()` | `void` | Clear value and validation state |
53
+
54
+ ## CSS Parts
55
+
56
+ | Part | Description |
57
+ |------|-------------|
58
+ | `wrapper` | Outer layout wrapper |
59
+ | `input` | Hidden native `<input>` |
60
+ | `checkbox` | Visual checkbox box |
61
+ | `label` | Label text element |
62
+ | `description` | Description text |
63
+
64
+ ## CSS Custom Properties
65
+
66
+ | Property | Description |
67
+ |----------|-------------|
68
+ | `--checkbox-color` | Checkmark color |
69
+ | `--checkbox-border-color` | Border color |
70
+ | `--checkbox-background-color` | Fill color when checked |
@@ -0,0 +1,64 @@
1
+ # u-chip
2
+
3
+ ```ts
4
+ import '@iyulab/components/dist/components/chip/UChip.js';
5
+ ```
6
+
7
+ **Tag:** `u-chip`
8
+
9
+ Interactive chip tag. Supports selectable toggle, removable button, and tooltip.
10
+
11
+ ```html
12
+ <u-chip>React</u-chip>
13
+
14
+ <u-chip selectable color="blue">TypeScript</u-chip>
15
+
16
+ <u-chip removable @remove=${() => console.log('removed')}>
17
+ Delete me
18
+ </u-chip>
19
+
20
+ <!-- Tooltip on hover -->
21
+ <u-chip>
22
+ Tag
23
+ <span slot="tooltip">More details here</span>
24
+ </u-chip>
25
+ ```
26
+
27
+ ---
28
+
29
+ ## Slots
30
+
31
+ | Name | Description |
32
+ |------|-------------|
33
+ | `prefix` | Content before the label |
34
+ | *(default)* | Chip label |
35
+ | `suffix` | Content after the label |
36
+ | `tooltip` | Tooltip content shown on hover |
37
+
38
+ ## Properties
39
+
40
+ | Property | Type | Default | Reflect | Description |
41
+ |----------|------|---------|---------|-------------|
42
+ | `variant` | `'filled'\|'solid'\|'surface'\|'outlined'` | `'filled'` | ✓ | Visual style |
43
+ | `color` | `'neutral'\|'blue'\|'green'\|'yellow'\|'red'\|'orange'\|'teal'\|'cyan'\|'purple'\|'pink'` | `'neutral'` | ✓ | Color |
44
+ | `rounded` | `boolean` | `false` | ✓ | Pill-shaped |
45
+ | `removable` | `boolean` | `false` | ✓ | Show remove button |
46
+ | `selectable` | `boolean` | `false` | ✓ | Can be toggled selected |
47
+ | `selected` | `boolean` | `false` | ✓ | Selected state |
48
+ | `value` | `string` | `''` | — | Unique identifier value |
49
+
50
+ ## Events
51
+
52
+ | Event | Description |
53
+ |-------|-------------|
54
+ | `pick` | Fires when the chip is selected/deselected |
55
+ | `remove` | Fires when the remove button is clicked |
56
+
57
+ ## CSS Parts
58
+
59
+ | Part | Description |
60
+ |------|-------------|
61
+ | `tag` | Main chip wrapper |
62
+ | `check` | Check icon shown when selected |
63
+ | `remove` | Remove button |
64
+ | `tooltip` | Tooltip element |
@@ -0,0 +1,71 @@
1
+ # u-dialog
2
+
3
+ ```ts
4
+ import '@iyulab/components/dist/components/dialog/UDialog.js';
5
+ ```
6
+
7
+ **Tag:** `u-dialog`
8
+
9
+ Modal or non-modal dialog window. Supports focus-trap, scroll-lock, ESC/backdrop close, and configurable placement.
10
+
11
+ For programmatic usage (`Dialog.alert`, `Dialog.confirm`, `Dialog.prompt`), see [dialog.md](../utilities/dialog.md).
12
+
13
+ ```html
14
+ <u-dialog id="dlg" closable placement="center">
15
+ <span slot="header">Confirm Action</span>
16
+ <p>Are you sure you want to delete this item?</p>
17
+ <div slot="footer">
18
+ <u-button variant="ghost" @click=${() => dlg.hide()}>Cancel</u-button>
19
+ <u-button variant="solid" @click=${handleConfirm}>Delete</u-button>
20
+ </div>
21
+ </u-dialog>
22
+
23
+ <u-button @click=${() => dlg.show()}>Open</u-button>
24
+ ```
25
+
26
+ ---
27
+
28
+ ## Slots
29
+
30
+ | Name | Description |
31
+ |------|-------------|
32
+ | `header` | Dialog header area |
33
+ | *(default)* | Dialog body content |
34
+ | `footer` | Dialog footer area |
35
+
36
+ ## Properties
37
+
38
+ | Property | Type | Default | Reflect | Description |
39
+ |----------|------|---------|---------|-------------|
40
+ | `open` | `boolean` | `false` | ✓ | Show/hide state |
41
+ | `closable` | `boolean` | `false` | ✓ | Show close button |
42
+ | `placement` | `'top-start'\|'top'\|'top-end'\|'start'\|'center'\|'end'\|'bottom-start'\|'bottom'\|'bottom-end'` | `'center'` | ✓ | Position on screen |
43
+ | `offset` | `number` | `0` | ✓ | Distance from screen edge in px |
44
+ | `mode` | `'modal'\|'non-modal'` | `'modal'` | ✓ | `modal` enables focus-trap |
45
+ | `contained` | `boolean` | `false` | ✓ | Position relative to parent element |
46
+ | `closeOn` | `string[]` | `['escape','backdrop','button']` | ✓ | Close triggers |
47
+
48
+ ## Events
49
+
50
+ | Event | Cancelable | Description |
51
+ |-------|------------|-------------|
52
+ | `show` | ✓ | Before the dialog opens |
53
+ | `hide` | ✓ | Before the dialog closes |
54
+
55
+ ## Methods
56
+
57
+ | Method | Returns | Description |
58
+ |--------|---------|-------------|
59
+ | `show()` | `boolean` | Open the dialog |
60
+ | `hide()` | `boolean` | Close the dialog |
61
+ | `requestClose(source)` | `void` | Request close from a given source (checks `closeOn` policy) |
62
+
63
+ ## CSS Parts
64
+
65
+ | Part | Description |
66
+ |------|-------------|
67
+ | `container` | Backdrop/positioning wrapper |
68
+ | `panel` | The dialog panel |
69
+ | `header` | Header area |
70
+ | `body` | Body area |
71
+ | `close-btn` | Close button |
@@ -0,0 +1,56 @@
1
+ # u-divider
2
+
3
+ ```ts
4
+ import '@iyulab/components/dist/components/divider/UDivider.js';
5
+ ```
6
+
7
+ **Tag:** `u-divider`
8
+
9
+ Horizontal or vertical separator line. Slot content is overlaid as an inline label.
10
+
11
+ ```html
12
+ <u-divider></u-divider>
13
+
14
+ <u-divider>OR</u-divider>
15
+
16
+ <u-divider variant="dashed" align="start">Section</u-divider>
17
+
18
+ <!-- Vertical -->
19
+ <div style="display:flex; height:40px;">
20
+ <span>Left</span>
21
+ <u-divider vertical></u-divider>
22
+ <span>Right</span>
23
+ </div>
24
+ ```
25
+
26
+ ---
27
+
28
+ ## Slots
29
+
30
+ | Name | Description |
31
+ |------|-------------|
32
+ | *(default)* | Optional label overlaid on the divider line |
33
+
34
+ ## Properties
35
+
36
+ | Property | Type | Default | Reflect | Description |
37
+ |----------|------|---------|---------|-------------|
38
+ | `vertical` | `boolean` | `false` | ✓ | Vertical orientation |
39
+ | `variant` | `'solid'\|'dashed'\|'dotted'` | `'solid'` | ✓ | Line style |
40
+ | `align` | `'start'\|'center'\|'end'` | `'center'` | ✓ | Label alignment |
41
+
42
+ ## CSS Parts
43
+
44
+ | Part | Description |
45
+ |------|-------------|
46
+ | `line-start` | Line segment before the label |
47
+ | `label` | Label wrapper |
48
+ | `line-end` | Line segment after the label |
49
+
50
+ ## CSS Custom Properties
51
+
52
+ | Property | Description |
53
+ |----------|-------------|
54
+ | `--divider-size` | Line thickness |
55
+ | `--divider-color` | Line color |
56
+ | `--divider-spacing` | Spacing around the label |
@@ -0,0 +1,63 @@
1
+ # u-drawer
2
+
3
+ ```ts
4
+ import '@iyulab/components/dist/components/drawer/UDrawer.js';
5
+ ```
6
+
7
+ **Tag:** `u-drawer`
8
+
9
+ Side panel that slides in from any screen edge. Extends `UOverlayElement` (focus-trap, scroll-lock, close policy).
10
+
11
+ ```html
12
+ <u-drawer id="drawer" placement="right" closable>
13
+ <span slot="header">Settings</span>
14
+ <p>Drawer content here.</p>
15
+ <u-button slot="footer" @click=${() => drawer.hide()}>Close</u-button>
16
+ </u-drawer>
17
+
18
+ <u-button @click=${() => drawer.show()}>Open Drawer</u-button>
19
+ ```
20
+
21
+ ---
22
+
23
+ ## Slots
24
+
25
+ | Name | Description |
26
+ |------|-------------|
27
+ | `header` | Drawer header |
28
+ | *(default)* | Drawer body content |
29
+ | `footer` | Drawer footer |
30
+
31
+ ## Properties
32
+
33
+ | Property | Type | Default | Reflect | Description |
34
+ |----------|------|---------|---------|-------------|
35
+ | `open` | `boolean` | `false` | ✓ | Show/hide state |
36
+ | `closable` | `boolean` | `false` | ✓ | Show close button |
37
+ | `placement` | `'left'\|'right'\|'top'\|'bottom'` | `'left'` | ✓ | Slide-in direction |
38
+ | `mode` | `'modal'\|'non-modal'` | `'modal'` | ✓ | Focus-trap mode |
39
+ | `contained` | `boolean` | `false` | ✓ | Contained to parent element |
40
+ | `closeOn` | `string[]` | `['escape','backdrop','button']` | ✓ | Close triggers |
41
+
42
+ ## Events
43
+
44
+ | Event | Cancelable | Description |
45
+ |-------|------------|-------------|
46
+ | `show` | ✓ | Before drawer opens |
47
+ | `hide` | ✓ | Before drawer closes |
48
+
49
+ ## Methods
50
+
51
+ | Method | Description |
52
+ |--------|-------------|
53
+ | `show()` | Open the drawer |
54
+ | `hide()` | Close the drawer |
55
+
56
+ ## CSS Parts
57
+
58
+ | Part | Description |
59
+ |------|-------------|
60
+ | `panel` | Drawer panel |
61
+ | `header` | Header area |
62
+ | `body` | Body area |
63
+ | `close-btn` | Close button |
@@ -0,0 +1,42 @@
1
+ # u-field
2
+
3
+ ```ts
4
+ import '@iyulab/components/dist/components/field/UField.js';
5
+ ```
6
+
7
+ **Tag:** `u-field`
8
+
9
+ Layout wrapper for form controls. Renders label, required marker, description text, and validation message around any control.
10
+
11
+ ```html
12
+ <u-field label="Email" required description="We'll never share your email.">
13
+ <u-input type="email" name="email"></u-input>
14
+ </u-field>
15
+
16
+ <u-field label="Role" invalid validation-message="Please select a role.">
17
+ <u-select name="role">
18
+ <u-option value="admin">Admin</u-option>
19
+ </u-select>
20
+ <u-button slot="label-aside" variant="link">Learn more</u-button>
21
+ </u-field>
22
+ ```
23
+
24
+ ---
25
+
26
+ ## Slots
27
+
28
+ | Name | Description |
29
+ |------|-------------|
30
+ | *(default)* | The form control to wrap |
31
+ | `label-aside` | Content placed to the right of the label |
32
+
33
+ ## Properties
34
+
35
+ | Property | Type | Default | Reflect | Description |
36
+ |----------|------|---------|---------|-------------|
37
+ | `label` | `string` | — | — | Label text |
38
+ | `description` | `string` | — | — | Helper text shown below the control |
39
+ | `validationMessage` | `string` | — | — | Error message shown when `invalid` |
40
+ | `required` | `boolean` | `false` | ✓ | Show required marker |
41
+ | `invalid` | `boolean` | `false` | ✓ | Show validation error state |
42
+ | `disabled` | `boolean` | `false` | ✓ | Disable state forwarding |
@@ -0,0 +1,68 @@
1
+ # u-form
2
+
3
+ ```ts
4
+ import '@iyulab/components/dist/components/form/UForm.js';
5
+ ```
6
+
7
+ **Tag:** `u-form`
8
+
9
+ Form group with two-way model binding. Wraps `UFormControlElement`-based controls and observes value changes.
10
+
11
+ ```html
12
+ <u-form id="form">
13
+ <u-input name="email" type="email" required></u-input>
14
+ <u-select name="role">
15
+ <u-option value="admin">Admin</u-option>
16
+ <u-option value="viewer">Viewer</u-option>
17
+ </u-select>
18
+ </u-form>
19
+ ```
20
+
21
+ ```ts
22
+ const form = document.querySelector('#form') as UForm;
23
+
24
+ // Set initial model values
25
+ form.model = { email: 'user@example.com', role: 'viewer' };
26
+
27
+ // Listen for changes
28
+ form.addEventListener('change', () => {
29
+ console.log(form.model); // { email: '...', role: '...' }
30
+ });
31
+
32
+ // Validate all controls
33
+ if (form.validate()) {
34
+ submitData(form.model);
35
+ }
36
+
37
+ // Reset all controls
38
+ form.reset();
39
+ ```
40
+
41
+ ---
42
+
43
+ ## Slots
44
+
45
+ | Name | Description |
46
+ |------|-------------|
47
+ | *(default)* | Form control elements |
48
+
49
+ ## Properties
50
+
51
+ | Property | Type | Default | Description |
52
+ |----------|------|---------|-------------|
53
+ | `model` | `Record<string, unknown>` | — | Two-way bound data model |
54
+ | `includes` | `string[]` | `[]` | Only include these field names (empty = all) |
55
+ | `excludes` | `string[]` | `[]` | Exclude these field names |
56
+
57
+ ## Events
58
+
59
+ | Event | Description |
60
+ |-------|-------------|
61
+ | `change` | Fires when any control value changes |
62
+
63
+ ## Methods
64
+
65
+ | Method | Returns | Description |
66
+ |--------|---------|-------------|
67
+ | `validate()` | `boolean` | Validate all child controls |
68
+ | `reset()` | `void` | Reset all child controls |
@@ -0,0 +1,56 @@
1
+ # u-icon-button
2
+
3
+ ```ts
4
+ import '@iyulab/components/dist/components/icon-button/UIconButton.js';
5
+ ```
6
+
7
+ **Tag:** `u-icon-button`
8
+
9
+ Square icon-only button with a built-in tooltip (shown from the default slot). Renders as `<a>` when `href` is set.
10
+
11
+ ```html
12
+ <u-icon-button lib="tabler" name="trash">
13
+ Delete
14
+ </u-icon-button>
15
+
16
+ <u-icon-button variant="outlined" rounded lib="heroicons" name="plus:solid">
17
+ Add item
18
+ </u-icon-button>
19
+
20
+ <u-icon-button href="/settings" lib="tabler" name="settings">
21
+ Settings
22
+ </u-icon-button>
23
+ ```
24
+
25
+ ---
26
+
27
+ ## Slots
28
+
29
+ | Name | Description |
30
+ |------|-------------|
31
+ | *(default)* | Tooltip content (shown on hover) |
32
+
33
+ ## Properties
34
+
35
+ | Property | Type | Default | Reflect | Description |
36
+ |----------|------|---------|---------|-------------|
37
+ | `variant` | `'solid'\|'surface'\|'filled'\|'outlined'\|'ghost'\|'link'` | `'ghost'` | ✓ | Button variant |
38
+ | `rounded` | `boolean` | `false` | ✓ | Circular shape |
39
+ | `disabled` | `boolean` | `false` | ✓ | Disable the button |
40
+ | `loading` | `boolean` | `false` | ✓ | Loading state |
41
+ | `href` | `string` | — | — | Link URL (renders as `<a>`) |
42
+ | `target` | `string` | — | — | Link `target` |
43
+ | `rel` | `string` | — | — | Link `rel` |
44
+ | `lib` | `string` | — | — | Icon library |
45
+ | `name` | `string` | — | — | Icon name |
46
+ | `src` | `string` | — | — | Raw SVG source |
47
+ | `tooltipPlacement` | `Placement` | `'top'` | — | Tooltip position |
48
+ | `tooltipOffset` | `OffsetOptions` | `4` | — | Tooltip offset from button |
49
+
50
+ ## CSS Parts
51
+
52
+ | Part | Description |
53
+ |------|-------------|
54
+ | `button` | Inner `<button>` or `<a>` |
55
+ | `icon` | `u-icon` element |
56
+ | `tooltip` | Built-in `u-tooltip` element |
@@ -0,0 +1,49 @@
1
+ # u-icon
2
+
3
+ ```ts
4
+ import '@iyulab/components/dist/components/icon/UIcon.js';
5
+ ```
6
+
7
+ **Tag:** `u-icon`
8
+
9
+ Renders an SVG icon by name from a registered icon library. Inline `src` also accepted.
10
+
11
+ ```html
12
+ <!-- Built-in -->
13
+ <u-icon lib="internal" name="check-circle-fill"></u-icon>
14
+
15
+ <!-- Tabler (CDN) -->
16
+ <u-icon lib="tabler" name="home"></u-icon>
17
+ <u-icon lib="tabler" name="home:filled"></u-icon>
18
+
19
+ <!-- Heroicons -->
20
+ <u-icon lib="heroicons" name="academic-cap:solid"></u-icon>
21
+
22
+ <!-- Lucide -->
23
+ <u-icon lib="lucide" name="activity"></u-icon>
24
+
25
+ <!-- Bootstrap Icons -->
26
+ <u-icon lib="bootstrap" name="alarm"></u-icon>
27
+ <u-icon lib="bootstrap" name="alarm:filled"></u-icon>
28
+
29
+ <!-- Inline SVG -->
30
+ <u-icon src='<svg ...>...</svg>'></u-icon>
31
+ ```
32
+
33
+ For registering custom libraries, see [icons.md](../utilities/icons.md).
34
+
35
+ ---
36
+
37
+ ## Properties
38
+
39
+ | Property | Type | Default | Description |
40
+ |----------|------|---------|-------------|
41
+ | `lib` | `'internal'\|'tabler'\|'heroicons'\|'lucide'\|'bootstrap'\|string` | — | Icon library identifier |
42
+ | `name` | `string` | — | Icon name (library-specific; append `:filled` / `:solid` for filled variants) |
43
+ | `src` | `string` | — | Raw SVG string (overrides `lib`/`name`) |
44
+
45
+ ## CSS Parts
46
+
47
+ | Part | Description |
48
+ |------|-------------|
49
+ | `svg` | The rendered `<svg>` element |