@scaleflex/ui-tw 0.0.1 → 0.0.3

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 (499) hide show
  1. package/LICENSE +1 -33
  2. package/README.md +2 -16
  3. package/button/button.component.d.ts +8 -0
  4. package/{core/button → button}/button.component.js +13 -12
  5. package/button/button.const.d.ts +13 -0
  6. package/button/button.const.js +4 -0
  7. package/{core/button → button}/button.types.d.ts +6 -9
  8. package/{core/button → button}/button.types.js +2 -4
  9. package/button/button.utils.d.ts +2 -0
  10. package/button/button.utils.js +19 -0
  11. package/button/components/end-icon.d.ts +7 -0
  12. package/button/components/end-icon.js +39 -0
  13. package/button/components/start-icon.d.ts +13 -0
  14. package/button/components/start-icon.js +53 -0
  15. package/button/index.d.ts +3 -0
  16. package/button/index.js +2 -0
  17. package/form/components/form-field-group.component.d.ts +19 -0
  18. package/form/components/form-field-group.component.js +41 -0
  19. package/form/form.component.d.ts +30 -0
  20. package/form/form.component.js +123 -0
  21. package/form/form.types.d.ts +7 -0
  22. package/{core/switcher/switcher-size.js → form/form.types.js} +1 -1
  23. package/form/index.d.ts +2 -0
  24. package/form/index.js +2 -0
  25. package/input/index.d.ts +3 -0
  26. package/input/index.js +2 -0
  27. package/input/input.component.d.ts +7 -0
  28. package/input/input.component.js +42 -0
  29. package/input/input.types.d.ts +17 -0
  30. package/input/input.types.js +10 -0
  31. package/label/components/info-outline-icon.d.ts +3 -0
  32. package/label/components/info-outline-icon.js +30 -0
  33. package/label/components/label-icon.d.ts +7 -0
  34. package/label/components/label-icon.js +43 -0
  35. package/label/index.d.ts +1 -0
  36. package/label/index.js +1 -0
  37. package/label/label.component.d.ts +4 -0
  38. package/label/label.component.js +44 -0
  39. package/label/label.types.d.ts +14 -0
  40. package/{core/tab/types/size.js → label/label.types.js} +1 -1
  41. package/label/label.utils.d.ts +2 -0
  42. package/label/label.utils.js +16 -0
  43. package/package.json +8 -4
  44. package/{theme/theme.css → theme.css} +8 -8
  45. package/tooltip/index.d.ts +1 -0
  46. package/tooltip/index.js +1 -0
  47. package/tooltip/tooltip.component.d.ts +10 -0
  48. package/tooltip/tooltip.component.js +51 -0
  49. package/tooltip/tooltip.types.d.ts +5 -0
  50. package/core/accordion/accordion.component.d.ts +0 -3
  51. package/core/accordion/accordion.component.js +0 -50
  52. package/core/accordion/accordion.props.d.ts +0 -13
  53. package/core/accordion/accordion.props.js +0 -1
  54. package/core/accordion/accordion.styles.d.ts +0 -6
  55. package/core/accordion/accordion.styles.js +0 -12
  56. package/core/accordion/index.d.ts +0 -2
  57. package/core/accordion/index.js +0 -1
  58. package/core/accordion-details/accordion-details.component.d.ts +0 -3
  59. package/core/accordion-details/accordion-details.component.js +0 -16
  60. package/core/accordion-details/accordion-details.props.d.ts +0 -4
  61. package/core/accordion-details/accordion-details.styles.d.ts +0 -6
  62. package/core/accordion-details/accordion-details.styles.js +0 -12
  63. package/core/accordion-details/index.d.ts +0 -2
  64. package/core/accordion-details/index.js +0 -1
  65. package/core/accordion-header/accordion-header.component.d.ts +0 -3
  66. package/core/accordion-header/accordion-header.component.js +0 -48
  67. package/core/accordion-header/accordion-header.props.d.ts +0 -11
  68. package/core/accordion-header/accordion-header.props.js +0 -1
  69. package/core/accordion-header/accordion-header.styles.d.ts +0 -19
  70. package/core/accordion-header/accordion-header.styles.js +0 -44
  71. package/core/accordion-header/index.d.ts +0 -2
  72. package/core/accordion-header/index.js +0 -1
  73. package/core/arrow/arrow.component.d.ts +0 -3
  74. package/core/arrow/arrow.component.js +0 -23
  75. package/core/arrow/arrow.mixin.d.ts +0 -6
  76. package/core/arrow/arrow.mixin.js +0 -4
  77. package/core/arrow/arrow.props.d.ts +0 -14
  78. package/core/arrow/arrow.props.js +0 -6
  79. package/core/arrow/arrow.styles.d.ts +0 -9
  80. package/core/arrow/arrow.styles.js +0 -18
  81. package/core/arrow/index.d.ts +0 -2
  82. package/core/arrow/index.js +0 -1
  83. package/core/arrow-tick/arrow-tick.component.d.ts +0 -3
  84. package/core/arrow-tick/arrow-tick.component.js +0 -28
  85. package/core/arrow-tick/arrow-tick.mixin.d.ts +0 -6
  86. package/core/arrow-tick/arrow-tick.mixin.js +0 -4
  87. package/core/arrow-tick/arrow-tick.props.d.ts +0 -14
  88. package/core/arrow-tick/arrow-tick.props.js +0 -6
  89. package/core/arrow-tick/arrow-tick.styles.d.ts +0 -7
  90. package/core/arrow-tick/arrow-tick.styles.js +0 -18
  91. package/core/arrow-tick/index.d.ts +0 -2
  92. package/core/arrow-tick/index.js +0 -1
  93. package/core/button/button.component.d.ts +0 -9
  94. package/core/button/button.utils.d.ts +0 -3
  95. package/core/button/button.utils.js +0 -18
  96. package/core/button/components/end-icon.d.ts +0 -12
  97. package/core/button/components/end-icon.js +0 -33
  98. package/core/button/components/start-icon.d.ts +0 -14
  99. package/core/button/components/start-icon.js +0 -40
  100. package/core/button/index.d.ts +0 -4
  101. package/core/button/index.js +0 -3
  102. package/core/check-box/check-box.component.d.ts +0 -3
  103. package/core/check-box/check-box.component.js +0 -62
  104. package/core/check-box/check-box.mixin.d.ts +0 -4
  105. package/core/check-box/check-box.mixin.js +0 -8
  106. package/core/check-box/check-box.props.d.ts +0 -15
  107. package/core/check-box/check-box.props.js +0 -1
  108. package/core/check-box/check-box.styles.d.ts +0 -19
  109. package/core/check-box/check-box.styles.js +0 -42
  110. package/core/check-box/check-box.utils.d.ts +0 -3
  111. package/core/check-box/check-box.utils.js +0 -21
  112. package/core/check-box/index.d.ts +0 -2
  113. package/core/check-box/index.js +0 -1
  114. package/core/check-box/types/index.d.ts +0 -2
  115. package/core/check-box/types/index.js +0 -2
  116. package/core/check-box/types/size.d.ts +0 -4
  117. package/core/check-box/types/size.js +0 -4
  118. package/core/check-box/types/type.d.ts +0 -4
  119. package/core/check-box/types/type.js +0 -4
  120. package/core/check-box-group/check-box-group.component.d.ts +0 -3
  121. package/core/check-box-group/check-box-group.component.js +0 -74
  122. package/core/check-box-group/check-box-group.mixin.d.ts +0 -5
  123. package/core/check-box-group/check-box-group.mixin.js +0 -10
  124. package/core/check-box-group/check-box-group.props.d.ts +0 -19
  125. package/core/check-box-group/check-box-group.props.js +0 -1
  126. package/core/check-box-group/check-box-group.styles.d.ts +0 -19
  127. package/core/check-box-group/check-box-group.styles.js +0 -33
  128. package/core/check-box-group/index.d.ts +0 -2
  129. package/core/check-box-group/index.js +0 -1
  130. package/core/check-box-group/types/index.d.ts +0 -1
  131. package/core/check-box-group/types/index.js +0 -1
  132. package/core/check-box-group/types/label-position.d.ts +0 -4
  133. package/core/check-box-group/types/label-position.js +0 -4
  134. package/core/cross-button/cross-button.component.d.ts +0 -3
  135. package/core/cross-button/cross-button.component.js +0 -35
  136. package/core/cross-button/cross-button.props.d.ts +0 -8
  137. package/core/cross-button/cross-button.props.js +0 -1
  138. package/core/cross-button/cross-button.styles.d.ts +0 -9
  139. package/core/cross-button/cross-button.styles.js +0 -21
  140. package/core/cross-button/index.d.ts +0 -2
  141. package/core/cross-button/index.js +0 -1
  142. package/core/cross-button/types/index.d.ts +0 -1
  143. package/core/cross-button/types/index.js +0 -1
  144. package/core/cross-button/types/size.d.ts +0 -6
  145. package/core/cross-button/types/size.js +0 -6
  146. package/core/dot/dot.component.d.ts +0 -3
  147. package/core/dot/dot.component.js +0 -17
  148. package/core/dot/dot.props.d.ts +0 -4
  149. package/core/dot/dot.props.js +0 -1
  150. package/core/dot/dot.styles.d.ts +0 -18
  151. package/core/dot/dot.styles.js +0 -32
  152. package/core/dot/index.d.ts +0 -2
  153. package/core/dot/index.js +0 -1
  154. package/core/dots-navigation/dots-navigation.component.d.ts +0 -3
  155. package/core/dots-navigation/dots-navigation.component.js +0 -24
  156. package/core/dots-navigation/dots-navigation.props.d.ts +0 -5
  157. package/core/dots-navigation/dots-navigation.props.js +0 -1
  158. package/core/dots-navigation/dots-navigation.styles.d.ts +0 -6
  159. package/core/dots-navigation/dots-navigation.styles.js +0 -15
  160. package/core/dots-navigation/index.d.ts +0 -2
  161. package/core/dots-navigation/index.js +0 -1
  162. package/core/input/index.d.ts +0 -2
  163. package/core/input/index.js +0 -1
  164. package/core/input/input.component.d.ts +0 -3
  165. package/core/input/input.component.js +0 -293
  166. package/core/input/input.mixin.d.ts +0 -18
  167. package/core/input/input.mixin.js +0 -25
  168. package/core/input/input.props.d.ts +0 -40
  169. package/core/input/input.props.js +0 -1
  170. package/core/input/input.styles.d.ts +0 -78
  171. package/core/input/input.styles.js +0 -148
  172. package/core/input/input.utils.d.ts +0 -4
  173. package/core/input/input.utils.js +0 -30
  174. package/core/input/types/index.d.ts +0 -1
  175. package/core/input/types/index.js +0 -1
  176. package/core/input/types/type.d.ts +0 -4
  177. package/core/input/types/type.js +0 -4
  178. package/core/modal/index.d.ts +0 -2
  179. package/core/modal/index.js +0 -1
  180. package/core/modal/modal-menu-context.d.ts +0 -5
  181. package/core/modal/modal-menu-context.js +0 -10
  182. package/core/modal/modal.component.d.ts +0 -3
  183. package/core/modal/modal.component.js +0 -97
  184. package/core/modal/modal.mixin.d.ts +0 -7
  185. package/core/modal/modal.mixin.js +0 -4
  186. package/core/modal/modal.props.d.ts +0 -16
  187. package/core/modal/modal.props.js +0 -1
  188. package/core/modal/modal.styles.d.ts +0 -22
  189. package/core/modal/modal.styles.js +0 -51
  190. package/core/modal/modal.utils.d.ts +0 -1
  191. package/core/modal/modal.utils.js +0 -4
  192. package/core/modal/types/index.d.ts +0 -1
  193. package/core/modal/types/index.js +0 -1
  194. package/core/modal/types/size.d.ts +0 -7
  195. package/core/modal/types/size.js +0 -7
  196. package/core/modal-actions/index.d.ts +0 -2
  197. package/core/modal-actions/index.js +0 -1
  198. package/core/modal-actions/modal-actions.component.d.ts +0 -3
  199. package/core/modal-actions/modal-actions.component.js +0 -18
  200. package/core/modal-actions/modal-actions.props.d.ts +0 -8
  201. package/core/modal-actions/modal-actions.props.js +0 -1
  202. package/core/modal-actions/modal-actions.styles.d.ts +0 -7
  203. package/core/modal-actions/modal-actions.styles.js +0 -17
  204. package/core/modal-actions/types/align.d.ts +0 -5
  205. package/core/modal-actions/types/align.js +0 -5
  206. package/core/modal-actions/types/index.d.ts +0 -1
  207. package/core/modal-actions/types/index.js +0 -1
  208. package/core/modal-content/index.d.ts +0 -2
  209. package/core/modal-content/index.js +0 -1
  210. package/core/modal-content/modal-content.component.d.ts +0 -3
  211. package/core/modal-content/modal-content.component.js +0 -15
  212. package/core/modal-content/modal-content.props.d.ts +0 -4
  213. package/core/modal-content/modal-content.props.js +0 -1
  214. package/core/modal-content/modal-content.styles.d.ts +0 -6
  215. package/core/modal-content/modal-content.styles.js +0 -12
  216. package/core/modal-title/index.d.ts +0 -2
  217. package/core/modal-title/index.js +0 -1
  218. package/core/modal-title/modal-title.component.d.ts +0 -6
  219. package/core/modal-title/modal-title.component.js +0 -37
  220. package/core/modal-title/modal-title.props.d.ts +0 -14
  221. package/core/modal-title/modal-title.props.js +0 -1
  222. package/core/modal-title/modal-title.styles.d.ts +0 -31
  223. package/core/modal-title/modal-title.styles.js +0 -64
  224. package/core/modal-title/types/index.d.ts +0 -1
  225. package/core/modal-title/types/index.js +0 -1
  226. package/core/modal-title/types/variant.d.ts +0 -4
  227. package/core/modal-title/types/variant.js +0 -4
  228. package/core/pagination/index.d.ts +0 -2
  229. package/core/pagination/index.js +0 -1
  230. package/core/pagination/pagination.component.d.ts +0 -3
  231. package/core/pagination/pagination.component.js +0 -81
  232. package/core/pagination/pagination.props.d.ts +0 -11
  233. package/core/pagination/pagination.props.js +0 -1
  234. package/core/pagination/pagination.styles.d.ts +0 -19
  235. package/core/pagination/pagination.styles.js +0 -36
  236. package/core/popper/index.d.ts +0 -2
  237. package/core/popper/index.js +0 -1
  238. package/core/popper/popper.component.d.ts +0 -3
  239. package/core/popper/popper.component.js +0 -150
  240. package/core/popper/popper.mixin.d.ts +0 -17
  241. package/core/popper/popper.mixin.js +0 -5
  242. package/core/popper/popper.props.d.ts +0 -41
  243. package/core/popper/popper.props.js +0 -1
  244. package/core/popper/popper.styles.d.ts +0 -25
  245. package/core/popper/popper.styles.js +0 -48
  246. package/core/popper/popper.utils.d.ts +0 -1
  247. package/core/popper/popper.utils.js +0 -10
  248. package/core/popper/types/index.d.ts +0 -3
  249. package/core/popper/types/index.js +0 -3
  250. package/core/popper/types/phases.d.ts +0 -11
  251. package/core/popper/types/phases.js +0 -11
  252. package/core/popper/types/position.d.ts +0 -17
  253. package/core/popper/types/position.js +0 -17
  254. package/core/popper/types/strategy.d.ts +0 -4
  255. package/core/popper/types/strategy.js +0 -4
  256. package/core/radio/index.d.ts +0 -3
  257. package/core/radio/index.js +0 -2
  258. package/core/radio/radio.component.d.ts +0 -3
  259. package/core/radio/radio.component.js +0 -38
  260. package/core/radio/radio.mixin.d.ts +0 -13
  261. package/core/radio/radio.mixin.js +0 -13
  262. package/core/radio/radio.props.d.ts +0 -13
  263. package/core/radio/radio.props.js +0 -1
  264. package/core/radio/radio.styles.d.ts +0 -19
  265. package/core/radio/radio.styles.js +0 -44
  266. package/core/radio/size.d.ts +0 -4
  267. package/core/radio/size.js +0 -4
  268. package/core/radio-group/index.d.ts +0 -2
  269. package/core/radio-group/index.js +0 -1
  270. package/core/radio-group/radio-group.component.d.ts +0 -3
  271. package/core/radio-group/radio-group.component.js +0 -48
  272. package/core/radio-group/radio-group.props.d.ts +0 -15
  273. package/core/radio-group/radio-group.props.js +0 -1
  274. package/core/radio-group/radio-group.styles.d.ts +0 -14
  275. package/core/radio-group/radio-group.styles.js +0 -30
  276. package/core/switcher/index.d.ts +0 -3
  277. package/core/switcher/index.js +0 -2
  278. package/core/switcher/switcher-size.d.ts +0 -5
  279. package/core/switcher/switcher.component.d.ts +0 -3
  280. package/core/switcher/switcher.component.js +0 -54
  281. package/core/switcher/switcher.mixin.d.ts +0 -21
  282. package/core/switcher/switcher.mixin.js +0 -17
  283. package/core/switcher/switcher.props.d.ts +0 -14
  284. package/core/switcher/switcher.props.js +0 -1
  285. package/core/switcher/switcher.styles.d.ts +0 -27
  286. package/core/switcher/switcher.styles.js +0 -54
  287. package/core/switcher/switcher.utils.d.ts +0 -4
  288. package/core/switcher/switcher.utils.js +0 -37
  289. package/core/switcher-group/index.d.ts +0 -2
  290. package/core/switcher-group/index.js +0 -1
  291. package/core/switcher-group/switcher-group.component.d.ts +0 -3
  292. package/core/switcher-group/switcher-group.component.js +0 -41
  293. package/core/switcher-group/switcher-group.props.d.ts +0 -13
  294. package/core/switcher-group/switcher-group.props.js +0 -1
  295. package/core/switcher-group/switcher-group.styles.d.ts +0 -10
  296. package/core/switcher-group/switcher-group.styles.js +0 -30
  297. package/core/tab/index.d.ts +0 -2
  298. package/core/tab/index.js +0 -1
  299. package/core/tab/tab.component.d.ts +0 -6
  300. package/core/tab/tab.component.js +0 -52
  301. package/core/tab/tab.mixin.d.ts +0 -11
  302. package/core/tab/tab.mixin.js +0 -15
  303. package/core/tab/tab.props.d.ts +0 -15
  304. package/core/tab/tab.props.js +0 -1
  305. package/core/tab/tab.styles.d.ts +0 -26
  306. package/core/tab/tab.styles.js +0 -61
  307. package/core/tab/types/index.d.ts +0 -1
  308. package/core/tab/types/index.js +0 -1
  309. package/core/tab/types/size.d.ts +0 -5
  310. package/core/tab-panel/index.d.ts +0 -2
  311. package/core/tab-panel/index.js +0 -1
  312. package/core/tab-panel/tab-panel.component.d.ts +0 -3
  313. package/core/tab-panel/tab-panel.component.js +0 -18
  314. package/core/tab-panel/tab-panel.props.d.ts +0 -6
  315. package/core/tab-panel/tab-panel.props.js +0 -1
  316. package/core/tab-panel/tab-panel.styles.d.ts +0 -6
  317. package/core/tab-panel/tab-panel.styles.js +0 -12
  318. package/core/upload-input/index.d.ts +0 -2
  319. package/core/upload-input/index.js +0 -1
  320. package/core/upload-input/upload-input.component.d.ts +0 -3
  321. package/core/upload-input/upload-input.component.js +0 -68
  322. package/core/upload-input/upload-input.props.d.ts +0 -9
  323. package/core/upload-input/upload-input.props.js +0 -1
  324. package/core/upload-input/upload-input.styles.d.ts +0 -11
  325. package/core/upload-input/upload-input.styles.js +0 -53
  326. package/hooks/README.md +0 -26
  327. package/hooks/use-controlled.d.ts +0 -1
  328. package/hooks/use-controlled.js +0 -20
  329. package/hooks/use-debounce.d.ts +0 -2
  330. package/hooks/use-debounce.js +0 -19
  331. package/hooks/use-drag.d.ts +0 -5
  332. package/hooks/use-drag.js +0 -37
  333. package/hooks/use-enhanced-effect.d.ts +0 -3
  334. package/hooks/use-enhanced-effect.js +0 -3
  335. package/hooks/use-event-callback.d.ts +0 -4
  336. package/hooks/use-event-callback.js +0 -19
  337. package/hooks/use-pagination.d.ts +0 -3
  338. package/hooks/use-pagination.js +0 -106
  339. package/hooks/use-portal.d.ts +0 -14
  340. package/hooks/use-portal.js +0 -75
  341. package/theme/README.md +0 -46
  342. package/theme/entity/index.d.ts +0 -1
  343. package/theme/entity/index.js +0 -1
  344. package/theme/entity/theme.d.ts +0 -34
  345. package/theme/hooks/index.d.ts +0 -2
  346. package/theme/hooks/index.js +0 -2
  347. package/theme/hooks/use-media-query.d.ts +0 -1
  348. package/theme/hooks/use-media-query.js +0 -27
  349. package/theme/hooks/use-theme.d.ts +0 -2
  350. package/theme/hooks/use-theme.js +0 -4
  351. package/theme/index.d.ts +0 -3
  352. package/theme/index.js +0 -1
  353. package/theme/roots/breakpoints/entity/breakpoints-map.d.ts +0 -8
  354. package/theme/roots/breakpoints/entity/breakpoints.d.ts +0 -73
  355. package/theme/roots/breakpoints/entity/create-breakpoints.d.ts +0 -3
  356. package/theme/roots/breakpoints/entity/create-breakpoints.js +0 -65
  357. package/theme/roots/breakpoints/entity/default-breakpoints.d.ts +0 -26
  358. package/theme/roots/breakpoints/entity/default-breakpoints.js +0 -22
  359. package/theme/roots/breakpoints/entity/index.d.ts +0 -3
  360. package/theme/roots/breakpoints/entity/index.js +0 -2
  361. package/theme/roots/breakpoints/index.d.ts +0 -3
  362. package/theme/roots/breakpoints/index.js +0 -1
  363. package/theme/roots/common-styles.d.ts +0 -2
  364. package/theme/roots/common-styles.js +0 -6
  365. package/theme/roots/index.d.ts +0 -2
  366. package/theme/roots/index.js +0 -2
  367. package/theme/roots/palette/entity/colors-map.d.ts +0 -4
  368. package/theme/roots/palette/entity/default-palette.d.ts +0 -282
  369. package/theme/roots/palette/entity/default-palette.js +0 -22
  370. package/theme/roots/palette/entity/index.d.ts +0 -2
  371. package/theme/roots/palette/entity/index.js +0 -2
  372. package/theme/roots/palette/index.d.ts +0 -2
  373. package/theme/roots/palette/index.js +0 -1
  374. package/theme/roots/shadows/entity/default-shadows.d.ts +0 -16
  375. package/theme/roots/shadows/entity/default-shadows.js +0 -5
  376. package/theme/roots/shadows/entity/index.d.ts +0 -2
  377. package/theme/roots/shadows/entity/index.js +0 -2
  378. package/theme/roots/shadows/entity/shadows-map.d.ts +0 -4
  379. package/theme/roots/shadows/index.d.ts +0 -2
  380. package/theme/roots/shadows/index.js +0 -1
  381. package/theme/roots/shape/index.d.ts +0 -1
  382. package/theme/roots/shape/index.js +0 -1
  383. package/theme/roots/shape/shape.props.d.ts +0 -5
  384. package/theme/roots/shape/shape.props.js +0 -1
  385. package/theme/roots/typography/entity/default-typography.d.ts +0 -398
  386. package/theme/roots/typography/entity/default-typography.js +0 -237
  387. package/theme/roots/typography/entity/index.d.ts +0 -1
  388. package/theme/roots/typography/entity/index.js +0 -1
  389. package/theme/roots/typography/index.d.ts +0 -3
  390. package/theme/roots/typography/index.js +0 -2
  391. package/theme/roots/typography/typography.component.d.ts +0 -2
  392. package/theme/roots/typography/typography.component.js +0 -7
  393. package/theme/roots/typography/typography.props.d.ts +0 -15
  394. package/theme/roots/typography/typography.props.js +0 -1
  395. package/theme/theme-provider/index.d.ts +0 -2
  396. package/theme/theme-provider/index.js +0 -1
  397. package/theme/theme-provider/theme-provider.context.d.ts +0 -4
  398. package/theme/theme-provider/theme-provider.context.js +0 -48
  399. package/theme/theme-provider/theme-provider.props.d.ts +0 -6
  400. package/theme/theme-provider/theme-provider.props.js +0 -1
  401. package/utils/README.md +0 -11
  402. package/utils/functions/apply-display-names.d.ts +0 -6
  403. package/utils/functions/apply-display-names.js +0 -12
  404. package/utils/functions/apply-polymorphic-function-prop.d.ts +0 -6
  405. package/utils/functions/apply-polymorphic-function-prop.js +0 -11
  406. package/utils/functions/color-picker/color-converters.d.ts +0 -11
  407. package/utils/functions/color-picker/color-converters.js +0 -159
  408. package/utils/functions/color-picker/map-number.d.ts +0 -1
  409. package/utils/functions/color-picker/map-number.js +0 -3
  410. package/utils/functions/color-picker/restrict-number.d.ts +0 -1
  411. package/utils/functions/color-picker/restrict-number.js +0 -8
  412. package/utils/functions/convert-to-string.d.ts +0 -1
  413. package/utils/functions/convert-to-string.js +0 -3
  414. package/utils/functions/escape-regexp.d.ts +0 -1
  415. package/utils/functions/escape-regexp.js +0 -3
  416. package/utils/functions/generate-class-names.d.ts +0 -1
  417. package/utils/functions/generate-class-names.js +0 -22
  418. package/utils/functions/get-elem-document-coords.d.ts +0 -6
  419. package/utils/functions/get-elem-document-coords.js +0 -21
  420. package/utils/functions/ignore-event.d.ts +0 -1
  421. package/utils/functions/ignore-event.js +0 -9
  422. package/utils/functions/index.d.ts +0 -14
  423. package/utils/functions/index.js +0 -15
  424. package/utils/functions/intrinsic-component.d.ts +0 -0
  425. package/utils/functions/intrinsic-component.js +0 -28
  426. package/utils/functions/object-keys.d.ts +0 -6
  427. package/utils/functions/object-keys.js +0 -6
  428. package/utils/functions/object-values.d.ts +0 -7
  429. package/utils/functions/object-values.js +0 -6
  430. package/utils/functions/on-click-by-mouse-down.d.ts +0 -2
  431. package/utils/functions/on-click-by-mouse-down.js +0 -9
  432. package/utils/functions/scrollbar.d.ts +0 -2
  433. package/utils/functions/scrollbar.js +0 -6
  434. package/utils/functions/set-ref.d.ts +0 -8
  435. package/utils/functions/set-ref.js +0 -13
  436. package/utils/functions/slider/utils.d.ts +0 -47
  437. package/utils/functions/slider/utils.js +0 -124
  438. package/utils/functions/use-fork-ref.d.ts +0 -2
  439. package/utils/functions/use-fork-ref.js +0 -18
  440. package/utils/types/color/icon-button-color.d.ts +0 -5
  441. package/utils/types/color/icon-button-color.js +0 -5
  442. package/utils/types/color/index.d.ts +0 -2
  443. package/utils/types/color/index.js +0 -2
  444. package/utils/types/color/input-background-color.d.ts +0 -4
  445. package/utils/types/color/input-background-color.js +0 -4
  446. package/utils/types/css/align.d.ts +0 -11
  447. package/utils/types/css/align.js +0 -11
  448. package/utils/types/css/breakpoint.d.ts +0 -18
  449. package/utils/types/css/breakpoint.js +0 -18
  450. package/utils/types/css/direction.d.ts +0 -8
  451. package/utils/types/css/direction.js +0 -4
  452. package/utils/types/css/index.d.ts +0 -4
  453. package/utils/types/css/index.js +0 -4
  454. package/utils/types/css/position.d.ts +0 -6
  455. package/utils/types/css/position.js +0 -6
  456. package/utils/types/index.d.ts +0 -8
  457. package/utils/types/index.js +0 -3
  458. package/utils/types/intrinsic-component.d.ts +0 -1
  459. package/utils/types/keys.d.ts +0 -4
  460. package/utils/types/palette/color.d.ts +0 -133
  461. package/utils/types/palette/color.js +0 -133
  462. package/utils/types/palette/index.d.ts +0 -1
  463. package/utils/types/palette/index.js +0 -1
  464. package/utils/types/position/index.d.ts +0 -1
  465. package/utils/types/position/index.js +0 -1
  466. package/utils/types/position/position.d.ts +0 -6
  467. package/utils/types/position/position.js +0 -6
  468. package/utils/types/prop-types/index.d.ts +0 -1
  469. package/utils/types/prop-types/index.js +0 -1
  470. package/utils/types/prop-types/record.d.ts +0 -1
  471. package/utils/types/prop-types/record.js +0 -6
  472. package/utils/types/shadows/index.d.ts +0 -1
  473. package/utils/types/shadows/index.js +0 -1
  474. package/utils/types/shadows/shadows.d.ts +0 -14
  475. package/utils/types/shadows/shadows.js +0 -14
  476. package/utils/types/shape/border-radius-size.d.ts +0 -5
  477. package/utils/types/shape/border-radius-size.js +0 -5
  478. package/utils/types/shape/index.d.ts +0 -1
  479. package/utils/types/shape/index.js +0 -1
  480. package/utils/types/size/index.d.ts +0 -1
  481. package/utils/types/size/index.js +0 -1
  482. package/utils/types/size/input-size.d.ts +0 -4
  483. package/utils/types/size/input-size.js +0 -4
  484. package/utils/types/stylable-component.d.ts +0 -7
  485. package/utils/types/typography/font-variant.d.ts +0 -58
  486. package/utils/types/typography/font-variant.js +0 -58
  487. package/utils/types/typography/font-weight.d.ts +0 -11
  488. package/utils/types/typography/font-weight.js +0 -11
  489. package/utils/types/typography/index.d.ts +0 -4
  490. package/utils/types/typography/index.js +0 -4
  491. package/utils/types/typography/text-align.d.ts +0 -5
  492. package/utils/types/typography/text-align.js +0 -5
  493. package/utils/types/typography/text-decoration.d.ts +0 -5
  494. package/utils/types/typography/text-decoration.js +0 -5
  495. package/utils/types/with.d.ts +0 -4
  496. /package/{core/accordion-details/accordion-details.props.js → tooltip/tooltip.types.js} +0 -0
  497. /package/{utils/types → types}/values.d.ts +0 -0
  498. /package/utils/{functions/shadcn-utils.d.ts → cn.d.ts} +0 -0
  499. /package/utils/{functions/shadcn-utils.js → cn.js} +0 -0
