@stack-spot/citric-react 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 (345) hide show
  1. package/dist/citric.css +2580 -0
  2. package/dist/components/Accordion.d.ts +33 -0
  3. package/dist/components/Accordion.d.ts.map +1 -0
  4. package/dist/components/Accordion.js +19 -0
  5. package/dist/components/Accordion.js.map +1 -0
  6. package/dist/components/Alert.d.ts +11 -0
  7. package/dist/components/Alert.d.ts.map +1 -0
  8. package/dist/components/Alert.js +5 -0
  9. package/dist/components/Alert.js.map +1 -0
  10. package/dist/components/AsyncContent.d.ts +30 -0
  11. package/dist/components/AsyncContent.d.ts.map +1 -0
  12. package/dist/components/AsyncContent.js +33 -0
  13. package/dist/components/AsyncContent.js.map +1 -0
  14. package/dist/components/Avatar.d.ts +22 -0
  15. package/dist/components/Avatar.d.ts.map +1 -0
  16. package/dist/components/Avatar.js +9 -0
  17. package/dist/components/Avatar.js.map +1 -0
  18. package/dist/components/AvatarGroup.d.ts +25 -0
  19. package/dist/components/AvatarGroup.d.ts.map +1 -0
  20. package/dist/components/AvatarGroup.js +9 -0
  21. package/dist/components/AvatarGroup.js.map +1 -0
  22. package/dist/components/Badge.d.ts +18 -0
  23. package/dist/components/Badge.d.ts.map +1 -0
  24. package/dist/components/Badge.js +7 -0
  25. package/dist/components/Badge.js.map +1 -0
  26. package/dist/components/Blockquote.d.ts +5 -0
  27. package/dist/components/Blockquote.d.ts.map +1 -0
  28. package/dist/components/Blockquote.js +4 -0
  29. package/dist/components/Blockquote.js.map +1 -0
  30. package/dist/components/Breadcrumb.d.ts +12 -0
  31. package/dist/components/Breadcrumb.d.ts.map +1 -0
  32. package/dist/components/Breadcrumb.js +8 -0
  33. package/dist/components/Breadcrumb.js.map +1 -0
  34. package/dist/components/Button.d.ts +42 -0
  35. package/dist/components/Button.d.ts.map +1 -0
  36. package/dist/components/Button.js +25 -0
  37. package/dist/components/Button.js.map +1 -0
  38. package/dist/components/Card.d.ts +19 -0
  39. package/dist/components/Card.d.ts.map +1 -0
  40. package/dist/components/Card.js +5 -0
  41. package/dist/components/Card.js.map +1 -0
  42. package/dist/components/Checkbox.d.ts +14 -0
  43. package/dist/components/Checkbox.d.ts.map +1 -0
  44. package/dist/components/Checkbox.js +7 -0
  45. package/dist/components/Checkbox.js.map +1 -0
  46. package/dist/components/CheckboxGroup.d.ts +53 -0
  47. package/dist/components/CheckboxGroup.d.ts.map +1 -0
  48. package/dist/components/CheckboxGroup.js +17 -0
  49. package/dist/components/CheckboxGroup.js.map +1 -0
  50. package/dist/components/Circle.d.ts +18 -0
  51. package/dist/components/Circle.d.ts.map +1 -0
  52. package/dist/components/Circle.js +5 -0
  53. package/dist/components/Circle.js.map +1 -0
  54. package/dist/components/CitricComponent.d.ts +14 -0
  55. package/dist/components/CitricComponent.d.ts.map +1 -0
  56. package/dist/components/CitricComponent.js +15 -0
  57. package/dist/components/CitricComponent.js.map +1 -0
  58. package/dist/components/Divider.d.ts +14 -0
  59. package/dist/components/Divider.d.ts.map +1 -0
  60. package/dist/components/Divider.js +5 -0
  61. package/dist/components/Divider.js.map +1 -0
  62. package/dist/components/ErrorBoundary.d.ts +32 -0
  63. package/dist/components/ErrorBoundary.d.ts.map +1 -0
  64. package/dist/components/ErrorBoundary.js +46 -0
  65. package/dist/components/ErrorBoundary.js.map +1 -0
  66. package/dist/components/ErrorMessage.d.ts +4 -0
  67. package/dist/components/ErrorMessage.d.ts.map +1 -0
  68. package/dist/components/ErrorMessage.js +7 -0
  69. package/dist/components/ErrorMessage.js.map +1 -0
  70. package/dist/components/FallbackBoundary.d.ts +13 -0
  71. package/dist/components/FallbackBoundary.d.ts.map +1 -0
  72. package/dist/components/FallbackBoundary.js +11 -0
  73. package/dist/components/FallbackBoundary.js.map +1 -0
  74. package/dist/components/Favorite.d.ts +23 -0
  75. package/dist/components/Favorite.d.ts.map +1 -0
  76. package/dist/components/Favorite.js +5 -0
  77. package/dist/components/Favorite.js.map +1 -0
  78. package/dist/components/FieldGroup.d.ts +14 -0
  79. package/dist/components/FieldGroup.d.ts.map +1 -0
  80. package/dist/components/FieldGroup.js +5 -0
  81. package/dist/components/FieldGroup.js.map +1 -0
  82. package/dist/components/Form.d.ts +5 -0
  83. package/dist/components/Form.d.ts.map +1 -0
  84. package/dist/components/Form.js +6 -0
  85. package/dist/components/Form.js.map +1 -0
  86. package/dist/components/FormGroup.d.ts +22 -0
  87. package/dist/components/FormGroup.d.ts.map +1 -0
  88. package/dist/components/FormGroup.js +8 -0
  89. package/dist/components/FormGroup.js.map +1 -0
  90. package/dist/components/IconBox.d.ts +46 -0
  91. package/dist/components/IconBox.d.ts.map +1 -0
  92. package/dist/components/IconBox.js +29 -0
  93. package/dist/components/IconBox.js.map +1 -0
  94. package/dist/components/Input.d.ts +15 -0
  95. package/dist/components/Input.d.ts.map +1 -0
  96. package/dist/components/Input.js +18 -0
  97. package/dist/components/Input.js.map +1 -0
  98. package/dist/components/Link.d.ts +20 -0
  99. package/dist/components/Link.d.ts.map +1 -0
  100. package/dist/components/Link.js +21 -0
  101. package/dist/components/Link.js.map +1 -0
  102. package/dist/components/LoadingPanel.d.ts +2 -0
  103. package/dist/components/LoadingPanel.d.ts.map +1 -0
  104. package/dist/components/LoadingPanel.js +5 -0
  105. package/dist/components/LoadingPanel.js.map +1 -0
  106. package/dist/components/MenuOverlay/Menu.d.ts +6 -0
  107. package/dist/components/MenuOverlay/Menu.d.ts.map +1 -0
  108. package/dist/components/MenuOverlay/Menu.js +100 -0
  109. package/dist/components/MenuOverlay/Menu.js.map +1 -0
  110. package/dist/components/MenuOverlay/context.d.ts +6 -0
  111. package/dist/components/MenuOverlay/context.d.ts.map +1 -0
  112. package/dist/components/MenuOverlay/context.js +16 -0
  113. package/dist/components/MenuOverlay/context.js.map +1 -0
  114. package/dist/components/MenuOverlay/index.d.ts +3 -0
  115. package/dist/components/MenuOverlay/index.d.ts.map +1 -0
  116. package/dist/components/MenuOverlay/index.js +23 -0
  117. package/dist/components/MenuOverlay/index.js.map +1 -0
  118. package/dist/components/MenuOverlay/keyboard.d.ts +2 -0
  119. package/dist/components/MenuOverlay/keyboard.d.ts.map +1 -0
  120. package/dist/components/MenuOverlay/keyboard.js +66 -0
  121. package/dist/components/MenuOverlay/keyboard.js.map +1 -0
  122. package/dist/components/MenuOverlay/types.d.ts +166 -0
  123. package/dist/components/MenuOverlay/types.d.ts.map +1 -0
  124. package/dist/components/MenuOverlay/types.js +2 -0
  125. package/dist/components/MenuOverlay/types.js.map +1 -0
  126. package/dist/components/Overlay/context.d.ts +4 -0
  127. package/dist/components/Overlay/context.d.ts.map +1 -0
  128. package/dist/components/Overlay/context.js +7 -0
  129. package/dist/components/Overlay/context.js.map +1 -0
  130. package/dist/components/Overlay/index.d.ts +14 -0
  131. package/dist/components/Overlay/index.d.ts.map +1 -0
  132. package/dist/components/Overlay/index.js +120 -0
  133. package/dist/components/Overlay/index.js.map +1 -0
  134. package/dist/components/Overlay/types.d.ts +67 -0
  135. package/dist/components/Overlay/types.d.ts.map +1 -0
  136. package/dist/components/Overlay/types.js +2 -0
  137. package/dist/components/Overlay/types.js.map +1 -0
  138. package/dist/components/Pagination.d.ts +28 -0
  139. package/dist/components/Pagination.d.ts.map +1 -0
  140. package/dist/components/Pagination.js +30 -0
  141. package/dist/components/Pagination.js.map +1 -0
  142. package/dist/components/ProgressBar.d.ts +12 -0
  143. package/dist/components/ProgressBar.d.ts.map +1 -0
  144. package/dist/components/ProgressBar.js +7 -0
  145. package/dist/components/ProgressBar.js.map +1 -0
  146. package/dist/components/ProgressCircular.d.ts +16 -0
  147. package/dist/components/ProgressCircular.d.ts.map +1 -0
  148. package/dist/components/ProgressCircular.js +7 -0
  149. package/dist/components/ProgressCircular.js.map +1 -0
  150. package/dist/components/RadioGroup.d.ts +48 -0
  151. package/dist/components/RadioGroup.d.ts.map +1 -0
  152. package/dist/components/RadioGroup.js +17 -0
  153. package/dist/components/RadioGroup.js.map +1 -0
  154. package/dist/components/Rating.d.ts +13 -0
  155. package/dist/components/Rating.d.ts.map +1 -0
  156. package/dist/components/Rating.js +4 -0
  157. package/dist/components/Rating.js.map +1 -0
  158. package/dist/components/Select/RichSelect.d.ts +5 -0
  159. package/dist/components/Select/RichSelect.d.ts.map +1 -0
  160. package/dist/components/Select/RichSelect.js +152 -0
  161. package/dist/components/Select/RichSelect.js.map +1 -0
  162. package/dist/components/Select/SimpleSelect.d.ts +5 -0
  163. package/dist/components/Select/SimpleSelect.d.ts.map +1 -0
  164. package/dist/components/Select/SimpleSelect.js +24 -0
  165. package/dist/components/Select/SimpleSelect.js.map +1 -0
  166. package/dist/components/Select/index.d.ts +4 -0
  167. package/dist/components/Select/index.d.ts.map +1 -0
  168. package/dist/components/Select/index.js +7 -0
  169. package/dist/components/Select/index.js.map +1 -0
  170. package/dist/components/Select/types.d.ts +118 -0
  171. package/dist/components/Select/types.d.ts.map +1 -0
  172. package/dist/components/Select/types.js +2 -0
  173. package/dist/components/Select/types.js.map +1 -0
  174. package/dist/components/SelectBox.d.ts +65 -0
  175. package/dist/components/SelectBox.d.ts.map +1 -0
  176. package/dist/components/SelectBox.js +26 -0
  177. package/dist/components/SelectBox.js.map +1 -0
  178. package/dist/components/Skeleton.d.ts +30 -0
  179. package/dist/components/Skeleton.d.ts.map +1 -0
  180. package/dist/components/Skeleton.js +5 -0
  181. package/dist/components/Skeleton.js.map +1 -0
  182. package/dist/components/Slider.d.ts +32 -0
  183. package/dist/components/Slider.d.ts.map +1 -0
  184. package/dist/components/Slider.js +19 -0
  185. package/dist/components/Slider.js.map +1 -0
  186. package/dist/components/SmartTable.d.ts +87 -0
  187. package/dist/components/SmartTable.d.ts.map +1 -0
  188. package/dist/components/SmartTable.js +16 -0
  189. package/dist/components/SmartTable.js.map +1 -0
  190. package/dist/components/Stepper.d.ts +52 -0
  191. package/dist/components/Stepper.d.ts.map +1 -0
  192. package/dist/components/Stepper.js +53 -0
  193. package/dist/components/Stepper.js.map +1 -0
  194. package/dist/components/Switch.d.ts +10 -0
  195. package/dist/components/Switch.d.ts.map +1 -0
  196. package/dist/components/Switch.js +7 -0
  197. package/dist/components/Switch.js.map +1 -0
  198. package/dist/components/Table.d.ts +106 -0
  199. package/dist/components/Table.d.ts.map +1 -0
  200. package/dist/components/Table.js +86 -0
  201. package/dist/components/Table.js.map +1 -0
  202. package/dist/components/Tabs/TabController.d.ts +11 -0
  203. package/dist/components/Tabs/TabController.d.ts.map +1 -0
  204. package/dist/components/Tabs/TabController.js +39 -0
  205. package/dist/components/Tabs/TabController.js.map +1 -0
  206. package/dist/components/Tabs/index.d.ts +5 -0
  207. package/dist/components/Tabs/index.d.ts.map +1 -0
  208. package/dist/components/Tabs/index.js +37 -0
  209. package/dist/components/Tabs/index.js.map +1 -0
  210. package/dist/components/Tabs/types.d.ts +46 -0
  211. package/dist/components/Tabs/types.d.ts.map +1 -0
  212. package/dist/components/Tabs/types.js +2 -0
  213. package/dist/components/Tabs/types.js.map +1 -0
  214. package/dist/components/Tabs/utils.d.ts +3 -0
  215. package/dist/components/Tabs/utils.d.ts.map +1 -0
  216. package/dist/components/Tabs/utils.js +5 -0
  217. package/dist/components/Tabs/utils.js.map +1 -0
  218. package/dist/components/Text.d.ts +27 -0
  219. package/dist/components/Text.d.ts.map +1 -0
  220. package/dist/components/Text.js +45 -0
  221. package/dist/components/Text.js.map +1 -0
  222. package/dist/components/Textarea.d.ts +8 -0
  223. package/dist/components/Textarea.d.ts.map +1 -0
  224. package/dist/components/Textarea.js +4 -0
  225. package/dist/components/Textarea.js.map +1 -0
  226. package/dist/components/Tooltip.d.ts +25 -0
  227. package/dist/components/Tooltip.d.ts.map +1 -0
  228. package/dist/components/Tooltip.js +18 -0
  229. package/dist/components/Tooltip.js.map +1 -0
  230. package/dist/components/layout.d.ts +46 -0
  231. package/dist/components/layout.d.ts.map +1 -0
  232. package/dist/components/layout.js +18 -0
  233. package/dist/components/layout.js.map +1 -0
  234. package/dist/context/CitricContext.d.ts +3 -0
  235. package/dist/context/CitricContext.d.ts.map +1 -0
  236. package/dist/context/CitricContext.js +3 -0
  237. package/dist/context/CitricContext.js.map +1 -0
  238. package/dist/context/CitricProvider.d.ts +9 -0
  239. package/dist/context/CitricProvider.d.ts.map +1 -0
  240. package/dist/context/CitricProvider.js +8 -0
  241. package/dist/context/CitricProvider.js.map +1 -0
  242. package/dist/context/hooks.d.ts +2 -0
  243. package/dist/context/hooks.d.ts.map +1 -0
  244. package/dist/context/hooks.js +6 -0
  245. package/dist/context/hooks.js.map +1 -0
  246. package/dist/index.d.ts +48 -0
  247. package/dist/index.d.ts.map +1 -0
  248. package/dist/index.js +48 -0
  249. package/dist/index.js.map +1 -0
  250. package/dist/overlay.d.ts +83 -0
  251. package/dist/overlay.d.ts.map +1 -0
  252. package/dist/overlay.js +199 -0
  253. package/dist/overlay.js.map +1 -0
  254. package/dist/theme.css +419 -0
  255. package/dist/types.d.ts +175 -0
  256. package/dist/types.d.ts.map +1 -0
  257. package/dist/types.js +2 -0
  258. package/dist/types.js.map +1 -0
  259. package/dist/utils/ValueController.d.ts +10 -0
  260. package/dist/utils/ValueController.d.ts.map +1 -0
  261. package/dist/utils/ValueController.js +32 -0
  262. package/dist/utils/ValueController.js.map +1 -0
  263. package/dist/utils/acessibility.d.ts +52 -0
  264. package/dist/utils/acessibility.d.ts.map +1 -0
  265. package/dist/utils/acessibility.js +80 -0
  266. package/dist/utils/acessibility.js.map +1 -0
  267. package/dist/utils/css.d.ts +12 -0
  268. package/dist/utils/css.d.ts.map +1 -0
  269. package/dist/utils/css.js +72 -0
  270. package/dist/utils/css.js.map +1 -0
  271. package/dist/utils/options.d.ts +3 -0
  272. package/dist/utils/options.d.ts.map +1 -0
  273. package/dist/utils/options.js +7 -0
  274. package/dist/utils/options.js.map +1 -0
  275. package/package.json +51 -0
  276. package/scripts/build-css.ts +49 -0
  277. package/src/components/Accordion.tsx +74 -0
  278. package/src/components/Alert.tsx +16 -0
  279. package/src/components/AsyncContent.tsx +54 -0
  280. package/src/components/Avatar.tsx +34 -0
  281. package/src/components/AvatarGroup.tsx +40 -0
  282. package/src/components/Badge.tsx +28 -0
  283. package/src/components/Blockquote.tsx +9 -0
  284. package/src/components/Breadcrumb.tsx +24 -0
  285. package/src/components/Button.tsx +88 -0
  286. package/src/components/Card.tsx +32 -0
  287. package/src/components/Checkbox.tsx +36 -0
  288. package/src/components/CheckboxGroup.tsx +93 -0
  289. package/src/components/Circle.tsx +26 -0
  290. package/src/components/CitricComponent.ts +34 -0
  291. package/src/components/Divider.tsx +22 -0
  292. package/src/components/ErrorBoundary.tsx +62 -0
  293. package/src/components/ErrorMessage.tsx +11 -0
  294. package/src/components/FallbackBoundary.tsx +29 -0
  295. package/src/components/Favorite.tsx +37 -0
  296. package/src/components/FieldGroup.tsx +22 -0
  297. package/src/components/Form.tsx +17 -0
  298. package/src/components/FormGroup.tsx +45 -0
  299. package/src/components/IconBox.tsx +78 -0
  300. package/src/components/Input.tsx +32 -0
  301. package/src/components/Link.tsx +40 -0
  302. package/src/components/LoadingPanel.tsx +8 -0
  303. package/src/components/MenuOverlay/Menu.tsx +157 -0
  304. package/src/components/MenuOverlay/context.ts +20 -0
  305. package/src/components/MenuOverlay/index.tsx +35 -0
  306. package/src/components/MenuOverlay/keyboard.ts +60 -0
  307. package/src/components/MenuOverlay/types.ts +178 -0
  308. package/src/components/Overlay/context.ts +10 -0
  309. package/src/components/Overlay/index.tsx +137 -0
  310. package/src/components/Overlay/types.ts +71 -0
  311. package/src/components/Pagination.tsx +90 -0
  312. package/src/components/ProgressBar.tsx +25 -0
  313. package/src/components/ProgressCircular.tsx +29 -0
  314. package/src/components/RadioGroup.tsx +87 -0
  315. package/src/components/Rating.tsx +25 -0
  316. package/src/components/Select/RichSelect.tsx +214 -0
  317. package/src/components/Select/SimpleSelect.tsx +66 -0
  318. package/src/components/Select/index.tsx +8 -0
  319. package/src/components/Select/types.ts +121 -0
  320. package/src/components/SelectBox.tsx +134 -0
  321. package/src/components/Skeleton.tsx +41 -0
  322. package/src/components/Slider.tsx +77 -0
  323. package/src/components/SmartTable.tsx +148 -0
  324. package/src/components/Stepper.tsx +142 -0
  325. package/src/components/Switch.tsx +29 -0
  326. package/src/components/Table.tsx +219 -0
  327. package/src/components/Tabs/TabController.ts +40 -0
  328. package/src/components/Tabs/index.tsx +64 -0
  329. package/src/components/Tabs/types.ts +48 -0
  330. package/src/components/Tabs/utils.ts +6 -0
  331. package/src/components/Text.ts +75 -0
  332. package/src/components/Textarea.tsx +12 -0
  333. package/src/components/Tooltip.tsx +53 -0
  334. package/src/components/layout.tsx +53 -0
  335. package/src/context/CitricContext.tsx +4 -0
  336. package/src/context/CitricProvider.tsx +14 -0
  337. package/src/context/hooks.ts +6 -0
  338. package/src/index.ts +47 -0
  339. package/src/overlay.ts +276 -0
  340. package/src/types.ts +226 -0
  341. package/src/utils/ValueController.ts +28 -0
  342. package/src/utils/acessibility.ts +92 -0
  343. package/src/utils/css.ts +106 -0
  344. package/src/utils/options.ts +7 -0
  345. package/tsconfig.json +10 -0
