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,39 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module HakumiComponents
|
|
4
|
-
module Divider
|
|
5
|
-
class Component < HakumiComponents::BaseComponent
|
|
6
|
-
type divider_orientation = :horizontal | :vertical
|
|
7
|
-
type divider_placement = :left | :center | :right
|
|
8
|
-
|
|
9
|
-
ORIENTATIONS: Array[divider_orientation]
|
|
10
|
-
PLACEMENTS: Array[divider_placement]
|
|
11
|
-
|
|
12
|
-
@orientation: divider_orientation
|
|
13
|
-
@dashed: bool
|
|
14
|
-
@plain: bool
|
|
15
|
-
@orientation_margin: divider_placement?
|
|
16
|
-
@html_options: hakumi_html_options
|
|
17
|
-
|
|
18
|
-
def initialize: (
|
|
19
|
-
?orientation: divider_orientation,
|
|
20
|
-
?dashed: bool,
|
|
21
|
-
?plain: bool,
|
|
22
|
-
?orientation_margin: divider_placement?,
|
|
23
|
-
**hakumi_html_options html_options
|
|
24
|
-
) -> void
|
|
25
|
-
|
|
26
|
-
def call: () -> String
|
|
27
|
-
|
|
28
|
-
private
|
|
29
|
-
|
|
30
|
-
def validate_props!: () -> void
|
|
31
|
-
|
|
32
|
-
def wrapper_classes: () -> String
|
|
33
|
-
|
|
34
|
-
def wrapper_attributes: () -> hakumi_html_options
|
|
35
|
-
|
|
36
|
-
def content_wrapper: () -> String?
|
|
37
|
-
end
|
|
38
|
-
end
|
|
39
|
-
end
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module HakumiComponents
|
|
4
|
-
module Drawer
|
|
5
|
-
class Component < HakumiComponents::BaseComponent
|
|
6
|
-
type drawer_placement = :left | :right | :top | :bottom
|
|
7
|
-
type drawer_size = :default | :large | Numeric | String
|
|
8
|
-
|
|
9
|
-
PLACEMENTS: Array[drawer_placement]
|
|
10
|
-
SIZES: Hash[Symbol, Integer]
|
|
11
|
-
|
|
12
|
-
# Extracts locals from controller params for dynamic rendering
|
|
13
|
-
def self.extract_controller_locals: (untyped params) -> Hash[Symbol, untyped]
|
|
14
|
-
|
|
15
|
-
@open: bool
|
|
16
|
-
@title: String?
|
|
17
|
-
@placement: drawer_placement
|
|
18
|
-
@size: drawer_size
|
|
19
|
-
@width: (Numeric | String)?
|
|
20
|
-
@height: (Numeric | String)?
|
|
21
|
-
@closable: bool
|
|
22
|
-
@mask: bool
|
|
23
|
-
@mask_closable: bool
|
|
24
|
-
@keyboard: bool
|
|
25
|
-
@footer: untyped
|
|
26
|
-
@extra: untyped
|
|
27
|
-
@destroy_on_close: bool
|
|
28
|
-
@html_attributes: hakumi_html_options
|
|
29
|
-
|
|
30
|
-
def initialize: (
|
|
31
|
-
?open: bool,
|
|
32
|
-
?title: String?,
|
|
33
|
-
?placement: drawer_placement,
|
|
34
|
-
?size: drawer_size,
|
|
35
|
-
?width: (Numeric | String)?,
|
|
36
|
-
?height: (Numeric | String)?,
|
|
37
|
-
?closable: bool,
|
|
38
|
-
?mask: bool,
|
|
39
|
-
?mask_closable: bool,
|
|
40
|
-
?keyboard: bool,
|
|
41
|
-
?footer: untyped,
|
|
42
|
-
?extra: untyped,
|
|
43
|
-
?destroy_on_close: bool,
|
|
44
|
-
**hakumi_html_options html_attributes
|
|
45
|
-
) -> void
|
|
46
|
-
|
|
47
|
-
def drawer_classes: () -> String
|
|
48
|
-
|
|
49
|
-
def root_attributes: () -> hakumi_html_options
|
|
50
|
-
|
|
51
|
-
def data_attributes: () -> hakumi_html_options
|
|
52
|
-
|
|
53
|
-
def wrapper_style: () -> String
|
|
54
|
-
|
|
55
|
-
def render_header?: () -> bool
|
|
56
|
-
|
|
57
|
-
def render_footer?: () -> bool
|
|
58
|
-
|
|
59
|
-
private
|
|
60
|
-
|
|
61
|
-
def resolve_size: () -> drawer_size
|
|
62
|
-
|
|
63
|
-
def validate_props!: () -> void
|
|
64
|
-
end
|
|
65
|
-
end
|
|
66
|
-
end
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module HakumiComponents
|
|
4
|
-
module Dropdown
|
|
5
|
-
class Component < HakumiComponents::BaseComponent
|
|
6
|
-
type dropdown_trigger = :hover | :click | :context_menu
|
|
7
|
-
type dropdown_placement = :bottom | :bottom_left | :bottom_right | :top | :top_left | :top_right
|
|
8
|
-
|
|
9
|
-
TRIGGERS: Array[dropdown_trigger]
|
|
10
|
-
PLACEMENTS: Array[dropdown_placement]
|
|
11
|
-
|
|
12
|
-
@trigger: dropdown_trigger
|
|
13
|
-
@placement: dropdown_placement
|
|
14
|
-
@disabled: bool
|
|
15
|
-
@html_options: hakumi_html_options
|
|
16
|
-
|
|
17
|
-
def initialize: (
|
|
18
|
-
?trigger: dropdown_trigger,
|
|
19
|
-
?placement: dropdown_placement,
|
|
20
|
-
?disabled: bool,
|
|
21
|
-
**hakumi_html_options html_options
|
|
22
|
-
) -> void
|
|
23
|
-
|
|
24
|
-
attr_reader trigger_type: dropdown_trigger
|
|
25
|
-
attr_reader placement: dropdown_placement
|
|
26
|
-
attr_reader disabled: bool
|
|
27
|
-
|
|
28
|
-
def dropdown_classes: () -> String
|
|
29
|
-
|
|
30
|
-
def menu_classes: () -> String
|
|
31
|
-
|
|
32
|
-
def stimulus_controller: () -> String
|
|
33
|
-
|
|
34
|
-
def stimulus_values: () -> Hash[Symbol, untyped]
|
|
35
|
-
|
|
36
|
-
def placement_class: () -> String
|
|
37
|
-
|
|
38
|
-
def wrapper_attributes: () -> hakumi_html_options
|
|
39
|
-
|
|
40
|
-
private
|
|
41
|
-
|
|
42
|
-
def validate_props!: () -> void
|
|
43
|
-
end
|
|
44
|
-
end
|
|
45
|
-
end
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module HakumiComponents
|
|
4
|
-
module Dropdown
|
|
5
|
-
module Item
|
|
6
|
-
class Component < HakumiComponents::BaseComponent
|
|
7
|
-
@key: String
|
|
8
|
-
@label: String?
|
|
9
|
-
@href: String?
|
|
10
|
-
@target: String?
|
|
11
|
-
@icon: hakumi_icon?
|
|
12
|
-
@disabled: bool
|
|
13
|
-
@danger: bool
|
|
14
|
-
@html_options: hakumi_html_options
|
|
15
|
-
|
|
16
|
-
def initialize: (
|
|
17
|
-
key: String,
|
|
18
|
-
?label: String?,
|
|
19
|
-
?href: String?,
|
|
20
|
-
?target: String?,
|
|
21
|
-
?icon: hakumi_icon?,
|
|
22
|
-
?disabled: bool,
|
|
23
|
-
?danger: bool,
|
|
24
|
-
**hakumi_html_options html_options
|
|
25
|
-
) -> void
|
|
26
|
-
|
|
27
|
-
attr_reader key: String
|
|
28
|
-
attr_reader label: String?
|
|
29
|
-
attr_reader href: String?
|
|
30
|
-
attr_reader target: String?
|
|
31
|
-
attr_reader icon: hakumi_icon?
|
|
32
|
-
attr_reader disabled: bool
|
|
33
|
-
attr_reader danger: bool
|
|
34
|
-
|
|
35
|
-
def item_classes: () -> String
|
|
36
|
-
|
|
37
|
-
def link?: () -> bool
|
|
38
|
-
|
|
39
|
-
def display_label: () -> (String | untyped)?
|
|
40
|
-
|
|
41
|
-
def icon_component: () -> (HakumiComponents::Icon::Component | hakumi_icon)?
|
|
42
|
-
end
|
|
43
|
-
end
|
|
44
|
-
end
|
|
45
|
-
end
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module HakumiComponents
|
|
4
|
-
module Empty
|
|
5
|
-
class Component < HakumiComponents::BaseComponent
|
|
6
|
-
type empty_image = :default | :simple
|
|
7
|
-
|
|
8
|
-
BUILT_IN_IMAGES: Array[empty_image]
|
|
9
|
-
DEFAULT_IMAGE_SVG: String
|
|
10
|
-
SIMPLE_IMAGE_SVG: String
|
|
11
|
-
DEFAULT_DESCRIPTION: String
|
|
12
|
-
|
|
13
|
-
@image: empty_image | String | untyped
|
|
14
|
-
@image_height: Integer?
|
|
15
|
-
@description: String | false
|
|
16
|
-
@html_options: hakumi_html_options
|
|
17
|
-
|
|
18
|
-
def initialize: (
|
|
19
|
-
?image: empty_image | String | untyped,
|
|
20
|
-
?image_height: Integer?,
|
|
21
|
-
?description: String | false,
|
|
22
|
-
**hakumi_html_options html_options
|
|
23
|
-
) -> void
|
|
24
|
-
|
|
25
|
-
def call: () -> String
|
|
26
|
-
|
|
27
|
-
private
|
|
28
|
-
|
|
29
|
-
def image_element: () -> String
|
|
30
|
-
|
|
31
|
-
def render_image: () -> String
|
|
32
|
-
|
|
33
|
-
def image_alt: () -> (String | false)
|
|
34
|
-
|
|
35
|
-
def description_element: () -> String?
|
|
36
|
-
|
|
37
|
-
def footer_element: () -> String?
|
|
38
|
-
end
|
|
39
|
-
end
|
|
40
|
-
end
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module HakumiComponents
|
|
4
|
-
module Flex
|
|
5
|
-
class Component < HakumiComponents::BaseComponent
|
|
6
|
-
type flex_wrap = :wrap | :nowrap | :"wrap-reverse"
|
|
7
|
-
type flex_justify = :start | :end | :center | :"space-between" | :"space-around" | :"space-evenly"
|
|
8
|
-
type flex_align = :start | :end | :center | :baseline | :stretch
|
|
9
|
-
type flex_gap = :small | :middle | :large | Numeric | String
|
|
10
|
-
|
|
11
|
-
WRAP_OPTIONS: Array[flex_wrap]
|
|
12
|
-
JUSTIFY_OPTIONS: Array[flex_justify]
|
|
13
|
-
ALIGN_OPTIONS: Array[flex_align]
|
|
14
|
-
GAP_OPTIONS: Array[Symbol]
|
|
15
|
-
|
|
16
|
-
@vertical: bool
|
|
17
|
-
@wrap: flex_wrap
|
|
18
|
-
@justify: flex_justify
|
|
19
|
-
@align: flex_align
|
|
20
|
-
@gap: flex_gap?
|
|
21
|
-
@component: Symbol
|
|
22
|
-
@html_options: hakumi_html_options
|
|
23
|
-
|
|
24
|
-
def initialize: (
|
|
25
|
-
?vertical: bool,
|
|
26
|
-
?wrap: flex_wrap,
|
|
27
|
-
?justify: flex_justify,
|
|
28
|
-
?align: flex_align,
|
|
29
|
-
?gap: flex_gap?,
|
|
30
|
-
?component: Symbol,
|
|
31
|
-
**hakumi_html_options html_options
|
|
32
|
-
) -> void
|
|
33
|
-
|
|
34
|
-
def call: () -> String
|
|
35
|
-
|
|
36
|
-
private
|
|
37
|
-
|
|
38
|
-
def validate_props!: () -> void
|
|
39
|
-
|
|
40
|
-
def wrapper_classes: () -> String
|
|
41
|
-
|
|
42
|
-
def wrapper_attributes: () -> hakumi_html_options
|
|
43
|
-
|
|
44
|
-
def normalize_prop: (Symbol prop) -> Symbol
|
|
45
|
-
end
|
|
46
|
-
end
|
|
47
|
-
end
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module HakumiComponents
|
|
4
|
-
module FloatButton
|
|
5
|
-
module BackTop
|
|
6
|
-
class Component < HakumiComponents::BaseComponent
|
|
7
|
-
DEFAULT_VISIBILITY: Integer
|
|
8
|
-
|
|
9
|
-
@icon: hakumi_icon?
|
|
10
|
-
@tooltip: String
|
|
11
|
-
@visibility_height: Integer
|
|
12
|
-
@target_selector: String?
|
|
13
|
-
@floating: bool
|
|
14
|
-
@placement: HakumiComponents::FloatButton::Component::float_button_placement
|
|
15
|
-
@offset: HakumiComponents::FloatButton::Component::offset_hash?
|
|
16
|
-
@button_options: Hash[Symbol, untyped]
|
|
17
|
-
@html_options: hakumi_html_options
|
|
18
|
-
|
|
19
|
-
def initialize: (
|
|
20
|
-
?icon: hakumi_icon?,
|
|
21
|
-
?tooltip: String,
|
|
22
|
-
?visibility_height: Integer,
|
|
23
|
-
?target_selector: String?,
|
|
24
|
-
?floating: bool,
|
|
25
|
-
?placement: HakumiComponents::FloatButton::Component::float_button_placement,
|
|
26
|
-
?offset: HakumiComponents::FloatButton::Component::offset_hash?,
|
|
27
|
-
?button_options: Hash[Symbol, untyped],
|
|
28
|
-
**hakumi_html_options html_options
|
|
29
|
-
) -> void
|
|
30
|
-
|
|
31
|
-
def call: () -> String
|
|
32
|
-
|
|
33
|
-
private
|
|
34
|
-
|
|
35
|
-
def back_top_html_options: () -> Hash[Symbol, untyped]
|
|
36
|
-
|
|
37
|
-
def back_top_button_options: () -> Hash[Symbol, untyped]
|
|
38
|
-
|
|
39
|
-
def append_controller: (String? existing, String controller) -> String
|
|
40
|
-
|
|
41
|
-
def append_action: (String? existing, String action) -> String
|
|
42
|
-
end
|
|
43
|
-
end
|
|
44
|
-
end
|
|
45
|
-
end
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module HakumiComponents
|
|
4
|
-
module FloatButton
|
|
5
|
-
class Component < HakumiComponents::BaseComponent
|
|
6
|
-
type float_button_type = :default | :primary
|
|
7
|
-
type float_button_shape = :circle | :square
|
|
8
|
-
type float_button_placement = :bottom_right | :bottom_left | :top_right | :top_left
|
|
9
|
-
type offset_hash = Hash[Symbol, (Integer | String)]
|
|
10
|
-
|
|
11
|
-
TYPES: Array[float_button_type]
|
|
12
|
-
SHAPES: Array[float_button_shape]
|
|
13
|
-
PLACEMENTS: Hash[float_button_placement, offset_hash]
|
|
14
|
-
|
|
15
|
-
@icon: hakumi_icon?
|
|
16
|
-
@description: String?
|
|
17
|
-
@tooltip: String?
|
|
18
|
-
@href: String?
|
|
19
|
-
@target: String?
|
|
20
|
-
@shape: float_button_shape
|
|
21
|
-
@type: float_button_type
|
|
22
|
-
@danger: bool
|
|
23
|
-
@badge: (Hash[Symbol, untyped] | untyped)?
|
|
24
|
-
@floating: bool
|
|
25
|
-
@placement: float_button_placement
|
|
26
|
-
@offset: offset_hash?
|
|
27
|
-
@button_options: Hash[Symbol, untyped]
|
|
28
|
-
@html_options: hakumi_html_options
|
|
29
|
-
|
|
30
|
-
def initialize: (
|
|
31
|
-
?icon: hakumi_icon?,
|
|
32
|
-
?description: String?,
|
|
33
|
-
?tooltip: String?,
|
|
34
|
-
?href: String?,
|
|
35
|
-
?target: String?,
|
|
36
|
-
?shape: float_button_shape,
|
|
37
|
-
?type: float_button_type,
|
|
38
|
-
?danger: bool,
|
|
39
|
-
?badge: (Hash[Symbol, untyped] | untyped)?,
|
|
40
|
-
?floating: bool,
|
|
41
|
-
?placement: float_button_placement,
|
|
42
|
-
?offset: offset_hash?,
|
|
43
|
-
?button_options: Hash[Symbol, untyped],
|
|
44
|
-
**hakumi_html_options html_options
|
|
45
|
-
) -> void
|
|
46
|
-
|
|
47
|
-
def call: () -> String
|
|
48
|
-
|
|
49
|
-
private
|
|
50
|
-
|
|
51
|
-
def validate_props!: () -> void
|
|
52
|
-
|
|
53
|
-
def float_button_markup: (?floating: bool) -> String
|
|
54
|
-
|
|
55
|
-
def interactive_tag: () -> Symbol
|
|
56
|
-
|
|
57
|
-
def icon_element: () -> String?
|
|
58
|
-
|
|
59
|
-
def description_element: () -> String?
|
|
60
|
-
|
|
61
|
-
def root_attributes: (bool floating) -> hakumi_html_options
|
|
62
|
-
|
|
63
|
-
def body_attributes: (Symbol tag_name) -> hakumi_html_options
|
|
64
|
-
|
|
65
|
-
def floating_style: () -> String?
|
|
66
|
-
|
|
67
|
-
def resolved_offset: () -> Hash[Symbol, (Integer | String)]
|
|
68
|
-
|
|
69
|
-
def dimension: ((Integer | String) value) -> String
|
|
70
|
-
|
|
71
|
-
def slot_content: () -> String?
|
|
72
|
-
|
|
73
|
-
def validate_description_support!: () -> void
|
|
74
|
-
|
|
75
|
-
def wrap_with_badge: (String markup) -> String
|
|
76
|
-
|
|
77
|
-
def merge_styles: (*String? styles) -> String?
|
|
78
|
-
end
|
|
79
|
-
end
|
|
80
|
-
end
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module HakumiComponents
|
|
4
|
-
module FloatButton
|
|
5
|
-
module Group
|
|
6
|
-
class Component < HakumiComponents::BaseComponent
|
|
7
|
-
type group_trigger = :click | :hover
|
|
8
|
-
type group_expand_direction = :top | :right | :bottom | :left
|
|
9
|
-
type group_item = Hash[Symbol, untyped]
|
|
10
|
-
|
|
11
|
-
SHAPES: Array[HakumiComponents::FloatButton::Component::float_button_shape]
|
|
12
|
-
TYPES: Array[HakumiComponents::FloatButton::Component::float_button_type]
|
|
13
|
-
TRIGGERS: Array[group_trigger]
|
|
14
|
-
EXPAND_DIRECTIONS: Array[group_expand_direction]
|
|
15
|
-
PLACEMENTS: Hash[HakumiComponents::FloatButton::Component::float_button_placement, HakumiComponents::FloatButton::Component::offset_hash]
|
|
16
|
-
|
|
17
|
-
@icon: hakumi_icon?
|
|
18
|
-
@tooltip: String?
|
|
19
|
-
@shape: HakumiComponents::FloatButton::Component::float_button_shape
|
|
20
|
-
@type: HakumiComponents::FloatButton::Component::float_button_type
|
|
21
|
-
@trigger: group_trigger
|
|
22
|
-
@open: bool?
|
|
23
|
-
@default_open: bool
|
|
24
|
-
@expand_direction: group_expand_direction
|
|
25
|
-
@items: Array[group_item]
|
|
26
|
-
@floating: bool
|
|
27
|
-
@placement: HakumiComponents::FloatButton::Component::float_button_placement
|
|
28
|
-
@offset: HakumiComponents::FloatButton::Component::offset_hash?
|
|
29
|
-
@button_options: Hash[Symbol, untyped]
|
|
30
|
-
@html_options: hakumi_html_options
|
|
31
|
-
|
|
32
|
-
def initialize: (
|
|
33
|
-
?icon: hakumi_icon?,
|
|
34
|
-
?tooltip: String?,
|
|
35
|
-
?shape: HakumiComponents::FloatButton::Component::float_button_shape,
|
|
36
|
-
?type: HakumiComponents::FloatButton::Component::float_button_type,
|
|
37
|
-
?trigger: group_trigger,
|
|
38
|
-
?open: bool?,
|
|
39
|
-
?default_open: bool,
|
|
40
|
-
?expand_direction: group_expand_direction,
|
|
41
|
-
?items: Array[group_item],
|
|
42
|
-
?floating: bool,
|
|
43
|
-
?placement: HakumiComponents::FloatButton::Component::float_button_placement,
|
|
44
|
-
?offset: HakumiComponents::FloatButton::Component::offset_hash?,
|
|
45
|
-
?button_options: Hash[Symbol, untyped],
|
|
46
|
-
**hakumi_html_options html_options
|
|
47
|
-
) -> void
|
|
48
|
-
|
|
49
|
-
def call: () -> String
|
|
50
|
-
|
|
51
|
-
private
|
|
52
|
-
|
|
53
|
-
def validate_props!: () -> void
|
|
54
|
-
|
|
55
|
-
def root_attributes: () -> hakumi_html_options
|
|
56
|
-
|
|
57
|
-
def base_attrs_data: () -> Hash[Symbol, untyped]
|
|
58
|
-
|
|
59
|
-
def apply_controller_data!: (Hash[Symbol, untyped] data) -> void
|
|
60
|
-
|
|
61
|
-
def trigger_button: () -> String
|
|
62
|
-
|
|
63
|
-
def trigger_button_options: () -> Hash[Symbol, untyped]
|
|
64
|
-
|
|
65
|
-
def actions_wrapper: () -> String
|
|
66
|
-
|
|
67
|
-
def actions_attributes: () -> hakumi_html_options
|
|
68
|
-
|
|
69
|
-
def actions_content: () -> String?
|
|
70
|
-
|
|
71
|
-
def render_item: (group_item item) -> String
|
|
72
|
-
|
|
73
|
-
def floating_style: () -> String?
|
|
74
|
-
|
|
75
|
-
def resolved_offset: () -> Hash[Symbol, (Integer | String)]
|
|
76
|
-
|
|
77
|
-
def dimension: ((Integer | String) value) -> String
|
|
78
|
-
|
|
79
|
-
def open_state?: () -> bool
|
|
80
|
-
|
|
81
|
-
def controlled?: () -> bool
|
|
82
|
-
|
|
83
|
-
def use_controller?: () -> bool
|
|
84
|
-
|
|
85
|
-
def attach_click_action?: () -> bool
|
|
86
|
-
|
|
87
|
-
def open_for_click?: () -> bool
|
|
88
|
-
|
|
89
|
-
def append_controller: (String? existing, String name) -> String
|
|
90
|
-
|
|
91
|
-
def append_action: (String? existing, String action) -> String
|
|
92
|
-
end
|
|
93
|
-
end
|
|
94
|
-
end
|
|
95
|
-
end
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module HakumiComponents
|
|
4
|
-
module FloatButton
|
|
5
|
-
module GroupCluster
|
|
6
|
-
class Component < HakumiComponents::BaseComponent
|
|
7
|
-
type cluster_direction = :horizontal | :vertical
|
|
8
|
-
type cluster_gap_size = :small | :middle | :large
|
|
9
|
-
type cluster_gap = cluster_gap_size | Integer | String
|
|
10
|
-
type group_spec = Hash[Symbol, untyped] | untyped
|
|
11
|
-
|
|
12
|
-
DIRECTIONS: Array[cluster_direction]
|
|
13
|
-
GAP_SIZES: Hash[cluster_gap_size, String]
|
|
14
|
-
PLACEMENTS: Hash[HakumiComponents::FloatButton::Component::float_button_placement, HakumiComponents::FloatButton::Component::offset_hash]
|
|
15
|
-
|
|
16
|
-
@groups: Array[group_spec]
|
|
17
|
-
@placement: HakumiComponents::FloatButton::Component::float_button_placement
|
|
18
|
-
@offset: HakumiComponents::FloatButton::Component::offset_hash?
|
|
19
|
-
@direction: cluster_direction
|
|
20
|
-
@gap: cluster_gap
|
|
21
|
-
@floating: bool
|
|
22
|
-
@html_options: hakumi_html_options
|
|
23
|
-
|
|
24
|
-
def initialize: (
|
|
25
|
-
groups: Array[group_spec],
|
|
26
|
-
?placement: HakumiComponents::FloatButton::Component::float_button_placement,
|
|
27
|
-
?offset: HakumiComponents::FloatButton::Component::offset_hash?,
|
|
28
|
-
?direction: cluster_direction,
|
|
29
|
-
?gap: cluster_gap,
|
|
30
|
-
?floating: bool,
|
|
31
|
-
**hakumi_html_options html_options
|
|
32
|
-
) -> void
|
|
33
|
-
|
|
34
|
-
def call: () -> String
|
|
35
|
-
|
|
36
|
-
private
|
|
37
|
-
|
|
38
|
-
def cluster_attributes: () -> hakumi_html_options
|
|
39
|
-
|
|
40
|
-
def cluster_style: () -> String?
|
|
41
|
-
|
|
42
|
-
def placement_style: () -> String?
|
|
43
|
-
|
|
44
|
-
def gap_style: () -> String?
|
|
45
|
-
|
|
46
|
-
def resolved_offset: () -> Hash[Symbol, (Integer | String)]
|
|
47
|
-
|
|
48
|
-
def dimension: ((Integer | String) value) -> String
|
|
49
|
-
|
|
50
|
-
def render_group: (group_spec group_spec) -> String
|
|
51
|
-
|
|
52
|
-
def render_group_content: (group_spec group_spec) -> String
|
|
53
|
-
|
|
54
|
-
def renderable_component?: (untyped object) -> bool
|
|
55
|
-
|
|
56
|
-
def validate_gap_symbol!: () -> void
|
|
57
|
-
end
|
|
58
|
-
end
|
|
59
|
-
end
|
|
60
|
-
end
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module HakumiComponents
|
|
4
|
-
module Form
|
|
5
|
-
module Item
|
|
6
|
-
class Component < HakumiComponents::BaseComponent
|
|
7
|
-
@label: String?
|
|
8
|
-
@caption: String?
|
|
9
|
-
@errors: Array[String]
|
|
10
|
-
@required: bool
|
|
11
|
-
@field_id: String?
|
|
12
|
-
@html_options: hakumi_html_options
|
|
13
|
-
|
|
14
|
-
def initialize: (
|
|
15
|
-
?label: String?,
|
|
16
|
-
?caption: String?,
|
|
17
|
-
?errors: (Array[String] | String),
|
|
18
|
-
?required: bool,
|
|
19
|
-
?field_id: String?,
|
|
20
|
-
**hakumi_html_options html_options
|
|
21
|
-
) -> void
|
|
22
|
-
|
|
23
|
-
def call: () -> String
|
|
24
|
-
|
|
25
|
-
private
|
|
26
|
-
|
|
27
|
-
def has_error?: () -> bool
|
|
28
|
-
def wrapper_attributes: () -> hakumi_html_options
|
|
29
|
-
def wrapper_content: () -> String
|
|
30
|
-
def label_content: () -> String?
|
|
31
|
-
def control_content: () -> String
|
|
32
|
-
def control_input_content: () -> String
|
|
33
|
-
def explain_content: () -> String?
|
|
34
|
-
def error_content: () -> String
|
|
35
|
-
def caption_content: () -> String
|
|
36
|
-
end
|
|
37
|
-
end
|
|
38
|
-
end
|
|
39
|
-
end
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module HakumiComponents
|
|
4
|
-
class FormBuilder < ActionView::Helpers::FormBuilder
|
|
5
|
-
# Public methods - use untyped for options hash to avoid type conflicts with Rails
|
|
6
|
-
def text_field: (Symbol method, **untyped options) -> String
|
|
7
|
-
def password_field: (Symbol method, **untyped options) -> String
|
|
8
|
-
def text_area: (Symbol method, **untyped options) -> String
|
|
9
|
-
def number_field: (Symbol method, **untyped options) -> String
|
|
10
|
-
def radio_button: (Symbol method, untyped tag_value, **untyped options) -> String
|
|
11
|
-
def collection_radio_buttons: (Symbol method, untyped collection, untyped value_method, untyped text_method, **untyped options) -> String
|
|
12
|
-
def check_box: (Symbol method, **untyped options) -> String
|
|
13
|
-
def select: (Symbol method, untyped? choices, **untyped options) -> String
|
|
14
|
-
def tree_select: (Symbol method, untyped? choices, **untyped options) -> String
|
|
15
|
-
def date_picker: (Symbol method, **untyped options) -> String
|
|
16
|
-
def mentions_field: (Symbol method, **untyped options) -> String
|
|
17
|
-
def slider_field: (Symbol method, **untyped options) -> String
|
|
18
|
-
def rate_field: (Symbol method, **untyped options) -> String
|
|
19
|
-
def autocomplete_field: (Symbol method, untyped? choices, **untyped options) -> String
|
|
20
|
-
def cascader_field: (Symbol method, untyped? choices, **untyped options) -> String
|
|
21
|
-
def checkbox_field: (Symbol method, **untyped options) -> String
|
|
22
|
-
def color_picker_field: (Symbol method, **untyped options) -> String
|
|
23
|
-
def time_picker_field: (Symbol method, **untyped options) -> String
|
|
24
|
-
def transfer_field: (Symbol method, untyped? data_source, **untyped options) -> String
|
|
25
|
-
def upload_field: (Symbol method, **untyped options) -> String
|
|
26
|
-
def submit: (String? value, **untyped options) -> String
|
|
27
|
-
|
|
28
|
-
private
|
|
29
|
-
|
|
30
|
-
# Private helper methods
|
|
31
|
-
def field_configuration: (Symbol method, Hash[Symbol, untyped] options, ?id_suffix: String?) -> Hash[Symbol, untyped]
|
|
32
|
-
def enhance_options_with_introspection!: (Symbol method, Hash[Symbol, untyped] options) -> (Hash[Symbol, untyped] | nil)
|
|
33
|
-
def render_form_field: (Class component_class, Symbol method, ?config_overrides: Hash[Symbol, untyped], **untyped options) -> String
|
|
34
|
-
def object_value: (Symbol method) -> untyped
|
|
35
|
-
def object_errors: (Symbol method) -> Array[String]
|
|
36
|
-
end
|
|
37
|
-
end
|