lostcoords-ui 0.4.1 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +303 -89
  3. data/app/assets/tailwind/lostcoords/ui/avatar.css +6 -6
  4. data/app/assets/tailwind/lostcoords/ui/base.css +45 -0
  5. data/app/assets/tailwind/lostcoords/ui/card.css +20 -22
  6. data/app/assets/tailwind/lostcoords/ui/choice.css +39 -0
  7. data/app/assets/tailwind/lostcoords/ui/code-block.css +10 -0
  8. data/app/assets/tailwind/lostcoords/ui/components.css +25 -0
  9. data/app/assets/tailwind/lostcoords/ui/copy-button.css +9 -9
  10. data/app/assets/tailwind/lostcoords/ui/dialog.css +17 -17
  11. data/app/assets/tailwind/lostcoords/ui/disclosure.css +5 -5
  12. data/app/assets/tailwind/lostcoords/ui/emoji-picker.css +43 -43
  13. data/app/assets/tailwind/lostcoords/ui/field.css +2 -2
  14. data/app/assets/tailwind/lostcoords/ui/glass.css +9 -8
  15. data/app/assets/tailwind/lostcoords/ui/layout.css +2 -2
  16. data/app/assets/tailwind/lostcoords/ui/popover.css +14 -14
  17. data/app/assets/tailwind/lostcoords/ui/reading.css +24 -24
  18. data/app/assets/tailwind/lostcoords/ui/sheet.css +60 -60
  19. data/app/assets/tailwind/lostcoords/ui/squircle.css +7 -27
  20. data/app/assets/tailwind/lostcoords/ui/table.css +51 -0
  21. data/app/assets/tailwind/lostcoords/ui/theme.css +194 -225
  22. data/app/assets/tailwind/lostcoords/ui/tooltip.css +50 -0
  23. data/app/assets/tailwind/lostcoords/ui/typography.css +37 -61
  24. data/app/assets/tailwind/lostcoords/ui/ui.css +2 -21
  25. data/app/assets/tailwind/lostcoords/ui/utilities.css +14 -22
  26. data/app/helpers/lostcoords/ui/badge_helper.rb +67 -110
  27. data/app/helpers/lostcoords/ui/button_helper.rb +36 -33
  28. data/app/helpers/lostcoords/ui/card_helper.rb +9 -52
  29. data/app/helpers/lostcoords/ui/choice_helper.rb +83 -0
  30. data/app/helpers/lostcoords/ui/code_block_helper.rb +22 -0
  31. data/app/helpers/lostcoords/ui/copy_button_helper.rb +7 -7
  32. data/app/helpers/lostcoords/ui/description_list_helper.rb +12 -0
  33. data/app/helpers/lostcoords/ui/dialog_helper.rb +6 -13
  34. data/app/helpers/lostcoords/ui/feedback_helper.rb +25 -6
  35. data/app/helpers/lostcoords/ui/form_helper.rb +36 -59
  36. data/app/helpers/lostcoords/ui/glass_helper.rb +7 -7
  37. data/app/helpers/lostcoords/ui/layout_helper.rb +13 -11
  38. data/app/helpers/lostcoords/ui/menu_helper.rb +8 -8
  39. data/app/helpers/lostcoords/ui/navigation_helper.rb +131 -0
  40. data/app/helpers/lostcoords/ui/overlay_helper.rb +17 -0
  41. data/app/helpers/lostcoords/ui/primitives_helper.rb +39 -61
  42. data/app/helpers/lostcoords/ui/reading_helper.rb +2 -2
  43. data/app/helpers/lostcoords/ui/sheet_helper.rb +3 -45
  44. data/app/helpers/lostcoords/ui/structures_helper.rb +55 -64
  45. data/app/helpers/lostcoords/ui/table_helper.rb +11 -0
  46. data/app/helpers/lostcoords/ui/tailwind_helper.rb +13 -4
  47. data/app/helpers/lostcoords/ui/typography_helper.rb +11 -11
  48. data/app/javascript/lostcoords/ui/controllers/lc_code_block_controller.js +23 -0
  49. data/app/javascript/lostcoords/ui/controllers/{disclosure_controller.js → lc_collapsible_controller.js} +3 -3
  50. data/app/javascript/lostcoords/ui/controllers/{confirm_dialog_controller.js → lc_confirm_dialog_controller.js} +4 -4
  51. data/app/javascript/lostcoords/ui/controllers/{modal_controller.js → lc_dialog_controller.js} +1 -1
  52. data/app/javascript/lostcoords/ui/controllers/{emoji_picker_controller.js → lc_emoji_picker_controller.js} +4 -4
  53. data/app/javascript/lostcoords/ui/controllers/{row_menu_controller.js → lc_menu_controller.js} +3 -3
  54. data/app/javascript/lostcoords/ui/controllers/{ui_popover_controller.js → lc_popover_controller.js} +1 -1
  55. data/app/javascript/lostcoords/ui/controllers/{ui_selection_controller.js → lc_selection_controller.js} +1 -1
  56. data/app/javascript/lostcoords/ui/controllers/{sheet_controller.js → lc_sheet_controller.js} +15 -15
  57. data/app/javascript/lostcoords/ui/controllers/lc_tabs_controller.js +39 -0
  58. data/app/javascript/lostcoords/ui/controllers/{toast_controller.js → lc_toast_controller.js} +2 -2
  59. data/app/javascript/lostcoords/ui/controllers/lc_tooltip_controller.js +14 -0
  60. data/app/javascript/lostcoords/ui/helpers/catalog_picker.js +5 -5
  61. data/app/javascript/lostcoords/ui/helpers/context_dialog.js +6 -6
  62. data/app/javascript/lostcoords/ui/helpers/dialog.js +2 -2
  63. data/app/javascript/lostcoords/ui/helpers/dismiss_stack.js +7 -7
  64. data/app/javascript/lostcoords/ui/helpers/floating_panel.js +2 -2
  65. data/app/javascript/lostcoords/ui/helpers/sheet_motion.js +4 -4
  66. data/app/javascript/lostcoords/ui/index.js +51 -0
  67. data/app/views/lostcoords/ui/components/_emoji_picker.html.erb +30 -30
  68. data/app/views/lostcoords/ui/components/_lc_code_block.html.erb +18 -0
  69. data/app/views/lostcoords/ui/components/_lc_collapsible.html.erb +5 -0
  70. data/app/views/lostcoords/ui/components/_lc_dialog.html.erb +11 -8
  71. data/app/views/lostcoords/ui/components/_lc_floating_panel.html.erb +8 -0
  72. data/config/helper_renames.json +23 -25
  73. data/config/importmap.rb +10 -2
  74. data/config/locales/en.yml +23 -0
  75. data/config/locales/es.yml +23 -0
  76. data/config/locales/ja.yml +23 -0
  77. data/lib/lostcoords/ui/action_view.rb +5 -3
  78. data/lib/lostcoords/ui/builders.rb +1 -1
  79. data/lib/lostcoords/ui/form_builder.rb +113 -0
  80. data/lib/lostcoords/ui/parts.rb +154 -0
  81. data/lib/lostcoords/ui/tokens.rb +24 -1
  82. data/lib/lostcoords/ui/version.rb +1 -1
  83. metadata +33 -17
  84. data/app/views/lostcoords/ui/components/_form_alert.html.erb +0 -4
  85. data/app/views/lostcoords/ui/components/_lc_disclosure.html.erb +0 -5
  86. data/app/views/lostcoords/ui/components/_skeleton.html.erb +0 -4
  87. data/app/views/lostcoords/ui/components/_spinner.html.erb +0 -10
  88. data/app/views/lostcoords/ui/components/_ui_floating_panel.html.erb +0 -8
  89. /data/app/javascript/lostcoords/ui/controllers/{ui_copy_controller.js → lc_copy_controller.js} +0 -0
  90. /data/app/javascript/lostcoords/ui/controllers/{ui_toggle_controller.js → lc_toggle_controller.js} +0 -0
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lostcoords-ui
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lost Coordinates
@@ -86,7 +86,11 @@ files:
86
86
  - LICENSE
