@tcn/ui 0.8.1 → 0.10.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 (285) hide show
  1. package/dist/bar.css +1 -0
  2. package/dist/body.css +1 -1
  3. package/dist/body.module-BbFZ7KNP.js +5 -0
  4. package/dist/body.module-BbFZ7KNP.js.map +1 -0
  5. package/dist/divider.css +1 -1
  6. package/dist/feedback/progress/progress_bar.js +13 -13
  7. package/dist/footer.css +1 -1
  8. package/dist/form/field/common/field_description.js +7 -8
  9. package/dist/form/field/common/field_description.js.map +1 -1
  10. package/dist/form/field/common/field_error.js +6 -6
  11. package/dist/form/field/common/field_label.js +7 -8
  12. package/dist/form/field/common/field_label.js.map +1 -1
  13. package/dist/form/field_set/field_set.js +7 -7
  14. package/dist/inputs/date_picker/date_picker_date.js +6 -6
  15. package/dist/inputs/date_picker/date_picker_day.js +6 -6
  16. package/dist/inputs/date_picker/date_picker_time_selector.js +5 -5
  17. package/dist/inputs/date_picker/date_picker_year_selector.js +5 -5
  18. package/dist/inputs/suggestions/suggestion_list.js +6 -6
  19. package/dist/layouts/bar/bar.d.ts +5 -0
  20. package/dist/layouts/bar/bar.d.ts.map +1 -0
  21. package/dist/layouts/bar/bar.js +20 -0
  22. package/dist/layouts/bar/bar.js.map +1 -0
  23. package/dist/layouts/body/body.d.ts +2 -2
  24. package/dist/layouts/body/body.d.ts.map +1 -1
  25. package/dist/layouts/body/body.js +12 -12
  26. package/dist/layouts/body/body.js.map +1 -1
  27. package/dist/layouts/body/h_body.d.ts.map +1 -1
  28. package/dist/layouts/body/h_body.js +18 -12
  29. package/dist/layouts/body/h_body.js.map +1 -1
  30. package/dist/layouts/body/v_body.d.ts.map +1 -1
  31. package/dist/layouts/body/v_body.js +16 -10
  32. package/dist/layouts/body/v_body.js.map +1 -1
  33. package/dist/layouts/footer/footer.d.ts +2 -3
  34. package/dist/layouts/footer/footer.d.ts.map +1 -1
  35. package/dist/layouts/footer/footer.js +7 -7
  36. package/dist/layouts/footer/footer.js.map +1 -1
  37. package/dist/layouts/header/header.d.ts +2 -2
  38. package/dist/layouts/header/header.d.ts.map +1 -1
  39. package/dist/layouts/header/header.js +13 -21
  40. package/dist/layouts/header/header.js.map +1 -1
  41. package/dist/layouts/index.d.ts +2 -1
  42. package/dist/layouts/index.d.ts.map +1 -1
  43. package/dist/layouts/index.js +40 -38
  44. package/dist/layouts/index.js.map +1 -1
  45. package/dist/layouts/rail/rail.js +41 -41
  46. package/dist/layouts/rail/rail.js.map +1 -1
  47. package/dist/layouts/rail/side/side.d.ts.map +1 -1
  48. package/dist/layouts/rail/side/side.js +1 -1
  49. package/dist/layouts/rail/side/side.js.map +1 -1
  50. package/dist/layouts/rail/utility_strip/utility_strip.d.ts.map +1 -1
  51. package/dist/layouts/rail/utility_strip/utility_strip.js +21 -17
  52. package/dist/layouts/rail/utility_strip/utility_strip.js.map +1 -1
  53. package/dist/layouts/responsive/breakpoint.d.ts +11 -0
  54. package/dist/layouts/responsive/breakpoint.d.ts.map +1 -0
  55. package/dist/layouts/responsive/breakpoint.js +15 -0
  56. package/dist/layouts/responsive/breakpoint.js.map +1 -0
  57. package/dist/layouts/responsive/responsive.d.ts +7 -0
  58. package/dist/layouts/responsive/responsive.d.ts.map +1 -0
  59. package/dist/layouts/responsive/responsive.js +11 -0
  60. package/dist/layouts/responsive/responsive.js.map +1 -0
  61. package/dist/layouts/responsive/responsive_container.d.ts +7 -0
  62. package/dist/layouts/responsive/responsive_container.d.ts.map +1 -0
  63. package/dist/layouts/responsive/responsive_container.js +30 -0
  64. package/dist/layouts/responsive/responsive_container.js.map +1 -0
  65. package/dist/layouts/responsive/responsive_viewport.d.ts +7 -0
  66. package/dist/layouts/responsive/responsive_viewport.d.ts.map +1 -0
  67. package/dist/layouts/responsive/responsive_viewport.js +12 -0
  68. package/dist/layouts/responsive/responsive_viewport.js.map +1 -0
  69. package/dist/layouts/scaffold/scaffold.js +32 -32
  70. package/dist/layouts/scaffold/scaffold.js.map +1 -1
  71. package/dist/layouts/utility_bar/utility_bar.d.ts +2 -2
  72. package/dist/layouts/utility_bar/utility_bar.d.ts.map +1 -1
  73. package/dist/layouts/utility_bar/utility_bar.js +17 -19
  74. package/dist/layouts/utility_bar/utility_bar.js.map +1 -1
  75. package/dist/overlay/frame/frame.js +3 -3
  76. package/dist/overlay/frame/frame.js.map +1 -1
  77. package/dist/panel.css +1 -0
  78. package/dist/rail.css +1 -1
  79. package/dist/scaffold.css +1 -1
  80. package/dist/side.css +1 -1
  81. package/dist/stacks/box/bottom_resize_handle.d.ts +2 -2
  82. package/dist/stacks/box/bottom_resize_handle.d.ts.map +1 -1
  83. package/dist/stacks/box/bottom_resize_handle.js +12 -10
  84. package/dist/stacks/box/bottom_resize_handle.js.map +1 -1
  85. package/dist/stacks/box/box.d.ts +4 -4
  86. package/dist/stacks/box/box.d.ts.map +1 -1
  87. package/dist/stacks/box/box.js +26 -26
  88. package/dist/stacks/box/box.js.map +1 -1
  89. package/dist/stacks/box/end_resize_handle.d.ts +2 -2
  90. package/dist/stacks/box/end_resize_handle.d.ts.map +1 -1
  91. package/dist/stacks/box/end_resize_handle.js +6 -5
  92. package/dist/stacks/box/end_resize_handle.js.map +1 -1
  93. package/dist/stacks/box/left_resize_handle.d.ts +2 -2
  94. package/dist/stacks/box/left_resize_handle.d.ts.map +1 -1
  95. package/dist/stacks/box/left_resize_handle.js +10 -9
  96. package/dist/stacks/box/left_resize_handle.js.map +1 -1
  97. package/dist/stacks/box/resize_handlers.d.ts +2 -2
  98. package/dist/stacks/box/resize_handlers.d.ts.map +1 -1
  99. package/dist/stacks/box/resize_handlers.js +24 -24
  100. package/dist/stacks/box/resize_handlers.js.map +1 -1
  101. package/dist/stacks/box/right_resize_handle.d.ts +2 -2
  102. package/dist/stacks/box/right_resize_handle.d.ts.map +1 -1
  103. package/dist/stacks/box/right_resize_handle.js +6 -5
  104. package/dist/stacks/box/right_resize_handle.js.map +1 -1
  105. package/dist/stacks/box/start_resize_handle.d.ts +2 -2
  106. package/dist/stacks/box/start_resize_handle.d.ts.map +1 -1
  107. package/dist/stacks/box/start_resize_handle.js +4 -4
  108. package/dist/stacks/box/start_resize_handle.js.map +1 -1
  109. package/dist/stacks/box/top_resize_handle.d.ts +2 -2
  110. package/dist/stacks/box/top_resize_handle.d.ts.map +1 -1
  111. package/dist/stacks/box/top_resize_handle.js +2 -1
  112. package/dist/stacks/box/top_resize_handle.js.map +1 -1
  113. package/dist/stacks/h_collapsible_box.d.ts.map +1 -1
  114. package/dist/stacks/h_collapsible_box.js +24 -24
  115. package/dist/stacks/h_collapsible_box.js.map +1 -1
  116. package/dist/stacks/v_collapsible_box.js +25 -25
  117. package/dist/stacks/v_collapsible_box.js.map +1 -1
  118. package/dist/surfaces/confirm/confirm.js +5 -5
  119. package/dist/surfaces/index.d.ts +1 -2
  120. package/dist/surfaces/index.d.ts.map +1 -1
  121. package/dist/surfaces/index.js +18 -20
  122. package/dist/surfaces/index.js.map +1 -1
  123. package/dist/surfaces/panel/panel.d.ts +5 -0
  124. package/dist/surfaces/panel/panel.d.ts.map +1 -0
  125. package/dist/surfaces/panel/panel.js +19 -0
  126. package/dist/surfaces/panel/panel.js.map +1 -0
  127. package/dist/surfaces/pop_confirm/pop_confirm.js +1 -1
  128. package/dist/themes/theme.d.ts +2 -1
  129. package/dist/themes/theme.d.ts.map +1 -1
  130. package/dist/themes/theme.js +16 -9
  131. package/dist/themes/theme.js.map +1 -1
  132. package/dist/themes/themes/ergo/ergo_theme.css +1 -1
  133. package/dist/themes/themes/ergo/ergo_theme.js +27 -0
  134. package/dist/themes/themes/ergo/ergo_theme.js.map +1 -1
  135. package/dist/typography/body_text/body_text.d.ts +2 -1
  136. package/dist/typography/body_text/body_text.d.ts.map +1 -1
  137. package/dist/typography/body_text/body_text.js +24 -23
  138. package/dist/typography/body_text/body_text.js.map +1 -1
  139. package/dist/typography/callout/callout.d.ts +2 -1
  140. package/dist/typography/callout/callout.d.ts.map +1 -1
  141. package/dist/typography/callout/callout.js +28 -27
  142. package/dist/typography/callout/callout.js.map +1 -1
  143. package/dist/typography/caption/caption.d.ts +2 -1
  144. package/dist/typography/caption/caption.d.ts.map +1 -1
  145. package/dist/typography/caption/caption.js +18 -17
  146. package/dist/typography/caption/caption.js.map +1 -1
  147. package/dist/typography/footnote/footnote.d.ts +2 -1
  148. package/dist/typography/footnote/footnote.d.ts.map +1 -1
  149. package/dist/typography/footnote/footnote.js +25 -24
  150. package/dist/typography/footnote/footnote.js.map +1 -1
  151. package/dist/typography/headline/headline.d.ts +2 -1
  152. package/dist/typography/headline/headline.d.ts.map +1 -1
  153. package/dist/typography/headline/headline.js +36 -33
  154. package/dist/typography/headline/headline.js.map +1 -1
  155. package/dist/typography/subheadline/subheadline.d.ts +2 -1
  156. package/dist/typography/subheadline/subheadline.d.ts.map +1 -1
  157. package/dist/typography/subheadline/subheadline.js +35 -32
  158. package/dist/typography/subheadline/subheadline.js.map +1 -1
  159. package/dist/utils/dnd/context.d.ts.map +1 -1
  160. package/dist/utils/dnd/context.js +9 -7
  161. package/dist/utils/dnd/context.js.map +1 -1
  162. package/dist/utils/dnd/hooks/use_drag_container.d.ts.map +1 -1
  163. package/dist/utils/dnd/hooks/use_drag_container.js +29 -15
  164. package/dist/utils/dnd/hooks/use_drag_container.js.map +1 -1
  165. package/dist/utils/dnd/types.d.ts +3 -4
  166. package/dist/utils/dnd/types.d.ts.map +1 -1
  167. package/dist/utils/hooks/use_media_query.d.ts +5 -8
  168. package/dist/utils/hooks/use_media_query.d.ts.map +1 -1
  169. package/dist/utils/hooks/use_media_query.js +10 -11
  170. package/dist/utils/hooks/use_media_query.js.map +1 -1
  171. package/dist/utils/index.d.ts +1 -2
  172. package/dist/utils/index.d.ts.map +1 -1
  173. package/dist/utils/index.js +19 -21
  174. package/dist/utils/index.js.map +1 -1
  175. package/package.json +1 -1
  176. package/src/layouts/__stories__/composed.stories.tsx +0 -55
  177. package/src/layouts/__stories__/rail.stories.tsx +78 -0
  178. package/src/layouts/__stories__/scaffold.stories.tsx +90 -0
  179. package/src/layouts/__stories__/utils/content.tsx +27 -0
  180. package/src/layouts/__stories__/utils/layout_theme.css +88 -0
  181. package/src/layouts/__stories__/utils/layout_theme_provider.tsx +11 -0
  182. package/src/layouts/__stories__/utils.tsx +6 -6
  183. package/src/layouts/{utility_bar/utility_bar.module.css → bar/bar.module.css} +2 -1
  184. package/src/layouts/bar/bar.tsx +23 -0
  185. package/src/layouts/body/body.module.css +9 -4
  186. package/src/layouts/body/body.tsx +7 -6
  187. package/src/layouts/body/h_body.module.css +1 -2
  188. package/src/layouts/body/h_body.tsx +9 -4
  189. package/src/layouts/body/v_body.tsx +9 -4
  190. package/src/layouts/divider/divider.module.css +1 -1
  191. package/src/layouts/footer/footer.module.css +0 -3
  192. package/src/layouts/footer/footer.tsx +5 -6
  193. package/src/layouts/header/header.tsx +6 -15
  194. package/src/layouts/index.ts +2 -1
  195. package/src/layouts/rail/rail.module.css +9 -5
  196. package/src/layouts/rail/rail.tsx +1 -1
  197. package/src/layouts/rail/side/side.module.css +0 -1
  198. package/src/layouts/rail/side/side.tsx +1 -2
  199. package/src/layouts/rail/utility_strip/utility_strip.module.css +5 -0
  200. package/src/layouts/rail/utility_strip/utility_strip.tsx +4 -1
  201. package/src/layouts/responsive/breakpoint.tsx +29 -0
  202. package/src/layouts/responsive/responsive.stories.tsx +37 -0
  203. package/src/layouts/responsive/responsive.tsx +18 -0
  204. package/src/layouts/responsive/responsive_container.tsx +51 -0
  205. package/src/layouts/responsive/responsive_viewport.tsx +17 -0
  206. package/src/layouts/scaffold/scaffold.module.css +10 -7
  207. package/src/layouts/scaffold/scaffold.tsx +1 -1
  208. package/src/layouts/utility_bar/utility_bar.tsx +6 -9
  209. package/src/overlay/frame/frame.tsx +2 -2
  210. package/src/stacks/box/bottom_resize_handle.tsx +7 -5
  211. package/src/stacks/box/box.tsx +12 -18
  212. package/src/stacks/box/end_resize_handle.tsx +6 -6
  213. package/src/stacks/box/left_resize_handle.tsx +4 -3
  214. package/src/stacks/box/resize_handlers.ts +11 -9
  215. package/src/stacks/box/right_resize_handle.tsx +4 -3
  216. package/src/stacks/box/start_resize_handle.tsx +3 -3
  217. package/src/stacks/box/top_resize_handle.tsx +4 -3
  218. package/src/stacks/collapsible_box.stories.tsx +11 -11
  219. package/src/stacks/h_collapsible_box.tsx +5 -5
  220. package/src/stacks/v_collapsible_box.tsx +4 -4
  221. package/src/surfaces/index.ts +1 -2
  222. package/src/surfaces/panel/__stories__/panel.stories.tsx +12 -12
  223. package/src/surfaces/panel/__stories__/panel_stories.module.css +3 -3
  224. package/src/surfaces/panel/panel.module.css +1 -6
  225. package/src/surfaces/panel/panel.tsx +22 -0
  226. package/src/themes/theme.tsx +6 -2
  227. package/src/themes/themes/ergo/__stories__/material.stories.tsx +15 -16
  228. package/src/themes/themes/ergo/ergo_theme.css +27 -0
  229. package/src/typography/body_text/body_text.tsx +21 -17
  230. package/src/typography/callout/callout.tsx +20 -16
  231. package/src/typography/caption/caption.tsx +20 -16
  232. package/src/typography/footnote/footnote.tsx +20 -16
  233. package/src/typography/headline/headline.tsx +60 -54
  234. package/src/typography/subheadline/subheadline.tsx +60 -54
  235. package/src/utils/dnd/__stories__/draggable.stories.tsx +34 -0
  236. package/src/utils/dnd/context.ts +1 -0
  237. package/src/utils/dnd/hooks/use_drag_container.ts +18 -1
  238. package/src/utils/dnd/types.ts +4 -1
  239. package/src/utils/hooks/use_media_query.ts +16 -27
  240. package/src/utils/index.ts +1 -3
  241. package/dist/body_text.module-h4XQE2pC.js +0 -5
  242. package/dist/body_text.module-h4XQE2pC.js.map +0 -1
  243. package/dist/callout.module-D8ECmxpO.js +0 -5
  244. package/dist/callout.module-D8ECmxpO.js.map +0 -1
  245. package/dist/caption.module-DDq0H4xZ.js +0 -5
  246. package/dist/caption.module-DDq0H4xZ.js.map +0 -1
  247. package/dist/footnote.module-DEyFuqOr.js +0 -5
  248. package/dist/footnote.module-DEyFuqOr.js.map +0 -1
  249. package/dist/h_body.css +0 -1
  250. package/dist/h_panel.css +0 -1
  251. package/dist/header.css +0 -1
  252. package/dist/headline.module-BiwHBtGf.js +0 -5
  253. package/dist/headline.module-BiwHBtGf.js.map +0 -1
  254. package/dist/layouts/rail/main/main.d.ts +0 -6
  255. package/dist/layouts/rail/main/main.d.ts.map +0 -1
  256. package/dist/layouts/rail/main/main.js +0 -21
  257. package/dist/layouts/rail/main/main.js.map +0 -1
  258. package/dist/main.css +0 -1
  259. package/dist/subheadline.module-C-v7zMkQ.js +0 -5
  260. package/dist/subheadline.module-C-v7zMkQ.js.map +0 -1
  261. package/dist/surfaces/panel/h_panel.d.ts +0 -9
  262. package/dist/surfaces/panel/h_panel.d.ts.map +0 -1
  263. package/dist/surfaces/panel/h_panel.js +0 -60
  264. package/dist/surfaces/panel/h_panel.js.map +0 -1
  265. package/dist/surfaces/panel/v_panel.d.ts +0 -5
  266. package/dist/surfaces/panel/v_panel.d.ts.map +0 -1
  267. package/dist/surfaces/panel/v_panel.js +0 -19
  268. package/dist/surfaces/panel/v_panel.js.map +0 -1
  269. package/dist/utility_bar.css +0 -1
  270. package/dist/utils/responsive/responsive_renderer.d.ts +0 -21
  271. package/dist/utils/responsive/responsive_renderer.d.ts.map +0 -1
  272. package/dist/utils/responsive/responsive_renderer.js +0 -12
  273. package/dist/utils/responsive/responsive_renderer.js.map +0 -1
  274. package/dist/v_body.css +0 -1
  275. package/src/layouts/header/header.module.css +0 -8
  276. package/src/layouts/rail/__stories__/rail.stories.tsx +0 -64
  277. package/src/layouts/rail/__stories__/rail_stories.module.css +0 -25
  278. package/src/layouts/rail/main/main.module.css +0 -7
  279. package/src/layouts/rail/main/main.tsx +0 -26
  280. package/src/layouts/scaffold/__stories__/scaffold.stories.tsx +0 -53
  281. package/src/layouts/scaffold/__stories__/scaffold_stories.module.css +0 -31
  282. package/src/surfaces/panel/h_panel.tsx +0 -65
  283. package/src/surfaces/panel/v_panel.tsx +0 -20
  284. package/src/utils/responsive/responsive_renderer.stories.tsx +0 -77
  285. package/src/utils/responsive/responsive_renderer.tsx +0 -31
