@tcn/ui 0.13.1 → 0.15.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 (336) hide show
  1. package/README.md +1 -1
  2. package/dist/{Color-6BZIO3FS-C9xkPWgz.js → Color-6BZIO3FS-CKNkzBV6.js} +2 -2
  3. package/dist/{Color-6BZIO3FS-C9xkPWgz.js.map → Color-6BZIO3FS-CKNkzBV6.js.map} +1 -1
  4. package/dist/{WithTooltip-65CFNBJE-DEnh547F.js → WithTooltip-65CFNBJE-Bgt57Jw2.js} +2 -2
  5. package/dist/WithTooltip-65CFNBJE-Bgt57Jw2.js.map +1 -0
  6. package/dist/actions/__docs__/components/showcase.js +1 -1
  7. package/dist/actions/button/button_group/button_group.d.ts +1 -0
  8. package/dist/actions/button/button_group/button_group.d.ts.map +1 -1
  9. package/dist/actions/button/button_group/button_group.js +33 -30
  10. package/dist/actions/button/button_group/button_group.js.map +1 -1
  11. package/dist/actions/types.js +2 -0
  12. package/dist/actions/types.js.map +1 -0
  13. package/dist/aside.css +1 -1
  14. package/dist/containers.css +1 -0
  15. package/dist/containers.module-DlGySre0.js +5 -0
  16. package/dist/containers.module-DlGySre0.js.map +1 -0
  17. package/dist/floating_action_button.css +1 -0
  18. package/dist/form/field/common/types.js +2 -0
  19. package/dist/form/field/common/types.js.map +1 -0
  20. package/dist/form/field_set/field_set.d.ts.map +1 -1
  21. package/dist/form/field_set/field_set.js +11 -11
  22. package/dist/form/field_set/field_set.js.map +1 -1
  23. package/dist/formatter-EIJCOSYU-ByaSCvt6.js +6 -0
  24. package/dist/formatter-EIJCOSYU-ByaSCvt6.js.map +1 -0
  25. package/dist/inputs/mask_input/mask_config.js +2 -0
  26. package/dist/inputs/mask_input/mask_config.js.map +1 -0
  27. package/dist/inputs/mask_input/mask_cursor.js +2 -0
  28. package/dist/inputs/mask_input/mask_cursor.js.map +1 -0
  29. package/dist/inputs/multiselect/multiselect_inline_values.js +9 -7
  30. package/dist/inputs/multiselect/multiselect_inline_values.js.map +1 -1
  31. package/dist/inputs/multiselect/multiselect_values.js +4 -2
  32. package/dist/inputs/multiselect/multiselect_values.js.map +1 -1
  33. package/dist/layouts/containers/rail.d.ts.map +1 -0
  34. package/dist/layouts/containers/rail.js +67 -0
  35. package/dist/layouts/containers/rail.js.map +1 -0
  36. package/dist/layouts/containers/scaffold.d.ts.map +1 -0
  37. package/dist/layouts/containers/scaffold.js +67 -0
  38. package/dist/layouts/containers/scaffold.js.map +1 -0
  39. package/dist/layouts/containers/side/side.d.ts.map +1 -0
  40. package/dist/layouts/containers/side/side.js +22 -0
  41. package/dist/layouts/containers/side/side.js.map +1 -0
  42. package/dist/layouts/containers/utility_strip/utility_strip.d.ts.map +1 -0
  43. package/dist/layouts/{rail → containers}/utility_strip/utility_strip.js +5 -5
  44. package/dist/layouts/containers/utility_strip/utility_strip.js.map +1 -0
  45. package/dist/layouts/index.d.ts +5 -8
  46. package/dist/layouts/index.d.ts.map +1 -1
  47. package/dist/layouts/index.js +36 -38
  48. package/dist/layouts/index.js.map +1 -1
  49. package/dist/layouts/section/detail.d.ts +4 -0
  50. package/dist/layouts/section/detail.d.ts.map +1 -0
  51. package/dist/layouts/section/detail.js +11 -0
  52. package/dist/layouts/section/detail.js.map +1 -0
  53. package/dist/layouts/section/heading.js +1 -1
  54. package/dist/layouts/section/index.d.ts +4 -0
  55. package/dist/layouts/section/index.d.ts.map +1 -0
  56. package/dist/layouts/section/index.js +9 -0
  57. package/dist/layouts/section/index.js.map +1 -0
  58. package/dist/layouts/section/section.js +1 -1
  59. package/dist/mobile/actions/button/mobile_button.d.ts +6 -0
  60. package/dist/mobile/actions/button/mobile_button.d.ts.map +1 -0
  61. package/dist/mobile/actions/button/mobile_button.js +21 -0
  62. package/dist/mobile/actions/button/mobile_button.js.map +1 -0
  63. package/dist/mobile/actions/floating_action_button/floating_action_button.d.ts +6 -0
  64. package/dist/mobile/actions/floating_action_button/floating_action_button.d.ts.map +1 -0
  65. package/dist/mobile/actions/floating_action_button/floating_action_button.js +20 -0
  66. package/dist/mobile/actions/floating_action_button/floating_action_button.js.map +1 -0
  67. package/dist/mobile/inputs/date_picker/mobile_date_picker.d.ts +17 -0
  68. package/dist/mobile/inputs/date_picker/mobile_date_picker.d.ts.map +1 -0
  69. package/dist/mobile/inputs/date_picker/mobile_date_picker.js +80 -0
  70. package/dist/mobile/inputs/date_picker/mobile_date_picker.js.map +1 -0
  71. package/dist/mobile/inputs/date_picker/mobile_date_picker_body.d.ts +7 -0
  72. package/dist/mobile/inputs/date_picker/mobile_date_picker_body.d.ts.map +1 -0
  73. package/dist/mobile/inputs/date_picker/mobile_date_picker_body.js +35 -0
  74. package/dist/mobile/inputs/date_picker/mobile_date_picker_body.js.map +1 -0
  75. package/dist/mobile/inputs/date_picker/mobile_date_picker_date.d.ts +8 -0
  76. package/dist/mobile/inputs/date_picker/mobile_date_picker_date.d.ts.map +1 -0
  77. package/dist/mobile/inputs/date_picker/mobile_date_picker_date.js +74 -0
  78. package/dist/mobile/inputs/date_picker/mobile_date_picker_date.js.map +1 -0
  79. package/dist/mobile/inputs/date_picker/mobile_date_picker_day.d.ts +6 -0
  80. package/dist/mobile/inputs/date_picker/mobile_date_picker_day.d.ts.map +1 -0
  81. package/dist/mobile/inputs/date_picker/mobile_date_picker_day.js +39 -0
  82. package/dist/mobile/inputs/date_picker/mobile_date_picker_day.js.map +1 -0
  83. package/dist/mobile/inputs/date_picker/mobile_date_picker_header.d.ts +9 -0
  84. package/dist/mobile/inputs/date_picker/mobile_date_picker_header.d.ts.map +1 -0
  85. package/dist/mobile/inputs/date_picker/mobile_date_picker_header.js +163 -0
  86. package/dist/mobile/inputs/date_picker/mobile_date_picker_header.js.map +1 -0
  87. package/dist/mobile/inputs/date_picker/mobile_date_picker_input.d.ts +9 -0
  88. package/dist/mobile/inputs/date_picker/mobile_date_picker_input.d.ts.map +1 -0
  89. package/dist/mobile/inputs/date_picker/mobile_date_picker_input.js +190 -0
  90. package/dist/mobile/inputs/date_picker/mobile_date_picker_input.js.map +1 -0
  91. package/dist/mobile/inputs/date_picker/mobile_date_picker_time_selector.d.ts +11 -0
  92. package/dist/mobile/inputs/date_picker/mobile_date_picker_time_selector.d.ts.map +1 -0
  93. package/dist/mobile/inputs/date_picker/mobile_date_picker_time_selector.js +50 -0
  94. package/dist/mobile/inputs/date_picker/mobile_date_picker_time_selector.js.map +1 -0
  95. package/dist/mobile/inputs/date_picker/mobile_date_picker_year_selector.d.ts +7 -0
  96. package/dist/mobile/inputs/date_picker/mobile_date_picker_year_selector.d.ts.map +1 -0
  97. package/dist/mobile/inputs/date_picker/mobile_date_picker_year_selector.js +109 -0
  98. package/dist/mobile/inputs/date_picker/mobile_date_picker_year_selector.js.map +1 -0
  99. package/dist/mobile/inputs/date_picker/mobile_overlay_header.d.ts +6 -0
  100. package/dist/mobile/inputs/date_picker/mobile_overlay_header.d.ts.map +1 -0
  101. package/dist/mobile/inputs/date_picker/mobile_overlay_header.js +34 -0
  102. package/dist/mobile/inputs/date_picker/mobile_overlay_header.js.map +1 -0
  103. package/dist/mobile/inputs/index.d.ts +5 -0
  104. package/dist/mobile/inputs/index.d.ts.map +1 -0
  105. package/dist/mobile/inputs/index.js +11 -0
  106. package/dist/mobile/inputs/index.js.map +1 -0
  107. package/dist/mobile/portal/mobile_portal.d.ts +5 -0
  108. package/dist/mobile/portal/mobile_portal.d.ts.map +1 -0
  109. package/dist/mobile/portal/mobile_portal.js +10 -0
  110. package/dist/mobile/portal/mobile_portal.js.map +1 -0
  111. package/dist/mobile/viewport/mobile_viewport.d.ts +21 -0
  112. package/dist/mobile/viewport/mobile_viewport.d.ts.map +1 -0
  113. package/dist/mobile/viewport/mobile_viewport.js +31 -0
  114. package/dist/mobile/viewport/mobile_viewport.js.map +1 -0
  115. package/dist/mobile_button.css +1 -0
  116. package/dist/mobile_date_picker.css +1 -0
  117. package/dist/mobile_date_picker_date.css +1 -0
  118. package/dist/mobile_date_picker_day.css +1 -0
  119. package/dist/mobile_date_picker_header.css +1 -0
  120. package/dist/mobile_date_picker_input.css +1 -0
  121. package/dist/mobile_date_picker_time_selector.css +1 -0
  122. package/dist/mobile_date_picker_year_selector.css +1 -0
  123. package/dist/mobile_overlay_header.css +1 -0
  124. package/dist/mobile_viewport.css +1 -0
  125. package/dist/navigation/tabs/state/link/use_tab_link.d.ts +2 -1
  126. package/dist/navigation/tabs/state/link/use_tab_link.d.ts.map +1 -1
  127. package/dist/navigation/tabs/state/link/use_tab_link.js.map +1 -1
  128. package/dist/overlay/tethered/types.js +2 -0
  129. package/dist/overlay/tethered/types.js.map +1 -0
  130. package/dist/panel.css +1 -1
  131. package/dist/phone_number_input.css +1 -1
  132. package/dist/section.css +1 -1
  133. package/dist/section.module-BXlxYmJK.js +5 -0
  134. package/dist/section.module-BXlxYmJK.js.map +1 -0
  135. package/dist/{showcase-y9D3_Y8T.js → showcase-DBFp_Epk.js} +94 -94
  136. package/dist/showcase-DBFp_Epk.js.map +1 -0
  137. package/dist/side.css +1 -1
  138. package/dist/stacks/box/handle_props.js +2 -0
  139. package/dist/stacks/box/handle_props.js.map +1 -0
  140. package/dist/stacks/box/types.js +2 -0
  141. package/dist/stacks/box/types.js.map +1 -0
  142. package/dist/surfaces/aside/aside.d.ts +1 -1
  143. package/dist/surfaces/aside/aside.d.ts.map +1 -1
  144. package/dist/surfaces/aside/aside.js +1 -1
  145. package/dist/surfaces/aside/aside.js.map +1 -1
  146. package/dist/surfaces/card/card.d.ts +1 -1
  147. package/dist/surfaces/card/card.d.ts.map +1 -1
  148. package/dist/surfaces/card/card.js +1 -1
  149. package/dist/surfaces/card/card.js.map +1 -1
  150. package/dist/surfaces/drawers/drawer.js +1 -1
  151. package/dist/surfaces/drawers/drawer.js.map +1 -1
  152. package/dist/surfaces/modal/modal.js +1 -1
  153. package/dist/surfaces/modal/modal.js.map +1 -1
  154. package/dist/surfaces/page/page.d.ts +1 -1
  155. package/dist/surfaces/page/page.d.ts.map +1 -1
  156. package/dist/surfaces/page/page.js +1 -1
  157. package/dist/surfaces/page/page.js.map +1 -1
  158. package/dist/surfaces/panel/panel.d.ts +1 -1
  159. package/dist/surfaces/panel/panel.d.ts.map +1 -1
  160. package/dist/surfaces/panel/panel.js +1 -1
  161. package/dist/surfaces/panel/panel.js.map +1 -1
  162. package/dist/surfaces/pop_confirm/pop_confirm.js +8 -9
  163. package/dist/surfaces/pop_confirm/pop_confirm.js.map +1 -1
  164. package/dist/surfaces/window/window.js +1 -1
  165. package/dist/surfaces/window/window.js.map +1 -1
  166. package/dist/{syntaxhighlighter-ED5Y7EFY-CqInEOwQ.js → syntaxhighlighter-ED5Y7EFY-B0ag_7lq.js} +2 -2
  167. package/dist/syntaxhighlighter-ED5Y7EFY-B0ag_7lq.js.map +1 -0
  168. package/dist/term.css +1 -0
  169. package/dist/themes/build_stylesheet.d.ts +2 -0
  170. package/dist/themes/build_stylesheet.d.ts.map +1 -0
  171. package/dist/themes/build_stylesheet.js +9 -0
  172. package/dist/themes/build_stylesheet.js.map +1 -0
  173. package/dist/themes/theme_variables.d.ts +7 -0
  174. package/dist/themes/theme_variables.d.ts.map +1 -1
  175. package/dist/themes/theme_variables.js +16 -9
  176. package/dist/themes/theme_variables.js.map +1 -1
  177. package/dist/themes/themes/ergo/ergo_theme.css +1 -1
  178. package/dist/themes/themes/ergo/ergo_theme.d.ts.map +1 -1
  179. package/dist/themes/themes/ergo/ergo_theme.js +314 -154
  180. package/dist/themes/themes/ergo/ergo_theme.js.map +1 -1
  181. package/dist/themes/themes/ergo/tokens/system_tokens.css +1 -0
  182. package/dist/themes/themes/ergo/tokens/theme_tokens.css +1 -0
  183. package/dist/tokens/index.d.ts +1 -0
  184. package/dist/tokens/index.d.ts.map +1 -1
  185. package/dist/tokens/index.js +4 -2
  186. package/dist/tokens/index.js.map +1 -1
  187. package/dist/tokens/key/key.d.ts +8 -1
  188. package/dist/tokens/key/key.d.ts.map +1 -1
  189. package/dist/tokens/key/key.js +20 -3
  190. package/dist/tokens/key/key.js.map +1 -1
  191. package/dist/tokens/term/term.d.ts +4 -0
  192. package/dist/tokens/term/term.d.ts.map +1 -0
  193. package/dist/tokens/term/term.js +20 -0
  194. package/dist/tokens/term/term.js.map +1 -0
  195. package/dist/tokens/value/value.d.ts +8 -1
  196. package/dist/tokens/value/value.d.ts.map +1 -1
  197. package/dist/tokens/value/value.js +23 -5
  198. package/dist/tokens/value/value.js.map +1 -1
  199. package/dist/utility_strip.css +1 -1
  200. package/dist/utils/calendar/calendar_date.js +2 -0
  201. package/dist/utils/calendar/calendar_date.js.map +1 -0
  202. package/dist/utils/dnd/types.js +2 -0
  203. package/dist/utils/dnd/types.js.map +1 -0
  204. package/dist/utils/types/variations.d.ts +1 -0
  205. package/dist/utils/types/variations.d.ts.map +1 -1
  206. package/dist/value.css +1 -0
  207. package/dist/value.module-DFaCouFD.js +5 -0
  208. package/dist/value.module-DFaCouFD.js.map +1 -0
  209. package/package.json +17 -16
  210. package/src/actions/button/button_group/button_group.tsx +18 -10
  211. package/src/form/field_set/field_set.tsx +4 -2
  212. package/src/inputs/phone_number_input/phone_number_input.module.css +7 -5
  213. package/src/layouts/__stories__/composed.stories.tsx +13 -8
  214. package/src/layouts/__stories__/composed_stories.module.css +1 -0
  215. package/src/layouts/__stories__/rail.stories.tsx +23 -25
  216. package/src/layouts/__stories__/scaffold.stories.tsx +21 -41
  217. package/src/layouts/__stories__/utils/layout_theme.css +0 -4
  218. package/src/layouts/__stories__/utils/layout_theme_provider.tsx +8 -1
  219. package/src/layouts/__stories__/utils.tsx +15 -29
  220. package/src/layouts/containers/containers.module.css +55 -0
  221. package/src/layouts/{rail → containers}/rail.tsx +15 -5
  222. package/src/layouts/{scaffold → containers}/scaffold.tsx +15 -5
  223. package/src/layouts/{rail → containers}/side/side.tsx +2 -1
  224. package/src/layouts/index.ts +6 -8
  225. package/src/layouts/section/__stories__/section.stories.tsx +79 -50
  226. package/src/layouts/section/detail.tsx +14 -0
  227. package/src/layouts/section/index.ts +3 -0
  228. package/src/layouts/section/section.module.css +0 -36
  229. package/src/mobile/actions/button/mobile_button.module.css +34 -0
  230. package/src/mobile/actions/button/mobile_button.stories.tsx +97 -0
  231. package/src/mobile/actions/button/mobile_button.tsx +26 -0
  232. package/src/mobile/actions/floating_action_button/floating_action_button.module.css +28 -0
  233. package/src/mobile/actions/floating_action_button/floating_action_button.stories.tsx +102 -0
  234. package/src/mobile/actions/floating_action_button/floating_action_button.tsx +25 -0
  235. package/src/mobile/inputs/date_picker/mobile_date_picker.module.css +22 -0
  236. package/src/mobile/inputs/date_picker/mobile_date_picker.tsx +118 -0
  237. package/src/mobile/inputs/date_picker/mobile_date_picker_body.tsx +57 -0
  238. package/src/mobile/inputs/date_picker/mobile_date_picker_date.module.css +80 -0
  239. package/src/mobile/inputs/date_picker/mobile_date_picker_date.tsx +102 -0
  240. package/src/mobile/inputs/date_picker/mobile_date_picker_day.module.css +6 -0
  241. package/src/mobile/inputs/date_picker/mobile_date_picker_day.tsx +40 -0
  242. package/src/mobile/inputs/date_picker/mobile_date_picker_header.module.css +21 -0
  243. package/src/mobile/inputs/date_picker/mobile_date_picker_header.tsx +180 -0
  244. package/src/mobile/inputs/date_picker/mobile_date_picker_input.module.css +13 -0
  245. package/src/mobile/inputs/date_picker/mobile_date_picker_input.stories.tsx +27 -0
  246. package/src/mobile/inputs/date_picker/mobile_date_picker_input.tsx +240 -0
  247. package/src/mobile/inputs/date_picker/mobile_date_picker_time_selector.module.css +7 -0
  248. package/src/mobile/inputs/date_picker/mobile_date_picker_time_selector.tsx +81 -0
  249. package/src/mobile/inputs/date_picker/mobile_date_picker_year_selector.module.css +55 -0
  250. package/src/mobile/inputs/date_picker/mobile_date_picker_year_selector.tsx +119 -0
  251. package/src/mobile/inputs/date_picker/mobile_overlay_header.module.css +5 -0
  252. package/src/mobile/inputs/date_picker/mobile_overlay_header.tsx +29 -0
  253. package/src/mobile/inputs/index.ts +4 -0
  254. package/src/mobile/portal/mobile_portal.tsx +14 -0
  255. package/src/mobile/viewport/mobile_viewport.module.css +23 -0
  256. package/src/mobile/viewport/mobile_viewport.tsx +80 -0
  257. package/src/navigation/tabs/state/link/use_tab_link.ts +1 -1
  258. package/src/overlay/slide/slide.stories.tsx +6 -9
  259. package/src/surfaces/aside/aside.module.css +1 -0
  260. package/src/surfaces/aside/aside.stories.tsx +24 -38
  261. package/src/surfaces/aside/aside.tsx +1 -1
  262. package/src/surfaces/card/card.stories.tsx +5 -7
  263. package/src/surfaces/card/card.tsx +1 -1
  264. package/src/surfaces/drawers/drawer.stories.tsx +10 -13
  265. package/src/surfaces/drawers/drawer.tsx +1 -1
  266. package/src/surfaces/modal/__stories__/modal.stories.tsx +10 -13
  267. package/src/surfaces/modal/modal.tsx +1 -1
  268. package/src/surfaces/page/page.stories.tsx +28 -32
  269. package/src/surfaces/page/page.tsx +1 -1
  270. package/src/surfaces/panel/__stories__/panel.stories.tsx +199 -66
  271. package/src/surfaces/panel/panel.module.css +1 -1
  272. package/src/surfaces/panel/panel.tsx +1 -1
  273. package/src/surfaces/pop_confirm/pop_confirm.stories.tsx +29 -37
  274. package/src/surfaces/tooltip/__stories__/tooltip.stories.tsx +8 -10
  275. package/src/surfaces/window/window.stories.tsx +6 -15
  276. package/src/surfaces/window/window.tsx +1 -1
  277. package/src/themes/build_stylesheet.ts +5 -0
  278. package/src/themes/theme_variables.ts +9 -0
  279. package/src/themes/themes/ergo/__stories__/components/tone_picker/sb_tone_card.tsx +6 -8
  280. package/src/themes/themes/ergo/__stories__/material.stories.tsx +4 -6
  281. package/src/themes/themes/ergo/ergo_theme.css +208 -215
  282. package/src/themes/themes/ergo/ergo_theme.ts +4 -2
  283. package/src/themes/themes/ergo/tokens/system_tokens.css +68 -0
  284. package/src/themes/themes/ergo/tokens/theme_tokens.css +99 -0
  285. package/src/tokens/index.ts +1 -0
  286. package/src/tokens/key/key.tsx +23 -2
  287. package/src/tokens/term/term.module.css +14 -0
  288. package/src/tokens/term/term.stories.tsx +84 -0
  289. package/src/tokens/term/term.tsx +20 -0
  290. package/src/tokens/value/value.module.css +5 -0
  291. package/src/tokens/value/value.tsx +24 -2
  292. package/src/utils/types/variations.ts +1 -0
  293. package/tsconfig.json +5 -33
  294. package/dist/WithTooltip-65CFNBJE-DEnh547F.js.map +0 -1
  295. package/dist/body.css +0 -1
  296. package/dist/formatter-EIJCOSYU-DWmgEY3b.js +0 -6
  297. package/dist/formatter-EIJCOSYU-DWmgEY3b.js.map +0 -1
  298. package/dist/layouts/body/body.d.ts +0 -23
  299. package/dist/layouts/body/body.d.ts.map +0 -1
  300. package/dist/layouts/body/body.js +0 -20
  301. package/dist/layouts/body/body.js.map +0 -1
  302. package/dist/layouts/rail/rail.d.ts.map +0 -1
  303. package/dist/layouts/rail/rail.js +0 -55
  304. package/dist/layouts/rail/rail.js.map +0 -1
  305. package/dist/layouts/rail/side/side.d.ts.map +0 -1
  306. package/dist/layouts/rail/side/side.js +0 -21
  307. package/dist/layouts/rail/side/side.js.map +0 -1
  308. package/dist/layouts/rail/utility_strip/utility_strip.d.ts.map +0 -1
  309. package/dist/layouts/rail/utility_strip/utility_strip.js.map +0 -1
  310. package/dist/layouts/row/row.d.ts +0 -4
  311. package/dist/layouts/row/row.d.ts.map +0 -1
  312. package/dist/layouts/row/row.js +0 -11
  313. package/dist/layouts/row/row.js.map +0 -1
  314. package/dist/layouts/scaffold/scaffold.d.ts.map +0 -1
  315. package/dist/layouts/scaffold/scaffold.js +0 -55
  316. package/dist/layouts/scaffold/scaffold.js.map +0 -1
  317. package/dist/rail.css +0 -1
  318. package/dist/row.css +0 -1
  319. package/dist/scaffold.css +0 -1
  320. package/dist/section.module-0wyGkhDg.js +0 -5
  321. package/dist/section.module-0wyGkhDg.js.map +0 -1
  322. package/dist/showcase-y9D3_Y8T.js.map +0 -1
  323. package/dist/syntaxhighlighter-ED5Y7EFY-CqInEOwQ.js.map +0 -1
  324. package/src/layouts/body/body.module.css +0 -8
  325. package/src/layouts/body/body.tsx +0 -40
  326. package/src/layouts/rail/rail.module.css +0 -14
  327. package/src/layouts/row/row.module.css +0 -5
  328. package/src/layouts/row/row.tsx +0 -15
  329. package/src/layouts/scaffold/scaffold.module.css +0 -14
  330. /package/dist/layouts/{rail → containers}/rail.d.ts +0 -0
  331. /package/dist/layouts/{scaffold → containers}/scaffold.d.ts +0 -0
  332. /package/dist/layouts/{rail → containers}/side/side.d.ts +0 -0
  333. /package/dist/layouts/{rail → containers}/utility_strip/utility_strip.d.ts +0 -0
  334. /package/src/layouts/{rail → containers}/side/side.module.css +0 -0
  335. /package/src/layouts/{rail → containers}/utility_strip/utility_strip.module.css +0 -0
  336. /package/src/layouts/{rail → containers}/utility_strip/utility_strip.tsx +0 -0