@@ -0,0 +1,5 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { listToClass } from '@stack-spot/portal-theme';
3
+ import { CitricComponent } from './CitricComponent.js';
4
+ export const Circle = ({ showBorders, className, size, children, ...props }) => (_jsx(CitricComponent, { tag: "div", component: "circle", className: listToClass([className, showBorders && 'bordered', size]), ...props, children: children }));
5
+ //# sourceMappingURL=Circle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Circle.js","sourceRoot":"","sources":["../../src/components/Circle.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAmBnD,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAe,EAAE,EAAE,CAAC,CAC3F,KAAC,eAAe,IAAC,GAAG,EAAC,KAAK,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAE,WAAW,CAAC,CAAC,SAAS,EAAE,WAAW,IAAI,UAAU,EAAE,IAAI,CAAC,CAAC,KAAM,KAAK,YAC1H,QAAQ,GACO,CACnB,CAAA"}
@@ -0,0 +1,14 @@
1
+ import { WithColorPalette, WithColorScheme } from '../types.js';
2
+ export type CitricComponentName = 'alert' | 'avatar' | 'badge' | 'blockquote' | 'breadcrumb' | 'button' | 'card' | 'checkbox' | 'checkbox-row' | 'divider' | 'field-group' | 'form-group' | 'form' | 'icon-box' | 'input' | 'link' | 'pagination' | 'progress-bar' | 'progress-circular' | 'radio' | 'radio-row' | 'rating' | 'select' | 'select-box' | 'skeleton' | 'slider' | 'switch' | 'switch-row' | 'table' | 'tabs' | 'accordion' | 'favorite' | 'textarea' | 'avatar-group' | 'labeled-slider' | 'rich-select' | 'tooltip' | 'menu' | 'circle';
3
+ interface CustomProps<T extends keyof JSX.IntrinsicElements> extends WithColorScheme, WithColorPalette {
4
+ tag: T;
5
+ component: CitricComponentName;
6
+ }
7
+ type Props<T extends keyof JSX.IntrinsicElements> = CustomProps<T> & JSX.IntrinsicElements[T];
8
+ interface CitricComponentType {
9
+ <T extends keyof JSX.IntrinsicElements>(props: Props<T>): React.ReactNode;
10
+ }
11
+ export declare function asCitricProps({ colorScheme, colorPalette, component, ...props }: Omit<Props<any>, 'tag'>): Record<string, any>;
12
+ export declare const CitricComponent: CitricComponentType;
13
+ export {};
14
+ //# sourceMappingURL=CitricComponent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CitricComponent.d.ts","sourceRoot":"","sources":["../../src/components/CitricComponent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE5D,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,YAAY,GAAG,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,GAC3H,cAAc,GAAG,SAAS,GAAG,aAAa,GAAG,YAAY,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,YAAY,GAAG,cAAc,GAClI,mBAAmB,GAAG,OAAO,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,YAAY,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,YAAY,GAClI,OAAO,GAAG,MAAM,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,GAAG,cAAc,GAAG,gBAAgB,GAAG,aAAa,GAAG,SAAS,GAAG,MAAM,GACjI,QAAQ,CAAA;AAEV,UAAU,WAAW,CAAC,CAAC,SAAS,MAAM,GAAG,CAAC,iBAAiB,CAAE,SAAQ,eAAe,EAAE,gBAAgB;IACpG,GAAG,EAAE,CAAC,CAAC;IACP,SAAS,EAAE,mBAAmB,CAAC;CAChC;AAED,KAAK,KAAK,CAAC,CAAC,SAAS,MAAM,GAAG,CAAC,iBAAiB,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAA;AAE7F,UAAU,mBAAmB;IAC3B,CAAC,CAAC,SAAS,MAAM,GAAG,CAAC,iBAAiB,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC;CAC3E;AAED,wBAAgB,aAAa,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,uBAKxG;AAGD,eAAO,MAAM,eAAe,EAAE,mBAK7B,CAAA"}
@@ -0,0 +1,15 @@
1
+ import { createElement, forwardRef } from 'react';
2
+ export function asCitricProps({ colorScheme, colorPalette, component, ...props }) {
3
+ const citricProps = { ...props, 'data-citric': component };
4
+ if (colorScheme)
5
+ citricProps['data-color-scheme'] = colorScheme;
6
+ if (colorPalette)
7
+ citricProps['data-color-palette'] = colorPalette;
8
+ return citricProps;
9
+ }
10
+ // eslint-disable-next-line react/display-name
11
+ export const CitricComponent = forwardRef((props, ref) => {
12
+ const { tag, ...citricProps } = asCitricProps(props);
13
+ return createElement(tag, { ...citricProps, ref });
14
+ });
15
+ //# sourceMappingURL=CitricComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CitricComponent.js","sourceRoot":"","sources":["../../src/components/CitricComponent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAoBjD,MAAM,UAAU,aAAa,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,KAAK,EAA2B;IACvG,MAAM,WAAW,GAAwB,EAAE,GAAG,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,CAAA;IAC/E,IAAI,WAAW;QAAE,WAAW,CAAC,mBAAmB,CAAC,GAAG,WAAW,CAAA;IAC/D,IAAI,YAAY;QAAE,WAAW,CAAC,oBAAoB,CAAC,GAAG,YAAY,CAAA;IAClE,OAAO,WAAW,CAAA;AACpB,CAAC;AAED,8CAA8C;AAC9C,MAAM,CAAC,MAAM,eAAe,GAAwB,UAAU,CAC5D,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACb,MAAM,EAAE,GAAG,EAAE,GAAG,WAAW,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;IACpD,OAAO,aAAa,CAAC,GAAG,EAAE,EAAE,GAAG,WAAW,EAAE,GAAG,EAAE,CAAC,CAAA;AACpD,CAAC,CACF,CAAA"}
@@ -0,0 +1,14 @@
1
+ import { HTMLExtension, WithColorScheme } from '../types.js';
2
+ export interface BaseDividerProps extends WithColorScheme {
3
+ /**
4
+ * @default 'horizontal'
5
+ */
6
+ direction?: 'horizontal' | 'vertical';
7
+ /**
8
+ * @default 'sm'
9
+ */
10
+ size?: 'sm' | 'md' | 'lg';
11
+ }
12
+ export type DividerProps = HTMLExtension<'hr', BaseDividerProps>;
13
+ export declare const Divider: ({ size, direction, className, children, ...props }: DividerProps) => import("react/jsx-runtime").JSX.Element;
14
+ //# sourceMappingURL=Divider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Divider.d.ts","sourceRoot":"","sources":["../../src/components/Divider.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAGzD,MAAM,WAAW,gBAAiB,SAAQ,eAAe;IACvD;;OAEG;IACH,SAAS,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACtC;;OAEG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAA;AAEhE,eAAO,MAAM,OAAO,GAAI,oDAAoD,YAAY,4CAIvF,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { listToClass } from '@stack-spot/portal-theme';
3
+ import { CitricComponent } from './CitricComponent.js';
4
+ export const Divider = ({ size, direction, className, children, ...props }) => (_jsx(CitricComponent, { tag: "hr", component: "divider", className: listToClass([className, size, direction]), ...props, children: children }));
5
+ //# sourceMappingURL=Divider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Divider.js","sourceRoot":"","sources":["../../src/components/Divider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAenD,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAgB,EAAE,EAAE,CAAC,CAC3F,KAAC,eAAe,IAAC,GAAG,EAAC,IAAI,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAE,WAAW,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,KAAM,KAAK,YAC1G,QAAQ,GACO,CACnB,CAAA"}
@@ -0,0 +1,32 @@
1
+ import { Component } from 'react';
2
+ import { CitricContext } from '../context/CitricContext.js';
3
+ interface State {
4
+ error?: any;
5
+ }
6
+ interface Props {
7
+ children: React.ReactNode;
8
+ /**
9
+ * Sets a default error string when a string is provided.
10
+ *
11
+ * Replaces the error component, if a function is provided.
12
+ */
13
+ message?: React.ReactNode | ((error: any) => React.ReactNode);
14
+ }
15
+ /**
16
+ * An Error Boundary that renders an error feedback instead of its content if any of its children throws.
17
+ */
18
+ export declare class ErrorBoundary extends Component<Props, State> {
19
+ static contextType: import("react").Context<import("../types.js").CitricController | undefined>;
20
+ context: React.ContextType<typeof CitricContext>;
21
+ constructor(props: Props);
22
+ static getDerivedStateFromError(error: any): {
23
+ error: any;
24
+ };
25
+ componentDidCatch(error: any, errorInfo: any): void;
26
+ componentDidUpdate(prevProps: Readonly<Props>): void;
27
+ private renderCustomErrorUI;
28
+ private renderErrorUI;
29
+ render(): string | number | boolean | Iterable<import("react").ReactNode> | import("react/jsx-runtime").JSX.Element | null | undefined;
30
+ }
31
+ export {};
32
+ //# sourceMappingURL=ErrorBoundary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorBoundary.d.ts","sourceRoot":"","sources":["../../src/components/ErrorBoundary.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAGxD,UAAU,KAAK;IACb,KAAK,CAAC,EAAE,GAAG,CAAC;CACb;AAED,UAAU,KAAK;IACb,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B;;;;OAIG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;CAC/D;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;IACxD,MAAM,CAAC,WAAW,2EAAgB;IAC1B,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,OAAO,aAAa,CAAC,CAAA;gBAE5C,KAAK,EAAE,KAAK;IAKxB,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,GAAG;;;IAI1C,iBAAiB,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG;IAM5C,kBAAkB,CAAC,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC;IAM7C,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,aAAa;IAQrB,MAAM;CAGP"}
@@ -0,0 +1,46 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Component } from 'react';
3
+ import { CitricContext } from '../context/CitricContext.js';
4
+ import { ErrorMessage } from './ErrorMessage.js';
5
+ /**
6
+ * An Error Boundary that renders an error feedback instead of its content if any of its children throws.
7
+ */
8
+ export class ErrorBoundary extends Component {
9
+ constructor(props) {
10
+ super(props);
11
+ this.state = {};
12
+ }
13
+ static getDerivedStateFromError(error) {
14
+ return { error };
15
+ }
16
+ componentDidCatch(error, errorInfo) {
17
+ this.context?.onError?.(error);
18
+ // eslint-disable-next-line no-console
19
+ console.error(error, errorInfo);
20
+ }
21
+ componentDidUpdate(prevProps) {
22
+ if (this.state.error && this.props.children !== prevProps.children) {
23
+ this.setState({});
24
+ }
25
+ }
26
+ renderCustomErrorUI() {
27
+ return this.context?.renderError?.(this.state.error);
28
+ }
29
+ renderErrorUI() {
30
+ if (typeof this.props.message === 'function')
31
+ return this.props.message(this.state.error);
32
+ return (this.props.message || !this.context?.renderError)
33
+ ? _jsx(ErrorMessage, { error: this.props.message || this.state.error })
34
+ : this.renderCustomErrorUI();
35
+ }
36
+ render() {
37
+ return this.state.error ? this.renderErrorUI() : this.props.children;
38
+ }
39
+ }
40
+ Object.defineProperty(ErrorBoundary, "contextType", {
41
+ enumerable: true,
42
+ configurable: true,
43
+ writable: true,
44
+ value: CitricContext
45
+ });
46
+ //# sourceMappingURL=ErrorBoundary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorBoundary.js","sourceRoot":"","sources":["../../src/components/ErrorBoundary.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAgB7C;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,SAAuB;IAIxD,YAAY,KAAY;QACtB,KAAK,CAAC,KAAK,CAAC,CAAA;QACZ,IAAI,CAAC,KAAK,GAAG,EAAE,CAAA;IACjB,CAAC;IAED,MAAM,CAAC,wBAAwB,CAAC,KAAU;QACxC,OAAO,EAAE,KAAK,EAAE,CAAA;IAClB,CAAC;IAED,iBAAiB,CAAC,KAAU,EAAE,SAAc;QAC1C,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,CAAA;QAC9B,sCAAsC;QACtC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;IACjC,CAAC;IAED,kBAAkB,CAAC,SAA0B;QAC3C,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,QAAQ,EAAE,CAAC;YACnE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QACnB,CAAC;IACH,CAAC;IAEO,mBAAmB;QACzB,OAAO,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACtD,CAAC;IAEO,aAAa;QACnB,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,UAAU;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACzF,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC;YACvD,CAAC,CAAC,KAAC,YAAY,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,GAAI;YACjE,CAAC,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAA;IAChC,CAAC;IAGD,MAAM;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAA;IACtE,CAAC;;AAtCM;;;;WAAc,aAAa;GAAA"}
@@ -0,0 +1,4 @@
1
+ export declare const ErrorMessage: ({ error }: {
2
+ error: any;
3
+ }) => import("react/jsx-runtime").JSX.Element;
4
+ //# sourceMappingURL=ErrorMessage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorMessage.d.ts","sourceRoot":"","sources":["../../src/components/ErrorMessage.tsx"],"names":[],"mappings":"AAKA,eAAO,MAAM,YAAY,GAAI,WAAW;IAAE,KAAK,EAAE,GAAG,CAAA;CAAE,4CAKrD,CAAA"}
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Icon } from '@stack-spot/citric-icons';
3
+ import { theme } from '@stack-spot/portal-theme';
4
+ import { Row } from './layout.js';
5
+ import { Text } from './Text.js';
6
+ export const ErrorMessage = ({ error }) => (_jsxs(Row, { gap: "18px", p: "20px", justifyContent: "center", children: [_jsx(Icon, { icon: "TimesCircle", size: "xl", style: { color: theme.color.danger[500] } }), _jsx(Text, { style: { margin: '80px' }, children: error.message || `${error}` })] }));
7
+ //# sourceMappingURL=ErrorMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorMessage.js","sourceRoot":"","sources":["../../src/components/ErrorMessage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAChD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAAE,KAAK,EAAkB,EAAE,EAAE,CAAC,CACzD,MAAC,GAAG,IAAC,GAAG,EAAC,MAAM,EAAC,CAAC,EAAC,MAAM,EAAC,cAAc,EAAC,QAAQ,aAC9C,KAAC,IAAI,IAAC,IAAI,EAAC,aAAa,EAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,GAAI,EAChF,KAAC,IAAI,IAAC,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,YAAG,KAAK,CAAC,OAAO,IAAI,GAAG,KAAK,EAAE,GAAQ,IACjE,CACP,CAAA"}
@@ -0,0 +1,13 @@
1
+ interface Props {
2
+ /**
3
+ * Replaces the error message with this text.
4
+ */
5
+ message?: string;
6
+ children: React.ReactNode;
7
+ }
8
+ /**
9
+ * Fallbacks for errors and loadings (suspense).
10
+ */
11
+ export declare const FallbackBoundary: ({ children, message }: Props) => import("react/jsx-runtime").JSX.Element;
12
+ export {};
13
+ //# sourceMappingURL=FallbackBoundary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FallbackBoundary.d.ts","sourceRoot":"","sources":["../../src/components/FallbackBoundary.tsx"],"names":[],"mappings":"AAKA,UAAU,KAAK;IACb;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAQD;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,uBAAuB,KAAK,4CAM5D,CAAA"}
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Suspense } from 'react';
3
+ import { ErrorBoundary } from './ErrorBoundary.js';
4
+ import { Center } from './layout.js';
5
+ import { ProgressCircular } from './ProgressCircular.js';
6
+ const loading = (_jsx(Center, { flex: 1, p: "80px", "data-test-hint": "loading", children: _jsx(ProgressCircular, {}) }));
7
+ /**
8
+ * Fallbacks for errors and loadings (suspense).
9
+ */
10
+ export const FallbackBoundary = ({ children, message }) => (_jsx(ErrorBoundary, { message: message, children: _jsx(Suspense, { fallback: loading, children: children }) }));
11
+ //# sourceMappingURL=FallbackBoundary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FallbackBoundary.js","sourceRoot":"","sources":["../../src/components/FallbackBoundary.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAUrD,MAAM,OAAO,GAAG,CACd,KAAC,MAAM,IAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAC,MAAM,oBAAgB,SAAS,YAChD,KAAC,gBAAgB,KAAG,GACb,CACV,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAS,EAAE,EAAE,CAAC,CAChE,KAAC,aAAa,IAAC,OAAO,EAAE,OAAO,YAC7B,KAAC,QAAQ,IAAC,QAAQ,EAAE,OAAO,YACxB,QAAQ,GACA,GACG,CACjB,CAAA"}
@@ -0,0 +1,23 @@
1
+ import { HTMLExtension } from '../types.js';
2
+ type FavoriteAppearance = 'square' | 'circle' | 'text';
3
+ export interface BaseFavoriteProps {
4
+ value: boolean | undefined;
5
+ /**
6
+ * Size of the button.
7
+ *
8
+ * @default 'md'
9
+ */
10
+ size?: 'sm' | 'md' | 'lg' | 'fit-parent';
11
+ /**
12
+ * Button appearance.
13
+ *
14
+ * @default 'text'
15
+ */
16
+ appearance?: FavoriteAppearance;
17
+ onChange: (value: boolean) => void;
18
+ isLoading?: boolean;
19
+ }
20
+ export type FavoriteProps = HTMLExtension<'input', BaseFavoriteProps, 'type' | 'checked' | 'onChange' | 'size' | 'value'>;
21
+ export declare const Favorite: ({ value, size, appearance, onChange, isLoading, className, ...props }: FavoriteProps) => import("react/jsx-runtime").JSX.Element;
22
+ export {};
23
+ //# sourceMappingURL=Favorite.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Favorite.d.ts","sourceRoot":"","sources":["../../src/components/Favorite.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAGxC,KAAK,kBAAkB,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAA;AAEtD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3B;;;;OAIG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,YAAY,CAAC;IACzC;;;;OAIG;IACH,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,MAAM,aAAa,GAAG,aAAa,CAAC,OAAO,EAAE,iBAAiB,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,GAAG,OAAO,CAAC,CAAA;AAEzH,eAAO,MAAM,QAAQ,GAAI,uEAAuE,aAAa,4CAUzG,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { listToClass } from '@stack-spot/portal-theme';
3
+ import { CitricComponent } from './CitricComponent.js';
4
+ export const Favorite = ({ value, size, appearance, onChange, isLoading, className, ...props }) => _jsx(CitricComponent, { tag: "input", type: "checkbox", component: "favorite", className: listToClass([appearance, size, className]), checked: !!value, onChange: () => onChange(!value), "aria-busy": isLoading, ...props });
5
+ //# sourceMappingURL=Favorite.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Favorite.js","sourceRoot":"","sources":["../../src/components/Favorite.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAwBnD,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,KAAK,EAAiB,EAAE,EAAE,CAC/G,KAAC,eAAe,IACd,GAAG,EAAC,OAAO,EACX,IAAI,EAAC,UAAU,EACf,SAAS,EAAC,UAAU,EACpB,SAAS,EAAE,WAAW,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,EACrD,OAAO,EAAE,CAAC,CAAC,KAAK,EAChB,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,eACrB,SAAS,KAChB,KAAK,GACT,CAAA"}
@@ -0,0 +1,14 @@
1
+ import { HTMLExtension } from '../types.js';
2
+ export interface BaseFieldGroupProps {
3
+ /**
4
+ * When this is true, the component will automatically mark the addons.
5
+ *
6
+ * When this is false, you must add the class "addon" manually to each of the addons.
7
+ *
8
+ * @default true
9
+ */
10
+ auto?: boolean;
11
+ }
12
+ export type FieldGroupProps = HTMLExtension<'div', BaseFieldGroupProps>;
13
+ export declare const FieldGroup: ({ auto, className, children, ...props }: FieldGroupProps) => import("react/jsx-runtime").JSX.Element;
14
+ //# sourceMappingURL=FieldGroup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FieldGroup.d.ts","sourceRoot":"","sources":["../../src/components/FieldGroup.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAGxC,MAAM,WAAW,mBAAmB;IAClC;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,MAAM,eAAe,GAAG,aAAa,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAA;AAEvE,eAAO,MAAM,UAAU,GAAI,yCAAgD,eAAe,4CAIzF,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { listToClass } from '@stack-spot/portal-theme';
3
+ import { CitricComponent } from './CitricComponent.js';
4
+ export const FieldGroup = ({ auto = true, className, children, ...props }) => (_jsx(CitricComponent, { tag: "div", component: "field-group", className: listToClass([className, auto && 'auto']), ...props, children: children }));
5
+ //# sourceMappingURL=FieldGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FieldGroup.js","sourceRoot":"","sources":["../../src/components/FieldGroup.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAenD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAmB,EAAE,EAAE,CAAC,CAC7F,KAAC,eAAe,IAAC,GAAG,EAAC,KAAK,EAAC,SAAS,EAAC,aAAa,EAAC,SAAS,EAAE,WAAW,CAAC,CAAC,SAAS,EAAE,IAAI,IAAI,MAAM,CAAC,CAAC,KAAM,KAAK,YAC9G,QAAQ,GACO,CACnB,CAAA"}
@@ -0,0 +1,5 @@
1
+ export type FormProps = JSX.IntrinsicElements['form'];
2
+ export type ButtonGroupProps = JSX.IntrinsicElements['div'];
3
+ export declare const Form: ({ children, ...props }: FormProps) => import("react/jsx-runtime").JSX.Element;
4
+ export declare const ButtonGroup: ({ className, children, ...props }: ButtonGroupProps) => import("react/jsx-runtime").JSX.Element;
5
+ //# sourceMappingURL=Form.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Form.d.ts","sourceRoot":"","sources":["../../src/components/Form.tsx"],"names":[],"mappings":"AAGA,MAAM,MAAM,SAAS,GAAG,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAA;AACrD,MAAM,MAAM,gBAAgB,GAAG,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAA;AAE3D,eAAO,MAAM,IAAI,GAAI,wBAAwB,SAAS,4CAIrD,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,mCAAmC,gBAAgB,4CAI9E,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { listToClass } from '@stack-spot/portal-theme';
3
+ import { CitricComponent } from './CitricComponent.js';
4
+ export const Form = ({ children, ...props }) => (_jsx(CitricComponent, { tag: "form", component: "form", ...props, children: children }));
5
+ export const ButtonGroup = ({ className, children, ...props }) => (_jsx("div", { className: listToClass([className, 'button-group']), ...props, children: children }));
6
+ //# sourceMappingURL=Form.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Form.js","sourceRoot":"","sources":["../../src/components/Form.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAKnD,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAa,EAAE,EAAE,CAAC,CACzD,KAAC,eAAe,IAAC,GAAG,EAAC,MAAM,EAAC,SAAS,EAAC,MAAM,KAAK,KAAK,YACnD,QAAQ,GACO,CACnB,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAoB,EAAE,EAAE,CAAC,CAClF,cAAK,SAAS,EAAE,WAAW,CAAC,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,KAAM,KAAK,YAChE,QAAQ,GACL,CACP,CAAA"}
@@ -0,0 +1,22 @@
1
+ import { HTMLExtension } from '../types.js';
2
+ export interface BaseFormGroupProps {
3
+ /**
4
+ * The error string to show, if any. The empty string is equivalent to undefined, i.e. no errors.
5
+ */
6
+ error?: string;
7
+ /**
8
+ * The input's label.
9
+ */
10
+ label?: string;
11
+ /**
12
+ * A help string, to show as a tooltip.
13
+ */
14
+ help?: string;
15
+ /**
16
+ * A warning string, to show right below the field, at all times.
17
+ */
18
+ warning?: string;
19
+ }
20
+ export type FormGroupProps = HTMLExtension<'div', BaseFormGroupProps>;
21
+ export declare const FormGroup: ({ error, help, label, warning, className, children, ...props }: FormGroupProps) => import("react/jsx-runtime").JSX.Element;
22
+ //# sourceMappingURL=FormGroup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormGroup.d.ts","sourceRoot":"","sources":["../../src/components/FormGroup.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAMxC,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,cAAc,GAAG,aAAa,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAA;AAErE,eAAO,MAAM,SAAS,GAAI,gEAAgE,cAAc,4CAgBvG,CAAA"}
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { listToClass } from '@stack-spot/portal-theme';
3
+ import { CitricComponent } from './CitricComponent.js';
4
+ import { IconButton } from './IconBox.js';
5
+ import { Text } from './Text.js';
6
+ import { Tooltip } from './Tooltip.js';
7
+ export const FormGroup = ({ error, help, label, warning, className, children, ...props }) => (_jsx(CitricComponent, { tag: "div", component: "form-group", className: listToClass([className, error && 'error']), ...props, children: _jsxs("label", { children: [help ? (_jsxs("div", { className: "row", children: [_jsx(Text, { children: label }), _jsx(Tooltip, { content: help, children: _jsx(IconButton, { icon: "InfoCircle", size: "xs" }) })] })) : label, children, _jsx("div", { className: "feedback", children: error }), warning && _jsx("div", { className: "warning", children: warning })] }) }));
8
+ //# sourceMappingURL=FormGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormGroup.js","sourceRoot":"","sources":["../../src/components/FormGroup.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAuBnC,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAkB,EAAE,EAAE,CAAC,CAC3G,KAAC,eAAe,IAAC,GAAG,EAAC,KAAK,EAAC,SAAS,EAAC,YAAY,EAAC,SAAS,EAAE,WAAW,CAAC,CAAC,SAAS,EAAE,KAAK,IAAI,OAAO,CAAC,CAAC,KAAM,KAAK,YAChH,4BACG,IAAI,CAAC,CAAC,CAAC,CACN,eAAK,SAAS,EAAC,KAAK,aAClB,KAAC,IAAI,cAAE,KAAK,GAAQ,EACpB,KAAC,OAAO,IAAC,OAAO,EAAE,IAAI,YACpB,KAAC,UAAU,IAAC,IAAI,EAAC,YAAY,EAAC,IAAI,EAAC,IAAI,GAAG,GAClC,IACN,CACP,CAAA,CAAC,CAAC,KAAK,EACP,QAAQ,EACT,cAAK,SAAS,EAAC,UAAU,YAAE,KAAK,GAAO,EACtC,OAAO,IAAI,cAAK,SAAS,EAAC,SAAS,YAAE,OAAO,GAAO,IAC9C,GACQ,CACnB,CAAA"}
@@ -0,0 +1,46 @@
1
+ import { IconGroup, IconOwnProps } from '@stack-spot/citric-icons';
2
+ import { HTMLExtension, WithColorPalette, WithColorScheme } from '../types.js';
3
+ type IconBoxTag = 'a' | 'button' | 'i' | 'span' | 'div';
4
+ export interface BaseIconBoxProps<T extends IconBoxTag, G extends IconGroup> extends IconOwnProps<G>, WithColorScheme, WithColorPalette {
5
+ /**
6
+ * The HTML element to render.
7
+ *
8
+ * @default 'i'
9
+ */
10
+ tag?: T;
11
+ /**
12
+ * The box appearance.
13
+ *
14
+ * @default 'circle'
15
+ */
16
+ appearance?: 'circle' | 'square';
17
+ /**
18
+ * Size of the box.
19
+ *
20
+ * @default 'sm'
21
+ */
22
+ size?: 'xs' | 'sm' | 'md' | 'lg';
23
+ /**
24
+ * Only valid if `tag` is "button" or "a".
25
+ *
26
+ * Whether or not a click in this button/link should generate analytics data.
27
+ *
28
+ * This only takes effect if there's a CitricController in React's context. The value of `analytics` is passed to the function
29
+ * `onClickButton/onClickLink` of the controller.
30
+ *
31
+ * @default false
32
+ */
33
+ analytics?: boolean;
34
+ }
35
+ export type IconBoxProps<T extends IconBoxTag, G extends IconGroup> = HTMLExtension<T, BaseIconBoxProps<T, G>>;
36
+ export declare function IconBox<T extends IconBoxTag = 'i', G extends IconGroup = 'outline'>({ group, icon, tag, colorScheme, colorPalette, appearance, size, className, analytics, onClick, ...props }: IconBoxProps<T, G>): import("react/jsx-runtime").JSX.Element;
37
+ /**
38
+ * Shortcut to <IconBox tag="button" />
39
+ */
40
+ export declare function IconButton<G extends IconGroup = 'outline'>(props: Omit<IconBoxProps<'button', G>, 'tag'>): import("react/jsx-runtime").JSX.Element;
41
+ /**
42
+ * Shortcut to <IconBox tag="a" />
43
+ */
44
+ export declare function IconLink<G extends IconGroup = 'outline'>(props: Omit<IconBoxProps<'a', G>, 'tag'>): import("react/jsx-runtime").JSX.Element;
45
+ export {};
46
+ //# sourceMappingURL=IconBox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconBox.d.ts","sourceRoot":"","sources":["../../src/components/IconBox.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAIlE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAG3E,KAAK,UAAU,GAAG,GAAG,GAAG,QAAQ,GAAG,GAAG,GAAG,MAAM,GAAG,KAAK,CAAA;AAEvD,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,SAAS,CAAE,SAAQ,YAAY,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,gBAAgB;IACrI;;;;OAIG;IACH,GAAG,CAAC,EAAE,CAAC,CAAC;IACR;;;;OAIG;IACH,UAAU,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACjC;;;;OAIG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACjC;;;;;;;;;OASG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,SAAS,IAAI,aAAa,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AAE9G,wBAAgB,OAAO,CAAC,CAAC,SAAS,UAAU,GAAG,GAAG,EAAE,CAAC,SAAS,SAAS,GAAG,SAAS,EACjF,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,2CAmB/H;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,2CAExG;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,2CAEjG"}
@@ -0,0 +1,29 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { listToClass } from '@stack-spot/portal-theme';
3
+ import { useCallback } from 'react';
4
+ import { useCitricController } from '../context/hooks.js';
5
+ import { CitricComponent } from './CitricComponent.js';
6
+ export function IconBox({ group, icon, tag, colorScheme, colorPalette, appearance, size, className, analytics, onClick, ...props }) {
7
+ const citric = useCitricController();
8
+ const handleClick = useCallback((e) => {
9
+ onClick?.(e);
10
+ if (tag === 'button')
11
+ citric?.onClickButton?.(e, analytics ?? false);
12
+ else if (tag === 'a')
13
+ citric?.onClickLink?.(e, analytics ?? false);
14
+ }, [tag]);
15
+ return _jsx(CitricComponent, { tag: (tag || 'i'), component: "icon-box", className: listToClass(['citric-icon', group || 'outline', icon, appearance, size, className]), colorScheme: colorScheme, colorPalette: colorPalette, onClick: ['button', 'a'].includes(tag ?? '') ? handleClick : onClick, ...props });
16
+ }
17
+ /**
18
+ * Shortcut to <IconBox tag="button" />
19
+ */
20
+ export function IconButton(props) {
21
+ return IconBox({ ...props, tag: 'button', type: props.type || 'button' });
22
+ }
23
+ /**
24
+ * Shortcut to <IconBox tag="a" />
25
+ */
26
+ export function IconLink(props) {
27
+ return IconBox({ ...props, tag: 'a' });
28
+ }
29
+ //# sourceMappingURL=IconBox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconBox.js","sourceRoot":"","sources":["../../src/components/IconBox.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AACnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAsCnD,MAAM,UAAU,OAAO,CACrB,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,EAAsB;IAE9H,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAA;IAEpC,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAwB,EAAE,EAAE;QAC3D,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;QACZ,IAAI,GAAG,KAAK,QAAQ;YAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC,EAAE,SAAS,IAAI,KAAK,CAAC,CAAA;aAC/D,IAAI,GAAG,KAAK,GAAG;YAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,SAAS,IAAI,KAAK,CAAC,CAAA;IACpE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;IAET,OAAO,KAAC,eAAe,IACrB,GAAG,EAAE,CAAC,GAAG,IAAI,GAAG,CAAQ,EACxB,SAAS,EAAC,UAAU,EACpB,SAAS,EAAE,WAAW,CAAC,CAAC,aAAa,EAAE,KAAK,IAAI,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,EAC9F,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,KAChE,KAAK,GACT,CAAA;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAkC,KAA6C;IACvG,OAAO,OAAO,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,QAAQ,EAAE,CAAC,CAAA;AAC3E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAkC,KAAwC;IAChG,OAAO,OAAO,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;AACxC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { HTMLExtension, WithColorScheme } from '../types.js';
2
+ export type SupportedInputType = 'color' | 'date' | 'datetime-local' | 'email' | 'month' | 'number' | 'password' | 'search' | 'tel' | 'text' | 'time' | 'url' | 'week';
3
+ export interface BaseInputProps<T extends SupportedInputType> extends WithColorScheme {
4
+ /**
5
+ * @default 'text'
6
+ */
7
+ type?: T;
8
+ value?: T extends 'number' ? number : string;
9
+ onChange?: (value: T extends 'number' ? (number | undefined) : string) => void;
10
+ }
11
+ export type InputProps<T extends SupportedInputType = 'text'> = HTMLExtension<'input', BaseInputProps<T> & {
12
+ type?: T;
13
+ }, 'type' | 'value' | 'onChange'>;
14
+ export declare function Input<T extends SupportedInputType = 'text'>({ type, value, onChange, ...props }: InputProps<T>): import("react/jsx-runtime").JSX.Element;
15
+ //# sourceMappingURL=Input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../src/components/Input.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAGzD,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,MAAM,GAAG,gBAAgB,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,KAAK,GACjI,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAA;AAElC,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,kBAAkB,CAAE,SAAQ,eAAe;IACnF;;OAEG;IACH,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,CAAC,SAAS,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;IAC7C,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,SAAS,QAAQ,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,MAAM,KAAK,IAAI,CAAC;CAChF;AAED,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,kBAAkB,GAAG,MAAM,IAC1D,aAAa,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG;IAAE,IAAI,CAAC,EAAE,CAAC,CAAA;CAAE,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC,CAAA;AAEzF,wBAAgB,KAAK,CAAC,CAAC,SAAS,kBAAkB,GAAG,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC,2CAa9G"}
@@ -0,0 +1,18 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { CitricComponent } from './CitricComponent.js';
3
+ export function Input({ type, value, onChange, ...props }) {
4
+ function handleChange(e) {
5
+ if (!onChange)
6
+ return;
7
+ const newValue = e.target.value;
8
+ if (type === 'number') {
9
+ const parsed = newValue ? parseFloat(newValue) : undefined;
10
+ onChange(parsed);
11
+ }
12
+ else {
13
+ onChange(newValue);
14
+ }
15
+ }
16
+ return _jsx(CitricComponent, { tag: "input", component: "input", type: type, value: value, onChange: handleChange, ...props });
17
+ }
18
+ //# sourceMappingURL=Input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Input.js","sourceRoot":"","sources":["../../src/components/Input.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAiBnD,MAAM,UAAU,KAAK,CAAwC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAiB;IAC7G,SAAS,YAAY,CAAC,CAAsC;QAC1D,IAAI,CAAC,QAAQ;YAAE,OAAM;QACrB,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAA;QAC/B,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;YAC1D,QAAQ,CAAC,MAAa,CAAC,CAAA;QACzB,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,QAAe,CAAC,CAAA;QAC3B,CAAC;IACH,CAAC;IAED,OAAO,KAAC,eAAe,IAAC,GAAG,EAAC,OAAO,EAAC,SAAS,EAAC,OAAO,EAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,KAAM,KAAK,GAAI,CAAA;AACvH,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { HTMLExtension, TextAppearance, WithColor } from '../types.js';
2
+ export interface BaseLinkProps extends WithColor {
3
+ /**
4
+ * The text appearance (font and size).
5
+ * By default, it inherits from the parent element.
6
+ */
7
+ appearance?: TextAppearance;
8
+ /**
9
+ * Whether or not a click in this link should generate analytics data.
10
+ *
11
+ * This only takes effect if there's a CitricController in React's context. The value of `analytics` is passed to the function
12
+ * `onClickLink` of the controller.
13
+ *
14
+ * @default false
15
+ */
16
+ analytics?: boolean;
17
+ }
18
+ export type LinkProps = HTMLExtension<'a', BaseLinkProps>;
19
+ export declare const Link: ({ appearance, color, style, className, children, onClick, analytics, ...props }: LinkProps) => import("react/jsx-runtime").JSX.Element;
20
+ //# sourceMappingURL=Link.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Link.d.ts","sourceRoot":"","sources":["../../src/components/Link.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAInE,MAAM,WAAW,aAAc,SAAQ,SAAS;IAC9C;;;OAGG;IACH,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,EAAE,aAAa,CAAC,CAAA;AAEzD,eAAO,MAAM,IAAI,GAAI,iFAAiF,SAAS,4CAe9G,CAAA"}
@@ -0,0 +1,21 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useCitricController } from '../context/hooks.js';
3
+ import { applyColor, applyTextAppearance } from '../utils/css.js';
4
+ import { asCitricProps, CitricComponent } from './CitricComponent.js';
5
+ export const Link = ({ appearance, color, style, className, children, onClick, analytics, ...props }) => {
6
+ const citric = useCitricController();
7
+ const linkProps = {
8
+ component: 'link',
9
+ style: applyColor(style, color),
10
+ className: applyTextAppearance(className, appearance),
11
+ onClick: (e) => {
12
+ onClick?.(e);
13
+ citric?.onClickLink?.(e, analytics ?? false);
14
+ },
15
+ ...props,
16
+ };
17
+ return citric?.renderLink
18
+ ? citric.renderLink(asCitricProps({ ...linkProps, children }))
19
+ : _jsx(CitricComponent, { tag: "a", ...linkProps, children: children });
20
+ };
21
+ //# sourceMappingURL=Link.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Link.js","sourceRoot":"","sources":["../../src/components/Link.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAEtD,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAC9D,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAqBlE,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,KAAK,EAAa,EAAE,EAAE;IACjH,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAA;IACpC,MAAM,SAAS,GAAG;QAChB,SAAS,EAAE,MAAM;QACjB,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC;QAC/B,SAAS,EAAE,mBAAmB,CAAC,SAAS,EAAE,UAAU,CAAC;QACrD,OAAO,EAAE,CAAC,CAAsC,EAAE,EAAE;YAClD,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;YACZ,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,SAAS,IAAI,KAAK,CAAC,CAAA;QAC9C,CAAC;QACD,GAAG,KAAK;KACA,CAAA;IACV,OAAO,MAAM,EAAE,UAAU;QACvB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,GAAG,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC9D,CAAC,CAAC,KAAC,eAAe,IAAC,GAAG,EAAC,GAAG,KAAK,SAAS,YAAG,QAAQ,GAAmB,CAAA;AAC1E,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const LoadingPanel: () => import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=LoadingPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoadingPanel.d.ts","sourceRoot":"","sources":["../../src/components/LoadingPanel.tsx"],"names":[],"mappings":"AAGA,eAAO,MAAM,YAAY,+CAIxB,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Center } from './layout.js';
3
+ import { ProgressCircular } from './ProgressCircular.js';
4
+ export const LoadingPanel = () => (_jsx(Center, { flex: 1, p: "80px", "data-test-hint": "loading", children: _jsx(ProgressCircular, {}) }));
5
+ //# sourceMappingURL=LoadingPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoadingPanel.js","sourceRoot":"","sources":["../../src/components/LoadingPanel.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAErD,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,CAChC,KAAC,MAAM,IAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAC,MAAM,oBAAgB,SAAS,YAChD,KAAC,gBAAgB,KAAG,GACb,CACV,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { MenuProps } from './types.js';
2
+ /**
3
+ * TODO: make the height changes animated.
4
+ */
5
+ export declare function Menu({ items, appearance, bgLevel, header, roundedItems, showBorders, showShadows, spaced, className, onKeyDown, ...props }: MenuProps): import("react/jsx-runtime").JSX.Element;
6
+ //# sourceMappingURL=Menu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../../src/components/MenuOverlay/Menu.tsx"],"names":[],"mappings":"AASA,OAAO,EAAsD,SAAS,EAAa,MAAM,SAAS,CAAA;AAiFlG;;GAEG;AACH,wBAAgB,IAAI,CAClB,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,SAAS,2CAqDlI"}