87
87
  - README.md
88
88
  - app/assets/tailwind/lostcoords/ui/avatar.css
89
+ - app/assets/tailwind/lostcoords/ui/base.css
89
90
  - app/assets/tailwind/lostcoords/ui/card.css
91
+ - app/assets/tailwind/lostcoords/ui/choice.css
92
+ - app/assets/tailwind/lostcoords/ui/code-block.css
93
+ - app/assets/tailwind/lostcoords/ui/components.css
90
94
  - app/assets/tailwind/lostcoords/ui/copy-button.css
91
95
  - app/assets/tailwind/lostcoords/ui/dialog.css
92
96
  - app/assets/tailwind/lostcoords/ui/disclosure.css
@@ -98,7 +102,9 @@ files:
98
102
  - app/assets/tailwind/lostcoords/ui/reading.css
99
103
  - app/assets/tailwind/lostcoords/ui/sheet.css
100
104
  - app/assets/tailwind/lostcoords/ui/squircle.css
105
+ - app/assets/tailwind/lostcoords/ui/table.css
101
106
  - app/assets/tailwind/lostcoords/ui/theme.css
107
+ - app/assets/tailwind/lostcoords/ui/tooltip.css
102
108
  - app/assets/tailwind/lostcoords/ui/typography.css
103
109
  - app/assets/tailwind/lostcoords/ui/ui.css