package/LICENSE CHANGED
@@ -1,33 +1 @@
1
- MIT License
2
-
3
- Copyright (c) 2022 SCALEFLEX SAS
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"),
6
- to use the Software without restriction for personal purposes only. If you intend to use, copy, modify, distribute, sell, or lease any part of our Software for
7
- commercial or corporate purposes,
8
- you are required to contact the Scaleflex Sales team (sales@scaleflex.com) to settle the payment of a yearly licensing subscription of five thousand euros.
9
- If you are proven to be in violation of this condition, you agree to pay a ten thousand euro penalty charge in addition to the yearly licensing subscription.
10
-
11
- By utilizing the "Software", you acknowledge and unconditionally agree to be bound by these Terms, which are associated with the Scaleflex Services Terms and Conditions,
12
- which can be found at www.scaleflex.com:
13
-
14
- The above copyright notice and this permission notice shall be included in all
15
- copies or substantial portions of the Software.
16
-
17
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23
- SOFTWARE.
24
-
25
- ---------------------------------------------------------------------------------
26
-
27
- Publicity
28
-
29
- You agree that Scaleflex may reference and use Your name, logos and trademarks in
30
- Scaleflex marketing and promotional materials, including, but not limited to the
31
- Scaleflex Websites, solely for purposes of identifying You as a customer of Scaleflex.
32
- Otherwise, neither party may use the trade names, trademarks, service marks, or logos
33
- of the other party without the express written consent of the other party.
1
+ TBD
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @scaleflex/ui-tw
2
2
 
