chuijs 4.0.3 → 4.0.4

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 (258) hide show
  1. package/CHANGELOG.md +536 -0
  2. package/framework/appLayout/default/chui_app_layout.js +361 -303
  3. package/framework/appLayout/default/global_style.css +243 -89
  4. package/framework/appLayout/default/main_theme_style.css +188 -101
  5. package/framework/components/chui_accordion/accordion.js +17 -17
  6. package/framework/components/chui_accordion/styles.css +7 -7
  7. package/framework/components/chui_action_sheet/action_sheet.js +35 -32
  8. package/framework/components/chui_action_sheet/styles.css +10 -4
  9. package/framework/components/chui_actions_bar/actions_bar.js +338 -0
  10. package/framework/components/chui_actions_bar/styles.css +139 -0
  11. package/framework/components/chui_affix/affix.js +4 -4
  12. package/framework/components/chui_affix/styles.css +5 -0
  13. package/framework/components/chui_alert/alert.js +11 -5
  14. package/framework/components/chui_alert/styles.css +7 -0
  15. package/framework/components/chui_avatar/avatar.js +13 -13
  16. package/framework/components/chui_avatar/styles.css +1 -1
  17. package/framework/components/chui_avatar_group/avatar_group.js +4 -4
  18. package/framework/components/chui_avatar_group/styles.css +1 -1
  19. package/framework/components/chui_backtop/backtop.js +25 -2
  20. package/framework/components/chui_backtop/styles.css +21 -0
  21. package/framework/components/chui_badge/badge.js +15 -15
  22. package/framework/components/chui_badge/styles.css +6 -6
  23. package/framework/components/chui_banner/banner.js +222 -0
  24. package/framework/components/chui_banner/styles.css +170 -0
  25. package/framework/components/chui_breadcrumb/styles.css +1 -1
  26. package/framework/components/chui_button/button.js +24 -28
  27. package/framework/components/chui_button/styles.css +5 -5
  28. package/framework/components/chui_calendar/calendar.js +6 -6
  29. package/framework/components/chui_card/card.js +14 -14
  30. package/framework/components/chui_card_scroll/card_scroll.js +169 -0
  31. package/framework/components/chui_card_scroll/styles.css +86 -0
  32. package/framework/components/chui_chat/chat.js +73 -51
  33. package/framework/components/chui_chat/styles.css +18 -7
  34. package/framework/components/chui_clipboard_history/clipboard_history.js +25 -20
  35. package/framework/components/chui_clipboard_history/styles.css +10 -8
  36. package/framework/components/chui_code/code.js +8 -8
  37. package/framework/components/chui_code/styles.css +2 -2
  38. package/framework/components/chui_code_editor/code_editor.js +26 -26
  39. package/framework/components/chui_code_editor/styles.css +3 -3
  40. package/framework/components/chui_command_palette/command_palette.js +29 -29
  41. package/framework/components/chui_command_palette/styles.css +5 -5
  42. package/framework/components/chui_console/console.js +9 -9
  43. package/framework/components/chui_console/styles.css +5 -2
  44. package/framework/components/chui_content_block/content_block.js +2 -2
  45. package/framework/components/chui_context_menu/context_menu.js +162 -54
  46. package/framework/components/chui_context_menu/styles.css +82 -8
  47. package/framework/components/chui_custom_element/custom_element.js +11 -11
  48. package/framework/components/chui_data_grid/data_grid.js +268 -268
  49. package/framework/components/chui_data_grid/styles.css +14 -14
  50. package/framework/components/chui_descriptions/styles.css +1 -1
  51. package/framework/components/chui_details/details.js +12 -12
  52. package/framework/components/chui_details/styles.css +7 -7
  53. package/framework/components/chui_diff_viewer/diff_viewer.js +88 -88
  54. package/framework/components/chui_diff_viewer/styles.css +9 -9
  55. package/framework/components/chui_divider/divider.js +6 -6
  56. package/framework/components/chui_divider/styles.css +2 -2
  57. package/framework/components/chui_drawer/drawer.js +37 -14
  58. package/framework/components/chui_drawer/styles.css +18 -4
  59. package/framework/components/chui_drop_zone/drop_zone.js +6 -6
  60. package/framework/components/chui_drop_zone/styles.css +10 -6
  61. package/framework/components/chui_fieldset/fieldset.js +6 -6
  62. package/framework/components/chui_fieldset/styles.css +5 -5
  63. package/framework/components/chui_file_explorer/file_explorer.js +115 -115
  64. package/framework/components/chui_file_explorer/styles.css +6 -6
  65. package/framework/components/chui_form/form.js +11 -11
  66. package/framework/components/chui_gantt/gantt.js +41 -41
  67. package/framework/components/chui_gantt/styles.css +5 -5
  68. package/framework/components/chui_graphs/graphs.js +82 -46
  69. package/framework/components/chui_graphs/styles.css +26 -5
  70. package/framework/components/chui_hero/hero.js +63 -20
  71. package/framework/components/chui_hero/styles.css +176 -7
  72. package/framework/components/chui_html_block/html_block.js +5 -5
  73. package/framework/components/chui_html_block/styles.css +1 -1
  74. package/framework/components/chui_hx/styles.css +2 -2
  75. package/framework/components/chui_icons/icons.js +7 -7
  76. package/framework/components/chui_icons/styles.css +2 -1
  77. package/framework/components/chui_inputs/chui_check_box/styles.css +12 -3
  78. package/framework/components/chui_inputs/chui_chips/chips.js +92 -31
  79. package/framework/components/chui_inputs/chui_chips/styles.css +28 -5
  80. package/framework/components/chui_inputs/chui_color_picker/color_picker.js +20 -15
  81. package/framework/components/chui_inputs/chui_color_picker/styles.css +7 -7
  82. package/framework/components/chui_inputs/chui_combo_box/combo_box.js +58 -58
  83. package/framework/components/chui_inputs/chui_combo_box/styles.css +9 -9
  84. package/framework/components/chui_inputs/chui_date/date.js +93 -95
  85. package/framework/components/chui_inputs/chui_date/styles.css +8 -8
  86. package/framework/components/chui_inputs/chui_date_range/date_range.js +22 -22
  87. package/framework/components/chui_inputs/chui_date_range/styles.css +3 -3
  88. package/framework/components/chui_inputs/chui_datetime/datetime.js +12 -12
  89. package/framework/components/chui_inputs/chui_datetime/styles.css +3 -3
  90. package/framework/components/chui_inputs/chui_email/email.js +10 -10
  91. package/framework/components/chui_inputs/chui_email/styles.css +6 -6
  92. package/framework/components/chui_inputs/chui_file/file.js +8 -8
  93. package/framework/components/chui_inputs/chui_file/styles.css +12 -9
  94. package/framework/components/chui_inputs/chui_hotkey/hotkey.js +39 -39
  95. package/framework/components/chui_inputs/chui_hotkey/styles.css +6 -6
  96. package/framework/components/chui_inputs/chui_masked/masked.js +44 -44
  97. package/framework/components/chui_inputs/chui_masked/styles.css +5 -5
  98. package/framework/components/chui_inputs/chui_mention/mention.js +13 -13
  99. package/framework/components/chui_inputs/chui_mention/styles.css +14 -8
  100. package/framework/components/chui_inputs/chui_multi_combo_box/multi_combo_box.js +147 -137
  101. package/framework/components/chui_inputs/chui_multi_combo_box/styles.css +14 -8
  102. package/framework/components/chui_inputs/chui_number/number.js +42 -45
  103. package/framework/components/chui_inputs/chui_number/styles.css +6 -6
  104. package/framework/components/chui_inputs/chui_otp/otp.js +32 -32
  105. package/framework/components/chui_inputs/chui_otp/styles.css +5 -5
  106. package/framework/components/chui_inputs/chui_password/password.js +30 -36
  107. package/framework/components/chui_inputs/chui_password/styles.css +7 -7
  108. package/framework/components/chui_inputs/chui_radio_button/styles.css +2 -2
  109. package/framework/components/chui_inputs/chui_rating/rating.js +28 -28
  110. package/framework/components/chui_inputs/chui_rating/styles.css +3 -3
  111. package/framework/components/chui_inputs/chui_select_box/select_box.js +54 -54
  112. package/framework/components/chui_inputs/chui_select_box/styles.css +10 -10
  113. package/framework/components/chui_inputs/chui_slider/slider.js +14 -14
  114. package/framework/components/chui_inputs/chui_slider/styles.css +5 -4
  115. package/framework/components/chui_inputs/chui_text/styles.css +7 -7
  116. package/framework/components/chui_inputs/chui_text/text.js +13 -17
  117. package/framework/components/chui_inputs/chui_text_area/styles.css +8 -8
  118. package/framework/components/chui_inputs/chui_text_area/text_area.js +23 -23
  119. package/framework/components/chui_inputs/chui_time/styles.css +13 -17
  120. package/framework/components/chui_inputs/chui_time/time.js +35 -24
  121. package/framework/components/chui_inputs/chui_toggle/styles.css +10 -3
  122. package/framework/components/chui_inputs/chui_toggle/toggle.js +16 -16
  123. package/framework/components/chui_json_editor/json_editor.js +87 -87
  124. package/framework/components/chui_json_editor/styles.css +5 -5
  125. package/framework/components/chui_json_viewer/json_viewer.js +80 -80
  126. package/framework/components/chui_json_viewer/styles.css +6 -6
  127. package/framework/components/chui_kanban/kanban.js +27 -27
  128. package/framework/components/chui_kanban/styles.css +8 -4
  129. package/framework/components/chui_kbd/styles.css +1 -1
  130. package/framework/components/chui_label/label.js +17 -17
  131. package/framework/components/chui_label/styles.css +1 -1
  132. package/framework/components/chui_link/link.js +9 -9
  133. package/framework/components/chui_link/styles.css +11 -4
  134. package/framework/components/chui_list/list.js +11 -11
  135. package/framework/components/chui_list/styles.css +2 -2
  136. package/framework/components/chui_markdown_editor/markdown_editor.js +66 -66
  137. package/framework/components/chui_markdown_editor/styles.css +5 -5
  138. package/framework/components/chui_media/audio.js +240 -246
  139. package/framework/components/chui_media/audio_styles.css +41 -23
  140. package/framework/components/chui_media/image.js +49 -46
  141. package/framework/components/chui_media/image_compare.js +35 -35
  142. package/framework/components/chui_media/image_compare_styles.css +5 -5
  143. package/framework/components/chui_media/image_styles.css +1 -1
  144. package/framework/components/chui_media/video.js +148 -148
  145. package/framework/components/chui_media/video_styles.css +27 -11
  146. package/framework/components/chui_menu_bar/menu_bar.js +54 -54
  147. package/framework/components/chui_menu_bar/styles.css +10 -10
  148. package/framework/components/chui_message_bar/message_bar.js +551 -0
  149. package/framework/components/chui_message_bar/styles.css +248 -0
  150. package/framework/components/chui_modal/modal.js +37 -13
  151. package/framework/components/chui_notification/notification.js +76 -54
  152. package/framework/components/chui_notification/notification_download.js +26 -81
  153. package/framework/components/chui_notification/notification_download_card.js +115 -0
  154. package/framework/components/chui_notification/notification_download_progress.css +2 -2
  155. package/framework/components/chui_notification/notification_download_progress.js +70 -108
  156. package/framework/components/chui_notification/notification_update.js +31 -31
  157. package/framework/components/chui_notification/status_plate.css +3 -3
  158. package/framework/components/chui_notification/styles.css +6 -1
  159. package/framework/components/chui_notification/styles_download.css +1 -1
  160. package/framework/components/chui_notification/styles_update.css +2 -2
  161. package/framework/components/chui_org_chart/org_chart.js +29 -29
  162. package/framework/components/chui_org_chart/styles.css +2 -2
  163. package/framework/components/chui_pagination/pagination.js +3 -3
  164. package/framework/components/chui_pagination/styles.css +1 -1
  165. package/framework/components/chui_paragraph/styles.css +2 -2
  166. package/framework/components/chui_popover/popover.js +29 -23
  167. package/framework/components/chui_popover/styles.css +1 -1
  168. package/framework/components/chui_popups/popups.js +124 -124
  169. package/framework/components/chui_popups/styles.css +5 -5
  170. package/framework/components/chui_print_button/print_button.js +15 -10
  171. package/framework/components/chui_progress_bar/progress_bar.js +34 -12
  172. package/framework/components/chui_progress_bar/styles.css +4 -4
  173. package/framework/components/chui_progress_ring/progress_ring.js +15 -15
  174. package/framework/components/chui_progress_ring/styles.css +1 -1
  175. package/framework/components/chui_qrcode/qrcode.js +12 -12
  176. package/framework/components/chui_query_builder/query_builder.js +46 -46
  177. package/framework/components/chui_query_builder/styles.css +4 -4
  178. package/framework/components/chui_radio_group/styles.css +1 -1
  179. package/framework/components/chui_result/result.js +15 -15
  180. package/framework/components/chui_result/styles.css +3 -3
  181. package/framework/components/chui_scheduler/scheduler.js +74 -74
  182. package/framework/components/chui_scheduler/styles.css +5 -5
  183. package/framework/components/chui_screen_spinner/screen_spinner.js +167 -0
  184. package/framework/components/chui_screen_spinner/styles.css +49 -0
  185. package/framework/components/chui_segmented_control/segmented_control.js +63 -6
  186. package/framework/components/chui_segmented_control/styles.css +32 -6
  187. package/framework/components/chui_settings/settings.js +45 -46
  188. package/framework/components/chui_settings/styles.css +4 -4
  189. package/framework/components/chui_shortcut_help/shortcut_help.js +32 -34
  190. package/framework/components/chui_sidebar_nav/sidebar_nav.js +98 -29
  191. package/framework/components/chui_sidebar_nav/styles.css +9 -3
  192. package/framework/components/chui_slideshow/slideshow.js +85 -85
  193. package/framework/components/chui_slideshow/styles.css +6 -6
  194. package/framework/components/chui_spinner/spinner.js +10 -10
  195. package/framework/components/chui_split_button/split_button.js +30 -12
  196. package/framework/components/chui_split_button/styles.css +21 -5
  197. package/framework/components/chui_splitter/splitter.js +11 -11
  198. package/framework/components/chui_splitter/styles.css +2 -2
  199. package/framework/components/chui_statistic/statistic.js +47 -47
  200. package/framework/components/chui_status_bar/styles.css +2 -2
  201. package/framework/components/chui_stepper/stepper.js +202 -31
  202. package/framework/components/chui_stepper/styles.css +79 -14
  203. package/framework/components/chui_sticky_bar/sticky_bar.js +44 -13
  204. package/framework/components/chui_sticky_bar/styles.css +10 -8
  205. package/framework/components/chui_tabs/chui_tabs.js +74 -26
  206. package/framework/components/chui_tabs/styles.css +40 -12
  207. package/framework/components/chui_text_editor/styles.css +7 -7
  208. package/framework/components/chui_text_editor/text_editor.js +56 -56
  209. package/framework/components/chui_text_editor/text_editor_panel.js +173 -174
  210. package/framework/components/chui_theme_toggle/theme_toggle.js +21 -5
  211. package/framework/components/chui_timeline/styles.css +3 -1
  212. package/framework/components/chui_toast_queue/styles.css +11 -11
  213. package/framework/components/chui_toast_queue/toast_queue.js +30 -27
  214. package/framework/components/chui_toolbar/styles.css +2 -2
  215. package/framework/components/chui_tooltip/styles.css +2 -2
  216. package/framework/components/chui_tooltip/tooltip.js +3 -3
  217. package/framework/components/chui_tour/styles.css +8 -8
  218. package/framework/components/chui_tour/tour.js +72 -72
  219. package/framework/components/chui_transfer/styles.css +6 -6
  220. package/framework/components/chui_transfer/transfer.js +93 -106
  221. package/framework/components/chui_tree_table/styles.css +4 -4
  222. package/framework/components/chui_tree_table/tree_table.js +45 -45
  223. package/framework/components/chui_tree_view/styles.css +10 -8
  224. package/framework/components/chui_tree_view/tree_view.js +185 -183
  225. package/framework/components/chui_user_bar/styles.css +145 -0
  226. package/framework/components/chui_user_bar/user_bar.js +402 -0
  227. package/framework/components/chui_user_list_bar/styles.css +173 -0
  228. package/framework/components/chui_user_list_bar/user_list_bar.js +485 -0
  229. package/framework/components/chui_watermark/watermark.js +17 -17
  230. package/framework/components/chui_webview/webview.js +9 -9
  231. package/framework/components/chui_write_bar/styles.css +172 -0
  232. package/framework/components/chui_write_bar/write_bar.js +320 -0
  233. package/framework/main_window.js +1234 -0
  234. package/framework/modules/chui_a11y/chui_a11y.js +78 -79
  235. package/framework/modules/chui_animations/animations.js +77 -15
  236. package/framework/modules/chui_animations/motion.js +120 -0
  237. package/framework/modules/chui_animations/styles.css +36 -3
  238. package/framework/modules/chui_functions.js +31 -27
  239. package/framework/modules/chui_highlight/styles.css +13 -10
  240. package/framework/modules/chui_i18n/chui_i18n.js +3 -3
  241. package/framework/modules/chui_i18n/locales/feedback.js +62 -0
  242. package/framework/modules/chui_i18n/locales/navigation.js +4 -0
  243. package/framework/modules/chui_json/chui_json.js +2 -2
  244. package/framework/modules/chui_logger/chui_logger.js +23 -8
  245. package/framework/modules/chui_page/page.js +10 -10
  246. package/framework/modules/chui_palette/palette.js +61 -0
  247. package/framework/modules/chui_qr/chui_qr.js +23 -23
  248. package/framework/modules/chui_scrollbar/chui_scrollbar.js +45 -45
  249. package/framework/modules/chui_scrollbar/styles.css +3 -3
  250. package/framework/modules/chui_services/chui_services.js +8 -8
  251. package/framework/modules/chui_services/desktop.js +77 -71
  252. package/framework/modules/chui_sortable/chui_sortable.js +17 -17
  253. package/framework/modules/chui_validate/chui_validate.js +3 -3
  254. package/framework/tray_bar/chui_menu_items.js +2 -2
  255. package/index.d.ts +266 -34
  256. package/index.js +20 -1168
  257. package/package.json +6 -4
  258. package/framework/components/telegram_bot/chui_telegram_bot.js +0 -191
