revotech-ui-kit 0.0.0 → 0.0.1-beta-01

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 (375) hide show
  1. package/dist/revotech-ui-kit.cjs +2293 -0
  2. package/dist/revotech-ui-kit.js +5608 -0
  3. package/dist/src/assets/icons/arrows.icon.d.ts +1 -0
  4. package/dist/src/assets/icons/arrows.icon.js +20 -0
  5. package/dist/src/assets/icons/arrows.icon.js.map +1 -0
  6. package/dist/src/assets/icons/index.d.ts +3 -0
  7. package/dist/src/assets/icons/index.js +4 -0
  8. package/dist/src/assets/icons/index.js.map +1 -0
  9. package/dist/src/assets/icons/search.icon.d.ts +1 -0
  10. package/dist/src/assets/icons/search.icon.js +19 -0
  11. package/dist/src/assets/icons/search.icon.js.map +1 -0
  12. package/dist/src/assets/icons/tick.icon.d.ts +1 -0
  13. package/dist/src/assets/icons/tick.icon.js +20 -0
  14. package/dist/src/assets/icons/tick.icon.js.map +1 -0
  15. package/dist/src/components/atoms/alert/alert-description.d.ts +5 -0
  16. package/dist/src/components/atoms/alert/alert-description.js +18 -0
  17. package/dist/src/components/atoms/alert/alert-description.js.map +1 -0
  18. package/dist/src/components/atoms/alert/alert-title.d.ts +5 -0
  19. package/dist/src/components/atoms/alert/alert-title.js +20 -0
  20. package/dist/src/components/atoms/alert/alert-title.js.map +1 -0
  21. package/dist/src/components/atoms/alert/alert.atom.d.ts +15 -0
  22. package/dist/src/components/atoms/alert/alert.atom.js +55 -0
  23. package/dist/src/components/atoms/alert/alert.atom.js.map +1 -0
  24. package/dist/src/components/atoms/alert/alert.stories.d.ts +6 -0
  25. package/dist/src/components/atoms/alert/alert.stories.js +62 -0
  26. package/dist/src/components/atoms/alert/alert.stories.js.map +1 -0
  27. package/dist/src/components/atoms/alert/alert.styles.d.ts +4 -0
  28. package/dist/src/components/atoms/alert/alert.styles.js +21 -0
  29. package/dist/src/components/atoms/alert/alert.styles.js.map +1 -0
  30. package/dist/src/components/atoms/alert/alert.types.d.ts +1 -0
  31. package/dist/src/components/atoms/alert/alert.types.js +2 -0
  32. package/dist/src/components/atoms/alert/alert.types.js.map +1 -0
  33. package/dist/src/components/atoms/badge/badge.atom.d.ts +16 -0
  34. package/dist/src/components/atoms/badge/badge.atom.js +43 -0
  35. package/dist/src/components/atoms/badge/badge.atom.js.map +1 -0
  36. package/dist/src/components/atoms/badge/badge.stories.d.ts +6 -0
  37. package/dist/src/components/atoms/badge/badge.stories.js +110 -0
  38. package/dist/src/components/atoms/badge/badge.stories.js.map +1 -0
  39. package/dist/src/components/atoms/badge/badge.style.d.ts +3 -0
  40. package/dist/src/components/atoms/badge/badge.style.js +17 -0
  41. package/dist/src/components/atoms/badge/badge.style.js.map +1 -0
  42. package/dist/src/components/atoms/badge/badge.type.d.ts +1 -0
  43. package/dist/src/components/atoms/badge/badge.type.js +2 -0
  44. package/dist/src/components/atoms/badge/badge.type.js.map +1 -0
  45. package/dist/src/components/atoms/button/button.atom.d.ts +22 -0
  46. package/dist/src/components/atoms/button/button.atom.js +67 -0
  47. package/dist/src/components/atoms/button/button.atom.js.map +1 -0
  48. package/dist/src/components/atoms/button/button.stories.d.ts +6 -0
  49. package/dist/src/components/atoms/button/button.stories.js +204 -0
  50. package/dist/src/components/atoms/button/button.stories.js.map +1 -0
  51. package/dist/src/components/atoms/button/button.style.d.ts +4 -0
  52. package/dist/src/components/atoms/button/button.style.js +24 -0
  53. package/dist/src/components/atoms/button/button.style.js.map +1 -0
  54. package/{src/components/atoms/button/button.type.ts → dist/src/components/atoms/button/button.type.d.ts} +1 -8
  55. package/dist/src/components/atoms/button/button.type.js +2 -0
  56. package/dist/src/components/atoms/button/button.type.js.map +1 -0
  57. package/dist/src/components/atoms/card/card-content.d.ts +5 -0
  58. package/dist/src/components/atoms/card/card-content.js +17 -0
  59. package/dist/src/components/atoms/card/card-content.js.map +1 -0
  60. package/dist/src/components/atoms/card/card-description.d.ts +5 -0
  61. package/dist/src/components/atoms/card/card-description.js +17 -0
  62. package/dist/src/components/atoms/card/card-description.js.map +1 -0
  63. package/dist/src/components/atoms/card/card-footer.d.ts +5 -0
  64. package/dist/src/components/atoms/card/card-footer.js +17 -0
  65. package/dist/src/components/atoms/card/card-footer.js.map +1 -0
  66. package/dist/src/components/atoms/card/card-header.d.ts +5 -0
  67. package/dist/src/components/atoms/card/card-header.js +17 -0
  68. package/dist/src/components/atoms/card/card-header.js.map +1 -0
  69. package/dist/src/components/atoms/card/card-title.d.ts +5 -0
  70. package/dist/src/components/atoms/card/card-title.js +17 -0
  71. package/dist/src/components/atoms/card/card-title.js.map +1 -0
  72. package/dist/src/components/atoms/card/card.atom.d.ts +11 -0
  73. package/dist/src/components/atoms/card/card.atom.js +25 -0
  74. package/dist/src/components/atoms/card/card.atom.js.map +1 -0
  75. package/dist/src/components/atoms/card/card.stories.d.ts +6 -0
  76. package/dist/src/components/atoms/card/card.stories.js +136 -0
  77. package/dist/src/components/atoms/card/card.stories.js.map +1 -0
  78. package/dist/src/components/atoms/checkbox/checkbox.atom.d.ts +13 -0
  79. package/dist/src/components/atoms/checkbox/checkbox.atom.js +87 -0
  80. package/dist/src/components/atoms/checkbox/checkbox.atom.js.map +1 -0
  81. package/dist/src/components/atoms/checkbox/checkbox.stories.d.ts +8 -0
  82. package/dist/src/components/atoms/checkbox/checkbox.stories.js +244 -0
  83. package/dist/src/components/atoms/checkbox/checkbox.stories.js.map +1 -0
  84. package/dist/src/components/atoms/checkbox/checkbox.style.d.ts +2 -0
  85. package/dist/src/components/atoms/checkbox/checkbox.style.js +3 -0
  86. package/dist/src/components/atoms/checkbox/checkbox.style.js.map +1 -0
  87. package/dist/src/components/atoms/checkbox/checkbox.type.d.ts +21 -0
  88. package/dist/src/components/atoms/checkbox/checkbox.type.js +2 -0
  89. package/dist/src/components/atoms/checkbox/checkbox.type.js.map +1 -0
  90. package/dist/src/components/atoms/combo-box/combo-box-input.d.ts +8 -0
  91. package/dist/src/components/atoms/combo-box/combo-box-input.js +47 -0
  92. package/dist/src/components/atoms/combo-box/combo-box-input.js.map +1 -0
  93. package/dist/src/components/atoms/combo-box/combo-box-item.d.ts +12 -0
  94. package/dist/src/components/atoms/combo-box/combo-box-item.js +85 -0
  95. package/dist/src/components/atoms/combo-box/combo-box-item.js.map +1 -0
  96. package/dist/src/components/atoms/combo-box/combo-box-list.d.ts +9 -0
  97. package/dist/src/components/atoms/combo-box/combo-box-list.js +67 -0
  98. package/dist/src/components/atoms/combo-box/combo-box-list.js.map +1 -0
  99. package/dist/src/components/atoms/combo-box/combo-box.atom.d.ts +23 -0
  100. package/dist/src/components/atoms/combo-box/combo-box.atom.js +199 -0
  101. package/dist/src/components/atoms/combo-box/combo-box.atom.js.map +1 -0
  102. package/dist/src/components/atoms/combo-box/combo-box.stories.d.ts +9 -0
  103. package/dist/src/components/atoms/combo-box/combo-box.stories.js +86 -0
  104. package/dist/src/components/atoms/combo-box/combo-box.stories.js.map +1 -0
  105. package/dist/src/components/atoms/command-empty/command-empty.atom.d.ts +9 -0
  106. package/dist/src/components/atoms/command-empty/command-empty.atom.js +53 -0
  107. package/dist/src/components/atoms/command-empty/command-empty.atom.js.map +1 -0
  108. package/dist/src/components/atoms/command-group/command-group.atom.d.ts +10 -0
  109. package/dist/src/components/atoms/command-group/command-group.atom.js +70 -0
  110. package/dist/src/components/atoms/command-group/command-group.atom.js.map +1 -0
  111. package/dist/src/components/atoms/command-item/command-item.atom.d.ts +12 -0
  112. package/dist/src/components/atoms/command-item/command-item.atom.js +78 -0
  113. package/dist/src/components/atoms/command-item/command-item.atom.js.map +1 -0
  114. package/dist/src/components/atoms/command-list/command-list.atom.d.ts +6 -0
  115. package/dist/src/components/atoms/command-list/command-list.atom.js +35 -0
  116. package/dist/src/components/atoms/command-list/command-list.atom.js.map +1 -0
  117. package/dist/src/components/atoms/command-separator/command-separator.atom.d.ts +9 -0
  118. package/dist/src/components/atoms/command-separator/command-separator.atom.js +51 -0
  119. package/dist/src/components/atoms/command-separator/command-separator.atom.js.map +1 -0
  120. package/dist/src/components/atoms/dialog/dialog-close.d.ts +7 -0
  121. package/dist/src/components/atoms/dialog/dialog-close.js +46 -0
  122. package/dist/src/components/atoms/dialog/dialog-close.js.map +1 -0
  123. package/dist/src/components/atoms/dialog/dialog-content.d.ts +8 -0
  124. package/dist/src/components/atoms/dialog/dialog-content.js +72 -0
  125. package/dist/src/components/atoms/dialog/dialog-content.js.map +1 -0
  126. package/dist/src/components/atoms/dialog/dialog-footer.d.ts +5 -0
  127. package/dist/src/components/atoms/dialog/dialog-footer.js +22 -0
  128. package/dist/src/components/atoms/dialog/dialog-footer.js.map +1 -0
  129. package/dist/src/components/atoms/dialog/dialog-header.d.ts +7 -0
  130. package/dist/src/components/atoms/dialog/dialog-header.js +40 -0
  131. package/dist/src/components/atoms/dialog/dialog-header.js.map +1 -0
  132. package/dist/src/components/atoms/dialog/dialog-overly.d.ts +5 -0
  133. package/dist/src/components/atoms/dialog/dialog-overly.js +20 -0
  134. package/dist/src/components/atoms/dialog/dialog-overly.js.map +1 -0
  135. package/dist/src/components/atoms/dialog/dialog-trigger.d.ts +8 -0
  136. package/dist/src/components/atoms/dialog/dialog-trigger.js +53 -0
  137. package/dist/src/components/atoms/dialog/dialog-trigger.js.map +1 -0
  138. package/dist/src/components/atoms/dialog/dialog.atom.d.ts +8 -0
  139. package/dist/src/components/atoms/dialog/dialog.atom.js +78 -0
  140. package/dist/src/components/atoms/dialog/dialog.atom.js.map +1 -0
  141. package/dist/src/components/atoms/dialog/dialog.stories.d.ts +16 -0
  142. package/{src/components/atoms/dialog/dialog.stories.ts → dist/src/components/atoms/dialog/dialog.stories.js} +18 -16
  143. package/dist/src/components/atoms/dialog/dialog.stories.js.map +1 -0
  144. package/dist/src/components/atoms/dropdownMenu/dropdown-menu-checkbox-Item.d.ts +15 -0
  145. package/dist/src/components/atoms/dropdownMenu/dropdown-menu-checkbox-Item.js +115 -0
  146. package/dist/src/components/atoms/dropdownMenu/dropdown-menu-checkbox-Item.js.map +1 -0
  147. package/dist/src/components/atoms/dropdownMenu/dropdown-menu-content.d.ts +13 -0
  148. package/dist/src/components/atoms/dropdownMenu/dropdown-menu-content.js +80 -0
  149. package/dist/src/components/atoms/dropdownMenu/dropdown-menu-content.js.map +1 -0
  150. package/dist/src/components/atoms/dropdownMenu/dropdown-menu-group.d.ts +10 -0
  151. package/dist/src/components/atoms/dropdownMenu/dropdown-menu-group.js +70 -0
  152. package/dist/src/components/atoms/dropdownMenu/dropdown-menu-group.js.map +1 -0
  153. package/dist/src/components/atoms/dropdownMenu/dropdown-menu-item.d.ts +12 -0
  154. package/dist/src/components/atoms/dropdownMenu/dropdown-menu-item.js +78 -0
  155. package/dist/src/components/atoms/dropdownMenu/dropdown-menu-item.js.map +1 -0
  156. package/dist/src/components/atoms/dropdownMenu/dropdown-menu-radio-item.d.ts +15 -0
  157. package/dist/src/components/atoms/dropdownMenu/dropdown-menu-radio-item.js +116 -0
  158. package/dist/src/components/atoms/dropdownMenu/dropdown-menu-radio-item.js.map +1 -0
  159. package/dist/src/components/atoms/dropdownMenu/dropdown-menu-seperator.d.ts +9 -0
  160. package/dist/src/components/atoms/dropdownMenu/dropdown-menu-seperator.js +51 -0
  161. package/dist/src/components/atoms/dropdownMenu/dropdown-menu-seperator.js.map +1 -0
  162. package/dist/src/components/atoms/dropdownMenu/dropdown-menu-shortcut.d.ts +5 -0
  163. package/dist/src/components/atoms/dropdownMenu/dropdown-menu-shortcut.js +20 -0
  164. package/dist/src/components/atoms/dropdownMenu/dropdown-menu-shortcut.js.map +1 -0
  165. package/dist/src/components/atoms/dropdownMenu/dropdown-menu.atom.d.ts +14 -0
  166. package/dist/src/components/atoms/dropdownMenu/dropdown-menu.atom.js +77 -0
  167. package/dist/src/components/atoms/dropdownMenu/dropdown-menu.atom.js.map +1 -0
  168. package/dist/src/components/atoms/dropdownMenu/dropdownMenu.stories.d.ts +15 -0
  169. package/dist/src/components/atoms/dropdownMenu/dropdownMenu.stories.js +211 -0
  170. package/dist/src/components/atoms/dropdownMenu/dropdownMenu.stories.js.map +1 -0
  171. package/dist/src/components/atoms/dropdownMenu/dropdownMenu.style.d.ts +2 -0
  172. package/dist/src/components/atoms/dropdownMenu/dropdownMenu.style.js +4 -0
  173. package/dist/src/components/atoms/dropdownMenu/dropdownMenu.style.js.map +1 -0
  174. package/{src/components/atoms/index.ts → dist/src/components/atoms/index.d.ts} +3 -0
  175. package/dist/src/components/atoms/index.js +14 -0
  176. package/dist/src/components/atoms/index.js.map +1 -0
  177. package/dist/src/components/atoms/input/input.atom.d.ts +21 -0
  178. package/dist/src/components/atoms/input/input.atom.js +93 -0
  179. package/dist/src/components/atoms/input/input.atom.js.map +1 -0
  180. package/dist/src/components/atoms/input/input.stories.d.ts +8 -0
  181. package/dist/src/components/atoms/input/input.stories.js +382 -0
  182. package/dist/src/components/atoms/input/input.stories.js.map +1 -0
  183. package/dist/src/components/atoms/input/input.styles.d.ts +1 -0
  184. package/dist/src/components/atoms/input/input.styles.js +2 -0
  185. package/dist/src/components/atoms/input/input.styles.js.map +1 -0
  186. package/dist/src/components/atoms/input/input.type.d.ts +21 -0
  187. package/dist/src/components/atoms/input/input.type.js +2 -0
  188. package/dist/src/components/atoms/input/input.type.js.map +1 -0
  189. package/dist/src/components/atoms/label/label.atom.d.ts +11 -0
  190. package/dist/src/components/atoms/label/label.atom.js +67 -0
  191. package/dist/src/components/atoms/label/label.atom.js.map +1 -0
  192. package/dist/src/components/atoms/label/label.stories.d.ts +6 -0
  193. package/dist/src/components/atoms/label/label.stories.js +85 -0
  194. package/dist/src/components/atoms/label/label.stories.js.map +1 -0
  195. package/dist/src/components/atoms/label/label.style.d.ts +1 -0
  196. package/dist/src/components/atoms/label/label.style.js +3 -0
  197. package/dist/src/components/atoms/label/label.style.js.map +1 -0
  198. package/dist/src/components/atoms/popover/popover-content.d.ts +11 -0
  199. package/dist/src/components/atoms/popover/popover-content.js +62 -0
  200. package/dist/src/components/atoms/popover/popover-content.js.map +1 -0
  201. package/dist/src/components/atoms/popover/popover-trigger.d.ts +9 -0
  202. package/dist/src/components/atoms/popover/popover-trigger.js +50 -0
  203. package/dist/src/components/atoms/popover/popover-trigger.js.map +1 -0
  204. package/dist/src/components/atoms/popover/popover.atom.d.ts +8 -0
  205. package/dist/src/components/atoms/popover/popover.atom.js +40 -0
  206. package/dist/src/components/atoms/popover/popover.atom.js.map +1 -0
  207. package/dist/src/components/atoms/popover/popover.stories.d.ts +10 -0
  208. package/dist/src/components/atoms/popover/popover.stories.js +69 -0
  209. package/dist/src/components/atoms/popover/popover.stories.js.map +1 -0
  210. package/dist/src/components/atoms/popover/popover.style.d.ts +5 -0
  211. package/dist/src/components/atoms/popover/popover.style.js +21 -0
  212. package/dist/src/components/atoms/popover/popover.style.js.map +1 -0
  213. package/dist/src/components/atoms/popover/popover.types.d.ts +2 -0
  214. package/dist/src/components/atoms/popover/popover.types.js +4 -0
  215. package/dist/src/components/atoms/popover/popover.types.js.map +1 -0
  216. package/dist/src/components/atoms/toggle/defs.d.ts +27 -0
  217. package/dist/src/components/atoms/toggle/defs.js +30 -0
  218. package/dist/src/components/atoms/toggle/defs.js.map +1 -0
  219. package/dist/src/components/atoms/toggle/toggle.atom.d.ts +19 -0
  220. package/dist/src/components/atoms/toggle/toggle.atom.js +72 -0
  221. package/dist/src/components/atoms/toggle/toggle.atom.js.map +1 -0
  222. package/dist/src/components/atoms/toggle/toggle.stories.d.ts +6 -0
  223. package/dist/src/components/atoms/toggle/toggle.stories.js +189 -0
  224. package/dist/src/components/atoms/toggle/toggle.stories.js.map +1 -0
  225. package/dist/src/components/atoms/toggle/toggle.style.d.ts +4 -0
  226. package/dist/src/components/atoms/toggle/toggle.style.js +19 -0
  227. package/dist/src/components/atoms/toggle/toggle.style.js.map +1 -0
  228. package/dist/src/components/command/command.d.ts +56 -0
  229. package/dist/src/components/command/command.js +402 -0
  230. package/dist/src/components/command/command.js.map +1 -0
  231. package/dist/src/components/command/command.stories.d.ts +5 -0
  232. package/{src/components/command/command.stories.ts → dist/src/components/command/command.stories.js} +6 -7
  233. package/dist/src/components/command/command.stories.js.map +1 -0
  234. package/dist/src/components/index.js +3 -0
  235. package/dist/src/components/index.js.map +1 -0
  236. package/dist/src/components/molecules/command/command.molecules.d.ts +6 -0
  237. package/dist/src/components/molecules/command/command.molecules.js +27 -0
  238. package/dist/src/components/molecules/command/command.molecules.js.map +1 -0
  239. package/dist/src/components/molecules/command-input/command-input.atom.d.ts +10 -0
  240. package/dist/src/components/molecules/command-input/command-input.atom.js +125 -0
  241. package/dist/src/components/molecules/command-input/command-input.atom.js.map +1 -0
  242. package/dist/src/components/molecules/dropdownMenu/dropdownMenu.molecules.js +2 -0
  243. package/dist/src/components/molecules/dropdownMenu/dropdownMenu.molecules.js.map +1 -0
  244. package/dist/src/components/molecules/index.js +2 -0
  245. package/dist/src/components/molecules/index.js.map +1 -0
  246. package/dist/src/helpers/base-element.d.ts +10 -0
  247. package/dist/src/helpers/base-element.js +62 -0
  248. package/dist/src/helpers/base-element.js.map +1 -0
  249. package/{src/helpers/index.ts → dist/src/helpers/index.d.ts} +1 -0
  250. package/dist/src/helpers/index.js +4 -0
  251. package/dist/src/helpers/index.js.map +1 -0
  252. package/dist/src/helpers/mouse-conroller.helper.d.ts +14 -0
  253. package/dist/src/helpers/mouse-conroller.helper.js +33 -0
  254. package/dist/src/helpers/mouse-conroller.helper.js.map +1 -0
  255. package/dist/src/helpers/style.helpers.d.ts +2 -0
  256. package/dist/src/helpers/style.helpers.js +6 -0
  257. package/dist/src/helpers/style.helpers.js.map +1 -0
  258. package/dist/src/index.d.ts +4 -0
  259. package/dist/src/index.js +5 -0
  260. package/dist/src/index.js.map +1 -0
  261. package/dist/src/interfaces/actionable.interface.d.ts +5 -0
  262. package/dist/src/interfaces/actionable.interface.js +2 -0
  263. package/dist/src/interfaces/actionable.interface.js.map +1 -0
  264. package/dist/src/interfaces/atomic.interface.d.ts +6 -0
  265. package/dist/src/interfaces/atomic.interface.js +2 -0
  266. package/dist/src/interfaces/atomic.interface.js.map +1 -0
  267. package/{src/interfaces/changeable.interface.ts → dist/src/interfaces/changeable.interface.d.ts} +7 -14
  268. package/dist/src/interfaces/changeable.interface.js +2 -0
  269. package/dist/src/interfaces/changeable.interface.js.map +1 -0
  270. package/{src/interfaces/child-support-atomic.interface.ts → dist/src/interfaces/child-support-atomic.interface.d.ts} +4 -5
  271. package/dist/src/interfaces/child-support-atomic.interface.js +2 -0
  272. package/dist/src/interfaces/child-support-atomic.interface.js.map +1 -0
  273. package/dist/src/interfaces/index.js +7 -0
  274. package/dist/src/interfaces/index.js.map +1 -0
  275. package/dist/src/interfaces/intractable.interface.d.ts +6 -0
  276. package/dist/src/interfaces/intractable.interface.js +2 -0
  277. package/dist/src/interfaces/intractable.interface.js.map +1 -0
  278. package/{src/interfaces/variant.interface.ts → dist/src/interfaces/variant.interface.d.ts} +1 -1
  279. package/dist/src/interfaces/variant.interface.js +2 -0
  280. package/dist/src/interfaces/variant.interface.js.map +1 -0
  281. package/dist/src/lib/index.js +2 -0
  282. package/dist/src/lib/index.js.map +1 -0
  283. package/dist/src/lib/next/next.lib.js +2 -0
  284. package/dist/src/lib/next/next.lib.js.map +1 -0
  285. package/dist/src/lib/react/react.lib.d.ts +5 -0
  286. package/dist/src/lib/react/react.lib.js +16 -0
  287. package/dist/src/lib/react/react.lib.js.map +1 -0
  288. package/dist/src/lib/tw-styles.d.ts +1 -0
  289. package/{src/globals.css → dist/src/lib/tw-styles.js} +294 -144
  290. package/dist/src/lib/tw-styles.js.map +1 -0
  291. package/dist/src/styles/index.js +2 -0
  292. package/dist/src/styles/index.js.map +1 -0
  293. package/dist/src/styles/tw.styles.d.ts +1 -0
  294. package/dist/src/styles/tw.styles.js +2218 -0
  295. package/dist/src/styles/tw.styles.js.map +1 -0
  296. package/dist/src/wc-ui-app.d.ts +6 -0
  297. package/{src/wc-ui-app.ts → dist/src/wc-ui-app.js} +42 -35
  298. package/dist/src/wc-ui-app.js.map +1 -0
  299. package/dist/test/wc-ui-app.test.d.ts +0 -0
  300. package/dist/test/wc-ui-app.test.js +18 -0
  301. package/dist/test/wc-ui-app.test.js.map +1 -0
  302. package/dist/tsconfig.tsbuildinfo +1 -0
  303. package/dist/vite.config.d.ts +2 -0
  304. package/dist/vite.config.js +29 -0
  305. package/dist/vite.config.js.map +1 -0
  306. package/package.json +38 -20
  307. package/.editorconfig +0 -29
  308. package/.eslintrc +0 -10
  309. package/.storybook/main.ts +0 -17
  310. package/.storybook/preview-head.html +0 -1
  311. package/.storybook/preview.ts +0 -17
  312. package/assets/fonts/Geist/Geist-Black.otf +0 -0
  313. package/assets/fonts/Geist/Geist-Black.woff2 +0 -0
  314. package/assets/fonts/Geist/Geist-Bold.otf +0 -0
  315. package/assets/fonts/Geist/Geist-Bold.woff2 +0 -0
  316. package/assets/fonts/Geist/Geist-Light.otf +0 -0
  317. package/assets/fonts/Geist/Geist-Light.woff2 +0 -0
  318. package/assets/fonts/Geist/Geist-Medium.otf +0 -0
  319. package/assets/fonts/Geist/Geist-Medium.woff2 +0 -0
  320. package/assets/fonts/Geist/Geist-Regular.otf +0 -0
  321. package/assets/fonts/Geist/Geist-Regular.woff2 +0 -0
  322. package/assets/fonts/Geist/Geist-SemiBold.otf +0 -0
  323. package/assets/fonts/Geist/Geist-SemiBold.woff2 +0 -0
  324. package/assets/fonts/Geist/Geist-Thin.otf +0 -0
  325. package/assets/fonts/Geist/Geist-Thin.woff2 +0 -0
  326. package/assets/fonts/Geist/Geist-UltraBlack.otf +0 -0
  327. package/assets/fonts/Geist/Geist-UltraBlack.woff2 +0 -0
  328. package/assets/fonts/Geist/Geist-UltraLight.otf +0 -0
  329. package/assets/fonts/Geist/Geist-UltraLight.woff2 +0 -0
  330. package/assets/fonts/Geist/GeistVariableVF.ttf +0 -0
  331. package/assets/fonts/Geist/GeistVariableVF.woff2 +0 -0
  332. package/assets/fonts/Geist/LICENSE.TXT +0 -92
  333. package/assets/open-wc-logo.svg +0 -29
  334. package/index.html +0 -362
  335. package/rollup.config.js +0 -71
  336. package/src/components/atoms/button/button.atom.ts +0 -39
  337. package/src/components/atoms/button/button.stories.ts +0 -186
  338. package/src/components/atoms/button/button.style.ts +0 -31
  339. package/src/components/atoms/checkbox/checkbox.atom.ts +0 -62
  340. package/src/components/atoms/checkbox/checkbox.stories.ts +0 -42
  341. package/src/components/atoms/command-empty/command-empty.atom.ts +0 -44
  342. package/src/components/atoms/command-group/command-group.atom.ts +0 -60
  343. package/src/components/atoms/command-item/command-item.atom.ts +0 -74
  344. package/src/components/atoms/command-list/command-list.atom.ts +0 -37
  345. package/src/components/atoms/command-separator/command-separator.atom.ts +0 -42
  346. package/src/components/atoms/dialog/dialog.atom.ts +0 -301
  347. package/src/components/atoms/input/input.atom.ts +0 -34
  348. package/src/components/atoms/input/input.stories.ts +0 -89
  349. package/src/components/atoms/input/input.type.ts +0 -24
  350. package/src/components/atoms/label/label.atom.ts +0 -40
  351. package/src/components/atoms/label/label.stories.ts +0 -18
  352. package/src/components/atoms/label/label.style.ts +0 -5
  353. package/src/components/command/command.ts +0 -391
  354. package/src/components/molecules/command/command.molecules.ts +0 -31
  355. package/src/components/molecules/command-input/command-input.atom.ts +0 -130
  356. package/src/components/popover.ts +0 -247
  357. package/src/helpers/mouse-conroller.helper.ts +0 -42
  358. package/src/helpers/style.helpers.ts +0 -6
  359. package/src/interfaces/actionable.interface.ts +0 -6
  360. package/src/interfaces/atomic.interface.ts +0 -6
  361. package/src/interfaces/intractable.interface.ts +0 -6
  362. package/src/styles/tw.styles.ts +0 -1867
  363. package/src/tailwind-lib.css +0 -95
  364. package/tailwind.config.js +0 -81
  365. package/test/wc-ui-app.test.ts +0 -22
  366. package/tsconfig.json +0 -25
  367. package/web-dev-server.config.mjs +0 -26
  368. package/web-test-runner.config.mjs +0 -41
  369. /package/{src/components/index.ts → dist/src/components/index.d.ts} +0 -0
  370. /package/{src/lib/index.ts → dist/src/components/molecules/dropdownMenu/dropdownMenu.molecules.d.ts} +0 -0
  371. /package/{src/components/molecules/index.ts → dist/src/components/molecules/index.d.ts} +0 -0
  372. /package/{src/interfaces/index.ts → dist/src/interfaces/index.d.ts} +0 -0
  373. /package/{src/lib/next/next.lib.ts → dist/src/lib/index.d.ts} +0 -0
  374. /package/{src/lib/react/react.lib.ts → dist/src/lib/next/next.lib.d.ts} +0 -0
  375. /package/{src/styles/index.ts → dist/src/styles/index.d.ts} +0 -0