@@ -1,7 +1,8 @@
1
1
  import { Key } from '../../../tokens/key/key.js';
2
2
  import { Value } from '../../../tokens/value/value.js';
3
- import { Row } from '../../row/row.js';
3
+ import { Term } from '../../../tokens/term/term.js';
4
4
  import { Section } from '../section.js';
5
+ import { Detail } from '../detail.js';
5
6
  import styles from './section.stories.module.css';
6
7
  import { Heading } from '../heading.js';
7
8
 
@@ -17,56 +18,84 @@ export const Default = () => {
17
18
  <div className={styles['stories-container']}>
18
19
  <Section>
19
20
  <Heading>Section 1</Heading>
20
- <Rows />
21
+ <Detail>
22
+ <SBTermGroup />
23
+ </Detail>
21
24
  <Section>
22
25
  <Heading>Subsection 1 - 1</Heading>
23
- <Rows />
26
+ <Detail>
27
+ <SBTermGroup />
28
+ </Detail>
24
29
  <Section>
25
30
  <Heading>Subsection 1 - 1 - 1</Heading>
26
- <Rows />
31
+ <Detail>
32
+ <SBTermGroup />
33
+ </Detail>
27
34
  </Section>
28
35
  <Section>
29
36
  <Heading>Subsection 1 - 1 - 2</Heading>
30
- <Rows />
37
+ <Detail>
38
+ <SBTermGroup />
39
+ </Detail>
31
40
  </Section>
32
41
  <Section>
33
42
  <Heading>Subsection 1 - 1 - 3</Heading>
34
- <Rows />
43
+ <Detail>
44
+ <SBTermGroup />
45
+ </Detail>
35
46
  </Section>
36
47
  </Section>
37
48
  <Section>
38
49
  <Heading>Subsection 1 - 2</Heading>
39
- <Rows />
50
+ <Detail>
51
+ <SBTermGroup />
52
+ </Detail>
40
53
  <Section>
41
54
  <Heading>Subsection 1 - 2 - 1</Heading>
42
- <Rows />
55
+ <Detail>
56
+ <SBTermGroup />
57
+ </Detail>
43
58
  </Section>
44
59
  <Section>
45
60
  <Heading>Subsection 1 - 2 - 2</Heading>
46
- <Rows />
61
+ <Detail>
62
+ <SBTermGroup />
63
+ </Detail>
47
64
  </Section>
48
65
  <Section>
49
66
  <Heading>Subsection 1 - 2 - 3</Heading>
50
- <Rows />
67
+ <Detail>
68
+ <SBTermGroup />
69
+ </Detail>
51
70
  </Section>
52
71
  </Section>
53
72
  <Section>
54
73
  <Heading>Subsection 1 - 3</Heading>
55
- <Rows />
74
+ <Detail>
75
+ <SBTermGroup />
76
+ </Detail>
56
77
  <Section>
57
78
  <Heading>Subsection 1 - 3 - 1</Heading>
58
- <Rows />
79
+ <Detail>
80
+ <SBTermGroup />
81
+ </Detail>
59
82
  </Section>
60
83
  <Section>
61
84
  <Heading>Subsection 1 - 3 - 2</Heading>
62
- <Rows />
85
+ <Detail>
86
+ <SBTermGroup />
87
+ </Detail>
63
88
  </Section>
64
89
  <Section>
65
90
  <Heading>Subsection 1 - 3 - 3</Heading>
66
- <Rows />
91
+ <Detail>
92
+ <SBTermGroup />
93
+ </Detail>
67
94
  <Section>
68
95
  <Heading>Subsection 1 - 3 - 3 - 1</Heading>
69
- <Rows />
96
+ <Detail>
97
+ <SBTermGroup />
98
+ </Detail>
70
99
  </Section>
71
100
  </Section>
72
101
  </Section>
@@ -76,77 +105,77 @@ export const Default = () => {
76
105
  );
77
106
  };