@@ -3,7 +3,7 @@ chui_data_grid {
3
3
  flex-direction: column;
4
4
  /* fill-available учитывает собственный margin, 100% — нет */
5
5
  width: -webkit-fill-available;
6
- margin: var(--margin);
6
+ margin: var(--block_margin);
7
7
  font-size: var(--font_default_size);
8
8
  /* Локальные поверхности сетки: систему токенов не трогаем, но полный
9
9
  `--element_background` давал плотный серый блок, поэтому тело — только часть
@@ -59,8 +59,8 @@ data_grid_error {
59
59
  margin-bottom: 6px;
60
60
  padding-block: 6px 6px;
61
61
  padding-inline: 12px 12px;
62
- border: 1px solid var(--badge_error_back);
63
- border-radius: var(--border_radius);
62
+ border: 1px solid var(--badge_error_background);
63
+ border-radius: var(--radius_sm);
64
64
  background: var(--element_background_2);
65
65
  font-size: var(--font_default_size);
66
66
  }
@@ -99,10 +99,10 @@ data_grid_head data_grid_cell.data_grid_cell_pinned {
99
99
 
100
100
  data_grid_cell.data_grid_cell_pinned_last {
101
101
  border-inline-end: 1px solid var(--border_color);
102
- /* Тень закреплённой колонки направленная (вбок), поэтому своего токена у неё нет:
103
- общие тени накрывают элемент со всех сторон. Разлёт больше, процент меньше —
104
- чтобы край колонки читался мягкой границей, а не линией. */
105
- box-shadow: 2px 0 8px rgb(0 0 0 / 6%);
102
+ /* Тень закреплённой колонки — общий ключ: она направленная, вбок, а общие тени
103
+ накрывают элемент со всех сторон. Разлёт больше, процент меньше — чтобы край
104
+ колонки читался мягкой границей, а не линией */
105
+ box-shadow: var(--box_shadow_edge);
106
106
  }
