@iyulab/components 0.4.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 (472) hide show
  1. package/CHANGELOG.md +44 -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/{UJsonElement.d.ts → UDataElement.d.ts} +3 -5
  28. package/dist/components/UDataElement.js +101 -0
  29. package/dist/components/{UJsonElement.styles.js → UDataElement.styles.js} +4 -4
  30. package/dist/components/UElement.d.ts +18 -23
  31. package/dist/components/UElement.js +82 -95
  32. package/dist/components/UElement.styles.js +43 -4
  33. package/dist/components/UFloatingElement.d.ts +69 -48
  34. package/dist/components/UFloatingElement.js +236 -193
  35. package/dist/components/UFloatingElement.styles.d.ts +8 -0
  36. package/dist/components/UFloatingElement.styles.js +28 -5
  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 +17 -17
  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 +37 -10
  197. package/dist/index.js +56 -52
  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.js +62 -33
  296. package/dist/utilities/icons.d.ts +67 -0
  297. package/dist/utilities/icons.js +200 -0
  298. package/dist/utilities/sanitizers.js +64 -32
  299. package/package.json +24 -20
  300. package/plugins/vite-plugin-glob-resolve.d.ts +12 -0
  301. package/plugins/vite-plugin-glob-resolve.js +66 -0
  302. package/plugins/vite-plugin-react-wrapper.d.ts +12 -0
  303. package/plugins/vite-plugin-react-wrapper.js +206 -0
  304. package/skills/iyulab-components/SKILL.md +138 -0
  305. package/skills/iyulab-components/references/components/alert.md +74 -0
  306. package/skills/iyulab-components/references/components/avatar.md +41 -0
  307. package/skills/iyulab-components/references/components/badge.md +38 -0
  308. package/skills/iyulab-components/references/components/breadcrumb.md +75 -0
  309. package/skills/iyulab-components/references/components/button-group.md +38 -0
  310. package/skills/iyulab-components/references/components/button.md +56 -0
  311. package/skills/iyulab-components/references/components/card.md +53 -0
  312. package/skills/iyulab-components/references/components/carousel.md +63 -0
  313. package/skills/iyulab-components/references/components/checkbox.md +70 -0
  314. package/skills/iyulab-components/references/components/chip.md +64 -0
  315. package/skills/iyulab-components/references/components/dialog.md +71 -0
  316. package/skills/iyulab-components/references/components/divider.md +56 -0
  317. package/skills/iyulab-components/references/components/drawer.md +63 -0
  318. package/skills/iyulab-components/references/components/field.md +42 -0
  319. package/skills/iyulab-components/references/components/form.md +68 -0
  320. package/skills/iyulab-components/references/components/icon-button.md +56 -0
  321. package/skills/iyulab-components/references/components/icon.md +49 -0
  322. package/skills/iyulab-components/references/components/input.md +95 -0
  323. package/skills/iyulab-components/references/components/menu.md +106 -0
  324. package/skills/iyulab-components/references/components/option.md +70 -0
  325. package/skills/iyulab-components/references/components/panel.md +38 -0
  326. package/skills/iyulab-components/references/components/popover.md +62 -0
  327. package/skills/iyulab-components/references/components/progress-bar.md +61 -0
  328. package/skills/iyulab-components/references/components/progress-ring.md +58 -0
  329. package/skills/iyulab-components/references/components/radio.md +67 -0
  330. package/skills/iyulab-components/references/components/rating.md +74 -0
  331. package/skills/iyulab-components/references/components/select.md +86 -0
  332. package/skills/iyulab-components/references/components/skeleton.md +46 -0
  333. package/skills/iyulab-components/references/components/slider.md +89 -0
  334. package/skills/iyulab-components/references/components/spinner.md +47 -0
  335. package/skills/iyulab-components/references/components/split-panel.md +65 -0
  336. package/skills/iyulab-components/references/components/switch.md +81 -0
  337. package/skills/iyulab-components/references/components/tab-panel.md +93 -0
  338. package/skills/iyulab-components/references/components/tag.md +55 -0
  339. package/skills/iyulab-components/references/components/textarea.md +67 -0
  340. package/skills/iyulab-components/references/components/tooltip.md +58 -0
  341. package/skills/iyulab-components/references/components/tree.md +128 -0
  342. package/skills/iyulab-components/references/extensions/data.md +60 -0
  343. package/skills/iyulab-components/references/extensions/element.md +57 -0
  344. package/skills/iyulab-components/references/extensions/floating.md +60 -0
  345. package/skills/iyulab-components/references/extensions/form-control.md +79 -0
  346. package/skills/iyulab-components/references/extensions/overlay.md +76 -0
  347. package/skills/iyulab-components/references/usage.md +216 -0
  348. package/skills/iyulab-components/references/utilities/browser-storage.md +54 -0
  349. package/skills/iyulab-components/references/utilities/converters.md +42 -0
  350. package/skills/iyulab-components/references/utilities/dialog.md +75 -0
  351. package/skills/iyulab-components/references/utilities/elements.md +55 -0
  352. package/skills/iyulab-components/references/utilities/icons.md +53 -0
  353. package/skills/iyulab-components/references/utilities/overlay-manager.md +34 -0
  354. package/skills/iyulab-components/references/utilities/sanitizers.md +32 -0
  355. package/skills/iyulab-components/references/utilities/theme.md +45 -0
  356. package/skills/iyulab-components/references/utilities/toast.md +58 -0
  357. package/dist/assets/icons/arrow-down-up.svg.js +0 -3
  358. package/dist/assets/icons/arrow-down.svg.js +0 -3
  359. package/dist/assets/icons/arrow-repeat.svg.js +0 -3
  360. package/dist/assets/icons/arrow-up.svg.js +0 -3
  361. package/dist/assets/icons/ban.svg.js +0 -3
  362. package/dist/assets/icons/bell-fill.svg.js +0 -3
  363. package/dist/assets/icons/box-arrow-up-right.svg.js +0 -3
  364. package/dist/assets/icons/check-circle-fill.svg.js +0 -3
  365. package/dist/assets/icons/check-lg.svg.js +0 -3
  366. package/dist/assets/icons/chevron-down.svg.js +0 -3
  367. package/dist/assets/icons/chevron-left.svg.js +0 -3
  368. package/dist/assets/icons/chevron-right.svg.js +0 -3
  369. package/dist/assets/icons/chevron-up.svg.js +0 -3
  370. package/dist/assets/icons/code-slash.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/download.svg.js +0 -3
  374. package/dist/assets/icons/exclamation-circle-fill.svg.js +0 -3
  375. package/dist/assets/icons/exclamation-triangle-fill.svg.js +0 -3
  376. package/dist/assets/icons/eye-slash.svg.js +0 -3
  377. package/dist/assets/icons/eye.svg.js +0 -3
  378. package/dist/assets/icons/file-earmark.svg.js +0 -3
  379. package/dist/assets/icons/flag.svg.js +0 -3
  380. package/dist/assets/icons/globe.svg.js +0 -3
  381. package/dist/assets/icons/hand-thumbs-down-fill.svg.js +0 -3
  382. package/dist/assets/icons/hand-thumbs-down.svg.js +0 -3
  383. package/dist/assets/icons/hand-thumbs-up-fill.svg.js +0 -3
  384. package/dist/assets/icons/hand-thumbs-up.svg.js +0 -3
  385. package/dist/assets/icons/info-circle-fill.svg.js +0 -3
  386. package/dist/assets/icons/lightbulb-fill.svg.js +0 -3
  387. package/dist/assets/icons/lightbulb-off.svg.js +0 -3
  388. package/dist/assets/icons/lightbulb.svg.js +0 -3
  389. package/dist/assets/icons/mic-fill.svg.js +0 -3
  390. package/dist/assets/icons/mic-mute-fill.svg.js +0 -3
  391. package/dist/assets/icons/paperclip.svg.js +0 -3
  392. package/dist/assets/icons/pencil-square.svg.js +0 -3
  393. package/dist/assets/icons/plus-lg.svg.js +0 -3
  394. package/dist/assets/icons/search.svg.js +0 -3
  395. package/dist/assets/icons/share.svg.js +0 -3
  396. package/dist/assets/icons/sort-alpha-down.svg.js +0 -3
  397. package/dist/assets/icons/sort-alpha-up.svg.js +0 -3
  398. package/dist/assets/icons/stop-circle.svg.js +0 -3
  399. package/dist/assets/icons/tools.svg.js +0 -3
  400. package/dist/assets/icons/x-lg.svg.js +0 -3
  401. package/dist/assets/styles/dark.css.js +0 -3
  402. package/dist/assets/styles/light.css.js +0 -3
  403. package/dist/components/UJsonElement.js +0 -93
  404. package/dist/components/UModalElement.d.ts +0 -70
  405. package/dist/components/UModalElement.js +0 -144
  406. package/dist/components/UModalElement.styles.js +0 -29
  407. package/dist/components/alert/UAlert.component.d.ts +0 -40
  408. package/dist/components/alert/UAlert.component.js +0 -146
  409. package/dist/components/button/UButton.component.d.ts +0 -23
  410. package/dist/components/button/UButton.component.js +0 -72
  411. package/dist/components/card/UCard.component.d.ts +0 -21
  412. package/dist/components/card/UCard.component.js +0 -66
  413. package/dist/components/carousel/UCarousel.component.d.ts +0 -78
  414. package/dist/components/carousel/UCarousel.component.js +0 -264
  415. package/dist/components/dialog/UDialog.component.d.ts +0 -17
  416. package/dist/components/dialog/UDialog.component.js +0 -70
  417. package/dist/components/divider/UDivider.component.d.ts +0 -10
  418. package/dist/components/divider/UDivider.component.js +0 -30
  419. package/dist/components/drawer/UDrawer.component.d.ts +0 -18
  420. package/dist/components/drawer/UDrawer.component.js +0 -64
  421. package/dist/components/form/UForm.component.d.ts +0 -24
  422. package/dist/components/form/UForm.component.js +0 -76
  423. package/dist/components/icon/UIcon.component.d.ts +0 -29
  424. package/dist/components/icon/UIcon.component.js +0 -57
  425. package/dist/components/input/UInput.component.d.ts +0 -92
  426. package/dist/components/input/UInput.component.js +0 -267
  427. package/dist/components/menu/UMenu.component.d.ts +0 -67
  428. package/dist/components/menu/UMenu.component.js +0 -338
  429. package/dist/components/menu-item/UMenuItem.component.d.ts +0 -25
  430. package/dist/components/menu-item/UMenuItem.component.js +0 -111
  431. package/dist/components/progress-bar/UProgressBar.component.d.ts +0 -27
  432. package/dist/components/progress-bar/UProgressBar.component.js +0 -99
  433. package/dist/components/progress-ring/UProgressRing.component.d.ts +0 -33
  434. package/dist/components/progress-ring/UProgressRing.component.js +0 -114
  435. package/dist/components/skeleton/USkeleton.component.d.ts +0 -22
  436. package/dist/components/skeleton/USkeleton.component.js +0 -58
  437. package/dist/components/spinner/USpinner.component.d.ts +0 -9
  438. package/dist/components/spinner/USpinner.component.js +0 -22
  439. package/dist/components/split-panel/USplitPanel.component.d.ts +0 -44
  440. package/dist/components/split-panel/USplitPanel.component.js +0 -185
  441. package/dist/components/tag/UTag.component.d.ts +0 -23
  442. package/dist/components/tag/UTag.component.js +0 -72
  443. package/dist/components/tooltip/UTooltip.component.d.ts +0 -27
  444. package/dist/components/tooltip/UTooltip.component.js +0 -88
  445. package/dist/components/tree/UTree.component.d.ts +0 -37
  446. package/dist/components/tree/UTree.component.js +0 -120
  447. package/dist/components/tree-item/UTreeItem.component.d.ts +0 -41
  448. package/dist/components/tree-item/UTreeItem.component.js +0 -161
  449. package/dist/events/UChangeEvent.d.ts +0 -6
  450. package/dist/events/UHideEvent.d.ts +0 -6
  451. package/dist/events/UInputEvent.d.ts +0 -6
  452. package/dist/events/UResizeEvent.d.ts +0 -6
  453. package/dist/events/USelectEvent.d.ts +0 -6
  454. package/dist/events/UShowEvent.d.ts +0 -6
  455. package/dist/react-components/UAlert.d.ts +0 -8
  456. package/dist/react-components/UForm.d.ts +0 -8
  457. package/dist/react-components/UInput.d.ts +0 -8
  458. package/dist/react-components/UMenu.d.ts +0 -8
  459. package/dist/react-components/UMenuItem.d.ts +0 -8
  460. package/dist/react-components/UProgressBar.d.ts +0 -8
  461. package/dist/react-components/UProgressRing.d.ts +0 -8
  462. package/dist/react-components/USplitPanel.d.ts +0 -8
  463. package/dist/react-components/UTooltip.d.ts +0 -8
  464. package/dist/react-components/UTree.d.ts +0 -8
  465. package/dist/react-components/UTreeItem.d.ts +0 -8
  466. package/dist/utilities/IconRegistry.d.ts +0 -40
  467. package/dist/utilities/IconRegistry.js +0 -134
  468. package/dist/utilities/Notifier.d.ts +0 -31
  469. package/dist/utilities/Notifier.js +0 -79
  470. package/dist/utilities/decorators.d.ts +0 -28
  471. /package/dist/components/{UJsonElement.styles.d.ts → UDataElement.styles.d.ts} +0 -0
  472. /package/dist/components/{UModalElement.styles.d.ts → UFormControlElement.styles.d.ts} +0 -0
