@bettercms-ai/kit 0.1.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 (630) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +27 -0
  3. package/dist/_chunks-cjs/_visual-editing.js +5898 -0
  4. package/dist/_chunks-cjs/refractor.js +22 -0
  5. package/dist/_chunks-es/_visual-editing.mjs +5904 -0
  6. package/dist/_chunks-es/refractor.mjs +25 -0
  7. package/dist/_color.d.mts +119 -0
  8. package/dist/_color.d.ts +119 -0
  9. package/dist/_color.js +1412 -0
  10. package/dist/_color.mjs +1411 -0
  11. package/dist/_visual-editing.d.mts +1126 -0
  12. package/dist/_visual-editing.d.ts +1126 -0
  13. package/dist/_visual-editing.js +30 -0
  14. package/dist/_visual-editing.mjs +30 -0
  15. package/dist/index.d.mts +3140 -0
  16. package/dist/index.d.ts +3140 -0
  17. package/dist/index.js +2036 -0
  18. package/dist/index.mjs +2044 -0
  19. package/dist/theme.d.mts +1506 -0
  20. package/dist/theme.d.ts +1506 -0
  21. package/dist/theme.js +4126 -0
  22. package/dist/theme.mjs +4126 -0
  23. package/exports/_visual-editing.ts +31 -0
  24. package/exports/index.ts +1 -0
  25. package/exports/theme.ts +1 -0
  26. package/package.json +78 -0
  27. package/src/color/index.d.mts +119 -0
  28. package/src/color/index.mjs +1411 -0
  29. package/src/core/__workshop__/constants.ts +293 -0
  30. package/src/core/_compat.ts +264 -0
  31. package/src/core/components/autocomplete/__mocks__/apiStore.ts +49 -0
  32. package/src/core/components/autocomplete/__mocks__/countries.ts +245 -0
  33. package/src/core/components/autocomplete/__workshop__/async.tsx +156 -0
  34. package/src/core/components/autocomplete/__workshop__/constrainedHeight.tsx +137 -0
  35. package/src/core/components/autocomplete/__workshop__/custom.tsx +89 -0
  36. package/src/core/components/autocomplete/__workshop__/example.tsx +79 -0
  37. package/src/core/components/autocomplete/__workshop__/focusAndBlur.tsx +36 -0
  38. package/src/core/components/autocomplete/__workshop__/fullscreen.tsx +294 -0
  39. package/src/core/components/autocomplete/__workshop__/index.ts +39 -0
  40. package/src/core/components/autocomplete/__workshop__/types.ts +4 -0
  41. package/src/core/components/autocomplete/autocomplete.styles.tsx +39 -0
  42. package/src/core/components/autocomplete/autocomplete.tsx +767 -0
  43. package/src/core/components/autocomplete/autocompleteOption.tsx +45 -0
  44. package/src/core/components/autocomplete/autocompleteReducer.ts +47 -0
  45. package/src/core/components/autocomplete/constants.ts +28 -0
  46. package/src/core/components/autocomplete/index.ts +2 -0
  47. package/src/core/components/autocomplete/types.ts +108 -0
  48. package/src/core/components/breadcrumbs/__workshop__/example.tsx +62 -0
  49. package/src/core/components/breadcrumbs/__workshop__/index.ts +14 -0
  50. package/src/core/components/breadcrumbs/breadcrumbs.styles.ts +18 -0
  51. package/src/core/components/breadcrumbs/breadcrumbs.test.tsx +51 -0
  52. package/src/core/components/breadcrumbs/breadcrumbs.tsx +133 -0
  53. package/src/core/components/breadcrumbs/index.ts +1 -0
  54. package/src/core/components/dialog/__workshop__/activate.tsx +134 -0
  55. package/src/core/components/dialog/__workshop__/autoFocus.tsx +29 -0
  56. package/src/core/components/dialog/__workshop__/index.ts +19 -0
  57. package/src/core/components/dialog/__workshop__/layering.tsx +41 -0
  58. package/src/core/components/dialog/__workshop__/nested.tsx +72 -0
  59. package/src/core/components/dialog/__workshop__/onScroll.tsx +39 -0
  60. package/src/core/components/dialog/__workshop__/panes.tsx +82 -0
  61. package/src/core/components/dialog/__workshop__/position.tsx +30 -0
  62. package/src/core/components/dialog/__workshop__/props.tsx +75 -0
  63. package/src/core/components/dialog/__workshop__/provider.tsx +11 -0
  64. package/src/core/components/dialog/__workshop__/wrapped.tsx +76 -0
  65. package/src/core/components/dialog/dialog.tsx +430 -0
  66. package/src/core/components/dialog/dialogContext.ts +20 -0
  67. package/src/core/components/dialog/dialogProvider.tsx +35 -0
  68. package/src/core/components/dialog/index.ts +4 -0
  69. package/src/core/components/dialog/styles.ts +77 -0
  70. package/src/core/components/dialog/useDialog.ts +11 -0
  71. package/src/core/components/hotkeys/__workshop__/index.ts +14 -0
  72. package/src/core/components/hotkeys/__workshop__/plain.tsx +9 -0
  73. package/src/core/components/hotkeys/hotkeys.test.tsx +42 -0
  74. package/src/core/components/hotkeys/hotkeys.tsx +66 -0
  75. package/src/core/components/hotkeys/index.ts +1 -0
  76. package/src/core/components/index.ts +9 -0
  77. package/src/core/components/menu/__workshop__/asComponent.tsx +45 -0
  78. package/src/core/components/menu/__workshop__/avatarMenu.tsx +51 -0
  79. package/src/core/components/menu/__workshop__/closableMenuButton.tsx +46 -0
  80. package/src/core/components/menu/__workshop__/constrainedInBoundary.tsx +134 -0
  81. package/src/core/components/menu/__workshop__/customMenuItem.tsx +45 -0
  82. package/src/core/components/menu/__workshop__/customSelectedState.tsx +39 -0
  83. package/src/core/components/menu/__workshop__/disableFocusOnClose.tsx +40 -0
  84. package/src/core/components/menu/__workshop__/groups.tsx +156 -0
  85. package/src/core/components/menu/__workshop__/index.ts +89 -0
  86. package/src/core/components/menu/__workshop__/menuButton.tsx +80 -0
  87. package/src/core/components/menu/__workshop__/menuGroupRight.tsx +58 -0
  88. package/src/core/components/menu/__workshop__/nestedMenu.tsx +22 -0
  89. package/src/core/components/menu/__workshop__/onCloseMenuButton.tsx +41 -0
  90. package/src/core/components/menu/__workshop__/selectedItem.tsx +69 -0
  91. package/src/core/components/menu/__workshop__/shouldFocus.tsx +47 -0
  92. package/src/core/components/menu/__workshop__/tones.tsx +25 -0
  93. package/src/core/components/menu/__workshop__/withoutArrow.tsx +32 -0
  94. package/src/core/components/menu/helpers.ts +82 -0
  95. package/src/core/components/menu/index.ts +5 -0
  96. package/src/core/components/menu/menu.spacing.test.tsx +63 -0
  97. package/src/core/components/menu/menu.test.tsx +125 -0
  98. package/src/core/components/menu/menu.tsx +178 -0
  99. package/src/core/components/menu/menuButton.tsx +268 -0
  100. package/src/core/components/menu/menuContext.ts +18 -0
  101. package/src/core/components/menu/menuDivider.ts +23 -0
  102. package/src/core/components/menu/menuGroup.spacing.test.tsx +63 -0
  103. package/src/core/components/menu/menuGroup.tsx +233 -0
  104. package/src/core/components/menu/menuItem.spacing.test.tsx +59 -0
  105. package/src/core/components/menu/menuItem.tsx +197 -0
  106. package/src/core/components/menu/useMenu.ts +21 -0
  107. package/src/core/components/menu/useMenuController.ts +231 -0
  108. package/src/core/components/skeleton/__workshop__/delay.tsx +70 -0
  109. package/src/core/components/skeleton/__workshop__/index.ts +11 -0
  110. package/src/core/components/skeleton/__workshop__/skeleton.tsx +64 -0
  111. package/src/core/components/skeleton/index.ts +2 -0
  112. package/src/core/components/skeleton/skeleton.tsx +57 -0
  113. package/src/core/components/skeleton/styles.ts +50 -0
  114. package/src/core/components/skeleton/textSkeleton.tsx +122 -0
  115. package/src/core/components/tab/__workshop__/example.tsx +79 -0
  116. package/src/core/components/tab/__workshop__/index.ts +14 -0
  117. package/src/core/components/tab/index.ts +3 -0
  118. package/src/core/components/tab/tab.tsx +101 -0
  119. package/src/core/components/tab/tabList.test.tsx +48 -0
  120. package/src/core/components/tab/tabList.tsx +70 -0
  121. package/src/core/components/tab/tabPanel.tsx +39 -0
  122. package/src/core/components/toast/__workshop__/hook.tsx +71 -0
  123. package/src/core/components/toast/__workshop__/index.ts +19 -0
  124. package/src/core/components/toast/__workshop__/toast.tsx +26 -0
  125. package/src/core/components/toast/index.ts +4 -0
  126. package/src/core/components/toast/styles.ts +77 -0
  127. package/src/core/components/toast/toast.test.tsx +101 -0
  128. package/src/core/components/toast/toast.tsx +198 -0
  129. package/src/core/components/toast/toastContext.ts +7 -0
  130. package/src/core/components/toast/toastLayer.tsx +51 -0
  131. package/src/core/components/toast/toastProvider.tsx +113 -0
  132. package/src/core/components/toast/toastState.ts +6 -0
  133. package/src/core/components/toast/types.ts +26 -0
  134. package/src/core/components/toast/useToast.ts +25 -0
  135. package/src/core/components/tree/__workshop__/basic.perf.ts +19 -0
  136. package/src/core/components/tree/__workshop__/basic.tsx +105 -0
  137. package/src/core/components/tree/__workshop__/index.ts +21 -0
  138. package/src/core/components/tree/__workshop__/tabFromElement.tsx +84 -0
  139. package/src/core/components/tree/helpers.ts +105 -0
  140. package/src/core/components/tree/index.ts +4 -0
  141. package/src/core/components/tree/style.ts +105 -0
  142. package/src/core/components/tree/tree.test.tsx +55 -0
  143. package/src/core/components/tree/tree.tsx +240 -0
  144. package/src/core/components/tree/treeContext.ts +10 -0
  145. package/src/core/components/tree/treeGroup.tsx +28 -0
  146. package/src/core/components/tree/treeItem.test.tsx +65 -0
  147. package/src/core/components/tree/treeItem.tsx +224 -0
  148. package/src/core/components/tree/types.ts +25 -0
  149. package/src/core/components/tree/useTree.ts +17 -0
  150. package/src/core/constants.ts +79 -0
  151. package/src/core/helpers/animation.ts +27 -0
  152. package/src/core/helpers/element.ts +55 -0
  153. package/src/core/helpers/focus.ts +100 -0
  154. package/src/core/helpers/index.ts +4 -0
  155. package/src/core/helpers/scroll.ts +15 -0
  156. package/src/core/hooks/index.ts +12 -0
  157. package/src/core/hooks/useArrayProp.ts +17 -0
  158. package/src/core/hooks/useClickOutside.test.tsx +482 -0
  159. package/src/core/hooks/useClickOutside.ts +118 -0
  160. package/src/core/hooks/useClickOutsideEvent.test.tsx +115 -0
  161. package/src/core/hooks/useClickOutsideEvent.ts +73 -0
  162. package/src/core/hooks/useCustomValidity.ts +13 -0
  163. package/src/core/hooks/useDelayed.test.ts +88 -0
  164. package/src/core/hooks/useDelayedState.ts +36 -0
  165. package/src/core/hooks/useElementRect/__workshop__/example.tsx +32 -0
  166. package/src/core/hooks/useElementRect/__workshop__/index.ts +14 -0
  167. package/src/core/hooks/useElementRect/index.ts +1 -0
  168. package/src/core/hooks/useElementRect/useElementRect.ts +13 -0
  169. package/src/core/hooks/useElementSize.ts +19 -0
  170. package/src/core/hooks/useForwardedRef.ts +19 -0
  171. package/src/core/hooks/useGlobalKeyDown.ts +24 -0
  172. package/src/core/hooks/useIsomorphicEffect.ts +7 -0
  173. package/src/core/hooks/useMatchMedia.ts +28 -0
  174. package/src/core/hooks/useMediaIndex/__workshop__/index.ts +14 -0
  175. package/src/core/hooks/useMediaIndex/__workshop__/test.tsx +14 -0
  176. package/src/core/hooks/useMediaIndex/index.ts +1 -0
  177. package/src/core/hooks/useMediaIndex/useMediaIndex.test.tsx +36 -0
  178. package/src/core/hooks/useMediaIndex/useMediaIndex.ts +102 -0
  179. package/src/core/hooks/useMounted.ts +15 -0
  180. package/src/core/hooks/usePrefersDark.hydration.test.tsx +56 -0
  181. package/src/core/hooks/usePrefersDark.test.tsx +19 -0
  182. package/src/core/hooks/usePrefersDark.ts +16 -0
  183. package/src/core/hooks/usePrefersReducedMotion.hydration.test.tsx +56 -0
  184. package/src/core/hooks/usePrefersReducedMotion.test.tsx +19 -0
  185. package/src/core/hooks/usePrefersReducedMotion.ts +16 -0
  186. package/src/core/index.ts +10 -0
  187. package/src/core/lib/createGlobalScopedContext.ts +36 -0
  188. package/src/core/lib/globalScope.ts +19 -0
  189. package/src/core/lib/isRecord.ts +3 -0
  190. package/src/core/middleware/origin.ts +47 -0
  191. package/src/core/observers/elementSizeObserver.ts +116 -0
  192. package/src/core/observers/index.ts +2 -0
  193. package/src/core/observers/resizeObserver.ts +9 -0
  194. package/src/core/primitives/_selectable/index.ts +1 -0
  195. package/src/core/primitives/_selectable/selectable.tsx +15 -0
  196. package/src/core/primitives/_selectable/style.ts +115 -0
  197. package/src/core/primitives/avatar/__workshop__/asButton.tsx +14 -0
  198. package/src/core/primitives/avatar/__workshop__/index.ts +29 -0
  199. package/src/core/primitives/avatar/__workshop__/stack.tsx +25 -0
  200. package/src/core/primitives/avatar/__workshop__/withinButton.tsx +63 -0
  201. package/src/core/primitives/avatar/__workshop__/withinMenuItem.tsx +70 -0
  202. package/src/core/primitives/avatar/avatar.tsx +200 -0
  203. package/src/core/primitives/avatar/avatarCounter.tsx +91 -0
  204. package/src/core/primitives/avatar/avatarStack.tsx +100 -0
  205. package/src/core/primitives/avatar/index.ts +4 -0
  206. package/src/core/primitives/avatar/styles.ts +167 -0
  207. package/src/core/primitives/avatar/types.ts +17 -0
  208. package/src/core/primitives/badge/__workshop__/index.ts +19 -0
  209. package/src/core/primitives/badge/__workshop__/props.tsx +30 -0
  210. package/src/core/primitives/badge/__workshop__/tones.tsx +21 -0
  211. package/src/core/primitives/badge/badge.test.tsx +16 -0
  212. package/src/core/primitives/badge/badge.tsx +70 -0
  213. package/src/core/primitives/badge/index.ts +1 -0
  214. package/src/core/primitives/badge/styles.ts +20 -0
  215. package/src/core/primitives/badge/types.ts +8 -0
  216. package/src/core/primitives/box/__workshop__/asComponent.tsx +31 -0
  217. package/src/core/primitives/box/__workshop__/index.ts +24 -0
  218. package/src/core/primitives/box/__workshop__/props.tsx +20 -0
  219. package/src/core/primitives/box/__workshop__/responsive.tsx +20 -0
  220. package/src/core/primitives/box/box.test.tsx +142 -0
  221. package/src/core/primitives/box/box.tsx +154 -0
  222. package/src/core/primitives/box/index.ts +1 -0
  223. package/src/core/primitives/button/__workshop__/custom.tsx +51 -0
  224. package/src/core/primitives/button/__workshop__/customIcons.tsx +30 -0
  225. package/src/core/primitives/button/__workshop__/disabled.tsx +74 -0
  226. package/src/core/primitives/button/__workshop__/index.ts +59 -0
  227. package/src/core/primitives/button/__workshop__/labelUploadButton.tsx +36 -0
  228. package/src/core/primitives/button/__workshop__/mixedChildren.tsx +12 -0
  229. package/src/core/primitives/button/__workshop__/props.tsx +55 -0
  230. package/src/core/primitives/button/__workshop__/stacked.tsx +58 -0
  231. package/src/core/primitives/button/__workshop__/styled1.tsx +17 -0
  232. package/src/core/primitives/button/__workshop__/styled2.tsx +19 -0
  233. package/src/core/primitives/button/__workshop__/uploadButton.tsx +28 -0
  234. package/src/core/primitives/button/button.test.tsx +82 -0
  235. package/src/core/primitives/button/button.tsx +210 -0
  236. package/src/core/primitives/button/index.ts +1 -0
  237. package/src/core/primitives/button/styles.ts +117 -0
  238. package/src/core/primitives/card/__workshop__/allTones.tsx +25 -0
  239. package/src/core/primitives/card/__workshop__/asButton.tsx +107 -0
  240. package/src/core/primitives/card/__workshop__/asComponent.tsx +27 -0
  241. package/src/core/primitives/card/__workshop__/checkered.tsx +26 -0
  242. package/src/core/primitives/card/__workshop__/index.ts +18 -0
  243. package/src/core/primitives/card/__workshop__/interactive.tsx +30 -0
  244. package/src/core/primitives/card/__workshop__/listNavigation.tsx +80 -0
  245. package/src/core/primitives/card/__workshop__/props.tsx +53 -0
  246. package/src/core/primitives/card/__workshop__/selected.tsx +94 -0
  247. package/src/core/primitives/card/__workshop__/styled.tsx +14 -0
  248. package/src/core/primitives/card/card.tsx +128 -0
  249. package/src/core/primitives/card/index.ts +2 -0
  250. package/src/core/primitives/card/styles.ts +147 -0
  251. package/src/core/primitives/card/types.ts +11 -0
  252. package/src/core/primitives/checkbox/__workshop__/example.tsx +25 -0
  253. package/src/core/primitives/checkbox/__workshop__/index.ts +13 -0
  254. package/src/core/primitives/checkbox/__workshop__/props.tsx +33 -0
  255. package/src/core/primitives/checkbox/__workshop__/readOnly.tsx +16 -0
  256. package/src/core/primitives/checkbox/__workshop__/tones.tsx +28 -0
  257. package/src/core/primitives/checkbox/checkbox.tsx +73 -0
  258. package/src/core/primitives/checkbox/index.ts +1 -0
  259. package/src/core/primitives/checkbox/styles.ts +128 -0
  260. package/src/core/primitives/code/__workshop__/index.ts +19 -0
  261. package/src/core/primitives/code/__workshop__/opticalAlignment.tsx +48 -0
  262. package/src/core/primitives/code/__workshop__/props.tsx +21 -0
  263. package/src/core/primitives/code/code.tsx +55 -0
  264. package/src/core/primitives/code/index.ts +1 -0
  265. package/src/core/primitives/code/refractor.tsx +20 -0
  266. package/src/core/primitives/code/styles.ts +77 -0
  267. package/src/core/primitives/container/__workshop__/example.tsx +20 -0
  268. package/src/core/primitives/container/__workshop__/index.ts +8 -0
  269. package/src/core/primitives/container/container.tsx +54 -0
  270. package/src/core/primitives/container/index.ts +2 -0
  271. package/src/core/primitives/container/styles.ts +23 -0
  272. package/src/core/primitives/container/types.ts +6 -0
  273. package/src/core/primitives/flex/__workshop__/example.tsx +34 -0
  274. package/src/core/primitives/flex/__workshop__/gap.tsx +25 -0
  275. package/src/core/primitives/flex/__workshop__/index.ts +11 -0
  276. package/src/core/primitives/flex/flex.tsx +64 -0
  277. package/src/core/primitives/flex/index.ts +1 -0
  278. package/src/core/primitives/grid/__workshop__/index.ts +10 -0
  279. package/src/core/primitives/grid/__workshop__/responsive.tsx +54 -0
  280. package/src/core/primitives/grid/grid.test.tsx +80 -0
  281. package/src/core/primitives/grid/grid.tsx +74 -0
  282. package/src/core/primitives/grid/index.ts +1 -0
  283. package/src/core/primitives/heading/__workshop__/index.ts +19 -0
  284. package/src/core/primitives/heading/__workshop__/opticalAlignment.tsx +54 -0
  285. package/src/core/primitives/heading/__workshop__/plain.tsx +32 -0
  286. package/src/core/primitives/heading/heading.tsx +88 -0
  287. package/src/core/primitives/heading/index.ts +1 -0
  288. package/src/core/primitives/heading/styles.ts +64 -0
  289. package/src/core/primitives/heading/types.ts +7 -0
  290. package/src/core/primitives/index.ts +27 -0
  291. package/src/core/primitives/inline/__workshop__/index.ts +8 -0
  292. package/src/core/primitives/inline/__workshop__/plain.tsx +27 -0
  293. package/src/core/primitives/inline/index.ts +1 -0
  294. package/src/core/primitives/inline/inline.test.tsx +51 -0
  295. package/src/core/primitives/inline/inline.tsx +63 -0
  296. package/src/core/primitives/inline/styles.ts +32 -0
  297. package/src/core/primitives/inline/types.ts +6 -0
  298. package/src/core/primitives/kbd/__workshop__/index.ts +8 -0
  299. package/src/core/primitives/kbd/__workshop__/plain.tsx +9 -0
  300. package/src/core/primitives/kbd/index.ts +1 -0
  301. package/src/core/primitives/kbd/kbd.tsx +69 -0
  302. package/src/core/primitives/label/__workshop__/index.ts +19 -0
  303. package/src/core/primitives/label/__workshop__/opticalAlignment.tsx +48 -0
  304. package/src/core/primitives/label/__workshop__/plain.tsx +24 -0
  305. package/src/core/primitives/label/index.ts +1 -0
  306. package/src/core/primitives/label/label.tsx +87 -0
  307. package/src/core/primitives/label/styles.ts +45 -0
  308. package/src/core/primitives/popover/__workshop__/AlignedStory.tsx +77 -0
  309. package/src/core/primitives/popover/__workshop__/MarginsStory.tsx +31 -0
  310. package/src/core/primitives/popover/__workshop__/MatchReferenceWidthStory.tsx +32 -0
  311. package/src/core/primitives/popover/__workshop__/OpenOnMountStory.tsx +11 -0
  312. package/src/core/primitives/popover/__workshop__/PlainStory.tsx +71 -0
  313. package/src/core/primitives/popover/__workshop__/RecursiveStory.tsx +71 -0
  314. package/src/core/primitives/popover/__workshop__/SidePanelStory.tsx +89 -0
  315. package/src/core/primitives/popover/__workshop__/TestStory.tsx +97 -0
  316. package/src/core/primitives/popover/__workshop__/index.ts +49 -0
  317. package/src/core/primitives/popover/constants.ts +22 -0
  318. package/src/core/primitives/popover/floating-ui/size.ts +99 -0
  319. package/src/core/primitives/popover/helpers.ts +31 -0
  320. package/src/core/primitives/popover/index.ts +2 -0
  321. package/src/core/primitives/popover/popover.tsx +511 -0
  322. package/src/core/primitives/popover/popoverCard.tsx +166 -0
  323. package/src/core/primitives/popover/types.ts +7 -0
  324. package/src/core/primitives/radio/__workshop__/example.tsx +63 -0
  325. package/src/core/primitives/radio/__workshop__/index.ts +11 -0
  326. package/src/core/primitives/radio/__workshop__/plain.tsx +28 -0
  327. package/src/core/primitives/radio/index.ts +1 -0
  328. package/src/core/primitives/radio/radio.tsx +51 -0
  329. package/src/core/primitives/radio/styles.ts +117 -0
  330. package/src/core/primitives/select/__workshop__/index.ts +11 -0
  331. package/src/core/primitives/select/__workshop__/plain.tsx +27 -0
  332. package/src/core/primitives/select/__workshop__/readOnly.tsx +23 -0
  333. package/src/core/primitives/select/index.ts +1 -0
  334. package/src/core/primitives/select/select.test.tsx +52 -0
  335. package/src/core/primitives/select/select.tsx +94 -0
  336. package/src/core/primitives/select/styles.ts +166 -0
  337. package/src/core/primitives/spinner/__workshop__/Props.tsx +15 -0
  338. package/src/core/primitives/spinner/__workshop__/index.ts +14 -0
  339. package/src/core/primitives/spinner/index.ts +1 -0
  340. package/src/core/primitives/spinner/spinner.tsx +46 -0
  341. package/src/core/primitives/stack/__workshop__/index.ts +14 -0
  342. package/src/core/primitives/stack/__workshop__/plain.tsx +32 -0
  343. package/src/core/primitives/stack/index.ts +1 -0
  344. package/src/core/primitives/stack/stack.test.tsx +57 -0
  345. package/src/core/primitives/stack/stack.tsx +57 -0
  346. package/src/core/primitives/stack/styles.ts +32 -0
  347. package/src/core/primitives/switch/__workshop__/example.tsx +23 -0
  348. package/src/core/primitives/switch/__workshop__/index.ts +11 -0
  349. package/src/core/primitives/switch/__workshop__/props.tsx +21 -0
  350. package/src/core/primitives/switch/index.ts +1 -0
  351. package/src/core/primitives/switch/styles.ts +173 -0
  352. package/src/core/primitives/switch/switch.tsx +68 -0
  353. package/src/core/primitives/text/__workshop__/colored.tsx +30 -0
  354. package/src/core/primitives/text/__workshop__/example.tsx +39 -0
  355. package/src/core/primitives/text/__workshop__/index.ts +24 -0
  356. package/src/core/primitives/text/__workshop__/opticalAlignment.tsx +48 -0
  357. package/src/core/primitives/text/index.ts +1 -0
  358. package/src/core/primitives/text/styles.ts +74 -0
  359. package/src/core/primitives/text/text.tsx +89 -0
  360. package/src/core/primitives/textArea/__workshop__/index.ts +14 -0
  361. package/src/core/primitives/textArea/__workshop__/plain.tsx +50 -0
  362. package/src/core/primitives/textArea/index.ts +1 -0
  363. package/src/core/primitives/textArea/textArea.tsx +120 -0
  364. package/src/core/primitives/textInput/__workshop__/clearButton.tsx +30 -0
  365. package/src/core/primitives/textInput/__workshop__/customValidity.tsx +17 -0
  366. package/src/core/primitives/textInput/__workshop__/index.ts +44 -0
  367. package/src/core/primitives/textInput/__workshop__/plain.tsx +98 -0
  368. package/src/core/primitives/textInput/__workshop__/readOnly.tsx +9 -0
  369. package/src/core/primitives/textInput/__workshop__/states.tsx +53 -0
  370. package/src/core/primitives/textInput/__workshop__/tones.tsx +277 -0
  371. package/src/core/primitives/textInput/__workshop__/typed.tsx +23 -0
  372. package/src/core/primitives/textInput/index.ts +1 -0
  373. package/src/core/primitives/textInput/textInput.test.tsx +48 -0
  374. package/src/core/primitives/textInput/textInput.tsx +395 -0
  375. package/src/core/primitives/tooltip/__workshop__/customPortal.tsx +102 -0
  376. package/src/core/primitives/tooltip/__workshop__/index.ts +29 -0
  377. package/src/core/primitives/tooltip/__workshop__/overflowingBoundary.tsx +74 -0
  378. package/src/core/primitives/tooltip/__workshop__/props.tsx +107 -0
  379. package/src/core/primitives/tooltip/__workshop__/resizableBoundary.tsx +86 -0
  380. package/src/core/primitives/tooltip/constants.ts +23 -0
  381. package/src/core/primitives/tooltip/index.ts +2 -0
  382. package/src/core/primitives/tooltip/tooltip.test.tsx +452 -0
  383. package/src/core/primitives/tooltip/tooltip.tsx +495 -0
  384. package/src/core/primitives/tooltip/tooltipCard.tsx +109 -0
  385. package/src/core/primitives/tooltip/tooltipDelayGroup/index.ts +4 -0
  386. package/src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupContext.tsx +11 -0
  387. package/src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupProvider.tsx +57 -0
  388. package/src/core/primitives/tooltip/tooltipDelayGroup/types.ts +10 -0
  389. package/src/core/primitives/tooltip/tooltipDelayGroup/useTooltipDelayGroup.ts +13 -0
  390. package/src/core/primitives/types.ts +179 -0
  391. package/src/core/styles/border/borderStyle.ts +56 -0
  392. package/src/core/styles/border/index.ts +2 -0
  393. package/src/core/styles/border/types.ts +10 -0
  394. package/src/core/styles/box/boxStyle.ts +69 -0
  395. package/src/core/styles/box/index.ts +2 -0
  396. package/src/core/styles/box/types.ts +11 -0
  397. package/src/core/styles/card/_cardColorStyle.ts +108 -0
  398. package/src/core/styles/card/index.ts +1 -0
  399. package/src/core/styles/flex/flexItemStyle.ts +27 -0
  400. package/src/core/styles/flex/flexStyle.ts +70 -0
  401. package/src/core/styles/flex/index.ts +3 -0
  402. package/src/core/styles/flex/types.ts +25 -0
  403. package/src/core/styles/focusRing/index.ts +25 -0
  404. package/src/core/styles/font/codeFontStyle.ts +13 -0
  405. package/src/core/styles/font/headingFontStyle.ts +13 -0
  406. package/src/core/styles/font/index.ts +6 -0
  407. package/src/core/styles/font/labelFontStyle.ts +13 -0
  408. package/src/core/styles/font/responsiveFont.ts +103 -0
  409. package/src/core/styles/font/textAlignStyle.ts +19 -0
  410. package/src/core/styles/font/textFontStyle.ts +13 -0
  411. package/src/core/styles/font/types.ts +35 -0
  412. package/src/core/styles/grid/gridItemStyle.ts +82 -0
  413. package/src/core/styles/grid/gridStyle.ts +108 -0
  414. package/src/core/styles/grid/index.ts +3 -0
  415. package/src/core/styles/grid/types.ts +37 -0
  416. package/src/core/styles/helpers.ts +72 -0
  417. package/src/core/styles/index.ts +5 -0
  418. package/src/core/styles/input/index.ts +2 -0
  419. package/src/core/styles/input/responsiveInputPaddingStyle.ts +78 -0
  420. package/src/core/styles/input/textInputStyle.ts +263 -0
  421. package/src/core/styles/internal.ts +12 -0
  422. package/src/core/styles/margin/index.ts +2 -0
  423. package/src/core/styles/margin/marginStyle.ts +21 -0
  424. package/src/core/styles/margin/marginsStyle.test.ts +33 -0
  425. package/src/core/styles/margin/types.ts +9 -0
  426. package/src/core/styles/padding/index.ts +2 -0
  427. package/src/core/styles/padding/paddingStyle.test.ts +33 -0
  428. package/src/core/styles/padding/paddingStyle.ts +21 -0
  429. package/src/core/styles/padding/types.ts +12 -0
  430. package/src/core/styles/radius/index.ts +2 -0
  431. package/src/core/styles/radius/radiusStyle.ts +23 -0
  432. package/src/core/styles/radius/types.ts +8 -0
  433. package/src/core/styles/shadow/index.ts +2 -0
  434. package/src/core/styles/shadow/shadowStyle.ts +29 -0
  435. package/src/core/styles/shadow/types.ts +6 -0
  436. package/src/core/styles/types.ts +8 -0
  437. package/src/core/theme/__workshop__/build/Root.tsx +367 -0
  438. package/src/core/theme/__workshop__/build/helpers.ts +46 -0
  439. package/src/core/theme/__workshop__/build/story.tsx +465 -0
  440. package/src/core/theme/__workshop__/canvas.tsx +352 -0
  441. package/src/core/theme/__workshop__/color.tsx +62 -0
  442. package/src/core/theme/__workshop__/debug/story.tsx +408 -0
  443. package/src/core/theme/__workshop__/index.ts +39 -0
  444. package/src/core/theme/__workshop__/layer.tsx +78 -0
  445. package/src/core/theme/__workshop__/nestedProvider.tsx +15 -0
  446. package/src/core/theme/index.ts +5 -0
  447. package/src/core/theme/theme.test.tsx +73 -0
  448. package/src/core/theme/themeColorProvider.tsx +29 -0
  449. package/src/core/theme/themeContext.ts +10 -0
  450. package/src/core/theme/themeProvider.tsx +62 -0
  451. package/src/core/theme/types.ts +12 -0
  452. package/src/core/theme/useRootTheme.ts +17 -0
  453. package/src/core/theme/useTheme.ts +16 -0
  454. package/src/core/types/avatar.ts +14 -0
  455. package/src/core/types/badge.ts +12 -0
  456. package/src/core/types/box.ts +19 -0
  457. package/src/core/types/button.ts +21 -0
  458. package/src/core/types/card.ts +6 -0
  459. package/src/core/types/component.ts +32 -0
  460. package/src/core/types/dialog.ts +4 -0
  461. package/src/core/types/flex.ts +30 -0
  462. package/src/core/types/grid.ts +14 -0
  463. package/src/core/types/gridItem.ts +29 -0
  464. package/src/core/types/index.ts +15 -0
  465. package/src/core/types/placement.ts +18 -0
  466. package/src/core/types/popover.ts +4 -0
  467. package/src/core/types/radius.ts +4 -0
  468. package/src/core/types/selectable.ts +6 -0
  469. package/src/core/types/text.ts +4 -0
  470. package/src/core/utils/arrow/arrow.tsx +123 -0
  471. package/src/core/utils/arrow/cmds.ts +91 -0
  472. package/src/core/utils/arrow/index.ts +1 -0
  473. package/src/core/utils/boundaryElement/__workshop__/index.ts +14 -0
  474. package/src/core/utils/boundaryElement/__workshop__/plain.tsx +19 -0
  475. package/src/core/utils/boundaryElement/boundaryElement.test.tsx +100 -0
  476. package/src/core/utils/boundaryElement/boundaryElementContext.ts +7 -0
  477. package/src/core/utils/boundaryElement/boundaryElementProvider.tsx +24 -0
  478. package/src/core/utils/boundaryElement/index.ts +3 -0
  479. package/src/core/utils/boundaryElement/types.ts +7 -0
  480. package/src/core/utils/boundaryElement/useBoundaryElement.ts +26 -0
  481. package/src/core/utils/conditionalWrapper/conditionalWrapper.tsx +21 -0
  482. package/src/core/utils/conditionalWrapper/index.ts +1 -0
  483. package/src/core/utils/elementQuery/__workshop__/customMedia.tsx +30 -0
  484. package/src/core/utils/elementQuery/__workshop__/index.ts +14 -0
  485. package/src/core/utils/elementQuery/elementQuery.tsx +53 -0
  486. package/src/core/utils/elementQuery/helpers.ts +27 -0
  487. package/src/core/utils/elementQuery/index.ts +1 -0
  488. package/src/core/utils/errorBoundary.tsx +48 -0
  489. package/src/core/utils/getElementRef.ts +26 -0
  490. package/src/core/utils/index.ts +9 -0
  491. package/src/core/utils/layer/__workshop__/_debug.tsx +17 -0
  492. package/src/core/utils/layer/__workshop__/index.ts +24 -0
  493. package/src/core/utils/layer/__workshop__/multipleRoots.tsx +49 -0
  494. package/src/core/utils/layer/__workshop__/nested.tsx +98 -0
  495. package/src/core/utils/layer/__workshop__/responsiveZOffset.tsx +13 -0
  496. package/src/core/utils/layer/getLayerContext.test.ts +30 -0
  497. package/src/core/utils/layer/getLayerContext.ts +21 -0
  498. package/src/core/utils/layer/index.ts +4 -0
  499. package/src/core/utils/layer/layer.test.tsx +108 -0
  500. package/src/core/utils/layer/layer.tsx +98 -0
  501. package/src/core/utils/layer/layerContext.ts +7 -0
  502. package/src/core/utils/layer/layerProvider.tsx +111 -0
  503. package/src/core/utils/layer/types.ts +9 -0
  504. package/src/core/utils/layer/useLayer.ts +26 -0
  505. package/src/core/utils/portal/__workshop__/index.ts +14 -0
  506. package/src/core/utils/portal/__workshop__/named.tsx +63 -0
  507. package/src/core/utils/portal/index.ts +4 -0
  508. package/src/core/utils/portal/portal.test.tsx +103 -0
  509. package/src/core/utils/portal/portal.ts +32 -0
  510. package/src/core/utils/portal/portalContext.ts +31 -0
  511. package/src/core/utils/portal/portalProvider.tsx +47 -0
  512. package/src/core/utils/portal/types.ts +9 -0
  513. package/src/core/utils/portal/usePortal.ts +25 -0
  514. package/src/core/utils/spanWithTextOverflow.tsx +10 -0
  515. package/src/core/utils/srOnly/index.ts +1 -0
  516. package/src/core/utils/srOnly/srOnly.tsx +36 -0
  517. package/src/core/utils/virtualList/__workshop__/changingProps.tsx +36 -0
  518. package/src/core/utils/virtualList/__workshop__/elementScroll.tsx +24 -0
  519. package/src/core/utils/virtualList/__workshop__/index.ts +29 -0
  520. package/src/core/utils/virtualList/__workshop__/infiniteList.tsx +48 -0
  521. package/src/core/utils/virtualList/__workshop__/windowScrolll.tsx +22 -0
  522. package/src/core/utils/virtualList/index.ts +1 -0
  523. package/src/core/utils/virtualList/virtualList.tsx +200 -0
  524. package/src/theme/build/_deprecated/color/_selectable/createSelectableTones.ts +76 -0
  525. package/src/theme/build/_deprecated/color/_solid/createSolidTones.ts +54 -0
  526. package/src/theme/build/_deprecated/color/button/createButtonModes.ts +22 -0
  527. package/src/theme/build/_deprecated/color/button/createButtonTones.ts +55 -0
  528. package/src/theme/build/_deprecated/color/card/createCardStates.ts +60 -0
  529. package/src/theme/build/_deprecated/color/color.test.ts +63 -0
  530. package/src/theme/build/_deprecated/color/defaults.ts +390 -0
  531. package/src/theme/build/_deprecated/color/factory.ts +142 -0
  532. package/src/theme/build/_deprecated/color/index.ts +1 -0
  533. package/src/theme/build/_deprecated/color/input/createInputModes.ts +81 -0
  534. package/src/theme/build/_deprecated/color/muted/createMuted.ts +54 -0
  535. package/src/theme/build/_deprecated/color/spot/createSpot.ts +20 -0
  536. package/src/theme/build/buildColorTheme.test.ts +183 -0
  537. package/src/theme/build/buildColorTheme.ts +499 -0
  538. package/src/theme/build/buildTheme.test.ts +87 -0
  539. package/src/theme/build/buildTheme.ts +36 -0
  540. package/src/theme/build/colorToken/colorToken.ts +19 -0
  541. package/src/theme/build/colorToken/compileColorToken.ts +21 -0
  542. package/src/theme/build/colorToken/index.ts +2 -0
  543. package/src/theme/build/colorToken/types.ts +6 -0
  544. package/src/theme/build/index.ts +3 -0
  545. package/src/theme/build/lib/color-fns/blend/index.ts +3 -0
  546. package/src/theme/build/lib/color-fns/blend/mix.ts +21 -0
  547. package/src/theme/build/lib/color-fns/blend/multiply.ts +18 -0
  548. package/src/theme/build/lib/color-fns/blend/screen.ts +18 -0
  549. package/src/theme/build/lib/color-fns/color-fns.test.ts +68 -0
  550. package/src/theme/build/lib/color-fns/contrastRatio.ts +31 -0
  551. package/src/theme/build/lib/color-fns/convert.ts +150 -0
  552. package/src/theme/build/lib/color-fns/index.ts +6 -0
  553. package/src/theme/build/lib/color-fns/parse.ts +60 -0
  554. package/src/theme/build/lib/color-fns/rgba.ts +10 -0
  555. package/src/theme/build/lib/color-fns/types.ts +28 -0
  556. package/src/theme/build/lib/isRecord.ts +3 -0
  557. package/src/theme/build/lib/lazy.ts +30 -0
  558. package/src/theme/build/lib/utils.ts +19 -0
  559. package/src/theme/build/merge.ts +26 -0
  560. package/src/theme/build/mixThemeColor.test.ts +21 -0
  561. package/src/theme/build/mixThemeColor.ts +53 -0
  562. package/src/theme/build/renderColorTheme.ts +532 -0
  563. package/src/theme/build/renderColorValue.ts +85 -0
  564. package/src/theme/build/resolveColorTokens.ts +268 -0
  565. package/src/theme/build/theme.test.ts +27 -0
  566. package/src/theme/config/helpers.ts +55 -0
  567. package/src/theme/config/index.ts +4 -0
  568. package/src/theme/config/system.ts +115 -0
  569. package/src/theme/config/tokens/color/index.ts +1 -0
  570. package/src/theme/config/tokens/color/types.ts +133 -0
  571. package/src/theme/config/tokens/index.ts +4 -0
  572. package/src/theme/config/tokens/parseTokenKey.test.ts +64 -0
  573. package/src/theme/config/tokens/parseTokenKey.ts +67 -0
  574. package/src/theme/config/tokens/parseTokenValue.test.ts +42 -0
  575. package/src/theme/config/tokens/parseTokenValue.ts +133 -0
  576. package/src/theme/config/tokens/types.ts +53 -0
  577. package/src/theme/config/types.ts +46 -0
  578. package/src/theme/defaults/colorPalette.ts +5 -0
  579. package/src/theme/defaults/colorTokens.ts +648 -0
  580. package/src/theme/defaults/config.ts +84 -0
  581. package/src/theme/defaults/fonts.ts +227 -0
  582. package/src/theme/getScopedTheme.ts +98 -0
  583. package/src/theme/index.ts +5 -0
  584. package/src/theme/system/avatar.ts +14 -0
  585. package/src/theme/system/color/_constants.ts +45 -0
  586. package/src/theme/system/color/_helpers.ts +24 -0
  587. package/src/theme/system/color/_system.ts +40 -0
  588. package/src/theme/system/color/avatar.ts +15 -0
  589. package/src/theme/system/color/badge.ts +16 -0
  590. package/src/theme/system/color/button.ts +17 -0
  591. package/src/theme/system/color/color.ts +34 -0
  592. package/src/theme/system/color/index.ts +13 -0
  593. package/src/theme/system/color/input.ts +25 -0
  594. package/src/theme/system/color/kbd.ts +8 -0
  595. package/src/theme/system/color/selectable.ts +12 -0
  596. package/src/theme/system/color/shadow.ts +7 -0
  597. package/src/theme/system/color/state.ts +43 -0
  598. package/src/theme/system/color/syntax.ts +41 -0
  599. package/src/theme/system/css.ts +14 -0
  600. package/src/theme/system/focusRing.ts +7 -0
  601. package/src/theme/system/font.ts +52 -0
  602. package/src/theme/system/index.ts +11 -0
  603. package/src/theme/system/input.ts +33 -0
  604. package/src/theme/system/layer.ts +8 -0
  605. package/src/theme/system/shadow.ts +19 -0
  606. package/src/theme/system/styles.ts +13 -0
  607. package/src/theme/system/theme.ts +138 -0
  608. package/src/theme/system/v0/avatar.ts +10 -0
  609. package/src/theme/system/v0/color/_generic.ts +35 -0
  610. package/src/theme/system/v0/color/_system.ts +17 -0
  611. package/src/theme/system/v0/color/base.ts +21 -0
  612. package/src/theme/system/v0/color/button.ts +42 -0
  613. package/src/theme/system/v0/color/card.ts +19 -0
  614. package/src/theme/system/v0/color/color.ts +40 -0
  615. package/src/theme/system/v0/color/index.ts +11 -0
  616. package/src/theme/system/v0/color/input.ts +34 -0
  617. package/src/theme/system/v0/color/muted.ts +26 -0
  618. package/src/theme/system/v0/color/selectable.ts +31 -0
  619. package/src/theme/system/v0/color/solid.ts +26 -0
  620. package/src/theme/system/v0/color/spot.ts +13 -0
  621. package/src/theme/system/v0/index.ts +3 -0
  622. package/src/theme/system/v0/input.ts +23 -0
  623. package/src/theme/versioning/getTheme_v2.ts +57 -0
  624. package/src/theme/versioning/index.ts +5 -0
  625. package/src/theme/versioning/is_v0.ts +6 -0
  626. package/src/theme/versioning/is_v2.ts +6 -0
  627. package/src/theme/versioning/themeColor_v0_v2.ts +243 -0
  628. package/src/theme/versioning/themeColor_v2_v2_9.ts +49 -0
  629. package/src/theme/versioning/v0_v2.ts +94 -0
  630. package/src/theme/versioning/v2_v0.ts +135 -0