107
107
 
108
108
  /* Наведение на строку: у закреплённой ячейки свой непрозрачный фон, поэтому заливку
@@ -131,7 +131,7 @@ data_grid_head {
131
131
  box-sizing: border-box;
132
132
  border: 1px solid var(--border_color);
133
133
  border-bottom: none;
134
- border-radius: var(--border_radius) var(--border_radius) 0 0;
134
+ border-radius: var(--radius_sm) var(--radius_sm) 0 0;
135
135
  /* Шапка — на один шаг плотнее тела и остаётся отличима от карточки. Слои непрозрачные:
136
136
  закреплённые ячейки шапки перекрывают уезжающие под них колонки */
137
137
  background: var(--data_grid_head);
@@ -323,7 +323,7 @@ data_grid_body {
323
323
  height: 340px;
324
324
  margin: 0;
325
325
  border: 1px solid var(--border_color);
326
- border-radius: 0 0 var(--border_radius) var(--border_radius);
326
+ border-radius: 0 0 var(--radius_sm) var(--radius_sm);
327
327
  /* Спокойная нейтральная поверхность тела: у строки своего фона нет,
328
328
  поэтому цвет строк даёт именно она */
329
329
  background: var(--data_grid_surface);
@@ -338,7 +338,7 @@ data_grid_spacer {
338
338
 
339
339
  data_grid_body_empty {
340
340
  display: block;
341
- padding: var(--main_padding);
341
+ padding: var(--block_padding);
342
342
  text-align: center;
343
343
  color: var(--text_color_disabled);
344
344
  }
@@ -351,7 +351,7 @@ data_grid_body_empty[hidden] {
351
351
  когда пользователь долистал до конца уже загруженного */
352
352
  data_grid_body_loader {
353
353
  display: block;
354
- padding: var(--main_padding);
354
+ padding: var(--block_padding);
355
355
  text-align: center;
356
356
  color: var(--text_color_disabled);
357
357
  border-top: 1px solid var(--border_color);
@@ -420,13 +420,13 @@ data_grid_cell.data_grid_cell_editing {
420
420
  min-width: 0;
421
421
  min-height: var(--control_height);
422
422
  box-sizing: border-box;
423
- /* Отступ снимаем: у своих редакторов-компонентов он свой (`margin: var(--margin)`),
423
+ /* Отступ снимаем: у своих редакторов-компонентов он свой (`margin: var(--block_margin)`),
424
424
  и поле съезжало в ячейке */
425
425
  margin: 0;
426
426
  padding-block: 0 0;
427
427
  padding-inline: 8px 8px;
428
428
  border: 1px solid var(--blue_prime_background);
429
- border-radius: var(--border_radius);
429
+ border-radius: var(--radius_sm);
430
430
  /* Приподнятая непрозрачная поверхность — та же, что у полей фреймворка: непрозрачная,
431
431
  чтобы в выделенной строке поле не заливалось тонировкой, и светлее тела, чтобы поле
432
432
  читалось как поле, а не как дыра в строке */
@@ -445,7 +445,7 @@ data_grid_cell.data_grid_cell_editing_select {
445
445
  padding: 0 4px;
446
446
  }
447
447
 
448
- /* Корень Select — целый компонент: у него свой внешний отступ (`margin: var(--margin)`)
448
+ /* Корень Select — целый компонент: у него свой внешний отступ (`margin: var(--block_margin)`)
449
449
  и ширина контрола (`width: var(--control_width)`). Внутри ячейки это лишнее: из-за отступа
450
450
  ячейка вырастала до 29 + 12 = 41 px и перекрывала соседей, а поле сужалось и съезжало
451
451
  вправо. Растягиваем поле на ячейку и снимаем отступ */
@@ -8,7 +8,7 @@ chui_descriptions {
8
8
  /* Компонент сам задаёт ширину: в flex-колонке с align-items: flex-start
9
9
  блок без ширины получил бы max-content и вылез за карточку */
10
10
  width: -webkit-fill-available;
11
- margin: var(--margin);
11
+ margin: var(--block_margin);
12
12
  --descriptions_columns: 1;
13
13
  color: var(--text_color);
14
14
  font-size: var(--font_default_size);
@@ -3,11 +3,11 @@ const { Icon, Icons } = require("../chui_icons/icons");
3
3
  const { makeKeyboardButton } = require("../../modules/chui_a11y/chui_a11y");
4
4
 
5
5
  /** Идентификаторы для aria-controls у раскрывающихся панелей */
6
- let disclosure_panel_counter = 0;
6
+ let disclosurePanelCounter = 0;
7
7
 
8
8
  class Details {
9
9
  #name = require("randomstring").generate();
10
- #chui_details = document.createElement(`chui_details`);
10
+ #chuiDetails = document.createElement(`chui_details`);
11
11
  //
12
12
  #ab = document.createElement("details_button");
13
13
  #bt = document.createElement("details_button_text");
@@ -46,7 +46,7 @@ class Details {
46
46
  if (this.#align !== undefined) this.#html.style.alignItems = this.#align;
47
47
  if (this.#justify !== undefined) this.#html.style.justifyContent = this.#justify;
48
48
  if (this.#width !== undefined) {
49
- this.#chui_details.style.width = this.#width;
49
+ this.#chuiDetails.style.width = this.#width;
50
50
  this.#ab.style.width = this.#width;
51
51
  this.#ap.style.width = this.#width;
52
52
  this.#html.style.width = this.#width;
@@ -60,18 +60,18 @@ class Details {
60
60
  this.#ab.appendChild(this.#bt);
61
61
  this.#ab.appendChild(this.#barrow);
62
62
  this.#ap.appendChild(this.#html);
63
- this.#chui_details.appendChild(this.#ab);
64
- this.#chui_details.appendChild(this.#ap);
63
+ this.#chuiDetails.appendChild(this.#ab);
64
+ this.#chuiDetails.appendChild(this.#ap);
65
65
 
66
66
  //ФУНКЦИИ
67
- let test = this.#chui_details.children;
67
+ const test = this.#chuiDetails.children;
68
68
  let i;
69
69
  for (i = 0; i < test.length; i++) {
70
- let elem = test[i];
70
+ const elem = test[i];
71
71
  if (elem.tagName === "DETAILS_BUTTON") {
72
- let panel = elem.nextElementSibling;
72
+ const panel = elem.nextElementSibling;
73
73
  // Доступность: кнопка раскрытия — role=button с состоянием, панель — отдельный регион
74
- panel.id = "chui_details_panel_" + (disclosure_panel_counter += 1);
74
+ panel.id = "chui_details_panel_" + (disclosurePanelCounter += 1);
75
75
  panel.setAttribute("role", "region");
76
76
  elem.setAttribute("aria-controls", panel.id);
77
77
  elem.setAttribute("aria-expanded", "false");
@@ -81,7 +81,7 @@ class Details {
81
81
  makeKeyboardButton(elem);
82
82
  elem.addEventListener("click", () => {
83
83
  elem.classList.toggle("details_active");
84
- let panel = elem.nextElementSibling;
84
+ const panel = elem.nextElementSibling;
85
85
  // Стрелка и углы кнопки зависят от `aria-expanded` — их ведёт CSS,
86
86
  // а инлайном остаётся только измеренная высота панели
87
87
  if (panel.style.maxHeight) {
@@ -97,12 +97,12 @@ class Details {
97
97
  }
98
98
  }
99
99
  add(...components) {
100
- for (let component of components) {
100
+ for (const component of components) {
101
101
  this.#html.appendChild(component.set());
102
102
  }
103
103
  }
104
104
  set() {
105
- return this.#chui_details;
105
+ return this.#chuiDetails;
106
106
  }
107
107
  }
108
108
 
@@ -5,10 +5,10 @@ chui_details {
5
5
  /* Ширина по умолчанию — по колонке: с `max-content` заголовок сжимался в плашку
6
6
  по тексту и блок читался незаконченным (опция `width` перекрывает это значение) */
7
7
  width: -webkit-fill-available;
8
- margin: var(--margin);
8
+ margin: var(--block_margin);
9
9
  font-size: var(--font_default_size);
10
10
  font-weight: 400;
11
- border-radius: var(--border_radius);
11
+ border-radius: var(--radius_sm);
12
12
  border: none;
13
13
  }
14
14
 
@@ -21,14 +21,14 @@ details_button_arrow {
21
21
  details_button {
22
22
  background: var(--element_background);
23
23
  cursor: pointer;
24
- padding: var(--main_padding);
24
+ padding: var(--block_padding);
25
25
  font-size: var(--font_default_size);
26
26
  width: -webkit-fill-available;
27
27
  text-align: start;
28
28
  outline: none;
29
29
  display: flex;
30
30
  align-items: center;
31
- border-radius: var(--border_radius);
31
+ border-radius: var(--radius_sm);
32
32
  color: var(--text_color);
33
33
  border: none;
34
34
  }
@@ -40,13 +40,13 @@ details_panel {
40
40
  overflow: hidden;
41
41
  width: -webkit-fill-available;
42
42
  max-height: 0;
43
- border-end-end-radius: var(--border_radius);
44
- border-end-start-radius: var(--border_radius);
43
+ border-end-end-radius: var(--radius_sm);
44
+ border-end-start-radius: var(--radius_sm);
45
45
  color: var(--text_color);
46
46
  border: none;
47
47
  /* Раскрытие идёт по `max-height`, которое считает JS: без перехода панель
48
48
  раскрывалась рывком */
49
- transition: max-height var(--transition_time) var(--ease_out);
49
+ transition: max-height var(--motion_base) var(--motion_ease);
50
50
  }
51
51
 
52
52
  details_panel_html {