@@ -0,0 +1,136 @@
1
+ import { html } from 'lit';
2
+ import { expect, within, waitFor } from '@storybook/test';
3
+ import './card.atom';
4
+ export default {
5
+ component: 'components/card',
6
+ tags: ['autodocs'],
7
+ };
8
+ const testCardBehavior = async (args, canvasElement) => {
9
+ const canvas = within(canvasElement);
10
+ const card = await waitFor(() => canvas.getByTestId('card-id'));
11
+ const cardHeader = await waitFor(() => canvas.getByTestId('card-header-id'));
12
+ const cardTitle = await waitFor(() => canvas.getByTestId('card-title-id'));
13
+ const cardDescription = await waitFor(() => canvas.getByTestId('card-description-id'));
14
+ const cardContent = await waitFor(() => canvas.getByTestId('card-content-id'));
15
+ const cardFooter = await waitFor(() => canvas.getByTestId('card-footer-id'));
16
+ expect(card).toBeVisible();
17
+ expect(cardHeader).toBeVisible();
18
+ expect(cardTitle).toBeVisible();
19
+ expect(cardDescription).toBeVisible();
20
+ expect(cardContent).toBeVisible();
21
+ expect(cardFooter).toBeVisible();
22
+ if (card.shadowRoot) {
23
+ const cardItem = await card.shadowRoot.getElementById('rtg-card-id');
24
+ expect(cardItem).toHaveClass('rounded-lg border bg-card text-card-foreground shadow-sm p-6');
25
+ }
26
+ if (cardTitle) {
27
+ expect(cardTitle.textContent).toContain('Create project');
28
+ expect(cardTitle.tagName.toLowerCase()).toEqual('cardtitle');
29
+ }
30
+ if (cardDescription) {
31
+ expect(cardDescription.textContent).toContain('Deploy your new project in one-click.');
32
+ expect(cardDescription.tagName.toLowerCase()).toEqual('carddescription');
33
+ }
34
+ };
35
+ export const Cards = {
36
+ name: 'Cards',
37
+ render: () => html `
38
+ <rtg-card data-testid="card-id">
39
+ <CardHeader data-testid="card-header-id">
40
+ <CardTitle data-testid="card-title-id">
41
+ <h3>Create project</h3>
42
+ </CardTitle>
43
+ <CardDescription data-testid="card-description-id">
44
+ <p class="text-sm text-muted-foreground">
45
+ Deploy your new project in one-click.
46
+ </p>
47
+ </CardDescription>
48
+ </CardHeader>
49
+ <CardContent data-testid="card-content-id">
50
+ <form class="pt-4">
51
+ <div class="grid w-full items-center gap-4">
52
+ <div class="flex flex-col space-y-1.5">
53
+ <label
54
+ class="text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
55
+ for="name"
56
+ >Name</label
57
+ ><input
58
+ class="flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50"
59
+ id="name"
60
+ placeholder="Name of your project"
61
+ />
62
+ </div>
63
+ <div class="flex flex-col space-y-1.5">
64
+ <label
65
+ class="text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
66
+ for="framework"
67
+ >Framework</label
68
+ ><button
69
+ type="button"
70
+ role="combobox"
71
+ aria-controls="radix-:r2b:"
72
+ aria-expanded="false"
73
+ aria-autocomplete="none"
74
+ dir="ltr"
75
+ data-state="closed"
76
+ data-placeholder=""
77
+ class="flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&amp;>span]:line-clamp-1"
78
+ id="framework"
79
+ >
80
+ <span style="pointer-events: none;">Select</span
81
+ ><svg
82
+ xmlns="http://www.w3.org/2000/svg"
83
+ width="24"
84
+ height="24"
85
+ viewBox="0 0 24 24"
86
+ fill="none"
87
+ stroke="currentColor"
88
+ stroke-width="2"
89
+ stroke-linecap="round"
90
+ stroke-linejoin="round"
91
+ class="lucide lucide-chevron-down h-4 w-4 opacity-50"
92
+ aria-hidden="true"
93
+ >
94
+ <path d="m6 9 6 6 6-6"></path>
95
+ </svg></button
96
+ ><select
97
+ aria-hidden="true"
98
+ tabindex="-1"
99
+ style="position: absolute; border: 0px; width: 1px; height: 1px; padding: 0px; margin: -1px; overflow: hidden; clip: rect(0px, 0px, 0px, 0px); white-space: nowrap; overflow-wrap: normal;"
100
+ >
101
+ <option value=""></option>
102
+ <option value="next">Next.js</option>
103
+ <option value="sveltekit">SvelteKit</option>
104
+ <option value="astro">Astro</option>
105
+ <option value="nuxt">Nuxt.js</option>
106
+ </select>
107
+ </div>
108
+ </div>
109
+ </form>
110
+ </CardContent>
111
+ <CardFooter data-testid="card-footer-id">
112
+ <div class="items-center pt-4 flex justify-between">
113
+ <button
114
+ class="inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 border border-input bg-background hover:bg-accent hover:text-accent-foreground h-10 px-4 py-2"
115
+ >
116
+ Cancel
117
+ </button>
118
+ <button
119
+ class="inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 bg-primary text-primary-foreground hover:bg-primary/90 h-10 px-4 py-2"
120
+ >
121
+ Deploy
122
+ </button>
123
+ </div>
124
+ </CardFooter>
125
+ </rtg-card>
126
+ `,
127
+ play: async ({ args, canvasElement }) => {
128
+ try {
129
+ await testCardBehavior(args, canvasElement);
130
+ }
131
+ catch (error) {
132
+ console.error('An error occurred during the play function:', error);
133
+ }
134
+ },
135
+ };
136
+ //# sourceMappingURL=card.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"card.stories.js","sourceRoot":"","sources":["../../../../../src/components/atoms/card/card.stories.ts"],"names":[],"mappings":"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","sourcesContent":["import { html } from 'lit';\nimport type { Meta, StoryFn, StoryObj } from '@storybook/web-components';\nimport { expect, within, fn, waitFor, userEvent } from '@storybook/test';\nimport './card.atom';\n\nexport default {\n component: 'components/card',\n tags: ['autodocs'],\n} as Meta;\n\ntype Story = StoryObj;\n\nconst testCardBehavior = async (args: any, canvasElement: HTMLElement) => {\n const canvas = within(canvasElement);\n const card = await waitFor(() => canvas.getByTestId('card-id'));\n const cardHeader = await waitFor(() => canvas.getByTestId('card-header-id'));\n const cardTitle = await waitFor(() => canvas.getByTestId('card-title-id'));\n const cardDescription = await waitFor(() =>\n canvas.getByTestId('card-description-id')\n );\n const cardContent = await waitFor(() =>\n canvas.getByTestId('card-content-id')\n );\n const cardFooter = await waitFor(() => canvas.getByTestId('card-footer-id'));\n expect(card).toBeVisible();\n expect(cardHeader).toBeVisible();\n expect(cardTitle).toBeVisible();\n expect(cardDescription).toBeVisible();\n expect(cardContent).toBeVisible();\n expect(cardFooter).toBeVisible();\n\n if (card.shadowRoot) {\n const cardItem = await card.shadowRoot.getElementById('rtg-card-id');\n expect(cardItem).toHaveClass(\n 'rounded-lg border bg-card text-card-foreground shadow-sm p-6'\n );\n }\n if (cardTitle) {\n expect(cardTitle.textContent).toContain('Create project');\n expect(cardTitle.tagName.toLowerCase()).toEqual('cardtitle');\n }\n if (cardDescription) {\n expect(cardDescription.textContent).toContain(\n 'Deploy your new project in one-click.'\n );\n expect(cardDescription.tagName.toLowerCase()).toEqual('carddescription');\n }\n};\n\nexport const Cards: Story = {\n name: 'Cards',\n render: () => html`\n <rtg-card data-testid=\"card-id\">\n <CardHeader data-testid=\"card-header-id\">\n <CardTitle data-testid=\"card-title-id\">\n <h3>Create project</h3>\n </CardTitle>\n <CardDescription data-testid=\"card-description-id\">\n <p class=\"text-sm text-muted-foreground\">\n Deploy your new project in one-click.\n </p>\n </CardDescription>\n </CardHeader>\n <CardContent data-testid=\"card-content-id\">\n <form class=\"pt-4\">\n <div class=\"grid w-full items-center gap-4\">\n <div class=\"flex flex-col space-y-1.5\">\n <label\n class=\"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\"\n for=\"name\"\n >Name</label\n ><input\n class=\"flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\"\n id=\"name\"\n placeholder=\"Name of your project\"\n />\n </div>\n <div class=\"flex flex-col space-y-1.5\">\n <label\n class=\"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\"\n for=\"framework\"\n >Framework</label\n ><button\n type=\"button\"\n role=\"combobox\"\n aria-controls=\"radix-:r2b:\"\n aria-expanded=\"false\"\n aria-autocomplete=\"none\"\n dir=\"ltr\"\n data-state=\"closed\"\n data-placeholder=\"\"\n class=\"flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&amp;>span]:line-clamp-1\"\n id=\"framework\"\n >\n <span style=\"pointer-events: none;\">Select</span\n ><svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n class=\"lucide lucide-chevron-down h-4 w-4 opacity-50\"\n aria-hidden=\"true\"\n >\n <path d=\"m6 9 6 6 6-6\"></path>\n </svg></button\n ><select\n aria-hidden=\"true\"\n tabindex=\"-1\"\n style=\"position: absolute; border: 0px; width: 1px; height: 1px; padding: 0px; margin: -1px; overflow: hidden; clip: rect(0px, 0px, 0px, 0px); white-space: nowrap; overflow-wrap: normal;\"\n >\n <option value=\"\"></option>\n <option value=\"next\">Next.js</option>\n <option value=\"sveltekit\">SvelteKit</option>\n <option value=\"astro\">Astro</option>\n <option value=\"nuxt\">Nuxt.js</option>\n </select>\n </div>\n </div>\n </form>\n </CardContent>\n <CardFooter data-testid=\"card-footer-id\">\n <div class=\"items-center pt-4 flex justify-between\">\n <button\n class=\"inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 border border-input bg-background hover:bg-accent hover:text-accent-foreground h-10 px-4 py-2\"\n >\n Cancel\n </button>\n <button\n class=\"inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 bg-primary text-primary-foreground hover:bg-primary/90 h-10 px-4 py-2\"\n >\n Deploy\n </button>\n </div>\n </CardFooter>\n </rtg-card>\n `,\n play: async ({ args, canvasElement }) => {\n try {\n await testCardBehavior(args, canvasElement);\n } catch (error) {\n console.error('An error occurred during the play function:', error);\n }\n },\n};\n"]}
@@ -0,0 +1,13 @@
1
+ import { LitElement } from 'lit';
2
+ import { CheckboxProperties } from './checkbox.type';
3
+ export declare class Checkbox extends LitElement implements CheckboxProperties {
4
+ disabled: boolean;
5
+ checked: boolean;
6
+ type: string;
7
+ value: string;
8
+ required: boolean;
9
+ static styles: import("lit").CSSResult[];
10
+ private _onClick;
11
+ click(): void;
12
+ render(): import("lit-html").TemplateResult<1>;
13
+ }
@@ -0,0 +1,87 @@
1
+ import { __decorate } from "tslib";
2
+ import { LitElement, html, css, nothing } from 'lit';
3
+ import { property, customElement } from 'lit/decorators.js';
4
+ import { cn } from '../../../helpers';
5
+ import { TWStyles } from '../../../styles';
6
+ import { checkboxStyles, iconStyles } from './checkbox.style';
7
+ let Checkbox = class Checkbox extends LitElement {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.disabled = false;
11
+ this.checked = false;
12
+ this.type = 'text';
13
+ this.value = '';
14
+ this.required = false;
15
+ }
16
+ _onClick(e) {
17
+ if (e.defaultPrevented)
18
+ return;
19
+ this.checked = !this.checked;
20
+ this.required = !this.required;
21
+ // Dispatch a custom change event when the state changes
22
+ this.dispatchEvent(new Event('change', { bubbles: true, composed: true }));
23
+ }
24
+ click() {
25
+ this.checked = !this.checked;
26
+ this.required = !this.required;
27
+ }
28
+ render() {
29
+ const additionalProps = { ...this.dataset }; // Example of additional props
30
+ return html `
31
+ <button
32
+ data-testid="checkbox-atom"
33
+ type="button"
34
+ role="checkbox"
35
+ aria-checked="${this.checked || this.value === 'on'}"
36
+ data-state="${this.checked || this.value === 'on'
37
+ ? 'checked'
38
+ : 'unchecked'}"
39
+ value="${this.value}"
40
+ ?required=${this.required}
41
+ ?disabled=${this.disabled}
42
+ @click="${this._onClick}"
43
+ class="${cn(checkboxStyles, this.className)}"
44
+ ${Object.entries(additionalProps).map(([key, value]) => html ` ${key}="${value}" `)}
45
+ >
46
+ ${this.checked || this.value === 'on'
47
+ ? html `<span data-state="checked" class="${iconStyles}"
48
+ ><svg
49
+ xmlns="http://www.w3.org/2000/svg"
50
+ width="24"
51
+ height="24"
52
+ viewBox="0 0 24 24"
53
+ fill="none"
54
+ stroke="currentColor"
55
+ stroke-width="3"
56
+ stroke-linecap="round"
57
+ stroke-linejoin="round"
58
+ class="h-4 w-4"
59
+ >
60
+ <polyline points="20 6 9 17 4 12"></polyline></svg
61
+ ></span>`
62
+ : nothing}
63
+ </button>
64
+ `;
65
+ }
66
+ };
67
+ Checkbox.styles = [css ``, TWStyles];
68
+ __decorate([
69
+ property({ type: Boolean })
70
+ ], Checkbox.prototype, "disabled", void 0);
71
+ __decorate([
72
+ property({ type: Boolean })
73
+ ], Checkbox.prototype, "checked", void 0);
74
+ __decorate([
75
+ property({ type: String })
76
+ ], Checkbox.prototype, "type", void 0);
77
+ __decorate([
78
+ property({ type: String })
79
+ ], Checkbox.prototype, "value", void 0);
80
+ __decorate([
81
+ property({ type: Boolean })
82
+ ], Checkbox.prototype, "required", void 0);
83
+ Checkbox = __decorate([
84
+ customElement('rtg-checkbox')
85
+ ], Checkbox);
86
+ export { Checkbox };
87
+ //# sourceMappingURL=checkbox.atom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox.atom.js","sourceRoot":"","sources":["../../../../../src/components/atoms/checkbox/checkbox.atom.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAIvD,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,UAAU;IAAjC;;QACwB,aAAQ,GAAG,KAAK,CAAC;QAEjB,YAAO,GAAG,KAAK,CAAC;QAEjB,SAAI,GAAG,MAAM,CAAC;QAEd,UAAK,GAAG,EAAE,CAAC;QAEV,aAAQ,GAAG,KAAK,CAAC;IA0DhD,CAAC;IAtDS,QAAQ,CAAC,CAAQ;QACvB,IAAI,CAAC,CAAC,gBAAgB;YAAE,OAAO;QAC/B,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;QAE/B,wDAAwD;QACxD,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC7E,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;IACjC,CAAC;IAED,MAAM;QACJ,MAAM,eAAe,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,8BAA8B;QAC3E,OAAO,IAAI,CAAA;;;;;wBAKS,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI;sBACrC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI;YAC/C,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,WAAW;iBACN,IAAI,CAAC,KAAK;oBACP,IAAI,CAAC,QAAQ;oBACb,IAAI,CAAC,QAAQ;kBACf,IAAI,CAAC,QAAQ;iBACd,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC;UACzC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,GAAG,CACnC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAA,IAAI,GAAG,KAAK,KAAK,IAAI,CAC5C;;UAEC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI;YACnC,CAAC,CAAC,IAAI,CAAA,qCAAqC,UAAU;;;;;;;;;;;;;;qBAc1C;YACX,CAAC,CAAC,OAAO;;KAEd,CAAC;IACJ,CAAC;;AAvDM,eAAM,GAAG,CAAC,GAAG,CAAA,EAAE,EAAE,QAAQ,CAAC,AAApB,CAAqB;AAVL;IAA5B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;0CAAkB;AAEjB;IAA5B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;yCAAiB;AAEjB;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;sCAAe;AAEd;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;uCAAY;AAEV;IAA5B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;0CAAkB;AATnC,QAAQ;IADpB,aAAa,CAAC,cAAc,CAAC;GACjB,QAAQ,CAmEpB","sourcesContent":["import { LitElement, html, css, nothing } from 'lit';\nimport { property, customElement } from 'lit/decorators.js';\nimport { cn } from '../../../helpers';\nimport { TWStyles } from '../../../styles';\nimport { checkboxStyles, iconStyles } from './checkbox.style';\nimport { CheckboxProperties } from './checkbox.type';\n\n@customElement('rtg-checkbox')\nexport class Checkbox extends LitElement implements CheckboxProperties {\n @property({ type: Boolean }) disabled = false;\n\n @property({ type: Boolean }) checked = false;\n\n @property({ type: String }) type = 'text';\n\n @property({ type: String }) value = '';\n\n @property({ type: Boolean }) required = false;\n\n static styles = [css``, TWStyles];\n\n private _onClick(e: Event) {\n if (e.defaultPrevented) return;\n this.checked = !this.checked;\n this.required = !this.required;\n\n // Dispatch a custom change event when the state changes\n this.dispatchEvent(new Event('change', { bubbles: true, composed: true }));\n }\n\n public click() {\n this.checked = !this.checked;\n this.required = !this.required;\n }\n\n render() {\n const additionalProps = { ...this.dataset }; // Example of additional props\n return html`\n <button\n data-testid=\"checkbox-atom\"\n type=\"button\"\n role=\"checkbox\"\n aria-checked=\"${this.checked || this.value === 'on'}\"\n data-state=\"${this.checked || this.value === 'on'\n ? 'checked'\n : 'unchecked'}\"\n value=\"${this.value}\"\n ?required=${this.required}\n ?disabled=${this.disabled}\n @click=\"${this._onClick}\"\n class=\"${cn(checkboxStyles, this.className)}\"\n ${Object.entries(additionalProps).map(\n ([key, value]) => html` ${key}=\"${value}\" `\n )}\n >\n ${this.checked || this.value === 'on'\n ? html`<span data-state=\"checked\" class=\"${iconStyles}\"\n ><svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"3\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n class=\"h-4 w-4\"\n >\n <polyline points=\"20 6 9 17 4 12\"></polyline></svg\n ></span>`\n : nothing}\n </button>\n `;\n }\n}\n"]}
@@ -0,0 +1,8 @@
1
+ import type { Meta, StoryFn } from '@storybook/web-components';
2
+ import './checkbox.atom';
3
+ import '../button/button.atom';
4
+ declare const _default: Meta;
5
+ export default _default;
6
+ export declare const CheckboxWithReuired: StoryFn;
7
+ export declare const Checkbox: StoryFn;
8
+ export declare const CheckboxWithValue: StoryFn;
@@ -0,0 +1,244 @@
1
+ import { html } from 'lit';
2
+ import './checkbox.atom';
3
+ import { expect, within, waitFor, fn } from '@storybook/test';
4
+ import '../button/button.atom';
5
+ const allowedTypes = ['checkbox'];
6
+ export default {
7
+ component: 'components/checkbox',
8
+ tags: ['autodocs'],
9
+ };
10
+ const mockOnClickHandler = fn(event => {
11
+ alert('submit data!');
12
+ });
13
+ const testCheckboxBehavior = async (args, canvasElement) => {
14
+ const canvas = within(canvasElement);
15
+ const checkbox = await waitFor(() => canvas.getByTestId('checkbox-id'));
16
+ if (checkbox.shadowRoot) {
17
+ const innerCheckbox = checkbox.shadowRoot.querySelector('[data-testid="checkbox-atom"]');
18
+ // 1. Test: Checkbox should have correct Role attribute
19
+ expect(innerCheckbox).toHaveRole('checkbox');
20
+ // 2. Test: Checkbox should have the correct `checked` state based on args
21
+ if (args.checked) {
22
+ expect(innerCheckbox).toBeChecked();
23
+ }
24
+ else {
25
+ expect(innerCheckbox).not.toBeChecked();
26
+ }
27
+ // 3. Test: Checkbox should be disabled when the `disabled` prop is true
28
+ if (args.disabled) {
29
+ expect(innerCheckbox).toBeDisabled();
30
+ }
31
+ else {
32
+ expect(innerCheckbox).not.toBeDisabled();
33
+ }
34
+ // 4. Test: Label should have correct `for` attribute linking to the checkbox
35
+ const label = await waitFor(() => canvas.getByText(args.label));
36
+ expect(label).toBeInTheDocument();
37
+ expect(label).toHaveAttribute('for', checkbox.getAttribute('id'));
38
+ }
39
+ };
40
+ const testCheckboxWithRequiredBehavior = async (args, canvasElement) => {
41
+ const canvas = within(canvasElement);
42
+ const checkbox = await waitFor(() => canvas.getByTestId('checkbox-id'));
43
+ const button = await waitFor(() => canvas.getByTestId('btn-id'));
44
+ if (checkbox.shadowRoot) {
45
+ const innerCheckbox = checkbox.shadowRoot.querySelector('[data-testid="checkbox-atom"]');
46
+ // Test: Checkbox should have the correct required attribute
47
+ if (args.required) {
48
+ expect(innerCheckbox).toHaveAttribute('required');
49
+ }
50
+ else {
51
+ expect(innerCheckbox).not.toHaveAttribute('required');
52
+ }
53
+ // Test: Button should be disabled when checkbox is unchecked and required is true
54
+ if (args.required && !args.checked) {
55
+ expect(button).toBeDisabled();
56
+ }
57
+ else if (args.required && args.checked) {
58
+ expect(button).not.toBeDisabled();
59
+ }
60
+ // Additional tests for the checked state
61
+ if (args.checked) {
62
+ expect(innerCheckbox).toBeChecked();
63
+ }
64
+ else {
65
+ expect(innerCheckbox).not.toBeChecked();
66
+ }
67
+ // Additional tests for the disabled state
68
+ if (args.disabled) {
69
+ expect(innerCheckbox).toBeDisabled();
70
+ }
71
+ else {
72
+ expect(innerCheckbox).not.toBeDisabled();
73
+ }
74
+ }
75
+ };
76
+ const testCheckboxWithValueBehavior = async (args, canvasElement) => {
77
+ const canvas = within(canvasElement);
78
+ const checkbox = await waitFor(() => canvas.getByTestId('checkbox-id'));
79
+ if (checkbox.shadowRoot) {
80
+ const innerCheckbox = checkbox.shadowRoot.querySelector('[data-testid="checkbox-atom"]');
81
+ // Test: Checkbox should have the correct value attribute
82
+ expect(innerCheckbox).toHaveAttribute('value', args.value);
83
+ // Additional tests for disabled state if needed
84
+ if (args.disabled) {
85
+ expect(innerCheckbox).toBeDisabled();
86
+ }
87
+ else {
88
+ expect(innerCheckbox).not.toBeDisabled();
89
+ }
90
+ }
91
+ };
92
+ const TemplatewithChecked = ({ disabled, checked, label }) => html `
93
+ <div style="display:flex">
94
+ <rtg-checkbox
95
+ id="terms"
96
+ data-testid="checkbox-id"
97
+ ?disabled=${disabled}
98
+ ?checked=${checked}
99
+ ></rtg-checkbox>
100
+ <rtg-label style="margin:2px 0px 0px 4px" for="terms">${label}</rtg-label>
101
+ </div>
102
+ `;
103
+ const TemplatewithRequired = ({ disabled, checked, label, required, }) => html `
104
+ <div style="display: flex; flex-direction: column;">
105
+ <div style="display:flex">
106
+ <rtg-checkbox
107
+ id="terms"
108
+ data-testid="checkbox-id"
109
+ ?disabled=${disabled}
110
+ ?checked=${checked}
111
+ ?required=${required}
112
+ @click=${(e) => {
113
+ const checkbox = e.target;
114
+ const button = document.querySelector('rtg-button');
115
+ if (button) {
116
+ button.disabled = required ? !checkbox.checked : false;
117
+ }
118
+ }}
119
+ ></rtg-checkbox>
120
+ <rtg-label style="margin:2px 0px 0px 4px" for="terms"
121
+ >${label}</rtg-label
122
+ >
123
+ </div>
124
+ <div style="margin-top:16px">
125
+ <rtg-button
126
+ variant="default"
127
+ size="default"
128
+ data-testid="btn-id"
129
+ ?disabled=${required ? !checked : false}
130
+ .click=${mockOnClickHandler}
131
+ >Submit</rtg-button
132
+ >
133
+ </div>
134
+ </div>
135
+ `;
136
+ const TemplateWithVlaue = ({ disabled, label, value }) => html `
137
+ <div style="display:flex">
138
+ <rtg-checkbox
139
+ id="terms"
140
+ data-testid="checkbox-id"
141
+ value=${value}
142
+ ?disabled=${disabled}
143
+ ></rtg-checkbox>
144
+ <rtg-label style="margin:2px 0px 0px 4px" for="terms">${label}</rtg-label>
145
+ </div>
146
+ `;
147
+ export const CheckboxWithReuired = TemplatewithRequired.bind({});
148
+ CheckboxWithReuired.args = {
149
+ disabled: false,
150
+ checked: false,
151
+ required: false,
152
+ label: 'Accept terms and conditions',
153
+ };
154
+ CheckboxWithReuired.parameters = {
155
+ docs: {
156
+ source: {
157
+ transform: (code, storyContext) => {
158
+ const args = storyContext.args;
159
+ // Handling boolean attributes: if true, render without value, if false, omit the attribute
160
+ const updatedCode = code
161
+ .replace(/disabled=""/g, 'disabled=true')
162
+ .replace(/checked=""/g, 'checked=true')
163
+ .replace(/required=""/g, 'required=true')
164
+ .replace(/disabled="false"/g, '')
165
+ .replace(/checked="false"/g, '')
166
+ .replace(/required="false"/g, '');
167
+ return updatedCode;
168
+ },
169
+ },
170
+ },
171
+ };
172
+ CheckboxWithReuired.argTypes = {
173
+ disabled: {
174
+ control: 'boolean',
175
+ description: 'Determines whether the checkbox is disabled (unclickable).',
176
+ table: {
177
+ defaultValue: { summary: 'false' },
178
+ },
179
+ docs: {
180
+ source: {
181
+ code: (args) => (args.disabled ? true : ''),
182
+ },
183
+ },
184
+ },
185
+ checked: {
186
+ control: 'boolean',
187
+ description: 'Specifies whether the checkbox is checked by default.',
188
+ table: {
189
+ defaultValue: { summary: 'false' },
190
+ },
191
+ },
192
+ required: {
193
+ control: 'boolean',
194
+ description: 'Marks the checkbox as a required field. When true, the checkbox must be checked for form submission, and related actions such as enabling a submit button are dependent on this state.',
195
+ table: {
196
+ defaultValue: { summary: 'false' },
197
+ },
198
+ },
199
+ label: {
200
+ control: 'text',
201
+ description: 'The text displayed next to the checkbox, describing its purpose.',
202
+ },
203
+ };
204
+ CheckboxWithReuired.play = async ({ args, canvasElement }) => {
205
+ await testCheckboxWithRequiredBehavior(args, canvasElement);
206
+ };
207
+ export const Checkbox = TemplatewithChecked.bind({});
208
+ Checkbox.args = {
209
+ disabled: false,
210
+ checked: false,
211
+ label: 'Accept terms and conditions',
212
+ };
213
+ Checkbox.argTypes = {
214
+ disabled: {
215
+ control: 'boolean',
216
+ },
217
+ checked: {
218
+ control: 'boolean',
219
+ },
220
+ label: {
221
+ control: 'text',
222
+ },
223
+ };
224
+ Checkbox.play = async ({ args, canvasElement }) => {
225
+ await testCheckboxBehavior(args, canvasElement);
226
+ };
227
+ export const CheckboxWithValue = TemplateWithVlaue.bind({});
228
+ CheckboxWithValue.args = {
229
+ disabled: false,
230
+ value: 'off',
231
+ label: 'Accept terms and conditions',
232
+ };
233
+ CheckboxWithValue.argTypes = {
234
+ disabled: { control: 'boolean' },
235
+ value: {
236
+ control: { type: 'select' },
237
+ options: ['on', 'off'],
238
+ },
239
+ label: { control: 'text' },
240
+ };
241
+ CheckboxWithValue.play = async ({ args, canvasElement }) => {
242
+ await testCheckboxWithValueBehavior(args, canvasElement);
243
+ };
244
+ //# sourceMappingURL=checkbox.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox.stories.js","sourceRoot":"","sources":["../../../../../src/components/atoms/checkbox/checkbox.stories.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Meta, StoryFn, StoryContext } from '@storybook/web-components';\nimport { html } from 'lit';\nimport './checkbox.atom';\nimport { expect, within, userEvent, waitFor, fn } from '@storybook/test';\nimport {\n CheckboxArgs,\n CheckboxWithRequiredArgs,\n CheckboxWithValueArgs,\n} from './checkbox.type';\nimport '../button/button.atom';\n\nconst allowedTypes = ['checkbox'];\n\nexport default {\n component: 'components/checkbox',\n tags: ['autodocs'],\n} as Meta;\n\nconst mockOnClickHandler = fn(event => {\n alert('submit data!');\n});\n\nconst testCheckboxBehavior = async (\n args: CheckboxArgs,\n canvasElement: HTMLElement\n) => {\n const canvas = within(canvasElement);\n const checkbox = await waitFor(() => canvas.getByTestId('checkbox-id'));\n\n if (checkbox.shadowRoot) {\n const innerCheckbox = checkbox.shadowRoot.querySelector(\n '[data-testid=\"checkbox-atom\"]'\n );\n\n // 1. Test: Checkbox should have correct Role attribute\n expect(innerCheckbox).toHaveRole('checkbox');\n\n // 2. Test: Checkbox should have the correct `checked` state based on args\n if (args.checked) {\n expect(innerCheckbox).toBeChecked();\n } else {\n expect(innerCheckbox).not.toBeChecked();\n }\n\n // 3. Test: Checkbox should be disabled when the `disabled` prop is true\n if (args.disabled) {\n expect(innerCheckbox).toBeDisabled();\n } else {\n expect(innerCheckbox).not.toBeDisabled();\n }\n\n // 4. Test: Label should have correct `for` attribute linking to the checkbox\n const label = await waitFor(() => canvas.getByText(args.label));\n expect(label).toBeInTheDocument();\n expect(label).toHaveAttribute('for', checkbox.getAttribute('id'));\n }\n};\n\nconst testCheckboxWithRequiredBehavior = async (\n args: CheckboxWithRequiredArgs,\n canvasElement: HTMLElement\n) => {\n const canvas = within(canvasElement);\n const checkbox = await waitFor(() => canvas.getByTestId('checkbox-id'));\n const button = await waitFor(() => canvas.getByTestId('btn-id'));\n\n if (checkbox.shadowRoot) {\n const innerCheckbox = checkbox.shadowRoot.querySelector(\n '[data-testid=\"checkbox-atom\"]'\n );\n\n // Test: Checkbox should have the correct required attribute\n if (args.required) {\n expect(innerCheckbox).toHaveAttribute('required');\n } else {\n expect(innerCheckbox).not.toHaveAttribute('required');\n }\n\n // Test: Button should be disabled when checkbox is unchecked and required is true\n if (args.required && !args.checked) {\n expect(button).toBeDisabled();\n } else if (args.required && args.checked) {\n expect(button).not.toBeDisabled();\n }\n\n // Additional tests for the checked state\n if (args.checked) {\n expect(innerCheckbox).toBeChecked();\n } else {\n expect(innerCheckbox).not.toBeChecked();\n }\n\n // Additional tests for the disabled state\n if (args.disabled) {\n expect(innerCheckbox).toBeDisabled();\n } else {\n expect(innerCheckbox).not.toBeDisabled();\n }\n }\n};\n\nconst testCheckboxWithValueBehavior = async (\n args: CheckboxWithValueArgs,\n canvasElement: HTMLElement\n) => {\n const canvas = within(canvasElement);\n const checkbox = await waitFor(() => canvas.getByTestId('checkbox-id'));\n\n if (checkbox.shadowRoot) {\n const innerCheckbox = checkbox.shadowRoot.querySelector(\n '[data-testid=\"checkbox-atom\"]'\n );\n\n // Test: Checkbox should have the correct value attribute\n expect(innerCheckbox).toHaveAttribute('value', args.value);\n\n // Additional tests for disabled state if needed\n if (args.disabled) {\n expect(innerCheckbox).toBeDisabled();\n } else {\n expect(innerCheckbox).not.toBeDisabled();\n }\n }\n};\n\nconst TemplatewithChecked: StoryFn = ({ disabled, checked, label }) =>\n html`\n <div style=\"display:flex\">\n <rtg-checkbox\n id=\"terms\"\n data-testid=\"checkbox-id\"\n ?disabled=${disabled}\n ?checked=${checked}\n ></rtg-checkbox>\n <rtg-label style=\"margin:2px 0px 0px 4px\" for=\"terms\">${label}</rtg-label>\n </div>\n `;\n\nconst TemplatewithRequired: StoryFn = ({\n disabled,\n checked,\n label,\n required,\n}) =>\n html`\n <div style=\"display: flex; flex-direction: column;\">\n <div style=\"display:flex\">\n <rtg-checkbox\n id=\"terms\"\n data-testid=\"checkbox-id\"\n ?disabled=${disabled}\n ?checked=${checked}\n ?required=${required}\n @click=${(e: Event) => {\n const checkbox = e.target as HTMLInputElement;\n const button = document.querySelector(\n 'rtg-button'\n ) as unknown as HTMLButtonElement;\n if (button) {\n button.disabled = required ? !checkbox.checked : false;\n }\n }}\n ></rtg-checkbox>\n <rtg-label style=\"margin:2px 0px 0px 4px\" for=\"terms\"\n >${label}</rtg-label\n >\n </div>\n <div style=\"margin-top:16px\">\n <rtg-button\n variant=\"default\"\n size=\"default\"\n data-testid=\"btn-id\"\n ?disabled=${required ? !checked : false}\n .click=${mockOnClickHandler}\n >Submit</rtg-button\n >\n </div>\n </div>\n `;\n\nconst TemplateWithVlaue: StoryFn = ({ disabled, label, value }) =>\n html`\n <div style=\"display:flex\">\n <rtg-checkbox\n id=\"terms\"\n data-testid=\"checkbox-id\"\n value=${value}\n ?disabled=${disabled}\n ></rtg-checkbox>\n <rtg-label style=\"margin:2px 0px 0px 4px\" for=\"terms\">${label}</rtg-label>\n </div>\n `;\n\nexport const CheckboxWithReuired = TemplatewithRequired.bind({});\nCheckboxWithReuired.args = {\n disabled: false,\n checked: false,\n required: false,\n label: 'Accept terms and conditions',\n};\n\nCheckboxWithReuired.parameters = {\n docs: {\n source: {\n transform: (code: string, storyContext: StoryContext) => {\n const args = storyContext.args;\n\n // Handling boolean attributes: if true, render without value, if false, omit the attribute\n const updatedCode = code\n .replace(/disabled=\"\"/g, 'disabled=true')\n .replace(/checked=\"\"/g, 'checked=true')\n .replace(/required=\"\"/g, 'required=true')\n .replace(/disabled=\"false\"/g, '')\n .replace(/checked=\"false\"/g, '')\n .replace(/required=\"false\"/g, '');\n\n return updatedCode;\n },\n },\n },\n};\n\nCheckboxWithReuired.argTypes = {\n disabled: {\n control: 'boolean',\n description: 'Determines whether the checkbox is disabled (unclickable).',\n table: {\n defaultValue: { summary: 'false' },\n },\n docs: {\n source: {\n code: (args: { disabled: boolean }) => (args.disabled ? true : ''),\n },\n },\n },\n checked: {\n control: 'boolean',\n description: 'Specifies whether the checkbox is checked by default.',\n table: {\n defaultValue: { summary: 'false' },\n },\n },\n required: {\n control: 'boolean',\n description:\n 'Marks the checkbox as a required field. When true, the checkbox must be checked for form submission, and related actions such as enabling a submit button are dependent on this state.',\n table: {\n defaultValue: { summary: 'false' },\n },\n },\n label: {\n control: 'text',\n description:\n 'The text displayed next to the checkbox, describing its purpose.',\n },\n};\n\nCheckboxWithReuired.play = async ({ args, canvasElement }) => {\n await testCheckboxWithRequiredBehavior(\n args as CheckboxWithRequiredArgs,\n canvasElement\n );\n};\n\nexport const Checkbox = TemplatewithChecked.bind({});\nCheckbox.args = {\n disabled: false,\n checked: false,\n label: 'Accept terms and conditions',\n};\n\nCheckbox.argTypes = {\n disabled: {\n control: 'boolean',\n },\n checked: {\n control: 'boolean',\n },\n label: {\n control: 'text',\n },\n};\n\nCheckbox.play = async ({ args, canvasElement }) => {\n await testCheckboxBehavior(args as CheckboxArgs, canvasElement);\n};\n\nexport const CheckboxWithValue = TemplateWithVlaue.bind({});\nCheckboxWithValue.args = {\n disabled: false,\n value: 'off',\n label: 'Accept terms and conditions',\n};\n\nCheckboxWithValue.argTypes = {\n disabled: { control: 'boolean' },\n value: {\n control: { type: 'select' },\n options: ['on', 'off'],\n },\n label: { control: 'text' },\n};\n\nCheckboxWithValue.play = async ({ args, canvasElement }) => {\n await testCheckboxWithValueBehavior(\n args as CheckboxWithValueArgs,\n canvasElement\n );\n};\n"]}
@@ -0,0 +1,2 @@
1
+ export declare const checkboxStyles = "peer h-4 w-4 align-middle shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground";
2
+ export declare const iconStyles = "flex items-center justify-center text-current pointer-events-none";
@@ -0,0 +1,3 @@
1
+ export const checkboxStyles = 'peer h-4 w-4 align-middle shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground';
2
+ export const iconStyles = 'flex items-center justify-center text-current pointer-events-none';
3
+ //# sourceMappingURL=checkbox.style.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox.style.js","sourceRoot":"","sources":["../../../../../src/components/atoms/checkbox/checkbox.style.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GACzB,iSAAiS,CAAC;AAEpS,MAAM,CAAC,MAAM,UAAU,GACrB,mEAAmE,CAAC","sourcesContent":["export const checkboxStyles =\n 'peer h-4 w-4 align-middle shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground';\n\nexport const iconStyles =\n 'flex items-center justify-center text-current pointer-events-none';\n"]}
@@ -0,0 +1,21 @@
1
+ export type CheckboxProperties = {
2
+ disabled: boolean;
3
+ checked: boolean;
4
+ };
5
+ export type CheckboxArgs = {
6
+ disabled: boolean;
7
+ checked: boolean;
8
+ label: string;
9
+ };
10
+ export type CheckboxWithRequiredArgs = {
11
+ disabled: boolean;
12
+ checked: boolean;
13
+ required: boolean;
14
+ label: string;
15
+ value?: string;
16
+ };
17
+ export type CheckboxWithValueArgs = {
18
+ disabled: boolean;
19
+ value: string;
20
+ label: string;
21
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=checkbox.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox.type.js","sourceRoot":"","sources":["../../../../../src/components/atoms/checkbox/checkbox.type.ts"],"names":[],"mappings":"","sourcesContent":["export type CheckboxProperties = {\n disabled: boolean;\n checked: boolean;\n};\n\nexport type CheckboxArgs = {\n disabled: boolean;\n checked: boolean;\n label: string;\n};\n\nexport type CheckboxWithRequiredArgs = {\n disabled: boolean;\n checked: boolean;\n required: boolean;\n label: string;\n value?: string;\n};\n\nexport type CheckboxWithValueArgs = {\n disabled: boolean;\n value: string;\n label: string;\n};\n"]}
@@ -0,0 +1,8 @@
1
+ import { LitElement } from 'lit';
2
+ export declare class ComboBoxInput extends LitElement {
3
+ value: string;
4
+ handleClick: () => void;
5
+ handleKeyDown: () => void;
6
+ static styles: import("lit").CSSResult[];
7
+ render(): import("lit-html").TemplateResult<1>;
8
+ }