@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.
- package/README.md +11 -0
- package/dist/actions/button/base_button/base_button.d.ts +15 -0
- package/dist/actions/button/base_button/base_button.d.ts.map +1 -0
- package/dist/actions/button/base_button/base_button.js +56 -0
- package/dist/actions/button/base_button/base_button.js.map +1 -0
- package/dist/actions/button/button/button.d.ts +6 -0
- package/dist/actions/button/button/button.d.ts.map +1 -0
- package/dist/actions/button/button/button.js +11 -0
- package/dist/actions/button/button/button.js.map +1 -0
- package/dist/actions/button/button_group/button_group.d.ts +12 -0
- package/dist/actions/button/button_group/button_group.d.ts.map +1 -0
- package/dist/actions/button/button_group/button_group.js +57 -0
- package/dist/actions/button/button_group/button_group.js.map +1 -0
- package/dist/actions/button/select_group/select_group.d.ts +13 -0
- package/dist/actions/button/select_group/select_group.d.ts.map +1 -0
- package/dist/actions/button/select_group/select_group.js +51 -0
- package/dist/actions/button/select_group/select_group.js.map +1 -0
- package/dist/actions/button/select_group/single_select_group.d.ts +10 -0
- package/dist/actions/button/select_group/single_select_group.d.ts.map +1 -0
- package/dist/actions/button/select_group/single_select_group.js +34 -0
- package/dist/actions/button/select_group/single_select_group.js.map +1 -0
- package/dist/actions/button/slim_button/slim_button.d.ts +4 -0
- package/dist/actions/button/slim_button/slim_button.d.ts.map +1 -0
- package/dist/actions/button/slim_button/slim_button.js +19 -0
- package/dist/actions/button/slim_button/slim_button.js.map +1 -0
- package/dist/actions/index.d.ts +7 -0
- package/dist/actions/index.d.ts.map +1 -0
- package/dist/actions/index.js +15 -0
- package/dist/actions/index.js.map +1 -0
- package/dist/badge.css +1 -0
- package/dist/base_button.css +1 -0
- package/dist/body_text.css +1 -0
- package/dist/body_text.module-h4XQE2pC.js +5 -0
- package/dist/body_text.module-h4XQE2pC.js.map +1 -0
- package/dist/bottom_resize_handle.css +1 -0
- package/dist/bubble.css +1 -0
- package/dist/button.css +1 -0
- package/dist/button_group.css +1 -0
- package/dist/callout.css +1 -0
- package/dist/callout.module-D8ECmxpO.js +5 -0
- package/dist/callout.module-D8ECmxpO.js.map +1 -0
- package/dist/caption.css +1 -0
- package/dist/caption.module-DDq0H4xZ.js +5 -0
- package/dist/caption.module-DDq0H4xZ.js.map +1 -0
- package/dist/card.css +1 -0
- package/dist/checkbox.css +1 -0
- package/dist/chip.css +1 -0
- package/dist/circle.css +1 -0
- package/dist/collapsible_box.css +1 -0
- package/dist/collapsible_box.module-BiS98xXA.js +5 -0
- package/dist/collapsible_box.module-BiS98xXA.js.map +1 -0
- package/dist/color_input.css +1 -0
- package/dist/color_picker.css +1 -0
- package/dist/column.css +1 -0
- package/dist/confirm.css +1 -0
- package/dist/date_picker.css +1 -0
- package/dist/date_picker_date.css +1 -0
- package/dist/date_picker_day.css +1 -0
- package/dist/date_picker_header.css +1 -0
- package/dist/date_picker_input.css +1 -0
- package/dist/date_picker_time_selector.css +1 -0
- package/dist/date_picker_year_input.css +1 -0
- package/dist/date_picker_year_selector.css +1 -0
- package/dist/divider.css +1 -0
- package/dist/drawer_bottom.css +1 -0
- package/dist/drawer_end.css +1 -0
- package/dist/drawer_start.css +1 -0
- package/dist/drawer_top.css +1 -0
- package/dist/end_resize_handle.css +1 -0
- package/dist/feedback/index.d.ts +4 -0
- package/dist/feedback/index.d.ts.map +1 -0
- package/dist/feedback/index.js +9 -0
- package/dist/feedback/index.js.map +1 -0
- package/dist/feedback/lazy/lazy.d.ts +11 -0
- package/dist/feedback/lazy/lazy.d.ts.map +1 -0
- package/dist/feedback/lazy/lazy.js +27 -0
- package/dist/feedback/lazy/lazy.js.map +1 -0
- package/dist/feedback/loading/loading.d.ts +11 -0
- package/dist/feedback/loading/loading.d.ts.map +1 -0
- package/dist/feedback/loading/loading.js +52 -0
- package/dist/feedback/loading/loading.js.map +1 -0
- package/dist/feedback/progress/progress_bar.d.ts +7 -0
- package/dist/feedback/progress/progress_bar.d.ts.map +1 -0
- package/dist/feedback/progress/progress_bar.js +41 -0
- package/dist/feedback/progress/progress_bar.js.map +1 -0
- package/dist/field_control.css +1 -0
- package/dist/field_set.css +1 -0
- package/dist/footer.css +1 -0
- package/dist/footnote.css +1 -0
- package/dist/footnote.module-DEyFuqOr.js +5 -0
- package/dist/footnote.module-DEyFuqOr.js.map +1 -0
- package/dist/form/field/common/field_control/field_control.d.ts +13 -0
- package/dist/form/field/common/field_control/field_control.d.ts.map +1 -0
- package/dist/form/field/common/field_control/field_control.js +38 -0
- package/dist/form/field/common/field_control/field_control.js.map +1 -0
- package/dist/form/field/common/field_description.d.ts +7 -0
- package/dist/form/field/common/field_description.d.ts.map +1 -0
- package/dist/form/field/common/field_description.js +25 -0
- package/dist/form/field/common/field_description.js.map +1 -0
- package/dist/form/field/common/field_error.d.ts +6 -0
- package/dist/form/field/common/field_error.d.ts.map +1 -0
- package/dist/form/field/common/field_error.js +35 -0
- package/dist/form/field/common/field_error.js.map +1 -0
- package/dist/form/field/common/field_header.d.ts +12 -0
- package/dist/form/field/common/field_header.d.ts.map +1 -0
- package/dist/form/field/common/field_header.js +28 -0
- package/dist/form/field/common/field_header.js.map +1 -0
- package/dist/form/field/common/field_label.d.ts +8 -0
- package/dist/form/field/common/field_label.d.ts.map +1 -0
- package/dist/form/field/common/field_label.js +38 -0
- package/dist/form/field/common/field_label.js.map +1 -0
- package/dist/form/field/common/status_input/status_input.d.ts +14 -0
- package/dist/form/field/common/status_input/status_input.d.ts.map +1 -0
- package/dist/form/field/common/status_input/status_input.js +56 -0
- package/dist/form/field/common/status_input/status_input.js.map +1 -0
- package/dist/form/field/common/types.d.ts +10 -0
- package/dist/form/field/common/types.d.ts.map +1 -0
- package/dist/form/field/common/types.js +2 -0
- package/dist/form/field/common/types.js.map +1 -0
- package/dist/form/field/field.d.ts +10 -0
- package/dist/form/field/field.d.ts.map +1 -0
- package/dist/form/field/field.js +19 -0
- package/dist/form/field/field.js.map +1 -0
- package/dist/form/field/form_field.d.ts +6 -0
- package/dist/form/field/form_field.d.ts.map +1 -0
- package/dist/form/field/form_field.js +18 -0
- package/dist/form/field/form_field.js.map +1 -0
- package/dist/form/field/h_field/h_field.d.ts +11 -0
- package/dist/form/field/h_field/h_field.d.ts.map +1 -0
- package/dist/form/field/h_field/h_field.js +60 -0
- package/dist/form/field/h_field/h_field.js.map +1 -0
- package/dist/form/field/v_field/v_field.d.ts +10 -0
- package/dist/form/field/v_field/v_field.d.ts.map +1 -0
- package/dist/form/field/v_field/v_field.js +68 -0
- package/dist/form/field/v_field/v_field.js.map +1 -0
- package/dist/form/field_presenters/field_presenter.d.ts +39 -0
- package/dist/form/field_presenters/field_presenter.d.ts.map +1 -0
- package/dist/form/field_presenters/field_presenter.js +71 -0
- package/dist/form/field_presenters/field_presenter.js.map +1 -0
- package/dist/form/field_presenters/options_field_presenter.d.ts +15 -0
- package/dist/form/field_presenters/options_field_presenter.d.ts.map +1 -0
- package/dist/form/field_presenters/options_field_presenter.js +18 -0
- package/dist/form/field_presenters/options_field_presenter.js.map +1 -0
- package/dist/form/field_set/field_set.d.ts +13 -0
- package/dist/form/field_set/field_set.d.ts.map +1 -0
- package/dist/form/field_set/field_set.js +65 -0
- package/dist/form/field_set/field_set.js.map +1 -0
- package/dist/form/form_field.d.ts +6 -0
- package/dist/form/form_field.d.ts.map +1 -0
- package/dist/form/form_field.js +18 -0
- package/dist/form/form_field.js.map +1 -0
- package/dist/form/index.d.ts +6 -0
- package/dist/form/index.d.ts.map +1 -0
- package/dist/form/index.js +11 -0
- package/dist/form/index.js.map +1 -0
- package/dist/grid.css +1 -0
- package/dist/h_field.css +1 -0
- package/dist/header.css +1 -0
- package/dist/headline.css +1 -0
- package/dist/headline.module-BiwHBtGf.js +5 -0
- package/dist/headline.module-BiwHBtGf.js.map +1 -0
- package/dist/input.css +1 -0
- package/dist/inputs/checkbox/checkbox.d.ts +11 -0
- package/dist/inputs/checkbox/checkbox.d.ts.map +1 -0
- package/dist/inputs/checkbox/checkbox.js +34 -0
- package/dist/inputs/checkbox/checkbox.js.map +1 -0
- package/dist/inputs/checkbox/checkbox_row.d.ts +8 -0
- package/dist/inputs/checkbox/checkbox_row.d.ts.map +1 -0
- package/dist/inputs/checkbox/checkbox_row.js +16 -0
- package/dist/inputs/checkbox/checkbox_row.js.map +1 -0
- package/dist/inputs/color_input/color_input.d.ts +13 -0
- package/dist/inputs/color_input/color_input.d.ts.map +1 -0
- package/dist/inputs/color_input/color_input.js +145 -0
- package/dist/inputs/color_input/color_input.js.map +1 -0
- package/dist/inputs/color_input/color_picker.d.ts +8 -0
- package/dist/inputs/color_input/color_picker.d.ts.map +1 -0
- package/dist/inputs/color_input/color_picker.js +39 -0
- package/dist/inputs/color_input/color_picker.js.map +1 -0
- package/dist/inputs/combo_box/combo_box.d.ts +11 -0
- package/dist/inputs/combo_box/combo_box.d.ts.map +1 -0
- package/dist/inputs/combo_box/combo_box.js +91 -0
- package/dist/inputs/combo_box/combo_box.js.map +1 -0
- package/dist/inputs/date_picker/date_picker.d.ts +20 -0
- package/dist/inputs/date_picker/date_picker.d.ts.map +1 -0
- package/dist/inputs/date_picker/date_picker.js +114 -0
- package/dist/inputs/date_picker/date_picker.js.map +1 -0
- package/dist/inputs/date_picker/date_picker_body.d.ts +7 -0
- package/dist/inputs/date_picker/date_picker_body.d.ts.map +1 -0
- package/dist/inputs/date_picker/date_picker_body.js +26 -0
- package/dist/inputs/date_picker/date_picker_body.js.map +1 -0
- package/dist/inputs/date_picker/date_picker_date.d.ts +8 -0
- package/dist/inputs/date_picker/date_picker_date.d.ts.map +1 -0
- package/dist/inputs/date_picker/date_picker_date.js +71 -0
- package/dist/inputs/date_picker/date_picker_date.js.map +1 -0
- package/dist/inputs/date_picker/date_picker_day.d.ts +6 -0
- package/dist/inputs/date_picker/date_picker_day.d.ts.map +1 -0
- package/dist/inputs/date_picker/date_picker_day.js +25 -0
- package/dist/inputs/date_picker/date_picker_day.js.map +1 -0
- package/dist/inputs/date_picker/date_picker_header.d.ts +7 -0
- package/dist/inputs/date_picker/date_picker_header.d.ts.map +1 -0
- package/dist/inputs/date_picker/date_picker_header.js +87 -0
- package/dist/inputs/date_picker/date_picker_header.js.map +1 -0
- package/dist/inputs/date_picker/date_picker_input.d.ts +24 -0
- package/dist/inputs/date_picker/date_picker_input.d.ts.map +1 -0
- package/dist/inputs/date_picker/date_picker_input.js +139 -0
- package/dist/inputs/date_picker/date_picker_input.js.map +1 -0
- package/dist/inputs/date_picker/date_picker_presenter.d.ts +45 -0
- package/dist/inputs/date_picker/date_picker_presenter.d.ts.map +1 -0
- package/dist/inputs/date_picker/date_picker_presenter.js +170 -0
- package/dist/inputs/date_picker/date_picker_presenter.js.map +1 -0
- package/dist/inputs/date_picker/date_picker_time_selector.d.ts +13 -0
- package/dist/inputs/date_picker/date_picker_time_selector.d.ts.map +1 -0
- package/dist/inputs/date_picker/date_picker_time_selector.js +90 -0
- package/dist/inputs/date_picker/date_picker_time_selector.js.map +1 -0
- package/dist/inputs/date_picker/date_picker_year_input.d.ts +6 -0
- package/dist/inputs/date_picker/date_picker_year_input.d.ts.map +1 -0
- package/dist/inputs/date_picker/date_picker_year_input.js +51 -0
- package/dist/inputs/date_picker/date_picker_year_input.js.map +1 -0
- package/dist/inputs/date_picker/date_picker_year_selector.d.ts +7 -0
- package/dist/inputs/date_picker/date_picker_year_selector.d.ts.map +1 -0
- package/dist/inputs/date_picker/date_picker_year_selector.js +116 -0
- package/dist/inputs/date_picker/date_picker_year_selector.js.map +1 -0
- package/dist/inputs/index.d.ts +46 -0
- package/dist/inputs/index.d.ts.map +1 -0
- package/dist/inputs/index.js +90 -0
- package/dist/inputs/index.js.map +1 -0
- package/dist/inputs/input/input.d.ts +14 -0
- package/dist/inputs/input/input.d.ts.map +1 -0
- package/dist/inputs/input/input.js +24 -0
- package/dist/inputs/input/input.js.map +1 -0
- package/dist/inputs/mask_input/alpha_character.d.ts +10 -0
- package/dist/inputs/mask_input/alpha_character.d.ts.map +1 -0
- package/dist/inputs/mask_input/alpha_character.js +15 -0
- package/dist/inputs/mask_input/alpha_character.js.map +1 -0
- package/dist/inputs/mask_input/alpha_numeric_character.d.ts +10 -0
- package/dist/inputs/mask_input/alpha_numeric_character.d.ts.map +1 -0
- package/dist/inputs/mask_input/alpha_numeric_character.js +15 -0
- package/dist/inputs/mask_input/alpha_numeric_character.js.map +1 -0
- package/dist/inputs/mask_input/character.d.ts +14 -0
- package/dist/inputs/mask_input/character.d.ts.map +1 -0
- package/dist/inputs/mask_input/character.js +26 -0
- package/dist/inputs/mask_input/character.js.map +1 -0
- package/dist/inputs/mask_input/constant_character.d.ts +10 -0
- package/dist/inputs/mask_input/constant_character.d.ts.map +1 -0
- package/dist/inputs/mask_input/constant_character.js +23 -0
- package/dist/inputs/mask_input/constant_character.js.map +1 -0
- package/dist/inputs/mask_input/key_capture_input.d.ts +11 -0
- package/dist/inputs/mask_input/key_capture_input.d.ts.map +1 -0
- package/dist/inputs/mask_input/key_capture_input.js +79 -0
- package/dist/inputs/mask_input/key_capture_input.js.map +1 -0
- package/dist/inputs/mask_input/language_character.d.ts +10 -0
- package/dist/inputs/mask_input/language_character.d.ts.map +1 -0
- package/dist/inputs/mask_input/language_character.js +15 -0
- package/dist/inputs/mask_input/language_character.js.map +1 -0
- package/dist/inputs/mask_input/mask.d.ts +38 -0
- package/dist/inputs/mask_input/mask.d.ts.map +1 -0
- package/dist/inputs/mask_input/mask.js +174 -0
- package/dist/inputs/mask_input/mask.js.map +1 -0
- package/dist/inputs/mask_input/mask_config.d.ts +26 -0
- package/dist/inputs/mask_input/mask_config.d.ts.map +1 -0
- package/dist/inputs/mask_input/mask_config.js +2 -0
- package/dist/inputs/mask_input/mask_config.js.map +1 -0
- package/dist/inputs/mask_input/mask_cursor.d.ts +14 -0
- package/dist/inputs/mask_input/mask_cursor.d.ts.map +1 -0
- package/dist/inputs/mask_input/mask_cursor.js +2 -0
- package/dist/inputs/mask_input/mask_cursor.js.map +1 -0
- package/dist/inputs/mask_input/mask_input.d.ts +13 -0
- package/dist/inputs/mask_input/mask_input.d.ts.map +1 -0
- package/dist/inputs/mask_input/mask_input.js +122 -0
- package/dist/inputs/mask_input/mask_input.js.map +1 -0
- package/dist/inputs/mask_input/mask_presenter.d.ts +45 -0
- package/dist/inputs/mask_input/mask_presenter.d.ts.map +1 -0
- package/dist/inputs/mask_input/mask_presenter.js +146 -0
- package/dist/inputs/mask_input/mask_presenter.js.map +1 -0
- package/dist/inputs/mask_input/numeric_character.d.ts +10 -0
- package/dist/inputs/mask_input/numeric_character.d.ts.map +1 -0
- package/dist/inputs/mask_input/numeric_character.js +15 -0
- package/dist/inputs/mask_input/numeric_character.js.map +1 -0
- package/dist/inputs/mask_input/regex_character.d.ts +13 -0
- package/dist/inputs/mask_input/regex_character.d.ts.map +1 -0
- package/dist/inputs/mask_input/regex_character.js +33 -0
- package/dist/inputs/mask_input/regex_character.js.map +1 -0
- package/dist/inputs/multi_combo_box/multi_combo_box.d.ts +16 -0
- package/dist/inputs/multi_combo_box/multi_combo_box.d.ts.map +1 -0
- package/dist/inputs/multi_combo_box/multi_combo_box.js +101 -0
- package/dist/inputs/multi_combo_box/multi_combo_box.js.map +1 -0
- package/dist/inputs/multiselect/multiselect.d.ts +11 -0
- package/dist/inputs/multiselect/multiselect.d.ts.map +1 -0
- package/dist/inputs/multiselect/multiselect.js +105 -0
- package/dist/inputs/multiselect/multiselect.js.map +1 -0
- package/dist/inputs/multiselect/multiselect_inline_values.d.ts +9 -0
- package/dist/inputs/multiselect/multiselect_inline_values.d.ts.map +1 -0
- package/dist/inputs/multiselect/multiselect_inline_values.js +49 -0
- package/dist/inputs/multiselect/multiselect_inline_values.js.map +1 -0
- package/dist/inputs/multiselect/multiselect_row.d.ts +10 -0
- package/dist/inputs/multiselect/multiselect_row.d.ts.map +1 -0
- package/dist/inputs/multiselect/multiselect_row.js +35 -0
- package/dist/inputs/multiselect/multiselect_row.js.map +1 -0
- package/dist/inputs/multiselect/multiselect_values.d.ts +10 -0
- package/dist/inputs/multiselect/multiselect_values.d.ts.map +1 -0
- package/dist/inputs/multiselect/multiselect_values.js +62 -0
- package/dist/inputs/multiselect/multiselect_values.js.map +1 -0
- package/dist/inputs/options/option.d.ts +11 -0
- package/dist/inputs/options/option.d.ts.map +1 -0
- package/dist/inputs/options/option.js +10 -0
- package/dist/inputs/options/option.js.map +1 -0
- package/dist/inputs/options/utils.d.ts +5 -0
- package/dist/inputs/options/utils.d.ts.map +1 -0
- package/dist/inputs/options/utils.js +13 -0
- package/dist/inputs/options/utils.js.map +1 -0
- package/dist/inputs/phone_number_input/countries_phone_information.d.ts +11 -0
- package/dist/inputs/phone_number_input/countries_phone_information.d.ts.map +1 -0
- package/dist/inputs/phone_number_input/countries_phone_information.js +840 -0
- package/dist/inputs/phone_number_input/countries_phone_information.js.map +1 -0
- package/dist/inputs/phone_number_input/phone_number_input.d.ts +15 -0
- package/dist/inputs/phone_number_input/phone_number_input.d.ts.map +1 -0
- package/dist/inputs/phone_number_input/phone_number_input.js +209 -0
- package/dist/inputs/phone_number_input/phone_number_input.js.map +1 -0
- package/dist/inputs/phone_number_input/utils.d.ts +2 -0
- package/dist/inputs/phone_number_input/utils.d.ts.map +1 -0
- package/dist/inputs/phone_number_input/utils.js +7 -0
- package/dist/inputs/phone_number_input/utils.js.map +1 -0
- package/dist/inputs/radio/radio.d.ts +13 -0
- package/dist/inputs/radio/radio.d.ts.map +1 -0
- package/dist/inputs/radio/radio.js +57 -0
- package/dist/inputs/radio/radio.js.map +1 -0
- package/dist/inputs/radio/radio_row.d.ts +9 -0
- package/dist/inputs/radio/radio_row.d.ts.map +1 -0
- package/dist/inputs/radio/radio_row.js +19 -0
- package/dist/inputs/radio/radio_row.js.map +1 -0
- package/dist/inputs/select/select.d.ts +13 -0
- package/dist/inputs/select/select.d.ts.map +1 -0
- package/dist/inputs/select/select.js +107 -0
- package/dist/inputs/select/select.js.map +1 -0
- package/dist/inputs/slider/slider.d.ts +12 -0
- package/dist/inputs/slider/slider.d.ts.map +1 -0
- package/dist/inputs/slider/slider.js +42 -0
- package/dist/inputs/slider/slider.js.map +1 -0
- package/dist/inputs/slider/slider_row.d.ts +8 -0
- package/dist/inputs/slider/slider_row.d.ts.map +1 -0
- package/dist/inputs/slider/slider_row.js +16 -0
- package/dist/inputs/slider/slider_row.js.map +1 -0
- package/dist/inputs/suggestions/suggestion_item.d.ts +9 -0
- package/dist/inputs/suggestions/suggestion_item.d.ts.map +1 -0
- package/dist/inputs/suggestions/suggestion_item.js +38 -0
- package/dist/inputs/suggestions/suggestion_item.js.map +1 -0
- package/dist/inputs/suggestions/suggestion_list.d.ts +15 -0
- package/dist/inputs/suggestions/suggestion_list.d.ts.map +1 -0
- package/dist/inputs/suggestions/suggestion_list.js +240 -0
- package/dist/inputs/suggestions/suggestion_list.js.map +1 -0
- package/dist/inputs/switch/switch.d.ts +11 -0
- package/dist/inputs/switch/switch.d.ts.map +1 -0
- package/dist/inputs/switch/switch.js +71 -0
- package/dist/inputs/switch/switch.js.map +1 -0
- package/dist/inputs/switch/switch_row.d.ts +8 -0
- package/dist/inputs/switch/switch_row.d.ts.map +1 -0
- package/dist/inputs/switch/switch_row.js +16 -0
- package/dist/inputs/switch/switch_row.js.map +1 -0
- package/dist/inputs/textarea/textarea.d.ts +11 -0
- package/dist/inputs/textarea/textarea.d.ts.map +1 -0
- package/dist/inputs/textarea/textarea.js +22 -0
- package/dist/inputs/textarea/textarea.js.map +1 -0
- package/dist/inputs/textarea/textarea_row.d.ts +8 -0
- package/dist/inputs/textarea/textarea_row.d.ts.map +1 -0
- package/dist/inputs/textarea/textarea_row.js +12 -0
- package/dist/inputs/textarea/textarea_row.js.map +1 -0
- package/dist/inputs/unit_input/unit_input.d.ts +14 -0
- package/dist/inputs/unit_input/unit_input.d.ts.map +1 -0
- package/dist/inputs/unit_input/unit_input.js +83 -0
- package/dist/inputs/unit_input/unit_input.js.map +1 -0
- package/dist/layouts/column/column.d.ts +10 -0
- package/dist/layouts/column/column.d.ts.map +1 -0
- package/dist/layouts/column/column.js +52 -0
- package/dist/layouts/column/column.js.map +1 -0
- package/dist/layouts/divider/divider.d.ts +26 -0
- package/dist/layouts/divider/divider.d.ts.map +1 -0
- package/dist/layouts/divider/divider.js +54 -0
- package/dist/layouts/divider/divider.js.map +1 -0
- package/dist/layouts/draggable_list/draggable_list.d.ts +2 -0
- package/dist/layouts/draggable_list/draggable_list.d.ts.map +1 -0
- package/dist/layouts/draggable_list/draggable_list.js +6 -0
- package/dist/layouts/draggable_list/draggable_list.js.map +1 -0
- package/dist/layouts/drawers/drawer_bottom/drawer_bottom.d.ts +7 -0
- package/dist/layouts/drawers/drawer_bottom/drawer_bottom.d.ts.map +1 -0
- package/dist/layouts/drawers/drawer_bottom/drawer_bottom.js +22 -0
- package/dist/layouts/drawers/drawer_bottom/drawer_bottom.js.map +1 -0
- package/dist/layouts/drawers/drawer_end/drawer_end.d.ts +7 -0
- package/dist/layouts/drawers/drawer_end/drawer_end.d.ts.map +1 -0
- package/dist/layouts/drawers/drawer_end/drawer_end.js +20 -0
- package/dist/layouts/drawers/drawer_end/drawer_end.js.map +1 -0
- package/dist/layouts/drawers/drawer_start/drawer_start.d.ts +7 -0
- package/dist/layouts/drawers/drawer_start/drawer_start.d.ts.map +1 -0
- package/dist/layouts/drawers/drawer_start/drawer_start.js +22 -0
- package/dist/layouts/drawers/drawer_start/drawer_start.js.map +1 -0
- package/dist/layouts/drawers/drawer_top/drawer_top.d.ts +7 -0
- package/dist/layouts/drawers/drawer_top/drawer_top.d.ts.map +1 -0
- package/dist/layouts/drawers/drawer_top/drawer_top.js +20 -0
- package/dist/layouts/drawers/drawer_top/drawer_top.js.map +1 -0
- package/dist/layouts/footer/footer.d.ts +10 -0
- package/dist/layouts/footer/footer.d.ts.map +1 -0
- package/dist/layouts/footer/footer.js +22 -0
- package/dist/layouts/footer/footer.js.map +1 -0
- package/dist/layouts/grid/grid.d.ts +29 -0
- package/dist/layouts/grid/grid.d.ts.map +1 -0
- package/dist/layouts/grid/grid.js +78 -0
- package/dist/layouts/grid/grid.js.map +1 -0
- package/dist/layouts/header/header.d.ts +9 -0
- package/dist/layouts/header/header.d.ts.map +1 -0
- package/dist/layouts/header/header.js +30 -0
- package/dist/layouts/header/header.js.map +1 -0
- package/dist/layouts/index.d.ts +15 -0
- package/dist/layouts/index.d.ts.map +1 -0
- package/dist/layouts/index.js +31 -0
- package/dist/layouts/index.js.map +1 -0
- package/dist/layouts/list/item.d.ts +7 -0
- package/dist/layouts/list/item.d.ts.map +1 -0
- package/dist/layouts/list/item.js +11 -0
- package/dist/layouts/list/item.js.map +1 -0
- package/dist/layouts/list/list.d.ts +7 -0
- package/dist/layouts/list/list.d.ts.map +1 -0
- package/dist/layouts/list/list.js +20 -0
- package/dist/layouts/list/list.js.map +1 -0
- package/dist/layouts/list/section_header.d.ts +6 -0
- package/dist/layouts/list/section_header.d.ts.map +1 -0
- package/dist/layouts/list/section_header.js +12 -0
- package/dist/layouts/list/section_header.js.map +1 -0
- package/dist/layouts/sidebar_end/sidebar_end.d.ts +11 -0
- package/dist/layouts/sidebar_end/sidebar_end.d.ts.map +1 -0
- package/dist/layouts/sidebar_end/sidebar_end.js +58 -0
- package/dist/layouts/sidebar_end/sidebar_end.js.map +1 -0
- package/dist/layouts/sidebar_start/sidebar_start.d.ts +11 -0
- package/dist/layouts/sidebar_start/sidebar_start.d.ts.map +1 -0
- package/dist/layouts/sidebar_start/sidebar_start.js +55 -0
- package/dist/layouts/sidebar_start/sidebar_start.js.map +1 -0
- package/dist/layouts/utility_bar/utility_bar.d.ts +9 -0
- package/dist/layouts/utility_bar/utility_bar.d.ts.map +1 -0
- package/dist/layouts/utility_bar/utility_bar.js +32 -0
- package/dist/layouts/utility_bar/utility_bar.js.map +1 -0
- package/dist/left_resize_handle.css +1 -0
- package/dist/loading.css +1 -0
- package/dist/menu.css +1 -0
- package/dist/modal.css +1 -0
- package/dist/multi_combo_box.css +1 -0
- package/dist/multiselect.css +1 -0
- package/dist/multiselect_values.css +1 -0
- package/dist/multiselect_values.module-BMJOyYHe.js +5 -0
- package/dist/multiselect_values.module-BMJOyYHe.js.map +1 -0
- package/dist/overlay/context_menu/context_menu.d.ts +10 -0
- package/dist/overlay/context_menu/context_menu.d.ts.map +1 -0
- package/dist/overlay/context_menu/context_menu.js +45 -0
- package/dist/overlay/context_menu/context_menu.js.map +1 -0
- package/dist/overlay/menu/menu.d.ts +29 -0
- package/dist/overlay/menu/menu.d.ts.map +1 -0
- package/dist/overlay/menu/menu.js +165 -0
- package/dist/overlay/menu/menu.js.map +1 -0
- package/dist/overlay/popper/popper.d.ts +22 -0
- package/dist/overlay/popper/popper.d.ts.map +1 -0
- package/dist/overlay/popper/popper.js +111 -0
- package/dist/overlay/popper/popper.js.map +1 -0
- package/dist/overlay/portal/portal.css +1 -0
- package/dist/overlay/portal/portal.d.ts +7 -0
- package/dist/overlay/portal/portal.d.ts.map +1 -0
- package/dist/overlay/portal/portal_platform.d.ts +27 -0
- package/dist/overlay/portal/portal_platform.d.ts.map +1 -0
- package/dist/overlay/portal/portal_platform.js +70 -0
- package/dist/overlay/portal/portal_platform.js.map +1 -0
- package/dist/overlay/portal/portal_platform_context.d.ts +6 -0
- package/dist/overlay/portal/portal_platform_context.d.ts.map +1 -0
- package/dist/overlay/portal/portal_platform_context.js +12 -0
- package/dist/overlay/portal/portal_platform_context.js.map +1 -0
- package/dist/overlay/tooltip/tooltip.d.ts +7 -0
- package/dist/overlay/tooltip/tooltip.d.ts.map +1 -0
- package/dist/overlay/tooltip/tooltip.js +20 -0
- package/dist/overlay/tooltip/tooltip.js.map +1 -0
- package/dist/page.css +1 -0
- package/dist/page.module-DXhph-u6.js +5 -0
- package/dist/page.module-DXhph-u6.js.map +1 -0
- package/dist/panel.css +1 -0
- package/dist/panel.module-CtikcmYB.js +5 -0
- package/dist/panel.module-CtikcmYB.js.map +1 -0
- package/dist/phone_number_input.css +1 -0
- package/dist/picture_placeholder.css +1 -0
- package/dist/popper.css +1 -0
- package/dist/portal-qqIp4SIl.js +12 -0
- package/dist/portal-qqIp4SIl.js.map +1 -0
- package/dist/progress_bar.css +1 -0
- package/dist/radio.css +1 -0
- package/dist/rect.css +1 -0
- package/dist/right_resize_handle.css +1 -0
- package/dist/select.css +1 -0
- package/dist/select_group.css +1 -0
- package/dist/sidebar_end.css +1 -0
- package/dist/sidebar_start.css +1 -0
- package/dist/slider.css +1 -0
- package/dist/slim_button.css +1 -0
- package/dist/stack.css +1 -0
- package/dist/stack.module-CBV1f12Z.js +5 -0
- package/dist/stack.module-CBV1f12Z.js.map +1 -0
- package/dist/stacks/box/bottom_resize_handle.d.ts +10 -0
- package/dist/stacks/box/bottom_resize_handle.d.ts.map +1 -0
- package/dist/stacks/box/bottom_resize_handle.js +33 -0
- package/dist/stacks/box/bottom_resize_handle.js.map +1 -0
- package/dist/stacks/box/box.d.ts +42 -0
- package/dist/stacks/box/box.d.ts.map +1 -0
- package/dist/stacks/box/box.js +168 -0
- package/dist/stacks/box/box.js.map +1 -0
- package/dist/stacks/box/end_resize_handle.d.ts +10 -0
- package/dist/stacks/box/end_resize_handle.d.ts.map +1 -0
- package/dist/stacks/box/end_resize_handle.js +33 -0
- package/dist/stacks/box/end_resize_handle.js.map +1 -0
- package/dist/stacks/box/handle_props.d.ts +7 -0
- package/dist/stacks/box/handle_props.d.ts.map +1 -0
- package/dist/stacks/box/handle_props.js +2 -0
- package/dist/stacks/box/handle_props.js.map +1 -0
- package/dist/stacks/box/left_resize_handle.d.ts +10 -0
- package/dist/stacks/box/left_resize_handle.d.ts.map +1 -0
- package/dist/stacks/box/left_resize_handle.js +35 -0
- package/dist/stacks/box/left_resize_handle.js.map +1 -0
- package/dist/stacks/box/resize_handlers.d.ts +3 -0
- package/dist/stacks/box/resize_handlers.d.ts.map +1 -0
- package/dist/stacks/box/resize_handlers.js +50 -0
- package/dist/stacks/box/resize_handlers.js.map +1 -0
- package/dist/stacks/box/right_resize_handle.d.ts +10 -0
- package/dist/stacks/box/right_resize_handle.d.ts.map +1 -0
- package/dist/stacks/box/right_resize_handle.js +35 -0
- package/dist/stacks/box/right_resize_handle.js.map +1 -0
- package/dist/stacks/box/start_resize_handle.d.ts +10 -0
- package/dist/stacks/box/start_resize_handle.d.ts.map +1 -0
- package/dist/stacks/box/start_resize_handle.js +34 -0
- package/dist/stacks/box/start_resize_handle.js.map +1 -0
- package/dist/stacks/box/top_resize_handle.d.ts +10 -0
- package/dist/stacks/box/top_resize_handle.d.ts.map +1 -0
- package/dist/stacks/box/top_resize_handle.js +34 -0
- package/dist/stacks/box/top_resize_handle.js.map +1 -0
- package/dist/stacks/h_collapsible_box.d.ts +8 -0
- package/dist/stacks/h_collapsible_box.d.ts.map +1 -0
- package/dist/stacks/h_collapsible_box.js +40 -0
- package/dist/stacks/h_collapsible_box.js.map +1 -0
- package/dist/stacks/h_stack.d.ts +10 -0
- package/dist/stacks/h_stack.d.ts.map +1 -0
- package/dist/stacks/h_stack.js +101 -0
- package/dist/stacks/h_stack.js.map +1 -0
- package/dist/stacks/index.d.ts +12 -0
- package/dist/stacks/index.d.ts.map +1 -0
- package/dist/stacks/index.js +17 -0
- package/dist/stacks/index.js.map +1 -0
- package/dist/stacks/spacer.d.ts +12 -0
- package/dist/stacks/spacer.d.ts.map +1 -0
- package/dist/stacks/spacer.js +37 -0
- package/dist/stacks/spacer.js.map +1 -0
- package/dist/stacks/story_components/circle.d.ts +8 -0
- package/dist/stacks/story_components/circle.d.ts.map +1 -0
- package/dist/stacks/story_components/circle.js +25 -0
- package/dist/stacks/story_components/circle.js.map +1 -0
- package/dist/stacks/story_components/horizontal_border.d.ts +5 -0
- package/dist/stacks/story_components/horizontal_border.d.ts.map +1 -0
- package/dist/stacks/story_components/horizontal_border.js +18 -0
- package/dist/stacks/story_components/horizontal_border.js.map +1 -0
- package/dist/stacks/story_components/picture_placeholder.d.ts +7 -0
- package/dist/stacks/story_components/picture_placeholder.d.ts.map +1 -0
- package/dist/stacks/story_components/picture_placeholder.js +39 -0
- package/dist/stacks/story_components/picture_placeholder.js.map +1 -0
- package/dist/stacks/story_components/rect.d.ts +7 -0
- package/dist/stacks/story_components/rect.d.ts.map +1 -0
- package/dist/stacks/story_components/rect.js +32 -0
- package/dist/stacks/story_components/rect.js.map +1 -0
- package/dist/stacks/story_components/style_box.d.ts +5 -0
- package/dist/stacks/story_components/style_box.d.ts.map +1 -0
- package/dist/stacks/story_components/style_box.js +12 -0
- package/dist/stacks/story_components/style_box.js.map +1 -0
- package/dist/stacks/types/alignment.d.ts +2 -0
- package/dist/stacks/types/alignment.d.ts.map +1 -0
- package/dist/stacks/types/as.d.ts +5 -0
- package/dist/stacks/types/as.d.ts.map +1 -0
- package/dist/stacks/types/common.d.ts +5 -0
- package/dist/stacks/types/common.d.ts.map +1 -0
- package/dist/stacks/types/styles.d.ts +42 -0
- package/dist/stacks/types/styles.d.ts.map +1 -0
- package/dist/stacks/utils/extract_style_props.d.ts +10 -0
- package/dist/stacks/utils/extract_style_props.d.ts.map +1 -0
- package/dist/stacks/utils/extract_style_props.js +297 -0
- package/dist/stacks/utils/extract_style_props.js.map +1 -0
- package/dist/stacks/utils/isCustomSizeProp.d.ts +2 -0
- package/dist/stacks/utils/isCustomSizeProp.d.ts.map +1 -0
- package/dist/stacks/utils/isCustomSizeProp.js +7 -0
- package/dist/stacks/utils/isCustomSizeProp.js.map +1 -0
- package/dist/stacks/utils/remove_undefined_properties.d.ts +2 -0
- package/dist/stacks/utils/remove_undefined_properties.d.ts.map +1 -0
- package/dist/stacks/utils/remove_undefined_properties.js +10 -0
- package/dist/stacks/utils/remove_undefined_properties.js.map +1 -0
- package/dist/stacks/utils/use_is_collapsed.d.ts +3 -0
- package/dist/stacks/utils/use_is_collapsed.d.ts.map +1 -0
- package/dist/stacks/utils/use_is_collapsed.js +22 -0
- package/dist/stacks/utils/use_is_collapsed.js.map +1 -0
- package/dist/stacks/v_collapsible_box.d.ts +8 -0
- package/dist/stacks/v_collapsible_box.d.ts.map +1 -0
- package/dist/stacks/v_collapsible_box.js +40 -0
- package/dist/stacks/v_collapsible_box.js.map +1 -0
- package/dist/stacks/v_stack.d.ts +10 -0
- package/dist/stacks/v_stack.d.ts.map +1 -0
- package/dist/stacks/v_stack.js +102 -0
- package/dist/stacks/v_stack.js.map +1 -0
- package/dist/stacks/z_stack.d.ts +12 -0
- package/dist/stacks/z_stack.d.ts.map +1 -0
- package/dist/stacks/z_stack.js +89 -0
- package/dist/stacks/z_stack.js.map +1 -0
- package/dist/start_resize_handle.css +1 -0
- package/dist/status_input.css +1 -0
- package/dist/subheadline.css +1 -0
- package/dist/subheadline.module-C-v7zMkQ.js +5 -0
- package/dist/subheadline.module-C-v7zMkQ.js.map +1 -0
- package/dist/suggestion_item.css +1 -0
- package/dist/suggestion_list.css +1 -0
- package/dist/surfaces/alert/alert.d.ts +11 -0
- package/dist/surfaces/alert/alert.d.ts.map +1 -0
- package/dist/surfaces/alert/alert.js +25 -0
- package/dist/surfaces/alert/alert.js.map +1 -0
- package/dist/surfaces/card/card.d.ts +7 -0
- package/dist/surfaces/card/card.d.ts.map +1 -0
- package/dist/surfaces/card/card.js +20 -0
- package/dist/surfaces/card/card.js.map +1 -0
- package/dist/surfaces/confirm/confirm.d.ts +12 -0
- package/dist/surfaces/confirm/confirm.d.ts.map +1 -0
- package/dist/surfaces/confirm/confirm.js +70 -0
- package/dist/surfaces/confirm/confirm.js.map +1 -0
- package/dist/surfaces/index.d.ts +11 -0
- package/dist/surfaces/index.d.ts.map +1 -0
- package/dist/surfaces/index.js +23 -0
- package/dist/surfaces/index.js.map +1 -0
- package/dist/surfaces/modal/modal.d.ts +7 -0
- package/dist/surfaces/modal/modal.d.ts.map +1 -0
- package/dist/surfaces/modal/modal.js +11 -0
- package/dist/surfaces/modal/modal.js.map +1 -0
- package/dist/surfaces/page/h_page.d.ts +6 -0
- package/dist/surfaces/page/h_page.d.ts.map +1 -0
- package/dist/surfaces/page/h_page.js +22 -0
- package/dist/surfaces/page/h_page.js.map +1 -0
- package/dist/surfaces/page/v_page.d.ts +6 -0
- package/dist/surfaces/page/v_page.d.ts.map +1 -0
- package/dist/surfaces/page/v_page.js +21 -0
- package/dist/surfaces/page/v_page.js.map +1 -0
- package/dist/surfaces/panel/h_panel.d.ts +9 -0
- package/dist/surfaces/panel/h_panel.d.ts.map +1 -0
- package/dist/surfaces/panel/h_panel.js +56 -0
- package/dist/surfaces/panel/h_panel.js.map +1 -0
- package/dist/surfaces/panel/v_panel.d.ts +9 -0
- package/dist/surfaces/panel/v_panel.d.ts.map +1 -0
- package/dist/surfaces/panel/v_panel.js +56 -0
- package/dist/surfaces/panel/v_panel.js.map +1 -0
- package/dist/surfaces/popover/popover.d.ts +6 -0
- package/dist/surfaces/popover/popover.d.ts.map +1 -0
- package/dist/surfaces/popover/popover.js +52 -0
- package/dist/surfaces/popover/popover.js.map +1 -0
- package/dist/surfaces/window/window.d.ts +5 -0
- package/dist/surfaces/window/window.d.ts.map +1 -0
- package/dist/surfaces/window/window.js +19 -0
- package/dist/surfaces/window/window.js.map +1 -0
- package/dist/switch.css +1 -0
- package/dist/textarea.css +1 -0
- package/dist/themes/index.d.ts +6 -0
- package/dist/themes/index.d.ts.map +1 -0
- package/dist/themes/index.js +343 -0
- package/dist/themes/index.js.map +1 -0
- package/dist/themes/stories/button_showcase.d.ts +2 -0
- package/dist/themes/stories/button_showcase.d.ts.map +1 -0
- package/dist/themes/stories/controls_fieldset.d.ts +2 -0
- package/dist/themes/stories/controls_fieldset.d.ts.map +1 -0
- package/dist/themes/stories/menu_showcase.d.ts +2 -0
- package/dist/themes/stories/menu_showcase.d.ts.map +1 -0
- package/dist/themes/stylesheets/reset.css +1 -0
- package/dist/themes/stylesheets/reset.d.ts +2 -0
- package/dist/themes/stylesheets/reset.d.ts.map +1 -0
- package/dist/themes/theme.d.ts +7 -0
- package/dist/themes/theme.d.ts.map +1 -0
- package/dist/themes/theme.js +10 -0
- package/dist/themes/theme.js.map +1 -0
- package/dist/themes/theme_variables.d.ts +66 -0
- package/dist/themes/theme_variables.d.ts.map +1 -0
- package/dist/themes/theme_variables.js +69 -0
- package/dist/themes/theme_variables.js.map +1 -0
- package/dist/themes/themes/ergo/ergo_theme.css +1 -0
- package/dist/themes/themes/ergo/ergo_theme.d.ts +2 -0
- package/dist/themes/themes/ergo/ergo_theme.d.ts.map +1 -0
- package/dist/themes/themes/windows_98/windows_98.css +1 -0
- package/dist/themes/themes/windows_98/windows_98_theme.d.ts +2 -0
- package/dist/themes/themes/windows_98/windows_98_theme.d.ts.map +1 -0
- package/dist/themes/themes/windows_98/windows_98_theme.js +1171 -0
- package/dist/themes/themes/windows_98/windows_98_theme.js.map +1 -0
- package/dist/title.css +1 -0
- package/dist/title.module-B16de2jd.js +5 -0
- package/dist/title.module-B16de2jd.js.map +1 -0
- package/dist/tokens/badge/badge.d.ts +8 -0
- package/dist/tokens/badge/badge.d.ts.map +1 -0
- package/dist/tokens/badge/badge.js +50 -0
- package/dist/tokens/badge/badge.js.map +1 -0
- package/dist/tokens/bubble/bubble.d.ts +11 -0
- package/dist/tokens/bubble/bubble.d.ts.map +1 -0
- package/dist/tokens/bubble/bubble.js +44 -0
- package/dist/tokens/bubble/bubble.js.map +1 -0
- package/dist/tokens/chip/chip.d.ts +9 -0
- package/dist/tokens/chip/chip.d.ts.map +1 -0
- package/dist/tokens/chip/chip.js +30 -0
- package/dist/tokens/chip/chip.js.map +1 -0
- package/dist/tokens/index.d.ts +4 -0
- package/dist/tokens/index.d.ts.map +1 -0
- package/dist/tokens/index.js +9 -0
- package/dist/tokens/index.js.map +1 -0
- package/dist/tooltip.css +1 -0
- package/dist/top_resize_handle.css +1 -0
- package/dist/typography/body_text/body_text.d.ts +18 -0
- package/dist/typography/body_text/body_text.d.ts.map +1 -0
- package/dist/typography/body_text/body_text.js +37 -0
- package/dist/typography/body_text/body_text.js.map +1 -0
- package/dist/typography/callout/callout.d.ts +18 -0
- package/dist/typography/callout/callout.d.ts.map +1 -0
- package/dist/typography/callout/callout.js +35 -0
- package/dist/typography/callout/callout.js.map +1 -0
- package/dist/typography/caption/caption.d.ts +18 -0
- package/dist/typography/caption/caption.d.ts.map +1 -0
- package/dist/typography/caption/caption.js +35 -0
- package/dist/typography/caption/caption.js.map +1 -0
- package/dist/typography/footnote/footnote.d.ts +18 -0
- package/dist/typography/footnote/footnote.d.ts.map +1 -0
- package/dist/typography/footnote/footnote.js +35 -0
- package/dist/typography/footnote/footnote.js.map +1 -0
- package/dist/typography/headline/headline.d.ts +18 -0
- package/dist/typography/headline/headline.d.ts.map +1 -0
- package/dist/typography/headline/headline.js +36 -0
- package/dist/typography/headline/headline.js.map +1 -0
- package/dist/typography/index.d.ts +8 -0
- package/dist/typography/index.d.ts.map +1 -0
- package/dist/typography/index.js +17 -0
- package/dist/typography/index.js.map +1 -0
- package/dist/typography/subheadline/subheadline.d.ts +18 -0
- package/dist/typography/subheadline/subheadline.d.ts.map +1 -0
- package/dist/typography/subheadline/subheadline.js +36 -0
- package/dist/typography/subheadline/subheadline.js.map +1 -0
- package/dist/typography/title/title.d.ts +19 -0
- package/dist/typography/title/title.d.ts.map +1 -0
- package/dist/typography/title/title.js +37 -0
- package/dist/typography/title/title.js.map +1 -0
- package/dist/unit_input.css +1 -0
- package/dist/utility_bar.css +1 -0
- package/dist/utils/calendar/calendar_date.d.ts +10 -0
- package/dist/utils/calendar/calendar_date.d.ts.map +1 -0
- package/dist/utils/calendar/calendar_date.js +2 -0
- package/dist/utils/calendar/calendar_date.js.map +1 -0
- package/dist/utils/calendar/calendar_dates_generator.d.ts +10 -0
- package/dist/utils/calendar/calendar_dates_generator.d.ts.map +1 -0
- package/dist/utils/calendar/calendar_dates_generator.js +37 -0
- package/dist/utils/calendar/calendar_dates_generator.js.map +1 -0
- package/dist/utils/calendar/get_days_of_week.d.ts +2 -0
- package/dist/utils/calendar/get_days_of_week.d.ts.map +1 -0
- package/dist/utils/calendar/get_days_of_week.js +12 -0
- package/dist/utils/calendar/get_days_of_week.js.map +1 -0
- package/dist/utils/calendar/get_months_of_year.d.ts +2 -0
- package/dist/utils/calendar/get_months_of_year.d.ts.map +1 -0
- package/dist/utils/calendar/get_months_of_year.js +18 -0
- package/dist/utils/calendar/get_months_of_year.js.map +1 -0
- package/dist/utils/calendar/month.d.ts +16 -0
- package/dist/utils/calendar/month.d.ts.map +1 -0
- package/dist/utils/calendar/month.js +18 -0
- package/dist/utils/calendar/month.js.map +1 -0
- package/dist/utils/click_away_listener.d.ts +11 -0
- package/dist/utils/click_away_listener.d.ts.map +1 -0
- package/dist/utils/click_away_listener.js +58 -0
- package/dist/utils/click_away_listener.js.map +1 -0
- package/dist/utils/default_value.d.ts +2 -0
- package/dist/utils/default_value.d.ts.map +1 -0
- package/dist/utils/default_value.js +7 -0
- package/dist/utils/default_value.js.map +1 -0
- package/dist/utils/focus_redirect.d.ts +6 -0
- package/dist/utils/focus_redirect.d.ts.map +1 -0
- package/dist/utils/focus_redirect.js +24 -0
- package/dist/utils/focus_redirect.js.map +1 -0
- package/dist/utils/hooks/make_context_hook.d.ts +5 -0
- package/dist/utils/hooks/make_context_hook.d.ts.map +1 -0
- package/dist/utils/hooks/make_context_hook.js +11 -0
- package/dist/utils/hooks/make_context_hook.js.map +1 -0
- package/dist/utils/hooks/use_draggable.d.ts +8 -0
- package/dist/utils/hooks/use_draggable.d.ts.map +1 -0
- package/dist/utils/hooks/use_draggable.js +30 -0
- package/dist/utils/hooks/use_draggable.js.map +1 -0
- package/dist/utils/hooks/use_fork_ref.d.ts +3 -0
- package/dist/utils/hooks/use_fork_ref.d.ts.map +1 -0
- package/dist/utils/hooks/use_fork_ref.js +12 -0
- package/dist/utils/hooks/use_fork_ref.js.map +1 -0
- package/dist/utils/hooks/use_media_query.d.ts +9 -0
- package/dist/utils/hooks/use_media_query.d.ts.map +1 -0
- package/dist/utils/hooks/use_media_query.js +16 -0
- package/dist/utils/hooks/use_media_query.js.map +1 -0
- package/dist/utils/hooks/use_resize_observer.d.ts +9 -0
- package/dist/utils/hooks/use_resize_observer.d.ts.map +1 -0
- package/dist/utils/hooks/use_resize_observer.js +78 -0
- package/dist/utils/hooks/use_resize_observer.js.map +1 -0
- package/dist/utils/index.d.ts +17 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +30 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/responsive/responsive_renderer.d.ts +21 -0
- package/dist/utils/responsive/responsive_renderer.d.ts.map +1 -0
- package/dist/utils/responsive/responsive_renderer.js +12 -0
- package/dist/utils/responsive/responsive_renderer.js.map +1 -0
- package/dist/utils/scroll_away_listener.d.ts +18 -0
- package/dist/utils/scroll_away_listener.d.ts.map +1 -0
- package/dist/utils/scroll_away_listener.js +23 -0
- package/dist/utils/scroll_away_listener.js.map +1 -0
- package/dist/utils/types/dimensions.d.ts +15 -0
- package/dist/utils/types/dimensions.d.ts.map +1 -0
- package/dist/utils/types/variations.d.ts +5 -0
- package/dist/utils/types/variations.d.ts.map +1 -0
- package/dist/v_field.css +0 -0
- package/dist/window.css +1 -0
- package/package.json +136 -0
- package/src/actions/button/__stories__/button.stories.tsx +159 -0
- package/src/actions/button/__stories__/button_group.stories.tsx +106 -0
- package/src/actions/button/__stories__/select_group.stories.tsx +156 -0
- package/src/actions/button/__stories__/slim_button.stories.tsx +274 -0
- package/src/actions/button/base_button/base_button.module.css +15 -0
- package/src/actions/button/base_button/base_button.tsx +81 -0
- package/src/actions/button/button/button.module.css +129 -0
- package/src/actions/button/button/button.tsx +21 -0
- package/src/actions/button/button_group/button_group.module.css +67 -0
- package/src/actions/button/button_group/button_group.tsx +69 -0
- package/src/actions/button/select_group/select_group.module.css +67 -0
- package/src/actions/button/select_group/select_group.tsx +78 -0
- package/src/actions/button/select_group/single_select_group.tsx +48 -0
- package/src/actions/button/slim_button/slim_button.module.css +33 -0
- package/src/actions/button/slim_button/slim_button.tsx +18 -0
- package/src/actions/index.ts +19 -0
- package/src/feedback/index.ts +3 -0
- package/src/feedback/lazy/lazy.stories.tsx +56 -0
- package/src/feedback/lazy/lazy.tsx +53 -0
- package/src/feedback/loading/__storybook__/loading.stories.tsx +81 -0
- package/src/feedback/loading/__storybook__/storybook_custom_lines.module.css +3 -0
- package/src/feedback/loading/loading.module.css +20 -0
- package/src/feedback/loading/loading.tsx +71 -0
- package/src/feedback/progress/progress_bar.module.css +59 -0
- package/src/feedback/progress/progress_bar.stories.tsx +48 -0
- package/src/feedback/progress/progress_bar.tsx +43 -0
- package/src/feedback/storybook.module.css +5 -0
- package/src/form/field/common/field_control/field_control.module.css +20 -0
- package/src/form/field/common/field_control/field_control.tsx +53 -0
- package/src/form/field/common/field_description.tsx +26 -0
- package/src/form/field/common/field_error.tsx +37 -0
- package/src/form/field/common/field_header.tsx +40 -0
- package/src/form/field/common/field_label.tsx +38 -0
- package/src/form/field/common/status_input/status_input.module.css +10 -0
- package/src/form/field/common/status_input/status_input.tsx +84 -0
- package/src/form/field/common/types.ts +9 -0
- package/src/form/field/field.stories.tsx +131 -0
- package/src/form/field/field.tsx +37 -0
- package/src/form/field/form_field.tsx +29 -0
- package/src/form/field/h_field/h_field.module.css +6 -0
- package/src/form/field/h_field/h_field.stories.tsx +90 -0
- package/src/form/field/h_field/h_field.tsx +70 -0
- package/src/form/field/v_field/v_field.module.css +0 -0
- package/src/form/field/v_field/v_field.stories.tsx +90 -0
- package/src/form/field/v_field/v_field.tsx +74 -0
- package/src/form/field_presenters/field_presenter.ts +162 -0
- package/src/form/field_presenters/options_field_presenter.ts +36 -0
- package/src/form/field_set/field_set.module.css +17 -0
- package/src/form/field_set/field_set.stories.tsx +102 -0
- package/src/form/field_set/field_set.tsx +65 -0
- package/src/form/form_field.tsx +29 -0
- package/src/form/index.ts +5 -0
- package/src/inputs/__storybook__/stories.module.css +5 -0
- package/src/inputs/checkbox/checkbox.module.css +51 -0
- package/src/inputs/checkbox/checkbox.stories.tsx +48 -0
- package/src/inputs/checkbox/checkbox.tsx +43 -0
- package/src/inputs/checkbox/checkbox_row.tsx +29 -0
- package/src/inputs/color_input/color_input.module.css +62 -0
- package/src/inputs/color_input/color_input.stories.tsx +39 -0
- package/src/inputs/color_input/color_input.tsx +153 -0
- package/src/inputs/color_input/color_picker.module.css +13 -0
- package/src/inputs/color_input/color_picker.tsx +41 -0
- package/src/inputs/combo_box/combo_box.stories.tsx +93 -0
- package/src/inputs/combo_box/combo_box.tsx +153 -0
- package/src/inputs/date_picker/date_picker.module.css +20 -0
- package/src/inputs/date_picker/date_picker.stories.tsx +126 -0
- package/src/inputs/date_picker/date_picker.tsx +170 -0
- package/src/inputs/date_picker/date_picker_body.tsx +53 -0
- package/src/inputs/date_picker/date_picker_date.module.css +78 -0
- package/src/inputs/date_picker/date_picker_date.tsx +99 -0
- package/src/inputs/date_picker/date_picker_day.module.css +4 -0
- package/src/inputs/date_picker/date_picker_day.tsx +29 -0
- package/src/inputs/date_picker/date_picker_header.module.css +3 -0
- package/src/inputs/date_picker/date_picker_header.tsx +98 -0
- package/src/inputs/date_picker/date_picker_input.module.css +61 -0
- package/src/inputs/date_picker/date_picker_input.stories.tsx +108 -0
- package/src/inputs/date_picker/date_picker_input.tsx +180 -0
- package/src/inputs/date_picker/date_picker_presenter.ts +426 -0
- package/src/inputs/date_picker/date_picker_time_selector.module.css +33 -0
- package/src/inputs/date_picker/date_picker_time_selector.tsx +112 -0
- package/src/inputs/date_picker/date_picker_year_input.module.css +49 -0
- package/src/inputs/date_picker/date_picker_year_input.tsx +51 -0
- package/src/inputs/date_picker/date_picker_year_selector.module.css +51 -0
- package/src/inputs/date_picker/date_picker_year_selector.tsx +130 -0
- package/src/inputs/index.ts +60 -0
- package/src/inputs/input/input.module.css +80 -0
- package/src/inputs/input/input.stories.tsx +129 -0
- package/src/inputs/input/input.tsx +36 -0
- package/src/inputs/mask_input/__tests__/mask_presenter.test.ts +131 -0
- package/src/inputs/mask_input/alpha_character.ts +13 -0
- package/src/inputs/mask_input/alpha_numeric_character.ts +13 -0
- package/src/inputs/mask_input/character.ts +31 -0
- package/src/inputs/mask_input/constant_character.ts +46 -0
- package/src/inputs/mask_input/key_capture_input.stories.tsx +69 -0
- package/src/inputs/mask_input/key_capture_input.tsx +144 -0
- package/src/inputs/mask_input/language_character.ts +13 -0
- package/src/inputs/mask_input/mask.ts +309 -0
- package/src/inputs/mask_input/mask_config.ts +25 -0
- package/src/inputs/mask_input/mask_cursor.ts +23 -0
- package/src/inputs/mask_input/mask_input.stories.tsx +63 -0
- package/src/inputs/mask_input/mask_input.tsx +246 -0
- package/src/inputs/mask_input/mask_presenter.ts +306 -0
- package/src/inputs/mask_input/numeric_character.ts +13 -0
- package/src/inputs/mask_input/regex_character.ts +62 -0
- package/src/inputs/multi_combo_box/multi_combo_box.module.css +3 -0
- package/src/inputs/multi_combo_box/multi_combo_box.stories.tsx +71 -0
- package/src/inputs/multi_combo_box/multi_combo_box.tsx +133 -0
- package/src/inputs/multiselect/multiselect.module.css +3 -0
- package/src/inputs/multiselect/multiselect.tsx +133 -0
- package/src/inputs/multiselect/multiselect_inline_values.tsx +49 -0
- package/src/inputs/multiselect/multiselect_row.tsx +57 -0
- package/src/inputs/multiselect/multiselect_values.module.css +31 -0
- package/src/inputs/multiselect/multiselect_values.tsx +63 -0
- package/src/inputs/multiselect/mutliselect.stories.tsx +112 -0
- package/src/inputs/options/option.tsx +23 -0
- package/src/inputs/options/utils.ts +18 -0
- package/src/inputs/phone_number_input/__tests__/utils.test.ts +52 -0
- package/src/inputs/phone_number_input/countries_phone_information.ts +846 -0
- package/src/inputs/phone_number_input/phone_number_input.module.css +50 -0
- package/src/inputs/phone_number_input/phone_number_input.stories.tsx +119 -0
- package/src/inputs/phone_number_input/phone_number_input.tsx +329 -0
- package/src/inputs/phone_number_input/utils.ts +7 -0
- package/src/inputs/radio/radio.module.css +87 -0
- package/src/inputs/radio/radio.stories.tsx +20 -0
- package/src/inputs/radio/radio.tsx +68 -0
- package/src/inputs/radio/radio_row.tsx +45 -0
- package/src/inputs/select/select.module.css +66 -0
- package/src/inputs/select/select.stories.tsx +173 -0
- package/src/inputs/select/select.tsx +160 -0
- package/src/inputs/slider/slider.module.css +150 -0
- package/src/inputs/slider/slider.stories.tsx +52 -0
- package/src/inputs/slider/slider.tsx +57 -0
- package/src/inputs/slider/slider_row.tsx +33 -0
- package/src/inputs/suggestions/suggestion_item.module.css +54 -0
- package/src/inputs/suggestions/suggestion_item.tsx +53 -0
- package/src/inputs/suggestions/suggestion_list.module.css +29 -0
- package/src/inputs/suggestions/suggestion_list.stories.tsx +348 -0
- package/src/inputs/suggestions/suggestion_list.tsx +411 -0
- package/src/inputs/switch/TODO.md +3 -0
- package/src/inputs/switch/switch.module.css +110 -0
- package/src/inputs/switch/switch.stories.tsx +63 -0
- package/src/inputs/switch/switch.tsx +82 -0
- package/src/inputs/switch/switch_row.tsx +33 -0
- package/src/inputs/textarea/textarea.module.css +66 -0
- package/src/inputs/textarea/textarea.stories.tsx +44 -0
- package/src/inputs/textarea/textarea.tsx +32 -0
- package/src/inputs/textarea/textarea_row.tsx +24 -0
- package/src/inputs/unit_input/unit_input.module.css +23 -0
- package/src/inputs/unit_input/unit_input.stories.tsx +100 -0
- package/src/inputs/unit_input/unit_input.tsx +115 -0
- package/src/layouts/column/column.module.css +33 -0
- package/src/layouts/column/column.tsx +57 -0
- package/src/layouts/divider/__stories__/divider.stories.tsx +103 -0
- package/src/layouts/divider/divider.module.css +102 -0
- package/src/layouts/divider/divider.tsx +81 -0
- package/src/layouts/draggable_list/draggable_list.tsx +5 -0
- package/src/layouts/drawers/__stories__/drawers.stories.tsx +26 -0
- package/src/layouts/drawers/drawer_bottom/drawer_bottom.module.css +3 -0
- package/src/layouts/drawers/drawer_bottom/drawer_bottom.tsx +23 -0
- package/src/layouts/drawers/drawer_end/drawer_end.module.css +3 -0
- package/src/layouts/drawers/drawer_end/drawer_end.tsx +24 -0
- package/src/layouts/drawers/drawer_start/drawer_start.module.css +3 -0
- package/src/layouts/drawers/drawer_start/drawer_start.tsx +23 -0
- package/src/layouts/drawers/drawer_top/drawer_top.module.css +3 -0
- package/src/layouts/drawers/drawer_top/drawer_top.tsx +24 -0
- package/src/layouts/footer/footer.module.css +31 -0
- package/src/layouts/footer/footer.tsx +29 -0
- package/src/layouts/grid/grid.module.css +22 -0
- package/src/layouts/grid/grid.stories.tsx +260 -0
- package/src/layouts/grid/grid.tsx +120 -0
- package/src/layouts/header/header.module.css +6 -0
- package/src/layouts/header/header.tsx +37 -0
- package/src/layouts/index.ts +14 -0
- package/src/layouts/list/item.tsx +18 -0
- package/src/layouts/list/list.tsx +23 -0
- package/src/layouts/list/section_header.module.css +18 -0
- package/src/layouts/list/section_header.tsx +15 -0
- package/src/layouts/sidebar_end/sidebar_end.module.css +31 -0
- package/src/layouts/sidebar_end/sidebar_end.tsx +64 -0
- package/src/layouts/sidebar_start/sidebar_start.module.css +31 -0
- package/src/layouts/sidebar_start/sidebar_start.tsx +61 -0
- package/src/layouts/utility_bar/utility_bar.module.css +7 -0
- package/src/layouts/utility_bar/utility_bar.tsx +39 -0
- package/src/overlay/context_menu/context_menu.stories.tsx +79 -0
- package/src/overlay/context_menu/context_menu.tsx +55 -0
- package/src/overlay/menu/menu.module.css +33 -0
- package/src/overlay/menu/menu.stories.tsx +345 -0
- package/src/overlay/menu/menu.tsx +267 -0
- package/src/overlay/popper/popper.module.css +10 -0
- package/src/overlay/popper/popper.stories.tsx +431 -0
- package/src/overlay/popper/popper.tsx +218 -0
- package/src/overlay/portal/portal.css +35 -0
- package/src/overlay/portal/portal.stories.tsx +43 -0
- package/src/overlay/portal/portal.tsx +26 -0
- package/src/overlay/portal/portal_platform.tsx +120 -0
- package/src/overlay/portal/portal_platform_context.ts +11 -0
- package/src/overlay/tooltip/tooltip.module.css +3 -0
- package/src/overlay/tooltip/tooltip.stories.tsx +15 -0
- package/src/overlay/tooltip/tooltip.tsx +24 -0
- package/src/stacks/box/bottom_resize_handle.module.css +10 -0
- package/src/stacks/box/bottom_resize_handle.tsx +42 -0
- package/src/stacks/box/box.tsx +220 -0
- package/src/stacks/box/end_resize_handle.module.css +17 -0
- package/src/stacks/box/end_resize_handle.tsx +42 -0
- package/src/stacks/box/handle_props.ts +6 -0
- package/src/stacks/box/left_resize_handle.module.css +10 -0
- package/src/stacks/box/left_resize_handle.tsx +43 -0
- package/src/stacks/box/resize_handlers.ts +129 -0
- package/src/stacks/box/right_resize_handle.module.css +10 -0
- package/src/stacks/box/right_resize_handle.tsx +43 -0
- package/src/stacks/box/start_resize_handle.module.css +17 -0
- package/src/stacks/box/start_resize_handle.tsx +42 -0
- package/src/stacks/box/top_resize_handle.module.css +10 -0
- package/src/stacks/box/top_resize_handle.tsx +41 -0
- package/src/stacks/collapsible_box.module.css +37 -0
- package/src/stacks/collapsible_box.stories.tsx +66 -0
- package/src/stacks/demo.module.css +4 -0
- package/src/stacks/demo.stories.tsx +145 -0
- package/src/stacks/h_collapsible_box.tsx +48 -0
- package/src/stacks/h_stack.stories.tsx +107 -0
- package/src/stacks/h_stack.tsx +114 -0
- package/src/stacks/index.ts +11 -0
- package/src/stacks/spacer.tsx +47 -0
- package/src/stacks/stack.module.css +357 -0
- package/src/stacks/stacks.mdx +240 -0
- package/src/stacks/story_components/circle.module.css +7 -0
- package/src/stacks/story_components/circle.tsx +30 -0
- package/src/stacks/story_components/horizontal_border.tsx +15 -0
- package/src/stacks/story_components/picture_placeholder.module.css +3 -0
- package/src/stacks/story_components/picture_placeholder.tsx +42 -0
- package/src/stacks/story_components/rect.module.css +8 -0
- package/src/stacks/story_components/rect.tsx +36 -0
- package/src/stacks/story_components/style_box.tsx +19 -0
- package/src/stacks/types/alignment.ts +1 -0
- package/src/stacks/types/as.tsx +11 -0
- package/src/stacks/types/common.ts +4 -0
- package/src/stacks/types/styles.ts +44 -0
- package/src/stacks/utils/extract_style_props.ts +323 -0
- package/src/stacks/utils/isCustomSizeProp.ts +3 -0
- package/src/stacks/utils/remove_undefined_properties.ts +11 -0
- package/src/stacks/utils/use_is_collapsed.ts +33 -0
- package/src/stacks/v_collapsible_box.tsx +48 -0
- package/src/stacks/v_stack.stories.tsx +40 -0
- package/src/stacks/v_stack.tsx +118 -0
- package/src/stacks/z_stack.stories.tsx +119 -0
- package/src/stacks/z_stack.tsx +104 -0
- package/src/surfaces/alert/alert.stories.tsx +33 -0
- package/src/surfaces/alert/alert.tsx +30 -0
- package/src/surfaces/card/card.module.css +5 -0
- package/src/surfaces/card/card.tsx +24 -0
- package/src/surfaces/confirm/confirm.module.css +40 -0
- package/src/surfaces/confirm/confirm.stories.tsx +43 -0
- package/src/surfaces/confirm/confirm.tsx +91 -0
- package/src/surfaces/index.ts +10 -0
- package/src/surfaces/modal/modal.module.css +3 -0
- package/src/surfaces/modal/modal.stories.tsx +15 -0
- package/src/surfaces/modal/modal.tsx +19 -0
- package/src/surfaces/page/h_page.tsx +23 -0
- package/src/surfaces/page/page.module.css +12 -0
- package/src/surfaces/page/v_page.tsx +22 -0
- package/src/surfaces/panel/h_panel.tsx +59 -0
- package/src/surfaces/panel/panel.module.css +14 -0
- package/src/surfaces/panel/v_panel.tsx +59 -0
- package/src/surfaces/popover/popover.tsx +53 -0
- package/src/surfaces/window/window.module.css +5 -0
- package/src/surfaces/window/window.stories.tsx +15 -0
- package/src/surfaces/window/window.tsx +21 -0
- package/src/themes/index.ts +5 -0
- package/src/themes/stories/button_showcase.tsx +153 -0
- package/src/themes/stories/controls_fieldset.tsx +249 -0
- package/src/themes/stories/menu_showcase.tsx +508 -0
- package/src/themes/stories/themes.stories.tsx +35 -0
- package/src/themes/stylesheets/reset.css +134 -0
- package/src/themes/stylesheets/reset.ts +4 -0
- package/src/themes/theme.tsx +14 -0
- package/src/themes/theme_variables.ts +81 -0
- package/src/themes/themes/ergo/ergo_theme.css +194 -0
- package/src/themes/themes/ergo/ergo_theme.ts +4 -0
- package/src/themes/themes/windows_98/windows_98.css +1165 -0
- package/src/themes/themes/windows_98/windows_98_theme.ts +4 -0
- package/src/tokens/badge/badge.module.css +14 -0
- package/src/tokens/badge/badge.stories.tsx +25 -0
- package/src/tokens/badge/badge.tsx +56 -0
- package/src/tokens/bubble/bubble.module.css +11 -0
- package/src/tokens/bubble/bubble.stories.tsx +168 -0
- package/src/tokens/bubble/bubble.tsx +53 -0
- package/src/tokens/chip/chip.module.css +13 -0
- package/src/tokens/chip/chip.stories.tsx +51 -0
- package/src/tokens/chip/chip.tsx +36 -0
- package/src/tokens/index.ts +3 -0
- package/src/typography/__tests__/sanity.test.ts +7 -0
- package/src/typography/body_text/body_text.module.css +60 -0
- package/src/typography/body_text/body_text.stories.tsx +46 -0
- package/src/typography/body_text/body_text.tsx +76 -0
- package/src/typography/callout/callout.module.css +55 -0
- package/src/typography/callout/callout.stories.tsx +94 -0
- package/src/typography/callout/callout.tsx +74 -0
- package/src/typography/caption/caption.module.css +55 -0
- package/src/typography/caption/caption.stories.tsx +94 -0
- package/src/typography/caption/caption.tsx +74 -0
- package/src/typography/footnote/footnote.module.css +55 -0
- package/src/typography/footnote/footnote.stories.tsx +94 -0
- package/src/typography/footnote/footnote.tsx +74 -0
- package/src/typography/headline/headline.module.css +56 -0
- package/src/typography/headline/headline.stories.tsx +94 -0
- package/src/typography/headline/headline.tsx +84 -0
- package/src/typography/index.ts +7 -0
- package/src/typography/subheadline/subheadline.module.css +56 -0
- package/src/typography/subheadline/subheadline.stories.tsx +94 -0
- package/src/typography/subheadline/subheadline.tsx +87 -0
- package/src/typography/title/title.module.css +53 -0
- package/src/typography/title/title.stories.tsx +46 -0
- package/src/typography/title/title.tsx +88 -0
- package/src/typography/typography-showcase.stories.tsx +347 -0
- package/src/utils/__stories__/use_draggable.stories.tsx +217 -0
- package/src/utils/calendar/calendar_date.ts +10 -0
- package/src/utils/calendar/calendar_dates_generator.ts +59 -0
- package/src/utils/calendar/get_days_of_week.ts +17 -0
- package/src/utils/calendar/get_months_of_year.ts +32 -0
- package/src/utils/calendar/month.ts +16 -0
- package/src/utils/click_away_listener.stories.tsx +264 -0
- package/src/utils/click_away_listener.tsx +124 -0
- package/src/utils/default_value.test.ts +20 -0
- package/src/utils/default_value.ts +3 -0
- package/src/utils/focus_redirect.tsx +26 -0
- package/src/utils/hooks/make_context_hook.ts +17 -0
- package/src/utils/hooks/use_draggable.ts +74 -0
- package/src/utils/hooks/use_fork_ref.ts +18 -0
- package/src/utils/hooks/use_media_query.ts +32 -0
- package/src/utils/hooks/use_resize_observer.ts +148 -0
- package/src/utils/index.ts +20 -0
- package/src/utils/responsive/responsive_renderer.stories.tsx +77 -0
- package/src/utils/responsive/responsive_renderer.tsx +31 -0
- package/src/utils/scroll_away_listener.stories.tsx +293 -0
- package/src/utils/scroll_away_listener.tsx +55 -0
- package/src/utils/types/dimensions.ts +16 -0
- package/src/utils/types/variations.ts +4 -0
- package/tsconfig.json +30 -0
- package/types/css_variables.d.ts +8 -0
- package/types/file_types.d.ts +54 -0
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import { useCallback, useLayoutEffect, useRef, useState } from 'react';
|
|
2
|
+
type ResizeHandler = (
|
|
3
|
+
newWidth: number,
|
|
4
|
+
newHeight: number,
|
|
5
|
+
entry: ResizeObserverEntry
|
|
6
|
+
) => void;
|
|
7
|
+
interface Size {
|
|
8
|
+
width: number;
|
|
9
|
+
height: number;
|
|
10
|
+
}
|
|
11
|
+
export enum TriggerConfig {
|
|
12
|
+
Both = 0,
|
|
13
|
+
Width,
|
|
14
|
+
Height,
|
|
15
|
+
}
|
|
16
|
+
class ResizeObserverRegistry {
|
|
17
|
+
private _resizeObserver: ResizeObserver;
|
|
18
|
+
private _elementHandlers: WeakMap<Element, ResizeHandler[]>;
|
|
19
|
+
private _elementSizes: WeakMap<Element, Size>;
|
|
20
|
+
private _elementTriggerConfig: WeakMap<Element, TriggerConfig>;
|
|
21
|
+
constructor() {
|
|
22
|
+
this._elementHandlers = new WeakMap();
|
|
23
|
+
this._elementSizes = new WeakMap();
|
|
24
|
+
this._elementTriggerConfig = new WeakMap();
|
|
25
|
+
this._resizeObserver = new ResizeObserver(entries => {
|
|
26
|
+
requestAnimationFrame(() => {
|
|
27
|
+
for (let entry of entries) {
|
|
28
|
+
const size = this._elementSizes.get(entry.target);
|
|
29
|
+
if (size != null) {
|
|
30
|
+
const newHeight = entry.borderBoxSize[0].blockSize;
|
|
31
|
+
const newWidth = entry.borderBoxSize[0].inlineSize;
|
|
32
|
+
const triggerConfig = this._elementTriggerConfig.get(entry.target);
|
|
33
|
+
const hasHeightChanged = newHeight !== size.height;
|
|
34
|
+
const hasWidthChanged = newWidth !== size.width;
|
|
35
|
+
const hasSizeChanged = hasHeightChanged || hasWidthChanged;
|
|
36
|
+
size.width = newWidth;
|
|
37
|
+
size.height = newHeight;
|
|
38
|
+
if (hasSizeChanged) {
|
|
39
|
+
const shouldTriggerHeightChange =
|
|
40
|
+
hasHeightChanged &&
|
|
41
|
+
(triggerConfig === TriggerConfig.Both ||
|
|
42
|
+
triggerConfig === TriggerConfig.Height);
|
|
43
|
+
const shouldTriggerWidthChange =
|
|
44
|
+
hasWidthChanged &&
|
|
45
|
+
(triggerConfig === TriggerConfig.Both ||
|
|
46
|
+
triggerConfig === TriggerConfig.Width);
|
|
47
|
+
const shouldTrigger = shouldTriggerHeightChange || shouldTriggerWidthChange;
|
|
48
|
+
if (shouldTrigger) {
|
|
49
|
+
const handlers = this._elementHandlers.get(entry.target);
|
|
50
|
+
handlers?.forEach(handler => handler(newWidth, newHeight, entry));
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
register(
|
|
59
|
+
element: Element,
|
|
60
|
+
handler: ResizeHandler,
|
|
61
|
+
triggerConfig: TriggerConfig = TriggerConfig.Both
|
|
62
|
+
) {
|
|
63
|
+
this._elementSizes.set(element, {
|
|
64
|
+
width: 0,
|
|
65
|
+
height: 0,
|
|
66
|
+
});
|
|
67
|
+
this._elementTriggerConfig.set(element, triggerConfig);
|
|
68
|
+
this._resizeObserver.observe(element);
|
|
69
|
+
const handlers = this.getElementHandlers(element);
|
|
70
|
+
handlers.push(handler);
|
|
71
|
+
return () => {
|
|
72
|
+
const handlerIndex = handlers.indexOf(handler);
|
|
73
|
+
if (handlerIndex > -1) {
|
|
74
|
+
handlers.splice(handlerIndex, 1);
|
|
75
|
+
}
|
|
76
|
+
if (handlers.length <= 0) {
|
|
77
|
+
this._elementHandlers.delete(element);
|
|
78
|
+
this._elementSizes.delete(element);
|
|
79
|
+
this._elementTriggerConfig.delete(element);
|
|
80
|
+
this._resizeObserver.unobserve(element);
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
getElementHandlers(element: Element) {
|
|
85
|
+
let handlers = this._elementHandlers.get(element);
|
|
86
|
+
if (handlers == null) {
|
|
87
|
+
handlers = [];
|
|
88
|
+
this._elementHandlers.set(element, handlers);
|
|
89
|
+
}
|
|
90
|
+
return handlers as ResizeHandler[];
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
const resizeObserverRegistry = new ResizeObserverRegistry();
|
|
94
|
+
export function useResizeObserver<T extends Element>(
|
|
95
|
+
resizeHandler: ResizeHandler,
|
|
96
|
+
triggerConfig: TriggerConfig = TriggerConfig.Both
|
|
97
|
+
) {
|
|
98
|
+
const [element, setElement] = useState<T | null>(null);
|
|
99
|
+
|
|
100
|
+
const callbackRef = useCallback((newElement: T | null) => {
|
|
101
|
+
setElement(newElement);
|
|
102
|
+
}, []);
|
|
103
|
+
|
|
104
|
+
const resizeHandlerRef = useRef<ResizeHandler>(resizeHandler);
|
|
105
|
+
resizeHandlerRef.current = resizeHandler;
|
|
106
|
+
|
|
107
|
+
useLayoutEffect(() => {
|
|
108
|
+
if (element != null) {
|
|
109
|
+
const unregister = resizeObserverRegistry.register(
|
|
110
|
+
element,
|
|
111
|
+
resizeHandlerRef.current,
|
|
112
|
+
triggerConfig
|
|
113
|
+
);
|
|
114
|
+
|
|
115
|
+
const rect = element.getBoundingClientRect();
|
|
116
|
+
|
|
117
|
+
// Simulated properties
|
|
118
|
+
const simulatedEntry = {
|
|
119
|
+
target: element,
|
|
120
|
+
contentRect: rect,
|
|
121
|
+
borderBoxSize: [
|
|
122
|
+
{
|
|
123
|
+
inlineSize: rect.width,
|
|
124
|
+
blockSize: rect.height,
|
|
125
|
+
},
|
|
126
|
+
],
|
|
127
|
+
contentBoxSize: [
|
|
128
|
+
{
|
|
129
|
+
inlineSize: rect.width,
|
|
130
|
+
blockSize: rect.height,
|
|
131
|
+
},
|
|
132
|
+
],
|
|
133
|
+
devicePixelContentBoxSize: [
|
|
134
|
+
{
|
|
135
|
+
inlineSize: rect.width * window.devicePixelRatio,
|
|
136
|
+
blockSize: rect.height * window.devicePixelRatio,
|
|
137
|
+
},
|
|
138
|
+
],
|
|
139
|
+
};
|
|
140
|
+
|
|
141
|
+
resizeHandlerRef.current(rect.width, rect.height, simulatedEntry);
|
|
142
|
+
|
|
143
|
+
return unregister;
|
|
144
|
+
}
|
|
145
|
+
}, [triggerConfig, element]);
|
|
146
|
+
|
|
147
|
+
return callbackRef;
|
|
148
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export * from './focus_redirect.js';
|
|
2
|
+
export * from './click_away_listener.js';
|
|
3
|
+
export * from './scroll_away_listener.js';
|
|
4
|
+
|
|
5
|
+
export * from './hooks/make_context_hook.js';
|
|
6
|
+
export * from './hooks/use_draggable.js';
|
|
7
|
+
export * from './hooks/use_fork_ref.js';
|
|
8
|
+
export * from './hooks/use_media_query.js';
|
|
9
|
+
export * from './hooks/use_resize_observer.js';
|
|
10
|
+
|
|
11
|
+
export * from './default_value.js';
|
|
12
|
+
|
|
13
|
+
export * from './calendar/calendar_date.js';
|
|
14
|
+
export * from './calendar/calendar_dates_generator.js';
|
|
15
|
+
export * from './calendar/month.js';
|
|
16
|
+
export * from './calendar/get_months_of_year.js';
|
|
17
|
+
export * from './calendar/get_days_of_week.js';
|
|
18
|
+
|
|
19
|
+
export * from './types/variations.js';
|
|
20
|
+
export * from './types/dimensions.js';
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Meta } from '@storybook/react-vite';
|
|
3
|
+
import { BodyText } from '../../typography/index.js';
|
|
4
|
+
import { StyleBox } from '../../stacks/story_components/style_box.js';
|
|
5
|
+
import { ResponsiveRenderer } from './responsive_renderer.js';
|
|
6
|
+
|
|
7
|
+
const meta: Meta<typeof ResponsiveRenderer> = {
|
|
8
|
+
title: 'ResponsiveRenderer',
|
|
9
|
+
component: ResponsiveRenderer,
|
|
10
|
+
tags: ['autodocs'],
|
|
11
|
+
parameters: {
|
|
12
|
+
layout: 'centered',
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export default meta;
|
|
17
|
+
|
|
18
|
+
export function Default() {
|
|
19
|
+
return (
|
|
20
|
+
<ResponsiveRenderer
|
|
21
|
+
mobile={
|
|
22
|
+
<StyleBox
|
|
23
|
+
className="surface-primary"
|
|
24
|
+
padding="16px"
|
|
25
|
+
borderRadius="8px"
|
|
26
|
+
boxShadow="0 2px 4px rgba(0,0,0,0.1)"
|
|
27
|
+
>
|
|
28
|
+
<BodyText>Mobile Layout</BodyText>
|
|
29
|
+
<BodyText>This content is optimized for smaller screens</BodyText>
|
|
30
|
+
</StyleBox>
|
|
31
|
+
}
|
|
32
|
+
desktop={
|
|
33
|
+
<StyleBox
|
|
34
|
+
className="surface-primary"
|
|
35
|
+
padding="24px"
|
|
36
|
+
borderRadius="8px"
|
|
37
|
+
boxShadow="0 4px 8px rgba(0,0,0,0.1)"
|
|
38
|
+
width="400px"
|
|
39
|
+
>
|
|
40
|
+
<BodyText>Desktop Layout</BodyText>
|
|
41
|
+
<BodyText>This content is optimized for larger screens</BodyText>
|
|
42
|
+
</StyleBox>
|
|
43
|
+
}
|
|
44
|
+
/>
|
|
45
|
+
);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export function CustomBreakpoint() {
|
|
49
|
+
return (
|
|
50
|
+
<ResponsiveRenderer
|
|
51
|
+
breakpoint={1024}
|
|
52
|
+
mobile={
|
|
53
|
+
<StyleBox
|
|
54
|
+
className="surface-primary"
|
|
55
|
+
padding="16px"
|
|
56
|
+
borderRadius="8px"
|
|
57
|
+
boxShadow="0 2px 4px rgba(0,0,0,0.1)"
|
|
58
|
+
>
|
|
59
|
+
<BodyText>Tablet/Mobile Layout</BodyText>
|
|
60
|
+
<BodyText>Shows on screens smaller than 1024px</BodyText>
|
|
61
|
+
</StyleBox>
|
|
62
|
+
}
|
|
63
|
+
desktop={
|
|
64
|
+
<StyleBox
|
|
65
|
+
className="surface-primary"
|
|
66
|
+
padding="24px"
|
|
67
|
+
borderRadius="8px"
|
|
68
|
+
boxShadow="0 4px 8px rgba(0,0,0,0.1)"
|
|
69
|
+
width="400px"
|
|
70
|
+
>
|
|
71
|
+
<BodyText>Large Desktop Layout</BodyText>
|
|
72
|
+
<BodyText>Shows on screens 1024px and larger</BodyText>
|
|
73
|
+
</StyleBox>
|
|
74
|
+
}
|
|
75
|
+
/>
|
|
76
|
+
);
|
|
77
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { useMediaQuery } from '../hooks/use_media_query.js';
|
|
3
|
+
|
|
4
|
+
export interface ResponsiveRendererProps {
|
|
5
|
+
/**
|
|
6
|
+
* Component to render on mobile devices (width < 768px)
|
|
7
|
+
*/
|
|
8
|
+
mobile: React.ReactNode;
|
|
9
|
+
/**
|
|
10
|
+
* Component to render on desktop devices (width >= 768px)
|
|
11
|
+
*/
|
|
12
|
+
desktop: React.ReactNode;
|
|
13
|
+
/**
|
|
14
|
+
* Optional breakpoint in pixels. Defaults to 768px
|
|
15
|
+
*/
|
|
16
|
+
breakpoint?: number;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* A component that renders different content based on screen size.
|
|
21
|
+
* Uses the useMediaQuery hook to detect screen size changes.
|
|
22
|
+
*/
|
|
23
|
+
export function ResponsiveRenderer({
|
|
24
|
+
mobile,
|
|
25
|
+
desktop,
|
|
26
|
+
breakpoint = 450,
|
|
27
|
+
}: ResponsiveRendererProps) {
|
|
28
|
+
const isDesktop = useMediaQuery(`(min-width: ${breakpoint}px)`);
|
|
29
|
+
|
|
30
|
+
return isDesktop ? desktop : mobile;
|
|
31
|
+
}
|
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
import React, { useState } from 'react';
|
|
2
|
+
import { ScrollAwayListener } from './scroll_away_listener.js';
|
|
3
|
+
|
|
4
|
+
export default {
|
|
5
|
+
title: 'Scroll Away Listener',
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
export function Baseline() {
|
|
9
|
+
const [message, setMessage] = useState('');
|
|
10
|
+
|
|
11
|
+
return (
|
|
12
|
+
<div style={{ overflow: 'auto', width: '100%', height: '100%' }}>
|
|
13
|
+
<div style={{ height: '200vh', padding: '20px' }}>
|
|
14
|
+
<ScrollAwayListener
|
|
15
|
+
onScrollAway={() => {
|
|
16
|
+
setMessage('Scrolled Away');
|
|
17
|
+
}}
|
|
18
|
+
>
|
|
19
|
+
<div
|
|
20
|
+
style={{
|
|
21
|
+
width: '200px',
|
|
22
|
+
height: '100px',
|
|
23
|
+
boxShadow: '0 0 15px rgba(0,0,0,0.25)',
|
|
24
|
+
borderRadius: '20px',
|
|
25
|
+
display: 'inline-grid',
|
|
26
|
+
placeItems: 'center center',
|
|
27
|
+
backgroundColor: '#f1f1f1',
|
|
28
|
+
position: 'sticky',
|
|
29
|
+
top: '20px',
|
|
30
|
+
}}
|
|
31
|
+
>
|
|
32
|
+
{message || 'Scroll to trigger'}
|
|
33
|
+
</div>
|
|
34
|
+
</ScrollAwayListener>
|
|
35
|
+
<div style={{ height: '100vh', backgroundColor: '#e0e0e0', marginTop: '20px' }}>
|
|
36
|
+
<p>Scroll down to trigger the scroll away listener</p>
|
|
37
|
+
</div>
|
|
38
|
+
</div>
|
|
39
|
+
</div>
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export function WithException() {
|
|
44
|
+
const [message, setMessage] = useState('');
|
|
45
|
+
|
|
46
|
+
return (
|
|
47
|
+
<div style={{ overflow: 'auto', width: '100%', height: '100%' }}>
|
|
48
|
+
<div style={{ height: '200vh', padding: '20px' }}>
|
|
49
|
+
<ScrollAwayListener
|
|
50
|
+
isException={target => {
|
|
51
|
+
// Don't trigger when scrolling within elements with class 'exception'
|
|
52
|
+
return target.closest('.exception') !== null;
|
|
53
|
+
}}
|
|
54
|
+
onScrollAway={() => {
|
|
55
|
+
setMessage('Scrolled Away (except from exception areas)');
|
|
56
|
+
}}
|
|
57
|
+
>
|
|
58
|
+
<div
|
|
59
|
+
style={{
|
|
60
|
+
width: '200px',
|
|
61
|
+
height: '100px',
|
|
62
|
+
boxShadow: '0 0 15px rgba(0,0,0,0.25)',
|
|
63
|
+
borderRadius: '20px',
|
|
64
|
+
display: 'inline-grid',
|
|
65
|
+
placeItems: 'center center',
|
|
66
|
+
backgroundColor: '#f1f1f1',
|
|
67
|
+
position: 'sticky',
|
|
68
|
+
top: '20px',
|
|
69
|
+
}}
|
|
70
|
+
>
|
|
71
|
+
{message || 'Scroll to trigger'}
|
|
72
|
+
</div>
|
|
73
|
+
</ScrollAwayListener>
|
|
74
|
+
|
|
75
|
+
<div
|
|
76
|
+
className="exception"
|
|
77
|
+
style={{
|
|
78
|
+
height: '100px',
|
|
79
|
+
backgroundColor: '#ffeb3b',
|
|
80
|
+
marginTop: '20px',
|
|
81
|
+
overflow: 'auto',
|
|
82
|
+
padding: '10px',
|
|
83
|
+
}}
|
|
84
|
+
>
|
|
85
|
+
<p>This area is an exception - scrolling here won't trigger the listener</p>
|
|
86
|
+
<div style={{ height: '200px', backgroundColor: '#fff3cd' }}>
|
|
87
|
+
<p>Scroll within this yellow area - it won't trigger the listener</p>
|
|
88
|
+
</div>
|
|
89
|
+
</div>
|
|
90
|
+
|
|
91
|
+
<div style={{ height: '100vh', backgroundColor: '#e0e0e0', marginTop: '20px' }}>
|
|
92
|
+
<p>Scroll down here to trigger the scroll away listener</p>
|
|
93
|
+
</div>
|
|
94
|
+
</div>
|
|
95
|
+
</div>
|
|
96
|
+
);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
export function TooltipExample() {
|
|
100
|
+
const [showTooltip, setShowTooltip] = useState(false);
|
|
101
|
+
const [tooltipMessage, setTooltipMessage] = useState('');
|
|
102
|
+
|
|
103
|
+
return (
|
|
104
|
+
<div style={{ overflow: 'auto', width: '100%', height: '100%' }}>
|
|
105
|
+
<div style={{ height: '200vh', padding: '20px' }}>
|
|
106
|
+
<button
|
|
107
|
+
onMouseEnter={() => setShowTooltip(true)}
|
|
108
|
+
style={{
|
|
109
|
+
padding: '10px 20px',
|
|
110
|
+
fontSize: '16px',
|
|
111
|
+
cursor: 'pointer',
|
|
112
|
+
backgroundColor: '#007bff',
|
|
113
|
+
color: 'white',
|
|
114
|
+
border: 'none',
|
|
115
|
+
borderRadius: '5px',
|
|
116
|
+
}}
|
|
117
|
+
>
|
|
118
|
+
Hover for tooltip
|
|
119
|
+
</button>
|
|
120
|
+
|
|
121
|
+
{showTooltip && (
|
|
122
|
+
<ScrollAwayListener
|
|
123
|
+
onScrollAway={() => {
|
|
124
|
+
setShowTooltip(false);
|
|
125
|
+
setTooltipMessage('Tooltip closed due to scroll');
|
|
126
|
+
}}
|
|
127
|
+
>
|
|
128
|
+
<div
|
|
129
|
+
style={{
|
|
130
|
+
position: 'absolute',
|
|
131
|
+
top: '60px',
|
|
132
|
+
left: '20px',
|
|
133
|
+
padding: '10px',
|
|
134
|
+
backgroundColor: '#333',
|
|
135
|
+
color: 'white',
|
|
136
|
+
borderRadius: '5px',
|
|
137
|
+
boxShadow: '0 2px 10px rgba(0,0,0,0.3)',
|
|
138
|
+
zIndex: 1000,
|
|
139
|
+
}}
|
|
140
|
+
>
|
|
141
|
+
This is a tooltip that closes when you scroll away
|
|
142
|
+
</div>
|
|
143
|
+
</ScrollAwayListener>
|
|
144
|
+
)}
|
|
145
|
+
|
|
146
|
+
{tooltipMessage && (
|
|
147
|
+
<div style={{ marginTop: '10px', color: '#666' }}>{tooltipMessage}</div>
|
|
148
|
+
)}
|
|
149
|
+
|
|
150
|
+
<div style={{ height: '100vh', backgroundColor: '#e0e0e0', marginTop: '20px' }}>
|
|
151
|
+
<p>Scroll down to close the tooltip</p>
|
|
152
|
+
</div>
|
|
153
|
+
</div>
|
|
154
|
+
</div>
|
|
155
|
+
);
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
export function PopoverExample() {
|
|
159
|
+
const [showPopover, setShowPopover] = useState(false);
|
|
160
|
+
const [popoverMessage, setPopoverMessage] = useState('');
|
|
161
|
+
|
|
162
|
+
return (
|
|
163
|
+
<div style={{ overflow: 'auto', width: '100%', height: '100%' }}>
|
|
164
|
+
<div style={{ height: '200vh', padding: '20px' }}>
|
|
165
|
+
<button
|
|
166
|
+
onClick={() => setShowPopover(!showPopover)}
|
|
167
|
+
style={{
|
|
168
|
+
padding: '10px 20px',
|
|
169
|
+
fontSize: '16px',
|
|
170
|
+
cursor: 'pointer',
|
|
171
|
+
backgroundColor: '#28a745',
|
|
172
|
+
color: 'white',
|
|
173
|
+
border: 'none',
|
|
174
|
+
borderRadius: '5px',
|
|
175
|
+
}}
|
|
176
|
+
>
|
|
177
|
+
{showPopover ? 'Hide' : 'Show'} Popover
|
|
178
|
+
</button>
|
|
179
|
+
|
|
180
|
+
{showPopover && (
|
|
181
|
+
<ScrollAwayListener
|
|
182
|
+
onScrollAway={() => {
|
|
183
|
+
setShowPopover(false);
|
|
184
|
+
setPopoverMessage('Popover closed due to scroll');
|
|
185
|
+
}}
|
|
186
|
+
>
|
|
187
|
+
<div
|
|
188
|
+
style={{
|
|
189
|
+
position: 'absolute',
|
|
190
|
+
top: '60px',
|
|
191
|
+
left: '20px',
|
|
192
|
+
width: '300px',
|
|
193
|
+
padding: '20px',
|
|
194
|
+
backgroundColor: 'white',
|
|
195
|
+
border: '1px solid #ddd',
|
|
196
|
+
borderRadius: '8px',
|
|
197
|
+
boxShadow: '0 4px 20px rgba(0,0,0,0.15)',
|
|
198
|
+
zIndex: 1000,
|
|
199
|
+
}}
|
|
200
|
+
>
|
|
201
|
+
<h3>Popover Content</h3>
|
|
202
|
+
<p>This popover will close when you scroll away from it.</p>
|
|
203
|
+
<button
|
|
204
|
+
onClick={() => setShowPopover(false)}
|
|
205
|
+
style={{
|
|
206
|
+
padding: '5px 10px',
|
|
207
|
+
backgroundColor: '#dc3545',
|
|
208
|
+
color: 'white',
|
|
209
|
+
border: 'none',
|
|
210
|
+
borderRadius: '3px',
|
|
211
|
+
cursor: 'pointer',
|
|
212
|
+
}}
|
|
213
|
+
>
|
|
214
|
+
Close
|
|
215
|
+
</button>
|
|
216
|
+
</div>
|
|
217
|
+
</ScrollAwayListener>
|
|
218
|
+
)}
|
|
219
|
+
|
|
220
|
+
{popoverMessage && (
|
|
221
|
+
<div style={{ marginTop: '10px', color: '#666' }}>{popoverMessage}</div>
|
|
222
|
+
)}
|
|
223
|
+
|
|
224
|
+
<div style={{ height: '100vh', backgroundColor: '#e0e0e0', marginTop: '20px' }}>
|
|
225
|
+
<p>Scroll down to close the popover</p>
|
|
226
|
+
</div>
|
|
227
|
+
</div>
|
|
228
|
+
</div>
|
|
229
|
+
);
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
export function MultipleListeners() {
|
|
233
|
+
const [message1, setMessage1] = useState('');
|
|
234
|
+
const [message2, setMessage2] = useState('');
|
|
235
|
+
|
|
236
|
+
return (
|
|
237
|
+
<div style={{ overflow: 'auto', width: '100%', height: '100%' }}>
|
|
238
|
+
<div style={{ height: '200vh', padding: '20px' }}>
|
|
239
|
+
<div style={{ display: 'flex', gap: '20px', marginBottom: '20px' }}>
|
|
240
|
+
<ScrollAwayListener
|
|
241
|
+
onScrollAway={() => {
|
|
242
|
+
setMessage1('First listener triggered');
|
|
243
|
+
}}
|
|
244
|
+
>
|
|
245
|
+
<div
|
|
246
|
+
style={{
|
|
247
|
+
width: '150px',
|
|
248
|
+
height: '80px',
|
|
249
|
+
boxShadow: '0 0 15px rgba(0,0,0,0.25)',
|
|
250
|
+
borderRadius: '10px',
|
|
251
|
+
display: 'inline-grid',
|
|
252
|
+
placeItems: 'center center',
|
|
253
|
+
backgroundColor: '#ff6b6b',
|
|
254
|
+
color: 'white',
|
|
255
|
+
position: 'sticky',
|
|
256
|
+
top: '20px',
|
|
257
|
+
}}
|
|
258
|
+
>
|
|
259
|
+
{message1 || 'Listener 1'}
|
|
260
|
+
</div>
|
|
261
|
+
</ScrollAwayListener>
|
|
262
|
+
|
|
263
|
+
<ScrollAwayListener
|
|
264
|
+
onScrollAway={() => {
|
|
265
|
+
setMessage2('Second listener triggered');
|
|
266
|
+
}}
|
|
267
|
+
>
|
|
268
|
+
<div
|
|
269
|
+
style={{
|
|
270
|
+
width: '150px',
|
|
271
|
+
height: '80px',
|
|
272
|
+
boxShadow: '0 0 15px rgba(0,0,0,0.25)',
|
|
273
|
+
borderRadius: '10px',
|
|
274
|
+
display: 'inline-grid',
|
|
275
|
+
placeItems: 'center center',
|
|
276
|
+
backgroundColor: '#4ecdc4',
|
|
277
|
+
color: 'white',
|
|
278
|
+
position: 'sticky',
|
|
279
|
+
top: '20px',
|
|
280
|
+
}}
|
|
281
|
+
>
|
|
282
|
+
{message2 || 'Listener 2'}
|
|
283
|
+
</div>
|
|
284
|
+
</ScrollAwayListener>
|
|
285
|
+
</div>
|
|
286
|
+
|
|
287
|
+
<div style={{ height: '100vh', backgroundColor: '#e0e0e0' }}>
|
|
288
|
+
<p>Scroll down to trigger both listeners</p>
|
|
289
|
+
</div>
|
|
290
|
+
</div>
|
|
291
|
+
</div>
|
|
292
|
+
);
|
|
293
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import React, { useEffect, useRef } from 'react';
|
|
2
|
+
import { useForkRef } from './hooks/use_fork_ref.js';
|
|
3
|
+
export interface ScrollAwayListenerProps {
|
|
4
|
+
children: React.ReactElement;
|
|
5
|
+
isException?: (target: HTMLElement) => boolean;
|
|
6
|
+
onScrollAway: () => void;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* This can be used for things that need to disappear when the user scrolls somewhere other
|
|
11
|
+
* than the place this component surrounds.
|
|
12
|
+
*
|
|
13
|
+
* Mainly this will be used for tooltips and popovers. It should be used with caution and
|
|
14
|
+
* correctly. If too many things are listening for other things scrolling it can become
|
|
15
|
+
* quite inefficient. Within the Popover it doesn't add it to the JSX until the popover is
|
|
16
|
+
* visible. That way the scroll away isn't alway listening to scroll events on the
|
|
17
|
+
* document.
|
|
18
|
+
*/
|
|
19
|
+
export const ScrollAwayListener = React.forwardRef<HTMLElement, ScrollAwayListenerProps>(
|
|
20
|
+
function ScrollAwayListener(
|
|
21
|
+
{ children, onScrollAway, isException }: ScrollAwayListenerProps,
|
|
22
|
+
ref
|
|
23
|
+
) {
|
|
24
|
+
const nodeRef = useRef<any>(null);
|
|
25
|
+
const newRef = useForkRef(ref, nodeRef, (children as any).ref);
|
|
26
|
+
useEffect(() => {
|
|
27
|
+
const onScroll = (event: any) => {
|
|
28
|
+
let insideDOM: boolean;
|
|
29
|
+
if (isException && isException(event.target)) {
|
|
30
|
+
insideDOM = true;
|
|
31
|
+
} else if (event.composedPath) {
|
|
32
|
+
insideDOM = event.composedPath().indexOf(nodeRef.current) > -1;
|
|
33
|
+
} else {
|
|
34
|
+
insideDOM =
|
|
35
|
+
!document.documentElement.contains(event.target) ||
|
|
36
|
+
nodeRef.current.contains(event.target);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
if (!insideDOM) {
|
|
40
|
+
onScrollAway();
|
|
41
|
+
document.removeEventListener('scroll', onScroll, true);
|
|
42
|
+
event.preventDefault();
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
document.addEventListener('scroll', onScroll, true);
|
|
46
|
+
return () => {
|
|
47
|
+
document.removeEventListener('scroll', onScroll, true);
|
|
48
|
+
};
|
|
49
|
+
}, [onScrollAway, isException]);
|
|
50
|
+
return React.cloneElement(children, {
|
|
51
|
+
...children.props,
|
|
52
|
+
ref: newRef,
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
);
|
package/tsconfig.json
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"esModuleInterop": true,
|
|
4
|
+
"jsx": "react-jsx",
|
|
5
|
+
"paths": {
|
|
6
|
+
"~tooling/*": [
|
|
7
|
+
"../tooling/src/*"
|
|
8
|
+
],
|
|
9
|
+
"~aip-160/*": [
|
|
10
|
+
"../aip-160/src/*"
|
|
11
|
+
],
|
|
12
|
+
"~icons/*": [
|
|
13
|
+
"../icons/src/*"
|
|
14
|
+
],
|
|
15
|
+
"~sb-blackcat-addon/*": [
|
|
16
|
+
"../sb-blackcat-addon/src/*"
|
|
17
|
+
],
|
|
18
|
+
"~state/*": [
|
|
19
|
+
"../state/src/*"
|
|
20
|
+
],
|
|
21
|
+
"~ui/*": [
|
|
22
|
+
"./src/*"
|
|
23
|
+
]
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"include": [
|
|
27
|
+
"src/**/*",
|
|
28
|
+
"types/**/*"
|
|
29
|
+
]
|
|
30
|
+
}
|