78
107
 
79
- const Rows = () => {
108
+ const SBTermGroup = () => {
80
109
  return (
81
110
  <>
82
- <Row>
111
+ <Term>
83
112
  <Key>Key</Key>
84
113
  <Value>Value</Value>
85
- </Row>
86
- <Row>
114
+ </Term>
115
+ <Term>
87
116
  <Key>Key</Key>
88
117
  <Value>Value</Value>
89
- </Row>
90
- <Row>
118
+ </Term>
119
+ <Term>
91
120
  <Key>Key</Key>
92
121
  <Value>Value</Value>
93
- </Row>
94
- <Row>
122
+ </Term>
123
+ <Term>
95
124
  <Key>Key</Key>
96
125
  <Value>Value</Value>
97
- </Row>
98
- <Row>
126
+ </Term>
127
+ <Term>
99
128
  <Key>Key</Key>
100
129
  <Value>Value</Value>
101
- </Row>
102
- <Row>
130
+ </Term>
131
+ <Term>
103
132
  <Key>Key</Key>
104
133
  <Value>Value</Value>
105
- </Row>
106
- <Row>
134
+ </Term>
135
+ <Term>
107
136
  <Key>Key</Key>
108
137
  <Value>Value</Value>
109
- </Row>
110
- <Row>
138
+ </Term>
139
+ <Term>
111
140
  <Key>Key</Key>
112
141
  <Value>Value</Value>
113
- </Row>
114
- <Row>
142
+ </Term>
143
+ <Term>
115
144
  <Key>Key</Key>
116
145
  <Value>Value</Value>
117
- </Row>
118
- <Row>
146
+ </Term>
147
+ <Term>
119
148
  <Key>Key</Key>
120
149
  <Value>Value</Value>
121
- </Row>
122
- <Row>
150
+ </Term>
151
+ <Term>
123
152
  <Key>Key</Key>
124
153
  <Value>Value</Value>
125
- </Row>
126
- <Row>
154
+ </Term>
155
+ <Term>
127
156
  <Key>Key</Key>
128
157
  <Value>Value</Value>
129
- </Row>
130
- <Row>
158
+ </Term>
159
+ <Term>
131
160
  <Key>Key</Key>
132
161
  <Value>Value</Value>
133
- </Row>
134
- <Row>
162
+ </Term>
163
+ <Term>
135
164
  <Key>Key</Key>
136
165
  <Value>Value</Value>
137
- </Row>
138
- <Row>
166
+ </Term>
167
+ <Term>
139
168
  <Key>Key</Key>
140
169
  <Value>Value</Value>
141
- </Row>
142
- <Row>
170
+ </Term>
171
+ <Term>
143
172
  <Key>Key</Key>
144
173
  <Value>Value</Value>
145
- </Row>
146
- <Row>
174
+ </Term>
175
+ <Term>
147
176
  <Key>Key</Key>
148
177
  <Value>Value</Value>
149
- </Row>
178
+ </Term>
150
179
  </>
151
180
  );
152
181
  };
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import { clsx } from 'clsx';
3
+ import { VStack, type VStackProps } from '../../stacks/v_stack.js';
4
+
5
+ export const Detail = React.forwardRef<HTMLDivElement, VStackProps>(function Detail(
6
+ { children, className, ...props },
7
+ ref
8
+ ) {
9
+ return (
10
+ <VStack ref={ref} className={clsx(className, 'tcn-detail')} {...props}>
11
+ {children}
12
+ </VStack>
13
+ );
14
+ });
@@ -0,0 +1,3 @@
1
+ export { Section } from './section.js';
2
+ export { Heading, type HeadingOwnProps } from './heading.js';
3
+ export { Detail } from './detail.js';
@@ -2,40 +2,4 @@
2
2
  :where(.section) {
3
3
  position: relative;
4
4
  }
5
-
6
- :where(.heading) {
7
- position: sticky;
8
- height: 23px;
9
- z-index: 4;
10
- padding-inline-end: 8px;
11
- user-select: none;
12
- }
13
-
14
- :where(.section > .heading) {
15
- top: 0;
16
- padding-inline: 8px 8px;
17
- z-index: 3;
18
- }
19
-
20
- :where(.section > .section > .heading) {
21
- top: 30px;
22
- padding-inline: 12px 8px;
23
- z-index: 2;
24
- }
25
-
26
- :where(.section > .section > .section > .heading) {
27
- top: 60px;
28
- padding-inline: 16px 8px;
29
- z-index: 1;
30
- }
31
-
32
- :where(.section > .section > .section > .section > .heading) {
33
- top: 90px;
34
- padding-inline: 20px 8px;
35
- z-index: 0;
36
- }
37
-
38
- .section > :not(.heading, .section) {
39
- padding-inline-end: 8px;
40
- }
41
5
  }