3
- React UI components library by Scaleflex
3
+ React UI components library based on shadcn and tailwind by Scaleflex
4
4
 
5
5
  ---
6
6
 
@@ -9,20 +9,6 @@ TODO: Update doc
9
9
  ## Installation
10
10
 
11
11
  ```shell script
12
- npm i @scaleflex/ui # styled-components react react-dom
12
+ yarn add @scaleflex/ui-tw
13
13
  ```
14
14
 
15
- ```shell script
16
- yarn add @scaleflex/ui # styled-components react react-dom
17
- ```
18
-
19
- > Make sure to have `react`, `react-dom` and `styled-components` installed in your package as they are included in our peer dependencies.
20
-
21
- ## Usage
22
-
23
- Scaleflex UI includes several parts:
24
-
25
- - [`core`](src/core/README.md)
26
- - [`hooks`](src/hooks/README.md)
27
- - [`theme`](src/theme/README.md)
28
- - [`utils`](src/utils/README.md)
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { type ButtonProps } from './button.types';
3
+ declare const buttonVariants: (props?: ({
4
+ variant?: "primary" | "secondary" | "outline" | "link-primary" | "link-secondary" | "link-basic-primary" | "link-basic-secondary" | "link-error" | "link-warning" | "error-primary" | "warning-primary" | null | undefined;
5
+ size?: "xs" | "sm" | "md" | "lg" | null | undefined;
6
+ } & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
7
+ declare function Button({ className, children, size, startIcon, endIcon, variant, loading, asChild, disabled, ...rest }: ButtonProps): React.JSX.Element;
8
+ export { Button, buttonVariants };
@@ -5,16 +5,16 @@ var _excluded = ["className", "children", "size", "startIcon", "endIcon", "varia
5
5
  var _buttonVariantOptions;
6
6
  import { Slot } from '@radix-ui/react-slot';
7
7
  import SpinnerIcon from '@scaleflex/icons-tw/spinner';
8
- import EndIcon from '@scaleflex/ui-tw/core/button/components/end-icon';
9
- import StartIcon, { startIconVariants } from '@scaleflex/ui-tw/core/button/components/start-icon';
10
- import { cn } from '@scaleflex/ui-tw/utils/functions/shadcn-utils';
8
+ import EndIcon from '@scaleflex/ui-tw/button/components/end-icon';
9
+ import StartIcon, { startIconVariants } from '@scaleflex/ui-tw/button/components/start-icon';
10
+ import { cn } from '@scaleflex/ui-tw/utils/cn';
11
11
  import { cva } from 'class-variance-authority';
12
12
  import React from 'react';
13
13
  import { ButtonSize, ButtonVariant } from './button.types';
14
- import { getIconSize, isLinkBasicVariant } from './button.utils';
15
- var buttonVariantOptions = (_buttonVariantOptions = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_buttonVariantOptions, ButtonVariant.Primary, 'bg-primary text-primary-foreground shadow-xs hover:bg-primary/90'), ButtonVariant.Secondary, 'border bg-background shadow-xs text-primary border-primary hover:bg-primary/90 hover:text-primary-foreground'), ButtonVariant.Outline, 'border bg-background text-secondary-foreground shadow-xs border-secondary-foreground hover:text-secondary-foreground/80 hover:border-secondary-foreground/80'), ButtonVariant.LinkPrimary, 'text-primary hover:text-primary/80'), ButtonVariant.LinkSecondary, 'text-secondary-foreground hover:text-secondary-foreground/80'), ButtonVariant.LinkBasicPrimary, 'text-primary hover:text-primary/80 font-normal'), ButtonVariant.LinkBasicSecondary, 'text-secondary-foreground font-normal hover:text-secondary-foreground/80'), ButtonVariant.LinkError, 'text-destructive hover:text-destructive/80'), ButtonVariant.LinkWarning, 'text-warning hover:text-warning/80'), ButtonVariant.ErrorPrimary, 'bg-destructive text-primary-foreground shadow-xs hover:bg-destructive/90'), _defineProperty(_defineProperty(_defineProperty(_buttonVariantOptions, ButtonVariant.ErrorOutline, 'border bg-background text-secondary-foreground shadow-xs border-secondary-foreground hover:bg-destructive hover:text-primary-foreground hover:border-transparent hover:border-destructive'), ButtonVariant.WarningPrimary, 'bg-warning text-primary-foreground shadow-xs hover:bg-warning/90'), ButtonVariant.WarningOutline, 'border bg-background text-secondary-foreground shadow-xs border-secondary-foreground hover:bg-warning hover:text-primary-foreground hover:border-transparent hover:border-warning'));
16
- var buttonSizeOptions = _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, ButtonSize.Xs, 'h-6 px-2.5 py-1.5 text-sm'), ButtonSize.Sm, 'h-8 px-3 py-2 text-sm'), ButtonSize.Md, 'h-10 px-4 py-2.5 text-base'), ButtonSize.Lg, 'h-12 px-6 py-3.5 text-lg');
17
- var buttonVariants = cva("cursor-pointer inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive", {
14
+ import { getIconSizeInRem } from './button.utils';
15
+ var buttonVariantOptions = (_buttonVariantOptions = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_buttonVariantOptions, ButtonVariant.Primary, 'bg-primary text-primary-foreground shadow-xs hover:bg-primary/80'), ButtonVariant.Secondary, 'border bg-background shadow-xs text-primary border-primary hover:bg-accent hover:border-primary/80'), ButtonVariant.Outline, 'border bg-background text-secondary-foreground shadow-xs border-input hover:bg-secondary hover:border-input/80'), ButtonVariant.LinkPrimary, 'text-primary hover:text-primary/80'), ButtonVariant.LinkSecondary, 'text-secondary-foreground hover:text-secondary-foreground/80'), ButtonVariant.LinkBasicPrimary, 'text-primary font-normal hover:text-primary/80'), ButtonVariant.LinkBasicSecondary, 'text-secondary-foreground font-normal hover:text-secondary-foreground/80'), ButtonVariant.LinkError, 'text-destructive hover:text-destructive/80'), ButtonVariant.LinkWarning, 'text-warning hover:text-warning/80'), ButtonVariant.Error, 'bg-destructive text-primary-foreground shadow-xs hover:bg-destructive/80'), _defineProperty(_buttonVariantOptions, ButtonVariant.Warning, 'bg-warning text-primary-foreground shadow-xs hover:bg-warning/80'));
16
+ var buttonSizeOptions = _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, ButtonSize.Xs, 'h-6 px-2.5 py-1.5 text-xs'), ButtonSize.Sm, 'h-8 px-3 py-2 text-sm'), ButtonSize.Md, 'h-10 px-4 py-2.5 text-base'), ButtonSize.Lg, 'h-12 px-6 py-3.5 text-lg');
17
+ var buttonVariants = cva('', {
18
18
  variants: {
19
19
  variant: buttonVariantOptions,
20
20
  size: buttonSizeOptions
@@ -43,15 +43,16 @@ function Button(_ref) {
43
43
  var Comp = asChild ? Slot : 'button';
44
44
  return /*#__PURE__*/React.createElement(Comp, _extends({
45
45
  "data-slot": "button",
46
- className: cn(buttonVariants({
46
+ className: cn('group/button inline-flex shrink-0 cursor-pointer items-center justify-center rounded-md font-medium whitespace-nowrap transition-all outline-none', 'ring-offset-background focus-visible:ring-ring focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-40', "[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", buttonVariants({
47
47
  variant: variant,
48
48
  size: size,
49
49
  className: className
50
- }), loading && 'pointer-events-none opacity-50', isLinkBasicVariant(variant) && 'font-normal'),
50
+ }), loading && 'pointer-events-none opacity-30'),
51
51
  disabled: disabled
52
52
  }, rest), startIcon || endIcon || loading ? /*#__PURE__*/React.createElement("span", {
53
53
  className: "flex items-center"
54
54
  }, startIcon && /*#__PURE__*/React.createElement(StartIcon, {
55
+ variant: variant,
55
56
  size: size,
56
57
  loading: loading,
57
58
  icon: startIcon
@@ -60,12 +61,12 @@ function Button(_ref) {
60
61
  size: size
61
62
  })
62
63
  }, /*#__PURE__*/React.createElement(SpinnerIcon, {
63
- size: getIconSize(size),
64
+ size: getIconSizeInRem(size),
64
65
  className: "animate-spin"
65
66
  })), children, endIcon && /*#__PURE__*/React.createElement(EndIcon, {
67
+ variant: variant,
66
68
  size: size,
67
69
  icon: endIcon
68
70
  })) : children);
69
71
  }
70
- export { buttonVariants };
71
- export default Button;
72
+ export { Button, buttonVariants };
@@ -0,0 +1,13 @@
1
+ export declare const iconVariantOptions: {
2
+ primary: string;
3
+ secondary: string;
4
+ outline: string;
5
+ "link-primary": string;
6
+ "link-secondary": string;
7
+ "link-basic-primary": string;
8
+ "link-basic-secondary": string;
9
+ "link-error": string;
10
+ "link-warning": string;
11
+ "error-primary": string;
12
+ "warning-primary": string;
13
+ };
@@ -0,0 +1,4 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ var _iconVariantOptions;
3
+ import { ButtonVariant } from '@scaleflex/ui-tw/button/button.types';
4
+ export var iconVariantOptions = (_iconVariantOptions = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_iconVariantOptions, ButtonVariant.Primary, ''), ButtonVariant.Secondary, ''), ButtonVariant.Outline, 'text-muted-foreground group-hover/button:text-muted-foreground/80'), ButtonVariant.LinkPrimary, ''), ButtonVariant.LinkSecondary, 'text-muted-foreground group-hover/button:text-muted-foreground/80'), ButtonVariant.LinkBasicPrimary, ''), ButtonVariant.LinkBasicSecondary, 'text-muted-foreground group-hover/button:text-muted-foreground/80'), ButtonVariant.LinkError, ''), ButtonVariant.LinkWarning, ''), ButtonVariant.Error, ''), _defineProperty(_iconVariantOptions, ButtonVariant.Warning, ''));
@@ -1,7 +1,6 @@
1
- import type { IconProps } from '@scaleflex/icons-tw/icon.props';
2
- import { buttonVariants } from '@scaleflex/ui-tw/core/button/button.component';
1
+ import { buttonVariants } from '@scaleflex/ui-tw/button/button.component';
3
2
  import type { VariantProps } from 'class-variance-authority';