@@ -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 |
@@ -0,0 +1,95 @@
1
+ # u-input
2
+
3
+ ```ts
4
+ import '@iyulab/components/dist/components/input/UInput.js';
5
+ ```
6
+
7
+ **Tag:** `u-input`
8
+
9
+ Text input field with prefix/suffix slots and label. Add `u-option` children for combobox (autocomplete) mode. Form-associated.
10
+
11
+ ```html
12
+ <u-input name="search" type="search" placeholder="Search..." clearable></u-input>
13
+
14
+ <!-- With icon prefix -->
15
+ <u-input name="email" type="email" label="Email" required>
16
+ <u-icon slot="prefix" lib="tabler" name="mail"></u-icon>
17
+ </u-input>
18
+
19
+ <!-- Combobox mode -->
20
+ <u-input name="country" placeholder="Select country">
21
+ <u-option value="us">United States</u-option>
22
+ <u-option value="kr">South Korea</u-option>
23
+ </u-input>
24
+ ```
25
+
26
+ ---
27
+
28
+ ## Slots
29
+
30
+ | Name | Description |
31
+ |------|-------------|
32
+ | `prefix` | Leading content (icon, text) |
33
+ | *(default)* | `u-option` elements for combobox mode |
34
+ | `suffix` | Trailing content |
35
+
36
+ ## Properties
37
+
38
+ | Property | Type | Default | Reflect | Description |
39
+ |----------|------|---------|---------|-------------|
40
+ | `variant` | `'outlined'\|'filled'\|'underlined'\|'borderless'` | `'outlined'` | ✓ | Visual style |
41
+ | `type` | `'text'\|'password'\|'email'\|'tel'\|'url'\|'search'\|'number'\|'date'\|'time'`… | `'text'` | — | Input type |
42
+ | `placeholder` | `string` | — | — | Placeholder text |
43
+ | `clearable` | `boolean` | `false` | ✓ | Show clear button |
44
+ | `minlength` | `number` | — | — | Minimum character count |
45
+ | `maxlength` | `number` | — | — | Maximum character count |
46
+ | `min` | `string` | — | — | Minimum value (number/date) |
47
+ | `max` | `string` | — | — | Maximum value |
48
+ | `step` | `number` | — | — | Step increment |
49
+ | `pattern` | `string` | — | — | Regex validation pattern |
50
+ | `autofocus` | `boolean` | `false` | — | Auto-focus on render |
51
+ | `autocomplete` | `AutoFill` | — | — | Browser autocomplete |
52
+ | `spellcheck` | `boolean` | `false` | — | Spellcheck |
53
+ | `disabled` | `boolean` | `false` | ✓ | Disabled |
54
+ | `readonly` | `boolean` | `false` | ✓ | Read-only |
55
+ | `required` | `boolean` | `false` | ✓ | Required |
56
+ | `invalid` | `boolean` | `false` | ✓ | Validation failed |
57
+ | `name` | `string` | — | — | Form field name |
58
+ | `value` | `string` | — | — | Current value |
59
+ | `label` | `string` | — | — | Field label |
60
+ | `description` | `string` | — | — | Helper text |
61
+ | `validationMessage` | `string` | — | — | Custom validation message |
62
+
63
+ ## Events
64
+
65
+ | Event | Description |
66
+ |-------|-------------|
67
+ | `input` | Fires on every keystroke |
68
+ | `change` | Fires when value is committed |
69
+
70
+ ## Methods
71
+
72
+ | Method | Description |
73
+ |--------|-------------|
74
+ | `validate()` | Validate; sets `invalid` |
75
+ | `reset()` | Clear value and validation state |
76
+ | `focus(options?)` | Focus the input |
77
+ | `blur()` | Blur the input |
78
+
79
+ ## CSS Parts
80
+
81
+ | Part | Description |
82
+ |------|-------------|
83
+ | `field` | Outer field wrapper |
84
+ | `container` | Input area wrapper |
85
+ | `input` | Native `<input>` element |
86
+ | `popover` | Combobox dropdown |
87
+
88
+ ## CSS Custom Properties
89
+
90
+ | Property | Description |
91
+ |----------|-------------|
92
+ | `--input-popover-min-width` | Combobox popover min-width |
93
+ | `--input-popover-max-width` | Combobox popover max-width |
94
+ | `--input-popover-min-height` | Combobox popover min-height |
95
+ | `--input-popover-max-height` | Combobox popover max-height |
@@ -0,0 +1,106 @@
1
+ # u-menu / u-menu-item
2
+
3
+ ```ts
4
+ import '@iyulab/components/dist/components/menu/UMenu.js';
5
+ import '@iyulab/components/dist/components/menu-item/UMenuItem.js';
6
+ ```
7
+
8
+ **Tags:** `u-menu`, `u-menu-item`
9
+
10
+ Keyboard-navigable menu. Supports single/multiple selection, highlight or checkmark indicator, and nested sub-menus.
11
+
12
+ ```html
13
+ <u-menu selection="single" indicator="check">
14
+ <u-menu-item value="home">Home</u-menu-item>
15
+ <u-menu-item value="about">About</u-menu-item>
16
+ <u-divider></u-divider>
17
+ <u-menu-item value="settings">
18
+ <u-icon slot="prefix" lib="tabler" name="settings"></u-icon>
19
+ Settings
20
+ <!-- Nested sub-menu -->
21
+ <u-menu slot="children">
22
+ <u-menu-item value="profile">Profile</u-menu-item>
23
+ <u-menu-item value="security">Security</u-menu-item>
24
+ </u-menu>
25
+ </u-menu-item>
26
+ </u-menu>
27
+ ```
28
+
29
+ ---
30
+
31
+ ## u-menu
32
+
33
+ ### Slots
34
+
35
+ | Name | Description |
36
+ |------|-------------|
37
+ | *(default)* | `u-menu-item` or `u-divider` elements |
38
+
39
+ ### Properties
40
+
41
+ | Property | Type | Default | Reflect | Description |
42
+ |----------|------|---------|---------|-------------|
43
+ | `selection` | `'none'\|'single'\|'multiple'` | `'none'` | ✓ | Selection mode |
44
+ | `indicator` | `'highlight'\|'check'` | `'highlight'` | ✓ | Selected item indicator style |
45
+ | `align` | `'left'\|'center'\|'right'` | `'left'` | ✓ | Item text alignment |
46
+ | `loop` | `boolean` | `false` | ✓ | Keyboard navigation wraps around |
47
+ | `inline` | `boolean` | `false` | ✓ | Horizontal layout |
48
+ | `borderless` | `boolean` | `false` | ✓ | Remove border |
49
+
50
+ ### Events
51
+
52
+ | Event | Description |
53
+ |-------|-------------|
54
+ | `change` | Fires when selection changes |
55
+
56
+ ### Getters
57
+
58
+ | Getter | Type | Description |
59
+ |--------|------|-------------|
60
+ | `items` | `readonly UMenuItem[]` | All direct menu items |
61
+ | `selectedItems` | `UMenuItem[]` | Currently selected items |
62
+
63
+ ### CSS Custom Properties
64
+
65
+ | Property | Description |
66
+ |----------|-------------|
67
+ | `--menu-indent-size` | Indentation per nesting level |
68
+
69
+ ---
70
+
71
+ ## u-menu-item
72
+
73
+ ### Slots
74
+
75
+ | Name | Description |
76
+ |------|-------------|
77
+ | `prefix` | Leading content |
78
+ | *(default)* | Item label |
79
+ | `suffix` | Trailing content |
80
+ | `children` | Nested `u-menu` for sub-menu |
81
+
82
+ ### Properties
83
+
84
+ | Property | Type | Default | Reflect | Description |
85
+ |----------|------|---------|---------|-------------|
86
+ | `value` | `string` | `''` | — | Unique identifier |
87
+ | `disabled` | `boolean` | `false` | ✓ | Disable the item |
88
+ | `selected` | `boolean` | `false` | ✓ | Selected state |
89
+ | `expanded` | `boolean` | `false` | ✓ | Sub-menu expanded |
90
+ | `indicator` | `'highlight'\|'check'` | `'highlight'` | ✓ | Selection indicator |
91
+ | `align` | `'left'\|'center'\|'right'` | `'left'` | ✓ | Text alignment |
92
+
93
+ ### Events
94
+
95
+ | Event | Description |
96
+ |-------|-------------|
97
+ | `pick` | Fires when item (with no children) is selected |
98
+
99
+ ### CSS Parts
100
+
101
+ | Part | Description |
102
+ |------|-------------|
103
+ | `header` | Item header row |
104
+ | `content` | Label content area |
105
+ | `submenu` | Inline sub-menu wrapper |
106
+ | `popover` | Popover sub-menu wrapper |
@@ -0,0 +1,70 @@
1
+ # u-option
2
+
3
+ ```ts
4
+ import '@iyulab/components/dist/components/option/UOption.js';
5
+ ```
6
+
7
+ **Tag:** `u-option`
8
+
9
+ Selectable option item. Used inside `u-select`, `u-radio`, and `u-input` (combobox mode).
10
+
11
+ ```html
12
+ <!-- Inside u-select -->
13
+ <u-select name="color">
14
+ <u-option value="red">Red</u-option>
15
+ <u-option value="blue" selected>Blue</u-option>
16
+ <u-option value="green" disabled>Green</u-option>
17
+ </u-select>
18
+
19
+ <!-- With prefix icon -->
20
+ <u-option value="admin">
21
+ <u-icon slot="prefix" lib="tabler" name="shield"></u-icon>
22
+ Admin
23
+ </u-option>
24
+
25
+ <!-- With marker -->
26
+ <u-option value="check" marker="check">With checkmark</u-option>
27
+ <u-option value="radio" marker="radio">Radio style</u-option>
28
+ ```
29
+
30
+ ---
31
+
32
+ ## Slots
33
+
34
+ | Name | Description |
35
+ |------|-------------|
36
+ | `prefix` | Leading content |
37
+ | *(default)* | Option label |
38
+ | `suffix` | Trailing content |
39
+
40
+ ## Properties
41
+
42
+ | Property | Type | Default | Reflect | Description |
43
+ |----------|------|---------|---------|-------------|
44
+ | `value` | `string` | `''` | — | Submitted value |
45
+ | `disabled` | `boolean` | `false` | ✓ | Disable the option |
46
+ | `selected` | `boolean` | `false` | ✓ | Selected state |
47
+ | `marker` | `'radio'\|'check'` | — | ✓ | Show leading marker icon |
48
+
49
+ ## Methods
50
+
51
+ | Method | Returns | Description |
52
+ |--------|---------|-------------|
53
+ | `getText()` | `string` | Returns the visible text content of the option |
54
+
55
+ ## CSS Parts
56
+
57
+ | Part | Description |
58
+ |------|-------------|
59
+ | `content` | Main content wrapper |
60
+
61
+ ## CSS Custom Properties
62
+
63
+ | Property | Description |
64
+ |----------|-------------|
65
+ | `--option-color-interactive` | Text color on hover |
66
+ | `--option-background-color-interactive` | Background on hover |
67
+ | `--option-color-active` | Text color when selected |
68
+ | `--option-background-color-active` | Background when selected |
69
+ | `--option-color-active-interactive` | Text color when selected + hovered |
70
+ | `--option-background-color-active-interactive` | Background when selected + hovered |
@@ -0,0 +1,38 @@
1
+ # u-panel
2
+
3
+ ```ts
4
+ import '@iyulab/components/dist/components/panel/UPanel.js';
5
+ ```
6
+
7
+ **Tag:** `u-panel`
8
+
9
+ General-purpose content panel. Matches a tab or tree node when using `value`. Supports optional collapsing.
10
+
11
+ ```html
12
+ <!-- Standalone collapsible panel -->
13
+ <u-panel collapsible>Content inside panel</u-panel>
14
+
15
+ <!-- Inside u-tab-panel (matched by value) -->
16
+ <u-tab-panel>
17
+ <u-tab value="tab1">Tab 1</u-tab>
18
+ <u-tab value="tab2">Tab 2</u-tab>
19
+ <u-panel value="tab1">Content for Tab 1</u-panel>
20
+ <u-panel value="tab2">Content for Tab 2</u-panel>
21
+ </u-tab-panel>
22
+ ```
23
+
24
+ ---
25
+
26
+ ## Slots
27
+
28
+ | Name | Description |
29
+ |------|-------------|
30
+ | *(default)* | Panel content |
31
+
32
+ ## Properties
33
+
34
+ | Property | Type | Default | Reflect | Description |
35
+ |----------|------|---------|---------|-------------|
36
+ | `value` | `string` | `''` | ✓ | Identifier used for tab/tree matching |
37
+ | `disabled` | `boolean` | `false` | ✓ | Disable the panel |
38
+ | `collapsible` | `boolean` | `false` | ✓ | Allow the panel to collapse |