@ya-accelerators/nextjs-framework 0.0.99 → 0.0.101

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 (289) hide show
  1. package/dist/constants.d.ts +4 -0
  2. package/dist/constants.js +4 -0
  3. package/dist/constants.js.map +1 -1
  4. package/dist/env.client.d.ts +2 -2
  5. package/dist/env.client.js +1 -1
  6. package/dist/env.client.js.map +1 -1
  7. package/dist/env.d.ts +2 -2
  8. package/dist/env.js +1 -5
  9. package/dist/env.js.map +1 -1
  10. package/dist/hooks/anchor/index.d.ts +13 -0
  11. package/dist/hooks/anchor/index.js +65 -0
  12. package/dist/hooks/anchor/index.js.map +1 -0
  13. package/dist/hooks/date/index.js.map +1 -1
  14. package/dist/hooks/loading/index.jsx +1 -1
  15. package/dist/hooks/loading/index.jsx.map +1 -1
  16. package/dist/hooks/modal/index.d.ts +1 -1
  17. package/dist/hooks/modal/index.jsx +1 -1
  18. package/dist/hooks/modal/index.jsx.map +1 -1
  19. package/dist/hooks/mounted/index.js +0 -4
  20. package/dist/hooks/mounted/index.js.map +1 -1
  21. package/dist/hooks/toast/index.d.ts +3 -1
  22. package/dist/hooks/toast/index.jsx +9 -9
  23. package/dist/hooks/toast/index.jsx.map +1 -1
  24. package/dist/hooks/uploads/index.d.ts +41 -0
  25. package/dist/hooks/uploads/index.js +174 -0
  26. package/dist/hooks/uploads/index.js.map +1 -0
  27. package/dist/i18n/get-message-fallback.d.ts +0 -1
  28. package/dist/i18n/get-message-fallback.js +0 -1
  29. package/dist/i18n/get-message-fallback.js.map +1 -1
  30. package/dist/i18n/index.js +1 -4
  31. package/dist/i18n/index.js.map +1 -1
  32. package/dist/i18n/strings/ja-JP.json +12 -4
  33. package/dist/lib/cookie/index.d.ts +1 -1
  34. package/dist/lib/cookie/index.js +0 -1
  35. package/dist/lib/cookie/index.js.map +1 -1
  36. package/dist/lib/next-auth/index.js +0 -11
  37. package/dist/lib/next-auth/index.js.map +1 -1
  38. package/dist/lib/trpc/index.d.ts +3 -2
  39. package/dist/lib/trpc/index.js +39 -11
  40. package/dist/lib/trpc/index.js.map +1 -1
  41. package/dist/lib/uploads/index.js +14 -18
  42. package/dist/lib/uploads/index.js.map +1 -1
  43. package/dist/logger/index.d.ts +2 -1
  44. package/dist/logger/index.js +0 -6
  45. package/dist/logger/index.js.map +1 -1
  46. package/dist/styles/globals.css +77 -0
  47. package/dist/styles/tailwind.config.d.ts +365 -359
  48. package/dist/styles/tailwind.config.js +25 -20
  49. package/dist/styles/tailwind.config.js.map +1 -1
  50. package/dist/styles/tailwind.config.ts +28 -21
  51. package/dist/tsconfig.tsbuildinfo +1 -1
  52. package/dist/ui/component/button/base.d.ts +4 -4
  53. package/dist/ui/component/button/base.jsx +5 -5
  54. package/dist/ui/component/button/base.jsx.map +1 -1
  55. package/dist/ui/component/button/colored/index.d.ts +2 -2
  56. package/dist/ui/component/button/image/index.d.ts +2 -2
  57. package/dist/ui/component/button/index.d.ts +4 -9
  58. package/dist/ui/component/button/index.jsx +0 -5
  59. package/dist/ui/component/button/index.jsx.map +1 -1
  60. package/dist/ui/component/card/index.jsx +1 -1
  61. package/dist/ui/component/card/index.jsx.map +1 -1
  62. package/dist/ui/component/icon/index.d.ts +2 -2
  63. package/dist/ui/component/index.d.ts +72 -75
  64. package/dist/ui/component/index.js +4 -4
  65. package/dist/ui/component/index.js.map +1 -1
  66. package/dist/ui/component/progressBar/index.d.ts +9 -0
  67. package/dist/ui/component/progressBar/index.jsx +15 -0
  68. package/dist/ui/component/progressBar/index.jsx.map +1 -0
  69. package/dist/ui/component/skeleton/index.d.ts +10 -0
  70. package/dist/ui/component/skeleton/index.jsx +35 -0
  71. package/dist/ui/component/skeleton/index.jsx.map +1 -0
  72. package/dist/ui/component/typography/H1/index.d.ts +2 -3
  73. package/dist/ui/component/typography/H1/index.jsx +2 -2
  74. package/dist/ui/component/typography/H1/index.jsx.map +1 -1
  75. package/dist/ui/component/typography/H2/index.d.ts +2 -3
  76. package/dist/ui/component/typography/H2/index.jsx +2 -2
  77. package/dist/ui/component/typography/H2/index.jsx.map +1 -1
  78. package/dist/ui/component/typography/H3/index.d.ts +2 -3
  79. package/dist/ui/component/typography/H3/index.jsx +2 -2
  80. package/dist/ui/component/typography/H3/index.jsx.map +1 -1
  81. package/dist/ui/component/typography/H4/index.d.ts +2 -3
  82. package/dist/ui/component/typography/H4/index.jsx +2 -2
  83. package/dist/ui/component/typography/H4/index.jsx.map +1 -1
  84. package/dist/ui/component/typography/H5/index.d.ts +2 -3
  85. package/dist/ui/component/typography/H5/index.jsx +2 -2
  86. package/dist/ui/component/typography/H5/index.jsx.map +1 -1
  87. package/dist/ui/component/typography/H6/index.d.ts +2 -3
  88. package/dist/ui/component/typography/H6/index.jsx +2 -2
  89. package/dist/ui/component/typography/H6/index.jsx.map +1 -1
  90. package/dist/ui/component/typography/Label/index.d.ts +2 -3
  91. package/dist/ui/component/typography/Label/index.jsx +2 -2
  92. package/dist/ui/component/typography/Label/index.jsx.map +1 -1
  93. package/dist/ui/component/typography/LinkText/index.d.ts +2 -3
  94. package/dist/ui/component/typography/LinkText/index.jsx +2 -2
  95. package/dist/ui/component/typography/LinkText/index.jsx.map +1 -1
  96. package/dist/ui/component/typography/P/index.d.ts +2 -3
  97. package/dist/ui/component/typography/P/index.jsx +2 -2
  98. package/dist/ui/component/typography/P/index.jsx.map +1 -1
  99. package/dist/ui/component/typography/Pre/index.d.ts +2 -3
  100. package/dist/ui/component/typography/Pre/index.jsx +2 -2
  101. package/dist/ui/component/typography/Pre/index.jsx.map +1 -1
  102. package/dist/ui/component/typography/Span/index.d.ts +6 -0
  103. package/dist/ui/component/typography/Span/index.jsx +12 -0
  104. package/dist/ui/component/typography/Span/index.jsx.map +1 -0
  105. package/dist/ui/component/typography/index.d.ts +26 -32
  106. package/dist/ui/component/typography/index.jsx +2 -0
  107. package/dist/ui/component/typography/index.jsx.map +1 -1
  108. package/dist/ui/composite/accordion/index.d.ts +12 -0
  109. package/dist/ui/composite/accordion/index.jsx +29 -0
  110. package/dist/ui/composite/accordion/index.jsx.map +1 -0
  111. package/dist/ui/composite/alert/index.d.ts +13 -0
  112. package/dist/ui/composite/alert/index.jsx +35 -0
  113. package/dist/ui/composite/alert/index.jsx.map +1 -0
  114. package/dist/ui/composite/avatar/index.d.ts +9 -0
  115. package/dist/ui/composite/avatar/index.jsx +25 -0
  116. package/dist/ui/composite/avatar/index.jsx.map +1 -0
  117. package/dist/ui/composite/dropdown/index.d.ts +2 -2
  118. package/dist/ui/composite/dropdown/index.jsx +0 -1
  119. package/dist/ui/composite/dropdown/index.jsx.map +1 -1
  120. package/dist/ui/composite/emptyState/index.d.ts +9 -0
  121. package/dist/ui/composite/emptyState/index.jsx +18 -0
  122. package/dist/ui/composite/emptyState/index.jsx.map +1 -0
  123. package/dist/ui/{layout → composite}/form/index.d.ts +4 -5
  124. package/dist/ui/{layout → composite}/form/index.jsx +31 -43
  125. package/dist/ui/composite/form/index.jsx.map +1 -0
  126. package/dist/ui/{layout → composite}/form/renderItem.d.ts +1 -2
  127. package/dist/ui/{layout → composite}/form/renderItem.jsx +25 -30
  128. package/dist/ui/composite/form/renderItem.jsx.map +1 -0
  129. package/dist/ui/composite/index.d.ts +490 -233
  130. package/dist/ui/composite/index.js +30 -0
  131. package/dist/ui/composite/index.js.map +1 -1
  132. package/dist/ui/composite/input/attachment/index.d.ts +18 -0
  133. package/dist/ui/composite/input/attachment/index.jsx +130 -0
  134. package/dist/ui/composite/input/attachment/index.jsx.map +1 -0
  135. package/dist/ui/composite/input/checkbox/index.d.ts +2 -2
  136. package/dist/ui/composite/input/checkbox/index.jsx +2 -2
  137. package/dist/ui/composite/input/checkbox/index.jsx.map +1 -1
  138. package/dist/ui/composite/input/datePicker/index.d.ts +1 -1
  139. package/dist/ui/composite/input/datePicker/index.jsx +5 -16
  140. package/dist/ui/composite/input/datePicker/index.jsx.map +1 -1
  141. package/dist/ui/composite/input/dateRange/index.d.ts +1 -1
  142. package/dist/ui/composite/input/dateRange/index.jsx +1 -3
  143. package/dist/ui/composite/input/dateRange/index.jsx.map +1 -1
  144. package/dist/ui/composite/input/dateTimePicker/index.jsx +1 -8
  145. package/dist/ui/composite/input/dateTimePicker/index.jsx.map +1 -1
  146. package/dist/ui/composite/input/dateTimeRange/index.d.ts +1 -1
  147. package/dist/ui/composite/input/dateTimeRange/index.jsx +2 -5
  148. package/dist/ui/composite/input/dateTimeRange/index.jsx.map +1 -1
  149. package/dist/ui/composite/input/file/index.d.ts +3 -8
  150. package/dist/ui/composite/input/file/index.jsx +91 -137
  151. package/dist/ui/composite/input/file/index.jsx.map +1 -1
  152. package/dist/ui/composite/input/index.d.ts +144 -128
  153. package/dist/ui/composite/input/index.js +4 -0
  154. package/dist/ui/composite/input/index.js.map +1 -1
  155. package/dist/ui/composite/input/list/index.jsx +3 -11
  156. package/dist/ui/composite/input/list/index.jsx.map +1 -1
  157. package/dist/ui/composite/input/radio/index.d.ts +2 -2
  158. package/dist/ui/composite/input/radio/index.jsx +3 -3
  159. package/dist/ui/composite/input/radio/index.jsx.map +1 -1
  160. package/dist/ui/composite/input/select/GroupHeading/index.jsx +1 -1
  161. package/dist/ui/composite/input/select/GroupHeading/index.jsx.map +1 -1
  162. package/dist/ui/composite/input/select/Input/index.jsx +1 -4
  163. package/dist/ui/composite/input/select/Input/index.jsx.map +1 -1
  164. package/dist/ui/composite/input/select/Option/index.jsx +0 -1
  165. package/dist/ui/composite/input/select/Option/index.jsx.map +1 -1
  166. package/dist/ui/composite/input/select/Placeholder/index.jsx +1 -1
  167. package/dist/ui/composite/input/select/Placeholder/index.jsx.map +1 -1
  168. package/dist/ui/composite/input/select/SelectContainer/index.jsx +1 -1
  169. package/dist/ui/composite/input/select/SelectContainer/index.jsx.map +1 -1
  170. package/dist/ui/composite/input/select/SingleValue/index.jsx +1 -1
  171. package/dist/ui/composite/input/select/SingleValue/index.jsx.map +1 -1
  172. package/dist/ui/composite/input/select/index.jsx +0 -2
  173. package/dist/ui/composite/input/select/index.jsx.map +1 -1
  174. package/dist/ui/composite/input/switch/index.d.ts +11 -0
  175. package/dist/ui/composite/input/switch/index.jsx +21 -0
  176. package/dist/ui/composite/input/switch/index.jsx.map +1 -0
  177. package/dist/ui/composite/input/text/index.d.ts +1 -1
  178. package/dist/ui/composite/input/text/index.jsx +1 -1
  179. package/dist/ui/composite/input/text/index.jsx.map +1 -1
  180. package/dist/ui/composite/input/textarea/index.d.ts +1 -1
  181. package/dist/ui/composite/input/textarea/index.jsx +1 -1
  182. package/dist/ui/composite/input/textarea/index.jsx.map +1 -1
  183. package/dist/ui/composite/input/timePicker/index.d.ts +1 -1
  184. package/dist/ui/composite/input/timeRange/index.d.ts +1 -1
  185. package/dist/ui/composite/input/timeRange/index.jsx +1 -1
  186. package/dist/ui/composite/input/timeRange/index.jsx.map +1 -1
  187. package/dist/ui/composite/input/weekDaysSelector/index.d.ts +1 -1
  188. package/dist/ui/composite/input/weekdayPicker/index.d.ts +1 -1
  189. package/dist/ui/composite/input/weekdayPicker/index.jsx +1 -1
  190. package/dist/ui/composite/input/weekdayPicker/index.jsx.map +1 -1
  191. package/dist/ui/composite/label/index.d.ts +3 -2
  192. package/dist/ui/composite/label/index.jsx +4 -4
  193. package/dist/ui/composite/label/index.jsx.map +1 -1
  194. package/dist/ui/composite/loading/index.jsx.map +1 -0
  195. package/dist/ui/composite/markdown/codeBlock.d.ts +4 -0
  196. package/dist/ui/composite/markdown/codeBlock.jsx +67 -0
  197. package/dist/ui/composite/markdown/codeBlock.jsx.map +1 -0
  198. package/dist/ui/composite/markdown/index.d.ts +3 -0
  199. package/dist/ui/composite/markdown/index.jsx +65 -0
  200. package/dist/ui/composite/markdown/index.jsx.map +1 -0
  201. package/dist/ui/{component/modal/index.d.ts → composite/modal/card.d.ts} +1 -1
  202. package/dist/ui/composite/modal/card.jsx +13 -0
  203. package/dist/ui/composite/modal/card.jsx.map +1 -0
  204. package/dist/ui/composite/modal/index.d.ts +2 -0
  205. package/dist/ui/composite/modal/index.jsx +3 -0
  206. package/dist/ui/composite/modal/index.jsx.map +1 -0
  207. package/dist/ui/{layout/modal/index.jsx → composite/modal/overlay.jsx} +4 -10
  208. package/dist/ui/composite/modal/overlay.jsx.map +1 -0
  209. package/dist/ui/{layout → composite}/object/index.d.ts +2 -3
  210. package/dist/ui/{layout → composite}/object/index.jsx +50 -24
  211. package/dist/ui/composite/object/index.jsx.map +1 -0
  212. package/dist/ui/composite/pageTitle/index.jsx +4 -2
  213. package/dist/ui/composite/pageTitle/index.jsx.map +1 -1
  214. package/dist/ui/composite/popover/index.d.ts +12 -0
  215. package/dist/ui/composite/popover/index.jsx +48 -0
  216. package/dist/ui/composite/popover/index.jsx.map +1 -0
  217. package/dist/ui/composite/stepper/index.d.ts +8 -0
  218. package/dist/ui/composite/stepper/index.jsx +34 -0
  219. package/dist/ui/composite/stepper/index.jsx.map +1 -0
  220. package/dist/ui/composite/table/features.d.ts +15 -0
  221. package/dist/ui/composite/table/features.js +10 -0
  222. package/dist/ui/composite/table/features.js.map +1 -0
  223. package/dist/ui/{layout → composite}/table/index.d.ts +4 -9
  224. package/dist/ui/{layout → composite}/table/index.jsx +10 -23
  225. package/dist/ui/composite/table/index.jsx.map +1 -0
  226. package/dist/ui/composite/toast/index.d.ts +18 -0
  227. package/dist/ui/{layout → composite}/toast/index.jsx +11 -4
  228. package/dist/ui/composite/toast/index.jsx.map +1 -0
  229. package/dist/ui/composite/tooltip/index.d.ts +11 -0
  230. package/dist/ui/composite/tooltip/index.jsx +29 -0
  231. package/dist/ui/composite/tooltip/index.jsx.map +1 -0
  232. package/dist/ui/functional/index.d.ts +5 -5
  233. package/dist/ui/functional/signInForm/index.jsx +1 -1
  234. package/dist/ui/functional/signInForm/index.jsx.map +1 -1
  235. package/dist/ui/layout/app/component.jsx +2 -2
  236. package/dist/ui/layout/app/component.jsx.map +1 -1
  237. package/dist/ui/layout/drawer/index.d.ts +11 -0
  238. package/dist/ui/layout/drawer/index.jsx +73 -0
  239. package/dist/ui/layout/drawer/index.jsx.map +1 -0
  240. package/dist/ui/layout/index.d.ts +38 -351
  241. package/dist/ui/layout/index.js +2 -12
  242. package/dist/ui/layout/index.js.map +1 -1
  243. package/dist/ui/layout/root/index.d.ts +1 -1
  244. package/dist/ui/layout/root/index.jsx +1 -2
  245. package/dist/ui/layout/root/index.jsx.map +1 -1
  246. package/dist/ui/layout/root/provider/index.jsx +0 -4
  247. package/dist/ui/layout/root/provider/index.jsx.map +1 -1
  248. package/dist/ui/layout/tab/component.jsx +3 -3
  249. package/dist/ui/layout/tab/component.jsx.map +1 -1
  250. package/dist/ui/layout/tab/content/index.d.ts +1 -1
  251. package/dist/ui/theme/border/index.d.ts +15 -15
  252. package/dist/ui/theme/border/index.js.map +1 -1
  253. package/dist/ui/theme/color/index.d.ts +24 -23
  254. package/dist/ui/theme/color/index.js +14 -24
  255. package/dist/ui/theme/color/index.js.map +1 -1
  256. package/dist/ui/theme/rounded/index.d.ts +6 -5
  257. package/dist/ui/theme/rounded/index.js +2 -0
  258. package/dist/ui/theme/rounded/index.js.map +1 -1
  259. package/dist/ui/theme/size/index.d.ts +8 -8
  260. package/dist/ui/theme/size/index.js +8 -8
  261. package/dist/ui/theme/size/index.js.map +1 -1
  262. package/dist/ui/types/index.d.ts +16 -2
  263. package/dist/ui/types/index.js +0 -1
  264. package/dist/ui/types/index.js.map +1 -1
  265. package/dist/util/date/impl.js +0 -2
  266. package/dist/util/date/impl.js.map +1 -1
  267. package/dist/util/date/index.d.ts +7 -7
  268. package/dist/util/index.js +8 -20
  269. package/dist/util/index.js.map +1 -1
  270. package/package.json +7 -6
  271. package/dist/ui/component/button/text/index.d.ts +0 -11
  272. package/dist/ui/component/button/text/index.jsx +0 -7
  273. package/dist/ui/component/button/text/index.jsx.map +0 -1
  274. package/dist/ui/component/markdown/index.d.ts +0 -4
  275. package/dist/ui/component/markdown/index.jsx +0 -61
  276. package/dist/ui/component/markdown/index.jsx.map +0 -1
  277. package/dist/ui/component/modal/index.jsx +0 -12
  278. package/dist/ui/component/modal/index.jsx.map +0 -1
  279. package/dist/ui/layout/form/index.jsx.map +0 -1
  280. package/dist/ui/layout/form/renderItem.jsx.map +0 -1
  281. package/dist/ui/layout/loading/index.jsx.map +0 -1
  282. package/dist/ui/layout/modal/index.jsx.map +0 -1
  283. package/dist/ui/layout/object/index.jsx.map +0 -1
  284. package/dist/ui/layout/table/index.jsx.map +0 -1
  285. package/dist/ui/layout/toast/index.d.ts +0 -7
  286. package/dist/ui/layout/toast/index.jsx.map +0 -1
  287. /package/dist/ui/{layout → composite}/loading/index.d.ts +0 -0
  288. /package/dist/ui/{layout → composite}/loading/index.jsx +0 -0
  289. /package/dist/ui/{layout/modal/index.d.ts → composite/modal/overlay.d.ts} +0 -0