@@ -1,21 +0,0 @@
1
- import { jsx as r } from "react/jsx-runtime";
2
- import i from "react";
3
- import { clsx as c } from "clsx";
4
- import { HStack as s } from "../../../stacks/h_stack.js";
5
- import '../../../main.css';const e = "_main_bc17de6", f = { main: e }, x = i.forwardRef(function({ children: t, className: o, overflowX: a = "auto", ...m }, n) {
6
- return /* @__PURE__ */ r(
7
- s,
8
- {
9
- ref: n,
10
- as: "div",
11
- overflowX: a,
12
- className: c(f.main, o, "tcn-main"),
13
- ...m,
14
- children: t
15
- }
16
- );
17
- });
18
- export {
19
- x as Main
20
- };
21
- //# sourceMappingURL=main.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"main.js","sources":["../../../../src/layouts/rail/main/main.tsx"],"sourcesContent":["import React from 'react';\nimport { clsx } from 'clsx';\nimport { HStack, type HStackProps } from '../../../stacks/h_stack.js';\n\n// Styles\nimport styles from './main.module.css';\n\nexport interface MainProps extends Omit<HStackProps, 'as'> {}\n\n// WIP: This component is not fully implemented.\nexport const Main = React.forwardRef<HTMLElement, MainProps>(function Main(\n { children, className, overflowX = 'auto', ...props }: MainProps,\n ref\n) {\n return (\n <HStack\n ref={ref}\n as=\"div\"\n overflowX={overflowX}\n className={clsx(styles['main'], className, 'tcn-main')}\n {...props}\n >\n {children}\n </HStack>\n );\n});\n"],"names":["Main","React","children","className","overflowX","props","ref","jsx","HStack","clsx","styles"],"mappings":";;;;4CAUaA,IAAOC,EAAM,WAAmC,SAC3D,EAAE,UAAAC,GAAU,WAAAC,GAAW,WAAAC,IAAY,QAAQ,GAAGC,EAAA,GAC9CC,GACA;AACA,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,KAAAF;AAAA,MACA,IAAG;AAAA,MACH,WAAAF;AAAA,MACA,WAAWK,EAAKC,EAAO,MAASP,GAAW,UAAU;AAAA,MACpD,GAAGE;AAAA,MAEH,UAAAH;AAAA,IAAA;AAAA,EAAA;AAGP,CAAC;"}
package/dist/main.css DELETED
@@ -1 +0,0 @@
1
- @layer tcn-system{:where(._main_bc17de6){min-width:0;flex-grow:1;height:100%}}
@@ -1,5 +0,0 @@
1
- import './subheadline.css';const s = "_subheadline_ae8bc38", e = { subheadline: s };
2
- export {
3
- e as s
4
- };
5
- //# sourceMappingURL=subheadline.module-C-v7zMkQ.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subheadline.module-C-v7zMkQ.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,9 +0,0 @@
1
- import { default as React } from 'react';
2
- import { BoxProps } from '../../stacks/box/box.js';
3
- import { Alignment } from '../../stacks/types/alignment.js';
4
- export interface HPanelProps extends Omit<BoxProps, 'as'> {
5
- vAlign?: Alignment;
6
- hAlign?: Alignment;
7
- }
8
- export declare const HPanel: React.ForwardRefExoticComponent<HPanelProps & React.RefAttributes<HTMLElement>>;
9
- //# sourceMappingURL=h_panel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"h_panel.d.ts","sourceRoot":"","sources":["../../../src/surfaces/panel/h_panel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAO,KAAK,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAIjE,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC;IACvD,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB;AAED,eAAO,MAAM,MAAM,iFAmDjB,CAAC"}
@@ -1,60 +0,0 @@
1
- import { jsx as p } from "react/jsx-runtime";
2
- import u from "react";
3
- import { clsx as r } from "clsx";
4
- import { Box as x } from "../../stacks/box/box.js";
5
- import { HStack as i } from "../../stacks/h_stack.js";
6
- import '../../h_panel.css';const P = "_panel-stack_f1896f3", f = { "panel-stack": P }, B = u.forwardRef(function({
7
- children: m,
8
- width: k,
9
- height: d,
10
- minWidth: a,
11
- maxWidth: t,
12
- minHeight: n,
13
- maxHeight: e,
14
- hAlign: c,
15
- vAlign: o = "start",
16
- className: l,
17
- ..._
18
- }, s) {
19
- return /* @__PURE__ */ p(
20
- x,
21
- {
22
- ref: s,
23
- width: k,
24
- height: d,
25
- minWidth: a,
26
- maxWidth: t,
27
- minHeight: n,
28
- maxHeight: e,
29
- "data-h-alignment": c,
30
- "data-v-alignment": o,
31
- className: r(f.panel, l, "panel", "tcn-panel", "tcn-h-panel"),
32
- ..._,
33
- children: /* @__PURE__ */ p(
34
- i,
35
- {
36
- as: "section",
37
- minWidth: a,
38
- maxWidth: t,
39
- minHeight: n,
40
- maxHeight: e,
41
- hAlign: c,
42
- vAlign: o,
43
- ref: s,
44
- className: r(
45
- f["panel-stack"],
46
- l,
47
- "panel-stack",
48
- "tcn-panel-stack"
49
- ),
50
- zIndex: 0,
51
- children: m
52
- }
53
- )
54
- }
55
- );
56
- });
57
- export {
58
- B as HPanel
59
- };
60
- //# sourceMappingURL=h_panel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"h_panel.js","sources":["../../../src/surfaces/panel/h_panel.tsx"],"sourcesContent":["import React from 'react';\nimport { clsx } from 'clsx';\nimport { Box, type BoxProps } from '../../stacks/box/box.js';\nimport { HStack } from '../../stacks/h_stack.js';\nimport type { Alignment } from '../../stacks/types/alignment.js';\n// Styles\nimport styles from './panel.module.css';\n\nexport interface HPanelProps extends Omit<BoxProps, 'as'> {\n vAlign?: Alignment;\n hAlign?: Alignment;\n}\n\nexport const HPanel = React.forwardRef<HTMLElement, HPanelProps>(function HPanel(\n {\n children,\n width,\n height,\n minWidth,\n maxWidth,\n minHeight,\n maxHeight,\n hAlign,\n vAlign = 'start',\n className,\n ...props\n }: HPanelProps,\n ref\n) {\n return (\n <Box\n ref={ref}\n width={width}\n height={height}\n minWidth={minWidth}\n maxWidth={maxWidth}\n minHeight={minHeight}\n maxHeight={maxHeight}\n data-h-alignment={hAlign}\n data-v-alignment={vAlign}\n className={clsx(styles['panel'], className, 'panel', 'tcn-panel', 'tcn-h-panel')}\n {...props}\n >\n <HStack\n as=\"section\"\n minWidth={minWidth}\n maxWidth={maxWidth}\n minHeight={minHeight}\n maxHeight={maxHeight}\n hAlign={hAlign}\n vAlign={vAlign}\n ref={ref}\n className={clsx(\n styles['panel-stack'],\n className,\n 'panel-stack',\n 'tcn-panel-stack'\n )}\n zIndex={0}\n >\n {children}\n </HStack>\n </Box>\n );\n});\n"],"names":["HPanel","React","children","width","height","minWidth","maxWidth","minHeight","maxHeight","hAlign","vAlign","className","props","ref","jsx","Box","clsx","styles","HStack"],"mappings":";;;;;4DAaaA,IAASC,EAAM,WAAqC,SAC/D;AAAA,EACE,UAAAC;AAAA,EACA,OAAAC;AAAA,EACA,QAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,WAAAC;AAAA,EACA,QAAAC;AAAA,EACA,QAAAC,IAAS;AAAA,EACT,WAAAC;AAAA,EACA,GAAGC;AACL,GACAC,GACA;AACA,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,KAAAF;AAAA,MACA,OAAAV;AAAA,MACA,QAAAC;AAAA,MACA,UAAAC;AAAA,MACA,UAAAC;AAAA,MACA,WAAAC;AAAA,MACA,WAAAC;AAAA,MACA,oBAAkBC;AAAA,MAClB,oBAAkBC;AAAA,MAClB,WAAWM,EAAKC,EAAO,OAAUN,GAAW,SAAS,aAAa,aAAa;AAAA,MAC9E,GAAGC;AAAA,MAEJ,UAAA,gBAAAE;AAAA,QAACI;AAAA,QAAA;AAAA,UACC,IAAG;AAAA,UACH,UAAAb;AAAA,UACA,UAAAC;AAAA,UACA,WAAAC;AAAA,UACA,WAAAC;AAAA,UACA,QAAAC;AAAA,UACA,QAAAC;AAAA,UACA,KAAAG;AAAA,UACA,WAAWG;AAAA,YACTC,EAAO,aAAa;AAAA,YACpBN;AAAA,YACA;AAAA,YACA;AAAA,UAAA;AAAA,UAEF,QAAQ;AAAA,UAEP,UAAAT;AAAA,QAAA;AAAA,MAAA;AAAA,IACH;AAAA,EAAA;AAGN,CAAC;"}
@@ -1,5 +0,0 @@
1
- import { default as React } from 'react';
2
- import { ScaffoldProps } from '../../layouts/scaffold/scaffold.js';
3
- export type VPanelProps = ScaffoldProps;
4
- export declare const VPanel: React.ForwardRefExoticComponent<ScaffoldProps & React.RefAttributes<HTMLElement>>;
5
- //# sourceMappingURL=v_panel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"v_panel.d.ts","sourceRoot":"","sources":["../../../src/surfaces/panel/v_panel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAGlF,MAAM,MAAM,WAAW,GAAG,aAAa,CAAC;AAExC,eAAO,MAAM,MAAM,mFAajB,CAAC"}
@@ -1,19 +0,0 @@
1
- import { jsx as e } from "react/jsx-runtime";
2
- import f from "react";
3
- import { Scaffold as n } from "../../layouts/scaffold/scaffold.js";
4
- import c from "clsx";
5
- const u = f.forwardRef(function({ children: r, className: o, ...t }, a) {
6
- return /* @__PURE__ */ e(
7
- n,
8
- {
9
- ref: a,
10
- className: c("tcn-surface", "tcn-panel", "tcn-v-panel", o),
11
- ...t,
12
- children: r
13
- }
14
- );
15
- });
16
- export {
17
- u as VPanel
18
- };
19
- //# sourceMappingURL=v_panel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"v_panel.js","sources":["../../../src/surfaces/panel/v_panel.tsx"],"sourcesContent":["import React from 'react';\nimport { Scaffold, type ScaffoldProps } from '../../layouts/scaffold/scaffold.js';\nimport clsx from 'clsx';\n\nexport type VPanelProps = ScaffoldProps;\n\nexport const VPanel = React.forwardRef<HTMLElement, VPanelProps>(function VPanel(\n { children, className, ...props }: VPanelProps,\n ref\n) {\n return (\n <Scaffold\n ref={ref}\n className={clsx('tcn-surface', 'tcn-panel', 'tcn-v-panel', className)}\n {...props}\n >\n {children}\n </Scaffold>\n );\n});\n"],"names":["VPanel","React","children","className","props","ref","jsx","Scaffold","clsx"],"mappings":";;;;AAMO,MAAMA,IAASC,EAAM,WAAqC,SAC/D,EAAE,UAAAC,GAAU,WAAAC,GAAW,GAAGC,EAAA,GAC1BC,GACA;AACA,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,KAAAF;AAAA,MACA,WAAWG,EAAK,eAAe,aAAa,eAAeL,CAAS;AAAA,MACnE,GAAGC;AAAA,MAEH,UAAAF;AAAA,IAAA;AAAA,EAAA;AAGP,CAAC;"}
@@ -1 +0,0 @@
1
- @layer tcn-system{:where(._utility-bar_3a92315){width:100%;min-height:0}}
@@ -1,21 +0,0 @@
1
- import { default as React } from 'react';
2
- export interface ResponsiveRendererProps {
3
- /**
4
- * Component to render on mobile devices (width < 768px)
5
- */
6
- mobile: React.ReactNode;
7
- /**
8
- * Component to render on desktop devices (width >= 768px)
9
- */
10
- desktop: React.ReactNode;
11
- /**
12
- * Optional breakpoint in pixels. Defaults to 768px
13
- */
14
- breakpoint?: number;
15
- }
16
- /**
17
- * A component that renders different content based on screen size.
18
- * Uses the useMediaQuery hook to detect screen size changes.
19
- */
20
- export declare function ResponsiveRenderer({ mobile, desktop, breakpoint, }: ResponsiveRendererProps): React.ReactNode;
21
- //# sourceMappingURL=responsive_renderer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"responsive_renderer.d.ts","sourceRoot":"","sources":["../../../src/utils/responsive/responsive_renderer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB;;OAEG;IACH,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,MAAM,EACN,OAAO,EACP,UAAgB,GACjB,EAAE,uBAAuB,mBAIzB"}
@@ -1,12 +0,0 @@
1
- import { useMediaQuery as r } from "../hooks/use_media_query.js";
2
- function n({
3
- mobile: e,
4
- desktop: i,
5
- breakpoint: o = 450
6
- }) {
7
- return r(`(min-width: ${o}px)`) ? i : e;
8
- }
9
- export {
10
- n as ResponsiveRenderer
11
- };
12
- //# sourceMappingURL=responsive_renderer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"responsive_renderer.js","sources":["../../../src/utils/responsive/responsive_renderer.tsx"],"sourcesContent":["import React from 'react';\nimport { useMediaQuery } from '../hooks/use_media_query.js';\n\nexport interface ResponsiveRendererProps {\n /**\n * Component to render on mobile devices (width < 768px)\n */\n mobile: React.ReactNode;\n /**\n * Component to render on desktop devices (width >= 768px)\n */\n desktop: React.ReactNode;\n /**\n * Optional breakpoint in pixels. Defaults to 768px\n */\n breakpoint?: number;\n}\n\n/**\n * A component that renders different content based on screen size.\n * Uses the useMediaQuery hook to detect screen size changes.\n */\nexport function ResponsiveRenderer({\n mobile,\n desktop,\n breakpoint = 450,\n}: ResponsiveRendererProps) {\n const isDesktop = useMediaQuery(`(min-width: ${breakpoint}px)`);\n\n return isDesktop ? desktop : mobile;\n}\n"],"names":["ResponsiveRenderer","mobile","desktop","breakpoint","useMediaQuery"],"mappings":";AAsBO,SAASA,EAAmB;AAAA,EACjC,QAAAC;AAAA,EACA,SAAAC;AAAA,EACA,YAAAC,IAAa;AACf,GAA4B;AAG1B,SAFkBC,EAAc,eAAeD,CAAU,KAAK,IAE3CD,IAAUD;AAC/B;"}
package/dist/v_body.css DELETED
@@ -1 +0,0 @@
1
- @layer tcn-system{._v-body_d8f1917{min-height:0;flex-grow:1;width:100%}}
@@ -1,8 +0,0 @@
1
- @layer tcn-system {
2
- :where(.header) {
3
- width: 100%;
4
- min-height: 0;
5
- padding: var(--padding) var(--padding-large);
6
- gap: var(--gap);
7
- }
8
- }
@@ -1,64 +0,0 @@
1
- import { Main } from '../main/main.js';
2
- import { Rail } from '../rail.js';
3
- import type { Meta, StoryObj } from '@storybook/react-vite';
4
- import { Side } from '../side/side.js';
5
- import { VStack } from '../../../stacks/v_stack.js';
6
-
7
- import styles from './rail_stories.module.css';
8
-
9
- const meta: Meta<typeof Rail> = {
10
- title: 'Layouts/Rail',
11
- component: Rail,
12
- tags: ['autodocs'],
13
- parameters: {
14
- docs: {
15
- description: {
16
- component: 'A rail component that lays out content in a horizontal hierarchy.',
17
- },
18
- },
19
- },
20
- };
21
-
22
- export default meta;
23
-
24
- type Story = StoryObj<typeof Rail>;
25
-
26
- const Content = ({ children }: { children?: React.ReactNode }) => {
27
- return (
28
- <VStack hAlign="start" className={styles.content}>
29
- {children}
30
- </VStack>
31
- );
32
- };
33
-
34
- export const Baseline: Story = {
35
- args: {
36
- height: '100vh',
37
- },
38
- render: () => (
39
- <Rail height="100vh" className={styles.rail}>
40
- <Side className={styles.side}>
41
- <p>Side (Start)</p>
42
- <p>Fills available space</p>
43
- <p>Scrolls horizontally</p>
44
- </Side>
45
-
46
- <Main className={styles.main}>
47
- <Content>
48
- <p>Main</p>
49
- <p>Fills available space</p>
50
- <p>Scrolls horizontally</p>
51
- </Content>
52
- <Content />
53
- <Content />
54
- <Content />
55
- <Content />
56
- </Main>
57
- <Side className={styles.side}>
58
- <p>Side (End)</p>
59
- <p>Fills available space</p>
60
- <p>Scrolls horizontally</p>
61
- </Side>
62
- </Rail>
63
- ),
64
- };
@@ -1,25 +0,0 @@
1
- .rail {
2
- :global(.tcn-rail-stack) {
3
- gap: 8px;
4
- }
5
- }
6
-
7
- .main {
8
- background-color: #f1f5f9;
9
- gap: 16px;
10
- padding: 16px 0;
11
- }
12
-
13
- .side {
14
- width: 200px;
15
- background-color: #3b82f6;
16
- color: white;
17
- padding: 16px 0;
18
- }
19
-
20
- .content {
21
- background-color: #e5e7eb;
22
- min-width: 200px;
23
- height: 100%;
24
- padding: 16px;
25
- }
@@ -1,7 +0,0 @@
1
- @layer tcn-system {
2
- :where(.main) {
3
- min-width: 0;
4
- flex-grow: 1;
5
- height: 100%;
6
- }
7
- }
@@ -1,26 +0,0 @@
1
- import React from 'react';
2
- import { clsx } from 'clsx';
3
- import { HStack, type HStackProps } from '../../../stacks/h_stack.js';
4
-
5
- // Styles
6
- import styles from './main.module.css';
7
-
8
- export interface MainProps extends Omit<HStackProps, 'as'> {}
9
-
10
- // WIP: This component is not fully implemented.
11
- export const Main = React.forwardRef<HTMLElement, MainProps>(function Main(
12
- { children, className, overflowX = 'auto', ...props }: MainProps,
13
- ref
14
- ) {
15
- return (
16
- <HStack
17
- ref={ref}
18
- as="div"
19
- overflowX={overflowX}
20
- className={clsx(styles['main'], className, 'tcn-main')}
21
- {...props}
22
- >
23
- {children}
24
- </HStack>
25
- );
26
- });
@@ -1,53 +0,0 @@
1
- import { Scaffold } from '../scaffold.js';
2
- import { Header } from '../../header/header.js';
3
- import { UtilityBar } from '../../utility_bar/utility_bar.js';
4
- import { VBody } from '../../body/v_body.js';
5
- import { Footer } from '../../footer/footer.js';
6
- import type { Meta, StoryObj } from '@storybook/react-vite';
7
- import { HStack } from '../../../stacks/h_stack.js';
8
-
9
- import styles from './scaffold_stories.module.css';
10
-
11
- const meta: Meta<typeof Scaffold> = {
12
- title: 'Layouts/Scaffold',
13
- component: Scaffold,
14
- tags: ['autodocs'],
15
- parameters: {
16
- docs: {
17
- description: {
18
- component: 'A scaffold component that lays out content in a vertical hierarchy.',
19
- },
20
- },
21
- },
22
- };
23
-
24
- export default meta;
25
-
26
- type Story = StoryObj<typeof Scaffold>;
27
-
28
- const Content = () => {
29
- return <HStack className={styles.content} />;
30
- };
31
-
32
- export const Baseline: Story = {
33
- args: {
34
- height: '100vh',
35
- },
36
- render: () => (
37
- <Scaffold height="100vh">
38
- <Header className={styles.header}>Header</Header>
39
- <UtilityBar className={styles.utilityBar}>Utility Bar</UtilityBar>
40
- <VBody className={styles.body}>
41
- <p>(V)Body</p>
42
- <p>Fills available space</p>
43
- <p>Scrolls vertically</p>
44
- <Content />
45
- <Content />
46
- <Content />
47
- <Content />
48
- <Content />
49
- </VBody>
50
- <Footer className={styles.footer}>Footer</Footer>
51
- </Scaffold>
52
- ),
53
- };
@@ -1,31 +0,0 @@
1
- .header {
2
- height: 56px;
3
- background-color: #3b82f6;
4
- color: white;
5
- }
6
-
7
- .utilityBar {
8
- height: 40px;
9
- background-color: #8b5cf6;
10
- color: white;
11
- }
12
-
13
- .body {
14
- background-color: #f1f5f9;
15
- }
16
-
17
- .footer {
18
- height: 48px;
19
- background-color: #10b981;
20
- color: white;
21
- }
22
-
23
- .level {
24
- background-color: #0ab4d2;
25
- color: white;
26
- }
27
-
28
- .content {
29
- background-color: #e5e7eb;
30
- height: 100px;
31
- }
@@ -1,65 +0,0 @@
1
- import React from 'react';
2
- import { clsx } from 'clsx';
3
- import { Box, type BoxProps } from '../../stacks/box/box.js';
4
- import { HStack } from '../../stacks/h_stack.js';
5
- import type { Alignment } from '../../stacks/types/alignment.js';
6
- // Styles
7
- import styles from './panel.module.css';
8
-
9
- export interface HPanelProps extends Omit<BoxProps, 'as'> {
10
- vAlign?: Alignment;
11
- hAlign?: Alignment;
12
- }
13
-
14
- export const HPanel = React.forwardRef<HTMLElement, HPanelProps>(function HPanel(
15
- {
16
- children,
17
- width,
18
- height,
19
- minWidth,
20
- maxWidth,
21
- minHeight,
22
- maxHeight,
23
- hAlign,
24
- vAlign = 'start',
25
- className,
26
- ...props
27
- }: HPanelProps,
28
- ref
29
- ) {
30
- return (
31
- <Box
32
- ref={ref}
33
- width={width}
34
- height={height}
35
- minWidth={minWidth}
36
- maxWidth={maxWidth}
37
- minHeight={minHeight}
38
- maxHeight={maxHeight}
39
- data-h-alignment={hAlign}
40
- data-v-alignment={vAlign}
41
- className={clsx(styles['panel'], className, 'panel', 'tcn-panel', 'tcn-h-panel')}
42
- {...props}
43
- >
44
- <HStack
45
- as="section"
46
- minWidth={minWidth}
47
- maxWidth={maxWidth}
48
- minHeight={minHeight}
49
- maxHeight={maxHeight}
50
- hAlign={hAlign}
51
- vAlign={vAlign}
52
- ref={ref}
53
- className={clsx(
54
- styles['panel-stack'],
55
- className,
56
- 'panel-stack',
57
- 'tcn-panel-stack'
58
- )}
59
- zIndex={0}
60
- >
61
- {children}
62
- </HStack>
63
- </Box>
64
- );
65
- });
@@ -1,20 +0,0 @@
1
- import React from 'react';
2
- import { Scaffold, type ScaffoldProps } from '../../layouts/scaffold/scaffold.js';
3
- import clsx from 'clsx';
4
-
5
- export type VPanelProps = ScaffoldProps;
6
-
7
- export const VPanel = React.forwardRef<HTMLElement, VPanelProps>(function VPanel(
8
- { children, className, ...props }: VPanelProps,
9
- ref
10
- ) {
11
- return (
12
- <Scaffold
13
- ref={ref}
14
- className={clsx('tcn-surface', 'tcn-panel', 'tcn-v-panel', className)}
15
- {...props}
16
- >
17
- {children}
18
- </Scaffold>
19
- );
20
- });
@@ -1,77 +0,0 @@
1
- import React from 'react';
2
- import { Meta } from '@storybook/react-vite';
3
- import { BodyText } from '../../typography/index.js';
4
- import { StyleBox } from '../../stacks/story_components/style_box.js';
5
- import { ResponsiveRenderer as ResponsiveRendererComponent } from './responsive_renderer.js';
6
-
7
- const meta: Meta<typeof ResponsiveRendererComponent> = {
8
- title: 'Utils/Responsive Renderer',
9
- component: ResponsiveRendererComponent,
10
- tags: ['autodocs'],
11
- parameters: {
12
- layout: 'centered',
13
- },
14
- };
15
-
16
- export default meta;
17
-
18
- export function ResponsiveRenderer() {
19
- return (
20
- <ResponsiveRendererComponent
21
- mobile={
22
- <StyleBox
23
- className="surface-primary"
24
- padding="16px"
25
- borderRadius="8px"
26
- boxShadow="0 2px 4px rgba(0,0,0,0.1)"
27
- >
28
- <BodyText>Mobile Layout</BodyText>
29
- <BodyText>This content is optimized for smaller screens</BodyText>
30
- </StyleBox>
31
- }
32
- desktop={
33
- <StyleBox
34
- className="surface-primary"
35
- padding="24px"
36
- borderRadius="8px"
37
- boxShadow="0 4px 8px rgba(0,0,0,0.1)"
38
- width="400px"
39
- >
40
- <BodyText>Desktop Layout</BodyText>
41
- <BodyText>This content is optimized for larger screens</BodyText>
42
- </StyleBox>
43
- }
44
- />
45
- );
46
- }
47
-
48
- export function CustomBreakpoint() {
49
- return (
50
- <ResponsiveRendererComponent
51
- breakpoint={1024}
52
- mobile={
53
- <StyleBox
54
- className="surface-primary"
55
- padding="16px"
56
- borderRadius="8px"
57
- boxShadow="0 2px 4px rgba(0,0,0,0.1)"
58
- >
59
- <BodyText>Tablet/Mobile Layout</BodyText>
60
- <BodyText>Shows on screens smaller than 1024px</BodyText>
61
- </StyleBox>
62
- }
63
- desktop={
64
- <StyleBox
65
- className="surface-primary"
66
- padding="24px"
67
- borderRadius="8px"
68
- boxShadow="0 4px 8px rgba(0,0,0,0.1)"
69
- width="400px"
70
- >
71
- <BodyText>Large Desktop Layout</BodyText>
72
- <BodyText>Shows on screens 1024px and larger</BodyText>
73
- </StyleBox>
74
- }
75
- />
76
- );
77
- }
@@ -1,31 +0,0 @@
1
- import React from 'react';
2
- import { useMediaQuery } from '../hooks/use_media_query.js';
3
-
4
- export interface ResponsiveRendererProps {
5
- /**
6
- * Component to render on mobile devices (width < 768px)
7
- */
8
- mobile: React.ReactNode;
9
- /**
10
- * Component to render on desktop devices (width >= 768px)
11
- */
12
- desktop: React.ReactNode;
13
- /**
14
- * Optional breakpoint in pixels. Defaults to 768px
15
- */
16
- breakpoint?: number;
17
- }
18
-
19
- /**
20
- * A component that renders different content based on screen size.
21
- * Uses the useMediaQuery hook to detect screen size changes.
22
- */
23
- export function ResponsiveRenderer({
24
- mobile,
25
- desktop,
26
- breakpoint = 450,
27
- }: ResponsiveRendererProps) {
28
- const isDesktop = useMediaQuery(`(min-width: ${breakpoint}px)`);
29
-
30
- return isDesktop ? desktop : mobile;
31
- }