@uni-design-system/uni-react 0.0.19 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (624) hide show
  1. package/.storybook/main.ts +26 -0
  2. package/.storybook/preview.ts +21 -0
  3. package/.turbo/turbo-build.log +12 -0
  4. package/CHANGELOG.md +12 -0
  5. package/dist/{cjs/components → components}/button/button.component.d.ts +2 -1
  6. package/dist/components/button/button.component.d.ts.map +1 -0
  7. package/dist/components/button/button.stories.d.ts +73 -0
  8. package/dist/components/button/button.stories.d.ts.map +1 -0
  9. package/dist/{esm/components → components}/button/index.d.ts +1 -0
  10. package/dist/components/button/index.d.ts.map +1 -0
  11. package/dist/{cjs/components → components}/card/card.component.d.ts +2 -1
  12. package/dist/components/card/card.component.d.ts.map +1 -0
  13. package/dist/components/card/card.stories.d.ts +11 -0
  14. package/dist/components/card/card.stories.d.ts.map +1 -0
  15. package/dist/components/card/index.d.ts +2 -0
  16. package/dist/components/card/index.d.ts.map +1 -0
  17. package/dist/{cjs/components → components}/draggable/SortableList/components/DragHandle/dragHandle.component.d.ts +1 -1
  18. package/dist/components/draggable/SortableList/components/DragHandle/dragHandle.component.d.ts.map +1 -0
  19. package/dist/{esm/components → components}/draggable/SortableList/components/DragHandle/index.d.ts +1 -0
  20. package/dist/components/draggable/SortableList/components/DragHandle/index.d.ts.map +1 -0
  21. package/dist/{esm/components → components}/draggable/SortableList/components/SortableItem/index.d.ts +1 -0
  22. package/dist/components/draggable/SortableList/components/SortableItem/index.d.ts.map +1 -0
  23. package/dist/{esm/components → components}/draggable/SortableList/components/SortableItem/sortableItem.component.d.ts +3 -2
  24. package/dist/components/draggable/SortableList/components/SortableItem/sortableItem.component.d.ts.map +1 -0
  25. package/dist/{cjs/components → components}/draggable/SortableList/components/SortableItem/sortableItem.context.d.ts +2 -2
  26. package/dist/components/draggable/SortableList/components/SortableItem/sortableItem.context.d.ts.map +1 -0
  27. package/dist/{esm/components → components}/draggable/SortableList/components/SortableOverlay/index.d.ts +1 -0
  28. package/dist/components/draggable/SortableList/components/SortableOverlay/index.d.ts.map +1 -0
  29. package/dist/{esm/components → components}/draggable/SortableList/components/SortableOverlay/sortableOverlay.component.d.ts +2 -1
  30. package/dist/components/draggable/SortableList/components/SortableOverlay/sortableOverlay.component.d.ts.map +1 -0
  31. package/dist/{esm/components → components}/draggable/SortableList/components/index.d.ts +1 -0
  32. package/dist/components/draggable/SortableList/components/index.d.ts.map +1 -0
  33. package/dist/{esm/components → components}/draggable/SortableList/index.d.ts +1 -0
  34. package/dist/components/draggable/SortableList/index.d.ts.map +1 -0
  35. package/dist/{cjs/components → components}/draggable/SortableList/mockData.d.ts +1 -0
  36. package/dist/components/draggable/SortableList/mockData.d.ts.map +1 -0
  37. package/dist/{cjs/components → components}/draggable/SortableList/sortableList.component.d.ts +3 -3
  38. package/dist/components/draggable/SortableList/sortableList.component.d.ts.map +1 -0
  39. package/dist/components/draggable/SortableList/sortableList.stories.d.ts +8 -0
  40. package/dist/components/draggable/SortableList/sortableList.stories.d.ts.map +1 -0
  41. package/dist/components/draggable/index.d.ts +2 -0
  42. package/dist/components/draggable/index.d.ts.map +1 -0
  43. package/dist/{cjs/components → components}/draggable/utilities/createRange.d.ts +1 -0
  44. package/dist/components/draggable/utilities/createRange.d.ts.map +1 -0
  45. package/dist/{cjs/components → components}/draggable/utilities/index.d.ts +1 -0
  46. package/dist/components/draggable/utilities/index.d.ts.map +1 -0
  47. package/dist/components/forms/index.d.ts +2 -0
  48. package/dist/components/forms/index.d.ts.map +1 -0
  49. package/dist/{esm/components → components}/forms/text-input/index.d.ts +1 -0
  50. package/dist/components/forms/text-input/index.d.ts.map +1 -0
  51. package/dist/{cjs/components → components}/forms/text-input/text-input.component.d.ts +2 -2
  52. package/dist/components/forms/text-input/text-input.component.d.ts.map +1 -0
  53. package/dist/{cjs/components → components}/forms/utils/validations.d.ts +1 -0
  54. package/dist/components/forms/utils/validations.d.ts.map +1 -0
  55. package/dist/{esm/components → components}/grainy-gradient-background/grainy-gradient-background.component.d.ts +2 -1
  56. package/dist/components/grainy-gradient-background/grainy-gradient-background.component.d.ts.map +1 -0
  57. package/dist/components/grainy-gradient-background/grainy-gradient-background.component.stories.d.ts +91 -0
  58. package/dist/components/grainy-gradient-background/grainy-gradient-background.component.stories.d.ts.map +1 -0
  59. package/dist/{esm/components → components}/icon-text-row/icon-text-row.component.d.ts +1 -0
  60. package/dist/components/icon-text-row/icon-text-row.component.d.ts.map +1 -0
  61. package/dist/components/icon-text-row/icon-text-row.stories.d.ts +11 -0
  62. package/dist/components/icon-text-row/icon-text-row.stories.d.ts.map +1 -0
  63. package/dist/{esm/components → components}/icon-text-row/index.d.ts +1 -0
  64. package/dist/components/icon-text-row/index.d.ts.map +1 -0
  65. package/dist/{esm/components → components}/index.d.ts +1 -0
  66. package/dist/components/index.d.ts.map +1 -0
  67. package/dist/{esm/components → components}/modal/index.d.ts +1 -0
  68. package/dist/components/modal/index.d.ts.map +1 -0
  69. package/dist/{cjs/components → components}/modal/modal-close-button.component.d.ts +1 -0
  70. package/dist/components/modal/modal-close-button.component.d.ts.map +1 -0
  71. package/dist/{cjs/components → components}/modal/modal.component.d.ts +3 -2
  72. package/dist/components/modal/modal.component.d.ts.map +1 -0
  73. package/dist/components/modal/modal.stories.d.ts +8 -0
  74. package/dist/components/modal/modal.stories.d.ts.map +1 -0
  75. package/dist/{esm/components → components}/switch/index.d.ts +1 -0
  76. package/dist/components/switch/index.d.ts.map +1 -0
  77. package/dist/{esm/components → components}/switch/switch.component.d.ts +2 -2
  78. package/dist/components/switch/switch.component.d.ts.map +1 -0
  79. package/dist/{cjs/components → components}/switch/switch.config.d.ts +1 -0
  80. package/dist/components/switch/switch.config.d.ts.map +1 -0
  81. package/dist/components/switch/switch.stories.d.ts +11 -0
  82. package/dist/components/switch/switch.stories.d.ts.map +1 -0
  83. package/dist/{cjs/core → core}/background/background.component.d.ts +1 -0
  84. package/dist/core/background/background.component.d.ts.map +1 -0
  85. package/dist/core/background/background.stories.d.ts +14 -0
  86. package/dist/core/background/background.stories.d.ts.map +1 -0
  87. package/dist/{esm/core → core}/background/index.d.ts +1 -0
  88. package/dist/core/background/index.d.ts.map +1 -0
  89. package/dist/{cjs/core → core}/border/border.style.d.ts +1 -0
  90. package/dist/core/border/border.style.d.ts.map +1 -0
  91. package/dist/core/border/index.d.ts +2 -0
  92. package/dist/core/border/index.d.ts.map +1 -0
  93. package/dist/{esm/core → core}/container/container.component.d.ts +4 -3
  94. package/dist/core/container/container.component.d.ts.map +1 -0
  95. package/dist/{esm/core → core}/container/index.d.ts +1 -0
  96. package/dist/core/container/index.d.ts.map +1 -0
  97. package/dist/{cjs/core → core}/filter/filter.argTypes.d.ts +1 -0
  98. package/dist/core/filter/filter.argTypes.d.ts.map +1 -0
  99. package/dist/{esm/core → core}/filter/filter.component.d.ts +2 -1
  100. package/dist/core/filter/filter.component.d.ts.map +1 -0
  101. package/dist/{cjs/core → core}/filter/filter.config.d.ts +1 -0
  102. package/dist/core/filter/filter.config.d.ts.map +1 -0
  103. package/dist/{cjs/core → core}/filter/filter.model.d.ts +1 -0
  104. package/dist/core/filter/filter.model.d.ts.map +1 -0
  105. package/dist/{cjs/core → core}/filter/filter.style.d.ts +1 -0
  106. package/dist/core/filter/filter.style.d.ts.map +1 -0
  107. package/dist/{cjs/core → core}/filter/filter.types.d.ts +1 -0
  108. package/dist/core/filter/filter.types.d.ts.map +1 -0
  109. package/dist/{esm/core → core}/filter/index.d.ts +1 -0
  110. package/dist/core/filter/index.d.ts.map +1 -0
  111. package/dist/{esm/core → core}/flex/flex.component.d.ts +2 -1
  112. package/dist/core/flex/flex.component.d.ts.map +1 -0
  113. package/dist/{cjs/core → core}/flex/flex.style.d.ts +1 -0
  114. package/dist/core/flex/flex.style.d.ts.map +1 -0
  115. package/dist/{esm/core → core}/flex/index.d.ts +1 -0
  116. package/dist/core/flex/index.d.ts.map +1 -0
  117. package/dist/{esm/core → core}/hooks/index.d.ts +1 -0
  118. package/dist/core/hooks/index.d.ts.map +1 -0
  119. package/dist/{cjs/core → core}/hooks/use-media.d.ts +1 -0
  120. package/dist/core/hooks/use-media.d.ts.map +1 -0
  121. package/dist/{esm/core → core}/hooks/use-toggle.d.ts +1 -0
  122. package/dist/core/hooks/use-toggle.d.ts.map +1 -0
  123. package/dist/{cjs/core → core}/icon/icon.component.d.ts +3 -3
  124. package/dist/core/icon/icon.component.d.ts.map +1 -0
  125. package/dist/core/icon/icon.stories.d.ts +16 -0
  126. package/dist/core/icon/icon.stories.d.ts.map +1 -0
  127. package/dist/core/icon/index.d.ts +3 -0
  128. package/dist/core/icon/index.d.ts.map +1 -0
  129. package/dist/{cjs/core → core}/image/image.argTypes.d.ts +1 -0
  130. package/dist/core/image/image.argTypes.d.ts.map +1 -0
  131. package/dist/{cjs/core → core}/image/image.component.d.ts +1 -1
  132. package/dist/core/image/image.component.d.ts.map +1 -0
  133. package/dist/{cjs/core → core}/image/image.model.d.ts +1 -0
  134. package/dist/core/image/image.model.d.ts.map +1 -0
  135. package/dist/core/image/image.stories.d.ts +201 -0
  136. package/dist/core/image/image.stories.d.ts.map +1 -0
  137. package/dist/{esm/core → core}/image/image.style.d.ts +1 -0
  138. package/dist/core/image/image.style.d.ts.map +1 -0
  139. package/dist/{esm/core → core}/image/image.types.d.ts +1 -0
  140. package/dist/core/image/image.types.d.ts.map +1 -0
  141. package/dist/{esm/core → core}/image/index.d.ts +1 -0
  142. package/dist/core/image/index.d.ts.map +1 -0
  143. package/dist/{esm/core → core}/index.d.ts +1 -0
  144. package/dist/core/index.d.ts.map +1 -0
  145. package/dist/{esm/core → core}/layout/index.d.ts +1 -0
  146. package/dist/core/layout/index.d.ts.map +1 -0
  147. package/dist/{esm/core → core}/layout/layout.context.d.ts +2 -1
  148. package/dist/core/layout/layout.context.d.ts.map +1 -0
  149. package/dist/{cjs/core → core}/layout/layout.hook.d.ts +1 -0
  150. package/dist/core/layout/layout.hook.d.ts.map +1 -0
  151. package/dist/core/layout/layout.provider.d.ts +4 -0
  152. package/dist/core/layout/layout.provider.d.ts.map +1 -0
  153. package/dist/{esm/core → core}/overlay/index.d.ts +1 -0
  154. package/dist/core/overlay/index.d.ts.map +1 -0
  155. package/dist/{cjs/core → core}/overlay/overlay.component.d.ts +1 -1
  156. package/dist/core/overlay/overlay.component.d.ts.map +1 -0
  157. package/dist/{esm/core → core}/overlay/overlay.config.d.ts +1 -0
  158. package/dist/core/overlay/overlay.config.d.ts.map +1 -0
  159. package/dist/{esm/core → core}/overlay/overlay.model.d.ts +1 -0
  160. package/dist/core/overlay/overlay.model.d.ts.map +1 -0
  161. package/dist/core/overlay/overlay.stories.d.ts +132 -0
  162. package/dist/core/overlay/overlay.stories.d.ts.map +1 -0
  163. package/dist/core/padding/index.d.ts +2 -0
  164. package/dist/core/padding/index.d.ts.map +1 -0
  165. package/dist/{esm/core → core}/padding/padding.style.d.ts +1 -0
  166. package/dist/core/padding/padding.style.d.ts.map +1 -0
  167. package/dist/core/shadow/index.d.ts +2 -0
  168. package/dist/core/shadow/index.d.ts.map +1 -0
  169. package/dist/{cjs/core → core}/shadow/shadow.style.d.ts +1 -0
  170. package/dist/core/shadow/shadow.style.d.ts.map +1 -0
  171. package/dist/core/text/index.d.ts +2 -0
  172. package/dist/core/text/index.d.ts.map +1 -0
  173. package/dist/{cjs/core → core}/text/text.component.d.ts +2 -1
  174. package/dist/core/text/text.component.d.ts.map +1 -0
  175. package/dist/core/text/text.stories.d.ts +134 -0
  176. package/dist/core/text/text.stories.d.ts.map +1 -0
  177. package/dist/core/theme/index.d.ts +2 -0
  178. package/dist/core/theme/index.d.ts.map +1 -0
  179. package/dist/core/theme/theming.d.ts +11 -0
  180. package/dist/core/theme/theming.d.ts.map +1 -0
  181. package/dist/{esm/core → core}/transition/collapse/collapse.component.d.ts +3 -2
  182. package/dist/core/transition/collapse/collapse.component.d.ts.map +1 -0
  183. package/dist/{esm/core → core}/transition/collapse/index.d.ts +1 -0
  184. package/dist/core/transition/collapse/index.d.ts.map +1 -0
  185. package/dist/{cjs/core → core}/transition/fade/fade.argTypes.d.ts +1 -0
  186. package/dist/core/transition/fade/fade.argTypes.d.ts.map +1 -0
  187. package/dist/{cjs/core → core}/transition/fade/fade.component.d.ts +3 -2
  188. package/dist/core/transition/fade/fade.component.d.ts.map +1 -0
  189. package/dist/core/transition/fade/fade.stories.d.ts +27 -0
  190. package/dist/core/transition/fade/fade.stories.d.ts.map +1 -0
  191. package/dist/core/transition/fade/index.d.ts +2 -0
  192. package/dist/core/transition/fade/index.d.ts.map +1 -0
  193. package/dist/{esm/core → core}/transition/index.d.ts +1 -0
  194. package/dist/core/transition/index.d.ts.map +1 -0
  195. package/dist/{esm/core → core}/transition/slide/index.d.ts +1 -0
  196. package/dist/core/transition/slide/index.d.ts.map +1 -0
  197. package/dist/{esm/core → core}/transition/slide/slide.component.d.ts +3 -2
  198. package/dist/core/transition/slide/slide.component.d.ts.map +1 -0
  199. package/dist/core/transition/slide/slide.stories.d.ts +12 -0
  200. package/dist/core/transition/slide/slide.stories.d.ts.map +1 -0
  201. package/dist/{cjs/core → core}/transition/transition.argTypes.d.ts +1 -0
  202. package/dist/core/transition/transition.argTypes.d.ts.map +1 -0
  203. package/dist/{esm/core → core}/transition/transition.utils.d.ts +2 -1
  204. package/dist/core/transition/transition.utils.d.ts.map +1 -0
  205. package/dist/{esm/index.d.ts → index.d.ts} +1 -0
  206. package/dist/index.d.ts.map +1 -0
  207. package/dist/index.js +13575 -0
  208. package/dist/{cjs/layouts → layouts}/parallax-hero/parallax-hero.component.d.ts +1 -1
  209. package/dist/layouts/parallax-hero/parallax-hero.component.d.ts.map +1 -0
  210. package/dist/{esm/layouts → layouts}/parallax-hero/parallax-hero.model.d.ts +1 -0
  211. package/dist/layouts/parallax-hero/parallax-hero.model.d.ts.map +1 -0
  212. package/dist/stories/Button.d.ts +15 -0
  213. package/dist/stories/Button.d.ts.map +1 -0
  214. package/dist/stories/Button.stories.d.ts +24 -0
  215. package/dist/stories/Button.stories.d.ts.map +1 -0
  216. package/dist/stories/Header.d.ts +12 -0
  217. package/dist/stories/Header.d.ts.map +1 -0
  218. package/dist/stories/Header.stories.d.ts +19 -0
  219. package/dist/stories/Header.stories.d.ts.map +1 -0
  220. package/dist/stories/Page.d.ts +3 -0
  221. package/dist/stories/Page.d.ts.map +1 -0
  222. package/dist/stories/Page.stories.d.ts +13 -0
  223. package/dist/stories/Page.stories.d.ts.map +1 -0
  224. package/dist/{cjs/tools → tools}/color-picker/color-picker.component.d.ts +1 -1
  225. package/dist/tools/color-picker/color-picker.component.d.ts.map +1 -0
  226. package/dist/tools/color-picker/color-picker.stories.d.ts +14 -0
  227. package/dist/tools/color-picker/color-picker.stories.d.ts.map +1 -0
  228. package/dist/{cjs/tools → tools}/color-swatch/color-swatch.component.d.ts +2 -1
  229. package/dist/tools/color-swatch/color-swatch.component.d.ts.map +1 -0
  230. package/dist/{esm/utils → utils}/index.d.ts +1 -0
  231. package/dist/utils/index.d.ts.map +1 -0
  232. package/dist/{cjs/utils → utils}/storage-manager.d.ts +1 -0
  233. package/dist/utils/storage-manager.d.ts.map +1 -0
  234. package/package.json +51 -59
  235. package/src/components/button/button.component.tsx +125 -0
  236. package/src/components/button/button.stories.tsx +79 -0
  237. package/src/components/card/card.component.tsx +56 -0
  238. package/src/components/card/card.stories.tsx +22 -0
  239. package/src/components/draggable/SortableList/components/DragHandle/dragHandle.component.tsx +20 -0
  240. package/src/components/draggable/SortableList/components/SortableItem/sortableItem.component.tsx +46 -0
  241. package/src/components/draggable/SortableList/components/SortableItem/sortableItem.context.ts +14 -0
  242. package/src/components/draggable/SortableList/components/SortableOverlay/sortableOverlay.component.tsx +20 -0
  243. package/src/components/draggable/SortableList/mockData.ts +50 -0
  244. package/src/components/draggable/SortableList/sortableList.component.tsx +69 -0
  245. package/src/components/draggable/SortableList/sortableList.stories.tsx +67 -0
  246. package/src/components/draggable/utilities/createRange.ts +8 -0
  247. package/src/components/draggable/utilities/index.ts +1 -0
  248. package/src/components/forms/text-input/text-input.component.tsx +14 -0
  249. package/src/components/forms/utils/validations.ts +61 -0
  250. package/src/components/grainy-gradient-background/grainy-gradient-background.component.stories.tsx +57 -0
  251. package/src/components/grainy-gradient-background/grainy-gradient-background.component.tsx +68 -0
  252. package/src/components/icon-text-row/icon-text-row.component.tsx +65 -0
  253. package/src/components/icon-text-row/icon-text-row.stories.tsx +18 -0
  254. package/src/components/modal/modal-close-button.component.tsx +13 -0
  255. package/src/components/modal/modal.component.tsx +43 -0
  256. package/src/components/modal/modal.stories.tsx +25 -0
  257. package/src/components/switch/switch.component.tsx +56 -0
  258. package/src/components/switch/switch.config.ts +24 -0
  259. package/src/components/switch/switch.stories.tsx +12 -0
  260. package/src/core/background/background.component.tsx +47 -0
  261. package/src/core/background/background.stories.tsx +22 -0
  262. package/src/core/border/border.style.ts +30 -0
  263. package/src/core/container/container.component.tsx +20 -0
  264. package/src/core/filter/filter.argTypes.ts +111 -0
  265. package/src/core/filter/filter.component.tsx +11 -0
  266. package/src/core/filter/filter.config.ts +68 -0
  267. package/src/core/filter/filter.model.ts +22 -0
  268. package/src/core/filter/filter.style.ts +22 -0
  269. package/src/core/filter/filter.types.ts +12 -0
  270. package/src/core/flex/flex.component.tsx +91 -0
  271. package/src/core/flex/flex.style.ts +106 -0
  272. package/src/core/hooks/use-media.ts +29 -0
  273. package/src/core/hooks/use-toggle.tsx +23 -0
  274. package/src/core/icon/icon.component.tsx +19 -0
  275. package/src/core/icon/icon.stories.tsx +49 -0
  276. package/src/core/icon/index.ts +2 -0
  277. package/src/core/image/image.argTypes.ts +23 -0
  278. package/src/core/image/image.component.tsx +7 -0
  279. package/{dist/esm/core/image/image.model.d.ts → src/core/image/image.model.ts} +6 -5
  280. package/src/core/image/image.stories.tsx +22 -0
  281. package/src/core/image/image.style.ts +19 -0
  282. package/src/core/layout/layout.context.tsx +14 -0
  283. package/src/core/layout/layout.hook.tsx +11 -0
  284. package/src/core/layout/layout.provider.tsx +28 -0
  285. package/src/core/overlay/overlay.component.tsx +27 -0
  286. package/src/core/overlay/overlay.config.ts +23 -0
  287. package/src/core/overlay/overlay.model.ts +13 -0
  288. package/src/core/overlay/overlay.stories.tsx +73 -0
  289. package/src/core/padding/padding.style.ts +36 -0
  290. package/src/core/shadow/shadow.style.ts +5 -0
  291. package/src/core/text/text.component.tsx +47 -0
  292. package/src/core/text/text.stories.tsx +84 -0
  293. package/src/core/theme/index.ts +1 -0
  294. package/src/core/theme/theming.tsx +29 -0
  295. package/src/core/transition/collapse/collapse.component.tsx +133 -0
  296. package/src/core/transition/fade/fade.argTypes.ts +5 -0
  297. package/src/core/transition/fade/fade.component.tsx +45 -0
  298. package/src/core/transition/fade/fade.stories.tsx +52 -0
  299. package/src/core/transition/slide/slide.component.tsx +101 -0
  300. package/src/core/transition/slide/slide.stories.tsx +38 -0
  301. package/src/core/transition/transition.argTypes.ts +10 -0
  302. package/src/core/transition/transition.utils.ts +159 -0
  303. package/src/layouts/parallax-hero/parallax-hero.component.tsx +25 -0
  304. package/{dist/cjs/layouts/parallax-hero/parallax-hero.model.d.ts → src/layouts/parallax-hero/parallax-hero.model.ts} +7 -5
  305. package/src/stories/Button.stories.ts +54 -0
  306. package/src/stories/Button.tsx +37 -0
  307. package/src/stories/Configure.mdx +388 -0
  308. package/src/stories/Header.stories.ts +34 -0
  309. package/src/stories/Header.tsx +56 -0
  310. package/src/stories/Page.stories.ts +33 -0
  311. package/src/stories/Page.tsx +73 -0
  312. package/src/stories/assets/accessibility.png +0 -0
  313. package/src/stories/assets/accessibility.svg +1 -0
  314. package/src/stories/assets/addon-library.png +0 -0
  315. package/src/stories/assets/assets.png +0 -0
  316. package/src/stories/assets/avif-test-image.avif +0 -0
  317. package/src/stories/assets/context.png +0 -0
  318. package/src/stories/assets/discord.svg +1 -0
  319. package/src/stories/assets/docs.png +0 -0
  320. package/src/stories/assets/figma-plugin.png +0 -0
  321. package/src/stories/assets/github.svg +1 -0
  322. package/src/stories/assets/share.png +0 -0
  323. package/src/stories/assets/styling.png +0 -0
  324. package/src/stories/assets/testing.png +0 -0
  325. package/src/stories/assets/theming.png +0 -0
  326. package/src/stories/assets/tutorials.svg +1 -0
  327. package/src/stories/assets/youtube.svg +1 -0
  328. package/src/stories/button.css +30 -0
  329. package/src/stories/header.css +32 -0
  330. package/src/stories/page.css +68 -0
  331. package/src/tools/color-picker/color-picker.component.tsx +146 -0
  332. package/src/tools/color-picker/color-picker.stories.tsx +21 -0
  333. package/src/tools/color-swatch/color-swatch.component.tsx +61 -0
  334. package/src/utils/storage-manager.ts +48 -0
  335. package/tsconfig.json +12 -0
  336. package/vite.config.ts +29 -0
  337. package/vitest.config.ts +36 -0
  338. package/vitest.shims.d.ts +1 -0
  339. package/README.md +0 -22
  340. package/dist/cjs/components/button/button.component.js +0 -98
  341. package/dist/cjs/components/button/index.js +0 -17
  342. package/dist/cjs/components/card/card.component.js +0 -35
  343. package/dist/cjs/components/card/index.js +0 -17
  344. package/dist/cjs/components/draggable/SortableList/components/DragHandle/dragHandle.component.js +0 -48
  345. package/dist/cjs/components/draggable/SortableList/components/DragHandle/index.js +0 -5
  346. package/dist/cjs/components/draggable/SortableList/components/SortableItem/index.js +0 -5
  347. package/dist/cjs/components/draggable/SortableList/components/SortableItem/sortableItem.component.d.ts +0 -8
  348. package/dist/cjs/components/draggable/SortableList/components/SortableItem/sortableItem.component.js +0 -44
  349. package/dist/cjs/components/draggable/SortableList/components/SortableItem/sortableItem.context.js +0 -9
  350. package/dist/cjs/components/draggable/SortableList/components/SortableOverlay/index.js +0 -5
  351. package/dist/cjs/components/draggable/SortableList/components/SortableOverlay/sortableOverlay.component.d.ts +0 -5
  352. package/dist/cjs/components/draggable/SortableList/components/SortableOverlay/sortableOverlay.component.js +0 -19
  353. package/dist/cjs/components/draggable/SortableList/components/index.js +0 -9
  354. package/dist/cjs/components/draggable/SortableList/index.js +0 -18
  355. package/dist/cjs/components/draggable/SortableList/mockData.js +0 -53
  356. package/dist/cjs/components/draggable/SortableList/sortableList.component.js +0 -57
  357. package/dist/cjs/components/draggable/index.js +0 -17
  358. package/dist/cjs/components/draggable/utilities/createRange.js +0 -8
  359. package/dist/cjs/components/draggable/utilities/index.js +0 -5
  360. package/dist/cjs/components/forms/index.js +0 -17
  361. package/dist/cjs/components/forms/text-input/index.js +0 -17
  362. package/dist/cjs/components/forms/text-input/text-input.component.js +0 -12
  363. package/dist/cjs/components/forms/utils/validations.js +0 -55
  364. package/dist/cjs/components/grainy-gradient-background/grainy-gradient-background.component.d.ts +0 -13
  365. package/dist/cjs/components/grainy-gradient-background/grainy-gradient-background.component.js +0 -42
  366. package/dist/cjs/components/icon-text-row/icon-text-row.component.d.ts +0 -12
  367. package/dist/cjs/components/icon-text-row/icon-text-row.component.js +0 -35
  368. package/dist/cjs/components/icon-text-row/index.js +0 -17
  369. package/dist/cjs/components/index.js +0 -23
  370. package/dist/cjs/components/modal/index.js +0 -17
  371. package/dist/cjs/components/modal/modal-close-button.component.js +0 -30
  372. package/dist/cjs/components/modal/modal.component.js +0 -22
  373. package/dist/cjs/components/switch/index.js +0 -17
  374. package/dist/cjs/components/switch/switch.component.d.ts +0 -8
  375. package/dist/cjs/components/switch/switch.component.js +0 -65
  376. package/dist/cjs/components/switch/switch.config.js +0 -25
  377. package/dist/cjs/core/background/background.component.js +0 -22
  378. package/dist/cjs/core/background/index.js +0 -17
  379. package/dist/cjs/core/border/border.style.js +0 -30
  380. package/dist/cjs/core/border/index.js +0 -17
  381. package/dist/cjs/core/container/container.component.d.ts +0 -11
  382. package/dist/cjs/core/container/container.component.js +0 -45
  383. package/dist/cjs/core/container/index.js +0 -17
  384. package/dist/cjs/core/filter/filter.argTypes.js +0 -104
  385. package/dist/cjs/core/filter/filter.component.d.ts +0 -3
  386. package/dist/cjs/core/filter/filter.component.js +0 -15
  387. package/dist/cjs/core/filter/filter.config.js +0 -68
  388. package/dist/cjs/core/filter/filter.model.js +0 -2
  389. package/dist/cjs/core/filter/filter.style.js +0 -21
  390. package/dist/cjs/core/filter/filter.types.js +0 -2
  391. package/dist/cjs/core/filter/index.js +0 -20
  392. package/dist/cjs/core/flex/flex.component.d.ts +0 -54
  393. package/dist/cjs/core/flex/flex.component.js +0 -33
  394. package/dist/cjs/core/flex/flex.style.js +0 -86
  395. package/dist/cjs/core/flex/index.js +0 -18
  396. package/dist/cjs/core/hooks/index.js +0 -18
  397. package/dist/cjs/core/hooks/use-media.js +0 -29
  398. package/dist/cjs/core/hooks/use-toggle.d.ts +0 -14
  399. package/dist/cjs/core/hooks/use-toggle.js +0 -21
  400. package/dist/cjs/core/icon/icon.component.js +0 -17
  401. package/dist/cjs/core/icon/index.d.ts +0 -2
  402. package/dist/cjs/core/icon/index.js +0 -21
  403. package/dist/cjs/core/image/image.argTypes.js +0 -19
  404. package/dist/cjs/core/image/image.component.js +0 -24
  405. package/dist/cjs/core/image/image.model.js +0 -2
  406. package/dist/cjs/core/image/image.style.d.ts +0 -3
  407. package/dist/cjs/core/image/image.style.js +0 -22
  408. package/dist/cjs/core/image/image.types.js +0 -2
  409. package/dist/cjs/core/image/index.js +0 -18
  410. package/dist/cjs/core/index.js +0 -30
  411. package/dist/cjs/core/layout/index.js +0 -18
  412. package/dist/cjs/core/layout/layout.context.d.ts +0 -7
  413. package/dist/cjs/core/layout/layout.context.js +0 -11
  414. package/dist/cjs/core/layout/layout.hook.js +0 -16
  415. package/dist/cjs/core/layout/layout.provider.d.ts +0 -4
  416. package/dist/cjs/core/layout/layout.provider.js +0 -25
  417. package/dist/cjs/core/overlay/index.js +0 -18
  418. package/dist/cjs/core/overlay/overlay.component.js +0 -17
  419. package/dist/cjs/core/overlay/overlay.config.d.ts +0 -4
  420. package/dist/cjs/core/overlay/overlay.config.js +0 -20
  421. package/dist/cjs/core/overlay/overlay.model.d.ts +0 -12
  422. package/dist/cjs/core/overlay/overlay.model.js +0 -2
  423. package/dist/cjs/core/padding/index.js +0 -17
  424. package/dist/cjs/core/padding/padding.style.d.ts +0 -3
  425. package/dist/cjs/core/padding/padding.style.js +0 -34
  426. package/dist/cjs/core/shadow/index.js +0 -17
  427. package/dist/cjs/core/shadow/shadow.style.js +0 -8
  428. package/dist/cjs/core/text/index.js +0 -17
  429. package/dist/cjs/core/text/text.component.js +0 -50
  430. package/dist/cjs/core/theme/index.d.ts +0 -9
  431. package/dist/cjs/core/theme/index.js +0 -7
  432. package/dist/cjs/core/transition/collapse/collapse.component.d.ts +0 -24
  433. package/dist/cjs/core/transition/collapse/collapse.component.js +0 -79
  434. package/dist/cjs/core/transition/collapse/index.js +0 -17
  435. package/dist/cjs/core/transition/fade/fade.argTypes.js +0 -8
  436. package/dist/cjs/core/transition/fade/fade.component.js +0 -53
  437. package/dist/cjs/core/transition/fade/index.js +0 -17
  438. package/dist/cjs/core/transition/index.js +0 -19
  439. package/dist/cjs/core/transition/slide/index.js +0 -17
  440. package/dist/cjs/core/transition/slide/slide.component.d.ts +0 -15
  441. package/dist/cjs/core/transition/slide/slide.component.js +0 -54
  442. package/dist/cjs/core/transition/transition.argTypes.js +0 -13
  443. package/dist/cjs/core/transition/transition.utils.d.ts +0 -245
  444. package/dist/cjs/core/transition/transition.utils.js +0 -99
  445. package/dist/cjs/index.js +0 -19
  446. package/dist/cjs/layouts/parallax-hero/parallax-hero.component.js +0 -15
  447. package/dist/cjs/layouts/parallax-hero/parallax-hero.model.js +0 -2
  448. package/dist/cjs/tools/color-picker/color-picker.component.js +0 -138
  449. package/dist/cjs/tools/color-swatch/color-swatch.component.js +0 -38
  450. package/dist/cjs/utils/index.js +0 -17
  451. package/dist/cjs/utils/storage-manager.js +0 -49
  452. package/dist/esm/components/button/button.component.d.ts +0 -16
  453. package/dist/esm/components/button/button.component.js +0 -68
  454. package/dist/esm/components/button/index.js +0 -1
  455. package/dist/esm/components/card/card.component.d.ts +0 -14
  456. package/dist/esm/components/card/card.component.js +0 -28
  457. package/dist/esm/components/card/index.d.ts +0 -1
  458. package/dist/esm/components/card/index.js +0 -1
  459. package/dist/esm/components/draggable/SortableList/components/DragHandle/dragHandle.component.d.ts +0 -3
  460. package/dist/esm/components/draggable/SortableList/components/DragHandle/dragHandle.component.js +0 -21
  461. package/dist/esm/components/draggable/SortableList/components/DragHandle/index.js +0 -1
  462. package/dist/esm/components/draggable/SortableList/components/SortableItem/index.js +0 -1
  463. package/dist/esm/components/draggable/SortableList/components/SortableItem/sortableItem.component.js +0 -17
  464. package/dist/esm/components/draggable/SortableList/components/SortableItem/sortableItem.context.d.ts +0 -9
  465. package/dist/esm/components/draggable/SortableList/components/SortableItem/sortableItem.context.js +0 -6
  466. package/dist/esm/components/draggable/SortableList/components/SortableOverlay/index.js +0 -1
  467. package/dist/esm/components/draggable/SortableList/components/SortableOverlay/sortableOverlay.component.js +0 -12
  468. package/dist/esm/components/draggable/SortableList/components/index.js +0 -3
  469. package/dist/esm/components/draggable/SortableList/index.js +0 -2
  470. package/dist/esm/components/draggable/SortableList/mockData.d.ts +0 -4
  471. package/dist/esm/components/draggable/SortableList/mockData.js +0 -50
  472. package/dist/esm/components/draggable/SortableList/sortableList.component.d.ts +0 -13
  473. package/dist/esm/components/draggable/SortableList/sortableList.component.js +0 -30
  474. package/dist/esm/components/draggable/index.d.ts +0 -1
  475. package/dist/esm/components/draggable/index.js +0 -1
  476. package/dist/esm/components/draggable/utilities/createRange.d.ts +0 -1
  477. package/dist/esm/components/draggable/utilities/createRange.js +0 -4
  478. package/dist/esm/components/draggable/utilities/index.d.ts +0 -1
  479. package/dist/esm/components/draggable/utilities/index.js +0 -1
  480. package/dist/esm/components/forms/index.d.ts +0 -1
  481. package/dist/esm/components/forms/index.js +0 -1
  482. package/dist/esm/components/forms/text-input/index.js +0 -1
  483. package/dist/esm/components/forms/text-input/text-input.component.d.ts +0 -6
  484. package/dist/esm/components/forms/text-input/text-input.component.js +0 -5
  485. package/dist/esm/components/forms/utils/validations.d.ts +0 -2
  486. package/dist/esm/components/forms/utils/validations.js +0 -52
  487. package/dist/esm/components/grainy-gradient-background/grainy-gradient-background.component.js +0 -35
  488. package/dist/esm/components/icon-text-row/icon-text-row.component.js +0 -28
  489. package/dist/esm/components/icon-text-row/index.js +0 -1
  490. package/dist/esm/components/index.js +0 -7
  491. package/dist/esm/components/modal/index.js +0 -1
  492. package/dist/esm/components/modal/modal-close-button.component.d.ts +0 -3
  493. package/dist/esm/components/modal/modal-close-button.component.js +0 -23
  494. package/dist/esm/components/modal/modal.component.d.ts +0 -13
  495. package/dist/esm/components/modal/modal.component.js +0 -15
  496. package/dist/esm/components/switch/index.js +0 -1
  497. package/dist/esm/components/switch/switch.component.js +0 -38
  498. package/dist/esm/components/switch/switch.config.d.ts +0 -5
  499. package/dist/esm/components/switch/switch.config.js +0 -22
  500. package/dist/esm/core/background/background.component.d.ts +0 -15
  501. package/dist/esm/core/background/background.component.js +0 -15
  502. package/dist/esm/core/background/index.js +0 -1
  503. package/dist/esm/core/border/border.style.d.ts +0 -3
  504. package/dist/esm/core/border/border.style.js +0 -26
  505. package/dist/esm/core/border/index.d.ts +0 -1
  506. package/dist/esm/core/border/index.js +0 -1
  507. package/dist/esm/core/container/container.component.js +0 -18
  508. package/dist/esm/core/container/index.js +0 -1
  509. package/dist/esm/core/filter/filter.argTypes.d.ts +0 -155
  510. package/dist/esm/core/filter/filter.argTypes.js +0 -101
  511. package/dist/esm/core/filter/filter.component.js +0 -8
  512. package/dist/esm/core/filter/filter.config.d.ts +0 -3
  513. package/dist/esm/core/filter/filter.config.js +0 -65
  514. package/dist/esm/core/filter/filter.model.d.ts +0 -20
  515. package/dist/esm/core/filter/filter.model.js +0 -1
  516. package/dist/esm/core/filter/filter.style.d.ts +0 -3
  517. package/dist/esm/core/filter/filter.style.js +0 -17
  518. package/dist/esm/core/filter/filter.types.d.ts +0 -2
  519. package/dist/esm/core/filter/filter.types.js +0 -1
  520. package/dist/esm/core/filter/index.js +0 -4
  521. package/dist/esm/core/flex/flex.component.js +0 -27
  522. package/dist/esm/core/flex/flex.style.d.ts +0 -28
  523. package/dist/esm/core/flex/flex.style.js +0 -83
  524. package/dist/esm/core/flex/index.js +0 -2
  525. package/dist/esm/core/hooks/index.js +0 -2
  526. package/dist/esm/core/hooks/use-media.d.ts +0 -1
  527. package/dist/esm/core/hooks/use-media.js +0 -25
  528. package/dist/esm/core/hooks/use-toggle.js +0 -17
  529. package/dist/esm/core/icon/icon.component.d.ts +0 -10
  530. package/dist/esm/core/icon/icon.component.js +0 -10
  531. package/dist/esm/core/icon/index.d.ts +0 -2
  532. package/dist/esm/core/icon/index.js +0 -2
  533. package/dist/esm/core/image/image.argTypes.d.ts +0 -187
  534. package/dist/esm/core/image/image.argTypes.js +0 -16
  535. package/dist/esm/core/image/image.component.d.ts +0 -3
  536. package/dist/esm/core/image/image.component.js +0 -17
  537. package/dist/esm/core/image/image.model.js +0 -1
  538. package/dist/esm/core/image/image.style.js +0 -18
  539. package/dist/esm/core/image/image.types.js +0 -1
  540. package/dist/esm/core/image/index.js +0 -2
  541. package/dist/esm/core/index.js +0 -14
  542. package/dist/esm/core/layout/index.js +0 -2
  543. package/dist/esm/core/layout/layout.context.js +0 -6
  544. package/dist/esm/core/layout/layout.hook.d.ts +0 -2
  545. package/dist/esm/core/layout/layout.hook.js +0 -9
  546. package/dist/esm/core/layout/layout.provider.d.ts +0 -4
  547. package/dist/esm/core/layout/layout.provider.js +0 -18
  548. package/dist/esm/core/overlay/index.js +0 -2
  549. package/dist/esm/core/overlay/overlay.component.d.ts +0 -3
  550. package/dist/esm/core/overlay/overlay.component.js +0 -10
  551. package/dist/esm/core/overlay/overlay.config.js +0 -16
  552. package/dist/esm/core/overlay/overlay.model.js +0 -1
  553. package/dist/esm/core/padding/index.d.ts +0 -1
  554. package/dist/esm/core/padding/index.js +0 -1
  555. package/dist/esm/core/padding/padding.style.js +0 -30
  556. package/dist/esm/core/shadow/index.d.ts +0 -1
  557. package/dist/esm/core/shadow/index.js +0 -1
  558. package/dist/esm/core/shadow/shadow.style.d.ts +0 -2
  559. package/dist/esm/core/shadow/shadow.style.js +0 -4
  560. package/dist/esm/core/text/index.d.ts +0 -1
  561. package/dist/esm/core/text/index.js +0 -1
  562. package/dist/esm/core/text/text.component.d.ts +0 -11
  563. package/dist/esm/core/text/text.component.js +0 -23
  564. package/dist/esm/core/theme/index.d.ts +0 -9
  565. package/dist/esm/core/theme/index.js +0 -3
  566. package/dist/esm/core/transition/collapse/collapse.component.js +0 -73
  567. package/dist/esm/core/transition/collapse/index.js +0 -1
  568. package/dist/esm/core/transition/fade/fade.argTypes.d.ts +0 -5
  569. package/dist/esm/core/transition/fade/fade.argTypes.js +0 -5
  570. package/dist/esm/core/transition/fade/fade.component.d.ts +0 -7
  571. package/dist/esm/core/transition/fade/fade.component.js +0 -47
  572. package/dist/esm/core/transition/fade/index.d.ts +0 -1
  573. package/dist/esm/core/transition/fade/index.js +0 -1
  574. package/dist/esm/core/transition/index.js +0 -3
  575. package/dist/esm/core/transition/slide/index.js +0 -1
  576. package/dist/esm/core/transition/slide/slide.component.js +0 -48
  577. package/dist/esm/core/transition/transition.argTypes.d.ts +0 -19
  578. package/dist/esm/core/transition/transition.argTypes.js +0 -10
  579. package/dist/esm/core/transition/transition.utils.js +0 -93
  580. package/dist/esm/index.js +0 -3
  581. package/dist/esm/layouts/parallax-hero/parallax-hero.component.d.ts +0 -3
  582. package/dist/esm/layouts/parallax-hero/parallax-hero.component.js +0 -8
  583. package/dist/esm/layouts/parallax-hero/parallax-hero.model.js +0 -1
  584. package/dist/esm/tools/color-picker/color-picker.component.d.ts +0 -8
  585. package/dist/esm/tools/color-picker/color-picker.component.js +0 -111
  586. package/dist/esm/tools/color-swatch/color-swatch.component.d.ts +0 -12
  587. package/dist/esm/tools/color-swatch/color-swatch.component.js +0 -31
  588. package/dist/esm/utils/index.js +0 -1
  589. package/dist/esm/utils/storage-manager.d.ts +0 -7
  590. package/dist/esm/utils/storage-manager.js +0 -44
  591. /package/{dist/cjs/components/button/index.d.ts → src/components/button/index.ts} +0 -0
  592. /package/{dist/cjs/components/card/index.d.ts → src/components/card/index.ts} +0 -0
  593. /package/{dist/cjs/components/draggable/SortableList/components/DragHandle/index.d.ts → src/components/draggable/SortableList/components/DragHandle/index.ts} +0 -0
  594. /package/{dist/cjs/components/draggable/SortableList/components/SortableItem/index.d.ts → src/components/draggable/SortableList/components/SortableItem/index.ts} +0 -0
  595. /package/{dist/cjs/components/draggable/SortableList/components/SortableOverlay/index.d.ts → src/components/draggable/SortableList/components/SortableOverlay/index.ts} +0 -0
  596. /package/{dist/cjs/components/draggable/SortableList/components/index.d.ts → src/components/draggable/SortableList/components/index.ts} +0 -0
  597. /package/{dist/cjs/components/draggable/SortableList/index.d.ts → src/components/draggable/SortableList/index.ts} +0 -0
  598. /package/{dist/cjs/components/draggable/index.d.ts → src/components/draggable/index.ts} +0 -0
  599. /package/{dist/cjs/components/forms/index.d.ts → src/components/forms/index.ts} +0 -0
  600. /package/{dist/cjs/components/forms/text-input/index.d.ts → src/components/forms/text-input/index.ts} +0 -0
  601. /package/{dist/cjs/components/icon-text-row/index.d.ts → src/components/icon-text-row/index.ts} +0 -0
  602. /package/{dist/cjs/components/index.d.ts → src/components/index.ts} +0 -0
  603. /package/{dist/cjs/components/modal/index.d.ts → src/components/modal/index.ts} +0 -0
  604. /package/{dist/cjs/components/switch/index.d.ts → src/components/switch/index.ts} +0 -0
  605. /package/{dist/cjs/core/background/index.d.ts → src/core/background/index.ts} +0 -0
  606. /package/{dist/cjs/core/border/index.d.ts → src/core/border/index.ts} +0 -0
  607. /package/{dist/cjs/core/container/index.d.ts → src/core/container/index.ts} +0 -0
  608. /package/{dist/cjs/core/filter/index.d.ts → src/core/filter/index.ts} +0 -0
  609. /package/{dist/cjs/core/flex/index.d.ts → src/core/flex/index.ts} +0 -0
  610. /package/{dist/cjs/core/hooks/index.d.ts → src/core/hooks/index.ts} +0 -0
  611. /package/{dist/cjs/core/image/image.types.d.ts → src/core/image/image.types.ts} +0 -0
  612. /package/{dist/cjs/core/image/index.d.ts → src/core/image/index.ts} +0 -0
  613. /package/{dist/cjs/core/index.d.ts → src/core/index.ts} +0 -0
  614. /package/{dist/cjs/core/layout/index.d.ts → src/core/layout/index.ts} +0 -0
  615. /package/{dist/cjs/core/overlay/index.d.ts → src/core/overlay/index.ts} +0 -0
  616. /package/{dist/cjs/core/padding/index.d.ts → src/core/padding/index.ts} +0 -0
  617. /package/{dist/cjs/core/shadow/index.d.ts → src/core/shadow/index.ts} +0 -0
  618. /package/{dist/cjs/core/text/index.d.ts → src/core/text/index.ts} +0 -0
  619. /package/{dist/cjs/core/transition/collapse/index.d.ts → src/core/transition/collapse/index.ts} +0 -0
  620. /package/{dist/cjs/core/transition/fade/index.d.ts → src/core/transition/fade/index.ts} +0 -0
  621. /package/{dist/cjs/core/transition/index.d.ts → src/core/transition/index.ts} +0 -0
  622. /package/{dist/cjs/core/transition/slide/index.d.ts → src/core/transition/slide/index.ts} +0 -0
  623. /package/{dist/cjs/index.d.ts → src/index.ts} +0 -0
  624. /package/{dist/cjs/utils/index.d.ts → src/utils/index.ts} +0 -0
