hakumi_components 0.1.18.pre → 0.1.19.pre
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +32 -2
- data/README.md +208 -381
- data/app/assets/javascripts/hakumi_components.js +40 -34
- data/app/assets/stylesheets/hakumi_components.css +1 -1
- data/app/components/hakumi_components/admin_panel/component.rb +19 -9
- data/app/components/hakumi_components/affix/component.rb +54 -30
- data/app/components/hakumi_components/alert/component.html.erb +2 -2
- data/app/components/hakumi_components/alert/component.rb +68 -18
- data/app/components/hakumi_components/anchor/component.rb +35 -27
- data/app/components/hakumi_components/anchor/link/component.html.erb +1 -1
- data/app/components/hakumi_components/anchor/link/component.rb +28 -9
- data/app/components/hakumi_components/autocomplete/component.html.erb +86 -66
- data/app/components/hakumi_components/autocomplete/component.rb +115 -89
- data/app/components/hakumi_components/avatar/component.rb +45 -12
- data/app/components/hakumi_components/badge/component.rb +99 -45
- data/app/components/hakumi_components/base_component.rb +290 -91
- data/app/components/hakumi_components/breadcrumb/component.rb +16 -5
- data/app/components/hakumi_components/breadcrumb/item/component.html.erb +5 -5
- data/app/components/hakumi_components/breadcrumb/item/component.rb +56 -8
- data/app/components/hakumi_components/breadcrumb/item/menu_entry.rb +71 -0
- data/app/components/hakumi_components/button/component.rb +62 -20
- data/app/components/hakumi_components/calendar/component.html.erb +19 -19
- data/app/components/hakumi_components/calendar/component.rb +225 -202
- data/app/components/hakumi_components/calendar/day_cell.rb +62 -0
- data/app/components/hakumi_components/calendar/display_model.rb +237 -0
- data/app/components/hakumi_components/calendar/event_entry.rb +54 -0
- data/app/components/hakumi_components/calendar/locale_pack.rb +28 -0
- data/app/components/hakumi_components/calendar/panel_entry.rb +48 -0
- data/app/components/hakumi_components/calendar/week_row.rb +28 -0
- data/app/components/hakumi_components/card/component.html.erb +2 -2
- data/app/components/hakumi_components/card/component.rb +76 -49
- data/app/components/hakumi_components/card/grid/component.html.erb +1 -1
- data/app/components/hakumi_components/card/grid/component.rb +23 -17
- data/app/components/hakumi_components/card/meta/component.html.erb +8 -8
- data/app/components/hakumi_components/card/meta/component.rb +42 -24
- data/app/components/hakumi_components/carousel/autoplay_config.rb +27 -0
- data/app/components/hakumi_components/carousel/component.rb +85 -67
- data/app/components/hakumi_components/carousel/dots_config.rb +36 -0
- data/app/components/hakumi_components/cascader/component.html.erb +54 -36
- data/app/components/hakumi_components/cascader/component.rb +111 -62
- data/app/components/hakumi_components/checkbox/component.html.erb +5 -5
- data/app/components/hakumi_components/checkbox/component.rb +40 -6
- data/app/components/hakumi_components/checkbox/group/component.html.erb +4 -4
- data/app/components/hakumi_components/checkbox/group/component.rb +40 -13
- data/app/components/hakumi_components/checkbox/group/option.rb +34 -0
- data/app/components/hakumi_components/collapse/component.rb +64 -48
- data/app/components/hakumi_components/collapse/panel/component.rb +64 -21
- data/app/components/hakumi_components/color_picker/component.html.erb +21 -22
- data/app/components/hakumi_components/color_picker/component.rb +159 -49
- data/app/components/hakumi_components/color_picker/preset_group.rb +27 -0
- data/app/components/hakumi_components/concerns/form_field.rb +169 -68
- data/app/components/hakumi_components/concerns/form_field_contract.rb +57 -0
- data/app/components/hakumi_components/concerns/form_field_interface.rb +16 -0
- data/app/components/hakumi_components/concerns/input_control.rb +111 -0
- data/app/components/hakumi_components/concerns/input_control_contract.rb +47 -0
- data/app/components/hakumi_components/concerns/input_control_interface.rb +34 -0
- data/app/components/hakumi_components/concerns/selection_control.rb +122 -0
- data/app/components/hakumi_components/concerns/selection_control_contract.rb +47 -0
- data/app/components/hakumi_components/concerns/selection_control_interface.rb +34 -0
- data/app/components/hakumi_components/container/component.rb +29 -14
- data/app/components/hakumi_components/date_picker/component.html.erb +1 -3
- data/app/components/hakumi_components/date_picker/component.rb +130 -16
- data/app/components/hakumi_components/date_picker/range_picker.rb +159 -28
- data/app/components/hakumi_components/date_picker/shared_rendering.rb +151 -61
- data/app/components/hakumi_components/descriptions/component.html.erb +6 -6
- data/app/components/hakumi_components/descriptions/component.rb +98 -61
- data/app/components/hakumi_components/descriptions/item/component.rb +32 -8
- data/app/components/hakumi_components/divider/component.rb +36 -16
- data/app/components/hakumi_components/drawer/component.html.erb +2 -2
- data/app/components/hakumi_components/drawer/component.rb +112 -29
- data/app/components/hakumi_components/dropdown/component.rb +32 -35
- data/app/components/hakumi_components/dropdown/divider/component.rb +4 -0
- data/app/components/hakumi_components/dropdown/item/component.rb +42 -16
- data/app/components/hakumi_components/empty/component.rb +66 -31
- data/app/components/hakumi_components/flex/component.rb +39 -21
- data/app/components/hakumi_components/float_button/back_top/component.rb +35 -28
- data/app/components/hakumi_components/float_button/component.rb +161 -75
- data/app/components/hakumi_components/float_button/group/component.rb +85 -98
- data/app/components/hakumi_components/float_button/group_cluster/component.rb +46 -54
- data/app/components/hakumi_components/float_button/group_spec.rb +259 -0
- data/app/components/hakumi_components/float_button/item_spec.rb +115 -0
- data/app/components/hakumi_components/float_button/position_config.rb +68 -0
- data/app/components/hakumi_components/form/item/component.rb +34 -27
- data/app/components/hakumi_components/grid/col/component.rb +88 -17
- data/app/components/hakumi_components/grid/row/component.rb +35 -17
- data/app/components/hakumi_components/icon/component.rb +49 -49
- data/app/components/hakumi_components/image/component.html.erb +7 -7
- data/app/components/hakumi_components/image/component.rb +103 -40
- data/app/components/hakumi_components/image/preview_group/component.html.erb +1 -1
- data/app/components/hakumi_components/image/preview_group/component.rb +41 -36
- data/app/components/hakumi_components/image/preview_group/item.rb +48 -0
- data/app/components/hakumi_components/input/component.html.erb +1 -1
- data/app/components/hakumi_components/input/component.rb +142 -66
- data/app/components/hakumi_components/input/password/component.rb +30 -41
- data/app/components/hakumi_components/input/text_area/component.html.erb +2 -2
- data/app/components/hakumi_components/input/text_area/component.rb +89 -42
- data/app/components/hakumi_components/input_number/component.html.erb +5 -5
- data/app/components/hakumi_components/input_number/component.rb +137 -55
- data/app/components/hakumi_components/layout/component.html.erb +1 -1
- data/app/components/hakumi_components/layout/component.rb +23 -16
- data/app/components/hakumi_components/layout/content/component.html.erb +1 -1
- data/app/components/hakumi_components/layout/content/component.rb +24 -14
- data/app/components/hakumi_components/layout/footer/component.html.erb +1 -1
- data/app/components/hakumi_components/layout/footer/component.rb +24 -14
- data/app/components/hakumi_components/layout/header/component.html.erb +1 -1
- data/app/components/hakumi_components/layout/header/component.rb +24 -14
- data/app/components/hakumi_components/layout/sider/component.html.erb +1 -1
- data/app/components/hakumi_components/layout/sider/component.rb +83 -49
- data/app/components/hakumi_components/mentions/coercion.rb +46 -0
- data/app/components/hakumi_components/mentions/component.html.erb +6 -6
- data/app/components/hakumi_components/mentions/component.rb +131 -67
- data/app/components/hakumi_components/mentions/option.rb +30 -0
- data/app/components/hakumi_components/menu/component.rb +50 -59
- data/app/components/hakumi_components/menu/divider/component.rb +4 -0
- data/app/components/hakumi_components/menu/group/component.rb +16 -15
- data/app/components/hakumi_components/menu/item/component.rb +42 -19
- data/app/components/hakumi_components/menu/sub_menu/component.rb +49 -37
- data/app/components/hakumi_components/message/component.rb +62 -27
- data/app/components/hakumi_components/modal/component.html.erb +6 -6
- data/app/components/hakumi_components/modal/component.rb +93 -40
- data/app/components/hakumi_components/modal/confirm/component.html.erb +2 -2
- data/app/components/hakumi_components/modal/confirm/component.rb +49 -8
- data/app/components/hakumi_components/modal/error/component.rb +8 -39
- data/app/components/hakumi_components/modal/info/component.rb +6 -40
- data/app/components/hakumi_components/modal/status_component.rb +150 -0
- data/app/components/hakumi_components/modal/success/component.rb +6 -40
- data/app/components/hakumi_components/modal/warning/component.rb +14 -44
- data/app/components/hakumi_components/notification/component.rb +72 -38
- data/app/components/hakumi_components/pagination/component.html.erb +7 -11
- data/app/components/hakumi_components/pagination/component.rb +105 -72
- data/app/components/hakumi_components/pagination/page_item.rb +49 -0
- data/app/components/hakumi_components/popconfirm/component.rb +67 -19
- data/app/components/hakumi_components/popover/component.html.erb +2 -2
- data/app/components/hakumi_components/popover/component.rb +102 -38
- data/app/components/hakumi_components/progress/attribute_renderer.rb +354 -0
- data/app/components/hakumi_components/progress/circle_geometry.rb +76 -0
- data/app/components/hakumi_components/progress/component.html.erb +18 -17
- data/app/components/hakumi_components/progress/component.rb +230 -402
- data/app/components/hakumi_components/progress/controller_locals_parser.rb +130 -0
- data/app/components/hakumi_components/progress/info_tooltip_policy.rb +39 -0
- data/app/components/hakumi_components/progress/info_value.rb +75 -0
- data/app/components/hakumi_components/progress/status_state.rb +31 -0
- data/app/components/hakumi_components/progress/steps_renderer.rb +149 -0
- data/app/components/hakumi_components/progress/stroke_gradient_value.rb +90 -0
- data/app/components/hakumi_components/qr_code/component.rb +138 -72
- data/app/components/hakumi_components/radio/component.html.erb +3 -3
- data/app/components/hakumi_components/radio/component.rb +42 -9
- data/app/components/hakumi_components/radio/group/component.html.erb +9 -9
- data/app/components/hakumi_components/radio/group/component.rb +76 -27
- data/app/components/hakumi_components/radio/group/option.rb +43 -0
- data/app/components/hakumi_components/rate/component.html.erb +1 -1
- data/app/components/hakumi_components/rate/component.rb +55 -9
- data/app/components/hakumi_components/result/component.rb +87 -37
- data/app/components/hakumi_components/segmented/component.html.erb +1 -1
- data/app/components/hakumi_components/segmented/component.rb +81 -118
- data/app/components/hakumi_components/segmented/option.rb +191 -0
- data/app/components/hakumi_components/select/component.html.erb +19 -19
- data/app/components/hakumi_components/select/component.rb +88 -37
- data/app/components/hakumi_components/selection_control/coercion.rb +161 -0
- data/app/components/hakumi_components/selection_control/entry.rb +22 -0
- data/app/components/hakumi_components/selection_control/option.rb +42 -0
- data/app/components/hakumi_components/selection_control/option_group.rb +34 -0
- data/app/components/hakumi_components/selection_control/tree_node.rb +123 -0
- data/app/components/hakumi_components/skeleton/avatar/component.rb +36 -14
- data/app/components/hakumi_components/skeleton/avatar_config.rb +79 -0
- data/app/components/hakumi_components/skeleton/button/component.rb +32 -14
- data/app/components/hakumi_components/skeleton/component.rb +79 -93
- data/app/components/hakumi_components/skeleton/image/component.rb +46 -22
- data/app/components/hakumi_components/skeleton/input/component.rb +25 -10
- data/app/components/hakumi_components/skeleton/node/component.rb +23 -7
- data/app/components/hakumi_components/skeleton/paragraph_config.rb +92 -0
- data/app/components/hakumi_components/skeleton/title_config.rb +31 -0
- data/app/components/hakumi_components/slider/component.html.erb +11 -11
- data/app/components/hakumi_components/slider/component.rb +172 -53
- data/app/components/hakumi_components/slider/mark.rb +27 -0
- data/app/components/hakumi_components/space/compact/component.html.erb +1 -3
- data/app/components/hakumi_components/space/compact/component.rb +35 -19
- data/app/components/hakumi_components/space/component.html.erb +1 -1
- data/app/components/hakumi_components/space/component.rb +75 -39
- data/app/components/hakumi_components/spin/component.rb +92 -31
- data/app/components/hakumi_components/splitter/component.html.erb +9 -3
- data/app/components/hakumi_components/splitter/component.rb +55 -22
- data/app/components/hakumi_components/splitter/panel/component.html.erb +1 -3
- data/app/components/hakumi_components/splitter/panel/component.rb +64 -39
- data/app/components/hakumi_components/statistic/component.rb +143 -59
- data/app/components/hakumi_components/steps/component.rb +87 -55
- data/app/components/hakumi_components/steps/item/component.rb +59 -20
- data/app/components/hakumi_components/switch/component.html.erb +2 -3
- data/app/components/hakumi_components/switch/component.rb +62 -36
- data/app/components/hakumi_components/table/column/component.rb +80 -23
- data/app/components/hakumi_components/table/column_definition.rb +181 -0
- data/app/components/hakumi_components/table/column_group/component.rb +32 -21
- data/app/components/hakumi_components/table/component.html.erb +22 -31
- data/app/components/hakumi_components/table/component.rb +248 -509
- data/app/components/hakumi_components/table/concerns/attribute_helpers.rb +22 -0
- data/app/components/hakumi_components/table/concerns/cell_rendering.rb +277 -0
- data/app/components/hakumi_components/table/concerns/columns.rb +293 -91
- data/app/components/hakumi_components/table/concerns/editable.rb +36 -89
- data/app/components/hakumi_components/table/concerns/ellipsis.rb +31 -30
- data/app/components/hakumi_components/table/concerns/fixed_columns.rb +26 -19
- data/app/components/hakumi_components/table/concerns/surface_rendering.rb +365 -0
- data/app/components/hakumi_components/table/configs.rb +518 -0
- data/app/components/hakumi_components/table/definition_types.rb +40 -0
- data/app/components/hakumi_components/table/display_rows.rb +56 -0
- data/app/components/hakumi_components/table/ellipsis_config.rb +143 -0
- data/app/components/hakumi_components/table/fixed_offset.rb +36 -0
- data/app/components/hakumi_components/table/header_cell.rb +23 -0
- data/app/components/hakumi_components/table/row_record.rb +60 -0
- data/app/components/hakumi_components/table/row_render_state.rb +85 -0
- data/app/components/hakumi_components/tabs/component.html.erb +8 -8
- data/app/components/hakumi_components/tabs/component.rb +114 -64
- data/app/components/hakumi_components/tabs/indicator_config.rb +34 -0
- data/app/components/hakumi_components/tabs/item/component.rb +73 -13
- data/app/components/hakumi_components/tag/component.rb +142 -47
- data/app/components/hakumi_components/tag/group/component.rb +18 -6
- data/app/components/hakumi_components/time_picker/component.html.erb +8 -8
- data/app/components/hakumi_components/time_picker/component.rb +71 -17
- data/app/components/hakumi_components/timeline/component.html.erb +3 -2
- data/app/components/hakumi_components/timeline/component.rb +188 -55
- data/app/components/hakumi_components/timeline/item/component.html.erb +2 -2
- data/app/components/hakumi_components/timeline/item/component.rb +121 -60
- data/app/components/hakumi_components/tooltip/component.html.erb +1 -1
- data/app/components/hakumi_components/tooltip/component.rb +89 -64
- data/app/components/hakumi_components/tour/component.rb +74 -49
- data/app/components/hakumi_components/tour/step.rb +86 -0
- data/app/components/hakumi_components/transfer/coercion.rb +66 -0
- data/app/components/hakumi_components/transfer/component.html.erb +171 -140
- data/app/components/hakumi_components/transfer/component.rb +232 -82
- data/app/components/hakumi_components/transfer/item.rb +54 -0
- data/app/components/hakumi_components/transfer/operations.rb +31 -0
- data/app/components/hakumi_components/tree/component.rb +219 -400
- data/app/components/hakumi_components/tree/concerns/node_rendering.rb +365 -0
- data/app/components/hakumi_components/tree/node.rb +276 -0
- data/app/components/hakumi_components/tree_select/component.html.erb +23 -9
- data/app/components/hakumi_components/tree_select/component.rb +116 -107
- data/app/components/hakumi_components/typography/base_component.rb +69 -36
- data/app/components/hakumi_components/typography/link/component.rb +63 -6
- data/app/components/hakumi_components/typography/paragraph/component.rb +6 -0
- data/app/components/hakumi_components/typography/text/component.rb +4 -0
- data/app/components/hakumi_components/typography/title/component.rb +61 -6
- data/app/components/hakumi_components/upload/component.html.erb +106 -88
- data/app/components/hakumi_components/upload/component.rb +222 -48
- data/app/components/hakumi_components/upload/file_entry.rb +53 -0
- data/app/controllers/hakumi_components/components_controller.rb +2 -1
- data/app/form_builders/hakumi_components/form_builder/contracts.rb +55 -0
- data/app/form_builders/hakumi_components/form_builder/field_context.rb +43 -0
- data/app/form_builders/hakumi_components/form_builder/model_binding.rb +163 -0
- data/app/form_builders/hakumi_components/form_builder.rb +238 -317
- data/app/helpers/hakumi_components/form_helper.rb +27 -23
- data/app/javascript/hakumi_components/controllers/hakumi/admin_panel_controller.js +5 -7
- data/app/javascript/hakumi_components/controllers/hakumi/back_top_controller.js +1 -1
- data/app/javascript/hakumi_components/controllers/hakumi/button_controller.js +108 -2
- data/app/javascript/hakumi_components/controllers/hakumi/calendar_controller.js +183 -95
- data/app/javascript/hakumi_components/controllers/hakumi/color_picker_controller.js +23 -285
- data/app/javascript/hakumi_components/controllers/hakumi/date_picker_controller.js +274 -262
- data/app/javascript/hakumi_components/controllers/hakumi/float_button_group_controller.js +2 -2
- data/app/javascript/hakumi_components/controllers/hakumi/message_controller.js +4 -2
- data/app/javascript/hakumi_components/controllers/hakumi/modal_controller.js +119 -125
- data/app/javascript/hakumi_components/controllers/hakumi/table/editable.js +291 -0
- data/app/javascript/hakumi_components/controllers/hakumi/table_controller.js +166 -366
- data/app/javascript/hakumi_components/controllers/hakumi/tabs_controller.js +8 -2
- data/app/javascript/hakumi_components/controllers/hakumi/tag_controller.js +27 -25
- data/app/javascript/hakumi_components/controllers/hakumi/tag_group_controller.js +19 -18
- data/app/javascript/hakumi_components/controllers/hakumi/theme_controller.js +116 -117
- data/app/javascript/hakumi_components/controllers/hakumi/transfer_controller.js +17 -1
- data/app/javascript/hakumi_components/controllers/hakumi/tree_controller.js +363 -78
- data/app/javascript/hakumi_components/controllers/hakumi/typography_controller.js +3 -3
- data/app/javascript/hakumi_components/controllers/hakumi/upload_controller.js +320 -204
- data/app/javascript/hakumi_components/core/render_component.js +37 -11
- data/app/javascript/hakumi_components/utils/color_helper.js +262 -0
- data/app/javascript/stylesheets/_base.scss +9 -0
- data/app/javascript/stylesheets/_hakumi_components.scss +1 -0
- data/app/javascript/stylesheets/components/_breadcrumb.scss +2 -2
- data/app/javascript/stylesheets/components/_calendar.scss +13 -13
- data/app/javascript/stylesheets/components/_cascader.scss +5 -5
- data/app/javascript/stylesheets/components/_checkbox.scss +9 -11
- data/app/javascript/stylesheets/components/_color_picker.scss +11 -11
- data/app/javascript/stylesheets/components/_date_picker.scss +4 -4
- data/app/javascript/stylesheets/components/_descriptions.scss +2 -2
- data/app/javascript/stylesheets/components/_drawer.scss +3 -3
- data/app/javascript/stylesheets/components/_dropdown.scss +2 -2
- data/app/javascript/stylesheets/components/_flex.scss +1 -1
- data/app/javascript/stylesheets/components/_float_button.scss +5 -5
- data/app/javascript/stylesheets/components/_form_item.scss +92 -0
- data/app/javascript/stylesheets/components/_image.scss +15 -15
- data/app/javascript/stylesheets/components/_input.scss +23 -113
- data/app/javascript/stylesheets/components/_layout.scss +27 -26
- data/app/javascript/stylesheets/components/_menu.scss +15 -15
- data/app/javascript/stylesheets/components/_modal.scss +13 -13
- data/app/javascript/stylesheets/components/_notification.scss +3 -3
- data/app/javascript/stylesheets/components/_popover.scss +1 -1
- data/app/javascript/stylesheets/components/_segmented.scss +3 -3
- data/app/javascript/stylesheets/components/_select.scss +6 -6
- data/app/javascript/stylesheets/components/_slider.scss +1 -1
- data/app/javascript/stylesheets/components/_spin.scss +2 -2
- data/app/javascript/stylesheets/components/_steps.scss +10 -10
- data/app/javascript/stylesheets/components/_switch.scss +11 -10
- data/app/javascript/stylesheets/components/_table.scss +6 -6
- data/app/javascript/stylesheets/components/_tag.scss +2 -2
- data/app/javascript/stylesheets/components/_tooltip.scss +4 -4
- data/app/javascript/stylesheets/components/_tree_select.scss +3 -3
- data/app/javascript/stylesheets/components/_typography.scss +3 -3
- data/app/javascript/stylesheets/components/_upload.scss +4 -4
- data/app/services/hakumi_components/component_handler.rb +95 -24
- data/app/services/hakumi_components/icon/loader.rb +84 -67
- data/app/services/hakumi_components/illustrations/loader.rb +35 -27
- data/app/views/hakumi/_alert.html.erb +4 -1
- data/app/views/hakumi/_drawer.html.erb +1 -1
- data/app/views/hakumi/_statistic.html.erb +11 -11
- data/lib/generators/hakumi_components/install_generator.rb +14 -1
- data/lib/hakumi_components/documentation/models.rb +290 -0
- data/lib/hakumi_components/documentation/node.rb +73 -0
- data/lib/hakumi_components/documentation.rb +139 -62
- data/lib/hakumi_components/engine.rb +17 -11
- data/lib/hakumi_components/file_size_checker.rb +215 -0
- data/lib/hakumi_components/locales/en.yml +115 -0
- data/lib/hakumi_components/rails/attribute_introspection.rb +39 -107
- data/lib/hakumi_components/rails/model_reflection.rb +154 -0
- data/lib/hakumi_components/rails/validation_introspection.rb +25 -73
- data/lib/hakumi_components/rails/validation_mapper.rb +148 -201
- data/lib/hakumi_components/rails.rb +2 -0
- data/lib/hakumi_components/stylesheet_ownership_checker.rb +191 -0
- data/lib/hakumi_components/types/form_field.rb +24 -0
- data/lib/hakumi_components/types/html.rb +28 -0
- data/lib/hakumi_components/types/rendering.rb +10 -0
- data/lib/hakumi_components/types/stimulus.rb +19 -0
- data/lib/hakumi_components/types/validation.rb +22 -0
- data/lib/hakumi_components/types.rb +13 -0
- data/lib/hakumi_components/version.rb +2 -1
- data/lib/hakumi_components.rb +26 -6
- data/lib/tasks/coverage.rake +1 -0
- metadata +100 -136
- data/sig/action_view/tag_builder.rbs +0 -24
- data/sig/active_support/concern_patch.rbs +0 -7
- data/sig/generators/hakumi_components/install_generator.rbs +0 -11
- data/sig/hakumi_components/admin_panel/component.rbs +0 -28
- data/sig/hakumi_components/affix/component.rbs +0 -44
- data/sig/hakumi_components/alert/component.rbs +0 -64
- data/sig/hakumi_components/anchor/component.rbs +0 -45
- data/sig/hakumi_components/anchor/link/component.rbs +0 -31
- data/sig/hakumi_components/autocomplete/component.rbs +0 -68
- data/sig/hakumi_components/avatar/component.rbs +0 -44
- data/sig/hakumi_components/badge/component.rbs +0 -41
- data/sig/hakumi_components/base_component.rbs +0 -82
- data/sig/hakumi_components/breadcrumb/component.rbs +0 -21
- data/sig/hakumi_components/breadcrumb/item/component.rbs +0 -36
- data/sig/hakumi_components/button/component.rbs +0 -56
- data/sig/hakumi_components/calendar/component.rbs +0 -41
- data/sig/hakumi_components/card/component.rbs +0 -50
- data/sig/hakumi_components/card/grid/component.rbs +0 -21
- data/sig/hakumi_components/card/meta/component.rbs +0 -25
- data/sig/hakumi_components/carousel/component.rbs +0 -88
- data/sig/hakumi_components/cascader/component.rbs +0 -52
- data/sig/hakumi_components/checkbox/component.rbs +0 -46
- data/sig/hakumi_components/checkbox/group/component.rbs +0 -34
- data/sig/hakumi_components/collapse/component.rbs +0 -57
- data/sig/hakumi_components/collapse/panel/component.rbs +0 -47
- data/sig/hakumi_components/color_picker/component.rbs +0 -80
- data/sig/hakumi_components/concerns/form_field.rbs +0 -89
- data/sig/hakumi_components/container/component.rbs +0 -37
- data/sig/hakumi_components/date_picker/component.rbs +0 -72
- data/sig/hakumi_components/date_picker/range_picker.rbs +0 -68
- data/sig/hakumi_components/date_picker/shared_rendering.rbs +0 -41
- data/sig/hakumi_components/descriptions/component.rbs +0 -59
- data/sig/hakumi_components/descriptions/item/component.rbs +0 -31
- data/sig/hakumi_components/divider/component.rbs +0 -39
- data/sig/hakumi_components/drawer/component.rbs +0 -66
- data/sig/hakumi_components/dropdown/component.rbs +0 -45
- data/sig/hakumi_components/dropdown/divider/component.rbs +0 -11
- data/sig/hakumi_components/dropdown/item/component.rbs +0 -45
- data/sig/hakumi_components/empty/component.rbs +0 -40
- data/sig/hakumi_components/flex/component.rbs +0 -47
- data/sig/hakumi_components/float_button/back_top/component.rbs +0 -45
- data/sig/hakumi_components/float_button/component.rbs +0 -80
- data/sig/hakumi_components/float_button/group/component.rbs +0 -95
- data/sig/hakumi_components/float_button/group_cluster/component.rbs +0 -60
- data/sig/hakumi_components/form/item/component.rbs +0 -39
- data/sig/hakumi_components/form_builder.rbs +0 -37
- data/sig/hakumi_components/grid/col/component.rbs +0 -50
- data/sig/hakumi_components/grid/row/component.rbs +0 -46
- data/sig/hakumi_components/icon/component.rbs +0 -56
- data/sig/hakumi_components/image/component.rbs +0 -56
- data/sig/hakumi_components/image/preview_group/component.rbs +0 -28
- data/sig/hakumi_components/input/component.rbs +0 -71
- data/sig/hakumi_components/input/password/component.rbs +0 -27
- data/sig/hakumi_components/input/text_area/component.rbs +0 -42
- data/sig/hakumi_components/input_number/component.rbs +0 -85
- data/sig/hakumi_components/layout/component.rbs +0 -21
- data/sig/hakumi_components/layout/content/component.rbs +0 -19
- data/sig/hakumi_components/layout/footer/component.rbs +0 -19
- data/sig/hakumi_components/layout/header/component.rbs +0 -19
- data/sig/hakumi_components/layout/sider/component.rbs +0 -19
- data/sig/hakumi_components/mentions/component.rbs +0 -75
- data/sig/hakumi_components/menu/component.rbs +0 -52
- data/sig/hakumi_components/menu/divider/component.rbs +0 -11
- data/sig/hakumi_components/menu/group/component.rbs +0 -20
- data/sig/hakumi_components/menu/item/component.rbs +0 -42
- data/sig/hakumi_components/menu/sub_menu/component.rbs +0 -37
- data/sig/hakumi_components/message/component.rbs +0 -50
- data/sig/hakumi_components/modal/component.rbs +0 -76
- data/sig/hakumi_components/modal/confirm/component.rbs +0 -32
- data/sig/hakumi_components/modal/error/component.rbs +0 -27
- data/sig/hakumi_components/modal/info/component.rbs +0 -27
- data/sig/hakumi_components/modal/success/component.rbs +0 -27
- data/sig/hakumi_components/modal/warning/component.rbs +0 -27
- data/sig/hakumi_components/notification/component.rbs +0 -64
- data/sig/hakumi_components/pagination/component.rbs +0 -113
- data/sig/hakumi_components/popconfirm/component.rbs +0 -52
- data/sig/hakumi_components/popover/component.rbs +0 -66
- data/sig/hakumi_components/progress/component.rbs +0 -201
- data/sig/hakumi_components/qr_code/component.rbs +0 -111
- data/sig/hakumi_components/radio/component.rbs +0 -55
- data/sig/hakumi_components/radio/group/component.rbs +0 -71
- data/sig/hakumi_components/rails/attribute_introspection.rbs +0 -16
- data/sig/hakumi_components/rails/validation_introspection.rbs +0 -18
- data/sig/hakumi_components/rails/validation_mapper.rbs +0 -53
- data/sig/hakumi_components/rails.rbs +0 -6
- data/sig/hakumi_components/rate/component.rbs +0 -56
- data/sig/hakumi_components/result/component.rbs +0 -65
- data/sig/hakumi_components/segmented/component.rbs +0 -72
- data/sig/hakumi_components/select/component.rbs +0 -73
- data/sig/hakumi_components/skeleton/avatar/component.rbs +0 -23
- data/sig/hakumi_components/skeleton/button/component.rbs +0 -24
- data/sig/hakumi_components/skeleton/component.rbs +0 -76
- data/sig/hakumi_components/skeleton/image/component.rbs +0 -22
- data/sig/hakumi_components/skeleton/input/component.rbs +0 -23
- data/sig/hakumi_components/skeleton/node/component.rbs +0 -21
- data/sig/hakumi_components/slider/component.rbs +0 -85
- data/sig/hakumi_components/space/compact/component.rbs +0 -21
- data/sig/hakumi_components/space/component.rbs +0 -47
- data/sig/hakumi_components/spin/component.rbs +0 -77
- data/sig/hakumi_components/splitter/component.rbs +0 -27
- data/sig/hakumi_components/splitter/panel/component.rbs +0 -36
- data/sig/hakumi_components/statistic/component.rbs +0 -97
- data/sig/hakumi_components/steps/component.rbs +0 -82
- data/sig/hakumi_components/steps/item/component.rbs +0 -29
- data/sig/hakumi_components/switch/component.rbs +0 -52
- data/sig/hakumi_components/table/column/component.rbs +0 -57
- data/sig/hakumi_components/table/column_group/component.rbs +0 -20
- data/sig/hakumi_components/table/component.rbs +0 -279
- data/sig/hakumi_components/table/concerns/columns.rbs +0 -95
- data/sig/hakumi_components/table/concerns/editable.rbs +0 -40
- data/sig/hakumi_components/table/concerns/ellipsis.rbs +0 -27
- data/sig/hakumi_components/table/concerns/fixed_columns.rbs +0 -33
- data/sig/hakumi_components/tabs/component.rbs +0 -66
- data/sig/hakumi_components/tabs/item/component.rbs +0 -29
- data/sig/hakumi_components/tag/component.rbs +0 -86
- data/sig/hakumi_components/tag/group/component.rbs +0 -24
- data/sig/hakumi_components/time_picker/component.rbs +0 -72
- data/sig/hakumi_components/timeline/component.rbs +0 -61
- data/sig/hakumi_components/timeline/item/component.rbs +0 -70
- data/sig/hakumi_components/tooltip/component.rbs +0 -73
- data/sig/hakumi_components/tour/component.rbs +0 -84
- data/sig/hakumi_components/transfer/component.rbs +0 -75
- data/sig/hakumi_components/tree/component.rbs +0 -126
- data/sig/hakumi_components/tree_select/component.rbs +0 -122
- data/sig/hakumi_components/typography/base_component.rbs +0 -57
- data/sig/hakumi_components/typography/link/component.rbs +0 -28
- data/sig/hakumi_components/typography/paragraph/component.rbs +0 -13
- data/sig/hakumi_components/typography/text/component.rbs +0 -10
- data/sig/hakumi_components/typography/title/component.rbs +0 -28
- data/sig/hakumi_components/upload/component.rbs +0 -78
- data/sig/hakumi_components.rbs +0 -96
- data/sig/rails/active_model/validations/comparison_validator.rbs +0 -6
- data/sig/rails.rbs +0 -18
- data/sig/view_component/base.rbs +0 -28
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module HakumiComponents
|
|
4
|
-
module Segmented
|
|
5
|
-
class Component < HakumiComponents::BaseComponent
|
|
6
|
-
# Segmented option hash structure
|
|
7
|
-
type segmented_option = {
|
|
8
|
-
label: (String | untyped), # String or ViewComponent
|
|
9
|
-
value: (String | Integer | Symbol),
|
|
10
|
-
disabled: bool,
|
|
11
|
-
icon: (String | Symbol | untyped)?, # String, Symbol, or ViewComponent
|
|
12
|
-
class_name: String?,
|
|
13
|
-
aria_label: String?
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
SIZES: Array[hakumi_size_standard]
|
|
17
|
-
|
|
18
|
-
@options: Array[segmented_option]
|
|
19
|
-
@value: (String | nil)
|
|
20
|
-
@disabled: bool
|
|
21
|
-
@block: bool
|
|
22
|
-
@vertical: bool
|
|
23
|
-
@round: bool
|
|
24
|
-
@name: String
|
|
25
|
-
@size: hakumi_size_standard
|
|
26
|
-
@aria_label: (String | nil)
|
|
27
|
-
@html_options: hakumi_html_options
|
|
28
|
-
|
|
29
|
-
# Class methods for controller integration
|
|
30
|
-
def self.extract_controller_locals: (Hash[Symbol, untyped] params) -> Hash[Symbol, untyped]
|
|
31
|
-
def self.parse_options_param: (untyped options) -> untyped
|
|
32
|
-
def self.truthy_param?: (untyped value) -> bool
|
|
33
|
-
|
|
34
|
-
def initialize: (
|
|
35
|
-
?options: Array[untyped],
|
|
36
|
-
?value: (String | Integer | Symbol)?,
|
|
37
|
-
?default_value: (String | Integer | Symbol)?,
|
|
38
|
-
?disabled: bool,
|
|
39
|
-
?block: bool,
|
|
40
|
-
?vertical: bool,
|
|
41
|
-
?round: bool,
|
|
42
|
-
?name: String?,
|
|
43
|
-
?size: hakumi_size_standard,
|
|
44
|
-
?aria_label: String?,
|
|
45
|
-
**hakumi_html_options html_options
|
|
46
|
-
) -> void
|
|
47
|
-
|
|
48
|
-
def wrapper_attributes: () -> hakumi_html_options
|
|
49
|
-
def normalized_options: () -> Array[segmented_option]
|
|
50
|
-
def option_classes: (segmented_option option) -> String
|
|
51
|
-
def option_data_attributes: (segmented_option option) -> hakumi_html_options
|
|
52
|
-
def option_input_attributes: (segmented_option option, Integer index) -> hakumi_html_options
|
|
53
|
-
def option_selected?: (segmented_option option) -> bool
|
|
54
|
-
def option_disabled?: (segmented_option option) -> bool
|
|
55
|
-
def option_id: (Integer index) -> String
|
|
56
|
-
def option_label: (segmented_option option) -> (String | nil)
|
|
57
|
-
def option_icon: (segmented_option option) -> (String | nil)
|
|
58
|
-
|
|
59
|
-
private
|
|
60
|
-
|
|
61
|
-
def validate_props!: () -> void
|
|
62
|
-
def wrapper_classes: () -> String
|
|
63
|
-
def normalize_options: (Array[untyped] options) -> Array[segmented_option]
|
|
64
|
-
def option_aria_label: (segmented_option option) -> (String | nil)
|
|
65
|
-
def icon_only_option?: (segmented_option option) -> bool
|
|
66
|
-
def data_attributes: () -> hakumi_html_options
|
|
67
|
-
def normalize_value: ((String | Integer | Symbol)? value, (String | Integer | Symbol)? default_value) -> (String | nil)
|
|
68
|
-
def normalize_size: ((String | Symbol)? size) -> (Symbol | nil)
|
|
69
|
-
def normalize_string: (untyped value) -> (String | nil)
|
|
70
|
-
end
|
|
71
|
-
end
|
|
72
|
-
end
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module HakumiComponents
|
|
4
|
-
module Select
|
|
5
|
-
class Component < HakumiComponents::BaseComponent
|
|
6
|
-
include HakumiComponents::Concerns::FormField
|
|
7
|
-
|
|
8
|
-
type select_option = [String, (String | Integer | Float)]
|
|
9
|
-
|
|
10
|
-
SIZES: Array[hakumi_size_standard]
|
|
11
|
-
VARIANTS: Array[hakumi_variant_select]
|
|
12
|
-
TRIGGERS: Array[hakumi_trigger]
|
|
13
|
-
|
|
14
|
-
@name: String
|
|
15
|
-
@options: Array[select_option | String | Integer]
|
|
16
|
-
@label: String?
|
|
17
|
-
@caption: String?
|
|
18
|
-
@value: (String | Integer | Float)?
|
|
19
|
-
@placeholder: String?
|
|
20
|
-
@size: hakumi_size_standard
|
|
21
|
-
@variant: hakumi_variant_select
|
|
22
|
-
@trigger: hakumi_trigger
|
|
23
|
-
@icon: hakumi_icon?
|
|
24
|
-
@disabled: bool
|
|
25
|
-
@required: bool
|
|
26
|
-
@allow_clear: bool
|
|
27
|
-
@show_search: bool
|
|
28
|
-
@standalone: bool
|
|
29
|
-
@errors: Array[String]
|
|
30
|
-
@html_options: hakumi_html_options
|
|
31
|
-
|
|
32
|
-
attr_reader variant: hakumi_variant_select
|
|
33
|
-
attr_reader trigger: hakumi_trigger
|
|
34
|
-
attr_reader icon: hakumi_icon?
|
|
35
|
-
|
|
36
|
-
def initialize: (
|
|
37
|
-
?name: String?,
|
|
38
|
-
?options: Array[select_option | String | Integer],
|
|
39
|
-
?label: String?,
|
|
40
|
-
?caption: String?,
|
|
41
|
-
?value: (String | Integer | Float)?,
|
|
42
|
-
?placeholder: String?,
|
|
43
|
-
?size: hakumi_size_standard,
|
|
44
|
-
?variant: hakumi_variant_select,
|
|
45
|
-
?trigger: hakumi_trigger,
|
|
46
|
-
?icon: hakumi_icon?,
|
|
47
|
-
?disabled: bool,
|
|
48
|
-
?required: bool,
|
|
49
|
-
?allow_clear: bool,
|
|
50
|
-
?show_search: bool,
|
|
51
|
-
?standalone: bool,
|
|
52
|
-
?errors: (Array[String] | String)?,
|
|
53
|
-
**hakumi_html_options html_options
|
|
54
|
-
) -> void
|
|
55
|
-
|
|
56
|
-
private
|
|
57
|
-
|
|
58
|
-
def validate_props!: () -> void
|
|
59
|
-
|
|
60
|
-
def select_wrapper_classes: () -> String
|
|
61
|
-
|
|
62
|
-
def borderless?: () -> bool
|
|
63
|
-
|
|
64
|
-
def hover_trigger?: () -> bool
|
|
65
|
-
|
|
66
|
-
def wrapper_attributes: () -> hakumi_html_options
|
|
67
|
-
|
|
68
|
-
def selected_label: () -> (String | Integer | Float)?
|
|
69
|
-
|
|
70
|
-
def formatted_options: () -> Array[select_option]
|
|
71
|
-
end
|
|
72
|
-
end
|
|
73
|
-
end
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module HakumiComponents
|
|
4
|
-
module Skeleton
|
|
5
|
-
module Avatar
|
|
6
|
-
class Component < HakumiComponents::BaseComponent
|
|
7
|
-
@shape: Symbol
|
|
8
|
-
@size: (Symbol | Integer)
|
|
9
|
-
@active: bool
|
|
10
|
-
@html_options: hakumi_html_options
|
|
11
|
-
|
|
12
|
-
def initialize: (?shape: Symbol, ?size: (Symbol | Integer), ?active: bool, **hakumi_html_options html_options) -> void
|
|
13
|
-
|
|
14
|
-
def call: () -> String
|
|
15
|
-
|
|
16
|
-
private
|
|
17
|
-
|
|
18
|
-
def wrapper_classes: () -> String
|
|
19
|
-
def wrapper_attributes: () -> hakumi_html_options
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
end
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module HakumiComponents
|
|
4
|
-
module Skeleton
|
|
5
|
-
module Button
|
|
6
|
-
class Component < HakumiComponents::BaseComponent
|
|
7
|
-
@shape: Symbol
|
|
8
|
-
@size: (Symbol | Integer)
|
|
9
|
-
@active: bool
|
|
10
|
-
@block: bool
|
|
11
|
-
@html_options: hakumi_html_options
|
|
12
|
-
|
|
13
|
-
def initialize: (?shape: Symbol, ?size: (Symbol | Integer), ?active: bool, ?block: bool, **hakumi_html_options html_options) -> void
|
|
14
|
-
|
|
15
|
-
def call: () -> String
|
|
16
|
-
|
|
17
|
-
private
|
|
18
|
-
|
|
19
|
-
def wrapper_classes: () -> String
|
|
20
|
-
def wrapper_attributes: () -> hakumi_html_options
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
end
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module HakumiComponents
|
|
4
|
-
module Skeleton
|
|
5
|
-
class Component < HakumiComponents::BaseComponent
|
|
6
|
-
type skeleton_avatar_size = :small | :default | :large
|
|
7
|
-
type skeleton_avatar_shape = :circle | :square
|
|
8
|
-
type skeleton_config = Hash[Symbol, untyped]
|
|
9
|
-
|
|
10
|
-
AVATAR_SIZES: Array[skeleton_avatar_size]
|
|
11
|
-
AVATAR_SHAPES: Array[skeleton_avatar_shape]
|
|
12
|
-
DEFAULT_PARAGRAPH_ROWS: Integer
|
|
13
|
-
|
|
14
|
-
# Extracts locals from controller params for dynamic rendering
|
|
15
|
-
def self.extract_controller_locals: (untyped params) -> Hash[Symbol, untyped]
|
|
16
|
-
|
|
17
|
-
def self.normalize_config_param: (untyped value) -> (skeleton_config | bool)?
|
|
18
|
-
|
|
19
|
-
@loading: bool
|
|
20
|
-
@active: bool
|
|
21
|
-
@round: bool
|
|
22
|
-
@avatar: skeleton_config?
|
|
23
|
-
@title: skeleton_config?
|
|
24
|
-
@paragraph: skeleton_config?
|
|
25
|
-
@html_options: hakumi_html_options
|
|
26
|
-
|
|
27
|
-
def initialize: (
|
|
28
|
-
?loading: bool,
|
|
29
|
-
?active: bool,
|
|
30
|
-
?avatar: skeleton_config | bool,
|
|
31
|
-
?title: skeleton_config | bool,
|
|
32
|
-
?paragraph: skeleton_config | bool,
|
|
33
|
-
?round: bool,
|
|
34
|
-
**hakumi_html_options html_options
|
|
35
|
-
) -> void
|
|
36
|
-
|
|
37
|
-
def loading?: () -> bool
|
|
38
|
-
|
|
39
|
-
def wrapper_attributes: () -> hakumi_html_options
|
|
40
|
-
|
|
41
|
-
def avatar?: () -> bool
|
|
42
|
-
|
|
43
|
-
def title?: () -> bool
|
|
44
|
-
|
|
45
|
-
def paragraph?: () -> bool
|
|
46
|
-
|
|
47
|
-
def avatar_classes: () -> String
|
|
48
|
-
|
|
49
|
-
def avatar_style: () -> String?
|
|
50
|
-
|
|
51
|
-
def title_style: () -> String?
|
|
52
|
-
|
|
53
|
-
def paragraph_row_widths: () -> Array[String]
|
|
54
|
-
|
|
55
|
-
def paragraph_row_style: (String? width) -> String?
|
|
56
|
-
|
|
57
|
-
def paragraph_rows: () -> Integer
|
|
58
|
-
|
|
59
|
-
private
|
|
60
|
-
|
|
61
|
-
def normalize_config: (untyped value) -> skeleton_config?
|
|
62
|
-
|
|
63
|
-
def wrapper_classes: () -> String
|
|
64
|
-
|
|
65
|
-
def avatar_size: () -> (skeleton_avatar_size | Numeric)
|
|
66
|
-
|
|
67
|
-
def avatar_shape: () -> skeleton_avatar_shape
|
|
68
|
-
|
|
69
|
-
def default_paragraph_widths: (Integer rows) -> Array[String]
|
|
70
|
-
|
|
71
|
-
def validate_props!: () -> void
|
|
72
|
-
|
|
73
|
-
def validate_inclusion_value: (Symbol name, untyped value, Array[untyped] allowed) -> void
|
|
74
|
-
end
|
|
75
|
-
end
|
|
76
|
-
end
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module HakumiComponents
|
|
4
|
-
module Skeleton
|
|
5
|
-
module Image
|
|
6
|
-
class Component < HakumiComponents::BaseComponent
|
|
7
|
-
@shape: Symbol
|
|
8
|
-
@active: bool
|
|
9
|
-
@html_options: hakumi_html_options
|
|
10
|
-
|
|
11
|
-
def initialize: (?shape: Symbol, ?active: bool, **hakumi_html_options html_options) -> void
|
|
12
|
-
|
|
13
|
-
def call: () -> String
|
|
14
|
-
|
|
15
|
-
private
|
|
16
|
-
|
|
17
|
-
def wrapper_classes: () -> String
|
|
18
|
-
def wrapper_attributes: () -> hakumi_html_options
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
end
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module HakumiComponents
|
|
4
|
-
module Skeleton
|
|
5
|
-
module Input
|
|
6
|
-
class Component < HakumiComponents::BaseComponent
|
|
7
|
-
@size: (Symbol | Integer)
|
|
8
|
-
@active: bool
|
|
9
|
-
@block: bool
|
|
10
|
-
@html_options: hakumi_html_options
|
|
11
|
-
|
|
12
|
-
def initialize: (?size: (Symbol | Integer), ?active: bool, ?block: bool, **hakumi_html_options html_options) -> void
|
|
13
|
-
|
|
14
|
-
def call: () -> String
|
|
15
|
-
|
|
16
|
-
private
|
|
17
|
-
|
|
18
|
-
def wrapper_classes: () -> String
|
|
19
|
-
def wrapper_attributes: () -> hakumi_html_options
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
end
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module HakumiComponents
|
|
4
|
-
module Skeleton
|
|
5
|
-
module Node
|
|
6
|
-
class Component < HakumiComponents::BaseComponent
|
|
7
|
-
@active: bool
|
|
8
|
-
@html_options: hakumi_html_options
|
|
9
|
-
|
|
10
|
-
def initialize: (?active: bool, **hakumi_html_options html_options) -> void
|
|
11
|
-
|
|
12
|
-
def call: () -> String
|
|
13
|
-
|
|
14
|
-
private
|
|
15
|
-
|
|
16
|
-
def wrapper_classes: () -> String
|
|
17
|
-
def wrapper_attributes: () -> hakumi_html_options
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
end
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module HakumiComponents
|
|
4
|
-
module Slider
|
|
5
|
-
class Component < HakumiComponents::BaseComponent
|
|
6
|
-
include HakumiComponents::Concerns::FormField
|
|
7
|
-
|
|
8
|
-
type numeric_or_string = Numeric | String
|
|
9
|
-
type slider_value = numeric_or_string | Array[numeric_or_string]
|
|
10
|
-
type mark_entry = { value: numeric_or_string, label: numeric_or_string }
|
|
11
|
-
type marks_hash = Hash[numeric_or_string, String]
|
|
12
|
-
type marks_array = Array[mark_entry | numeric_or_string]
|
|
13
|
-
type marks_input = marks_hash | marks_array
|
|
14
|
-
|
|
15
|
-
@name: String
|
|
16
|
-
@label: String?
|
|
17
|
-
@caption: String?
|
|
18
|
-
@value: slider_value?
|
|
19
|
-
@default_value: slider_value?
|
|
20
|
-
@min: numeric_or_string
|
|
21
|
-
@max: numeric_or_string
|
|
22
|
-
@step: numeric_or_string
|
|
23
|
-
@range: bool
|
|
24
|
-
@vertical: bool
|
|
25
|
-
@marks: Array[mark_entry]
|
|
26
|
-
@dots: bool
|
|
27
|
-
@tooltip_visible: bool?
|
|
28
|
-
@keyboard: bool
|
|
29
|
-
@disabled: bool
|
|
30
|
-
@allow_cross: bool
|
|
31
|
-
@handle_min: (numeric_or_string | Array[numeric_or_string])?
|
|
32
|
-
@handle_max: (numeric_or_string | Array[numeric_or_string])?
|
|
33
|
-
@standalone: bool
|
|
34
|
-
@required: bool
|
|
35
|
-
@errors: Array[String]
|
|
36
|
-
@html_attrs: hakumi_html_options
|
|
37
|
-
|
|
38
|
-
def initialize: (
|
|
39
|
-
?name: String?,
|
|
40
|
-
?label: String?,
|
|
41
|
-
?caption: String?,
|
|
42
|
-
?value: slider_value?,
|
|
43
|
-
?default_value: slider_value?,
|
|
44
|
-
?min: numeric_or_string,
|
|
45
|
-
?max: numeric_or_string,
|
|
46
|
-
?step: numeric_or_string,
|
|
47
|
-
?range: bool,
|
|
48
|
-
?vertical: bool,
|
|
49
|
-
?marks: marks_input?,
|
|
50
|
-
?dots: bool,
|
|
51
|
-
?tooltip_visible: bool?,
|
|
52
|
-
?keyboard: bool,
|
|
53
|
-
?disabled: bool,
|
|
54
|
-
?allow_cross: bool,
|
|
55
|
-
?handle_min: (numeric_or_string | Array[numeric_or_string])?,
|
|
56
|
-
?handle_max: (numeric_or_string | Array[numeric_or_string])?,
|
|
57
|
-
?standalone: bool,
|
|
58
|
-
?required: bool,
|
|
59
|
-
?errors: (Array[String] | String),
|
|
60
|
-
**hakumi_html_options html_attrs
|
|
61
|
-
) -> void
|
|
62
|
-
|
|
63
|
-
def wrapper_attributes: () -> hakumi_html_options
|
|
64
|
-
def input_name: () -> String
|
|
65
|
-
def input_id_for: (Integer index) -> String
|
|
66
|
-
def handle_count: () -> Integer
|
|
67
|
-
def marks?: () -> bool
|
|
68
|
-
def mark_style: (numeric_or_string value) -> String
|
|
69
|
-
def dot_values: () -> Array[numeric_or_string]
|
|
70
|
-
|
|
71
|
-
private
|
|
72
|
-
|
|
73
|
-
def validate_props!: () -> void
|
|
74
|
-
def validate_numeric_like!: (untyped value, String name) -> void
|
|
75
|
-
def validate_range_values!: (untyped value, String name) -> void
|
|
76
|
-
def component_html_class: () -> String
|
|
77
|
-
def tooltip_visible_class?: () -> bool
|
|
78
|
-
def tooltip_visible_value: () -> bool?
|
|
79
|
-
def data_value: (slider_value? value) -> String?
|
|
80
|
-
def handle_bounds_value: ((numeric_or_string | Array[numeric_or_string])? value) -> String?
|
|
81
|
-
def normalize_marks: (marks_input? marks) -> Array[Hash[Symbol, numeric_or_string]]
|
|
82
|
-
def position_percent: (numeric_or_string value) -> Numeric
|
|
83
|
-
end
|
|
84
|
-
end
|
|
85
|
-
end
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module HakumiComponents
|
|
4
|
-
module Space
|
|
5
|
-
module Compact
|
|
6
|
-
class Component < ViewComponent::Base
|
|
7
|
-
@direction: Symbol
|
|
8
|
-
@block: bool
|
|
9
|
-
@html_options: hakumi_html_options
|
|
10
|
-
|
|
11
|
-
def initialize: (?direction: Symbol, ?block: bool, **hakumi_html_options html_options) -> void
|
|
12
|
-
|
|
13
|
-
private
|
|
14
|
-
|
|
15
|
-
def html_attributes: () -> hakumi_html_options
|
|
16
|
-
def css_classes: () -> String
|
|
17
|
-
def inline_styles: () -> String
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
end
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module HakumiComponents
|
|
4
|
-
module Space
|
|
5
|
-
class Component < ViewComponent::Base
|
|
6
|
-
type space_direction = :horizontal | :vertical
|
|
7
|
-
type space_size = :small | :middle | :large | Integer
|
|
8
|
-
type space_align = :start | :center | :end | :baseline | :stretch
|
|
9
|
-
|
|
10
|
-
@direction: space_direction
|
|
11
|
-
@size: space_size
|
|
12
|
-
@align: space_align?
|
|
13
|
-
@wrap: bool
|
|
14
|
-
@block: bool
|
|
15
|
-
@split: untyped
|
|
16
|
-
@html_options: hakumi_html_options
|
|
17
|
-
|
|
18
|
-
def initialize: (
|
|
19
|
-
?direction: space_direction,
|
|
20
|
-
?size: space_size,
|
|
21
|
-
?align: space_align?,
|
|
22
|
-
?wrap: bool,
|
|
23
|
-
?block: bool,
|
|
24
|
-
?split: untyped,
|
|
25
|
-
**hakumi_html_options html_options
|
|
26
|
-
) -> void
|
|
27
|
-
|
|
28
|
-
attr_reader split: untyped
|
|
29
|
-
|
|
30
|
-
private
|
|
31
|
-
|
|
32
|
-
def html_attributes: () -> hakumi_html_options
|
|
33
|
-
|
|
34
|
-
def css_classes: () -> String
|
|
35
|
-
|
|
36
|
-
def inline_styles: () -> String
|
|
37
|
-
|
|
38
|
-
def call: () -> String?
|
|
39
|
-
|
|
40
|
-
def split_content: () -> String?
|
|
41
|
-
|
|
42
|
-
class ItemComponent < ViewComponent::Base
|
|
43
|
-
def call: () -> String
|
|
44
|
-
end
|
|
45
|
-
end
|
|
46
|
-
end
|
|
47
|
-
end
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module HakumiComponents
|
|
4
|
-
module Spin
|
|
5
|
-
class Component < HakumiComponents::BaseComponent
|
|
6
|
-
type spin_size = :small | :default | :large
|
|
7
|
-
type spin_percent = Numeric | :auto
|
|
8
|
-
|
|
9
|
-
SIZES: Array[spin_size]
|
|
10
|
-
|
|
11
|
-
# Extracts locals from controller params for dynamic rendering
|
|
12
|
-
def self.extract_controller_locals: (untyped params) -> Hash[Symbol, untyped]
|
|
13
|
-
|
|
14
|
-
def self.parse_delay: (untyped value) -> Numeric?
|
|
15
|
-
|
|
16
|
-
def self.parse_percent: (untyped value) -> (Numeric | :auto)?
|
|
17
|
-
|
|
18
|
-
@spinning: bool
|
|
19
|
-
@size: spin_size
|
|
20
|
-
@tip: String?
|
|
21
|
-
@delay: Numeric | String | nil
|
|
22
|
-
@indicator: untyped
|
|
23
|
-
@fullscreen: bool
|
|
24
|
-
@percent: spin_percent?
|
|
25
|
-
@html_options: hakumi_html_options
|
|
26
|
-
|
|
27
|
-
def initialize: (
|
|
28
|
-
?spinning: bool,
|
|
29
|
-
?size: spin_size?,
|
|
30
|
-
?tip: String?,
|
|
31
|
-
?delay: Numeric | String | nil,
|
|
32
|
-
?indicator: untyped,
|
|
33
|
-
?fullscreen: bool,
|
|
34
|
-
?percent: spin_percent?,
|
|
35
|
-
**hakumi_html_options html_options
|
|
36
|
-
) -> void
|
|
37
|
-
|
|
38
|
-
def wrapper_attributes: () -> hakumi_html_options
|
|
39
|
-
|
|
40
|
-
def nested?: () -> bool
|
|
41
|
-
|
|
42
|
-
def indicator_markup: () -> String?
|
|
43
|
-
|
|
44
|
-
def tip_markup: () -> String?
|
|
45
|
-
|
|
46
|
-
def show_text?: () -> bool
|
|
47
|
-
|
|
48
|
-
def progress?: () -> bool
|
|
49
|
-
|
|
50
|
-
def progress_auto?: () -> bool
|
|
51
|
-
|
|
52
|
-
def progress_component: () -> untyped
|
|
53
|
-
|
|
54
|
-
private
|
|
55
|
-
|
|
56
|
-
def validate_props!: () -> void
|
|
57
|
-
|
|
58
|
-
def wrapper_classes: () -> String
|
|
59
|
-
|
|
60
|
-
def data_attributes: () -> hakumi_html_options
|
|
61
|
-
|
|
62
|
-
def normalized_delay: () -> (Numeric | String | nil)
|
|
63
|
-
|
|
64
|
-
def percent_value: () -> (Numeric | :auto | String | nil)?
|
|
65
|
-
|
|
66
|
-
def spinning_class?: () -> bool
|
|
67
|
-
|
|
68
|
-
def progress_indicator: () -> String
|
|
69
|
-
|
|
70
|
-
def default_indicator: () -> String
|
|
71
|
-
|
|
72
|
-
def normalize_percent: (untyped value) -> spin_percent?
|
|
73
|
-
|
|
74
|
-
def progress_size: () -> Integer
|
|
75
|
-
end
|
|
76
|
-
end
|
|
77
|
-
end
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module HakumiComponents
|
|
4
|
-
module Splitter
|
|
5
|
-
class Component < HakumiComponents::BaseComponent
|
|
6
|
-
type splitter_layout = :horizontal | :vertical
|
|
7
|
-
|
|
8
|
-
@layout: splitter_layout
|
|
9
|
-
@resizable: bool
|
|
10
|
-
@html_options: hakumi_html_options
|
|
11
|
-
|
|
12
|
-
def initialize: (
|
|
13
|
-
?layout: splitter_layout,
|
|
14
|
-
?resizable: bool,
|
|
15
|
-
**hakumi_html_options html_options
|
|
16
|
-
) -> void
|
|
17
|
-
|
|
18
|
-
private
|
|
19
|
-
|
|
20
|
-
def html_attributes: () -> hakumi_html_options
|
|
21
|
-
|
|
22
|
-
def css_classes: () -> String
|
|
23
|
-
|
|
24
|
-
def inline_styles: () -> String
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
end
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module HakumiComponents
|
|
4
|
-
module Splitter
|
|
5
|
-
module Panel
|
|
6
|
-
class Component < ViewComponent::Base
|
|
7
|
-
@size: (Integer | String)?
|
|
8
|
-
@min: (Integer | String)?
|
|
9
|
-
@max: (Integer | String)?
|
|
10
|
-
@resizable: bool
|
|
11
|
-
# collapsible can be bool or hash config that gets JSON stringified
|
|
12
|
-
@collapsible: (bool | Hash[Symbol, untyped])
|
|
13
|
-
@html_options: hakumi_html_options
|
|
14
|
-
|
|
15
|
-
def initialize: (
|
|
16
|
-
?size: (Integer | String)?,
|
|
17
|
-
?min: (Integer | String)?,
|
|
18
|
-
?max: (Integer | String)?,
|
|
19
|
-
?resizable: bool,
|
|
20
|
-
# collapsible can be bool or hash with arbitrary config options
|
|
21
|
-
?collapsible: (bool | Hash[Symbol, untyped]),
|
|
22
|
-
**hakumi_html_options html_options
|
|
23
|
-
) -> void
|
|
24
|
-
|
|
25
|
-
private
|
|
26
|
-
|
|
27
|
-
def html_attributes: () -> hakumi_html_options
|
|
28
|
-
def css_classes: () -> String
|
|
29
|
-
def inline_styles: () -> String
|
|
30
|
-
def collapsible_config: () -> String
|
|
31
|
-
def horizontal_layout?: () -> bool
|
|
32
|
-
def vertical_layout?: () -> bool
|
|
33
|
-
end
|
|
34
|
-
end
|
|
35
|
-
end
|
|
36
|
-
end
|