104
110
  - app/assets/tailwind/lostcoords/ui/utilities.css
@@ -106,7 +112,10 @@ files:
106
112
  - app/helpers/lostcoords/ui/badge_helper.rb
107
113
  - app/helpers/lostcoords/ui/button_helper.rb
108
114
  - app/helpers/lostcoords/ui/card_helper.rb
115
+ - app/helpers/lostcoords/ui/choice_helper.rb
116
+ - app/helpers/lostcoords/ui/code_block_helper.rb
109
117
  - app/helpers/lostcoords/ui/copy_button_helper.rb
118
+ - app/helpers/lostcoords/ui/description_list_helper.rb
110
119
  - app/helpers/lostcoords/ui/dialog_helper.rb
111
120
  - app/helpers/lostcoords/ui/emoji_picker_helper.rb
112
121
  - app/helpers/lostcoords/ui/feedback_helper.rb
@@ -115,25 +124,31 @@ files:
115
124
  - app/helpers/lostcoords/ui/icon_helper.rb
116
125
  - app/helpers/lostcoords/ui/layout_helper.rb
117
126
  - app/helpers/lostcoords/ui/menu_helper.rb
127
+ - app/helpers/lostcoords/ui/navigation_helper.rb
128
+ - app/helpers/lostcoords/ui/overlay_helper.rb
118
129
  - app/helpers/lostcoords/ui/primitives_helper.rb
119
130
  - app/helpers/lostcoords/ui/reading_helper.rb
120
131
  - app/helpers/lostcoords/ui/render_attributes_helper.rb
121
132
  - app/helpers/lostcoords/ui/sheet_helper.rb
122
133
  - app/helpers/lostcoords/ui/structures_helper.rb
134
+ - app/helpers/lostcoords/ui/table_helper.rb
123
135
  - app/helpers/lostcoords/ui/tailwind_helper.rb
124
136
  - app/helpers/lostcoords/ui/translation_helper.rb
125
137
  - app/helpers/lostcoords/ui/typography_helper.rb
126
- - app/javascript/lostcoords/ui/controllers/confirm_dialog_controller.js
127
- - app/javascript/lostcoords/ui/controllers/disclosure_controller.js
128
- - app/javascript/lostcoords/ui/controllers/emoji_picker_controller.js
129
- - app/javascript/lostcoords/ui/controllers/modal_controller.js
130
- - app/javascript/lostcoords/ui/controllers/row_menu_controller.js
131
- - app/javascript/lostcoords/ui/controllers/sheet_controller.js
132
- - app/javascript/lostcoords/ui/controllers/toast_controller.js
133
- - app/javascript/lostcoords/ui/controllers/ui_copy_controller.js
134
- - app/javascript/lostcoords/ui/controllers/ui_popover_controller.js
135
- - app/javascript/lostcoords/ui/controllers/ui_selection_controller.js
136
- - app/javascript/lostcoords/ui/controllers/ui_toggle_controller.js
138
+ - app/javascript/lostcoords/ui/controllers/lc_code_block_controller.js
139
+ - app/javascript/lostcoords/ui/controllers/lc_collapsible_controller.js
140
+ - app/javascript/lostcoords/ui/controllers/lc_confirm_dialog_controller.js
141
+ - app/javascript/lostcoords/ui/controllers/lc_copy_controller.js
142
+ - app/javascript/lostcoords/ui/controllers/lc_dialog_controller.js
143
+ - app/javascript/lostcoords/ui/controllers/lc_emoji_picker_controller.js
144
+ - app/javascript/lostcoords/ui/controllers/lc_menu_controller.js
145
+ - app/javascript/lostcoords/ui/controllers/lc_popover_controller.js
146
+ - app/javascript/lostcoords/ui/controllers/lc_selection_controller.js
147
+ - app/javascript/lostcoords/ui/controllers/lc_sheet_controller.js
148
+ - app/javascript/lostcoords/ui/controllers/lc_tabs_controller.js
149
+ - app/javascript/lostcoords/ui/controllers/lc_toast_controller.js
150
+ - app/javascript/lostcoords/ui/controllers/lc_toggle_controller.js
151
+ - app/javascript/lostcoords/ui/controllers/lc_tooltip_controller.js
137
152
  - app/javascript/lostcoords/ui/helpers/catalog_picker.js
138
153
  - app/javascript/lostcoords/ui/helpers/context_dialog.js