@@ -0,0 +1,34 @@
1
+ @layer tcn-system {
2
+ :where(.mobile-button) {
3
+ --button-height: calc(44px * var(--scalar, 1));
4
+
5
+ min-height: var(--button-height);
6
+ font-size: calc(18px * var(--scalar, 1));
7
+ -webkit-tap-highlight-color: transparent;
8
+ touch-action: manipulation;
9
+ }
10
+
11
+ :where(.mobile-button[data-size="sm"]) {
12
+ --button-height: calc(36px * var(--scalar, 1));
13
+ }
14
+
15
+ :where(.mobile-button[data-size="md"]) {
16
+ --button-height: calc(44px * var(--scalar, 1));
17
+ }
18
+
19
+ :where(.mobile-button[data-size="lg"]) {
20
+ --button-height: calc(52px * var(--scalar, 1));
21
+ }
22
+
23
+ :where(.mobile-button[data-size="sm"] .mobile-button-text) {
24
+ font-size: calc(16px * var(--scalar, 1));
25
+ }
26
+
27
+ :where(.mobile-button[data-size="md"] .mobile-button-text) {
28
+ font-size: calc(18px * var(--scalar, 1));
29
+ }
30
+
31
+ :where(.mobile-button[data-size="lg"] .mobile-button-text) {
32
+ font-size: calc(20px * var(--scalar, 1));
33
+ }
34
+ }
@@ -0,0 +1,97 @@
1
+ import { Meta, StoryObj } from '@storybook/react-vite';
2
+ import { SearchIcon } from '@tcn/icons/search_icon.js';
3
+ import { Spacer } from '../../../stacks/spacer.js';
4
+ import { MobileButton, type MobileButtonProps } from './mobile_button.js';
5
+
6
+ const meta: Meta<MobileButtonProps> = {
7
+ title: 'Mobile/MobileButton',
8
+ component: MobileButton,
9
+ tags: ['autodocs'],
10
+ args: {
11
+ hierarchy: 'secondary',
12
+ disabled: false,
13
+ size: 'md',
14
+ children: 'Click Me',
15
+ },
16
+ argTypes: {
17
+ hierarchy: {
18
+ control: 'select',
19
+ options: ['primary', 'secondary', 'tertiary'],
20
+ },
21
+ severity: {
22
+ control: 'select',
23
+ options: ['neutral', 'dangerous', 'cautious', 'suggested', 'encouraged'],
24
+ },
25
+ color: { control: 'color' },
26
+ size: { control: 'select', options: ['sm', 'md', 'lg'] },
27
+ disabled: { control: 'boolean' },
28
+ },
29
+ };
30
+
31
+ export default meta;
32
+
33
+ type Story = StoryObj<MobileButtonProps>;
34
+
35
+ export const Default: Story = {};
36
+
37
+ export const Primary: Story = {
38
+ args: {
39
+ hierarchy: 'primary',
40
+ children: 'Button Title',
41
+ },
42
+ };
43
+
44
+ export const Secondary: Story = {
45
+ args: {
46
+ hierarchy: 'secondary',
47
+ children: 'Button Title',
48
+ },
49
+ };
50
+
51
+ export const Tertiary: Story = {
52
+ args: {
53
+ hierarchy: 'tertiary',
54
+ children: 'Button Title',
55
+ },
56
+ };
57
+
58
+ export const Small: Story = {
59
+ args: {
60
+ size: 'sm',
61
+ children: 'Small Button',
62
+ },
63
+ };
64
+
65
+ export const Large: Story = {
66
+ args: {
67
+ size: 'lg',
68
+ children: 'Large Button',
69
+ },
70
+ };
71
+
72
+ export const Disabled: Story = {
73
+ args: {
74
+ disabled: true,
75
+ children: 'Disabled',
76
+ },
77
+ };
78
+
79
+ export const WithIcon: Story = {
80
+ args: {
81
+ children: (
82
+ <>
83
+ <span>Search</span>
84
+ <Spacer width="8px" />
85
+ <SearchIcon size="lg" />
86
+ </>
87
+ ),
88
+ },
89
+ };
90
+
91
+ export const CustomColor: Story = {
92
+ args: {
93
+ color: '#00ff3c',
94
+ hierarchy: 'primary',
95
+ children: 'Custom Color',
96
+ },
97
+ };
@@ -0,0 +1,26 @@
1
+ import React from 'react';
2
+ import { clsx } from 'clsx';
3
+ import { Button, type ButtonProps } from '../../../actions/button/button/button.js';
4
+ import styles from './mobile_button.module.css';
5
+
6
+ export interface MobileButtonProps extends ButtonProps {}
7
+
8
+ export const MobileButton = React.forwardRef<HTMLButtonElement, MobileButtonProps>(
9
+ function MobileButton({ children, className, ...props }, ref) {
10
+ return (
11
+ <Button
12
+ ref={ref}
13
+ className={clsx(styles['mobile-button'], 'tcn-mobile-button', className)}
14
+ {...props}
15
+ >
16
+ {typeof children === 'string' ? (
17
+ <span className={clsx(styles['mobile-button-text'], 'tcn-mobile-button-text')}>
18
+ {children}
19
+ </span>
20
+ ) : (
21
+ children
22
+ )}
23
+ </Button>
24
+ );
25
+ }
26
+ );
@@ -0,0 +1,28 @@
1
+ @layer tcn-system {
2
+ :where(.fab) {
3
+ --fab-size: calc(56px * var(--scalar, 1));
4
+
5
+ width: var(--fab-size);
6
+ height: var(--fab-size);
7
+ min-width: var(--fab-size);
8
+ min-height: var(--fab-size);
9
+ border-radius: 50%;
10
+ padding: 0;
11
+ box-shadow:
12
+ 0 3px 5px -1px rgba(0, 0, 0, 0.2),
13
+ 0 6px 10px 0 rgba(0, 0, 0, 0.14),
14
+ 0 1px 18px 0 rgba(0, 0, 0, 0.12);
15
+ }
16
+
17
+ :where(.fab[data-size="sm"]) {
18
+ --fab-size: calc(40px * var(--scalar, 1));
19
+ }
20
+
21
+ :where(.fab[data-size="md"]) {
22
+ --fab-size: calc(56px * var(--scalar, 1));
23
+ }
24
+
25
+ :where(.fab[data-size="lg"]) {
26
+ --fab-size: calc(72px * var(--scalar, 1));
27
+ }
28
+ }
@@ -0,0 +1,102 @@
1
+ import { Meta, StoryObj } from '@storybook/react-vite';
2
+ import { SearchIcon } from '@tcn/icons/search_icon.js';
3
+ import { VStack } from '../../../stacks/v_stack.js';
4
+ import {
5
+ FloatingActionButton,
6
+ type FloatingActionButtonProps,
7
+ } from './floating_action_button.js';
8
+ import { PlusIcon } from '@tcn/icons/plus_icon.js';
9
+
10
+ const meta: Meta<FloatingActionButtonProps> = {
11
+ title: 'Mobile/FloatingActionButton',
12
+ component: FloatingActionButton,
13
+ tags: ['autodocs'],
14
+ args: {
15
+ hierarchy: 'secondary',
16
+ disabled: false,
17
+ size: 'md',
18
+ children: <PlusIcon size="lg" />,
19
+ },
20
+ argTypes: {
21
+ hierarchy: {
22
+ control: 'select',
23
+ options: ['primary', 'secondary', 'tertiary'],
24
+ },
25
+ severity: {
26
+ control: 'select',
27
+ options: ['neutral', 'dangerous', 'cautious', 'suggested', 'encouraged'],
28
+ },
29
+ color: { control: 'color' },
30
+ size: { control: 'select', options: ['sm', 'md', 'lg'] },
31
+ disabled: { control: 'boolean' },
32
+ },
33
+ };
34
+
35
+ export default meta;
36
+
37
+ type Story = StoryObj<FloatingActionButtonProps>;
38
+
39
+ export const Default: Story = {};
40
+
41
+ export const Primary: Story = {
42
+ args: {
43
+ hierarchy: 'primary',
44
+ children: <PlusIcon size="lg" />,
45
+ },
46
+ };
47
+
48
+ export const WithIcon: Story = {
49
+ args: {
50
+ children: <SearchIcon size="lg" />,
51
+ },
52
+ };
53
+
54
+ export const Small: Story = {
55
+ args: {
56
+ size: 'sm',
57
+ children: <PlusIcon size="lg" />,
58
+ },
59
+ };
60
+
61
+ export const Large: Story = {
62
+ args: {
63
+ size: 'lg',
64
+ children: <PlusIcon size="lg" />,
65
+ },
66
+ };
67
+
68
+ export const Disabled: Story = {
69
+ args: {
70
+ disabled: true,
71
+ children: <PlusIcon size="lg" />,
72
+ },
73
+ };
74
+
75
+ export const CustomColor: Story = {
76
+ args: {
77
+ color: '#00ff3c',
78
+ hierarchy: 'primary',
79
+ children: <PlusIcon size="lg" />,
80
+ },
81
+ };
82
+
83
+ export const Placement: Story = {
84
+ args: {
85
+ children: <PlusIcon size="lg" />,
86
+ hierarchy: 'primary',
87
+ },
88
+ decorators: [
89
+ Story => (
90
+ <VStack
91
+ height="300px"
92
+ width="fill"
93
+ hAlign="end"
94
+ vAlign="end"
95
+ padding="16px"
96
+ style={{ backgroundColor: '#f5f5f5', borderRadius: '8px' }}
97
+ >
98
+ <Story />
99
+ </VStack>
100
+ ),
101
+ ],
102
+ };
@@ -0,0 +1,25 @@
1
+ import React from 'react';
2
+ import { clsx } from 'clsx';
3
+ import { Button, type ButtonProps } from '../../../actions/button/button/button.js';
4
+ import styles from './floating_action_button.module.css';
5
+
6
+ export interface FloatingActionButtonProps extends ButtonProps {}
7
+
8
+ export const FloatingActionButton = React.forwardRef<
9
+ HTMLButtonElement,
10
+ FloatingActionButtonProps
11
+ >(function FloatingActionButton(
12
+ { children, className, hierarchy = 'secondary', ...props },
13
+ ref
14
+ ) {
15
+ return (
16
+ <Button
17
+ ref={ref}
18
+ className={clsx(styles.fab, 'tcn-fab', className)}
19
+ hierarchy={hierarchy}
20
+ {...props}
21
+ >
22
+ {children}
23
+ </Button>
24
+ );
25
+ });
@@ -0,0 +1,22 @@
1
+ @layer tcn-system {
2
+ :where(.mobile-date-picker) {
3
+ outline: none;
4
+ }
5
+
6
+ :where(.mobile-date-picker-box) {
7
+ font-size: 14px;
8
+ border: 0;
9
+ border-radius: 4px;
10
+ padding: 4px;
11
+ box-sizing: border-box;
12
+ color: var(--font-color);
13
+ overflow-x: hidden;
14
+ overflow-y: auto;
15
+ -webkit-tap-highlight-color: transparent;
16
+ }
17
+
18
+ :where(.mobile-date-picker-box[data-is-disabled="true"]) {
19
+ opacity: 0.5;
20
+ pointer-events: none;
21
+ }
22
+ }