@@ -21,10 +21,9 @@ type ObjectViewProps<T extends Record<string, unknown>> = ObjectBaseProps<T> & {
21
21
  itemOrientation?: 'horizontal' | 'vertical';
22
22
  itemClassName?: string;
23
23
  labelWidth?: number;
24
- container?: boolean;
25
24
  };
26
- export declare const ObjectView: <T extends Record<string, unknown>>({ name, obj, layout, overrides, additionals, className, itemOrientation, itemClassName, labelWidth, container, }: ObjectViewProps<T>) => import("react").JSX.Element;
27
- export declare const ObjectTable: <T extends Record<string, unknown>>({ name, obj, layout, overrides, additionals, firstColumnSize, ...restProps }: ObjectBaseProps<T> & Omit<ComponentProps<typeof DataTable>, "data" | "columns"> & {
25
+ export declare const ObjectView: <T extends Record<string, unknown>>({ name, obj, layout, overrides, additionals, className, itemOrientation, itemClassName, labelWidth, }: ObjectViewProps<T>) => import("react").JSX.Element;
26
+ export declare const ObjectTable: <T extends Record<string, unknown>>({ name, obj, layout, overrides, additionals, firstColumnSize, ...restProps }: ObjectBaseProps<T> & Omit<ComponentProps<typeof DataTable>, 'data' | 'columns'> & {
28
27
  firstColumnSize?: number;
29
28
  }) => import("react").JSX.Element;
30
29
  export {};
@@ -4,18 +4,15 @@ import { useTranslations } from 'next-intl';
4
4
  import { Component } from '../../component';
5
5
  import { TextColorTypes } from '../../theme';
6
6
  import { DataTable } from '../table';
7
- export const ObjectView = ({ name, obj, layout, overrides, additionals, className, itemOrientation = 'vertical', itemClassName, labelWidth, container = true, }) => {
7
+ export const ObjectView = ({ name, obj, layout, overrides, additionals, className, itemOrientation = 'vertical', itemClassName, labelWidth, }) => {
8
8
  const actualItems = Object.keys(obj).map((key) => ({
9
9
  key,
10
10
  }));
11
- // Create item map
12
11
  const itemMap = actualItems.reduce((acc, item) => {
13
12
  acc[item.key] = item;
14
13
  return acc;
15
14
  }, {});
16
- // Apply layout or default to single column
17
15
  const rows = layout ?? actualItems.map((item) => [item.key]);
18
- // Resolve items with overrides
19
16
  const resolvedItems = rows.map((row) => {
20
17
  const rowItems = row.map((key) => {
21
18
  const baseItem = itemMap[key];
@@ -61,32 +58,65 @@ export const ObjectView = ({ name, obj, layout, overrides, additionals, classNam
61
58
  {Array.isArray(x)
62
59
  ? x
63
60
  .filter((y) => y !== false && y !== undefined)
64
- .map((y, k) => (<RenderItem key={`${i}-${j}-${k}`} objName={name} item={y} obj={obj} orientation={itemOrientation} className={itemClassName} labelWidth={labelWidth} container={container}/>))
65
- : x && (<RenderItem key={`${i}-${j}`} objName={name} item={x} obj={obj} orientation={itemOrientation} className={itemClassName} labelWidth={labelWidth} container={container}/>)}
61
+ .map((y, k) => (<RenderItem key={`${i}-${j}-${k}`} objName={name} item={y} obj={obj} orientation={itemOrientation} className={itemClassName} labelWidth={labelWidth}/>))
62
+ : x && (<RenderItem key={`${i}-${j}`} objName={name} item={x} obj={obj} orientation={itemOrientation} className={itemClassName} labelWidth={labelWidth}/>)}
66
63
  </div>))}
67
64
  </div>))}
68
65
  </div>);
69
66
  };
70
- const RenderItem = ({ objName, item, obj, orientation, className, labelWidth, container, }) => {
71
- const value = item.value ?? obj[item.key];
72
- const isReactNode = typeof value === 'object' && value !== undefined && value !== null && '$$typeof' in value;
73
- return (<div className={classNames('flex w-full', orientation === 'horizontal' ? 'flex-row' : 'flex-col', className)}>
74
- <Component.Typography.P color={TextColorTypes.sub} style={{ width: labelWidth }} container={container} className='text-sm'>
75
- {item.label || `${objName}.${item.key}`}
76
- </Component.Typography.P>
77
- {isReactNode ? (<div>{value}</div>) : (<Component.Typography.P color={TextColorTypes.main} container={container}>
78
- {value === undefined || value === null ? '-' : String(value)}
79
- </Component.Typography.P>)}
80
- </div>);
67
+ const isReactNode = (value) => typeof value === 'object' && value !== null && '$$typeof' in value;
68
+ const ValueView = ({ value }) => {
69
+ if (value === undefined || value === null) {
70
+ return (<Component.Typography.P color={TextColorTypes.main}>
71
+ <>-</>
72
+ </Component.Typography.P>);
73
+ }
74
+ if (isReactNode(value)) {
75
+ return <div>{value}</div>;
76
+ }
77
+ if (value instanceof Date) {
78
+ return (<Component.Typography.P color={TextColorTypes.main}>
79
+ <>{value.toISOString()}</>
80
+ </Component.Typography.P>);
81
+ }
82
+ if (Array.isArray(value)) {
83
+ if (value.length === 0) {
84
+ return (<Component.Typography.P color={TextColorTypes.main}>
85
+ <>-</>
86
+ </Component.Typography.P>);
87
+ }
88
+ return (<div className='flex w-full flex-col gap-control-padding-md'>
89
+ {value.map((entry, index) => typeof entry === 'object' && entry !== null && !isReactNode(entry) && !(entry instanceof Date) ? (<div key={index} className='border-l border-l-outline-default pl-control-padding-base'>
90
+ <ValueView value={entry}/>
91
+ </div>) : (<ValueView key={index} value={entry}/>))}
92
+ </div>);
93
+ }
94
+ if (typeof value === 'object') {
95
+ return (<div className='flex w-full flex-col gap-control-padding-sm'>
96
+ {Object.entries(value).map(([entryKey, entryValue]) => (<div key={entryKey} className='flex w-full items-start gap-control-padding-base'>
97
+ <Component.Typography.P color={TextColorTypes.sub} className='shrink-0 text-sm'>
98
+ <>{entryKey}</>
99
+ </Component.Typography.P>
100
+ <ValueView value={entryValue}/>
101
+ </div>))}
102
+ </div>);
103
+ }
104
+ return (<Component.Typography.P color={TextColorTypes.main}>
105
+ <>{String(value)}</>
106
+ </Component.Typography.P>);
81
107
  };
108
+ const RenderItem = ({ objName, item, obj, orientation, className, labelWidth, }) => (<div className={classNames('flex w-full', orientation === 'horizontal' ? 'flex-row' : 'flex-col', className)}>
109
+ <Component.Typography.P color={TextColorTypes.sub} style={{ width: labelWidth }} className='text-sm'>
110
+ {item.label || `${objName}.${item.key}`}
111
+ </Component.Typography.P>
112
+ <ValueView value={item.value ?? obj[item.key]}/>
113
+ </div>);
82
114
  export const ObjectTable = ({ name, obj, layout, overrides, additionals, firstColumnSize, ...restProps }) => {
83
115
  const t = useTranslations();
84
116
  const actualItems = Object.keys(obj).map((key) => ({
85
117
  key,
86
118
  }));
87
- // Apply layout or default to single column
88
119
  const rows = layout ?? actualItems.map((item) => [item.key]);
89
- // Resolve items with overrides
90
120
  const resolvedItems = rows
91
121
  .flatMap((row) => {
92
122
  return row.map((key) => {
@@ -134,11 +164,7 @@ export const ObjectTable = ({ name, obj, layout, overrides, additionals, firstCo
134
164
  {
135
165
  accessorKey: 'value',
136
166
  header: 'value',
137
- cell: ({ row }) => {
138
- const value = row.original.value;
139
- const isReactNode = typeof value === 'object' && value !== undefined && value !== null && '$$typeof' in value;
140
- return isReactNode ? (<div>{value}</div>) : (<>{value === undefined || value === null ? '-' : String(value)}</>);
141
- },
167
+ cell: ({ row }) => <ValueView value={row.original.value}/>,
142
168
  },
143
169
  ]} data={items} {...restProps}/>);
144
170
  };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.jsx","sourceRoot":"","sources":["../../../../../src/ui/composite/object/index.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  'use client';
2
+ import ChevronLeftIcon from '@mui/icons-material/ChevronLeft';
2
3
  import classNames from 'classnames';
3
4
  import Link from 'next/link';
4
5
  import { usePathname, useRouter } from 'next/navigation';
@@ -39,8 +40,9 @@ export const PageTitle = ({ routes, title, actions, back = false, keepRoutesSpac
39
40
  {showTitle && (<div className='flex items-center justify-between'>
40
41
  <div className='flex'>
41
42
  <div className='flex items-center gap-xs'>
42
- {back === true && (<Link href='#' className='whitespace-nowrap' onClick={router.back}>
43
- <Component.Typography.P>{'<'} Back</Component.Typography.P>
43
+ {back === true && (<Link href='#' className='flex items-center whitespace-nowrap' onClick={router.back}>
44
+ <Component.Icon icon={ChevronLeftIcon} className='size-control-md!'/>
45
+ <Component.Typography.P>Back</Component.Typography.P>
44
46
  </Link>)}
45
47
  <Component.Typography.H3 className='font-bold'>{title}</Component.Typography.H3>
46
48
  </div>
@@ -1 +1 @@
1
- {"version":3,"file":"index.jsx","sourceRoot":"","sources":["../../../../../src/ui/composite/pageTitle/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.jsx","sourceRoot":"","sources":["../../../../../src/ui/composite/pageTitle/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { type ReactNode } from 'react';
2
+ import { AnchorPlacement } from '../../../hooks/anchor';
3
+ import type { Rounded } from '../../theme';
4
+ export declare const Popover: ({ trigger, content, placement, rounded, panelClassName, disabled, className, }: {
5
+ trigger: ReactNode;
6
+ content: ReactNode;
7
+ placement?: AnchorPlacement;
8
+ rounded?: Rounded;
9
+ panelClassName?: string;
10
+ disabled?: boolean;
11
+ className?: string;
12
+ }) => import("react").JSX.Element;
@@ -0,0 +1,48 @@
1
+ 'use client';
2
+ import classNames from 'classnames';
3
+ import { useEffect, useRef, useState } from 'react';
4
+ import { createPortal } from 'react-dom';
5
+ import { AnchorPlacement, useAnchoredPosition } from '../../../hooks/anchor';
6
+ import { useMounted } from '../../../hooks/mounted';
7
+ import { Component } from '../../component';
8
+ export const Popover = ({ trigger, content, placement = AnchorPlacement.bottom, rounded, panelClassName, disabled, className, }) => {
9
+ const [open, setOpen] = useState(false);
10
+ const anchorRef = useRef(null);
11
+ const panelRef = useRef(null);
12
+ const coords = useAnchoredPosition(anchorRef, panelRef, placement, open);
13
+ const mounted = useMounted();
14
+ useEffect(() => {
15
+ if (!open) {
16
+ return;
17
+ }
18
+ const onKeyDown = (e) => {
19
+ if (e.key === 'Escape') {
20
+ setOpen(false);
21
+ }
22
+ };
23
+ window.addEventListener('keydown', onKeyDown);
24
+ return () => {
25
+ window.removeEventListener('keydown', onKeyDown);
26
+ };
27
+ }, [open]);
28
+ return (<div className={classNames('flex w-fit flex-col', className)}>
29
+ <div ref={anchorRef} onClick={() => {
30
+ if (disabled !== true) {
31
+ setOpen((v) => !v);
32
+ }
33
+ }}>
34
+ {trigger}
35
+ </div>
36
+ {mounted &&
37
+ open &&
38
+ createPortal(<>
39
+ <div className='fixed inset-0 z-popup' onClick={() => setOpen(false)}/>
40
+ <div ref={panelRef} className={classNames('absolute z-popup w-max max-w-[90%]', coords === undefined && 'invisible')} style={{ top: coords?.top ?? 0, left: coords?.left ?? 0 }}>
41
+ <Component.Card rounded={rounded} shadow className={panelClassName}>
42
+ {content}
43
+ </Component.Card>
44
+ </div>
45
+ </>, document.body)}
46
+ </div>);
47
+ };
48
+ //# sourceMappingURL=index.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.jsx","sourceRoot":"","sources":["../../../../../src/ui/composite/popover/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export declare const Stepper: ({ steps, current, orientation, className, }: {
2
+ steps: {
3
+ label: string;
4
+ }[];
5
+ current: number;
6
+ orientation?: 'horizontal' | 'vertical';
7
+ className?: string;
8
+ }) => import("react").JSX.Element;
@@ -0,0 +1,34 @@
1
+ 'use client';
2
+ import CheckIcon from '@mui/icons-material/Check';
3
+ import classNames from 'classnames';
4
+ import { useTranslations } from 'next-intl';
5
+ import { Component } from '../../component';
6
+ import { ColorTypes, getColorTypeClassName, getRoundedClassName, getTextColorTypeClassName, Rounded, TextColorTypes, } from '../../theme';
7
+ export const Stepper = ({ steps, current, orientation = 'horizontal', className, }) => {
8
+ const t = useTranslations();
9
+ return (<ol className={classNames('flex w-full', orientation === 'vertical' ? 'flex-col gap-sm' : 'items-start', className)}>
10
+ {steps.map((step, i) => (<li key={i} aria-current={i === current ? 'step' : undefined} className={classNames('flex', orientation === 'vertical'
11
+ ? 'items-center gap-control-padding-lg'
12
+ : 'flex-1 flex-col items-center gap-control-padding-md text-center')}>
13
+ <div className={classNames('flex items-center', orientation === 'vertical' ? '' : 'w-full')}>
14
+ {orientation === 'horizontal' && (<div className={classNames('h-px flex-1', i === 0 ? 'bg-transparent' : i <= current ? 'bg-primary-default-bg' : 'bg-outline-default')}/>)}
15
+ <div className={classNames('flex size-control-2xl shrink-0 items-center justify-center text-sm font-bold', getRoundedClassName(Rounded.half), i < current
16
+ ? getColorTypeClassName(ColorTypes.primary, true)
17
+ : i === current
18
+ ? getColorTypeClassName(ColorTypes.primary, false)
19
+ : 'bg-outline-default')}>
20
+ {i < current ? <Component.Icon icon={CheckIcon} className='size-control-md'/> : `${i + 1}`}
21
+ </div>
22
+ {orientation === 'horizontal' && (<div className={classNames('h-px flex-1', i === steps.length - 1
23
+ ? 'bg-transparent'
24
+ : i < current
25
+ ? 'bg-primary-default-bg'
26
+ : 'bg-outline-default')}/>)}
27
+ </div>
28
+ <span className={classNames('text-sm', i === current && 'font-bold', getTextColorTypeClassName(i <= current ? TextColorTypes.main : TextColorTypes.disabled))}>
29
+ {t(step.label)}
30
+ </span>
31
+ </li>))}
32
+ </ol>);
33
+ };
34
+ //# sourceMappingURL=index.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.jsx","sourceRoot":"","sources":["../../../../../src/ui/composite/stepper/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ export declare const dataTableFeatures: {
2
+ rowSortingFeature: import("@tanstack/react-table").TableFeature;
3
+ rowSelectionFeature: import("@tanstack/react-table").TableFeature;
4
+ columnSizingFeature: import("@tanstack/react-table").TableFeature;
5
+ columnVisibilityFeature: import("@tanstack/react-table").TableFeature;
6
+ sortedRowModel: (table: import("@tanstack/react-table").Table<any, any>) => () => import("@tanstack/react-table").RowModel<any, any>;
7
+ sortFns: {
8
+ alphanumeric: import("@tanstack/react-table").CreatedSortFn<any, any>;
9
+ alphanumericCaseSensitive: import("@tanstack/react-table").CreatedSortFn<any, any>;
10
+ basic: import("@tanstack/react-table").CreatedSortFn<any, any>;
11
+ datetime: import("@tanstack/react-table").CreatedSortFn<any, any>;
12
+ text: import("@tanstack/react-table").CreatedSortFn<any, any>;
13
+ textCaseSensitive: import("@tanstack/react-table").CreatedSortFn<any, any>;
14
+ };
15
+ };
@@ -0,0 +1,10 @@
1
+ import { columnSizingFeature, columnVisibilityFeature, createSortedRowModel, rowSelectionFeature, rowSortingFeature, sortFns, tableFeatures, } from '@tanstack/react-table';
2
+ export const dataTableFeatures = tableFeatures({
3
+ rowSortingFeature,
4
+ rowSelectionFeature,
5
+ columnSizingFeature,
6
+ columnVisibilityFeature,
7
+ sortedRowModel: createSortedRowModel(),
8
+ sortFns,
9
+ });
10
+ //# sourceMappingURL=features.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features.js","sourceRoot":"","sources":["../../../../../src/ui/composite/table/features.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,OAAO,EACP,aAAa,GACd,MAAM,uBAAuB,CAAA;AAE9B,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,CAAC;IAC7C,iBAAiB;IACjB,mBAAmB;IACnB,mBAAmB;IACnB,uBAAuB;IACvB,cAAc,EAAE,oBAAoB,EAAE;IACtC,OAAO;CACR,CAAC,CAAA"}
@@ -1,20 +1,15 @@
1
- import type { UniqueIdentifier } from '@dnd-kit/core';
2
- import type { ColumnDef } from '@tanstack/react-table';
3
1
  import type { ReactNode } from 'react';
4
2
  import type { ColorTypes } from '../../theme';
5
3
  import { Rounded, TextColorTypes } from '../../theme';
6
- export declare const DataTable: <TData extends {
7
- id: UniqueIdentifier;
8
- href?: string;
9
- disabled?: boolean;
10
- }, TValue>({ className, rounded, addtionalHeader, showTableHeader, headerBackgroundColor, headerTextColor, columns, emptyMessage, data: tmp, pagination, sort, rowSelect, }: {
4
+ import type { DataTableColumnDef, DataTableRow } from '../../types';
5
+ export declare const DataTable: <TData extends DataTableRow>({ className, rounded, addtionalHeader, showTableHeader, headerBackgroundColor, headerTextColor, columns, emptyMessage, data: tmp, pagination, sort, rowSelect, }: {
11
6
  className?: string;
12
7
  rounded?: Rounded;
13
8
  addtionalHeader?: ReactNode;
14
9
  showTableHeader?: boolean;
15
10
  headerBackgroundColor?: ColorTypes;
16
11
  headerTextColor?: TextColorTypes;
17
- columns: ColumnDef<TData, TValue>[];
12
+ columns: DataTableColumnDef<TData>[];
18
13
  emptyMessage?: ReactNode;
19
14
  data: TData[];
20
15
  pagination?: {
@@ -24,7 +19,7 @@ export declare const DataTable: <TData extends {
24
19
  };
25
20
  sort?: {
26
21
  isRouterSortEnabled: boolean;
27
- orderBy?: Record<string, "asc" | "desc">[];
22
+ orderBy?: Record<string, 'asc' | 'desc'>[];
28
23
  excludeHeaders?: string[];
29
24
  dndEnabled?: boolean;
30
25
  onSorted?: (data: TData[]) => void;
@@ -5,7 +5,7 @@ import { arrayMove, SortableContext, useSortable, verticalListSortingStrategy }
5
5
  import { CSS } from '@dnd-kit/utilities';
6
6
  import DragIndicatorIcon from '@mui/icons-material/DragIndicator';
7
7
  import Pagination from '@mui/material/Pagination';
8
- import { flexRender, getCoreRowModel, getSortedRowModel, useReactTable } from '@tanstack/react-table';
8
+ import { flexRender, useTable } from '@tanstack/react-table';
9
9
  import classNames from 'classnames';
10
10
  import Link from 'next/link';
11
11
  import { usePathname, useRouter } from 'next/navigation';
@@ -13,6 +13,7 @@ import { useTranslations } from 'next-intl';
13
13
  import { forwardRef, startTransition, useEffect, useId, useMemo, useState } from 'react';
14
14
  import { Component } from '../../component';
15
15
  import { BackgroundColorTypes, borderDefault, getBackgroundColorTypeClassName, getBorderColorTypeClassName, getColorTypeClassName, getTextColorTypeClassName, Rounded, TextColorTypes, } from '../../theme';
16
+ import { dataTableFeatures } from './features';
16
17
  const Table = forwardRef(({ className, ...props }, ref) => (<table ref={ref} className={classNames('w-full max-w-full caption-bottom border-separate border-spacing-0 break-all text-sm', className)} {...props}/>));
17
18
  Table.displayName = 'Table';
18
19
  const TableHeader = forwardRef(({ className, ...props }, ref) => (<thead ref={ref} className={classNames('border-outline-default', className)} {...props}/>));
@@ -134,7 +135,7 @@ const TableRow = ({ row, isFirstItem, isLastItem, roundedTop, roundedBottom, dnd
134
135
  </>) : (children)}
135
136
  </tr>);
136
137
  };
137
- const TableCell = forwardRef(({ rounded, isFirstItem, isLastItem, href, children, className, ...props }, ref) => (<td ref={ref} className={classNames('align-middle [&:has([role=checkbox])]:pr-0', 'border-outline-default border-b', 'first-of-type:border-l last-of-type:border-r', href === undefined ? 'p-md' : 'relative', isFirstItem && [
138
+ const TableCell = forwardRef(({ rounded, isFirstItem, isLastItem, href, children, className, ...props }, ref) => (<td ref={ref} className={classNames('align-middle has-[[role=checkbox]]:pr-0', 'border-outline-default border-b', 'first-of-type:border-l last-of-type:border-r', href === undefined ? 'p-md' : 'relative', isFirstItem && [
138
139
  'border-t',
139
140
  rounded === 's' && 'first-of-type:rounded-tl-small last-of-type:rounded-tr-small',
140
141
  rounded === 'm' && 'first-of-type:rounded-tl-medium last-of-type:rounded-tr-medium',
@@ -145,7 +146,7 @@ const TableCell = forwardRef(({ rounded, isFirstItem, isLastItem, href, children
145
146
  rounded === 'm' && 'first-of-type:rounded-bl-medium last-of-type:rounded-br-medium',
146
147
  rounded === 'l' && 'first-of-type:rounded-bl-large last-of-type:rounded-br-large',
147
148
  rounded === 'half' && 'first-of-type:rounded-bl-[50%] last-of-type:rounded-br-[50%]',
148
- ], getTextColorTypeClassName(TextColorTypes.main, true), getBackgroundColorTypeClassName(BackgroundColorTypes.default), className)} {...props}>
149
+ ], getTextColorTypeClassName(TextColorTypes.main), getBackgroundColorTypeClassName(BackgroundColorTypes.default), className)} {...props}>
149
150
  {href === undefined ? (<Component.Typography.Pre className='wrap-break-word whitespace-pre-wrap text-sm'>
150
151
  {children}
151
152
  </Component.Typography.Pre>) : (<Link href={href} className='flex p-md'>
@@ -157,7 +158,6 @@ const TableCell = forwardRef(({ rounded, isFirstItem, isLastItem, href, children
157
158
  </td>));
158
159
  TableCell.displayName = 'TableCell';
159
160
  export const DataTable = ({ className, rounded = Rounded.m, addtionalHeader, showTableHeader = true, headerBackgroundColor, headerTextColor, columns, emptyMessage, data: tmp, pagination, sort, rowSelect, }) => {
160
- // Helper function to translate header content
161
161
  const t = useTranslations();
162
162
  const translateHeader = (headerContent) => {
163
163
  if (typeof headerContent === 'string') {
@@ -165,40 +165,27 @@ export const DataTable = ({ className, rounded = Rounded.m, addtionalHeader, sho
165
165
  }
166
166
  return headerContent;
167
167
  };
168
- // header
169
168
  const roundedTop = addtionalHeader === undefined ? rounded : Rounded.none;
170
- // data
171
169
  const [data, setData] = useState(tmp);
172
170
  useEffect(() => {
173
171
  startTransition(() => {
174
172
  setData(tmp);
175
173
  });
176
174
  }, [tmp]);
177
- // TanStack Table is React-Compiler-incompatible by design — React Compiler auto-skips
178
- // memoizing components/hooks that call known-incompatible libraries
179
- // (facebook/react#33057, PR #34027), so `useReactTable` is safe to call here.
180
- const table = useReactTable({
175
+ const table = useTable({
176
+ features: dataTableFeatures,
181
177
  data,
182
178
  columns,
183
- getCoreRowModel: getCoreRowModel(),
184
- getSortedRowModel: getSortedRowModel(),
185
179
  });
186
- // Pagination
187
180
  const router = useRouter();
188
181
  const pathname = usePathname();
189
- // Dnd
190
182
  const id = useId();
191
183
  const sensors = useSensors(useSensor(MouseSensor, {}), useSensor(TouchSensor, {}), useSensor(KeyboardSensor, {}));
192
184
  const [activeId, setActiveId] = useState();
193
185
  const items = useMemo(() => data.map((x) => x.id), [data]);
194
- const selectedRow = useMemo(() => {
195
- if (!activeId) {
196
- return undefined;
197
- }
198
- return table.getRowModel().rows.find(({ original }) => original.id === activeId);
199
- }, [activeId, table]);
186
+ const selectedRow = activeId ? table.getRowModel().rows.find(({ original }) => original.id === activeId) : undefined;
200
187
  return (<div className='flex w-fit min-w-full flex-col'>
201
- {addtionalHeader !== undefined && (<div className={classNames('flex w-full items-center justify-between gap-base rounded-t-medium p-base text-xs', getBorderColorTypeClassName(borderDefault(true)), getBackgroundColorTypeClassName(BackgroundColorTypes.container), getTextColorTypeClassName(TextColorTypes.sub, true))}>
188
+ {addtionalHeader !== undefined && (<div className={classNames('flex w-full items-center justify-between gap-base rounded-t-medium p-base text-xs', getBorderColorTypeClassName(borderDefault(true)), getBackgroundColorTypeClassName(BackgroundColorTypes.container), getTextColorTypeClassName(TextColorTypes.sub))}>
202
189
  {addtionalHeader}
203
190
  </div>)}
204
191
  <DndContext id={id} sensors={sensors} collisionDetection={closestCenter} modifiers={[restrictToVerticalAxis]} onDragStart={(e) => setActiveId(e.active.id)} onDragCancel={() => setActiveId(undefined)} onDragEnd={(e) => {
@@ -223,12 +210,12 @@ export const DataTable = ({ className, rounded = Rounded.m, addtionalHeader, sho
223
210
  width: 20,
224
211
  }} rounded={roundedTop} className={classNames(headerBackgroundColor
225
212
  ? getColorTypeClassName(headerBackgroundColor, true)
226
- : getBackgroundColorTypeClassName(BackgroundColorTypes.container), getTextColorTypeClassName(headerTextColor ?? TextColorTypes.main, true))}/>)}
213
+ : getBackgroundColorTypeClassName(BackgroundColorTypes.container), getTextColorTypeClassName(headerTextColor ?? TextColorTypes.main))}/>)}
227
214
  {headerGroup.headers.map((h) => (<TableHead key={h.id} style={{
228
215
  width: h.getSize() === 150 ? undefined : h.getSize(),
229
216
  }} rounded={roundedTop} className={classNames(headerBackgroundColor
230
217
  ? getColorTypeClassName(headerBackgroundColor, true)
231
- : getBackgroundColorTypeClassName(BackgroundColorTypes.container), getTextColorTypeClassName(headerTextColor ?? TextColorTypes.main, true))}>
218
+ : getBackgroundColorTypeClassName(BackgroundColorTypes.container), getTextColorTypeClassName(headerTextColor ?? TextColorTypes.main))}>
232
219
  {h.isPlaceholder ? null : sort !== undefined &&
233
220
  sort?.excludeHeaders?.includes(h.column.id) !== true ? (<SortButton column={h.column} isRouterSortEnabled={sort.isRouterSortEnabled} initialSort={sort.orderBy?.find((x) => Object.keys(x).some((y) => y === h.column.id))?.[h.column.id]}>
234
221
  {translateHeader(flexRender(h.column.columnDef.header, h.getContext()))}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.jsx","sourceRoot":"","sources":["../../../../../src/ui/composite/table/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { ComponentProps } from 'react';
2
+ import { Component } from '../../component';
3
+ import { type ColorTypes } from '../../theme';
4
+ export declare const ToastPosition: {
5
+ readonly topLeft: 'topLeft';
6
+ readonly topCenter: 'topCenter';
7
+ readonly topRight: 'topRight';
8
+ readonly bottomLeft: 'bottomLeft';
9
+ readonly bottomCenter: 'bottomCenter';
10
+ readonly bottomRight: 'bottomRight';
11
+ };
12
+ export type ToastPosition = (typeof ToastPosition)[keyof typeof ToastPosition];
13
+ export declare const Toast: ({ color, position, onClickClose, body, ...props }: {
14
+ color: ColorTypes;
15
+ position?: ToastPosition;
16
+ onClickClose: () => void;
17
+ body: string;
18
+ } & Omit<ComponentProps<typeof Component.Card>, 'children'>) => import("react").JSX.Element;
@@ -5,12 +5,19 @@ import { motion } from 'framer-motion';
5
5
  import { useTranslations } from 'next-intl';
6
6
  import { Component } from '../../component';
7
7
  import { ControlSize, getColorTypeClassName } from '../../theme';
8
- export const Toast = ({ color, onClickClose, children, ...props }) => {
8
+ export const ToastPosition = {
9
+ topLeft: 'topLeft',
10
+ topCenter: 'topCenter',
11
+ topRight: 'topRight',
12
+ bottomLeft: 'bottomLeft',
13
+ bottomCenter: 'bottomCenter',
14
+ bottomRight: 'bottomRight',
15
+ };
16
+ export const Toast = ({ color, position = ToastPosition.bottomRight, onClickClose, body, ...props }) => {
9
17
  const t = useTranslations();
10
- const translatedChildren = typeof children === 'string' ? t(children) : children;
11
- return (<motion.div className='fixed right-base bottom-base text-sm shadow-lg'>
18
+ return (<motion.div className={classNames('fixed w-fit text-sm shadow-lg', position.startsWith('top') ? 'top-base' : 'bottom-base', position.endsWith('Left') && 'left-base', position.endsWith('Right') && 'right-base', position.endsWith('Center') && 'inset-x-0 mx-auto')}>
12
19
  <Component.Card className={classNames('flex flex-row items-center gap-control-padding-md p-control-padding-base', getColorTypeClassName(color, false))} {...props} border={false}>
13
- {translatedChildren}
20
+ {t(body)}
14
21
  <Component.Button variant='colored' color={color} size={ControlSize.md} icon={CloseIcon} onClick={onClickClose}/>
15
22
  </Component.Card>
16
23
  </motion.div>);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.jsx","sourceRoot":"","sources":["../../../../../src/ui/composite/toast/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,SAAS,MAAM,2BAA2B,CAAA;AACjD,OAAO,UAAU,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAG3C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAmB,WAAW,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAEjF,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,UAAU;IACpB,UAAU,EAAE,YAAY;IACxB,YAAY,EAAE,cAAc;IAC5B,WAAW,EAAE,aAAa;CAClB,CAAA;AAGV,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EACpB,KAAK,EACL,QAAQ,GAAG,aAAa,CAAC,WAAW,EACpC,YAAY,EACZ,IAAI,EACJ,GAAG,KAAK,EAMiD,EAAE,EAAE;IAC7D,MAAM,CAAC,GAAG,eAAe,EAAE,CAAA;IAC3B,OAAO,CACL,CAAC,MAAM,CAAC,GAAG,CACT,SAAS,CAAC,CAAC,UAAU,CACnB,+BAA+B,EAC/B,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,EACvD,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,WAAW,EACxC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,YAAY,EAC1C,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,mBAAmB,CACnD,CAAC,CAEF;MAAA,CAAC,SAAS,CAAC,IAAI,CACb,SAAS,CAAC,CAAC,UAAU,CACnB,0EAA0E,EAC1E,qBAAqB,CAAC,KAAK,EAAE,KAAK,CAAC,CACpC,CAAC,CACF,IAAI,KAAK,CAAC,CACV,MAAM,CAAC,CAAC,KAAK,CAAC,CAEd;QAAA,CAAC,CAAC,CAAC,IAAI,CAAC,CACR;QAAA,CAAC,SAAS,CAAC,MAAM,CACf,OAAO,CAAC,SAAS,CACjB,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,IAAI,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CACrB,IAAI,CAAC,CAAC,SAAS,CAAC,CAChB,OAAO,CAAC,CAAC,YAAY,CAAC,EAE1B;MAAA,EAAE,SAAS,CAAC,IAAI,CAClB;IAAA,EAAE,MAAM,CAAC,GAAG,CAAC,CACd,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,11 @@
1
+ import { type ReactNode } from 'react';
2
+ import { AnchorPlacement } from '../../../hooks/anchor';
3
+ import { Rounded } from '../../theme';
4
+ export declare const Tooltip: ({ content, placement, rounded, disabled, className, children, }: {
5
+ content: ReactNode;
6
+ placement?: AnchorPlacement;
7
+ rounded?: Rounded;
8
+ disabled?: boolean;
9
+ className?: string;
10
+ children: ReactNode;
11
+ }) => import("react").JSX.Element;