@@ -0,0 +1,293 @@
1
+ import {icons, IconSymbol} from '@bettercms-ai/icons/map'
2
+ import {
3
+ AvatarSize,
4
+ BadgeMode,
5
+ BadgeTone,
6
+ ButtonMode,
7
+ ButtonTextAlign,
8
+ ButtonTone,
9
+ CardTone,
10
+ DialogPosition,
11
+ FlexAlign,
12
+ FlexJustify,
13
+ Placement,
14
+ TextAlign,
15
+ TextInputType,
16
+ } from '@bettercms-ai/kit'
17
+ import {ThemeColorAvatarColorKey, ThemeFontWeightKey} from '@bettercms-ai/kit/theme'
18
+
19
+ export const WORKSHOP_AVATAR_SIZE_OPTIONS: {[key: string]: AvatarSize} = {
20
+ '0': 0,
21
+ '1': 1,
22
+ '2': 2,
23
+ '3': 3,
24
+ }
25
+
26
+ export const WORKSHOP_BADGE_MODE_OPTIONS: {[key: string]: BadgeMode} = {
27
+ Default: 'default',
28
+ Outline: 'outline',
29
+ }
30
+
31
+ export const WORKSHOP_BADGE_TONE_OPTIONS: {[key: string]: BadgeTone} = {
32
+ Default: 'default',
33
+ Primary: 'primary',
34
+ Suggest: 'suggest',
35
+ Positive: 'positive',
36
+ Caution: 'caution',
37
+ Critical: 'critical',
38
+ }
39
+
40
+ export const WORKSHOP_BUTTON_MODE_OPTIONS: {[key: string]: ButtonMode} = {
41
+ Default: 'default',
42
+ Ghost: 'ghost',
43
+ Bleed: 'bleed',
44
+ }
45
+
46
+ export const WORKSHOP_BUTTON_TEXT_ALIGN_OPTIONS: {[key: string]: ButtonTextAlign | ''} = {
47
+ '(none)': '',
48
+ 'Left': 'left',
49
+ 'Right': 'right',
50
+ 'Center': 'center',
51
+ }
52
+
53
+ export const WORKSHOP_BUTTON_TONE_OPTIONS: {[key: string]: ButtonTone} = {
54
+ Default: 'default',
55
+ Neutral: 'neutral',
56
+ Primary: 'primary',
57
+ Suggest: 'suggest',
58
+ Positive: 'positive',
59
+ Caution: 'caution',
60
+ Critical: 'critical',
61
+ }
62
+
63
+ export const WORKSHOP_CARD_AS_OPTIONS: {
64
+ [key: string]: 'div' | 'button' | 'span' | 'ol' | 'pre' | 'ul'
65
+ } = {
66
+ DIV: 'div',
67
+ BUTTON: 'button',
68
+ SPAN: 'span',
69
+ OL: 'ol',
70
+ PRE: 'pre',
71
+ UL: 'ul',
72
+ }
73
+
74
+ export const WORKSHOP_CARD_TONE_OPTIONS: {[key: string]: CardTone} = {
75
+ 'Inherit': 'inherit',
76
+ 'Transparent': 'transparent',
77
+ 'Default': 'default',
78
+ 'Neutral': 'neutral',
79
+ 'Primary (deprecated)': 'primary',
80
+ 'Suggest': 'suggest',
81
+ 'Positive': 'positive',
82
+ 'Caution': 'caution',
83
+ 'Critical': 'critical',
84
+ }
85
+
86
+ export const WORKSHOP_CODE_LANGUAGE_OPTIONS = {
87
+ JavaScript: 'javascript',
88
+ JSON: 'json',
89
+ JSX: 'jsx',
90
+ TypeScript: 'typescript',
91
+ }
92
+
93
+ export const WORKSHOP_CONTAINER_WIDTH_OPTIONS: {[key: string]: number | 'auto'} = {
94
+ '0': 0,
95
+ '1': 1,
96
+ '2': 2,
97
+ '3': 3,
98
+ '4': 4,
99
+ '5': 5,
100
+ 'auto': 'auto',
101
+ }
102
+
103
+ export const WORKSHOP_DIALOG_POSITION_OPTIONS: {[key: string]: DialogPosition} = {
104
+ Fixed: 'fixed',
105
+ Absolute: 'absolute',
106
+ }
107
+
108
+ export const WORKSHOP_FLEX_DIRECTION_OPTIONS: {[key: string]: 'row' | 'column'} = {
109
+ Row: 'row',
110
+ Column: 'column',
111
+ }
112
+
113
+ export const WORKSHOP_FLEX_ALIGN_OPTIONS: Record<FlexAlign, FlexAlign> = {
114
+ 'baseline': 'baseline',
115
+ 'center': 'center',
116
+ 'flex-end': 'flex-end',
117
+ 'flex-start': 'flex-start',
118
+ 'stretch': 'stretch',
119
+ }
120
+
121
+ export const WORKSHOP_FLEX_JUSTIFY_OPTIONS: Record<FlexJustify, FlexJustify> = {
122
+ 'center': 'center',
123
+ 'flex-end': 'flex-end',
124
+ 'flex-start': 'flex-start',
125
+ 'space-around': 'space-around',
126
+ 'space-between': 'space-between',
127
+ 'space-evenly': 'space-evenly',
128
+ }
129
+
130
+ export const WORKSHOP_FONT_WEIGHT_OPTIONS: {[key: string]: ThemeFontWeightKey} = {
131
+ Regular: 'regular',
132
+ Medium: 'medium',
133
+ Semibold: 'semibold',
134
+ Bold: 'bold',
135
+ }
136
+
137
+ export const WORKSHOP_HEADING_FONT_SIZE_OPTIONS = {
138
+ '0': 0,
139
+ '1': 1,
140
+ '2': 2,
141
+ '3': 3,
142
+ '4': 4,
143
+ }
144
+
145
+ export const WORKSHOP_ICON_SYMBOL_OPTIONS: {[key: string]: IconSymbol | ''} = Object.keys(
146
+ icons,
147
+ ).reduce(
148
+ (acc: {[key: string]: IconSymbol | ''}, key) => {
149
+ acc[key] = key as IconSymbol
150
+
151
+ return acc
152
+ },
153
+ {'(none)': ''},
154
+ )
155
+
156
+ export const WORKSHOP_LABEL_FONT_SIZE_OPTIONS = {
157
+ '0': 0,
158
+ '1': 1,
159
+ '2': 2,
160
+ '3': 3,
161
+ '4': 4,
162
+ }
163
+
164
+ export const WORKSHOP_PLACEMENT_OPTIONS: Record<Placement, Placement> = {
165
+ 'top': 'top',
166
+ 'top-start': 'top-start',
167
+ 'top-end': 'top-end',
168
+ 'right': 'right',
169
+ 'right-start': 'right-start',
170
+ 'right-end': 'right-end',
171
+ 'left': 'left',
172
+ 'left-start': 'left-start',
173
+ 'left-end': 'left-end',
174
+ 'bottom': 'bottom',
175
+ 'bottom-start': 'bottom-start',
176
+ 'bottom-end': 'bottom-end',
177
+ }
178
+
179
+ export const WORKSHOP_RADIUS_OPTIONS = {
180
+ '0': 0,
181
+ '1': 1,
182
+ '2': 2,
183
+ '3': 3,
184
+ '4': 4,
185
+ '5': 5,
186
+ '6': 6,
187
+ }
188
+
189
+ export const WORKSHOP_SHADOW_OPTIONS = {
190
+ '0': 0,
191
+ '1': 1,
192
+ '2': 2,
193
+ '3': 3,
194
+ '4': 4,
195
+ '5': 5,
196
+ }
197
+
198
+ export const WORKSHOP_SPACE_OPTIONS = {
199
+ '0': 0,
200
+ '1': 1,
201
+ '2': 2,
202
+ '3': 3,
203
+ '4': 4,
204
+ '5': 5,
205
+ '6': 6,
206
+ '7': 7,
207
+ '8': 8,
208
+ '9': 9,
209
+ }
210
+
211
+ export const WORKSHOP_SPOT_COLOR_OPTIONS: {[key: string]: ThemeColorAvatarColorKey} = {
212
+ Gray: 'gray',
213
+ Blue: 'blue',
214
+ Purple: 'purple',
215
+ Magenta: 'magenta',
216
+ Red: 'red',
217
+ Orange: 'orange',
218
+ Yellow: 'yellow',
219
+ Green: 'green',
220
+ Cyan: 'cyan',
221
+ }
222
+
223
+ export const WORKSHOP_TEXT_ALIGN_OPTIONS: {[key: string]: TextAlign | ''} = {
224
+ '(none)': '',
225
+ 'Initial': 'initial',
226
+ 'Left': 'left',
227
+ 'Right': 'right',
228
+ 'Center': 'center',
229
+ 'Justify': 'justify',
230
+ }
231
+
232
+ export const WORKSHOP_TEXT_FONT_SIZE_OPTIONS = {
233
+ '0': 0,
234
+ '1': 1,
235
+ '2': 2,
236
+ '3': 3,
237
+ '4': 4,
238
+ }
239
+
240
+ export const WORKSHOP_TEXT_INPUT_TYPE_OPTIONS: {[key: string]: TextInputType} = {
241
+ 'date': 'date',
242
+ 'datetime-local': 'datetime-local',
243
+ 'email': 'email',
244
+ 'month': 'month',
245
+ 'number': 'number',
246
+ 'password': 'password',
247
+ 'tel': 'tel',
248
+ 'time': 'time',
249
+ 'text': 'text',
250
+ 'week': 'week',
251
+ 'color': 'color',
252
+ }
253
+
254
+ export const WORKSHOP_TEXT_OVERFLOW_OPTIONS: {[key: string]: 'ellipsis' | ''} = {
255
+ None: '',
256
+ Ellipsis: 'ellipsis',
257
+ }
258
+
259
+ export const WORKSHOP_TEXT_SIZE_OPTIONS = {
260
+ '0': 0,
261
+ '1': 1,
262
+ '2': 2,
263
+ '3': 3,
264
+ '4': 4,
265
+ }
266
+
267
+ export const WORKSHOP_TEXT_WEIGHT_OPTIONS: {[key: string]: ThemeFontWeightKey | ''} = {
268
+ '(none)': '',
269
+ 'Regular': 'regular',
270
+ 'Medium': 'medium',
271
+ 'Semibold': 'semibold',
272
+ 'Bold': 'bold',
273
+ }
274
+
275
+ export const WORKSHOP_TOAST_STATUS_OPTIONS: {
276
+ [key: string]: 'error' | 'success' | 'warning' | 'info' | ''
277
+ } = {
278
+ None: '',
279
+ Info: 'info',
280
+ Success: 'success',
281
+ Warning: 'warning',
282
+ Error: 'error',
283
+ }
284
+
285
+ export const WORKSHOP_WIDTH_OPTIONS: {[key: string]: number | 'auto'} = {
286
+ 'Auto': 'auto',
287
+ '0': 0,
288
+ '1': 1,
289
+ '2': 2,
290
+ '3': 3,
291
+ '4': 4,
292
+ '5': 5,
293
+ }
@@ -0,0 +1,264 @@
1
+ // This file re-exports API members which existed in the `@bettercms-ai/kit` export in v1.
2
+
3
+ import {
4
+ type BaseTheme as _BaseTheme,
5
+ buildTheme,
6
+ type HSL as _HSL,
7
+ type PartialThemeColorBuilderOpts,
8
+ type RGB as _RGB,
9
+ type RootTheme as _RootTheme,
10
+ type Theme as _Theme,
11
+ type ThemeAvatar,
12
+ type ThemeBoxShadow,
13
+ type ThemeColor,
14
+ type ThemeColorBase,
15
+ type ThemeColorBuilderOpts,
16
+ type ThemeColorButton,
17
+ type ThemeColorButtonModeKey as _ThemeColorButtonModeKey,
18
+ type ThemeColorButtonState,
19
+ type ThemeColorButtonStates,
20
+ type ThemeColorButtonTones,
21
+ type ThemeColorCard,
22
+ type ThemeColorCardState,
23
+ type ThemeColorGenericState,
24
+ type ThemeColorInput,
25
+ type ThemeColorInputState,
26
+ type ThemeColorInputStates,
27
+ type ThemeColorMuted,
28
+ type ThemeColorMutedTone,
29
+ type ThemeColorName,
30
+ type ThemeColorScheme,
31
+ type ThemeColorSchemeKey as _ThemeColorSchemeKey,
32
+ type ThemeColorSchemes,
33
+ type ThemeColorSelectable,
34
+ type ThemeColorSelectableState,
35
+ type ThemeColorSelectableStates,
36
+ type ThemeColorSolid,
37
+ type ThemeColorSolidTone,
38
+ type ThemeColorSpot,
39
+ type ThemeColorSpotKey,
40
+ type ThemeColorSyntax as _ThemeColorSyntax,
41
+ type ThemeColorToneKey,
42
+ type ThemeFont as _ThemeFont,
43
+ type ThemeFontKey as _ThemeFontKey,
44
+ type ThemeFonts as _ThemeFonts,
45
+ type ThemeFontSize as _ThemeFontSize,
46
+ type ThemeFontWeight as _ThemeFontWeight,
47
+ type ThemeFontWeightKey as _ThemeFontWeightKey,
48
+ type ThemeInput,
49
+ type ThemeLayer as _ThemeLayer,
50
+ type ThemeShadow as _ThemeShadow,
51
+ type ThemeStyles,
52
+ } from '@bettercms-ai/kit/theme'
53
+
54
+ /**
55
+ * @public
56
+ * @deprecated Use `BaseTheme` from `@bettercms-ai/kit/theme` instead.
57
+ */
58
+ export type BaseTheme = _BaseTheme
59
+
60
+ /**
61
+ * @public
62
+ * @deprecated Use `ThemeBoxShadow` from `@bettercms-ai/kit/theme` instead.
63
+ */
64
+ export type BoxShadow = ThemeBoxShadow
65
+
66
+ /**
67
+ * @public
68
+ * @deprecated Use `HSL` from `@bettercms-ai/kit/theme` instead.
69
+ */
70
+ export type HSL = _HSL
71
+
72
+ /**
73
+ * @public
74
+ * @deprecated Use `RGB` from `@bettercms-ai/kit/theme` instead.
75
+ */
76
+ export type RGB = _RGB
77
+
78
+ /**
79
+ * @public
80
+ * @deprecated Use `RootTheme` from `@bettercms-ai/kit/theme` instead.
81
+ */
82
+ export type RootTheme = _RootTheme
83
+
84
+ /**
85
+ * @public
86
+ * @deprecated Use `ThemeStyles` from `@bettercms-ai/kit/theme` instead.
87
+ */
88
+ export type Styles = ThemeStyles
89
+
90
+ /**
91
+ * @public
92
+ * @deprecated Use `Theme` from `@bettercms-ai/kit/theme` instead.
93
+ */
94
+ export type Theme = _Theme
95
+
96
+ /**
97
+ * @public
98
+ * @deprecated Use `ThemeColorButtonModeKey` from `@bettercms-ai/kit/theme` instead.
99
+ */
100
+ export type ThemeColorButtonModeKey = _ThemeColorButtonModeKey
101
+
102
+ /**
103
+ * @public
104
+ * @deprecated Use `ThemeColorSchemeKey` from `@bettercms-ai/kit/theme` instead.
105
+ */
106
+ export type ThemeColorSchemeKey = _ThemeColorSchemeKey
107
+
108
+ /**
109
+ * @public
110
+ * @deprecated Use `ThemeColorSyntax` from `@bettercms-ai/kit/theme` instead.
111
+ */
112
+ export type ThemeColorSyntax = _ThemeColorSyntax
113
+
114
+ /**
115
+ * @public
116
+ * @deprecated Use `ThemeFont` from `@bettercms-ai/kit/theme` instead.
117
+ */
118
+ export type ThemeFont = _ThemeFont
119
+
120
+ /**
121
+ * @public
122
+ * @deprecated Use `ThemeFontKey` from `@bettercms-ai/kit/theme` instead.
123
+ */
124
+ export type ThemeFontKey = _ThemeFontKey
125
+
126
+ /**
127
+ * @public
128
+ * @deprecated Use `ThemeFontSize` from `@bettercms-ai/kit/theme` instead.
129
+ */
130
+ export type ThemeFontSize = _ThemeFontSize
131
+
132
+ /**
133
+ * @public
134
+ * @deprecated Use `ThemeFontWeight` from `@bettercms-ai/kit/theme` instead.
135
+ */
136
+ export type ThemeFontWeight = _ThemeFontWeight
137
+
138
+ /**
139
+ * @public
140
+ * @deprecated Use `ThemeFontWeightKey` from `@bettercms-ai/kit/theme` instead.
141
+ */
142
+ export type ThemeFontWeightKey = _ThemeFontWeightKey
143
+
144
+ /**
145
+ * @public
146
+ * @deprecated Use `ThemeFonts` from `@bettercms-ai/kit/theme` instead.
147
+ */
148
+ export type ThemeFonts = _ThemeFonts
149
+
150
+ /**
151
+ * @public
152
+ * @deprecated Use `ThemeLayer` from `@bettercms-ai/kit/theme` instead.
153
+ */
154
+ export type ThemeLayer = _ThemeLayer
155
+
156
+ /**
157
+ * @public
158
+ * @deprecated Use `ThemeShadow` from `@bettercms-ai/kit/theme` instead.
159
+ */
160
+ export type ThemeShadow = _ThemeShadow
161
+
162
+ export {
163
+ type PartialThemeColorBuilderOpts,
164
+ type ThemeAvatar,
165
+ type ThemeColor,
166
+ type ThemeColorBase,
167
+ type ThemeColorBuilderOpts,
168
+ type ThemeColorButton,
169
+ type ThemeColorButtonState,
170
+ type ThemeColorButtonStates,
171
+ type ThemeColorButtonTones,
172
+ type ThemeColorCard,
173
+ type ThemeColorCardState,
174
+ type ThemeColorGenericState,
175
+ type ThemeColorInput,
176
+ type ThemeColorInputState,
177
+ type ThemeColorInputStates,
178
+ type ThemeColorMuted,
179
+ type ThemeColorMutedTone,
180
+ type ThemeColorName,
181
+ type ThemeColorScheme,
182
+ type ThemeColorSchemes,
183
+ type ThemeColorSelectable,
184
+ type ThemeColorSelectableState,
185
+ type ThemeColorSelectableStates,
186
+ type ThemeColorSolid,
187
+ type ThemeColorSolidTone,
188
+ type ThemeColorSpot,
189
+ type ThemeColorSpotKey,
190
+ type ThemeColorToneKey,
191
+ type ThemeInput,
192
+ }
193
+
194
+ import {
195
+ createColorTheme as _createColorTheme,
196
+ hexToRgb as _hexToRgb,
197
+ hslToRgb as _hslToRgb,
198
+ multiply as _multiply,
199
+ parseColor as _parseColor,
200
+ rgba as _rgba,
201
+ rgbToHex as _rgbToHex,
202
+ rgbToHsl as _rgbToHsl,
203
+ screen as _screen,
204
+ } from '@bettercms-ai/kit/theme'
205
+
206
+ /**
207
+ * @public
208
+ * @deprecated Use `createColorTheme` from `@bettercms-ai/kit/theme` instead.
209
+ */
210
+ export const createColorTheme = _createColorTheme
211
+
212
+ /**
213
+ * @public
214
+ * @deprecated Use `hexToRgb` from `@bettercms-ai/kit/theme` instead.
215
+ */
216
+ export const hexToRgb = _hexToRgb
217
+
218
+ /**
219
+ * @public
220
+ * @deprecated Use `hslToRgb` from `@bettercms-ai/kit/theme` instead.
221
+ */
222
+ export const hslToRgb = _hslToRgb
223
+
224
+ /**
225
+ * @public
226
+ * @deprecated Use `multiply` from `@bettercms-ai/kit/theme` instead.
227
+ */
228
+ export const multiply = _multiply
229
+
230
+ /**
231
+ * @public
232
+ * @deprecated Use `parseColor` from `@bettercms-ai/kit/theme` instead.
233
+ */
234
+ export const parseColor = _parseColor
235
+
236
+ /**
237
+ * @public
238
+ * @deprecated Use `rgbToHex` from `@bettercms-ai/kit/theme` instead.
239
+ */
240
+ export const rgbToHex = _rgbToHex
241
+
242
+ /**
243
+ * @public
244
+ * @deprecated Use `rgbToHsl` from `@bettercms-ai/kit/theme` instead.
245
+ */
246
+ export const rgbToHsl = _rgbToHsl
247
+
248
+ /**
249
+ * @public
250
+ * @deprecated Use `rgba` from `@bettercms-ai/kit/theme` instead.
251
+ */
252
+ export const rgba = _rgba
253
+
254
+ /**
255
+ * @public
256
+ * @deprecated Use `screen` from `@bettercms-ai/kit/theme` instead.
257
+ */
258
+ export const screen = _screen
259
+
260
+ /**
261
+ * @public
262
+ * @deprecated Use `buildTheme` from `@bettercms-ai/kit/theme` instead.
263
+ */
264
+ export const studioTheme = buildTheme()
@@ -0,0 +1,49 @@
1
+ import countries from './countries'
2
+
3
+ export const countriesStore = {
4
+ search(
5
+ query: string,
6
+ onResults: (results: {value: string}[]) => void,
7
+ onLoading: (flag: boolean) => void,
8
+ ): {cancel: () => void} {
9
+ const fakeDelay = 350 + Math.random() * 800
10
+
11
+ onLoading(true)
12
+
13
+ const timeout = setTimeout(() => {
14
+ const results: {value: string}[] = countries
15
+ .filter((d) => d.name.toLowerCase().includes(query.toLowerCase()))
16
+ .map((d) => ({value: d.code}))
17
+
18
+ onResults(results)
19
+ onLoading(false)
20
+ }, fakeDelay)
21
+
22
+ return {
23
+ cancel: () => clearTimeout(timeout),
24
+ }
25
+ },
26
+
27
+ fetchDocument(
28
+ id: string,
29
+ onResult: (value: {code: string; title: string} | null) => void,
30
+ onLoading: (flag: boolean) => void,
31
+ ): {cancel: () => void} {
32
+ const fakeDelay = 50 + Math.random() * 400
33
+
34
+ onLoading(true)
35
+
36
+ const timeout = setTimeout(() => {
37
+ const rec = countries.find((c) => c.code === id)
38
+
39
+ const doc = rec && {code: rec.code, title: rec.name}
40
+
41
+ onResult(doc || null)
42
+ onLoading(false)
43
+ }, fakeDelay)
44
+
45
+ return {
46
+ cancel: () => clearTimeout(timeout),
47
+ }
48
+ },
49
+ }