139
154
  - app/javascript/lostcoords/ui/helpers/dialog.js
@@ -143,14 +158,13 @@ files:
143
158
  - app/javascript/lostcoords/ui/helpers/sheet_motion.js
144
159
  - app/javascript/lostcoords/ui/helpers/top_layer.js
145
160
  - app/javascript/lostcoords/ui/helpers/viewport.js
161
+ - app/javascript/lostcoords/ui/index.js
146
162
  - app/views/lostcoords/ui/components/_emoji_picker.html.erb
147
163
  - app/views/lostcoords/ui/components/_emoji_picker_grid.html.erb
148
- - app/views/lostcoords/ui/components/_form_alert.html.erb
164
+ - app/views/lostcoords/ui/components/_lc_code_block.html.erb
165
+ - app/views/lostcoords/ui/components/_lc_collapsible.html.erb
149
166
  - app/views/lostcoords/ui/components/_lc_dialog.html.erb
150
- - app/views/lostcoords/ui/components/_lc_disclosure.html.erb
151
- - app/views/lostcoords/ui/components/_skeleton.html.erb
152
- - app/views/lostcoords/ui/components/_spinner.html.erb
153
- - app/views/lostcoords/ui/components/_ui_floating_panel.html.erb
167
+ - app/views/lostcoords/ui/components/_lc_floating_panel.html.erb
154
168
  - config/emoji_search_aliases.yml
155
169
  - config/emoji_search_names.yml
156
170
  - config/emoji_search_names_ja.yml
@@ -164,8 +178,10 @@ files:
164
178
  - lib/lostcoords/ui/builders.rb
165
179
  - lib/lostcoords/ui/components.rb
166
180
  - lib/lostcoords/ui/engine.rb
181
+ - lib/lostcoords/ui/form_builder.rb
167
182
  - lib/lostcoords/ui/helpers.rb
168
183
  - lib/lostcoords/ui/icons.rb
184
+ - lib/lostcoords/ui/parts.rb
169
185
  - lib/lostcoords/ui/rails.rb
170
186
  - lib/lostcoords/ui/resources.rb
171
187
  - lib/lostcoords/ui/tokens.rb
@@ -1,4 +0,0 @@
1
- <%= tag.div class: lc_form_alert_class(extra: local_assigns[:class]), data: { tone: local_assigns.fetch(:tone, :error) }, **local_assigns.fetch(:attributes, {}) do %>
2
- <%= lc_form_alert_icon(tone: local_assigns.fetch(:tone, :error)) %>
3
- <p class="m-0 min-w-0 text-pretty [overflow-wrap:anywhere]"><%= local_assigns[:message] %></p>
4
- <% end %>
@@ -1,5 +0,0 @@
1
- <%# locals: (title:, attributes:, content:) %>
2
- <%= tag.details(**attributes) do %>
3
- <summary class="cursor-pointer font-semibold"><%= title %></summary>
4
- <div class="pt-4"><%= content %></div>
5
- <% end %>
@@ -1,4 +0,0 @@
1
- <%# Decorative: the surrounding loading region conveys state. Pass sizing via :class. %>
2
- <%= tag.span class: lc_skeleton_class(extra: local_assigns.fetch(:class, "h-4 w-full")),
3
- "aria-hidden": "true",
4
- **local_assigns.fetch(:attributes, {}) %>
@@ -1,10 +0,0 @@
1
- <%# Inherits currentColor. Pass label: nil inside an already-labelled loading region. %>
2
- <% label = local_assigns.fetch(:label, "Loading…") %>
3
-
4
- <%= tag.span class: lc_spinner_class(size: local_assigns.fetch(:size, :base), extra: local_assigns[:class]),
5
- role: (label.present? ? "status" : nil),
6
- **local_assigns.fetch(:attributes, {}) do %>
7
- <% if label.present? %>
8
- <span class="sr-only"><%= label %></span>
9
- <% end %>
10
- <% end %>
@@ -1,8 +0,0 @@
1
- <%# locals: (id:, label:, title:, controller:, role:, attributes:, content:) %>
2
- <%= tag.div(class: "relative inline-flex", data: { controller: controller }) do %>
3
- <%= tag.button label, id: "#{id}-trigger", type: "button", class: lc_button_class(variant: :secondary), aria: { haspopup: role, expanded: false, controls: id }, data: { "#{controller}_target" => "trigger", action: "#{controller}#toggle" } %>
4
- <%= tag.div(**attributes) do %>
5
- <% if title %><h2 id="<%= id %>-title" class="font-semibold"><%= title %></h2><% end %>
6
- <%= content %>
7
- <% end %>
8
- <% end %>