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,97 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module HakumiComponents
|
|
4
|
-
module Statistic
|
|
5
|
-
class Component < HakumiComponents::BaseComponent
|
|
6
|
-
include ActionView::Helpers::NumberHelper
|
|
7
|
-
|
|
8
|
-
DEFAULT_DURATION: Integer
|
|
9
|
-
DEFAULT_COUNTDOWN_FORMAT: String
|
|
10
|
-
|
|
11
|
-
@title: untyped
|
|
12
|
-
@value: untyped
|
|
13
|
-
@precision: Integer?
|
|
14
|
-
@prefix: untyped
|
|
15
|
-
@suffix: untyped
|
|
16
|
-
@animated: bool
|
|
17
|
-
@duration: (Integer | Float)
|
|
18
|
-
@countdown: bool
|
|
19
|
-
@format: String?
|
|
20
|
-
@aria_label: String?
|
|
21
|
-
@html_options: hakumi_html_options
|
|
22
|
-
@numeric_value: (Integer | Float)?
|
|
23
|
-
|
|
24
|
-
def self.extract_controller_locals: (untyped params) -> Hash[Symbol, untyped]
|
|
25
|
-
|
|
26
|
-
def self.parse_value_param: (untyped value) -> (Numeric | untyped)?
|
|
27
|
-
|
|
28
|
-
def self.parse_number: (untyped value) -> Numeric?
|
|
29
|
-
|
|
30
|
-
def self.parse_integer: (untyped value) -> Integer?
|
|
31
|
-
|
|
32
|
-
def self.truthy_param?: (untyped value) -> bool
|
|
33
|
-
|
|
34
|
-
def initialize: (
|
|
35
|
-
?title: untyped,
|
|
36
|
-
?value: untyped,
|
|
37
|
-
?precision: Integer?,
|
|
38
|
-
?prefix: untyped,
|
|
39
|
-
?suffix: untyped,
|
|
40
|
-
?animated: bool,
|
|
41
|
-
?duration: (Integer | Float),
|
|
42
|
-
?countdown: bool,
|
|
43
|
-
?format: String?,
|
|
44
|
-
?aria_label: String?,
|
|
45
|
-
**hakumi_html_options html_options
|
|
46
|
-
) -> void
|
|
47
|
-
|
|
48
|
-
def wrapper_attributes: () -> hakumi_html_options
|
|
49
|
-
|
|
50
|
-
def title_content: () -> untyped
|
|
51
|
-
|
|
52
|
-
def prefix_content: () -> untyped
|
|
53
|
-
|
|
54
|
-
def suffix_content: () -> untyped
|
|
55
|
-
|
|
56
|
-
def display_value: () -> String?
|
|
57
|
-
|
|
58
|
-
def countdown?: () -> bool
|
|
59
|
-
|
|
60
|
-
def animated?: () -> bool
|
|
61
|
-
|
|
62
|
-
def countdown_target_timestamp: () -> Integer?
|
|
63
|
-
|
|
64
|
-
def countdown_format: () -> String?
|
|
65
|
-
|
|
66
|
-
def numeric_value: () -> (Integer | Float)?
|
|
67
|
-
|
|
68
|
-
private
|
|
69
|
-
|
|
70
|
-
def validate_props!: () -> void
|
|
71
|
-
|
|
72
|
-
def wrapper_classes: () -> String
|
|
73
|
-
|
|
74
|
-
def data_attributes: () -> hakumi_html_options
|
|
75
|
-
|
|
76
|
-
def formatted_numeric_value: () -> String
|
|
77
|
-
|
|
78
|
-
def formatted_countdown_value: () -> String
|
|
79
|
-
|
|
80
|
-
def countdown_remaining_ms: () -> Integer
|
|
81
|
-
|
|
82
|
-
def numeric_value?: () -> (Integer | Float | bool | nil)
|
|
83
|
-
|
|
84
|
-
def normalize_countdown_target: (untyped value) -> Time?
|
|
85
|
-
|
|
86
|
-
def format_duration: ((Integer | Float) milliseconds, String format) -> String
|
|
87
|
-
|
|
88
|
-
def normalize_precision: (untyped value) -> Integer?
|
|
89
|
-
|
|
90
|
-
def normalize_duration: (untyped value) -> Numeric
|
|
91
|
-
|
|
92
|
-
def normalize_format: (untyped value) -> String?
|
|
93
|
-
|
|
94
|
-
def normalize_string: (untyped value) -> String?
|
|
95
|
-
end
|
|
96
|
-
end
|
|
97
|
-
end
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module HakumiComponents
|
|
4
|
-
module Steps
|
|
5
|
-
class Component < HakumiComponents::BaseComponent
|
|
6
|
-
type steps_direction = :horizontal | :vertical
|
|
7
|
-
type steps_type = :default | :navigation | :inline
|
|
8
|
-
type steps_size = :default | :small
|
|
9
|
-
type steps_status = :wait | :process | :finish | :error
|
|
10
|
-
type steps_label_placement = :horizontal | :vertical
|
|
11
|
-
type steps_variant = :filled | :outlined
|
|
12
|
-
|
|
13
|
-
DIRECTIONS: Array[steps_direction]
|
|
14
|
-
TYPES: Array[steps_type]
|
|
15
|
-
SIZES: Array[steps_size]
|
|
16
|
-
STATUSES: Array[steps_status]
|
|
17
|
-
LABEL_PLACEMENTS: Array[steps_label_placement]
|
|
18
|
-
VARIANTS: Array[steps_variant]
|
|
19
|
-
|
|
20
|
-
@current: Integer
|
|
21
|
-
@direction: steps_direction
|
|
22
|
-
@type: steps_type
|
|
23
|
-
@size: steps_size
|
|
24
|
-
@status: steps_status
|
|
25
|
-
@label_placement: steps_label_placement?
|
|
26
|
-
@percent: Integer?
|
|
27
|
-
@progress_dot: bool
|
|
28
|
-
@responsive: bool
|
|
29
|
-
@initial: Integer
|
|
30
|
-
@clickable: bool
|
|
31
|
-
@variant: steps_variant
|
|
32
|
-
@html_options: hakumi_html_options
|
|
33
|
-
|
|
34
|
-
def initialize: (
|
|
35
|
-
?current: Integer,
|
|
36
|
-
?direction: steps_direction,
|
|
37
|
-
?type: steps_type,
|
|
38
|
-
?size: steps_size,
|
|
39
|
-
?status: steps_status,
|
|
40
|
-
?label_placement: steps_label_placement?,
|
|
41
|
-
?percent: Integer?,
|
|
42
|
-
?progress_dot: bool,
|
|
43
|
-
?responsive: bool,
|
|
44
|
-
?initial: Integer,
|
|
45
|
-
?clickable: bool,
|
|
46
|
-
?variant: steps_variant,
|
|
47
|
-
**hakumi_html_options html_options
|
|
48
|
-
) -> void
|
|
49
|
-
|
|
50
|
-
attr_reader current: Integer
|
|
51
|
-
attr_reader direction: steps_direction
|
|
52
|
-
attr_reader type: steps_type
|
|
53
|
-
attr_reader size: steps_size
|
|
54
|
-
attr_reader status: steps_status
|
|
55
|
-
attr_reader label_placement: steps_label_placement?
|
|
56
|
-
attr_reader percent: Integer?
|
|
57
|
-
attr_reader progress_dot: bool
|
|
58
|
-
attr_reader responsive: bool
|
|
59
|
-
attr_reader initial: Integer
|
|
60
|
-
attr_reader clickable: bool
|
|
61
|
-
attr_reader variant: steps_variant
|
|
62
|
-
|
|
63
|
-
def steps_classes: () -> String
|
|
64
|
-
|
|
65
|
-
def effective_label_placement: () -> steps_label_placement
|
|
66
|
-
|
|
67
|
-
def wrapper_attributes: () -> hakumi_html_options
|
|
68
|
-
|
|
69
|
-
def stimulus_controller: () -> String
|
|
70
|
-
|
|
71
|
-
def stimulus_data: () -> Hash[(Symbol | String), untyped]
|
|
72
|
-
|
|
73
|
-
def item_status: (Integer index) -> steps_status
|
|
74
|
-
|
|
75
|
-
def item_clickable?: (Integer index) -> bool
|
|
76
|
-
|
|
77
|
-
private
|
|
78
|
-
|
|
79
|
-
def validate_props!: () -> void
|
|
80
|
-
end
|
|
81
|
-
end
|
|
82
|
-
end
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module HakumiComponents
|
|
4
|
-
module Steps
|
|
5
|
-
module Item
|
|
6
|
-
class Component < HakumiComponents::BaseComponent
|
|
7
|
-
@title: String?
|
|
8
|
-
@description: String?
|
|
9
|
-
@status: Symbol?
|
|
10
|
-
@icon: hakumi_icon?
|
|
11
|
-
@disabled: bool
|
|
12
|
-
@html_options: hakumi_html_options
|
|
13
|
-
|
|
14
|
-
def initialize: (
|
|
15
|
-
?title: String?,
|
|
16
|
-
?description: String?,
|
|
17
|
-
?status: Symbol?,
|
|
18
|
-
?icon: hakumi_icon?,
|
|
19
|
-
?disabled: bool,
|
|
20
|
-
**hakumi_html_options html_options
|
|
21
|
-
) -> void
|
|
22
|
-
|
|
23
|
-
def call: () -> String
|
|
24
|
-
|
|
25
|
-
def step_classes: () -> String
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
|
-
end
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module HakumiComponents
|
|
4
|
-
module Switch
|
|
5
|
-
class Component < HakumiComponents::BaseComponent
|
|
6
|
-
include HakumiComponents::Concerns::FormField
|
|
7
|
-
|
|
8
|
-
SIZES: Array[hakumi_size_standard]
|
|
9
|
-
|
|
10
|
-
@name: String
|
|
11
|
-
@label: String?
|
|
12
|
-
@caption: String?
|
|
13
|
-
@checked: bool
|
|
14
|
-
@disabled: bool
|
|
15
|
-
@loading: bool
|
|
16
|
-
@size: hakumi_size_standard
|
|
17
|
-
@checked_text: String?
|
|
18
|
-
@unchecked_text: String?
|
|
19
|
-
@standalone: bool
|
|
20
|
-
@required: bool
|
|
21
|
-
@errors: Array[String]
|
|
22
|
-
@wrapper_class: String?
|
|
23
|
-
@html_options: hakumi_html_options
|
|
24
|
-
|
|
25
|
-
def initialize: (
|
|
26
|
-
?name: String?,
|
|
27
|
-
?label: String?,
|
|
28
|
-
?caption: String?,
|
|
29
|
-
?checked: bool?,
|
|
30
|
-
?default_checked: bool,
|
|
31
|
-
?disabled: bool,
|
|
32
|
-
?loading: bool,
|
|
33
|
-
?size: hakumi_size_standard,
|
|
34
|
-
?checked_text: String?,
|
|
35
|
-
?unchecked_text: String?,
|
|
36
|
-
?standalone: bool,
|
|
37
|
-
?required: bool,
|
|
38
|
-
?errors: (Array[String] | String),
|
|
39
|
-
**hakumi_html_options html_options
|
|
40
|
-
) -> void
|
|
41
|
-
|
|
42
|
-
private
|
|
43
|
-
|
|
44
|
-
def validate_props!: () -> void
|
|
45
|
-
def wrapper_classes: () -> String
|
|
46
|
-
def wrapper_attributes: () -> hakumi_html_options
|
|
47
|
-
def input_attributes: () -> hakumi_html_options
|
|
48
|
-
def checked_content: () -> String?
|
|
49
|
-
def unchecked_content: () -> String?
|
|
50
|
-
end
|
|
51
|
-
end
|
|
52
|
-
end
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module HakumiComponents
|
|
4
|
-
module Table
|
|
5
|
-
module Column
|
|
6
|
-
class Component < HakumiComponents::BaseComponent
|
|
7
|
-
@title: String
|
|
8
|
-
@data_index: (String | Symbol)?
|
|
9
|
-
@key: (String | Symbol)?
|
|
10
|
-
@align: (:left | :center | :right)?
|
|
11
|
-
@width: (String | Integer)?
|
|
12
|
-
@ellipsis: (bool | Hash[Symbol, untyped])
|
|
13
|
-
@sorter: untyped # Proc or bool
|
|
14
|
-
@sort_directions: (Array[Symbol] | nil)
|
|
15
|
-
@sort_order: (Symbol | nil)
|
|
16
|
-
@default_sort_order: (Symbol | nil)
|
|
17
|
-
@filters: (Array[Hash[Symbol, untyped]] | nil)
|
|
18
|
-
@filter_multiple: bool
|
|
19
|
-
@filtered_value: (Array[untyped] | nil)
|
|
20
|
-
@default_filtered_value: (Array[untyped] | nil)
|
|
21
|
-
@filter_mode: (Symbol | nil)
|
|
22
|
-
@filter_search: (bool | nil)
|
|
23
|
-
@hidden: bool
|
|
24
|
-
@on_cell: untyped # Proc or nil
|
|
25
|
-
@class_name: (String | nil)
|
|
26
|
-
@options: Hash[Symbol, untyped]
|
|
27
|
-
@block: (Proc | nil)
|
|
28
|
-
|
|
29
|
-
def initialize: (
|
|
30
|
-
title: String,
|
|
31
|
-
?data_index: (String | Symbol)?,
|
|
32
|
-
?key: (String | Symbol)?,
|
|
33
|
-
?align: (:left | :center | :right)?,
|
|
34
|
-
?width: (String | Integer)?,
|
|
35
|
-
?ellipsis: (bool | Hash[Symbol, untyped]),
|
|
36
|
-
?sorter: untyped,
|
|
37
|
-
?sort_directions: (Array[Symbol] | nil),
|
|
38
|
-
?sort_order: (Symbol | nil),
|
|
39
|
-
?default_sort_order: (Symbol | nil),
|
|
40
|
-
?filters: (Array[Hash[Symbol, untyped]] | nil),
|
|
41
|
-
?filter_multiple: bool,
|
|
42
|
-
?filtered_value: (Array[untyped] | nil),
|
|
43
|
-
?default_filtered_value: (Array[untyped] | nil),
|
|
44
|
-
?filter_mode: (Symbol | nil),
|
|
45
|
-
?filter_search: (bool | nil),
|
|
46
|
-
?hidden: bool,
|
|
47
|
-
?on_cell: untyped,
|
|
48
|
-
?class_name: (String | nil),
|
|
49
|
-
**untyped options
|
|
50
|
-
) { () -> untyped } -> void
|
|
51
|
-
|
|
52
|
-
# Converts column component to hash for Table component consumption
|
|
53
|
-
def to_h: () -> Hash[Symbol, untyped]
|
|
54
|
-
end
|
|
55
|
-
end
|
|
56
|
-
end
|
|
57
|
-
end
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module HakumiComponents
|
|
4
|
-
module Table
|
|
5
|
-
module ColumnGroup
|
|
6
|
-
class Component < HakumiComponents::BaseComponent
|
|
7
|
-
@title: String?
|
|
8
|
-
# @children is not actually used - ViewComponent slots manage columns
|
|
9
|
-
@html_options: hakumi_html_options
|
|
10
|
-
|
|
11
|
-
def initialize: (?title: String?, **hakumi_html_options html_options) -> void
|
|
12
|
-
|
|
13
|
-
def call: () -> String
|
|
14
|
-
|
|
15
|
-
# Returns column group config hash with title, key, align, width, hidden, children
|
|
16
|
-
def to_h: () -> Hash[Symbol, untyped]
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
end
|
|
@@ -1,279 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module HakumiComponents
|
|
4
|
-
module Table
|
|
5
|
-
class Component < HakumiComponents::BaseComponent
|
|
6
|
-
include Concerns::Columns
|
|
7
|
-
include Concerns::Editable
|
|
8
|
-
include Concerns::FixedColumns
|
|
9
|
-
include Concerns::Ellipsis
|
|
10
|
-
|
|
11
|
-
# Type aliases for Table component
|
|
12
|
-
type table_size = :default | :middle | :small
|
|
13
|
-
type row_selection_type = :checkbox | :radio
|
|
14
|
-
type sort_direction = :ascend | :descend
|
|
15
|
-
type fixed_side = :left | :right
|
|
16
|
-
type responsive_breakpoint = :xs | :sm | :md | :lg | :xl | :xxl
|
|
17
|
-
type editable_mode = :cell | :row
|
|
18
|
-
type editable_trigger = :click | :dblclick
|
|
19
|
-
type editable_input_type = :text | :number | :textarea | :select
|
|
20
|
-
type row_button_action = :edit | :save | :cancel
|
|
21
|
-
|
|
22
|
-
# Hash types for complex options
|
|
23
|
-
type row_selection_options = {
|
|
24
|
-
type: row_selection_type,
|
|
25
|
-
selected_row_keys: Array[String | Integer],
|
|
26
|
-
selectedRowKeys: Array[String | Integer],
|
|
27
|
-
preserve_selected_row_keys: bool,
|
|
28
|
-
preserveSelectedRowKeys: bool,
|
|
29
|
-
selections: untyped
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
type expandable_options = {
|
|
33
|
-
expanded_row_keys: Array[String | Integer],
|
|
34
|
-
expandedRowKeys: Array[String | Integer],
|
|
35
|
-
default_expanded_row_keys: Array[String | Integer],
|
|
36
|
-
defaultExpandedRowKeys: Array[String | Integer],
|
|
37
|
-
expanded_row_render: untyped, # Proc type
|
|
38
|
-
show_expand_column: bool
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
type scroll_options = {
|
|
42
|
-
x: (String | Integer | nil),
|
|
43
|
-
y: (String | Integer | nil)
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
type editable_options = {
|
|
47
|
-
mode: editable_mode,
|
|
48
|
-
trigger: editable_trigger
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
type row_drag_options = {
|
|
52
|
-
enabled: bool,
|
|
53
|
-
handle: bool
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
# Column hash type - complex structure, using untyped for Proc fields
|
|
57
|
-
type column_hash = {
|
|
58
|
-
title: String,
|
|
59
|
-
data_index: (String | Symbol)?,
|
|
60
|
-
key: (String | Symbol)?,
|
|
61
|
-
align: (:left | :center | :right)?,
|
|
62
|
-
width: (String | Integer)?,
|
|
63
|
-
ellipsis: (bool | Hash[Symbol, untyped])?,
|
|
64
|
-
sorter: untyped, # Proc or bool
|
|
65
|
-
sort_directions: Array[sort_direction]?,
|
|
66
|
-
sort_order: sort_direction?,
|
|
67
|
-
default_sort_order: sort_direction?,
|
|
68
|
-
filters: Array[Hash[Symbol, untyped]]?,
|
|
69
|
-
filter_multiple: bool?,
|
|
70
|
-
filtered_value: Array[untyped]?,
|
|
71
|
-
default_filtered_value: Array[untyped]?,
|
|
72
|
-
filter_mode: Symbol?,
|
|
73
|
-
filter_search: bool?,
|
|
74
|
-
hidden: bool?,
|
|
75
|
-
on_cell: untyped, # Proc returning Hash
|
|
76
|
-
class_name: String?,
|
|
77
|
-
render: untyped, # Proc for custom rendering
|
|
78
|
-
children: Array[column_hash]?,
|
|
79
|
-
fixed: fixed_side?,
|
|
80
|
-
responsive: Array[responsive_breakpoint]?,
|
|
81
|
-
editable: (bool | Hash[Symbol, untyped])?,
|
|
82
|
-
should_cell_update: (String | Symbol)?,
|
|
83
|
-
selection: bool?,
|
|
84
|
-
expand: bool?,
|
|
85
|
-
drag_handle: bool?,
|
|
86
|
-
sort_value: untyped # Proc or Symbol
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
type pagination_options = {
|
|
90
|
-
total: Integer,
|
|
91
|
-
current: Integer,
|
|
92
|
-
page_size: Integer,
|
|
93
|
-
pageSize: Integer,
|
|
94
|
-
page: Integer,
|
|
95
|
-
href: String?,
|
|
96
|
-
turbo_frame: String?,
|
|
97
|
-
turbo_action: Symbol?,
|
|
98
|
-
sort_field_param: String?,
|
|
99
|
-
sort_order_param: String?,
|
|
100
|
-
server_side: bool?,
|
|
101
|
-
page_param: String?,
|
|
102
|
-
per_page_param: String?,
|
|
103
|
-
preserve_params: bool?,
|
|
104
|
-
size: hakumi_size_standard?,
|
|
105
|
-
align: (:left | :center | :right)?,
|
|
106
|
-
simple: bool?,
|
|
107
|
-
show_size_changer: bool?,
|
|
108
|
-
show_quick_jumper: bool?,
|
|
109
|
-
page_size_options: Array[Integer]?,
|
|
110
|
-
show_total: (bool | untyped)?, # bool or Proc
|
|
111
|
-
hide_on_single_page: bool?,
|
|
112
|
-
prev_text: String?,
|
|
113
|
-
next_text: String?
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
SIZES: Array[table_size]
|
|
117
|
-
ROW_SELECTION_TYPES: Array[row_selection_type]
|
|
118
|
-
SORT_DIRECTIONS: Array[sort_direction]
|
|
119
|
-
FIXED_SIDES: Array[fixed_side]
|
|
120
|
-
RESPONSIVE_BREAKPOINTS: Array[responsive_breakpoint]
|
|
121
|
-
ROW_BUTTON_ACTIONS: Array[row_button_action]
|
|
122
|
-
|
|
123
|
-
SELECTION_COLUMN: Symbol
|
|
124
|
-
EXPAND_COLUMN: Symbol
|
|
125
|
-
|
|
126
|
-
@columns_data: (Array[column_hash] | nil)
|
|
127
|
-
@data_source: Array[untyped]
|
|
128
|
-
@row_key: (Symbol | String | untyped) # Can be Proc
|
|
129
|
-
@size: table_size
|
|
130
|
-
@bordered: bool
|
|
131
|
-
@title: (String | untyped)? # String or ViewComponent
|
|
132
|
-
@footer: (String | untyped)? # String or ViewComponent
|
|
133
|
-
@row_selection: (row_selection_options | Hash[Symbol, untyped])?
|
|
134
|
-
@expandable: (expandable_options | Hash[Symbol, untyped])?
|
|
135
|
-
@pagination: (pagination_options | Hash[Symbol, untyped] | untyped)? # Can be ViewComponent
|
|
136
|
-
@summary: untyped # Proc or String
|
|
137
|
-
@empty_text: (String | untyped)? # String, ViewComponent, or Proc
|
|
138
|
-
@sort_directions: Array[sort_direction]
|
|
139
|
-
@filter_on_close: bool
|
|
140
|
-
@filter_mode: Symbol
|
|
141
|
-
@filter_search: bool
|
|
142
|
-
@children_column_name: Symbol
|
|
143
|
-
@indent_size: Integer
|
|
144
|
-
@scroll: (scroll_options | Hash[Symbol, untyped])?
|
|
145
|
-
@scroll_x: (String | nil)
|
|
146
|
-
@scroll_y: (String | nil)
|
|
147
|
-
@sticky: bool
|
|
148
|
-
@row_class_name: (String | untyped)? # String or Proc
|
|
149
|
-
@editable: (editable_options | Hash[Symbol, untyped])?
|
|
150
|
-
@row_drag: (row_drag_options | Hash[Symbol, untyped])?
|
|
151
|
-
@column_drag: bool
|
|
152
|
-
@data_url: String?
|
|
153
|
-
@html_options: hakumi_html_options
|
|
154
|
-
@selected_row_keys: Array[String]
|
|
155
|
-
@row_selection_type: (row_selection_type | nil)
|
|
156
|
-
@row_selection_preserve: bool
|
|
157
|
-
@row_selection_selections: untyped
|
|
158
|
-
@expanded_row_keys: Array[String]
|
|
159
|
-
@header_rows: untyped
|
|
160
|
-
@display_rows: Array[Hash[Symbol, untyped]]
|
|
161
|
-
@leaf_columns: Array[column_hash]
|
|
162
|
-
@normalized_columns: Array[column_hash]
|
|
163
|
-
@first_data_column: (column_hash | nil)
|
|
164
|
-
@fixed_offsets: Hash[Symbol, Hash[Symbol, untyped]]
|
|
165
|
-
|
|
166
|
-
# Class methods
|
|
167
|
-
def self.extract_controller_locals: (Hash[Symbol, untyped] params) -> Hash[Symbol, untyped]
|
|
168
|
-
def self.parse_json_param: (untyped value) -> untyped
|
|
169
|
-
|
|
170
|
-
def initialize: (
|
|
171
|
-
?columns: (Array[column_hash] | nil),
|
|
172
|
-
?data_source: Array[untyped],
|
|
173
|
-
?row_key: (Symbol | String | untyped),
|
|
174
|
-
?size: table_size,
|
|
175
|
-
?bordered: bool,
|
|
176
|
-
?title: (String | untyped)?,
|
|
177
|
-
?footer: (String | untyped)?,
|
|
178
|
-
?row_selection: (row_selection_options | Hash[Symbol, untyped])?,
|
|
179
|
-
?expandable: (expandable_options | Hash[Symbol, untyped])?,
|
|
180
|
-
?pagination: (pagination_options | Hash[Symbol, untyped] | untyped)?,
|
|
181
|
-
?summary: untyped,
|
|
182
|
-
?empty_text: (String | untyped)?,
|
|
183
|
-
?sort_directions: (Array[sort_direction] | sort_direction),
|
|
184
|
-
?filter_on_close: bool,
|
|
185
|
-
?filter_mode: Symbol,
|
|
186
|
-
?filter_search: bool,
|
|
187
|
-
?children_column_name: Symbol,
|
|
188
|
-
?indent_size: Integer,
|
|
189
|
-
?scroll: (scroll_options | Hash[Symbol, untyped])?,
|
|
190
|
-
?sticky: bool,
|
|
191
|
-
?row_class_name: (String | untyped)?,
|
|
192
|
-
?editable: (editable_options | Hash[Symbol, untyped])?,
|
|
193
|
-
?row_drag: (row_drag_options | Hash[Symbol, untyped])?,
|
|
194
|
-
?column_drag: bool,
|
|
195
|
-
?data_url: String?,
|
|
196
|
-
**hakumi_html_options html_options
|
|
197
|
-
) -> void
|
|
198
|
-
|
|
199
|
-
attr_reader row_selection: (row_selection_options | Hash[Symbol, untyped])?
|
|
200
|
-
attr_reader expandable: (expandable_options | Hash[Symbol, untyped])?
|
|
201
|
-
attr_reader pagination: (pagination_options | Hash[Symbol, untyped] | untyped)?
|
|
202
|
-
attr_reader summary: untyped
|
|
203
|
-
|
|
204
|
-
def table_classes: () -> String
|
|
205
|
-
def table_container_attributes: () -> hakumi_html_options
|
|
206
|
-
def table_attributes: () -> hakumi_html_options
|
|
207
|
-
def container_classes: () -> String
|
|
208
|
-
def wrapper_attributes: () -> hakumi_html_options
|
|
209
|
-
def header_rows: () -> Array[Array[Hash[Symbol, untyped]]]
|
|
210
|
-
def display_rows: () -> Array[Hash[Symbol, untyped]]
|
|
211
|
-
def row_key_for: (untyped row, Integer index) -> (String | Integer | untyped)
|
|
212
|
-
def row_selected?: (String row_key) -> bool
|
|
213
|
-
def row_classes: (untyped row, Integer row_index, String row_key) -> String
|
|
214
|
-
def cell_attributes: (column_hash column, untyped row, Integer row_index, Integer depth, ?String? row_key, ?untyped raw_value) -> hakumi_html_options
|
|
215
|
-
def header_cell_attributes: (column_hash column, col_span: Integer, row_span: Integer) -> hakumi_html_options
|
|
216
|
-
def cell_content: (column_hash column, untyped row, Integer row_index, ?untyped raw_value) -> untyped
|
|
217
|
-
def render_cell_display: (column_hash column, untyped content, untyped raw_value, untyped row, Integer row_index) -> String
|
|
218
|
-
def empty_state: () -> String
|
|
219
|
-
def pagination_component: () -> untyped
|
|
220
|
-
def ajax_pagination_component: () -> untyped
|
|
221
|
-
def summary_content: () -> untyped
|
|
222
|
-
def scroll_styles: () -> String
|
|
223
|
-
def table_style: () -> String?
|
|
224
|
-
def selection_column?: () -> bool
|
|
225
|
-
def selection_actions?: () -> bool
|
|
226
|
-
def selection_all_enabled?: () -> bool
|
|
227
|
-
def expanded_row?: (String row_key) -> bool
|
|
228
|
-
def expanded_row_content: (untyped row, Integer row_index) -> untyped
|
|
229
|
-
def header_filter_options: (column_hash column) -> Array[untyped]
|
|
230
|
-
def column_sortable?: (column_hash column) -> bool
|
|
231
|
-
def column_filterable?: (column_hash column) -> bool
|
|
232
|
-
def column_filter_multiple?: (column_hash column) -> bool
|
|
233
|
-
def default_filtered_values: (column_hash column) -> Array[untyped]
|
|
234
|
-
def default_sort_order: (column_hash column) -> (sort_direction | nil)
|
|
235
|
-
def current_sort_state: () -> (Hash[Symbol, untyped] | nil)
|
|
236
|
-
def header_cell_classes: (column_hash column) -> String
|
|
237
|
-
def cell_classes: (column_hash column) -> String
|
|
238
|
-
def selection_header_state: () -> Hash[Symbol, bool]
|
|
239
|
-
def fixed_columns?: () -> bool
|
|
240
|
-
|
|
241
|
-
private
|
|
242
|
-
|
|
243
|
-
def normalize_row_selection!: () -> void
|
|
244
|
-
def normalize_expandable!: () -> void
|
|
245
|
-
def validate_props!: () -> void
|
|
246
|
-
def normalize_scroll: (untyped value) -> (Hash[Symbol, String?] | nil)
|
|
247
|
-
def fixed_offsets: () -> Hash[Symbol, Hash[Symbol, untyped]]
|
|
248
|
-
def apply_fixed_column_attributes!: (Hash[Symbol, untyped] attrs, column_hash column, header: bool) -> void
|
|
249
|
-
def apply_editable_attributes!: (Hash[Symbol, untyped] attrs, column_hash column) -> void
|
|
250
|
-
def compute_fixed_offsets: (Array[column_hash] leaf_columns) -> void
|
|
251
|
-
def fixed_column_width!: (column_hash column) -> Float
|
|
252
|
-
def numeric_width: (untyped value) -> (Float | nil)
|
|
253
|
-
def ellipsis_config: (column_hash column) -> (bool | Hash[Symbol, untyped] | nil)
|
|
254
|
-
def normalize_ellipsis_option: (untyped option) -> (Hash[Symbol, untyped] | nil)
|
|
255
|
-
def normalize_ellipsis_tooltip_option: (untyped option) -> (Hash[Symbol, untyped] | nil)
|
|
256
|
-
def ellipsis_title: (untyped config, untyped raw_value, untyped content_fragment) -> (String | nil)
|
|
257
|
-
def ellipsis_tooltip_component: (untyped config, untyped raw_value, untyped row, Integer row_index) -> untyped
|
|
258
|
-
def responsive_classes: (column_hash column) -> Array[String]
|
|
259
|
-
def extract_sort_value: (column_hash column, untyped row, untyped raw_value) -> untyped
|
|
260
|
-
def normalize_responsive_breakpoints: (untyped value) -> (Array[responsive_breakpoint] | nil)
|
|
261
|
-
def normalize_pagination_options: (Hash[Symbol, untyped] options) -> Hash[Symbol, untyped]
|
|
262
|
-
def columns_data: () -> Array[column_hash]
|
|
263
|
-
def build_display_rows: () -> Array[Hash[Symbol, untyped]]
|
|
264
|
-
def flatten_tree: (Array[untyped] rows, ?Integer depth) -> Array[Hash[Symbol, untyped]]
|
|
265
|
-
def apply_pagination: (Array[Hash[Symbol, untyped]] rows) -> Array[Hash[Symbol, untyped]]
|
|
266
|
-
def value_from_row: (untyped row, (Symbol | String)? data_index) -> untyped
|
|
267
|
-
def selection_cell: (untyped row, Integer row_index) -> Hash[Symbol, untyped]
|
|
268
|
-
def expand_cell: (untyped row, Integer row_index) -> Hash[Symbol, untyped]
|
|
269
|
-
def normalize_editable: (untyped value) -> (Hash[Symbol, untyped] | nil)
|
|
270
|
-
def normalize_row_drag: (untyped value) -> (Hash[Symbol, untyped] | nil)
|
|
271
|
-
def normalize_column_editable: (untyped value) -> (Hash[Symbol, untyped] | nil)
|
|
272
|
-
def normalize_should_cell_update: (untyped value) -> (String | nil)
|
|
273
|
-
def editable_config_json: () -> (String | nil)
|
|
274
|
-
def columns_config_json: () -> String
|
|
275
|
-
def cell_editable_payload: (column_hash column) -> (Hash[Symbol, untyped] | nil)
|
|
276
|
-
def apply_should_cell_update_attributes!: (Hash[Symbol, untyped] attrs, column_hash column) -> void
|
|
277
|
-
end
|
|
278
|
-
end
|
|
279
|
-
end
|