4
- import { ComponentProps, ReactNode } from 'react';
3
+ import { ComponentProps, ReactElement } from 'react';
5
4
  export declare const ButtonVariant: {
6
5
  readonly Primary: "primary";
7
6
  readonly Secondary: "secondary";
@@ -12,15 +11,13 @@ export declare const ButtonVariant: {
12
11
  readonly LinkBasicSecondary: "link-basic-secondary";
13
12
  readonly LinkError: "link-error";
14
13
  readonly LinkWarning: "link-warning";
15
- readonly ErrorPrimary: "error-primary";
16
- readonly ErrorOutline: "error-outline";
17
- readonly WarningPrimary: "warning-primary";
18
- readonly WarningOutline: "warning-outline";
14
+ readonly Error: "error-primary";
15
+ readonly Warning: "warning-primary";
19
16
  };
20
17
  export interface ButtonProps extends ComponentProps<'button'>, VariantProps<typeof buttonVariants> {
21
18
  asChild?: boolean;
22
- startIcon?: ReactNode | ((props: IconProps) => ReactNode);
23
- endIcon?: ReactNode | ((props: IconProps) => ReactNode);
19
+ startIcon?: ReactElement;
20
+ endIcon?: ReactElement;
24
21
  loading?: boolean;
25
22
  disabled?: boolean;
26
23
  }
@@ -8,10 +8,8 @@ export var ButtonVariant = {
8
8
  LinkBasicSecondary: 'link-basic-secondary',
9
9
  LinkError: 'link-error',
10
10
  LinkWarning: 'link-warning',
11
- ErrorPrimary: 'error-primary',
12
- ErrorOutline: 'error-outline',
13
- WarningPrimary: 'warning-primary',
14
- WarningOutline: 'warning-outline'
11
+ Error: 'error-primary',
12
+ Warning: 'warning-primary'
15
13
  };
16
14
  export var ButtonSize = {
17
15
  Xs: 'xs',
@@ -0,0 +1,2 @@
1
+ import { ButtonSizeType } from '@scaleflex/ui-tw/button/button.types';
2
+ export declare const getIconSizeInRem: (sizeName?: ButtonSizeType | null) => string;
@@ -0,0 +1,19 @@
1
+ import { ButtonSize } from '@scaleflex/ui-tw/button/button.types';
2
+ export var getIconSizeInRem = function getIconSizeInRem(sizeName) {
3
+ switch (sizeName) {
4
+ case ButtonSize.Lg:
5
+ return '1.125rem';
6
+ // 18px
7
+ case ButtonSize.Md:
8
+ return '1rem';
9
+ // 16px
10
+ case ButtonSize.Sm:
11
+ return '0.875rem';
12
+ // 14px
13
+ case ButtonSize.Xs:
14
+ return '0.75rem';
15
+ // 12px
16
+ default:
17
+ return '1rem';
18
+ }
19
+ };
@@ -0,0 +1,7 @@
1
+ import { type ButtonProps } from '@scaleflex/ui-tw/button';
2
+ import React, { ComponentProps, ReactElement } from 'react';
3
+ interface EndIconProps extends ComponentProps<'span'>, Pick<ButtonProps, 'size' | 'variant'> {
4
+ icon?: ReactElement;
5
+ }
6
+ declare const EndIcon: (props: EndIconProps) => React.JSX.Element | null;
7
+ export default EndIcon;
@@ -0,0 +1,39 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
4
+ var _excluded = ["size", "icon", "variant"];
5
+ import { ButtonSize } from '@scaleflex/ui-tw/button';
6
+ import { iconVariantOptions } from '@scaleflex/ui-tw/button/button.const';
7
+ import { getIconSizeInRem } from '@scaleflex/ui-tw/button/button.utils';
8
+ import { cva } from 'class-variance-authority';
9
+ import React, { cloneElement, useMemo } from 'react';
10
+ var endIconSizes = _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, ButtonSize.Xs, 'ml-1.5'), ButtonSize.Sm, 'ml-1.5'), ButtonSize.Md, 'ml-2'), ButtonSize.Lg, 'ml-2');
11
+ var endIconVariants = cva('', {
12
+ variants: {
13
+ variant: iconVariantOptions,
14
+ size: endIconSizes
15
+ }
16
+ });
17
+ var EndIcon = function EndIcon(props) {
18
+ var size = props.size,
19
+ icon = props.icon,
20
+ variant = props.variant,
21
+ rest = _objectWithoutProperties(props, _excluded);
22
+ var sizeInRem = useMemo(function () {
23
+ return getIconSizeInRem(size);
24
+ }, [size]);
25
+ if (!icon) return null;
26
+ return /*#__PURE__*/React.createElement("span", _extends({
27
+ className: endIconVariants({
28
+ size: size,
29
+ variant: variant
30
+ })
31
+ }, rest), /*#__PURE__*/cloneElement(icon, {
32
+ size: sizeInRem,
33
+ style: {
34
+ width: sizeInRem,
35
+ height: sizeInRem
36
+ }
37
+ }));
38
+ };
39
+ export default EndIcon;
@@ -0,0 +1,13 @@
1
+ import { type ButtonProps } from '@scaleflex/ui-tw/button';
2
+ import React, { ComponentProps, ReactElement } from 'react';
3
+ declare const startIconVariants: (props?: ({
4
+ variant?: "primary" | "secondary" | "outline" | "link-primary" | "link-secondary" | "link-basic-primary" | "link-basic-secondary" | "link-error" | "link-warning" | "error-primary" | "warning-primary" | null | undefined;
5
+ size?: "xs" | "sm" | "md" | "lg" | null | undefined;
6
+ } & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
7
+ interface StartIconProps extends ComponentProps<'span'>, Pick<ButtonProps, 'size' | 'variant'> {
8
+ icon?: ReactElement;
9
+ loading?: boolean;
10
+ }
11
+ declare const StartIcon: (props: StartIconProps) => React.JSX.Element | null;
12
+ export { startIconVariants };
13
+ export default StartIcon;
@@ -0,0 +1,53 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
4
+ var _excluded = ["size", "variant", "icon", "loading"];
5
+ import SpinnerIcon from '@scaleflex/icons-tw/spinner';
6
+ import { ButtonSize } from '@scaleflex/ui-tw/button';
7
+ import { iconVariantOptions } from '@scaleflex/ui-tw/button/button.const';
8
+ import { getIconSizeInRem } from '@scaleflex/ui-tw/button/button.utils';
9
+ import { cva } from 'class-variance-authority';
10
+ import React, { cloneElement, useMemo } from 'react';
11
+ var startIconSizes = _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, ButtonSize.Xs, 'mr-1.5'), ButtonSize.Sm, 'mr-1.5'), ButtonSize.Md, 'mr-2'), ButtonSize.Lg, 'mr-2');
12
+ var startIconVariants = cva('', {
13
+ variants: {
14
+ variant: iconVariantOptions,
15
+ size: startIconSizes
16
+ }
17
+ });
18
+ var StartIcon = function StartIcon(props) {
19
+ var size = props.size,
20
+ variant = props.variant,
21
+ icon = props.icon,
22
+ _props$loading = props.loading,
23
+ loading = _props$loading === void 0 ? false : _props$loading,
24
+ rest = _objectWithoutProperties(props, _excluded);
25
+ var sizeInRem = useMemo(function () {
26
+ return getIconSizeInRem(size);
27
+ }, [size]);
28
+ if (!icon) return null;
29
+ return /*#__PURE__*/React.createElement("span", _extends({
30
+ className: startIconVariants({
31
+ size: size,
32
+ className: 'flex'
33
+ })
34
+ }, rest), loading ? /*#__PURE__*/React.createElement(SpinnerIcon, {
35
+ size: sizeInRem,
36
+ className: "animate-spin",
37
+ style: {
38
+ width: sizeInRem,
39
+ height: sizeInRem
40
+ }
41
+ }) : (/*#__PURE__*/cloneElement(icon, {
42
+ size: sizeInRem,
43
+ style: {
44
+ width: sizeInRem,
45
+ height: sizeInRem
46
+ },
47
+ className: startIconVariants({
48
+ variant: variant
49
+ })
50
+ })));
51
+ };
52
+ export { startIconVariants };
53
+ export default StartIcon;
@@ -0,0 +1,3 @@
1
+ export { Button, buttonVariants } from './button.component';
2
+ export type { ButtonProps } from './button.types';
3
+ export { ButtonVariant, ButtonSize } from './button.types';
@@ -0,0 +1,2 @@
1
+ export { Button, buttonVariants } from './button.component';
2
+ export { ButtonVariant, ButtonSize } from './button.types';
@@ -0,0 +1,19 @@
1
+ import { InputSizeType } from '@scaleflex/ui-tw/input/input.types';
2
+ import React, { ReactNode } from 'react';
3
+ import { ControllerRenderProps, FieldValues, Path, UseControllerProps } from 'react-hook-form';
4
+ export interface FormFieldArgs {
5
+ size?: InputSizeType;
6
+ readOnly?: boolean;
7
+ disabled?: boolean;
8
+ }
9
+ export interface FormFieldGroupProps<TFieldValues extends FieldValues, TName extends Path<TFieldValues>> extends UseControllerProps<TFieldValues, TName> {
10
+ label?: string;
11
+ description?: string;
12
+ tooltip?: string;
13
+ size?: InputSizeType;
14
+ readOnly?: boolean;
15
+ highlight?: boolean;
16
+ children: (field: ControllerRenderProps<TFieldValues, TName>, args?: FormFieldArgs) => ReactNode;
17
+ }
18
+ declare function FormFieldGroup<TFieldValues extends FieldValues, TName extends Path<TFieldValues>>({ control, name, label, description, size, readOnly, disabled, tooltip, highlight, children, }: FormFieldGroupProps<TFieldValues, TName>): React.JSX.Element;
19
+ export { FormFieldGroup };
@@ -0,0 +1,41 @@
1
+ import { FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage } from '@scaleflex/ui-tw/form';
2
+ import React from 'react';
3
+ function FormFieldGroup(_ref) {
4
+ var control = _ref.control,
5
+ name = _ref.name,
6
+ label = _ref.label,
7
+ description = _ref.description,
8
+ _ref$size = _ref.size,
9
+ size = _ref$size === void 0 ? 'md' : _ref$size,
10
+ _ref$readOnly = _ref.readOnly,
11
+ readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,
12
+ _ref$disabled = _ref.disabled,
13
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
14
+ tooltip = _ref.tooltip,
15
+ highlight = _ref.highlight,
16
+ children = _ref.children;
17
+ return /*#__PURE__*/React.createElement(FormField, {
18
+ control: control,
19
+ name: name,
20
+ render: function render(_ref2) {
21
+ var field = _ref2.field;
22
+ return /*#__PURE__*/React.createElement(FormItem, {
23
+ className: "group",
24
+ "data-disabled": disabled,
25
+ "data-highlight": highlight
26
+ }, label && /*#__PURE__*/React.createElement(FormLabel, {
27
+ size: size,
28
+ tooltip: tooltip
29
+ }, label), /*#__PURE__*/React.createElement(FormControl, null, children(field, {
30
+ size: size,
31
+ readOnly: readOnly,
32
+ disabled: disabled
33
+ })), description && /*#__PURE__*/React.createElement(FormDescription, {
34
+ size: size
35
+ }, description), /*#__PURE__*/React.createElement(FormMessage, {
36
+ size: size
37
+ }));
38
+ }
39
+ });
40
+ }
41
+ export { FormFieldGroup };
@@ -0,0 +1,30 @@
1
+ import { Slot } from '@radix-ui/react-slot';
2
+ import { FormMessageSizeType } from '@scaleflex/ui-tw/form/form.types';
3
+ import { LabelProps } from '@scaleflex/ui-tw/label/label.types';
4
+ import * as React from 'react';
5
+ import { ComponentProps } from 'react';
6
+ import { type ControllerProps, type FieldPath, type FieldValues } from 'react-hook-form';
7
+ declare const Form: <TFieldValues extends FieldValues, TContext = any, TTransformedValues = TFieldValues>(props: import("react-hook-form").FormProviderProps<TFieldValues, TContext, TTransformedValues>) => React.JSX.Element;
8
+ declare const FormField: <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ ...props }: ControllerProps<TFieldValues, TName>) => React.JSX.Element;
9
+ declare const useFormField: () => {
10
+ invalid: boolean;
11
+ isDirty: boolean;
12
+ isTouched: boolean;
13
+ isValidating: boolean;
14
+ error?: import("react-hook-form").FieldError;
15
+ id: string;
16
+ name: string;
17
+ formItemId: string;
18
+ formDescriptionId: string;
19
+ formMessageId: string;
20
+ };
21
+ declare function FormItem({ className, ...props }: ComponentProps<'div'>): React.JSX.Element;
22
+ declare function FormLabel({ className, ...props }: LabelProps): React.JSX.Element;
23
+ declare function FormControl({ ...props }: ComponentProps<typeof Slot>): React.JSX.Element;
24
+ declare function FormDescription({ className, size, ...props }: ComponentProps<'p'> & {
25
+ size?: FormMessageSizeType;
26
+ }): React.JSX.Element;
27
+ declare function FormMessage({ className, size, ...props }: ComponentProps<'p'> & {
28
+ size?: FormMessageSizeType;
29
+ }): React.JSX.Element | null;
30
+ export { useFormField, Form, FormItem, FormLabel, FormControl, FormDescription, FormMessage, FormField };
@@ -0,0 +1,123 @@
1
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
+ import _objectDestructuringEmpty from "@babel/runtime/helpers/objectDestructuringEmpty";
4
+ import _extends from "@babel/runtime/helpers/extends";
5
+ var _excluded = ["className"],
6
+ _excluded2 = ["className"],
7
+ _excluded3 = ["className", "size"],
8
+ _excluded4 = ["className", "size"];
9
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
10
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
11
+ import { Slot } from '@radix-ui/react-slot';
12
+ import { FormMessageSize } from '@scaleflex/ui-tw/form/form.types';
13
+ import { Label } from '@scaleflex/ui-tw/label';
14
+ import { cn } from '@scaleflex/ui-tw/utils/cn';
15
+ import * as React from 'react';
16
+ import { createContext, useContext, useId } from 'react';
17
+ import { Controller, FormProvider, useFormContext, useFormState } from 'react-hook-form';
18
+ var Form = FormProvider;
19
+ var FormFieldContext = /*#__PURE__*/createContext({});
20
+ var FormField = function FormField(_ref) {
21
+ var props = _extends({}, (_objectDestructuringEmpty(_ref), _ref));
22
+ return /*#__PURE__*/React.createElement(FormFieldContext.Provider, {
23
+ value: {
24
+ name: props.name
25
+ }
26
+ }, /*#__PURE__*/React.createElement(Controller, props));
27
+ };
28
+ var useFormField = function useFormField() {
29
+ var fieldContext = useContext(FormFieldContext);
30
+ var itemContext = useContext(FormItemContext);
31
+ var _useFormContext = useFormContext(),
32
+ getFieldState = _useFormContext.getFieldState;
33
+ var formState = useFormState({
34
+ name: fieldContext.name
35
+ });
36
+ var fieldState = getFieldState(fieldContext.name, formState);
37
+ if (!fieldContext) {
38
+ throw new Error('useFormField should be used within <FormField>');
39
+ }
40
+ var id = itemContext.id;
41
+ return _objectSpread({
42
+ id: id,
43
+ name: fieldContext.name,
44
+ formItemId: "".concat(id, "-form-item"),
45
+ formDescriptionId: "".concat(id, "-form-item-description"),
46
+ formMessageId: "".concat(id, "-form-item-message")
47
+ }, fieldState);
48
+ };
49
+ var FormItemContext = /*#__PURE__*/createContext({});
50
+ function FormItem(_ref2) {
51
+ var className = _ref2.className,
52
+ props = _objectWithoutProperties(_ref2, _excluded);
53
+ var id = useId();
54
+ return /*#__PURE__*/React.createElement(FormItemContext.Provider, {
55
+ value: {
56
+ id: id
57
+ }
58
+ }, /*#__PURE__*/React.createElement("div", _extends({
59
+ "data-slot": "form-item",
60
+ className: cn('grid gap-1.5', className)
61
+ }, props)));
62
+ }
63
+ function FormLabel(_ref3) {
64
+ var className = _ref3.className,
65
+ props = _objectWithoutProperties(_ref3, _excluded2);
66
+ var _useFormField = useFormField(),
67
+ error = _useFormField.error,
68
+ formItemId = _useFormField.formItemId;
69
+ return /*#__PURE__*/React.createElement(Label, _extends({
70
+ "data-slot": "form-label",
71
+ "data-error": !!error,
72
+ className: cn('data-[error=true]:text-destructive', className),
73
+ htmlFor: formItemId
74
+ }, props));
75
+ }
76
+ function FormControl(_ref4) {
77
+ var props = _extends({}, (_objectDestructuringEmpty(_ref4), _ref4));
78
+ var _useFormField2 = useFormField(),
79
+ error = _useFormField2.error,
80
+ formItemId = _useFormField2.formItemId,
81
+ formDescriptionId = _useFormField2.formDescriptionId,
82
+ formMessageId = _useFormField2.formMessageId;
83
+ return /*#__PURE__*/React.createElement(Slot, _extends({
84
+ "data-slot": "form-control",
85
+ id: formItemId,
86
+ "aria-describedby": !error ? "".concat(formDescriptionId) : "".concat(formDescriptionId, " ").concat(formMessageId),
87
+ "aria-invalid": !!error
88
+ }, props));
89
+ }
90
+ var formMessageSizeOptions = _defineProperty(_defineProperty(_defineProperty({}, FormMessageSize.Sm, 'text-xs'), FormMessageSize.Md, 'text-xs'), FormMessageSize.Lg, 'text-sm');
91
+ function FormDescription(_ref5) {
92
+ var className = _ref5.className,
93
+ _ref5$size = _ref5.size,
94
+ size = _ref5$size === void 0 ? FormMessageSize.Md : _ref5$size,
95
+ props = _objectWithoutProperties(_ref5, _excluded3);
96
+ var _useFormField3 = useFormField(),
97
+ formDescriptionId = _useFormField3.formDescriptionId;
98
+ return /*#__PURE__*/React.createElement("p", _extends({
99
+ "data-slot": "form-description",
100
+ id: formDescriptionId,
101
+ className: cn('text-muted-foreground', 'group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50', 'group-data-[highlight=true]:text-warning', formMessageSizeOptions[size], className)
102
+ }, props));
103
+ }
104
+ function FormMessage(_ref6) {
105
+ var _error$message;
106
+ var className = _ref6.className,
107
+ _ref6$size = _ref6.size,
108
+ size = _ref6$size === void 0 ? FormMessageSize.Md : _ref6$size,
109
+ props = _objectWithoutProperties(_ref6, _excluded4);
110
+ var _useFormField4 = useFormField(),
111
+ error = _useFormField4.error,
112
+ formMessageId = _useFormField4.formMessageId;
113
+ var body = error ? String((_error$message = error === null || error === void 0 ? void 0 : error.message) !== null && _error$message !== void 0 ? _error$message : '') : props.children;
114
+ if (!body) {
115
+ return null;
116
+ }
117
+ return /*#__PURE__*/React.createElement("p", _extends({
118
+ "data-slot": "form-message",
119
+ id: formMessageId,
120
+ className: cn('text-destructive', 'group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50', formMessageSizeOptions[size], className)
121
+ }, props), body);
122
+ }
123
+ export { useFormField, Form, FormItem, FormLabel, FormControl, FormDescription, FormMessage, FormField };
@@ -0,0 +1,7 @@
1
+ import type { Values } from 'packages/ui/src/types/values';
2
+ export declare const FormMessageSize: {
3
+ readonly Sm: "sm";
4
+ readonly Md: "md";
5
+ readonly Lg: "lg";
6
+ };
7
+ export type FormMessageSizeType = Values<typeof FormMessageSize>;
@@ -1,4 +1,4 @@
1
- export var SwitcherSize = {
1
+ export var FormMessageSize = {
2
2
  Sm: 'sm',
3
3
  Md: 'md',
4
4
  Lg: 'lg'
@@ -0,0 +1,2 @@
1
+ export { Form, FormItem, FormLabel, FormControl, FormDescription, FormMessage, FormField, useFormField, } from './form.component';
2
+ export { FormFieldGroup } from './components/form-field-group.component';
package/form/index.js ADDED
@@ -0,0 +1,2 @@
1
+ export { Form, FormItem, FormLabel, FormControl, FormDescription, FormMessage, FormField, useFormField } from './form.component';
2
+ export { FormFieldGroup } from './components/form-field-group.component';
@@ -0,0 +1,3 @@
1
+ export { Input, inputVariants } from './input.component';
2
+ export type { InputProps } from './input.types';
3
+ export { InputType, InputSize } from './input.types';
package/input/index.js ADDED
@@ -0,0 +1,2 @@
1
+ export { Input, inputVariants } from './input.component';
2
+ export { InputType, InputSize } from './input.types';
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { InputProps } from './input.types';
3
+ declare const inputVariants: (props?: ({
4
+ size?: "sm" | "md" | "lg" | null | undefined;
5
+ } & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
6
+ declare function Input({ className, type, size, disabled, readOnly, ...props }: InputProps): React.JSX.Element;
7
+ export { Input, inputVariants };