@tcn/ui 0.0.1

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 (1154) hide show
  1. package/README.md +11 -0
  2. package/dist/actions/button/base_button/base_button.d.ts +15 -0
  3. package/dist/actions/button/base_button/base_button.d.ts.map +1 -0
  4. package/dist/actions/button/base_button/base_button.js +56 -0
  5. package/dist/actions/button/base_button/base_button.js.map +1 -0
  6. package/dist/actions/button/button/button.d.ts +6 -0
  7. package/dist/actions/button/button/button.d.ts.map +1 -0
  8. package/dist/actions/button/button/button.js +11 -0
  9. package/dist/actions/button/button/button.js.map +1 -0
  10. package/dist/actions/button/button_group/button_group.d.ts +12 -0
  11. package/dist/actions/button/button_group/button_group.d.ts.map +1 -0
  12. package/dist/actions/button/button_group/button_group.js +57 -0
  13. package/dist/actions/button/button_group/button_group.js.map +1 -0
  14. package/dist/actions/button/select_group/select_group.d.ts +13 -0
  15. package/dist/actions/button/select_group/select_group.d.ts.map +1 -0
  16. package/dist/actions/button/select_group/select_group.js +51 -0
  17. package/dist/actions/button/select_group/select_group.js.map +1 -0
  18. package/dist/actions/button/select_group/single_select_group.d.ts +10 -0
  19. package/dist/actions/button/select_group/single_select_group.d.ts.map +1 -0
  20. package/dist/actions/button/select_group/single_select_group.js +34 -0
  21. package/dist/actions/button/select_group/single_select_group.js.map +1 -0
  22. package/dist/actions/button/slim_button/slim_button.d.ts +4 -0
  23. package/dist/actions/button/slim_button/slim_button.d.ts.map +1 -0
  24. package/dist/actions/button/slim_button/slim_button.js +19 -0
  25. package/dist/actions/button/slim_button/slim_button.js.map +1 -0
  26. package/dist/actions/index.d.ts +7 -0
  27. package/dist/actions/index.d.ts.map +1 -0
  28. package/dist/actions/index.js +15 -0
  29. package/dist/actions/index.js.map +1 -0
  30. package/dist/badge.css +1 -0
  31. package/dist/base_button.css +1 -0
  32. package/dist/body_text.css +1 -0
  33. package/dist/body_text.module-h4XQE2pC.js +5 -0
  34. package/dist/body_text.module-h4XQE2pC.js.map +1 -0
  35. package/dist/bottom_resize_handle.css +1 -0
  36. package/dist/bubble.css +1 -0
  37. package/dist/button.css +1 -0
  38. package/dist/button_group.css +1 -0
  39. package/dist/callout.css +1 -0
  40. package/dist/callout.module-D8ECmxpO.js +5 -0
  41. package/dist/callout.module-D8ECmxpO.js.map +1 -0
  42. package/dist/caption.css +1 -0
  43. package/dist/caption.module-DDq0H4xZ.js +5 -0
  44. package/dist/caption.module-DDq0H4xZ.js.map +1 -0
  45. package/dist/card.css +1 -0
  46. package/dist/checkbox.css +1 -0
  47. package/dist/chip.css +1 -0
  48. package/dist/circle.css +1 -0
  49. package/dist/collapsible_box.css +1 -0
  50. package/dist/collapsible_box.module-BiS98xXA.js +5 -0
  51. package/dist/collapsible_box.module-BiS98xXA.js.map +1 -0
  52. package/dist/color_input.css +1 -0
  53. package/dist/color_picker.css +1 -0
  54. package/dist/column.css +1 -0
  55. package/dist/confirm.css +1 -0
  56. package/dist/date_picker.css +1 -0
  57. package/dist/date_picker_date.css +1 -0
  58. package/dist/date_picker_day.css +1 -0
  59. package/dist/date_picker_header.css +1 -0
  60. package/dist/date_picker_input.css +1 -0
  61. package/dist/date_picker_time_selector.css +1 -0
  62. package/dist/date_picker_year_input.css +1 -0
  63. package/dist/date_picker_year_selector.css +1 -0
  64. package/dist/divider.css +1 -0
  65. package/dist/drawer_bottom.css +1 -0
  66. package/dist/drawer_end.css +1 -0
  67. package/dist/drawer_start.css +1 -0
  68. package/dist/drawer_top.css +1 -0
  69. package/dist/end_resize_handle.css +1 -0
  70. package/dist/feedback/index.d.ts +4 -0
  71. package/dist/feedback/index.d.ts.map +1 -0
  72. package/dist/feedback/index.js +9 -0
  73. package/dist/feedback/index.js.map +1 -0
  74. package/dist/feedback/lazy/lazy.d.ts +11 -0
  75. package/dist/feedback/lazy/lazy.d.ts.map +1 -0
  76. package/dist/feedback/lazy/lazy.js +27 -0
  77. package/dist/feedback/lazy/lazy.js.map +1 -0
  78. package/dist/feedback/loading/loading.d.ts +11 -0
  79. package/dist/feedback/loading/loading.d.ts.map +1 -0
  80. package/dist/feedback/loading/loading.js +52 -0
  81. package/dist/feedback/loading/loading.js.map +1 -0
  82. package/dist/feedback/progress/progress_bar.d.ts +7 -0
  83. package/dist/feedback/progress/progress_bar.d.ts.map +1 -0
  84. package/dist/feedback/progress/progress_bar.js +41 -0
  85. package/dist/feedback/progress/progress_bar.js.map +1 -0
  86. package/dist/field_control.css +1 -0
  87. package/dist/field_set.css +1 -0
  88. package/dist/footer.css +1 -0
  89. package/dist/footnote.css +1 -0
  90. package/dist/footnote.module-DEyFuqOr.js +5 -0
  91. package/dist/footnote.module-DEyFuqOr.js.map +1 -0
  92. package/dist/form/field/common/field_control/field_control.d.ts +13 -0
  93. package/dist/form/field/common/field_control/field_control.d.ts.map +1 -0
  94. package/dist/form/field/common/field_control/field_control.js +38 -0
  95. package/dist/form/field/common/field_control/field_control.js.map +1 -0
  96. package/dist/form/field/common/field_description.d.ts +7 -0
  97. package/dist/form/field/common/field_description.d.ts.map +1 -0
  98. package/dist/form/field/common/field_description.js +25 -0
  99. package/dist/form/field/common/field_description.js.map +1 -0
  100. package/dist/form/field/common/field_error.d.ts +6 -0
  101. package/dist/form/field/common/field_error.d.ts.map +1 -0
  102. package/dist/form/field/common/field_error.js +35 -0
  103. package/dist/form/field/common/field_error.js.map +1 -0
  104. package/dist/form/field/common/field_header.d.ts +12 -0
  105. package/dist/form/field/common/field_header.d.ts.map +1 -0
  106. package/dist/form/field/common/field_header.js +28 -0
  107. package/dist/form/field/common/field_header.js.map +1 -0
  108. package/dist/form/field/common/field_label.d.ts +8 -0
  109. package/dist/form/field/common/field_label.d.ts.map +1 -0
  110. package/dist/form/field/common/field_label.js +38 -0
  111. package/dist/form/field/common/field_label.js.map +1 -0
  112. package/dist/form/field/common/status_input/status_input.d.ts +14 -0
  113. package/dist/form/field/common/status_input/status_input.d.ts.map +1 -0
  114. package/dist/form/field/common/status_input/status_input.js +56 -0
  115. package/dist/form/field/common/status_input/status_input.js.map +1 -0
  116. package/dist/form/field/common/types.d.ts +10 -0
  117. package/dist/form/field/common/types.d.ts.map +1 -0
  118. package/dist/form/field/common/types.js +2 -0
  119. package/dist/form/field/common/types.js.map +1 -0
  120. package/dist/form/field/field.d.ts +10 -0
  121. package/dist/form/field/field.d.ts.map +1 -0
  122. package/dist/form/field/field.js +19 -0
  123. package/dist/form/field/field.js.map +1 -0
  124. package/dist/form/field/form_field.d.ts +6 -0
  125. package/dist/form/field/form_field.d.ts.map +1 -0
  126. package/dist/form/field/form_field.js +18 -0
  127. package/dist/form/field/form_field.js.map +1 -0
  128. package/dist/form/field/h_field/h_field.d.ts +11 -0
  129. package/dist/form/field/h_field/h_field.d.ts.map +1 -0
  130. package/dist/form/field/h_field/h_field.js +60 -0
  131. package/dist/form/field/h_field/h_field.js.map +1 -0
  132. package/dist/form/field/v_field/v_field.d.ts +10 -0
  133. package/dist/form/field/v_field/v_field.d.ts.map +1 -0
  134. package/dist/form/field/v_field/v_field.js +68 -0
  135. package/dist/form/field/v_field/v_field.js.map +1 -0
  136. package/dist/form/field_presenters/field_presenter.d.ts +39 -0
  137. package/dist/form/field_presenters/field_presenter.d.ts.map +1 -0
  138. package/dist/form/field_presenters/field_presenter.js +71 -0
  139. package/dist/form/field_presenters/field_presenter.js.map +1 -0
  140. package/dist/form/field_presenters/options_field_presenter.d.ts +15 -0
  141. package/dist/form/field_presenters/options_field_presenter.d.ts.map +1 -0
  142. package/dist/form/field_presenters/options_field_presenter.js +18 -0
  143. package/dist/form/field_presenters/options_field_presenter.js.map +1 -0
  144. package/dist/form/field_set/field_set.d.ts +13 -0
  145. package/dist/form/field_set/field_set.d.ts.map +1 -0
  146. package/dist/form/field_set/field_set.js +65 -0
  147. package/dist/form/field_set/field_set.js.map +1 -0
  148. package/dist/form/form_field.d.ts +6 -0
  149. package/dist/form/form_field.d.ts.map +1 -0
  150. package/dist/form/form_field.js +18 -0
  151. package/dist/form/form_field.js.map +1 -0
  152. package/dist/form/index.d.ts +6 -0
  153. package/dist/form/index.d.ts.map +1 -0
  154. package/dist/form/index.js +11 -0
  155. package/dist/form/index.js.map +1 -0
  156. package/dist/grid.css +1 -0
  157. package/dist/h_field.css +1 -0
  158. package/dist/header.css +1 -0
  159. package/dist/headline.css +1 -0
  160. package/dist/headline.module-BiwHBtGf.js +5 -0
  161. package/dist/headline.module-BiwHBtGf.js.map +1 -0
  162. package/dist/input.css +1 -0
  163. package/dist/inputs/checkbox/checkbox.d.ts +11 -0
  164. package/dist/inputs/checkbox/checkbox.d.ts.map +1 -0
  165. package/dist/inputs/checkbox/checkbox.js +34 -0
  166. package/dist/inputs/checkbox/checkbox.js.map +1 -0
  167. package/dist/inputs/checkbox/checkbox_row.d.ts +8 -0
  168. package/dist/inputs/checkbox/checkbox_row.d.ts.map +1 -0
  169. package/dist/inputs/checkbox/checkbox_row.js +16 -0
  170. package/dist/inputs/checkbox/checkbox_row.js.map +1 -0
  171. package/dist/inputs/color_input/color_input.d.ts +13 -0
  172. package/dist/inputs/color_input/color_input.d.ts.map +1 -0
  173. package/dist/inputs/color_input/color_input.js +145 -0
  174. package/dist/inputs/color_input/color_input.js.map +1 -0
  175. package/dist/inputs/color_input/color_picker.d.ts +8 -0
  176. package/dist/inputs/color_input/color_picker.d.ts.map +1 -0
  177. package/dist/inputs/color_input/color_picker.js +39 -0
  178. package/dist/inputs/color_input/color_picker.js.map +1 -0
  179. package/dist/inputs/combo_box/combo_box.d.ts +11 -0
  180. package/dist/inputs/combo_box/combo_box.d.ts.map +1 -0
  181. package/dist/inputs/combo_box/combo_box.js +91 -0
  182. package/dist/inputs/combo_box/combo_box.js.map +1 -0
  183. package/dist/inputs/date_picker/date_picker.d.ts +20 -0
  184. package/dist/inputs/date_picker/date_picker.d.ts.map +1 -0
  185. package/dist/inputs/date_picker/date_picker.js +114 -0
  186. package/dist/inputs/date_picker/date_picker.js.map +1 -0
  187. package/dist/inputs/date_picker/date_picker_body.d.ts +7 -0
  188. package/dist/inputs/date_picker/date_picker_body.d.ts.map +1 -0
  189. package/dist/inputs/date_picker/date_picker_body.js +26 -0
  190. package/dist/inputs/date_picker/date_picker_body.js.map +1 -0
  191. package/dist/inputs/date_picker/date_picker_date.d.ts +8 -0
  192. package/dist/inputs/date_picker/date_picker_date.d.ts.map +1 -0
  193. package/dist/inputs/date_picker/date_picker_date.js +71 -0
  194. package/dist/inputs/date_picker/date_picker_date.js.map +1 -0
  195. package/dist/inputs/date_picker/date_picker_day.d.ts +6 -0
  196. package/dist/inputs/date_picker/date_picker_day.d.ts.map +1 -0
  197. package/dist/inputs/date_picker/date_picker_day.js +25 -0
  198. package/dist/inputs/date_picker/date_picker_day.js.map +1 -0
  199. package/dist/inputs/date_picker/date_picker_header.d.ts +7 -0
  200. package/dist/inputs/date_picker/date_picker_header.d.ts.map +1 -0
  201. package/dist/inputs/date_picker/date_picker_header.js +87 -0
  202. package/dist/inputs/date_picker/date_picker_header.js.map +1 -0
  203. package/dist/inputs/date_picker/date_picker_input.d.ts +24 -0
  204. package/dist/inputs/date_picker/date_picker_input.d.ts.map +1 -0
  205. package/dist/inputs/date_picker/date_picker_input.js +139 -0
  206. package/dist/inputs/date_picker/date_picker_input.js.map +1 -0
  207. package/dist/inputs/date_picker/date_picker_presenter.d.ts +45 -0
  208. package/dist/inputs/date_picker/date_picker_presenter.d.ts.map +1 -0
  209. package/dist/inputs/date_picker/date_picker_presenter.js +170 -0
  210. package/dist/inputs/date_picker/date_picker_presenter.js.map +1 -0
  211. package/dist/inputs/date_picker/date_picker_time_selector.d.ts +13 -0
  212. package/dist/inputs/date_picker/date_picker_time_selector.d.ts.map +1 -0
  213. package/dist/inputs/date_picker/date_picker_time_selector.js +90 -0
  214. package/dist/inputs/date_picker/date_picker_time_selector.js.map +1 -0
  215. package/dist/inputs/date_picker/date_picker_year_input.d.ts +6 -0
  216. package/dist/inputs/date_picker/date_picker_year_input.d.ts.map +1 -0
  217. package/dist/inputs/date_picker/date_picker_year_input.js +51 -0
  218. package/dist/inputs/date_picker/date_picker_year_input.js.map +1 -0
  219. package/dist/inputs/date_picker/date_picker_year_selector.d.ts +7 -0
  220. package/dist/inputs/date_picker/date_picker_year_selector.d.ts.map +1 -0
  221. package/dist/inputs/date_picker/date_picker_year_selector.js +116 -0
  222. package/dist/inputs/date_picker/date_picker_year_selector.js.map +1 -0
  223. package/dist/inputs/index.d.ts +46 -0
  224. package/dist/inputs/index.d.ts.map +1 -0
  225. package/dist/inputs/index.js +90 -0
  226. package/dist/inputs/index.js.map +1 -0
  227. package/dist/inputs/input/input.d.ts +14 -0
  228. package/dist/inputs/input/input.d.ts.map +1 -0
  229. package/dist/inputs/input/input.js +24 -0
  230. package/dist/inputs/input/input.js.map +1 -0
  231. package/dist/inputs/mask_input/alpha_character.d.ts +10 -0
  232. package/dist/inputs/mask_input/alpha_character.d.ts.map +1 -0
  233. package/dist/inputs/mask_input/alpha_character.js +15 -0
  234. package/dist/inputs/mask_input/alpha_character.js.map +1 -0
  235. package/dist/inputs/mask_input/alpha_numeric_character.d.ts +10 -0
  236. package/dist/inputs/mask_input/alpha_numeric_character.d.ts.map +1 -0
  237. package/dist/inputs/mask_input/alpha_numeric_character.js +15 -0
  238. package/dist/inputs/mask_input/alpha_numeric_character.js.map +1 -0
  239. package/dist/inputs/mask_input/character.d.ts +14 -0
  240. package/dist/inputs/mask_input/character.d.ts.map +1 -0
  241. package/dist/inputs/mask_input/character.js +26 -0
  242. package/dist/inputs/mask_input/character.js.map +1 -0
  243. package/dist/inputs/mask_input/constant_character.d.ts +10 -0
  244. package/dist/inputs/mask_input/constant_character.d.ts.map +1 -0
  245. package/dist/inputs/mask_input/constant_character.js +23 -0
  246. package/dist/inputs/mask_input/constant_character.js.map +1 -0
  247. package/dist/inputs/mask_input/key_capture_input.d.ts +11 -0
  248. package/dist/inputs/mask_input/key_capture_input.d.ts.map +1 -0
  249. package/dist/inputs/mask_input/key_capture_input.js +79 -0
  250. package/dist/inputs/mask_input/key_capture_input.js.map +1 -0
  251. package/dist/inputs/mask_input/language_character.d.ts +10 -0
  252. package/dist/inputs/mask_input/language_character.d.ts.map +1 -0
  253. package/dist/inputs/mask_input/language_character.js +15 -0
  254. package/dist/inputs/mask_input/language_character.js.map +1 -0
  255. package/dist/inputs/mask_input/mask.d.ts +38 -0
  256. package/dist/inputs/mask_input/mask.d.ts.map +1 -0
  257. package/dist/inputs/mask_input/mask.js +174 -0
  258. package/dist/inputs/mask_input/mask.js.map +1 -0
  259. package/dist/inputs/mask_input/mask_config.d.ts +26 -0
  260. package/dist/inputs/mask_input/mask_config.d.ts.map +1 -0
  261. package/dist/inputs/mask_input/mask_config.js +2 -0
  262. package/dist/inputs/mask_input/mask_config.js.map +1 -0
  263. package/dist/inputs/mask_input/mask_cursor.d.ts +14 -0
  264. package/dist/inputs/mask_input/mask_cursor.d.ts.map +1 -0
  265. package/dist/inputs/mask_input/mask_cursor.js +2 -0
  266. package/dist/inputs/mask_input/mask_cursor.js.map +1 -0
  267. package/dist/inputs/mask_input/mask_input.d.ts +13 -0
  268. package/dist/inputs/mask_input/mask_input.d.ts.map +1 -0
  269. package/dist/inputs/mask_input/mask_input.js +122 -0
  270. package/dist/inputs/mask_input/mask_input.js.map +1 -0
  271. package/dist/inputs/mask_input/mask_presenter.d.ts +45 -0
  272. package/dist/inputs/mask_input/mask_presenter.d.ts.map +1 -0
  273. package/dist/inputs/mask_input/mask_presenter.js +146 -0
  274. package/dist/inputs/mask_input/mask_presenter.js.map +1 -0
  275. package/dist/inputs/mask_input/numeric_character.d.ts +10 -0
  276. package/dist/inputs/mask_input/numeric_character.d.ts.map +1 -0
  277. package/dist/inputs/mask_input/numeric_character.js +15 -0
  278. package/dist/inputs/mask_input/numeric_character.js.map +1 -0
  279. package/dist/inputs/mask_input/regex_character.d.ts +13 -0
  280. package/dist/inputs/mask_input/regex_character.d.ts.map +1 -0
  281. package/dist/inputs/mask_input/regex_character.js +33 -0
  282. package/dist/inputs/mask_input/regex_character.js.map +1 -0
  283. package/dist/inputs/multi_combo_box/multi_combo_box.d.ts +16 -0
  284. package/dist/inputs/multi_combo_box/multi_combo_box.d.ts.map +1 -0
  285. package/dist/inputs/multi_combo_box/multi_combo_box.js +101 -0
  286. package/dist/inputs/multi_combo_box/multi_combo_box.js.map +1 -0
  287. package/dist/inputs/multiselect/multiselect.d.ts +11 -0
  288. package/dist/inputs/multiselect/multiselect.d.ts.map +1 -0
  289. package/dist/inputs/multiselect/multiselect.js +105 -0
  290. package/dist/inputs/multiselect/multiselect.js.map +1 -0
  291. package/dist/inputs/multiselect/multiselect_inline_values.d.ts +9 -0
  292. package/dist/inputs/multiselect/multiselect_inline_values.d.ts.map +1 -0
  293. package/dist/inputs/multiselect/multiselect_inline_values.js +49 -0
  294. package/dist/inputs/multiselect/multiselect_inline_values.js.map +1 -0
  295. package/dist/inputs/multiselect/multiselect_row.d.ts +10 -0
  296. package/dist/inputs/multiselect/multiselect_row.d.ts.map +1 -0
  297. package/dist/inputs/multiselect/multiselect_row.js +35 -0
  298. package/dist/inputs/multiselect/multiselect_row.js.map +1 -0
  299. package/dist/inputs/multiselect/multiselect_values.d.ts +10 -0
  300. package/dist/inputs/multiselect/multiselect_values.d.ts.map +1 -0
  301. package/dist/inputs/multiselect/multiselect_values.js +62 -0
  302. package/dist/inputs/multiselect/multiselect_values.js.map +1 -0
  303. package/dist/inputs/options/option.d.ts +11 -0
  304. package/dist/inputs/options/option.d.ts.map +1 -0
  305. package/dist/inputs/options/option.js +10 -0
  306. package/dist/inputs/options/option.js.map +1 -0
  307. package/dist/inputs/options/utils.d.ts +5 -0
  308. package/dist/inputs/options/utils.d.ts.map +1 -0
  309. package/dist/inputs/options/utils.js +13 -0
  310. package/dist/inputs/options/utils.js.map +1 -0
  311. package/dist/inputs/phone_number_input/countries_phone_information.d.ts +11 -0
  312. package/dist/inputs/phone_number_input/countries_phone_information.d.ts.map +1 -0
  313. package/dist/inputs/phone_number_input/countries_phone_information.js +840 -0
  314. package/dist/inputs/phone_number_input/countries_phone_information.js.map +1 -0
  315. package/dist/inputs/phone_number_input/phone_number_input.d.ts +15 -0
  316. package/dist/inputs/phone_number_input/phone_number_input.d.ts.map +1 -0
  317. package/dist/inputs/phone_number_input/phone_number_input.js +209 -0
  318. package/dist/inputs/phone_number_input/phone_number_input.js.map +1 -0
  319. package/dist/inputs/phone_number_input/utils.d.ts +2 -0
  320. package/dist/inputs/phone_number_input/utils.d.ts.map +1 -0
  321. package/dist/inputs/phone_number_input/utils.js +7 -0
  322. package/dist/inputs/phone_number_input/utils.js.map +1 -0
  323. package/dist/inputs/radio/radio.d.ts +13 -0
  324. package/dist/inputs/radio/radio.d.ts.map +1 -0
  325. package/dist/inputs/radio/radio.js +57 -0
  326. package/dist/inputs/radio/radio.js.map +1 -0
  327. package/dist/inputs/radio/radio_row.d.ts +9 -0
  328. package/dist/inputs/radio/radio_row.d.ts.map +1 -0
  329. package/dist/inputs/radio/radio_row.js +19 -0
  330. package/dist/inputs/radio/radio_row.js.map +1 -0
  331. package/dist/inputs/select/select.d.ts +13 -0
  332. package/dist/inputs/select/select.d.ts.map +1 -0
  333. package/dist/inputs/select/select.js +107 -0
  334. package/dist/inputs/select/select.js.map +1 -0
  335. package/dist/inputs/slider/slider.d.ts +12 -0
  336. package/dist/inputs/slider/slider.d.ts.map +1 -0
  337. package/dist/inputs/slider/slider.js +42 -0
  338. package/dist/inputs/slider/slider.js.map +1 -0
  339. package/dist/inputs/slider/slider_row.d.ts +8 -0
  340. package/dist/inputs/slider/slider_row.d.ts.map +1 -0
  341. package/dist/inputs/slider/slider_row.js +16 -0
  342. package/dist/inputs/slider/slider_row.js.map +1 -0
  343. package/dist/inputs/suggestions/suggestion_item.d.ts +9 -0
  344. package/dist/inputs/suggestions/suggestion_item.d.ts.map +1 -0
  345. package/dist/inputs/suggestions/suggestion_item.js +38 -0
  346. package/dist/inputs/suggestions/suggestion_item.js.map +1 -0
  347. package/dist/inputs/suggestions/suggestion_list.d.ts +15 -0
  348. package/dist/inputs/suggestions/suggestion_list.d.ts.map +1 -0
  349. package/dist/inputs/suggestions/suggestion_list.js +240 -0
  350. package/dist/inputs/suggestions/suggestion_list.js.map +1 -0
  351. package/dist/inputs/switch/switch.d.ts +11 -0
  352. package/dist/inputs/switch/switch.d.ts.map +1 -0
  353. package/dist/inputs/switch/switch.js +71 -0
  354. package/dist/inputs/switch/switch.js.map +1 -0
  355. package/dist/inputs/switch/switch_row.d.ts +8 -0
  356. package/dist/inputs/switch/switch_row.d.ts.map +1 -0
  357. package/dist/inputs/switch/switch_row.js +16 -0
  358. package/dist/inputs/switch/switch_row.js.map +1 -0
  359. package/dist/inputs/textarea/textarea.d.ts +11 -0
  360. package/dist/inputs/textarea/textarea.d.ts.map +1 -0
  361. package/dist/inputs/textarea/textarea.js +22 -0
  362. package/dist/inputs/textarea/textarea.js.map +1 -0
  363. package/dist/inputs/textarea/textarea_row.d.ts +8 -0
  364. package/dist/inputs/textarea/textarea_row.d.ts.map +1 -0
  365. package/dist/inputs/textarea/textarea_row.js +12 -0
  366. package/dist/inputs/textarea/textarea_row.js.map +1 -0
  367. package/dist/inputs/unit_input/unit_input.d.ts +14 -0
  368. package/dist/inputs/unit_input/unit_input.d.ts.map +1 -0
  369. package/dist/inputs/unit_input/unit_input.js +83 -0
  370. package/dist/inputs/unit_input/unit_input.js.map +1 -0
  371. package/dist/layouts/column/column.d.ts +10 -0
  372. package/dist/layouts/column/column.d.ts.map +1 -0
  373. package/dist/layouts/column/column.js +52 -0
  374. package/dist/layouts/column/column.js.map +1 -0
  375. package/dist/layouts/divider/divider.d.ts +26 -0
  376. package/dist/layouts/divider/divider.d.ts.map +1 -0
  377. package/dist/layouts/divider/divider.js +54 -0
  378. package/dist/layouts/divider/divider.js.map +1 -0
  379. package/dist/layouts/draggable_list/draggable_list.d.ts +2 -0
  380. package/dist/layouts/draggable_list/draggable_list.d.ts.map +1 -0
  381. package/dist/layouts/draggable_list/draggable_list.js +6 -0
  382. package/dist/layouts/draggable_list/draggable_list.js.map +1 -0
  383. package/dist/layouts/drawers/drawer_bottom/drawer_bottom.d.ts +7 -0
  384. package/dist/layouts/drawers/drawer_bottom/drawer_bottom.d.ts.map +1 -0
  385. package/dist/layouts/drawers/drawer_bottom/drawer_bottom.js +22 -0
  386. package/dist/layouts/drawers/drawer_bottom/drawer_bottom.js.map +1 -0
  387. package/dist/layouts/drawers/drawer_end/drawer_end.d.ts +7 -0
  388. package/dist/layouts/drawers/drawer_end/drawer_end.d.ts.map +1 -0
  389. package/dist/layouts/drawers/drawer_end/drawer_end.js +20 -0
  390. package/dist/layouts/drawers/drawer_end/drawer_end.js.map +1 -0
  391. package/dist/layouts/drawers/drawer_start/drawer_start.d.ts +7 -0
  392. package/dist/layouts/drawers/drawer_start/drawer_start.d.ts.map +1 -0
  393. package/dist/layouts/drawers/drawer_start/drawer_start.js +22 -0
  394. package/dist/layouts/drawers/drawer_start/drawer_start.js.map +1 -0
  395. package/dist/layouts/drawers/drawer_top/drawer_top.d.ts +7 -0
  396. package/dist/layouts/drawers/drawer_top/drawer_top.d.ts.map +1 -0
  397. package/dist/layouts/drawers/drawer_top/drawer_top.js +20 -0
  398. package/dist/layouts/drawers/drawer_top/drawer_top.js.map +1 -0
  399. package/dist/layouts/footer/footer.d.ts +10 -0
  400. package/dist/layouts/footer/footer.d.ts.map +1 -0
  401. package/dist/layouts/footer/footer.js +22 -0
  402. package/dist/layouts/footer/footer.js.map +1 -0
  403. package/dist/layouts/grid/grid.d.ts +29 -0
  404. package/dist/layouts/grid/grid.d.ts.map +1 -0
  405. package/dist/layouts/grid/grid.js +78 -0
  406. package/dist/layouts/grid/grid.js.map +1 -0
  407. package/dist/layouts/header/header.d.ts +9 -0
  408. package/dist/layouts/header/header.d.ts.map +1 -0
  409. package/dist/layouts/header/header.js +30 -0
  410. package/dist/layouts/header/header.js.map +1 -0
  411. package/dist/layouts/index.d.ts +15 -0
  412. package/dist/layouts/index.d.ts.map +1 -0
  413. package/dist/layouts/index.js +31 -0
  414. package/dist/layouts/index.js.map +1 -0
  415. package/dist/layouts/list/item.d.ts +7 -0
  416. package/dist/layouts/list/item.d.ts.map +1 -0
  417. package/dist/layouts/list/item.js +11 -0
  418. package/dist/layouts/list/item.js.map +1 -0
  419. package/dist/layouts/list/list.d.ts +7 -0
  420. package/dist/layouts/list/list.d.ts.map +1 -0
  421. package/dist/layouts/list/list.js +20 -0
  422. package/dist/layouts/list/list.js.map +1 -0
  423. package/dist/layouts/list/section_header.d.ts +6 -0
  424. package/dist/layouts/list/section_header.d.ts.map +1 -0
  425. package/dist/layouts/list/section_header.js +12 -0
  426. package/dist/layouts/list/section_header.js.map +1 -0
  427. package/dist/layouts/sidebar_end/sidebar_end.d.ts +11 -0
  428. package/dist/layouts/sidebar_end/sidebar_end.d.ts.map +1 -0
  429. package/dist/layouts/sidebar_end/sidebar_end.js +58 -0
  430. package/dist/layouts/sidebar_end/sidebar_end.js.map +1 -0
  431. package/dist/layouts/sidebar_start/sidebar_start.d.ts +11 -0
  432. package/dist/layouts/sidebar_start/sidebar_start.d.ts.map +1 -0
  433. package/dist/layouts/sidebar_start/sidebar_start.js +55 -0
  434. package/dist/layouts/sidebar_start/sidebar_start.js.map +1 -0
  435. package/dist/layouts/utility_bar/utility_bar.d.ts +9 -0
  436. package/dist/layouts/utility_bar/utility_bar.d.ts.map +1 -0
  437. package/dist/layouts/utility_bar/utility_bar.js +32 -0
  438. package/dist/layouts/utility_bar/utility_bar.js.map +1 -0
  439. package/dist/left_resize_handle.css +1 -0
  440. package/dist/loading.css +1 -0
  441. package/dist/menu.css +1 -0
  442. package/dist/modal.css +1 -0
  443. package/dist/multi_combo_box.css +1 -0
  444. package/dist/multiselect.css +1 -0
  445. package/dist/multiselect_values.css +1 -0
  446. package/dist/multiselect_values.module-BMJOyYHe.js +5 -0
  447. package/dist/multiselect_values.module-BMJOyYHe.js.map +1 -0
  448. package/dist/overlay/context_menu/context_menu.d.ts +10 -0
  449. package/dist/overlay/context_menu/context_menu.d.ts.map +1 -0
  450. package/dist/overlay/context_menu/context_menu.js +45 -0
  451. package/dist/overlay/context_menu/context_menu.js.map +1 -0
  452. package/dist/overlay/menu/menu.d.ts +29 -0
  453. package/dist/overlay/menu/menu.d.ts.map +1 -0
  454. package/dist/overlay/menu/menu.js +165 -0
  455. package/dist/overlay/menu/menu.js.map +1 -0
  456. package/dist/overlay/popper/popper.d.ts +22 -0
  457. package/dist/overlay/popper/popper.d.ts.map +1 -0
  458. package/dist/overlay/popper/popper.js +111 -0
  459. package/dist/overlay/popper/popper.js.map +1 -0
  460. package/dist/overlay/portal/portal.css +1 -0
  461. package/dist/overlay/portal/portal.d.ts +7 -0
  462. package/dist/overlay/portal/portal.d.ts.map +1 -0
  463. package/dist/overlay/portal/portal_platform.d.ts +27 -0
  464. package/dist/overlay/portal/portal_platform.d.ts.map +1 -0
  465. package/dist/overlay/portal/portal_platform.js +70 -0
  466. package/dist/overlay/portal/portal_platform.js.map +1 -0
  467. package/dist/overlay/portal/portal_platform_context.d.ts +6 -0
  468. package/dist/overlay/portal/portal_platform_context.d.ts.map +1 -0
  469. package/dist/overlay/portal/portal_platform_context.js +12 -0
  470. package/dist/overlay/portal/portal_platform_context.js.map +1 -0
  471. package/dist/overlay/tooltip/tooltip.d.ts +7 -0
  472. package/dist/overlay/tooltip/tooltip.d.ts.map +1 -0
  473. package/dist/overlay/tooltip/tooltip.js +20 -0
  474. package/dist/overlay/tooltip/tooltip.js.map +1 -0
  475. package/dist/page.css +1 -0
  476. package/dist/page.module-DXhph-u6.js +5 -0
  477. package/dist/page.module-DXhph-u6.js.map +1 -0
  478. package/dist/panel.css +1 -0
  479. package/dist/panel.module-CtikcmYB.js +5 -0
  480. package/dist/panel.module-CtikcmYB.js.map +1 -0
  481. package/dist/phone_number_input.css +1 -0
  482. package/dist/picture_placeholder.css +1 -0
  483. package/dist/popper.css +1 -0
  484. package/dist/portal-qqIp4SIl.js +12 -0
  485. package/dist/portal-qqIp4SIl.js.map +1 -0
  486. package/dist/progress_bar.css +1 -0
  487. package/dist/radio.css +1 -0
  488. package/dist/rect.css +1 -0
  489. package/dist/right_resize_handle.css +1 -0
  490. package/dist/select.css +1 -0
  491. package/dist/select_group.css +1 -0
  492. package/dist/sidebar_end.css +1 -0
  493. package/dist/sidebar_start.css +1 -0
  494. package/dist/slider.css +1 -0
  495. package/dist/slim_button.css +1 -0
  496. package/dist/stack.css +1 -0
  497. package/dist/stack.module-CBV1f12Z.js +5 -0
  498. package/dist/stack.module-CBV1f12Z.js.map +1 -0
  499. package/dist/stacks/box/bottom_resize_handle.d.ts +10 -0
  500. package/dist/stacks/box/bottom_resize_handle.d.ts.map +1 -0
  501. package/dist/stacks/box/bottom_resize_handle.js +33 -0
  502. package/dist/stacks/box/bottom_resize_handle.js.map +1 -0
  503. package/dist/stacks/box/box.d.ts +42 -0
  504. package/dist/stacks/box/box.d.ts.map +1 -0
  505. package/dist/stacks/box/box.js +168 -0
  506. package/dist/stacks/box/box.js.map +1 -0
  507. package/dist/stacks/box/end_resize_handle.d.ts +10 -0
  508. package/dist/stacks/box/end_resize_handle.d.ts.map +1 -0
  509. package/dist/stacks/box/end_resize_handle.js +33 -0
  510. package/dist/stacks/box/end_resize_handle.js.map +1 -0
  511. package/dist/stacks/box/handle_props.d.ts +7 -0
  512. package/dist/stacks/box/handle_props.d.ts.map +1 -0
  513. package/dist/stacks/box/handle_props.js +2 -0
  514. package/dist/stacks/box/handle_props.js.map +1 -0
  515. package/dist/stacks/box/left_resize_handle.d.ts +10 -0
  516. package/dist/stacks/box/left_resize_handle.d.ts.map +1 -0
  517. package/dist/stacks/box/left_resize_handle.js +35 -0
  518. package/dist/stacks/box/left_resize_handle.js.map +1 -0
  519. package/dist/stacks/box/resize_handlers.d.ts +3 -0
  520. package/dist/stacks/box/resize_handlers.d.ts.map +1 -0
  521. package/dist/stacks/box/resize_handlers.js +50 -0
  522. package/dist/stacks/box/resize_handlers.js.map +1 -0
  523. package/dist/stacks/box/right_resize_handle.d.ts +10 -0
  524. package/dist/stacks/box/right_resize_handle.d.ts.map +1 -0
  525. package/dist/stacks/box/right_resize_handle.js +35 -0
  526. package/dist/stacks/box/right_resize_handle.js.map +1 -0
  527. package/dist/stacks/box/start_resize_handle.d.ts +10 -0
  528. package/dist/stacks/box/start_resize_handle.d.ts.map +1 -0
  529. package/dist/stacks/box/start_resize_handle.js +34 -0
  530. package/dist/stacks/box/start_resize_handle.js.map +1 -0
  531. package/dist/stacks/box/top_resize_handle.d.ts +10 -0
  532. package/dist/stacks/box/top_resize_handle.d.ts.map +1 -0
  533. package/dist/stacks/box/top_resize_handle.js +34 -0
  534. package/dist/stacks/box/top_resize_handle.js.map +1 -0
  535. package/dist/stacks/h_collapsible_box.d.ts +8 -0
  536. package/dist/stacks/h_collapsible_box.d.ts.map +1 -0
  537. package/dist/stacks/h_collapsible_box.js +40 -0
  538. package/dist/stacks/h_collapsible_box.js.map +1 -0
  539. package/dist/stacks/h_stack.d.ts +10 -0
  540. package/dist/stacks/h_stack.d.ts.map +1 -0
  541. package/dist/stacks/h_stack.js +101 -0
  542. package/dist/stacks/h_stack.js.map +1 -0
  543. package/dist/stacks/index.d.ts +12 -0
  544. package/dist/stacks/index.d.ts.map +1 -0
  545. package/dist/stacks/index.js +17 -0
  546. package/dist/stacks/index.js.map +1 -0
  547. package/dist/stacks/spacer.d.ts +12 -0
  548. package/dist/stacks/spacer.d.ts.map +1 -0
  549. package/dist/stacks/spacer.js +37 -0
  550. package/dist/stacks/spacer.js.map +1 -0
  551. package/dist/stacks/story_components/circle.d.ts +8 -0
  552. package/dist/stacks/story_components/circle.d.ts.map +1 -0
  553. package/dist/stacks/story_components/circle.js +25 -0
  554. package/dist/stacks/story_components/circle.js.map +1 -0
  555. package/dist/stacks/story_components/horizontal_border.d.ts +5 -0
  556. package/dist/stacks/story_components/horizontal_border.d.ts.map +1 -0
  557. package/dist/stacks/story_components/horizontal_border.js +18 -0
  558. package/dist/stacks/story_components/horizontal_border.js.map +1 -0
  559. package/dist/stacks/story_components/picture_placeholder.d.ts +7 -0
  560. package/dist/stacks/story_components/picture_placeholder.d.ts.map +1 -0
  561. package/dist/stacks/story_components/picture_placeholder.js +39 -0
  562. package/dist/stacks/story_components/picture_placeholder.js.map +1 -0
  563. package/dist/stacks/story_components/rect.d.ts +7 -0
  564. package/dist/stacks/story_components/rect.d.ts.map +1 -0
  565. package/dist/stacks/story_components/rect.js +32 -0
  566. package/dist/stacks/story_components/rect.js.map +1 -0
  567. package/dist/stacks/story_components/style_box.d.ts +5 -0
  568. package/dist/stacks/story_components/style_box.d.ts.map +1 -0
  569. package/dist/stacks/story_components/style_box.js +12 -0
  570. package/dist/stacks/story_components/style_box.js.map +1 -0
  571. package/dist/stacks/types/alignment.d.ts +2 -0
  572. package/dist/stacks/types/alignment.d.ts.map +1 -0
  573. package/dist/stacks/types/as.d.ts +5 -0
  574. package/dist/stacks/types/as.d.ts.map +1 -0
  575. package/dist/stacks/types/common.d.ts +5 -0
  576. package/dist/stacks/types/common.d.ts.map +1 -0
  577. package/dist/stacks/types/styles.d.ts +42 -0
  578. package/dist/stacks/types/styles.d.ts.map +1 -0
  579. package/dist/stacks/utils/extract_style_props.d.ts +10 -0
  580. package/dist/stacks/utils/extract_style_props.d.ts.map +1 -0
  581. package/dist/stacks/utils/extract_style_props.js +297 -0
  582. package/dist/stacks/utils/extract_style_props.js.map +1 -0
  583. package/dist/stacks/utils/isCustomSizeProp.d.ts +2 -0
  584. package/dist/stacks/utils/isCustomSizeProp.d.ts.map +1 -0
  585. package/dist/stacks/utils/isCustomSizeProp.js +7 -0
  586. package/dist/stacks/utils/isCustomSizeProp.js.map +1 -0
  587. package/dist/stacks/utils/remove_undefined_properties.d.ts +2 -0
  588. package/dist/stacks/utils/remove_undefined_properties.d.ts.map +1 -0
  589. package/dist/stacks/utils/remove_undefined_properties.js +10 -0
  590. package/dist/stacks/utils/remove_undefined_properties.js.map +1 -0
  591. package/dist/stacks/utils/use_is_collapsed.d.ts +3 -0
  592. package/dist/stacks/utils/use_is_collapsed.d.ts.map +1 -0
  593. package/dist/stacks/utils/use_is_collapsed.js +22 -0
  594. package/dist/stacks/utils/use_is_collapsed.js.map +1 -0
  595. package/dist/stacks/v_collapsible_box.d.ts +8 -0
  596. package/dist/stacks/v_collapsible_box.d.ts.map +1 -0
  597. package/dist/stacks/v_collapsible_box.js +40 -0
  598. package/dist/stacks/v_collapsible_box.js.map +1 -0
  599. package/dist/stacks/v_stack.d.ts +10 -0
  600. package/dist/stacks/v_stack.d.ts.map +1 -0
  601. package/dist/stacks/v_stack.js +102 -0
  602. package/dist/stacks/v_stack.js.map +1 -0
  603. package/dist/stacks/z_stack.d.ts +12 -0
  604. package/dist/stacks/z_stack.d.ts.map +1 -0
  605. package/dist/stacks/z_stack.js +89 -0
  606. package/dist/stacks/z_stack.js.map +1 -0
  607. package/dist/start_resize_handle.css +1 -0
  608. package/dist/status_input.css +1 -0
  609. package/dist/subheadline.css +1 -0
  610. package/dist/subheadline.module-C-v7zMkQ.js +5 -0
  611. package/dist/subheadline.module-C-v7zMkQ.js.map +1 -0
  612. package/dist/suggestion_item.css +1 -0
  613. package/dist/suggestion_list.css +1 -0
  614. package/dist/surfaces/alert/alert.d.ts +11 -0
  615. package/dist/surfaces/alert/alert.d.ts.map +1 -0
  616. package/dist/surfaces/alert/alert.js +25 -0
  617. package/dist/surfaces/alert/alert.js.map +1 -0
  618. package/dist/surfaces/card/card.d.ts +7 -0
  619. package/dist/surfaces/card/card.d.ts.map +1 -0
  620. package/dist/surfaces/card/card.js +20 -0
  621. package/dist/surfaces/card/card.js.map +1 -0
  622. package/dist/surfaces/confirm/confirm.d.ts +12 -0
  623. package/dist/surfaces/confirm/confirm.d.ts.map +1 -0
  624. package/dist/surfaces/confirm/confirm.js +70 -0
  625. package/dist/surfaces/confirm/confirm.js.map +1 -0
  626. package/dist/surfaces/index.d.ts +11 -0
  627. package/dist/surfaces/index.d.ts.map +1 -0
  628. package/dist/surfaces/index.js +23 -0
  629. package/dist/surfaces/index.js.map +1 -0
  630. package/dist/surfaces/modal/modal.d.ts +7 -0
  631. package/dist/surfaces/modal/modal.d.ts.map +1 -0
  632. package/dist/surfaces/modal/modal.js +11 -0
  633. package/dist/surfaces/modal/modal.js.map +1 -0
  634. package/dist/surfaces/page/h_page.d.ts +6 -0
  635. package/dist/surfaces/page/h_page.d.ts.map +1 -0
  636. package/dist/surfaces/page/h_page.js +22 -0
  637. package/dist/surfaces/page/h_page.js.map +1 -0
  638. package/dist/surfaces/page/v_page.d.ts +6 -0
  639. package/dist/surfaces/page/v_page.d.ts.map +1 -0
  640. package/dist/surfaces/page/v_page.js +21 -0
  641. package/dist/surfaces/page/v_page.js.map +1 -0
  642. package/dist/surfaces/panel/h_panel.d.ts +9 -0
  643. package/dist/surfaces/panel/h_panel.d.ts.map +1 -0
  644. package/dist/surfaces/panel/h_panel.js +56 -0
  645. package/dist/surfaces/panel/h_panel.js.map +1 -0
  646. package/dist/surfaces/panel/v_panel.d.ts +9 -0
  647. package/dist/surfaces/panel/v_panel.d.ts.map +1 -0
  648. package/dist/surfaces/panel/v_panel.js +56 -0
  649. package/dist/surfaces/panel/v_panel.js.map +1 -0
  650. package/dist/surfaces/popover/popover.d.ts +6 -0
  651. package/dist/surfaces/popover/popover.d.ts.map +1 -0
  652. package/dist/surfaces/popover/popover.js +52 -0
  653. package/dist/surfaces/popover/popover.js.map +1 -0
  654. package/dist/surfaces/window/window.d.ts +5 -0
  655. package/dist/surfaces/window/window.d.ts.map +1 -0
  656. package/dist/surfaces/window/window.js +19 -0
  657. package/dist/surfaces/window/window.js.map +1 -0
  658. package/dist/switch.css +1 -0
  659. package/dist/textarea.css +1 -0
  660. package/dist/themes/index.d.ts +6 -0
  661. package/dist/themes/index.d.ts.map +1 -0
  662. package/dist/themes/index.js +343 -0
  663. package/dist/themes/index.js.map +1 -0
  664. package/dist/themes/stories/button_showcase.d.ts +2 -0
  665. package/dist/themes/stories/button_showcase.d.ts.map +1 -0
  666. package/dist/themes/stories/controls_fieldset.d.ts +2 -0
  667. package/dist/themes/stories/controls_fieldset.d.ts.map +1 -0
  668. package/dist/themes/stories/menu_showcase.d.ts +2 -0
  669. package/dist/themes/stories/menu_showcase.d.ts.map +1 -0
  670. package/dist/themes/stylesheets/reset.css +1 -0
  671. package/dist/themes/stylesheets/reset.d.ts +2 -0
  672. package/dist/themes/stylesheets/reset.d.ts.map +1 -0
  673. package/dist/themes/theme.d.ts +7 -0
  674. package/dist/themes/theme.d.ts.map +1 -0
  675. package/dist/themes/theme.js +10 -0
  676. package/dist/themes/theme.js.map +1 -0
  677. package/dist/themes/theme_variables.d.ts +66 -0
  678. package/dist/themes/theme_variables.d.ts.map +1 -0
  679. package/dist/themes/theme_variables.js +69 -0
  680. package/dist/themes/theme_variables.js.map +1 -0
  681. package/dist/themes/themes/ergo/ergo_theme.css +1 -0
  682. package/dist/themes/themes/ergo/ergo_theme.d.ts +2 -0
  683. package/dist/themes/themes/ergo/ergo_theme.d.ts.map +1 -0
  684. package/dist/themes/themes/windows_98/windows_98.css +1 -0
  685. package/dist/themes/themes/windows_98/windows_98_theme.d.ts +2 -0
  686. package/dist/themes/themes/windows_98/windows_98_theme.d.ts.map +1 -0
  687. package/dist/themes/themes/windows_98/windows_98_theme.js +1171 -0
  688. package/dist/themes/themes/windows_98/windows_98_theme.js.map +1 -0
  689. package/dist/title.css +1 -0
  690. package/dist/title.module-B16de2jd.js +5 -0
  691. package/dist/title.module-B16de2jd.js.map +1 -0
  692. package/dist/tokens/badge/badge.d.ts +8 -0
  693. package/dist/tokens/badge/badge.d.ts.map +1 -0
  694. package/dist/tokens/badge/badge.js +50 -0
  695. package/dist/tokens/badge/badge.js.map +1 -0
  696. package/dist/tokens/bubble/bubble.d.ts +11 -0
  697. package/dist/tokens/bubble/bubble.d.ts.map +1 -0
  698. package/dist/tokens/bubble/bubble.js +44 -0
  699. package/dist/tokens/bubble/bubble.js.map +1 -0
  700. package/dist/tokens/chip/chip.d.ts +9 -0
  701. package/dist/tokens/chip/chip.d.ts.map +1 -0
  702. package/dist/tokens/chip/chip.js +30 -0
  703. package/dist/tokens/chip/chip.js.map +1 -0
  704. package/dist/tokens/index.d.ts +4 -0
  705. package/dist/tokens/index.d.ts.map +1 -0
  706. package/dist/tokens/index.js +9 -0
  707. package/dist/tokens/index.js.map +1 -0
  708. package/dist/tooltip.css +1 -0
  709. package/dist/top_resize_handle.css +1 -0
  710. package/dist/typography/body_text/body_text.d.ts +18 -0
  711. package/dist/typography/body_text/body_text.d.ts.map +1 -0
  712. package/dist/typography/body_text/body_text.js +37 -0
  713. package/dist/typography/body_text/body_text.js.map +1 -0
  714. package/dist/typography/callout/callout.d.ts +18 -0
  715. package/dist/typography/callout/callout.d.ts.map +1 -0
  716. package/dist/typography/callout/callout.js +35 -0
  717. package/dist/typography/callout/callout.js.map +1 -0
  718. package/dist/typography/caption/caption.d.ts +18 -0
  719. package/dist/typography/caption/caption.d.ts.map +1 -0
  720. package/dist/typography/caption/caption.js +35 -0
  721. package/dist/typography/caption/caption.js.map +1 -0
  722. package/dist/typography/footnote/footnote.d.ts +18 -0
  723. package/dist/typography/footnote/footnote.d.ts.map +1 -0
  724. package/dist/typography/footnote/footnote.js +35 -0
  725. package/dist/typography/footnote/footnote.js.map +1 -0
  726. package/dist/typography/headline/headline.d.ts +18 -0
  727. package/dist/typography/headline/headline.d.ts.map +1 -0
  728. package/dist/typography/headline/headline.js +36 -0
  729. package/dist/typography/headline/headline.js.map +1 -0
  730. package/dist/typography/index.d.ts +8 -0
  731. package/dist/typography/index.d.ts.map +1 -0
  732. package/dist/typography/index.js +17 -0
  733. package/dist/typography/index.js.map +1 -0
  734. package/dist/typography/subheadline/subheadline.d.ts +18 -0
  735. package/dist/typography/subheadline/subheadline.d.ts.map +1 -0
  736. package/dist/typography/subheadline/subheadline.js +36 -0
  737. package/dist/typography/subheadline/subheadline.js.map +1 -0
  738. package/dist/typography/title/title.d.ts +19 -0
  739. package/dist/typography/title/title.d.ts.map +1 -0
  740. package/dist/typography/title/title.js +37 -0
  741. package/dist/typography/title/title.js.map +1 -0
  742. package/dist/unit_input.css +1 -0
  743. package/dist/utility_bar.css +1 -0
  744. package/dist/utils/calendar/calendar_date.d.ts +10 -0
  745. package/dist/utils/calendar/calendar_date.d.ts.map +1 -0
  746. package/dist/utils/calendar/calendar_date.js +2 -0
  747. package/dist/utils/calendar/calendar_date.js.map +1 -0
  748. package/dist/utils/calendar/calendar_dates_generator.d.ts +10 -0
  749. package/dist/utils/calendar/calendar_dates_generator.d.ts.map +1 -0
  750. package/dist/utils/calendar/calendar_dates_generator.js +37 -0
  751. package/dist/utils/calendar/calendar_dates_generator.js.map +1 -0
  752. package/dist/utils/calendar/get_days_of_week.d.ts +2 -0
  753. package/dist/utils/calendar/get_days_of_week.d.ts.map +1 -0
  754. package/dist/utils/calendar/get_days_of_week.js +12 -0
  755. package/dist/utils/calendar/get_days_of_week.js.map +1 -0
  756. package/dist/utils/calendar/get_months_of_year.d.ts +2 -0
  757. package/dist/utils/calendar/get_months_of_year.d.ts.map +1 -0
  758. package/dist/utils/calendar/get_months_of_year.js +18 -0
  759. package/dist/utils/calendar/get_months_of_year.js.map +1 -0
  760. package/dist/utils/calendar/month.d.ts +16 -0
  761. package/dist/utils/calendar/month.d.ts.map +1 -0
  762. package/dist/utils/calendar/month.js +18 -0
  763. package/dist/utils/calendar/month.js.map +1 -0
  764. package/dist/utils/click_away_listener.d.ts +11 -0
  765. package/dist/utils/click_away_listener.d.ts.map +1 -0
  766. package/dist/utils/click_away_listener.js +58 -0
  767. package/dist/utils/click_away_listener.js.map +1 -0
  768. package/dist/utils/default_value.d.ts +2 -0
  769. package/dist/utils/default_value.d.ts.map +1 -0
  770. package/dist/utils/default_value.js +7 -0
  771. package/dist/utils/default_value.js.map +1 -0
  772. package/dist/utils/focus_redirect.d.ts +6 -0
  773. package/dist/utils/focus_redirect.d.ts.map +1 -0
  774. package/dist/utils/focus_redirect.js +24 -0
  775. package/dist/utils/focus_redirect.js.map +1 -0
  776. package/dist/utils/hooks/make_context_hook.d.ts +5 -0
  777. package/dist/utils/hooks/make_context_hook.d.ts.map +1 -0
  778. package/dist/utils/hooks/make_context_hook.js +11 -0
  779. package/dist/utils/hooks/make_context_hook.js.map +1 -0
  780. package/dist/utils/hooks/use_draggable.d.ts +8 -0
  781. package/dist/utils/hooks/use_draggable.d.ts.map +1 -0
  782. package/dist/utils/hooks/use_draggable.js +30 -0
  783. package/dist/utils/hooks/use_draggable.js.map +1 -0
  784. package/dist/utils/hooks/use_fork_ref.d.ts +3 -0
  785. package/dist/utils/hooks/use_fork_ref.d.ts.map +1 -0
  786. package/dist/utils/hooks/use_fork_ref.js +12 -0
  787. package/dist/utils/hooks/use_fork_ref.js.map +1 -0
  788. package/dist/utils/hooks/use_media_query.d.ts +9 -0
  789. package/dist/utils/hooks/use_media_query.d.ts.map +1 -0
  790. package/dist/utils/hooks/use_media_query.js +16 -0
  791. package/dist/utils/hooks/use_media_query.js.map +1 -0
  792. package/dist/utils/hooks/use_resize_observer.d.ts +9 -0
  793. package/dist/utils/hooks/use_resize_observer.d.ts.map +1 -0
  794. package/dist/utils/hooks/use_resize_observer.js +78 -0
  795. package/dist/utils/hooks/use_resize_observer.js.map +1 -0
  796. package/dist/utils/index.d.ts +17 -0
  797. package/dist/utils/index.d.ts.map +1 -0
  798. package/dist/utils/index.js +30 -0
  799. package/dist/utils/index.js.map +1 -0
  800. package/dist/utils/responsive/responsive_renderer.d.ts +21 -0
  801. package/dist/utils/responsive/responsive_renderer.d.ts.map +1 -0
  802. package/dist/utils/responsive/responsive_renderer.js +12 -0
  803. package/dist/utils/responsive/responsive_renderer.js.map +1 -0
  804. package/dist/utils/scroll_away_listener.d.ts +18 -0
  805. package/dist/utils/scroll_away_listener.d.ts.map +1 -0
  806. package/dist/utils/scroll_away_listener.js +23 -0
  807. package/dist/utils/scroll_away_listener.js.map +1 -0
  808. package/dist/utils/types/dimensions.d.ts +15 -0
  809. package/dist/utils/types/dimensions.d.ts.map +1 -0
  810. package/dist/utils/types/variations.d.ts +5 -0
  811. package/dist/utils/types/variations.d.ts.map +1 -0
  812. package/dist/v_field.css +0 -0
  813. package/dist/window.css +1 -0
  814. package/package.json +136 -0
  815. package/src/actions/button/__stories__/button.stories.tsx +159 -0
  816. package/src/actions/button/__stories__/button_group.stories.tsx +106 -0
  817. package/src/actions/button/__stories__/select_group.stories.tsx +156 -0
  818. package/src/actions/button/__stories__/slim_button.stories.tsx +274 -0
  819. package/src/actions/button/base_button/base_button.module.css +15 -0
  820. package/src/actions/button/base_button/base_button.tsx +81 -0
  821. package/src/actions/button/button/button.module.css +129 -0
  822. package/src/actions/button/button/button.tsx +21 -0
  823. package/src/actions/button/button_group/button_group.module.css +67 -0
  824. package/src/actions/button/button_group/button_group.tsx +69 -0
  825. package/src/actions/button/select_group/select_group.module.css +67 -0
  826. package/src/actions/button/select_group/select_group.tsx +78 -0
  827. package/src/actions/button/select_group/single_select_group.tsx +48 -0
  828. package/src/actions/button/slim_button/slim_button.module.css +33 -0
  829. package/src/actions/button/slim_button/slim_button.tsx +18 -0
  830. package/src/actions/index.ts +19 -0
  831. package/src/feedback/index.ts +3 -0
  832. package/src/feedback/lazy/lazy.stories.tsx +56 -0
  833. package/src/feedback/lazy/lazy.tsx +53 -0
  834. package/src/feedback/loading/__storybook__/loading.stories.tsx +81 -0
  835. package/src/feedback/loading/__storybook__/storybook_custom_lines.module.css +3 -0
  836. package/src/feedback/loading/loading.module.css +20 -0
  837. package/src/feedback/loading/loading.tsx +71 -0
  838. package/src/feedback/progress/progress_bar.module.css +59 -0
  839. package/src/feedback/progress/progress_bar.stories.tsx +48 -0
  840. package/src/feedback/progress/progress_bar.tsx +43 -0
  841. package/src/feedback/storybook.module.css +5 -0
  842. package/src/form/field/common/field_control/field_control.module.css +20 -0
  843. package/src/form/field/common/field_control/field_control.tsx +53 -0
  844. package/src/form/field/common/field_description.tsx +26 -0
  845. package/src/form/field/common/field_error.tsx +37 -0
  846. package/src/form/field/common/field_header.tsx +40 -0
  847. package/src/form/field/common/field_label.tsx +38 -0
  848. package/src/form/field/common/status_input/status_input.module.css +10 -0
  849. package/src/form/field/common/status_input/status_input.tsx +84 -0
  850. package/src/form/field/common/types.ts +9 -0
  851. package/src/form/field/field.stories.tsx +131 -0
  852. package/src/form/field/field.tsx +37 -0
  853. package/src/form/field/form_field.tsx +29 -0
  854. package/src/form/field/h_field/h_field.module.css +6 -0
  855. package/src/form/field/h_field/h_field.stories.tsx +90 -0
  856. package/src/form/field/h_field/h_field.tsx +70 -0
  857. package/src/form/field/v_field/v_field.module.css +0 -0
  858. package/src/form/field/v_field/v_field.stories.tsx +90 -0
  859. package/src/form/field/v_field/v_field.tsx +74 -0
  860. package/src/form/field_presenters/field_presenter.ts +162 -0
  861. package/src/form/field_presenters/options_field_presenter.ts +36 -0
  862. package/src/form/field_set/field_set.module.css +17 -0
  863. package/src/form/field_set/field_set.stories.tsx +102 -0
  864. package/src/form/field_set/field_set.tsx +65 -0
  865. package/src/form/form_field.tsx +29 -0
  866. package/src/form/index.ts +5 -0
  867. package/src/inputs/__storybook__/stories.module.css +5 -0
  868. package/src/inputs/checkbox/checkbox.module.css +51 -0
  869. package/src/inputs/checkbox/checkbox.stories.tsx +48 -0
  870. package/src/inputs/checkbox/checkbox.tsx +43 -0
  871. package/src/inputs/checkbox/checkbox_row.tsx +29 -0
  872. package/src/inputs/color_input/color_input.module.css +62 -0
  873. package/src/inputs/color_input/color_input.stories.tsx +39 -0
  874. package/src/inputs/color_input/color_input.tsx +153 -0
  875. package/src/inputs/color_input/color_picker.module.css +13 -0
  876. package/src/inputs/color_input/color_picker.tsx +41 -0
  877. package/src/inputs/combo_box/combo_box.stories.tsx +93 -0
  878. package/src/inputs/combo_box/combo_box.tsx +153 -0
  879. package/src/inputs/date_picker/date_picker.module.css +20 -0
  880. package/src/inputs/date_picker/date_picker.stories.tsx +126 -0
  881. package/src/inputs/date_picker/date_picker.tsx +170 -0
  882. package/src/inputs/date_picker/date_picker_body.tsx +53 -0
  883. package/src/inputs/date_picker/date_picker_date.module.css +78 -0
  884. package/src/inputs/date_picker/date_picker_date.tsx +99 -0
  885. package/src/inputs/date_picker/date_picker_day.module.css +4 -0
  886. package/src/inputs/date_picker/date_picker_day.tsx +29 -0
  887. package/src/inputs/date_picker/date_picker_header.module.css +3 -0
  888. package/src/inputs/date_picker/date_picker_header.tsx +98 -0
  889. package/src/inputs/date_picker/date_picker_input.module.css +61 -0
  890. package/src/inputs/date_picker/date_picker_input.stories.tsx +108 -0
  891. package/src/inputs/date_picker/date_picker_input.tsx +180 -0
  892. package/src/inputs/date_picker/date_picker_presenter.ts +426 -0
  893. package/src/inputs/date_picker/date_picker_time_selector.module.css +33 -0
  894. package/src/inputs/date_picker/date_picker_time_selector.tsx +112 -0
  895. package/src/inputs/date_picker/date_picker_year_input.module.css +49 -0
  896. package/src/inputs/date_picker/date_picker_year_input.tsx +51 -0
  897. package/src/inputs/date_picker/date_picker_year_selector.module.css +51 -0
  898. package/src/inputs/date_picker/date_picker_year_selector.tsx +130 -0
  899. package/src/inputs/index.ts +60 -0
  900. package/src/inputs/input/input.module.css +80 -0
  901. package/src/inputs/input/input.stories.tsx +129 -0
  902. package/src/inputs/input/input.tsx +36 -0
  903. package/src/inputs/mask_input/__tests__/mask_presenter.test.ts +131 -0
  904. package/src/inputs/mask_input/alpha_character.ts +13 -0
  905. package/src/inputs/mask_input/alpha_numeric_character.ts +13 -0
  906. package/src/inputs/mask_input/character.ts +31 -0
  907. package/src/inputs/mask_input/constant_character.ts +46 -0
  908. package/src/inputs/mask_input/key_capture_input.stories.tsx +69 -0
  909. package/src/inputs/mask_input/key_capture_input.tsx +144 -0
  910. package/src/inputs/mask_input/language_character.ts +13 -0
  911. package/src/inputs/mask_input/mask.ts +309 -0
  912. package/src/inputs/mask_input/mask_config.ts +25 -0
  913. package/src/inputs/mask_input/mask_cursor.ts +23 -0
  914. package/src/inputs/mask_input/mask_input.stories.tsx +63 -0
  915. package/src/inputs/mask_input/mask_input.tsx +246 -0
  916. package/src/inputs/mask_input/mask_presenter.ts +306 -0
  917. package/src/inputs/mask_input/numeric_character.ts +13 -0
  918. package/src/inputs/mask_input/regex_character.ts +62 -0
  919. package/src/inputs/multi_combo_box/multi_combo_box.module.css +3 -0
  920. package/src/inputs/multi_combo_box/multi_combo_box.stories.tsx +71 -0
  921. package/src/inputs/multi_combo_box/multi_combo_box.tsx +133 -0
  922. package/src/inputs/multiselect/multiselect.module.css +3 -0
  923. package/src/inputs/multiselect/multiselect.tsx +133 -0
  924. package/src/inputs/multiselect/multiselect_inline_values.tsx +49 -0
  925. package/src/inputs/multiselect/multiselect_row.tsx +57 -0
  926. package/src/inputs/multiselect/multiselect_values.module.css +31 -0
  927. package/src/inputs/multiselect/multiselect_values.tsx +63 -0
  928. package/src/inputs/multiselect/mutliselect.stories.tsx +112 -0
  929. package/src/inputs/options/option.tsx +23 -0
  930. package/src/inputs/options/utils.ts +18 -0
  931. package/src/inputs/phone_number_input/__tests__/utils.test.ts +52 -0
  932. package/src/inputs/phone_number_input/countries_phone_information.ts +846 -0
  933. package/src/inputs/phone_number_input/phone_number_input.module.css +50 -0
  934. package/src/inputs/phone_number_input/phone_number_input.stories.tsx +119 -0
  935. package/src/inputs/phone_number_input/phone_number_input.tsx +329 -0
  936. package/src/inputs/phone_number_input/utils.ts +7 -0
  937. package/src/inputs/radio/radio.module.css +87 -0
  938. package/src/inputs/radio/radio.stories.tsx +20 -0
  939. package/src/inputs/radio/radio.tsx +68 -0
  940. package/src/inputs/radio/radio_row.tsx +45 -0
  941. package/src/inputs/select/select.module.css +66 -0
  942. package/src/inputs/select/select.stories.tsx +173 -0
  943. package/src/inputs/select/select.tsx +160 -0
  944. package/src/inputs/slider/slider.module.css +150 -0
  945. package/src/inputs/slider/slider.stories.tsx +52 -0
  946. package/src/inputs/slider/slider.tsx +57 -0
  947. package/src/inputs/slider/slider_row.tsx +33 -0
  948. package/src/inputs/suggestions/suggestion_item.module.css +54 -0
  949. package/src/inputs/suggestions/suggestion_item.tsx +53 -0
  950. package/src/inputs/suggestions/suggestion_list.module.css +29 -0
  951. package/src/inputs/suggestions/suggestion_list.stories.tsx +348 -0
  952. package/src/inputs/suggestions/suggestion_list.tsx +411 -0
  953. package/src/inputs/switch/TODO.md +3 -0
  954. package/src/inputs/switch/switch.module.css +110 -0
  955. package/src/inputs/switch/switch.stories.tsx +63 -0
  956. package/src/inputs/switch/switch.tsx +82 -0
  957. package/src/inputs/switch/switch_row.tsx +33 -0
  958. package/src/inputs/textarea/textarea.module.css +66 -0
  959. package/src/inputs/textarea/textarea.stories.tsx +44 -0
  960. package/src/inputs/textarea/textarea.tsx +32 -0
  961. package/src/inputs/textarea/textarea_row.tsx +24 -0
  962. package/src/inputs/unit_input/unit_input.module.css +23 -0
  963. package/src/inputs/unit_input/unit_input.stories.tsx +100 -0
  964. package/src/inputs/unit_input/unit_input.tsx +115 -0
  965. package/src/layouts/column/column.module.css +33 -0
  966. package/src/layouts/column/column.tsx +57 -0
  967. package/src/layouts/divider/__stories__/divider.stories.tsx +103 -0
  968. package/src/layouts/divider/divider.module.css +102 -0
  969. package/src/layouts/divider/divider.tsx +81 -0
  970. package/src/layouts/draggable_list/draggable_list.tsx +5 -0
  971. package/src/layouts/drawers/__stories__/drawers.stories.tsx +26 -0
  972. package/src/layouts/drawers/drawer_bottom/drawer_bottom.module.css +3 -0
  973. package/src/layouts/drawers/drawer_bottom/drawer_bottom.tsx +23 -0
  974. package/src/layouts/drawers/drawer_end/drawer_end.module.css +3 -0
  975. package/src/layouts/drawers/drawer_end/drawer_end.tsx +24 -0
  976. package/src/layouts/drawers/drawer_start/drawer_start.module.css +3 -0
  977. package/src/layouts/drawers/drawer_start/drawer_start.tsx +23 -0
  978. package/src/layouts/drawers/drawer_top/drawer_top.module.css +3 -0
  979. package/src/layouts/drawers/drawer_top/drawer_top.tsx +24 -0
  980. package/src/layouts/footer/footer.module.css +31 -0
  981. package/src/layouts/footer/footer.tsx +29 -0
  982. package/src/layouts/grid/grid.module.css +22 -0
  983. package/src/layouts/grid/grid.stories.tsx +260 -0
  984. package/src/layouts/grid/grid.tsx +120 -0
  985. package/src/layouts/header/header.module.css +6 -0
  986. package/src/layouts/header/header.tsx +37 -0
  987. package/src/layouts/index.ts +14 -0
  988. package/src/layouts/list/item.tsx +18 -0
  989. package/src/layouts/list/list.tsx +23 -0
  990. package/src/layouts/list/section_header.module.css +18 -0
  991. package/src/layouts/list/section_header.tsx +15 -0
  992. package/src/layouts/sidebar_end/sidebar_end.module.css +31 -0
  993. package/src/layouts/sidebar_end/sidebar_end.tsx +64 -0
  994. package/src/layouts/sidebar_start/sidebar_start.module.css +31 -0
  995. package/src/layouts/sidebar_start/sidebar_start.tsx +61 -0
  996. package/src/layouts/utility_bar/utility_bar.module.css +7 -0
  997. package/src/layouts/utility_bar/utility_bar.tsx +39 -0
  998. package/src/overlay/context_menu/context_menu.stories.tsx +79 -0
  999. package/src/overlay/context_menu/context_menu.tsx +55 -0
  1000. package/src/overlay/menu/menu.module.css +33 -0
  1001. package/src/overlay/menu/menu.stories.tsx +345 -0
  1002. package/src/overlay/menu/menu.tsx +267 -0
  1003. package/src/overlay/popper/popper.module.css +10 -0
  1004. package/src/overlay/popper/popper.stories.tsx +431 -0
  1005. package/src/overlay/popper/popper.tsx +218 -0
  1006. package/src/overlay/portal/portal.css +35 -0
  1007. package/src/overlay/portal/portal.stories.tsx +43 -0
  1008. package/src/overlay/portal/portal.tsx +26 -0
  1009. package/src/overlay/portal/portal_platform.tsx +120 -0
  1010. package/src/overlay/portal/portal_platform_context.ts +11 -0
  1011. package/src/overlay/tooltip/tooltip.module.css +3 -0
  1012. package/src/overlay/tooltip/tooltip.stories.tsx +15 -0
  1013. package/src/overlay/tooltip/tooltip.tsx +24 -0
  1014. package/src/stacks/box/bottom_resize_handle.module.css +10 -0
  1015. package/src/stacks/box/bottom_resize_handle.tsx +42 -0
  1016. package/src/stacks/box/box.tsx +220 -0
  1017. package/src/stacks/box/end_resize_handle.module.css +17 -0
  1018. package/src/stacks/box/end_resize_handle.tsx +42 -0
  1019. package/src/stacks/box/handle_props.ts +6 -0
  1020. package/src/stacks/box/left_resize_handle.module.css +10 -0
  1021. package/src/stacks/box/left_resize_handle.tsx +43 -0
  1022. package/src/stacks/box/resize_handlers.ts +129 -0
  1023. package/src/stacks/box/right_resize_handle.module.css +10 -0
  1024. package/src/stacks/box/right_resize_handle.tsx +43 -0
  1025. package/src/stacks/box/start_resize_handle.module.css +17 -0
  1026. package/src/stacks/box/start_resize_handle.tsx +42 -0
  1027. package/src/stacks/box/top_resize_handle.module.css +10 -0
  1028. package/src/stacks/box/top_resize_handle.tsx +41 -0
  1029. package/src/stacks/collapsible_box.module.css +37 -0
  1030. package/src/stacks/collapsible_box.stories.tsx +66 -0
  1031. package/src/stacks/demo.module.css +4 -0
  1032. package/src/stacks/demo.stories.tsx +145 -0
  1033. package/src/stacks/h_collapsible_box.tsx +48 -0
  1034. package/src/stacks/h_stack.stories.tsx +107 -0
  1035. package/src/stacks/h_stack.tsx +114 -0
  1036. package/src/stacks/index.ts +11 -0
  1037. package/src/stacks/spacer.tsx +47 -0
  1038. package/src/stacks/stack.module.css +357 -0
  1039. package/src/stacks/stacks.mdx +240 -0
  1040. package/src/stacks/story_components/circle.module.css +7 -0
  1041. package/src/stacks/story_components/circle.tsx +30 -0
  1042. package/src/stacks/story_components/horizontal_border.tsx +15 -0
  1043. package/src/stacks/story_components/picture_placeholder.module.css +3 -0
  1044. package/src/stacks/story_components/picture_placeholder.tsx +42 -0
  1045. package/src/stacks/story_components/rect.module.css +8 -0
  1046. package/src/stacks/story_components/rect.tsx +36 -0
  1047. package/src/stacks/story_components/style_box.tsx +19 -0
  1048. package/src/stacks/types/alignment.ts +1 -0
  1049. package/src/stacks/types/as.tsx +11 -0
  1050. package/src/stacks/types/common.ts +4 -0
  1051. package/src/stacks/types/styles.ts +44 -0
  1052. package/src/stacks/utils/extract_style_props.ts +323 -0
  1053. package/src/stacks/utils/isCustomSizeProp.ts +3 -0
  1054. package/src/stacks/utils/remove_undefined_properties.ts +11 -0
  1055. package/src/stacks/utils/use_is_collapsed.ts +33 -0
  1056. package/src/stacks/v_collapsible_box.tsx +48 -0
  1057. package/src/stacks/v_stack.stories.tsx +40 -0
  1058. package/src/stacks/v_stack.tsx +118 -0
  1059. package/src/stacks/z_stack.stories.tsx +119 -0
  1060. package/src/stacks/z_stack.tsx +104 -0
  1061. package/src/surfaces/alert/alert.stories.tsx +33 -0
  1062. package/src/surfaces/alert/alert.tsx +30 -0
  1063. package/src/surfaces/card/card.module.css +5 -0
  1064. package/src/surfaces/card/card.tsx +24 -0
  1065. package/src/surfaces/confirm/confirm.module.css +40 -0
  1066. package/src/surfaces/confirm/confirm.stories.tsx +43 -0
  1067. package/src/surfaces/confirm/confirm.tsx +91 -0
  1068. package/src/surfaces/index.ts +10 -0
  1069. package/src/surfaces/modal/modal.module.css +3 -0
  1070. package/src/surfaces/modal/modal.stories.tsx +15 -0
  1071. package/src/surfaces/modal/modal.tsx +19 -0
  1072. package/src/surfaces/page/h_page.tsx +23 -0
  1073. package/src/surfaces/page/page.module.css +12 -0
  1074. package/src/surfaces/page/v_page.tsx +22 -0
  1075. package/src/surfaces/panel/h_panel.tsx +59 -0
  1076. package/src/surfaces/panel/panel.module.css +14 -0
  1077. package/src/surfaces/panel/v_panel.tsx +59 -0
  1078. package/src/surfaces/popover/popover.tsx +53 -0
  1079. package/src/surfaces/window/window.module.css +5 -0
  1080. package/src/surfaces/window/window.stories.tsx +15 -0
  1081. package/src/surfaces/window/window.tsx +21 -0
  1082. package/src/themes/index.ts +5 -0
  1083. package/src/themes/stories/button_showcase.tsx +153 -0
  1084. package/src/themes/stories/controls_fieldset.tsx +249 -0
  1085. package/src/themes/stories/menu_showcase.tsx +508 -0
  1086. package/src/themes/stories/themes.stories.tsx +35 -0
  1087. package/src/themes/stylesheets/reset.css +134 -0
  1088. package/src/themes/stylesheets/reset.ts +4 -0
  1089. package/src/themes/theme.tsx +14 -0
  1090. package/src/themes/theme_variables.ts +81 -0
  1091. package/src/themes/themes/ergo/ergo_theme.css +194 -0
  1092. package/src/themes/themes/ergo/ergo_theme.ts +4 -0
  1093. package/src/themes/themes/windows_98/windows_98.css +1165 -0
  1094. package/src/themes/themes/windows_98/windows_98_theme.ts +4 -0
  1095. package/src/tokens/badge/badge.module.css +14 -0
  1096. package/src/tokens/badge/badge.stories.tsx +25 -0
  1097. package/src/tokens/badge/badge.tsx +56 -0
  1098. package/src/tokens/bubble/bubble.module.css +11 -0
  1099. package/src/tokens/bubble/bubble.stories.tsx +168 -0
  1100. package/src/tokens/bubble/bubble.tsx +53 -0
  1101. package/src/tokens/chip/chip.module.css +13 -0
  1102. package/src/tokens/chip/chip.stories.tsx +51 -0
  1103. package/src/tokens/chip/chip.tsx +36 -0
  1104. package/src/tokens/index.ts +3 -0
  1105. package/src/typography/__tests__/sanity.test.ts +7 -0
  1106. package/src/typography/body_text/body_text.module.css +60 -0
  1107. package/src/typography/body_text/body_text.stories.tsx +46 -0
  1108. package/src/typography/body_text/body_text.tsx +76 -0
  1109. package/src/typography/callout/callout.module.css +55 -0
  1110. package/src/typography/callout/callout.stories.tsx +94 -0
  1111. package/src/typography/callout/callout.tsx +74 -0
  1112. package/src/typography/caption/caption.module.css +55 -0
  1113. package/src/typography/caption/caption.stories.tsx +94 -0
  1114. package/src/typography/caption/caption.tsx +74 -0
  1115. package/src/typography/footnote/footnote.module.css +55 -0
  1116. package/src/typography/footnote/footnote.stories.tsx +94 -0
  1117. package/src/typography/footnote/footnote.tsx +74 -0
  1118. package/src/typography/headline/headline.module.css +56 -0
  1119. package/src/typography/headline/headline.stories.tsx +94 -0
  1120. package/src/typography/headline/headline.tsx +84 -0
  1121. package/src/typography/index.ts +7 -0
  1122. package/src/typography/subheadline/subheadline.module.css +56 -0
  1123. package/src/typography/subheadline/subheadline.stories.tsx +94 -0
  1124. package/src/typography/subheadline/subheadline.tsx +87 -0
  1125. package/src/typography/title/title.module.css +53 -0
  1126. package/src/typography/title/title.stories.tsx +46 -0
  1127. package/src/typography/title/title.tsx +88 -0
  1128. package/src/typography/typography-showcase.stories.tsx +347 -0
  1129. package/src/utils/__stories__/use_draggable.stories.tsx +217 -0
  1130. package/src/utils/calendar/calendar_date.ts +10 -0
  1131. package/src/utils/calendar/calendar_dates_generator.ts +59 -0
  1132. package/src/utils/calendar/get_days_of_week.ts +17 -0
  1133. package/src/utils/calendar/get_months_of_year.ts +32 -0
  1134. package/src/utils/calendar/month.ts +16 -0
  1135. package/src/utils/click_away_listener.stories.tsx +264 -0
  1136. package/src/utils/click_away_listener.tsx +124 -0
  1137. package/src/utils/default_value.test.ts +20 -0
  1138. package/src/utils/default_value.ts +3 -0
  1139. package/src/utils/focus_redirect.tsx +26 -0
  1140. package/src/utils/hooks/make_context_hook.ts +17 -0
  1141. package/src/utils/hooks/use_draggable.ts +74 -0
  1142. package/src/utils/hooks/use_fork_ref.ts +18 -0
  1143. package/src/utils/hooks/use_media_query.ts +32 -0
  1144. package/src/utils/hooks/use_resize_observer.ts +148 -0
  1145. package/src/utils/index.ts +20 -0
  1146. package/src/utils/responsive/responsive_renderer.stories.tsx +77 -0
  1147. package/src/utils/responsive/responsive_renderer.tsx +31 -0
  1148. package/src/utils/scroll_away_listener.stories.tsx +293 -0
  1149. package/src/utils/scroll_away_listener.tsx +55 -0
  1150. package/src/utils/types/dimensions.ts +16 -0
  1151. package/src/utils/types/variations.ts +4 -0
  1152. package/tsconfig.json +30 -0
  1153. package/types/css_variables.d.ts +8 -0
  1154. package/types/file_types.d.ts +54 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date_picker_input.js","sources":["../../../src/inputs/date_picker/date_picker_input.tsx"],"sourcesContent":["import React, { useCallback, useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport { Hierarchy } from '../../utils/index.js';\nimport { ZStack } from '../../stacks/z_stack.js';\nimport { Popper } from '../../overlay/popper/popper.js';\nimport classNames from 'classnames';\nimport { HTMLAttributes } from 'react';\nimport { Button } from '../../actions/index.js';\nimport { DatePicker } from './date_picker.js';\nimport { DatePickerPresenter } from './date_picker_presenter.js';\nimport { FocusRedirect } from '../../utils/index.js';\nimport styles from './date_picker_input.module.css';\n\nexport interface DatePickerInputProps\n extends Omit<HTMLAttributes<HTMLButtonElement>, 'onChange' | 'onError'> {\n value?: Date | null;\n disabled?: boolean;\n onChange?: (date: Date | null) => void;\n onError?: (error: string | null) => void;\n width?: string;\n maxWidth?: string;\n minWidth?: string;\n showTime?: boolean;\n timeIntervalInMinutes?: number;\n disabledDates?: Date[] | undefined;\n countryCode?: string;\n renderActions?: (datePickerPresenter: DatePickerPresenter) => React.ReactNode;\n min?: Date;\n max?: Date;\n hierarchy?: Hierarchy;\n selectDateMessage?: string;\n onTimeSelected?: (hour: number, minutes: number, seconds: number) => void;\n}\n\nexport const DatePickerInput = React.forwardRef<HTMLButtonElement, DatePickerInputProps>(\n (\n {\n value = new Date(),\n onChange,\n onError,\n min = new Date('01/01/1924'),\n max = new Date('01/01/2124'),\n disabled,\n width = '100%',\n maxWidth,\n minWidth,\n showTime = false,\n timeIntervalInMinutes = 15,\n hierarchy = 'secondary',\n disabledDates,\n selectDateMessage = 'Select Date',\n countryCode,\n renderActions,\n onTimeSelected,\n ...props\n }: DatePickerInputProps,\n ref: React.Ref<HTMLButtonElement>\n ) => {\n const [anchorElement, setAnchorElement] = useState<HTMLButtonElement | null>(null);\n const isOpen = anchorElement != null;\n const pickerRef = useRef<HTMLDivElement | null>(null);\n\n const isException = useCallback((target: HTMLElement) => {\n return target.closest('.suggestion-list') != null;\n }, []);\n\n const formatter = useMemo(() => {\n const formatOptions: Intl.DateTimeFormatOptions = {\n year: 'numeric',\n month: 'short',\n day: 'numeric',\n };\n\n if (showTime) {\n formatOptions.hour = 'numeric';\n formatOptions.minute = '2-digit';\n formatOptions.hour12 = true;\n }\n\n return new Intl.DateTimeFormat(countryCode, formatOptions);\n }, [countryCode, showTime]);\n\n const formattedDate = value != null ? formatter.format(value) : selectDateMessage;\n\n function openPicker(e: React.MouseEvent<HTMLButtonElement>) {\n setAnchorElement(e.currentTarget);\n }\n\n function closePicker() {\n setAnchorElement(null);\n }\n\n useLayoutEffect(() => {\n requestAnimationFrame(() => {\n if (anchorElement != null) {\n pickerRef.current && pickerRef.current.focus();\n }\n });\n }, [anchorElement]);\n\n function processKeyInput(event: React.KeyboardEvent) {\n if (event.key === 'Escape') {\n closePicker();\n }\n }\n\n function handleRedirect() {\n const picker = pickerRef.current;\n\n if (picker != null) {\n picker.focus();\n }\n }\n\n function dateSelected(date: Date | null) {\n onChange?.(date);\n !showTime && closePicker();\n }\n\n function timeSelected(hour: number, minutes: number, seconds: number) {\n onTimeSelected?.(hour, minutes, seconds);\n closePicker();\n }\n\n return (\n <>\n <Button\n ref={ref}\n className={classNames(styles.button, 'select')}\n hAlign=\"start\"\n disabled={disabled}\n hierarchy={hierarchy}\n onClick={openPicker}\n width={width}\n maxWidth={maxWidth}\n {...props}\n >\n <span className=\"ellipsis\">{formattedDate}</span>\n </Button>\n <Popper\n anchorElement={anchorElement}\n disableClickAway\n veil\n onVeilClick={closePicker}\n onClose={closePicker}\n verticalAnchor=\"bottom\"\n horizontalAnchor=\"start\"\n verticalOrigin=\"top\"\n horizontalOrigin=\"start\"\n open={isOpen}\n isClickAwayException={isException}\n isScrollAwayException={isException}\n restoreFocus\n >\n <ZStack\n padding=\"8px\"\n className={classNames(styles.popover, 'date-picker-popover')}\n onKeyDown={processKeyInput}\n >\n <DatePicker\n ref={pickerRef}\n value={value}\n onChange={dateSelected}\n min={min}\n max={max}\n showTime={showTime}\n onError={onError}\n disabled={disabled}\n disabledDates={disabledDates}\n countryCode={countryCode}\n renderActions={renderActions}\n onTimeSelected={timeSelected}\n timeIntervalInMinutes={timeIntervalInMinutes}\n />\n <FocusRedirect onRedirect={handleRedirect} />\n </ZStack>\n </Popper>\n </>\n );\n }\n);\n"],"names":["DatePickerInput","React","value","onChange","onError","min","max","disabled","width","maxWidth","minWidth","showTime","timeIntervalInMinutes","hierarchy","disabledDates","selectDateMessage","countryCode","renderActions","onTimeSelected","props","ref","anchorElement","setAnchorElement","useState","isOpen","pickerRef","useRef","isException","useCallback","target","formatter","useMemo","formatOptions","formattedDate","openPicker","e","closePicker","useLayoutEffect","processKeyInput","event","handleRedirect","picker","dateSelected","date","timeSelected","hour","minutes","seconds","jsxs","Fragment","jsx","Button","classNames","styles","Popper","ZStack","DatePicker","FocusRedirect"],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ import { CalendarDate } from '../../utils/calendar/calendar_date.js';
2
+ export interface DatePickerState {
3
+ error: string | null;
4
+ visibleYear: number;
5
+ visibleMonth: number;
6
+ visibleDates: CalendarDate[];
7
+ canNavigateToNextMonth: boolean;
8
+ canNavigateToPreviousMonth: boolean;
9
+ showTime: boolean;
10
+ timeIntervalInMinutes: number;
11
+ minVisibleTimeInMilliseconds: number;
12
+ maxVisibleTimeInMilliseconds: number;
13
+ min: Date | null;
14
+ max: Date | null;
15
+ disabledDates: Date[];
16
+ }
17
+ export declare class DatePickerPresenter {
18
+ private _value;
19
+ private _error;
20
+ private _state;
21
+ private _calendarDatesGenerator;
22
+ private _dateUtility;
23
+ get stateBroadcast(): import('@tcn/state').IBroadcast<DatePickerState>;
24
+ get valueBroadcast(): import('@tcn/state').IBroadcast<Date | null>;
25
+ get errorBroadcast(): import('@tcn/state').IBroadcast<string | null>;
26
+ constructor(value: Date | null, visibleYear: number, visibleMonth: number, showTime: boolean, timeIntervalInMinutes?: number);
27
+ initialize(): void;
28
+ selectDate(date: Date | null): void;
29
+ private _keepTimeWithinBounds;
30
+ private _validate;
31
+ setShowTime(showTime: boolean): void;
32
+ setVisibleYear(year: number): void;
33
+ private _updateNavigationAvailability;
34
+ setVisibleMonth(month: number): void;
35
+ private _canNavigateToMonth;
36
+ setMinDate(value: Date | null): void;
37
+ setMaxDate(value: Date | null): void;
38
+ setMinVisibleTime(timeInMilliseconds: number): void;
39
+ setMaxVisibleTime(timeInMilliseconds: number): void;
40
+ setDisabledDates(dates: Date[]): void;
41
+ clear(): void;
42
+ setTime(hours: number, minutes: number, seconds: number): void;
43
+ setTimeIntervalInMinutes(intervalInMinutes: number): void;
44
+ }
45
+ //# sourceMappingURL=date_picker_presenter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date_picker_presenter.d.ts","sourceRoot":"","sources":["../../../src/inputs/date_picker/date_picker_presenter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAG1E,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,YAAY,EAAE,CAAC;IAC7B,sBAAsB,EAAE,OAAO,CAAC;IAChC,0BAA0B,EAAE,OAAO,CAAC;IACpC,QAAQ,EAAE,OAAO,CAAC;IAClB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,4BAA4B,EAAE,MAAM,CAAC;IACrC,4BAA4B,EAAE,MAAM,CAAC;IACrC,GAAG,EAAE,IAAI,GAAG,IAAI,CAAC;IACjB,GAAG,EAAE,IAAI,GAAG,IAAI,CAAC;IACjB,aAAa,EAAE,IAAI,EAAE,CAAC;CACvB;AAKD,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,uBAAuB,CAAyB;IACxD,OAAO,CAAC,YAAY,CAAO;IAE3B,IAAI,cAAc,qDAEjB;IAED,IAAI,cAAc,iDAEjB;IAED,IAAI,cAAc,mDAEjB;gBAGC,KAAK,EAAE,IAAI,GAAG,IAAI,EAClB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,OAAO,EACjB,qBAAqB,SAAK;IA0C5B,UAAU;IAIV,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAsB5B,OAAO,CAAC,qBAAqB;IA0B7B,OAAO,CAAC,SAAS;IAkCjB,WAAW,CAAC,QAAQ,EAAE,OAAO;IAW7B,cAAc,CAAC,IAAI,EAAE,MAAM;IAyC3B,OAAO,CAAC,6BAA6B;IAerC,eAAe,CAAC,KAAK,EAAE,MAAM;IAyC7B,OAAO,CAAC,mBAAmB;IA4B3B,UAAU,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI;IAmB7B,UAAU,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI;IAoB7B,iBAAiB,CAAC,kBAAkB,EAAE,MAAM;IAe5C,iBAAiB,CAAC,kBAAkB,EAAE,MAAM;IAe5C,gBAAgB,CAAC,KAAK,EAAE,IAAI,EAAE;IAQ9B,KAAK;IAIL,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAuBvD,wBAAwB,CAAC,iBAAiB,EAAE,MAAM;CAUnD"}
@@ -0,0 +1,170 @@
1
+ import { Signal as m } from "@tcn/state";
2
+ import { CalendarDatesGenerator as u } from "../../utils/calendar/calendar_dates_generator.js";
3
+ const h = 0, g = 24 * 1e3 * 60 * 60;
4
+ class M {
5
+ _value;
6
+ _error;
7
+ _state;
8
+ _calendarDatesGenerator;
9
+ _dateUtility;
10
+ get stateBroadcast() {
11
+ return this._state.broadcast;
12
+ }
13
+ get valueBroadcast() {
14
+ return this._value.broadcast;
15
+ }
16
+ get errorBroadcast() {
17
+ return this._error.broadcast;
18
+ }
19
+ constructor(t, e, i, a, n = 15) {
20
+ const l = /* @__PURE__ */ new Date(), s = t == null ? l.getFullYear() : t.getFullYear(), o = t == null ? l.getMonth() : t.getMonth();
21
+ this._dateUtility = /* @__PURE__ */ new Date(), this._calendarDatesGenerator = new u(s, o), this._dateUtility.setFullYear(s), this._dateUtility.setMonth(o), this._value = new m(t), this._error = new m(null);
22
+ const r = {
23
+ error: null,
24
+ visibleYear: e,
25
+ visibleMonth: i,
26
+ visibleDates: this._calendarDatesGenerator.dates,
27
+ canNavigateToNextMonth: this._canNavigateToMonth(
28
+ i + 1,
29
+ e,
30
+ null,
31
+ null
32
+ ),
33
+ canNavigateToPreviousMonth: this._canNavigateToMonth(
34
+ i - 1,
35
+ e,
36
+ null,
37
+ null
38
+ ),
39
+ showTime: a,
40
+ timeIntervalInMinutes: n,
41
+ minVisibleTimeInMilliseconds: h,
42
+ maxVisibleTimeInMilliseconds: g,
43
+ min: null,
44
+ max: null,
45
+ disabledDates: []
46
+ };
47
+ this._state = new m(r);
48
+ }
49
+ initialize() {
50
+ this._validate(this._value.get(), this._error.get(), this._state.get());
51
+ }
52
+ selectDate(t) {
53
+ t?.getTime() !== this._value.get()?.getTime() && this._value.transform((e) => {
54
+ if (t == null || e == null)
55
+ e = t;
56
+ else {
57
+ const i = new Date(t);
58
+ i.setHours(e.getHours(), e.getMinutes(), e.getSeconds()), e = i;
59
+ }
60
+ return e && this._keepTimeWithinBounds(e), this._validate(e, this._error.get(), this._state.get()), e;
61
+ });
62
+ }
63
+ _keepTimeWithinBounds(t) {
64
+ const e = this._state.get(), i = new Date(t);
65
+ i.setHours(0, 0, 0, 0);
66
+ const a = t.getTime() - i.getTime();
67
+ a < e.minVisibleTimeInMilliseconds && (t.setHours(0, 0, 0, 0), t.setTime(t.getTime() + e.minVisibleTimeInMilliseconds)), a > e.maxVisibleTimeInMilliseconds && (t.setHours(0, 0, 0, 0), t.setTime(t.getTime() + e.maxVisibleTimeInMilliseconds)), e.min && t.getTime() < e.min.getTime() && t.setTime(e.min.getTime()), e.max && t.getTime() > e.max.getTime() && t.setTime(e.max.getTime());
68
+ }
69
+ _validate(t, e, i) {
70
+ let a = null;
71
+ if (t != null) {
72
+ const n = t.getTime(), l = i.min == null ? -1 / 0 : i.min.getTime(), s = i.max == null ? 1 / 0 : i.max.getTime();
73
+ (n < l || n >= s) && (a = "Selected date is outside acceptable range."), i.disabledDates.some(
74
+ (r) => r.getDate() === t.getDate() && r.getMonth() === t.getMonth() && r.getFullYear() === t.getFullYear()
75
+ ) && (a = "Selected date is disabled.");
76
+ }
77
+ a !== e && this._state.transform((n) => (n.error = a, n));
78
+ }
79
+ setShowTime(t) {
80
+ this._state.get().showTime !== t && this._state.transform((e) => (e.showTime = t, e));
81
+ }
82
+ setVisibleYear(t) {
83
+ if (this._state.get().visibleYear === t)
84
+ return;
85
+ const e = this._state.get();
86
+ this._dateUtility.setFullYear(t), this._dateUtility.setDate(1), this._dateUtility.setMonth(e.visibleMonth), t = this._dateUtility.getFullYear();
87
+ let i = this._dateUtility.getMonth();
88
+ const a = this._dateUtility.getTime(), n = e.min?.getTime() ?? -1 / 0, l = e.max?.getTime() ?? 1 / 0;
89
+ if (e.min && a < n && (t = e.min.getFullYear(), i = e.min.getMonth()), e.max && a >= l) {
90
+ const s = new Date(e.max);
91
+ s.setMilliseconds(s.getMilliseconds() - 1), t = s.getFullYear(), i = s.getMonth();
92
+ }
93
+ this._state.transform((s) => (s.visibleYear = t, s.visibleMonth = i, this._calendarDatesGenerator.updateDates(t, i), this._updateNavigationAvailability(s), s));
94
+ }
95
+ _updateNavigationAvailability(t) {
96
+ t.canNavigateToNextMonth = this._canNavigateToMonth(
97
+ t.visibleMonth + 1,
98
+ t.visibleYear,
99
+ t.min,
100
+ t.max
101
+ ), t.canNavigateToPreviousMonth = this._canNavigateToMonth(
102
+ t.visibleMonth - 1,
103
+ t.visibleYear,
104
+ t.min,
105
+ t.max
106
+ );
107
+ }
108
+ setVisibleMonth(t) {
109
+ if (this._state.get().visibleMonth === t)
110
+ return;
111
+ const e = this._state.get();
112
+ this._dateUtility.setFullYear(e.visibleYear), this._dateUtility.setDate(1), this._dateUtility.setMonth(t), t = this._dateUtility.getMonth();
113
+ let i = this._dateUtility.getFullYear();
114
+ const a = this._dateUtility.getTime(), n = e.min?.getTime() ?? -1 / 0, l = e.max?.getTime() ?? 1 / 0;
115
+ if (e.min && a < n && (i = e.min.getFullYear(), t = e.min.getMonth()), e.max && a >= l) {
116
+ const s = new Date(e.max);
117
+ s.setMilliseconds(s.getMilliseconds() - 1), i = s.getFullYear(), t = s.getMonth();
118
+ }
119
+ this._state.transform((s) => (s.visibleMonth = t, s.visibleYear = i, this._updateNavigationAvailability(s), this._calendarDatesGenerator.updateDates(i, t), s));
120
+ }
121
+ _canNavigateToMonth(t, e, i, a) {
122
+ this._dateUtility.setFullYear(e), this._dateUtility.setMonth(t), this._dateUtility.setDate(1), this._dateUtility.setHours(0, 0, 0, 0);
123
+ const n = this._dateUtility.getTime();
124
+ this._dateUtility.setFullYear(e), this._dateUtility.setMonth(t + 1), this._dateUtility.setDate(1);
125
+ const l = this._dateUtility.getTime(), s = i?.getTime() ?? -1 / 0, o = a?.getTime() ?? 1 / 0, r = Math.max(s, n), _ = Math.min(o, l);
126
+ return r < _;
127
+ }
128
+ setMinDate(t) {
129
+ const e = this._state.get();
130
+ e.min && e.min.getTime() === t?.getTime() || this._state.transform((i) => (t == null ? i.min = null : i.min = new Date(t), this._updateNavigationAvailability(i), this._validate(this._value.get(), this._error.get(), i), i));
131
+ }
132
+ setMaxDate(t) {
133
+ const e = this._state.get();
134
+ e.max && e.max.getTime() === t?.getTime() || this._state.transform((i) => (t == null ? i.max = null : i.max = new Date(t), this._updateNavigationAvailability(i), this._validate(this._value.get(), this._error.get(), i), i));
135
+ }
136
+ setMinVisibleTime(t) {
137
+ this._state.get().minVisibleTimeInMilliseconds !== t && this._state.transform((e) => (e.minVisibleTimeInMilliseconds = Math.max(
138
+ t,
139
+ h
140
+ ), e));
141
+ }
142
+ setMaxVisibleTime(t) {
143
+ this._state.get().maxVisibleTimeInMilliseconds !== t && this._state.transform((e) => (e.maxVisibleTimeInMilliseconds = Math.min(
144
+ t,
145
+ g
146
+ ), e));
147
+ }
148
+ setDisabledDates(t) {
149
+ this._state.transform((e) => (e.disabledDates = t, this._validate(this._value.get(), this._error.get(), e), e));
150
+ }
151
+ clear() {
152
+ this.selectDate(null);
153
+ }
154
+ setTime(t, e, i) {
155
+ if (this._value.get() == null || this._value.get()?.getHours() === t && this._value.get()?.getMinutes() === e && this._value.get()?.getSeconds() === i)
156
+ return;
157
+ const a = this._value.get();
158
+ if (a == null)
159
+ return;
160
+ const n = new Date(a);
161
+ n.setHours(t), n.setMinutes(e), n.setSeconds(i), this._value.set(n);
162
+ }
163
+ setTimeIntervalInMinutes(t) {
164
+ this._state.get().timeIntervalInMinutes !== t && this._state.transform((e) => (e.timeIntervalInMinutes = t, e));
165
+ }
166
+ }
167
+ export {
168
+ M as DatePickerPresenter
169
+ };
170
+ //# sourceMappingURL=date_picker_presenter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date_picker_presenter.js","sources":["../../../src/inputs/date_picker/date_picker_presenter.ts"],"sourcesContent":["import { Signal } from '@tcn/state';\nimport type { CalendarDate } from '../../utils/calendar/calendar_date.js';\nimport { CalendarDatesGenerator } from '../../utils/calendar/calendar_dates_generator.js';\n\nexport interface DatePickerState {\n error: string | null;\n visibleYear: number;\n visibleMonth: number;\n visibleDates: CalendarDate[];\n canNavigateToNextMonth: boolean;\n canNavigateToPreviousMonth: boolean;\n showTime: boolean;\n timeIntervalInMinutes: number;\n minVisibleTimeInMilliseconds: number;\n maxVisibleTimeInMilliseconds: number;\n min: Date | null;\n max: Date | null;\n disabledDates: Date[];\n}\n\nconst defaultMinVisibleTimeInMilliseconds = 0;\nconst defaultMaxVisibleTimeInMilliseconds = 24 * 1000 * 60 * 60;\n\nexport class DatePickerPresenter {\n private _value: Signal<Date | null>;\n private _error: Signal<string | null>;\n private _state: Signal<DatePickerState>;\n private _calendarDatesGenerator: CalendarDatesGenerator;\n private _dateUtility: Date;\n\n get stateBroadcast() {\n return this._state.broadcast;\n }\n\n get valueBroadcast() {\n return this._value.broadcast;\n }\n\n get errorBroadcast() {\n return this._error.broadcast;\n }\n\n constructor(\n value: Date | null,\n visibleYear: number,\n visibleMonth: number,\n showTime: boolean,\n timeIntervalInMinutes = 15\n ) {\n const today = new Date();\n const year = value == null ? today.getFullYear() : value.getFullYear();\n const month = value == null ? today.getMonth() : value.getMonth();\n\n this._dateUtility = new Date();\n this._calendarDatesGenerator = new CalendarDatesGenerator(year, month);\n this._dateUtility.setFullYear(year);\n this._dateUtility.setMonth(month);\n\n this._value = new Signal(value);\n this._error = new Signal<string | null>(null);\n const state: DatePickerState = {\n error: null,\n visibleYear,\n visibleMonth,\n visibleDates: this._calendarDatesGenerator.dates,\n canNavigateToNextMonth: this._canNavigateToMonth(\n visibleMonth + 1,\n visibleYear,\n null,\n null\n ),\n canNavigateToPreviousMonth: this._canNavigateToMonth(\n visibleMonth - 1,\n visibleYear,\n null,\n null\n ),\n showTime,\n timeIntervalInMinutes: timeIntervalInMinutes,\n minVisibleTimeInMilliseconds: defaultMinVisibleTimeInMilliseconds,\n maxVisibleTimeInMilliseconds: defaultMaxVisibleTimeInMilliseconds,\n min: null,\n max: null,\n disabledDates: [],\n };\n\n this._state = new Signal(state);\n }\n\n initialize() {\n this._validate(this._value.get(), this._error.get(), this._state.get());\n }\n\n selectDate(date: Date | null) {\n if (date?.getTime() === this._value.get()?.getTime()) {\n return;\n }\n\n this._value.transform(value => {\n if (date == null || value == null) {\n value = date;\n } else {\n const clonedDate = new Date(date);\n clonedDate.setHours(value.getHours(), value.getMinutes(), value.getSeconds());\n\n value = clonedDate;\n }\n\n value && this._keepTimeWithinBounds(value);\n this._validate(value, this._error.get(), this._state.get());\n\n return value;\n });\n }\n\n private _keepTimeWithinBounds(date: Date) {\n const state = this._state.get();\n const offsetDate = new Date(date);\n offsetDate.setHours(0, 0, 0, 0);\n\n const offset = date.getTime() - offsetDate.getTime();\n\n if (offset < state.minVisibleTimeInMilliseconds) {\n date.setHours(0, 0, 0, 0);\n date.setTime(date.getTime() + state.minVisibleTimeInMilliseconds);\n }\n\n if (offset > state.maxVisibleTimeInMilliseconds) {\n date.setHours(0, 0, 0, 0);\n date.setTime(date.getTime() + state.maxVisibleTimeInMilliseconds);\n }\n\n if (state.min && date.getTime() < state.min.getTime()) {\n date.setTime(state.min.getTime());\n }\n\n if (state.max && date.getTime() > state.max.getTime()) {\n date.setTime(state.max.getTime());\n }\n }\n\n private _validate(date: Date | null, error: string | null, state: DatePickerState) {\n let validationError: string | null = null;\n\n if (date != null) {\n const time = date.getTime();\n const minTime = state.min == null ? -Infinity : state.min.getTime();\n const maxTime = state.max == null ? Infinity : state.max.getTime();\n\n if (time < minTime) {\n validationError = 'Selected date is outside acceptable range.';\n } else if (time >= maxTime) {\n validationError = 'Selected date is outside acceptable range.';\n }\n\n const isOnDisabledDate = state.disabledDates.some(\n d =>\n d.getDate() === date.getDate() &&\n d.getMonth() === date.getMonth() &&\n d.getFullYear() === date.getFullYear()\n );\n\n if (isOnDisabledDate) {\n validationError = 'Selected date is disabled.';\n }\n }\n\n if (validationError !== error) {\n this._state.transform(s => {\n s.error = validationError;\n return s;\n });\n }\n }\n\n setShowTime(showTime: boolean) {\n if (this._state.get().showTime === showTime) {\n return;\n }\n\n this._state.transform(s => {\n s.showTime = showTime;\n return s;\n });\n }\n\n setVisibleYear(year: number) {\n if (this._state.get().visibleYear === year) {\n return;\n }\n\n const state = this._state.get();\n\n this._dateUtility.setFullYear(year);\n this._dateUtility.setDate(1);\n this._dateUtility.setMonth(state.visibleMonth);\n\n year = this._dateUtility.getFullYear();\n let month = this._dateUtility.getMonth();\n\n const newDateTime = this._dateUtility.getTime();\n const minDateTime = state.min?.getTime() ?? -Infinity;\n const maxDateTime = state.max?.getTime() ?? Infinity;\n\n if (state.min && newDateTime < minDateTime) {\n year = state.min.getFullYear();\n month = state.min.getMonth();\n }\n\n if (state.max && newDateTime >= maxDateTime) {\n const date = new Date(state.max);\n date.setMilliseconds(date.getMilliseconds() - 1);\n\n year = date.getFullYear();\n month = date.getMonth();\n }\n\n this._state.transform(s => {\n s.visibleYear = year;\n s.visibleMonth = month;\n\n this._calendarDatesGenerator.updateDates(year, month);\n this._updateNavigationAvailability(s);\n return s;\n });\n }\n\n private _updateNavigationAvailability(s: DatePickerState) {\n s.canNavigateToNextMonth = this._canNavigateToMonth(\n s.visibleMonth + 1,\n s.visibleYear,\n s.min,\n s.max\n );\n s.canNavigateToPreviousMonth = this._canNavigateToMonth(\n s.visibleMonth - 1,\n s.visibleYear,\n s.min,\n s.max\n );\n }\n\n setVisibleMonth(month: number) {\n if (this._state.get().visibleMonth === month) {\n return;\n }\n\n const state = this._state.get();\n\n this._dateUtility.setFullYear(state.visibleYear);\n this._dateUtility.setDate(1);\n this._dateUtility.setMonth(month);\n\n month = this._dateUtility.getMonth();\n let year = this._dateUtility.getFullYear();\n\n const newDateTime = this._dateUtility.getTime();\n const minDateTime = state.min?.getTime() ?? -Infinity;\n const maxDateTime = state.max?.getTime() ?? Infinity;\n\n if (state.min && newDateTime < minDateTime) {\n year = state.min.getFullYear();\n month = state.min.getMonth();\n }\n\n if (state.max && newDateTime >= maxDateTime) {\n const date = new Date(state.max);\n date.setMilliseconds(date.getMilliseconds() - 1);\n\n year = date.getFullYear();\n month = date.getMonth();\n }\n\n this._state.transform(s => {\n s.visibleMonth = month;\n s.visibleYear = year;\n\n this._updateNavigationAvailability(s);\n this._calendarDatesGenerator.updateDates(year, month);\n return s;\n });\n }\n\n private _canNavigateToMonth(\n month: number,\n year: number,\n minDate: Date | null,\n maxDate: Date | null\n ) {\n this._dateUtility.setFullYear(year);\n this._dateUtility.setMonth(month);\n this._dateUtility.setDate(1);\n this._dateUtility.setHours(0, 0, 0, 0);\n\n const startTime = this._dateUtility.getTime();\n\n this._dateUtility.setFullYear(year);\n this._dateUtility.setMonth(month + 1);\n this._dateUtility.setDate(1);\n\n const endTime = this._dateUtility.getTime();\n\n const minDateTime = minDate?.getTime() ?? -Infinity;\n const maxDateTime = maxDate?.getTime() ?? Infinity;\n\n const start = Math.max(minDateTime, startTime);\n const end = Math.min(maxDateTime, endTime);\n\n return start < end;\n }\n\n setMinDate(value: Date | null) {\n const state = this._state.get();\n if (state.min && state.min.getTime() === value?.getTime()) {\n return;\n }\n\n this._state.transform(s => {\n if (value == null) {\n s.min = null;\n } else {\n s.min = new Date(value);\n }\n\n this._updateNavigationAvailability(s);\n this._validate(this._value.get(), this._error.get(), s);\n return s;\n });\n }\n\n setMaxDate(value: Date | null) {\n const state = this._state.get();\n\n if (state.max && state.max.getTime() === value?.getTime()) {\n return;\n }\n\n this._state.transform(s => {\n if (value == null) {\n s.max = null;\n } else {\n s.max = new Date(value);\n }\n\n this._updateNavigationAvailability(s);\n this._validate(this._value.get(), this._error.get(), s);\n return s;\n });\n }\n\n setMinVisibleTime(timeInMilliseconds: number) {\n if (this._state.get().minVisibleTimeInMilliseconds === timeInMilliseconds) {\n return;\n }\n\n this._state.transform(s => {\n s.minVisibleTimeInMilliseconds = Math.max(\n timeInMilliseconds,\n defaultMinVisibleTimeInMilliseconds\n );\n\n return s;\n });\n }\n\n setMaxVisibleTime(timeInMilliseconds: number) {\n if (this._state.get().maxVisibleTimeInMilliseconds === timeInMilliseconds) {\n return;\n }\n\n this._state.transform(s => {\n s.maxVisibleTimeInMilliseconds = Math.min(\n timeInMilliseconds,\n defaultMaxVisibleTimeInMilliseconds\n );\n\n return s;\n });\n }\n\n setDisabledDates(dates: Date[]) {\n this._state.transform(s => {\n s.disabledDates = dates;\n this._validate(this._value.get(), this._error.get(), s);\n return s;\n });\n }\n\n clear() {\n this.selectDate(null);\n }\n\n setTime(hours: number, minutes: number, seconds: number) {\n if (\n this._value.get() == null ||\n (this._value.get()?.getHours() === hours &&\n this._value.get()?.getMinutes() === minutes &&\n this._value.get()?.getSeconds() === seconds)\n ) {\n return;\n }\n\n const currentValue = this._value.get();\n if (currentValue == null) {\n return;\n }\n\n const clonedValue = new Date(currentValue);\n clonedValue.setHours(hours);\n clonedValue.setMinutes(minutes);\n clonedValue.setSeconds(seconds);\n\n this._value.set(clonedValue);\n }\n\n setTimeIntervalInMinutes(intervalInMinutes: number) {\n if (this._state.get().timeIntervalInMinutes === intervalInMinutes) {\n return;\n }\n\n this._state.transform(s => {\n s.timeIntervalInMinutes = intervalInMinutes;\n return s;\n });\n }\n}\n"],"names":["defaultMinVisibleTimeInMilliseconds","defaultMaxVisibleTimeInMilliseconds","DatePickerPresenter","value","visibleYear","visibleMonth","showTime","timeIntervalInMinutes","today","year","month","CalendarDatesGenerator","Signal","state","date","clonedDate","offsetDate","offset","error","validationError","time","minTime","maxTime","d","s","newDateTime","minDateTime","maxDateTime","minDate","maxDate","startTime","endTime","start","end","timeInMilliseconds","dates","hours","minutes","seconds","currentValue","clonedValue","intervalInMinutes"],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ export interface DatePickerTimeSelectorProps {
2
+ origin: Date | null;
3
+ intervalInMinutes: number;
4
+ max: Date | null;
5
+ min: Date | null;
6
+ minVisibleTimeInMilliseconds: number;
7
+ maxVisibleTimeInMilliseconds: number;
8
+ onSelect: (hours: number, minutes: number, seconds: number) => void;
9
+ disabled?: boolean;
10
+ height?: string;
11
+ }
12
+ export declare function DatePickerTimeSelector({ origin, intervalInMinutes, max, min, minVisibleTimeInMilliseconds, maxVisibleTimeInMilliseconds, onSelect, disabled, height, }: DatePickerTimeSelectorProps): import("react/jsx-runtime").JSX.Element;
13
+ //# sourceMappingURL=date_picker_time_selector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date_picker_time_selector.d.ts","sourceRoot":"","sources":["../../../src/inputs/date_picker/date_picker_time_selector.tsx"],"names":[],"mappings":"AASA,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,IAAI,GAAG,IAAI,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,GAAG,EAAE,IAAI,GAAG,IAAI,CAAC;IACjB,GAAG,EAAE,IAAI,GAAG,IAAI,CAAC;IACjB,4BAA4B,EAAE,MAAM,CAAC;IACrC,4BAA4B,EAAE,MAAM,CAAC;IACrC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACpE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,sBAAsB,CAAC,EACrC,MAAM,EACN,iBAAiB,EACjB,GAAG,EACH,GAAG,EACH,4BAA4B,EAC5B,4BAA4B,EAC5B,QAAQ,EACR,QAAQ,EACR,MAAM,GACP,EAAE,2BAA2B,2CAgF7B"}
@@ -0,0 +1,90 @@
1
+ import { jsx as o, jsxs as N } from "react/jsx-runtime";
2
+ import { VStack as x } from "../../stacks/v_stack.js";
3
+ import { ZStack as C } from "../../stacks/z_stack.js";
4
+ import s from "classnames";
5
+ import "../../actions/button/base_button/base_button.js";
6
+ import "../../actions/button/button_group/button_group.js";
7
+ import "../../actions/button/slim_button/slim_button.js";
8
+ import { Button as O } from "../../actions/button/button/button.js";
9
+ import "../../actions/button/select_group/select_group.js";
10
+ import "../../actions/button/select_group/single_select_group.js";
11
+ import { BodyText as $ } from "../../typography/body_text/body_text.js";
12
+ import "../../callout.module-D8ECmxpO.js";
13
+ import "../../caption.module-DDq0H4xZ.js";
14
+ import "../../footnote.module-DEyFuqOr.js";
15
+ import "../../headline.module-BiwHBtGf.js";
16
+ import "../../subheadline.module-C-v7zMkQ.js";
17
+ import "../../title.module-B16de2jd.js";
18
+ import { ClockIcon as j } from "@tcn/icons/clock_icon.js";
19
+ import '../../date_picker_time_selector.css';const z = "_time-box_f3145be", P = "_time-box-title_6cc801b", Z = "_time-box-title-container_22add52", v = "_selected-time_33e3aa3", m = { "time-box": z, "time-box-title": P, "time-box-title-container": Z, "selected-time": v };
20
+ function it({
21
+ origin: e,
22
+ intervalInMinutes: f,
23
+ max: b,
24
+ min: g,
25
+ minVisibleTimeInMilliseconds: h,
26
+ maxVisibleTimeInMilliseconds: S,
27
+ onSelect: T,
28
+ disabled: l,
29
+ height: _
30
+ }) {
31
+ const n = f * 1e3 * 60, w = 24 * 1e3 * 60 * 60 / n, a = new Date(e || /* @__PURE__ */ new Date()), d = [], y = g?.getTime() ?? -1 / 0, M = b?.getTime() ?? 1 / 0;
32
+ a.setHours(0, 0, 0, 0);
33
+ let p = a.getTime(), r = 0;
34
+ for (let c = 0; c < w; c++) {
35
+ const t = new Date(p);
36
+ let i = t.getHours() % 12;
37
+ const H = t.getMinutes(), k = t.getHours() >= 12 ? "PM" : "AM";
38
+ i = i === 0 ? 12 : i;
39
+ const B = e != null && t.getHours() === e.getHours() && t.getMinutes() === e.getMinutes() && t.getSeconds() === e.getSeconds(), u = t.getTime(), D = u < y || u > M, I = /* @__PURE__ */ o(
40
+ O,
41
+ {
42
+ width: "flex",
43
+ hierarchy: "tertiary",
44
+ className: s("selected-time", B && m["selected-time"]),
45
+ disabled: e == null || l || D,
46
+ onClick: () => {
47
+ T(t.getHours(), t.getMinutes(), t.getSeconds());
48
+ },
49
+ children: `${i.toString().padStart(2, "0")}:${H.toString().padStart(2, "0")} ${k}`
50
+ },
51
+ c
52
+ );
53
+ r >= h && r <= S && d.push(I), p += n, r += n;
54
+ }
55
+ return /* @__PURE__ */ N(
56
+ x,
57
+ {
58
+ width: "auto",
59
+ height: _,
60
+ "data-is-disabled": l || e == null,
61
+ className: s(m["time-box"], "time-box"),
62
+ children: [
63
+ /* @__PURE__ */ o(
64
+ C,
65
+ {
66
+ className: s(
67
+ m["time-box-title-container"],
68
+ "time-box-title-container"
69
+ ),
70
+ children: /* @__PURE__ */ o($, { className: s(m["time-box-title"], "time-box-title"), children: /* @__PURE__ */ o(j, { size: "lg" }) })
71
+ }
72
+ ),
73
+ /* @__PURE__ */ o(
74
+ x,
75
+ {
76
+ width: "auto",
77
+ height: "flex",
78
+ overflowY: "auto",
79
+ style: { paddingInline: "4px" },
80
+ children: d
81
+ }
82
+ )
83
+ ]
84
+ }
85
+ );
86
+ }
87
+ export {
88
+ it as DatePickerTimeSelector
89
+ };
90
+ //# sourceMappingURL=date_picker_time_selector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date_picker_time_selector.js","sources":["../../../src/inputs/date_picker/date_picker_time_selector.tsx"],"sourcesContent":["import { VStack } from '../../stacks/v_stack.js';\nimport { ZStack } from '../../stacks/z_stack.js';\nimport classNames from 'classnames';\nimport React from 'react';\nimport { Button } from '../../actions/index.js';\nimport styles from './date_picker_time_selector.module.css';\nimport { BodyText } from '../../typography/index.js';\nimport { ClockIcon } from '@tcn/icons/clock_icon.js';\n\nexport interface DatePickerTimeSelectorProps {\n origin: Date | null;\n intervalInMinutes: number;\n max: Date | null;\n min: Date | null;\n minVisibleTimeInMilliseconds: number;\n maxVisibleTimeInMilliseconds: number;\n onSelect: (hours: number, minutes: number, seconds: number) => void;\n disabled?: boolean;\n height?: string;\n}\n\nexport function DatePickerTimeSelector({\n origin,\n intervalInMinutes,\n max,\n min,\n minVisibleTimeInMilliseconds,\n maxVisibleTimeInMilliseconds,\n onSelect,\n disabled,\n height,\n}: DatePickerTimeSelectorProps) {\n const stepInMilliseconds = intervalInMinutes * 1000 * 60;\n const amountOfSteps = (24 * 1000 * 60 * 60) / stepInMilliseconds;\n const normalizedDate = new Date(origin || new Date());\n const options: React.ReactElement[] = [];\n const minTime = min?.getTime() ?? -Infinity;\n const maxTime = max?.getTime() ?? Infinity;\n\n normalizedDate.setHours(0, 0, 0, 0);\n let offset = normalizedDate.getTime();\n let offsetFromZero = 0;\n\n for (let x = 0; x < amountOfSteps; x++) {\n const date = new Date(offset);\n\n let hour = date.getHours() % 12;\n const minute = date.getMinutes();\n const meridiem = date.getHours() >= 12 ? 'PM' : 'AM';\n hour = hour === 0 ? 12 : hour;\n\n const isSelected =\n origin != null &&\n date.getHours() === origin.getHours() &&\n date.getMinutes() === origin.getMinutes() &&\n date.getSeconds() === origin.getSeconds();\n\n const time = date.getTime();\n const isOutOfRange = time < minTime || time > maxTime;\n\n const button = (\n <Button\n key={x}\n width=\"flex\"\n hierarchy=\"tertiary\"\n className={classNames('selected-time', isSelected && styles['selected-time'])}\n disabled={origin == null || disabled || isOutOfRange}\n onClick={() => {\n onSelect(date.getHours(), date.getMinutes(), date.getSeconds());\n }}\n >{`${hour.toString().padStart(2, '0')}:${minute.toString().padStart(2, '0')} ${meridiem}`}</Button>\n );\n\n if (\n offsetFromZero >= minVisibleTimeInMilliseconds &&\n offsetFromZero <= maxVisibleTimeInMilliseconds\n ) {\n options.push(button);\n }\n\n offset += stepInMilliseconds;\n offsetFromZero += stepInMilliseconds;\n }\n\n return (\n <VStack\n width=\"auto\"\n height={height}\n data-is-disabled={disabled || origin == null}\n className={classNames(styles['time-box'], 'time-box')}\n >\n <ZStack\n className={classNames(\n styles['time-box-title-container'],\n 'time-box-title-container'\n )}\n >\n <BodyText className={classNames(styles['time-box-title'], 'time-box-title')}>\n <ClockIcon size=\"lg\" />\n </BodyText>\n </ZStack>\n <VStack\n width=\"auto\"\n height=\"flex\"\n overflowY=\"auto\"\n style={{ paddingInline: '4px' }}\n >\n {options}\n </VStack>\n </VStack>\n );\n}\n"],"names":["DatePickerTimeSelector","origin","intervalInMinutes","max","min","minVisibleTimeInMilliseconds","maxVisibleTimeInMilliseconds","onSelect","disabled","height","stepInMilliseconds","amountOfSteps","normalizedDate","options","minTime","maxTime","offset","offsetFromZero","x","date","hour","minute","meridiem","isSelected","time","isOutOfRange","button","jsx","Button","classNames","styles","jsxs","VStack","ZStack","BodyText","ClockIcon"],"mappings":";;;;;;;;;;;;;;;;;;;AAqBO,SAASA,GAAuB;AAAA,EACrC,QAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,KAAAC;AAAA,EACA,KAAAC;AAAA,EACA,8BAAAC;AAAA,EACA,8BAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,QAAAC;AACF,GAAgC;AAC9B,QAAMC,IAAqBR,IAAoB,MAAO,IAChDS,IAAiB,KAAK,MAAO,KAAK,KAAMD,GACxCE,IAAiB,IAAI,KAAKX,KAAU,oBAAI,MAAM,GAC9CY,IAAgC,CAAA,GAChCC,IAAUV,GAAK,QAAA,KAAa,QAC5BW,IAAUZ,GAAK,QAAA,KAAa;AAElC,EAAAS,EAAe,SAAS,GAAG,GAAG,GAAG,CAAC;AAClC,MAAII,IAASJ,EAAe,QAAA,GACxBK,IAAiB;AAErB,WAASC,IAAI,GAAGA,IAAIP,GAAeO,KAAK;AACtC,UAAMC,IAAO,IAAI,KAAKH,CAAM;AAE5B,QAAII,IAAOD,EAAK,SAAA,IAAa;AAC7B,UAAME,IAASF,EAAK,WAAA,GACdG,IAAWH,EAAK,SAAA,KAAc,KAAK,OAAO;AAChD,IAAAC,IAAOA,MAAS,IAAI,KAAKA;AAEzB,UAAMG,IACJtB,KAAU,QACVkB,EAAK,SAAA,MAAelB,EAAO,SAAA,KAC3BkB,EAAK,WAAA,MAAiBlB,EAAO,WAAA,KAC7BkB,EAAK,WAAA,MAAiBlB,EAAO,WAAA,GAEzBuB,IAAOL,EAAK,QAAA,GACZM,IAAeD,IAAOV,KAAWU,IAAOT,GAExCW,IACJ,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QAEC,OAAM;AAAA,QACN,WAAU;AAAA,QACV,WAAWC,EAAW,iBAAiBN,KAAcO,EAAO,eAAe,CAAC;AAAA,QAC5E,UAAU7B,KAAU,QAAQO,KAAYiB;AAAA,QACxC,SAAS,MAAM;AACb,UAAAlB,EAASY,EAAK,YAAYA,EAAK,cAAcA,EAAK,YAAY;AAAA,QAChE;AAAA,QACA,aAAGC,EAAK,SAAA,EAAW,SAAS,GAAG,GAAG,CAAC,IAAIC,EAAO,WAAW,SAAS,GAAG,GAAG,CAAC,IAAIC,CAAQ;AAAA,MAAA;AAAA,MARhFJ;AAAA,IAAA;AAWT,IACED,KAAkBZ,KAClBY,KAAkBX,KAElBO,EAAQ,KAAKa,CAAM,GAGrBV,KAAUN,GACVO,KAAkBP;AAAA,EACpB;AAEA,SACE,gBAAAqB;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,OAAM;AAAA,MACN,QAAAvB;AAAA,MACA,oBAAkBD,KAAYP,KAAU;AAAA,MACxC,WAAW4B,EAAWC,EAAO,UAAU,GAAG,UAAU;AAAA,MAEpD,UAAA;AAAA,QAAA,gBAAAH;AAAA,UAACM;AAAA,UAAA;AAAA,YACC,WAAWJ;AAAA,cACTC,EAAO,0BAA0B;AAAA,cACjC;AAAA,YAAA;AAAA,YAGF,UAAA,gBAAAH,EAACO,GAAA,EAAS,WAAWL,EAAWC,EAAO,gBAAgB,GAAG,gBAAgB,GACxE,UAAA,gBAAAH,EAACQ,GAAA,EAAU,MAAK,MAAK,EAAA,CACvB;AAAA,UAAA;AAAA,QAAA;AAAA,QAEF,gBAAAR;AAAA,UAACK;AAAA,UAAA;AAAA,YACC,OAAM;AAAA,YACN,QAAO;AAAA,YACP,WAAU;AAAA,YACV,OAAO,EAAE,eAAe,MAAA;AAAA,YAEvB,UAAAnB;AAAA,UAAA;AAAA,QAAA;AAAA,MACH;AAAA,IAAA;AAAA,EAAA;AAGN;"}
@@ -0,0 +1,6 @@
1
+ import { DatePickerPresenter } from './date_picker_presenter.js';
2
+ export interface DatePickerYearInputProps {
3
+ presenter: DatePickerPresenter;
4
+ }
5
+ export declare function DatePickerYearInput({ presenter }: DatePickerYearInputProps): import("react/jsx-runtime").JSX.Element;
6
+ //# sourceMappingURL=date_picker_year_input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date_picker_year_input.d.ts","sourceRoot":"","sources":["../../../src/inputs/date_picker/date_picker_year_input.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAIjE,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,mBAAmB,CAAC;CAChC;AAED,wBAAgB,mBAAmB,CAAC,EAAE,SAAS,EAAE,EAAE,wBAAwB,2CAqC1E"}
@@ -0,0 +1,51 @@
1
+ import { jsxs as u, Fragment as f, jsx as e } from "react/jsx-runtime";
2
+ import "../../actions/button/base_button/base_button.js";
3
+ import "../../actions/button/button_group/button_group.js";
4
+ import "../../actions/button/slim_button/slim_button.js";
5
+ import { Button as h } from "../../actions/button/button/button.js";
6
+ import "../../actions/button/select_group/select_group.js";
7
+ import "../../actions/button/select_group/single_select_group.js";
8
+ import d from "classnames";
9
+ import { useState as n } from "react";
10
+ import { Popper as y } from "../../overlay/popper/popper.js";
11
+ import { DatePickerYearSelector as g } from "./date_picker_year_selector.js";
12
+ import { useSignalValue as b } from "@tcn/state";
13
+ import '../../date_picker_year_input.css';const k = "_year-select_eb568a7", s = { "year-select": k };
14
+ function F({ presenter: t }) {
15
+ const { visibleYear: a } = b(t.stateBroadcast), [c, i] = n(null), [l, r] = n(!1);
16
+ function o() {
17
+ r(!1);
18
+ }
19
+ function m(p) {
20
+ i(p.currentTarget), r(!0);
21
+ }
22
+ return /* @__PURE__ */ u(f, { children: [
23
+ /* @__PURE__ */ e(
24
+ h,
25
+ {
26
+ hierarchy: "tertiary",
27
+ className: d("date-picker-year-select", s["year-select"]),
28
+ width: "auto",
29
+ hAlign: "start",
30
+ onClick: m,
31
+ children: /* @__PURE__ */ e("span", { className: s.selectedLabel, children: a })
32
+ }
33
+ ),
34
+ /* @__PURE__ */ e(
35
+ y,
36
+ {
37
+ anchorElement: c,
38
+ horizontalAnchor: "center",
39
+ horizontalOrigin: "center",
40
+ onClose: o,
41
+ open: l,
42
+ restoreFocus: !0,
43
+ children: /* @__PURE__ */ e(g, { presenter: t, onClose: o })
44
+ }
45
+ )
46
+ ] });
47
+ }
48
+ export {
49
+ F as DatePickerYearInput
50
+ };
51
+ //# sourceMappingURL=date_picker_year_input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date_picker_year_input.js","sources":["../../../src/inputs/date_picker/date_picker_year_input.tsx"],"sourcesContent":["import { Button } from '../../actions/index.js';\nimport classNames from 'classnames';\nimport styles from './date_picker_year_input.module.css';\nimport { useState } from 'react';\nimport { Popper } from '../../overlay/popper/popper.js';\nimport { DatePickerPresenter } from './date_picker_presenter.js';\nimport { DatePickerYearSelector } from './date_picker_year_selector.js';\nimport { useSignalValue } from '@tcn/state';\n\nexport interface DatePickerYearInputProps {\n presenter: DatePickerPresenter;\n}\n\nexport function DatePickerYearInput({ presenter }: DatePickerYearInputProps) {\n const { visibleYear } = useSignalValue(presenter.stateBroadcast);\n const [buttonRef, setButtonRef] = useState<HTMLButtonElement | null>(null);\n const [isOpen, setIsOpen] = useState(false);\n\n function close() {\n setIsOpen(false);\n }\n\n function open(event: React.MouseEvent<HTMLButtonElement>) {\n setButtonRef(event.currentTarget);\n setIsOpen(true);\n }\n\n return (\n <>\n <Button\n hierarchy=\"tertiary\"\n className={classNames('date-picker-year-select', styles['year-select'])}\n width=\"auto\"\n hAlign=\"start\"\n onClick={open}\n >\n <span className={styles.selectedLabel}>{visibleYear}</span>\n </Button>\n <Popper\n anchorElement={buttonRef}\n horizontalAnchor=\"center\"\n horizontalOrigin=\"center\"\n onClose={close}\n open={isOpen}\n restoreFocus\n >\n <DatePickerYearSelector presenter={presenter} onClose={close} />\n </Popper>\n </>\n );\n}\n"],"names":["DatePickerYearInput","presenter","visibleYear","useSignalValue","buttonRef","setButtonRef","useState","isOpen","setIsOpen","close","open","event","jsxs","Fragment","jsx","Button","classNames","styles","Popper","DatePickerYearSelector"],"mappings":";;;;;;;;;;;;;AAaO,SAASA,EAAoB,EAAE,WAAAC,KAAuC;AAC3E,QAAM,EAAE,aAAAC,EAAA,IAAgBC,EAAeF,EAAU,cAAc,GACzD,CAACG,GAAWC,CAAY,IAAIC,EAAmC,IAAI,GACnE,CAACC,GAAQC,CAAS,IAAIF,EAAS,EAAK;AAE1C,WAASG,IAAQ;AACf,IAAAD,EAAU,EAAK;AAAA,EACjB;AAEA,WAASE,EAAKC,GAA4C;AACxD,IAAAN,EAAaM,EAAM,aAAa,GAChCH,EAAU,EAAI;AAAA,EAChB;AAEA,SACE,gBAAAI,EAAAC,GAAA,EACE,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,WAAWC,EAAW,2BAA2BC,EAAO,aAAa,CAAC;AAAA,QACtE,OAAM;AAAA,QACN,QAAO;AAAA,QACP,SAASP;AAAA,QAET,UAAA,gBAAAI,EAAC,QAAA,EAAK,WAAWG,EAAO,eAAgB,UAAAf,EAAA,CAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEtD,gBAAAY;AAAA,MAACI;AAAA,MAAA;AAAA,QACC,eAAed;AAAA,QACf,kBAAiB;AAAA,QACjB,kBAAiB;AAAA,QACjB,SAASK;AAAA,QACT,MAAMF;AAAA,QACN,cAAY;AAAA,QAEZ,UAAA,gBAAAO,EAACK,GAAA,EAAuB,WAAAlB,GAAsB,SAASQ,EAAA,CAAO;AAAA,MAAA;AAAA,IAAA;AAAA,EAChE,GACF;AAEJ;"}
@@ -0,0 +1,7 @@
1
+ import { DatePickerPresenter } from './date_picker_presenter.js';
2
+ export interface DatePickerYearSelectorProps {
3
+ presenter: DatePickerPresenter;
4
+ onClose: () => void;
5
+ }
6
+ export declare function DatePickerYearSelector({ presenter, onClose, }: DatePickerYearSelectorProps): import("react/jsx-runtime").JSX.Element;
7
+ //# sourceMappingURL=date_picker_year_selector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date_picker_year_selector.d.ts","sourceRoot":"","sources":["../../../src/inputs/date_picker/date_picker_year_selector.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAKjE,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,mBAAmB,CAAC;IAC/B,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,wBAAgB,sBAAsB,CAAC,EACrC,SAAS,EACT,OAAO,GACR,EAAE,2BAA2B,2CA2G7B"}
@@ -0,0 +1,116 @@
1
+ import { jsx as e, jsxs as h } from "react/jsx-runtime";
2
+ import { useState as j, useRef as z, useEffect as D } from "react";
3
+ import { ChevronLeftIcon as H } from "@tcn/icons/chevron_left_icon.js";
4
+ import { ChevronRightIcon as O } from "@tcn/icons/chevron_right_icon.js";
5
+ import { useSignalValue as $ } from "@tcn/state";
6
+ import "../../actions/button/base_button/base_button.js";
7
+ import "../../actions/button/button_group/button_group.js";
8
+ import { SlimButton as g } from "../../actions/button/slim_button/slim_button.js";
9
+ import "../../actions/button/button/button.js";
10
+ import "../../actions/button/select_group/select_group.js";
11
+ import "../../actions/button/select_group/single_select_group.js";
12
+ import { HStack as t } from "../../stacks/h_stack.js";
13
+ import { Spacer as y } from "../../stacks/spacer.js";
14
+ import { VStack as E } from "../../stacks/v_stack.js";
15
+ import { BodyText as L } from "../../typography/body_text/body_text.js";
16
+ import x from "classnames";
17
+ import "../../callout.module-D8ECmxpO.js";
18
+ import "../../caption.module-DDq0H4xZ.js";
19
+ import "../../footnote.module-DEyFuqOr.js";
20
+ import { Headline as M } from "../../typography/headline/headline.js";
21
+ import "../../subheadline.module-C-v7zMkQ.js";
22
+ import "../../title.module-B16de2jd.js";
23
+ import { FocusRedirect as T } from "../../utils/focus_redirect.js";
24
+ import "../../utils/click_away_listener.js";
25
+ import "../../utils/scroll_away_listener.js";
26
+ import "../../utils/hooks/use_resize_observer.js";
27
+ import '../../date_picker_year_selector.css';const q = "_date-picker-year-selector_ab05e1f", A = "_date-picker-year-button_fded757", Y = { "date-picker-year-selector": q, "date-picker-year-button": A };
28
+ function xe({
29
+ presenter: s,
30
+ onClose: k
31
+ }) {
32
+ const { min: p, max: m, visibleYear: o, visibleMonth: b } = $(
33
+ s.stateBroadcast
34
+ ), [c, f] = j(0), a = z(null), R = p == null ? -1 / 0 : p.getFullYear(), S = m == null ? 1 / 0 : m.getFullYear(), r = [], d = o % 20;
35
+ let u = o - d + c, F = u + 19;
36
+ for (let n = 0; n < 20; n++) {
37
+ let l = !1;
38
+ const i = new Date(o, b, 1);
39
+ i.setFullYear(o - d + n + c), (i.getFullYear() > S || i.getFullYear() < R) && (l = !0);
40
+ const V = t;
41
+ r.push(
42
+ /* @__PURE__ */ e(
43
+ V,
44
+ {
45
+ as: "button",
46
+ width: "flex",
47
+ disabled: l,
48
+ className: x(
49
+ Y["date-picker-year-button"],
50
+ "date-picker-year-button"
51
+ ),
52
+ "data-is-disabled": String(l),
53
+ "data-is-selected": String(i.getFullYear() === o),
54
+ onClick: () => {
55
+ s.setVisibleYear(i.getFullYear()), k();
56
+ },
57
+ children: /* @__PURE__ */ e(L, { children: i.getFullYear() })
58
+ },
59
+ n
60
+ )
61
+ );
62
+ }
63
+ function w() {
64
+ a.current != null && a.current.focus();
65
+ }
66
+ D(() => {
67
+ a.current != null && a.current.focus();
68
+ }, []);
69
+ const v = r.slice(0, 4), B = r.slice(4, 8), C = r.slice(8, 12), I = r.slice(12, 16), _ = r.slice(16, 20);
70
+ function N() {
71
+ f(c - 20);
72
+ }
73
+ function P() {
74
+ f(c + 20);
75
+ }
76
+ return /* @__PURE__ */ h(
77
+ E,
78
+ {
79
+ ref: a,
80
+ tabIndex: 0,
81
+ padding: "8px",
82
+ className: x(
83
+ Y["date-picker-year-selector"],
84
+ "date-picker-year-selector"
85
+ ),
86
+ gap: "4px",
87
+ children: [
88
+ /* @__PURE__ */ h(t, { gap: "4px", children: [
89
+ /* @__PURE__ */ e(g, { onClick: N, hierarchy: "tertiary", children: /* @__PURE__ */ e(H, { flipOnRtl: !0, size: "md" }) }),
90
+ /* @__PURE__ */ e(y, {}),
91
+ /* @__PURE__ */ e(
92
+ M,
93
+ {
94
+ selectable: !1,
95
+ emphasis: "faint",
96
+ hierarchy: "tertiary",
97
+ children: `${u}-${F}`
98
+ }
99
+ ),
100
+ /* @__PURE__ */ e(y, {}),
101
+ /* @__PURE__ */ e(g, { hierarchy: "tertiary", onClick: P, children: /* @__PURE__ */ e(O, { size: "md" }) })
102
+ ] }),
103
+ /* @__PURE__ */ e(t, { gap: "4px", children: v }),
104
+ /* @__PURE__ */ e(t, { gap: "4px", children: B }),
105
+ /* @__PURE__ */ e(t, { gap: "4px", children: C }),
106
+ /* @__PURE__ */ e(t, { gap: "4px", children: I }),
107
+ /* @__PURE__ */ e(t, { gap: "4px", children: _ }),
108
+ /* @__PURE__ */ e(T, { onRedirect: w })
109
+ ]
110
+ }
111
+ );
112
+ }
113
+ export {
114
+ xe as DatePickerYearSelector
115
+ };
116
+ //# sourceMappingURL=date_picker_year_selector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date_picker_year_selector.js","sources":["../../../src/inputs/date_picker/date_picker_year_selector.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { ChevronLeftIcon } from '@tcn/icons/chevron_left_icon.js';\nimport { ChevronRightIcon } from '@tcn/icons/chevron_right_icon.js';\nimport { useSignalValue } from '@tcn/state';\nimport { SlimButton } from '../../actions/index.js';\nimport { HStack } from '../../stacks/h_stack.js';\nimport { Spacer } from '../../stacks/spacer.js';\nimport { VStack } from '../../stacks/v_stack.js';\nimport { BodyText, Headline } from '../../typography/index.js';\nimport { DatePickerPresenter } from './date_picker_presenter.js';\nimport styles from './date_picker_year_selector.module.css';\nimport { FocusRedirect } from '../../utils/index.js';\nimport classNames from 'classnames';\n\nexport interface DatePickerYearSelectorProps {\n presenter: DatePickerPresenter;\n onClose: () => void;\n}\n\nexport function DatePickerYearSelector({\n presenter,\n onClose,\n}: DatePickerYearSelectorProps) {\n const { min, max, visibleYear, visibleMonth } = useSignalValue(\n presenter.stateBroadcast\n );\n\n const [offset, setOffset] = useState(0);\n const containerRef = useRef<HTMLDivElement | null>(null);\n const minYear = min == null ? -Infinity : min.getFullYear();\n const maxYear = max == null ? Infinity : max.getFullYear();\n const years: React.ReactNode[] = [];\n const remainder = visibleYear % 20;\n let firstYear = visibleYear - remainder + offset;\n let lastYear = firstYear + 19;\n\n for (let x = 0; x < 20; x++) {\n let disabled = false;\n const date = new Date(visibleYear, visibleMonth, 1);\n date.setFullYear(visibleYear - remainder + x + offset);\n\n if (date.getFullYear() > maxYear || date.getFullYear() < minYear) {\n disabled = true;\n }\n\n const Button: any = HStack;\n\n years.push(\n <Button\n as=\"button\"\n key={x}\n width=\"flex\"\n disabled={disabled}\n className={classNames(\n styles['date-picker-year-button'],\n 'date-picker-year-button'\n )}\n data-is-disabled={String(disabled)}\n data-is-selected={String(date.getFullYear() === visibleYear)}\n onClick={() => {\n presenter.setVisibleYear(date.getFullYear());\n onClose();\n }}\n >\n <BodyText>{date.getFullYear()}</BodyText>\n </Button>\n );\n }\n\n function focus() {\n if (containerRef.current != null) {\n containerRef.current.focus();\n }\n }\n\n useEffect(() => {\n if (containerRef.current != null) {\n containerRef.current.focus();\n }\n }, []);\n\n const firstRow = years.slice(0, 4);\n const secondRow = years.slice(4, 8);\n const thirdRow = years.slice(8, 12);\n const fourthRow = years.slice(12, 16);\n const fifthRow = years.slice(16, 20);\n\n function prev() {\n setOffset(offset - 20);\n }\n\n function next() {\n setOffset(offset + 20);\n }\n\n return (\n <VStack\n ref={containerRef}\n tabIndex={0}\n padding=\"8px\"\n className={classNames(\n styles['date-picker-year-selector'],\n 'date-picker-year-selector'\n )}\n gap=\"4px\"\n >\n <HStack gap=\"4px\">\n <SlimButton onClick={prev} hierarchy=\"tertiary\">\n <ChevronLeftIcon flipOnRtl size=\"md\" />\n </SlimButton>\n <Spacer />\n <Headline\n selectable={false}\n emphasis=\"faint\"\n hierarchy=\"tertiary\"\n >{`${firstYear}-${lastYear}`}</Headline>\n <Spacer />\n <SlimButton hierarchy=\"tertiary\" onClick={next}>\n <ChevronRightIcon size=\"md\" />\n </SlimButton>\n </HStack>\n <HStack gap=\"4px\">{firstRow}</HStack>\n <HStack gap=\"4px\">{secondRow}</HStack>\n <HStack gap=\"4px\">{thirdRow}</HStack>\n <HStack gap=\"4px\">{fourthRow}</HStack>\n <HStack gap=\"4px\">{fifthRow}</HStack>\n <FocusRedirect onRedirect={focus} />\n </VStack>\n );\n}\n"],"names":["DatePickerYearSelector","presenter","onClose","min","max","visibleYear","visibleMonth","useSignalValue","offset","setOffset","useState","containerRef","useRef","minYear","maxYear","years","remainder","firstYear","lastYear","x","disabled","date","Button","HStack","jsx","classNames","styles","BodyText","focus","useEffect","firstRow","secondRow","thirdRow","fourthRow","fifthRow","prev","next","jsxs","VStack","SlimButton","ChevronLeftIcon","Spacer","Headline","ChevronRightIcon","FocusRedirect"],"mappings":"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"}