@@ -0,0 +1,56 @@
1
+ import { motion, Transition } from 'framer-motion';
2
+ import React, { CSSProperties, useState } from 'react';
3
+ import { RoleHues, Size } from '@uni-design-system/uni-core';
4
+ import { SwitchConfigs } from './switch.config';
5
+
6
+ export interface SwitchProps {
7
+ size?: Size;
8
+ on?: boolean;
9
+ onChange?: (on: boolean) => void;
10
+ }
11
+
12
+ export const Switch = ({ size = 'sm', on = false, onChange }: SwitchProps) => {
13
+ const [isOn, setIsOn] = useState(on);
14
+
15
+ const successColor = `hsl(${RoleHues.success.default}, 32%, 50%)`;
16
+
17
+ const toggleSwitch = () => {
18
+ setIsOn(!isOn);
19
+ onChange && onChange(!isOn);
20
+ };
21
+
22
+ const spring: Transition = {
23
+ type: 'spring',
24
+ stiffness: 700,
25
+ damping: 30,
26
+ };
27
+
28
+ const config = SwitchConfigs[size];
29
+
30
+ const handleDiameter = config.radius * 2;
31
+ const switchWidth = config.radius * 4;
32
+
33
+ const switchStyle: CSSProperties = {
34
+ cursor: 'pointer',
35
+ display: 'flex',
36
+ justifyContent: isOn ? 'flex-end' : 'flex-start',
37
+ backgroundColor: isOn ? successColor : 'rgba(0, 0, 0, 0.4)',
38
+ width: switchWidth,
39
+ height: handleDiameter,
40
+ padding: config.padding,
41
+ borderRadius: config.radius + config.padding,
42
+ };
43
+
44
+ const handleStyle: CSSProperties = {
45
+ width: handleDiameter,
46
+ height: handleDiameter,
47
+ backgroundColor: 'white',
48
+ borderRadius: config.radius,
49
+ };
50
+
51
+ return (
52
+ <div style={switchStyle} className="switch" data-isOn={isOn} onClick={toggleSwitch}>
53
+ <motion.div style={handleStyle} className="handle" layout transition={spring} />
54
+ </div>
55
+ );
56
+ };
@@ -0,0 +1,24 @@
1
+ import { Size } from '@uni-design-system/uni-core';
2
+
3
+ export const SwitchConfigs: Record<Size, { radius: number; padding: number }> = {
4
+ xs: {
5
+ radius: 6,
6
+ padding: 2,
7
+ },
8
+ sm: {
9
+ radius: 8,
10
+ padding: 2,
11
+ },
12
+ md: {
13
+ radius: 10,
14
+ padding: 3,
15
+ },
16
+ lg: {
17
+ radius: 12,
18
+ padding: 4,
19
+ },
20
+ xl: {
21
+ radius: 14,
22
+ padding: 5,
23
+ },
24
+ };
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import { Switch, SwitchProps } from './switch.component';
3
+
4
+ export default {
5
+ title: 'Components / Switch',
6
+ component: Switch,
7
+ argTypes: {
8
+ size: {},
9
+ },
10
+ };
11
+
12
+ export const SwitchPlayground = ({ ...props }: SwitchProps) => <Switch {...props} />;
@@ -0,0 +1,47 @@
1
+ import React, { CSSProperties, ReactNode } from 'react';
2
+ import { Property } from 'csstype';
3
+
4
+ export interface BackgroundProps {
5
+ className?: string;
6
+ children?: ReactNode;
7
+ image?: Property.BackgroundImage;
8
+ imageUrl?: string;
9
+ gradiant?: Property.BackgroundImage;
10
+ position?: Property.BackgroundPosition; // https://developer.mozilla.org/en-US/docs/Web/CSS/background-position
11
+ size?: Property.BackgroundSize; // https://developer.mozilla.org/en-US/docs/Web/CSS/background-size
12
+ attachment?: 'fixed' | 'local' | 'scroll';
13
+ minHeight?: Property.MinHeight;
14
+ color?: string;
15
+ }
16
+
17
+ export const Background = ({
18
+ children,
19
+ image,
20
+ imageUrl,
21
+ gradiant,
22
+ position,
23
+ size,
24
+ attachment,
25
+ className,
26
+ minHeight,
27
+ color,
28
+ }: BackgroundProps): JSX.Element => {
29
+ if (!!imageUrl) {
30
+ image = `url(${imageUrl})`;
31
+ }
32
+
33
+ const style: CSSProperties = {
34
+ backgroundColor: color,
35
+ backgroundImage: image || gradiant,
36
+ backgroundPosition: position,
37
+ backgroundSize: size,
38
+ minHeight,
39
+ backgroundAttachment: attachment,
40
+ };
41
+
42
+ return (
43
+ <div className={className} style={style}>
44
+ {children}
45
+ </div>
46
+ );
47
+ };
@@ -0,0 +1,22 @@
1
+ import React from 'react';
2
+ import { Background, BackgroundProps } from './background.component';
3
+
4
+ export default {
5
+ title: 'Components/Background',
6
+ component: Background,
7
+ parameters: {
8
+ layout: 'fullscreen',
9
+ },
10
+ };
11
+
12
+ export const ImageBackground = (args: BackgroundProps) => {
13
+ return <Background {...args} />;
14
+ };
15
+
16
+ const ImageBackgroundArgs: BackgroundProps = {
17
+ imageUrl: 'promenade.webp',
18
+ size: 'cover',
19
+ minHeight: '100vh',
20
+ };
21
+
22
+ ImageBackground.args = ImageBackgroundArgs;
@@ -0,0 +1,30 @@
1
+ import { Border, ColorToken, getValue, Theme } from '@uni-design-system/uni-core';
2
+ import { CSSProperties } from 'react';
3
+
4
+ export function BorderStyle(border: Border | undefined, theme: Theme): CSSProperties {
5
+ if (!border) return {};
6
+
7
+ const borderTopColor = extractColor(theme, border, 'colorTop');
8
+ const borderBottomColor = extractColor(theme, border, 'colorBottom');
9
+ const borderLeftColor = extractColor(theme, border, 'colorLeft');
10
+ const borderRightColor = extractColor(theme, border, 'colorRight');
11
+ const borderTopWidth = getValue(border, 'widthTop', 'width');
12
+ const borderBottomWidth = getValue(border, 'widthBottom', 'width');
13
+ const borderLeftWidth = getValue(border, 'widthLeft', 'width');
14
+ const borderRightWidth = getValue(border, 'widthRight', 'width');
15
+
16
+ return {
17
+ borderTopColor,
18
+ borderBottomColor,
19
+ borderLeftColor,
20
+ borderRightColor,
21
+ borderTopWidth,
22
+ borderBottomWidth,
23
+ borderLeftWidth,
24
+ borderRightWidth,
25
+ };
26
+ }
27
+
28
+ function extractColor(theme: Theme, border: Border, key: string): string {
29
+ return theme.colors[getValue(border, key, 'color') as ColorToken];
30
+ }
@@ -0,0 +1,20 @@
1
+ import React, { createContext, CSSProperties, ReactNode } from 'react';
2
+ import { ContainerColorToken } from '@uni-design-system/uni-core';
3
+
4
+ export interface ContainerProps {
5
+ children: ReactNode;
6
+ style: CSSProperties;
7
+ colorToken?: ContainerColorToken;
8
+ }
9
+
10
+ export const ContainerContext = createContext<{ colorToken?: ContainerColorToken }>({});
11
+
12
+ export default function Container({ children, style, colorToken, ...rest }: ContainerProps) {
13
+ return (
14
+ <ContainerContext.Provider value={{ colorToken }}>
15
+ <div style={style} {...rest}>
16
+ {children}
17
+ </div>
18
+ </ContainerContext.Provider>
19
+ );
20
+ }
@@ -0,0 +1,111 @@
1
+ // https://www.w3schools.com/csSref/css3_pr_filter.php
2
+
3
+ export const filterArgTypes = {
4
+ blur: {
5
+ control: { type: 'range', min: 0, max: 100, step: 1 },
6
+ table: {
7
+ type: { summary: 'number' },
8
+ defaultValue: { summary: '0' },
9
+ },
10
+ description:
11
+ 'Applies a blur effect to the image. A larger value will create more blur.\n' +
12
+ '\n' +
13
+ 'If no value is specified, 0 is used.',
14
+ },
15
+ brightness: {
16
+ control: { type: 'range', min: 0, max: 100, step: 1 },
17
+ table: {
18
+ type: { summary: 'number' },
19
+ defaultValue: { summary: '0' },
20
+ },
21
+ description:
22
+ 'Adjusts the brightness of the image.\n' +
23
+ '\n' +
24
+ '0% will make the image completely black.\n' +
25
+ '100% (1) is default and represents the original image.\n' +
26
+ 'Values over 100% will provide brighter results.',
27
+ },
28
+ contrast: {
29
+ control: { type: 'range', min: 0, max: 100, step: 1 },
30
+ table: {
31
+ type: { summary: 'number' },
32
+ defaultValue: { summary: '0' },
33
+ },
34
+ description:
35
+ 'Adjusts the contrast of the image.\n' +
36
+ '\n' +
37
+ '0% will make the image completely black.\n' +
38
+ '100% (1) is default, and represents the original image.\n' +
39
+ 'Values over 100% will provide results with more contrast.',
40
+ },
41
+ grayscale: {
42
+ control: { type: 'range', min: 0, max: 100, step: 1 },
43
+ table: {
44
+ type: { summary: 'number' },
45
+ defaultValue: { summary: '0' },
46
+ },
47
+ description:
48
+ 'Converts the image to grayscale.\n' +
49
+ '\n' +
50
+ '0% (0) is default and represents the original image.\n' +
51
+ '100% will make the image completely gray (used for black and white images).',
52
+ },
53
+ 'hue-rotate': {
54
+ control: { type: 'range', min: 0, max: 360, step: 1 },
55
+ table: {
56
+ type: { summary: 'number' },
57
+ defaultValue: { summary: '0' },
58
+ },
59
+ description:
60
+ 'Applies a hue rotation on the image. The value defines the number of degrees around the color circle the image samples will be adjusted. 0deg is default, and represents the original image.',
61
+ },
62
+ invert: {
63
+ control: { type: 'range', min: 0, max: 100, step: 1 },
64
+ table: {
65
+ type: { summary: 'number' },
66
+ defaultValue: { summary: '0' },
67
+ },
68
+ description:
69
+ 'Inverts the samples in the image.\n' +
70
+ '\n' +
71
+ '0% (0) is default and represents the original image.\n' +
72
+ '100% will make the image completely inverted.',
73
+ },
74
+ opacity: {
75
+ control: { type: 'range', min: 0, max: 1, step: 0.01 },
76
+ table: {
77
+ type: { summary: 'number' },
78
+ defaultValue: { summary: '1' },
79
+ },
80
+ description:
81
+ 'Sets the opacity level for the image. The opacity-level describes the transparency-level, where:\n' +
82
+ '\n' +
83
+ '0% is completely transparent.\n' +
84
+ '100% (1) is default and represents the original image (no transparency).',
85
+ },
86
+ saturate: {
87
+ control: { type: 'range', min: 0, max: 100, step: 1 },
88
+ table: {
89
+ type: { summary: 'number' },
90
+ defaultValue: { summary: '0' },
91
+ },
92
+ description:
93
+ 'Saturates the image.\n' +
94
+ '\n' +
95
+ '0% (0) will make the image completely un-saturated.\n' +
96
+ '100% is default and represents the original image.\n' +
97
+ 'Values over 100% provides super-saturated results.',
98
+ },
99
+ sepia: {
100
+ control: { type: 'range', min: 0, max: 100, step: 1 },
101
+ table: {
102
+ type: { summary: 'number' },
103
+ defaultValue: { summary: '0' },
104
+ },
105
+ description:
106
+ 'Converts the image to sepia.\n' +
107
+ '\n' +
108
+ '0% (0) is default and represents the original image.\n' +
109
+ '100% will make the image completely sepia.',
110
+ },
111
+ };
@@ -0,0 +1,11 @@
1
+ import React, { PropsWithChildren } from 'react';
2
+ import Container from '../container/container.component';
3
+ import { FilterStyle } from './filter.style';
4
+ import { FilterProps } from './filter.model';
5
+
6
+ export const Filter = (filterProps: PropsWithChildren<FilterProps>) => {
7
+ const { children } = filterProps;
8
+ const style = FilterStyle(filterProps);
9
+
10
+ return <Container style={style}>{children}</Container>;
11
+ };
@@ -0,0 +1,68 @@
1
+ import { FilterConfig } from './filter.model';
2
+ import { FilterType } from './filter.types';
3
+
4
+ export const FilterConfigs: Record<FilterType, FilterConfig> = {
5
+ blur: {
6
+ type: 'blur',
7
+ unit: 'px',
8
+ defaultValue: 4,
9
+ rangeLow: 0,
10
+ rangeHigh: 100,
11
+ },
12
+ brightness: {
13
+ type: 'brightness',
14
+ unit: '%',
15
+ defaultValue: 250,
16
+ rangeLow: 0,
17
+ rangeHigh: 100,
18
+ },
19
+ contrast: {
20
+ type: 'contrast',
21
+ unit: '%',
22
+ defaultValue: 180,
23
+ rangeLow: 0,
24
+ rangeHigh: 100,
25
+ },
26
+ grayscale: {
27
+ type: 'grayscale',
28
+ unit: '%',
29
+ defaultValue: 100,
30
+ rangeLow: 0,
31
+ rangeHigh: 100,
32
+ },
33
+ 'hue-rotate': {
34
+ type: 'hue-rotate',
35
+ unit: 'deg',
36
+ defaultValue: 180,
37
+ rangeLow: 0,
38
+ rangeHigh: 360,
39
+ },
40
+ invert: {
41
+ type: 'invert',
42
+ unit: '%',
43
+ defaultValue: 100,
44
+ rangeLow: 0,
45
+ rangeHigh: 100,
46
+ },
47
+ opacity: {
48
+ type: 'opacity',
49
+ unit: '%',
50
+ defaultValue: 50,
51
+ rangeLow: 0,
52
+ rangeHigh: 100,
53
+ },
54
+ saturate: {
55
+ type: 'saturate',
56
+ unit: 'num',
57
+ defaultValue: 7,
58
+ rangeLow: 0,
59
+ rangeHigh: 100,
60
+ },
61
+ sepia: {
62
+ type: 'sepia',
63
+ unit: '%',
64
+ defaultValue: 100,
65
+ rangeLow: 0,
66
+ rangeHigh: 100,
67
+ },
68
+ };
@@ -0,0 +1,22 @@
1
+ import { FilterType, FilterUnit } from './filter.types';
2
+
3
+ export interface FilterProps {
4
+ blur?: number;
5
+ brightness?: number;
6
+ contrast?: number;
7
+ grayscale?: number;
8
+ 'hue-rotate'?: number;
9
+ invert?: number;
10
+ opacity?: number;
11
+ saturate?: number;
12
+ sepia?: number;
13
+ }
14
+
15
+ export interface FilterConfig {
16
+ type: FilterType;
17
+ value?: number;
18
+ unit?: FilterUnit;
19
+ defaultValue?: number;
20
+ rangeLow?: number;
21
+ rangeHigh?: number;
22
+ }
@@ -0,0 +1,22 @@
1
+ import { CSSProperties } from 'react';
2
+ import { FilterConfig, FilterProps } from './filter.model';
3
+ import { FilterType } from './filter.types';
4
+ import { FilterConfigs } from './filter.config';
5
+
6
+ const getFilterConfig = (filterType: FilterType): FilterConfig | undefined => {
7
+ return FilterConfigs[filterType];
8
+ };
9
+
10
+ const getFilterSetting = (type: FilterType, value?: number): string => {
11
+ if (!value) return '';
12
+ const unit = getFilterConfig(type)?.unit;
13
+ return `${type}(${value}${unit && unit !== 'num' ? unit : ''})`;
14
+ };
15
+
16
+ export const FilterStyle = (filterSettings: Partial<FilterProps>): CSSProperties => {
17
+ const filterNames = Object.keys(filterSettings) as FilterType[];
18
+
19
+ const filterArray = filterNames.map((type) => getFilterSetting(type, filterSettings[type]));
20
+ console.log(filterArray);
21
+ return { filter: filterArray.join(' ') };
22
+ };
@@ -0,0 +1,12 @@
1
+ export type FilterType =
2
+ | 'blur'
3
+ | 'brightness'
4
+ | 'contrast'
5
+ | 'grayscale'
6
+ | 'hue-rotate'
7
+ | 'invert'
8
+ | 'opacity'
9
+ | 'saturate'
10
+ | 'sepia';
11
+
12
+ export type FilterUnit = 'px' | '%' | 'deg' | 'num';
@@ -0,0 +1,91 @@
1
+ import React, { HTMLAttributes, ReactNode } from 'react';
2
+ import { CSSProperties, forwardRef } from 'react';
3
+ import {
4
+ AlignContent,
5
+ FlexDirection,
6
+ FlexGrow,
7
+ FlexShrink,
8
+ FlexWrap,
9
+ JustifyContent,
10
+ } from '@uni-design-system/uni-core';
11
+ import { Property } from 'csstype';
12
+
13
+ export interface FlexOptions extends HTMLAttributes<HTMLDivElement> {
14
+ /**
15
+ * Shorthand for `alignItems` style prop
16
+ * @type AlignItems
17
+ */
18
+ align?: AlignContent;
19
+
20
+ /**
21
+ * Shorthand for `justifyContent` style prop
22
+ * @type JustifyContent
23
+ */
24
+ justify?: JustifyContent;
25
+
26
+ /**
27
+ * Shorthand for `flexWrap` style prop
28
+ * @type FlexWrap
29
+ */
30
+ wrap?: FlexWrap;
31
+
32
+ /**
33
+ * Shorthand for `flexDirection` style prop
34
+ * @type FlexDirection
35
+ * @default "row"
36
+ */
37
+ direction?: FlexDirection;
38
+
39
+ /**
40
+ * Shorthand for `flexBasis` style prop
41
+ * @type number
42
+ */
43
+ basis?: number;
44
+
45
+ /**
46
+ * Shorthand for `flexGrow` style prop
47
+ * @type FlexGrow
48
+ */
49
+ grow?: FlexGrow;
50
+
51
+ /**
52
+ * Shorthand for `flexShrink` style prop
53
+ * @type FlexShrink
54
+ */
55
+ shrink?: FlexShrink;
56
+
57
+ gap?: Property.Gap<number | string>;
58
+ }
59
+
60
+ export interface FlexProps extends FlexOptions {
61
+ children: ReactNode;
62
+ }
63
+
64
+ /**
65
+ * React component used to create flexbox layouts.
66
+ *
67
+ * It renders a `div` with `display: flex` and
68
+ * comes with helpful style shorthand.
69
+ *
70
+ * @see Docs
71
+ */
72
+ export const Flex = forwardRef<HTMLDivElement, FlexProps>((props, ref) => {
73
+ const { direction, align, justify, wrap, basis, grow, shrink, gap, style, ...rest } = props;
74
+
75
+ const styles: CSSProperties = {
76
+ display: 'flex',
77
+ flexDirection: direction,
78
+ alignItems: align,
79
+ justifyContent: justify,
80
+ flexWrap: wrap,
81
+ flexBasis: basis,
82
+ flexGrow: grow,
83
+ flexShrink: shrink,
84
+ gap,
85
+ ...style,
86
+ };
87
+
88
+ return <div ref={ref} style={styles} {...rest} />;
89
+ });
90
+
91
+ Flex.displayName = 'Flex';
@@ -0,0 +1,106 @@
1
+ import { CSSProperties } from 'react';
2
+ import { HorizontalAlign, VerticalAlign } from '@uni-design-system/uni-core';
3
+
4
+ export const flex: CSSProperties = { flex: 1 };
5
+
6
+ export const row: CSSProperties = {
7
+ display: 'flex',
8
+ flex: 1,
9
+ flexDirection: 'row'
10
+ };
11
+
12
+ export const column: CSSProperties = {
13
+ flex: 1,
14
+ flexDirection: 'column'
15
+ };
16
+
17
+ export const alignTop: CSSProperties = { alignItems: 'flex-start' };
18
+ export const alignCenter: CSSProperties = { alignItems: 'center' };
19
+ export const alignBottom: CSSProperties = { alignItems: 'flex-end' };
20
+
21
+ export const FlexVerticalAlignments: Record<VerticalAlign, CSSProperties> = {
22
+ top: alignTop,
23
+ middle: alignCenter,
24
+ bottom: alignBottom
25
+ };
26
+
27
+ export const justifyLeft: CSSProperties = { justifyContent: 'flex-start' };
28
+ export const justifyCenter: CSSProperties = { justifyContent: 'center' };
29
+ export const justifyRight: CSSProperties = { justifyContent: 'flex-end' };
30
+
31
+ export const FlexHorizontalAlignments: Record<HorizontalAlign, CSSProperties> = {
32
+ left: justifyLeft,
33
+ center: justifyCenter,
34
+ right: justifyRight
35
+ };
36
+
37
+ export const expand: CSSProperties = { flexGrow: 1 };
38
+ export const fix: CSSProperties = { flex: 0, flexGrow: 0 };
39
+
40
+ export const rowFlexItem: CSSProperties = {
41
+ flexGrow: 1
42
+ };
43
+
44
+ export const rowFixedItem: CSSProperties = {
45
+ flexGrow: 0
46
+ };
47
+
48
+ export const flexRowStart: CSSProperties = {
49
+ flexDirection: 'row',
50
+ justifyContent: 'flex-start',
51
+ alignItems: 'center'
52
+ };
53
+
54
+ export const flexRowCenter: CSSProperties = {
55
+ flexDirection: 'row',
56
+ justifyContent: 'center',
57
+ alignItems: 'center'
58
+ };
59
+
60
+ export const flexRowEnd: CSSProperties = {
61
+ flexDirection: 'row',
62
+ justifyContent: 'flex-end',
63
+ alignItems: 'center'
64
+ };
65
+
66
+ export const spaceBetween: CSSProperties = {
67
+ justifyContent: 'space-between'
68
+ };
69
+
70
+ export const flexRowSpaceBetween: CSSProperties = {
71
+ flexDirection: 'row',
72
+ justifyContent: 'space-between',
73
+ alignItems: 'center'
74
+ };
75
+
76
+ export const flexRowSpaceAround: CSSProperties = {
77
+ flexDirection: 'row',
78
+ justifyContent: 'space-around',
79
+ alignItems: 'center'
80
+ };
81
+
82
+ export const spaceEvenly: CSSProperties = {
83
+ justifyContent: 'space-evenly'
84
+ };
85
+
86
+ export const flexRowSpaceEvenly: CSSProperties = {
87
+ flexDirection: 'row',
88
+ justifyContent: 'space-evenly',
89
+ alignItems: 'center'
90
+ };
91
+
92
+ export const flexColumnCenter: CSSProperties = {
93
+ flexDirection: 'column',
94
+ justifyContent: 'center',
95
+ alignItems: 'center'
96
+ };
97
+
98
+ export const flexColumnSpaceAround: CSSProperties = {
99
+ flexDirection: 'column',
100
+ justifyContent: 'space-around',
101
+ alignItems: 'center'
102
+ };
103
+
104
+ export const flexOff: CSSProperties = {
105
+ position: 'relative'
106
+ };