keystone_ui 0.16.0 → 0.17.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 (54) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/keystone_ui/file_upload_controller.js +2 -4
  3. data/app/components/keystone/ui/accordion_component.rb +9 -9
  4. data/app/components/keystone/ui/bottom_nav_component.rb +1 -1
  5. data/app/components/keystone/ui/bottom_nav_item_component.rb +2 -2
  6. data/app/components/keystone/ui/bucket_component.rb +9 -9
  7. data/app/components/keystone/ui/bucket_series_component.rb +1 -1
  8. data/app/components/keystone/ui/card_link_component.rb +4 -4
  9. data/app/components/keystone/ui/chart_card_component.rb +2 -2
  10. data/app/components/keystone/ui/checkbox_row_component.rb +4 -4
  11. data/app/components/keystone/ui/code_component.rb +3 -3
  12. data/app/components/keystone/ui/color_picker_component.html.erb +1 -1
  13. data/app/components/keystone/ui/color_picker_component.rb +4 -2
  14. data/app/components/keystone/ui/column_picker_component.rb +4 -4
  15. data/app/components/keystone/ui/copy_button_component.rb +1 -1
  16. data/app/components/keystone/ui/cta_banner_component.rb +7 -7
  17. data/app/components/keystone/ui/data_table_component.html.erb +4 -4
  18. data/app/components/keystone/ui/data_table_component.rb +14 -10
  19. data/app/components/keystone/ui/disclosure_component.rb +4 -4
  20. data/app/components/keystone/ui/feature_grid_component.rb +13 -13
  21. data/app/components/keystone/ui/file_upload_component.rb +10 -10
  22. data/app/components/keystone/ui/form_component.rb +1 -1
  23. data/app/components/keystone/ui/form_field_component.rb +2 -2
  24. data/app/components/keystone/ui/form_page_component.rb +2 -2
  25. data/app/components/keystone/ui/funnel_component.rb +12 -12
  26. data/app/components/keystone/ui/grid_component.rb +3 -3
  27. data/app/components/keystone/ui/hero_component.rb +11 -11
  28. data/app/components/keystone/ui/mobile_actions_component.rb +2 -2
  29. data/app/components/keystone/ui/mobile_header_component.rb +4 -4
  30. data/app/components/keystone/ui/modal_component.rb +5 -5
  31. data/app/components/keystone/ui/multi_select_component.rb +4 -4
  32. data/app/components/keystone/ui/nav_dropdown_component.rb +4 -4
  33. data/app/components/keystone/ui/nav_item_component.rb +1 -1
  34. data/app/components/keystone/ui/navbar_component.rb +1 -1
  35. data/app/components/keystone/ui/option_card_component.rb +2 -2
  36. data/app/components/keystone/ui/panel_component.rb +3 -3
  37. data/app/components/keystone/ui/pipeline_component.rb +14 -14
  38. data/app/components/keystone/ui/progress_component.rb +3 -3
  39. data/app/components/keystone/ui/radio_card_component.rb +4 -4
  40. data/app/components/keystone/ui/settings_link_component.html.erb +1 -1
  41. data/app/components/keystone/ui/settings_link_component.rb +3 -2
  42. data/app/components/keystone/ui/show_page_component.rb +2 -2
  43. data/app/components/keystone/ui/stat_card_component.html.erb +3 -3
  44. data/app/components/keystone/ui/stat_card_component.rb +17 -15
  45. data/app/components/keystone/ui/swipe_deck_component.html.erb +6 -6
  46. data/app/components/keystone/ui/swipe_deck_component.rb +7 -1
  47. data/app/components/keystone/ui/tab_switcher_component.rb +3 -3
  48. data/app/components/keystone/ui/theme_toggle_component.rb +2 -2
  49. data/lib/keystone_ui/source_css.rb +0 -1
  50. data/lib/keystone_ui/version.rb +1 -1
  51. data/the_local/agents/keystone_ui-info.md +12 -0
  52. data/the_local/agents/keystone_ui-install.md +27 -2
  53. metadata +3 -4
  54. data/app/assets/tailwind/keystone_ui_engine/nav.css +0 -175
@@ -1,175 +0,0 @@
1
- /* Bottom navigation bar */
2
- .bottom-nav {
3
- background: var(--base-bg-low);
4
- border-top: 1px solid var(--base-border-tertiary);
5
- bottom: 0;
6
- display: flex;
7
- justify-content: space-around;
8
- left: 0;
9
- padding-bottom: env(safe-area-inset-bottom);
10
- position: fixed;
11
- right: 0;
12
- z-index: 40;
13
-
14
- @media (min-width: 1024px) {
15
- display: none;
16
- }
17
-
18
- &::after {
19
- content: '';
20
- position: absolute;
21
- top: 100%;
22
- left: 0;
23
- right: 0;
24
- height: 100px;
25
- background: inherit;
26
- }
27
- }
28
-
29
- .bottom-nav-item {
30
- align-items: center;
31
- color: var(--base-text-tertiary);
32
- display: flex;
33
- flex: 1;
34
- flex-direction: column;
35
- gap: 2px;
36
- justify-content: center;
37
- min-height: 56px;
38
- padding: 8px 4px;
39
- text-decoration: none;
40
-
41
- &:hover,
42
- &:active {
43
- color: var(--base-text-secondary);
44
- }
45
-
46
- &.active {
47
- color: var(--text-primary);
48
- }
49
-
50
- svg {
51
- height: 24px;
52
- width: 24px;
53
- }
54
- }
55
-
56
- .bottom-nav-label {
57
- font-size: 10px;
58
- font-weight: 500;
59
- line-height: 1;
60
- }
61
-
62
- /* Nav dropdown for desktop area navigation */
63
- .nav-dropdown {
64
- position: relative;
65
- width: 100%;
66
-
67
- @media (min-width: 1024px) {
68
- width: auto;
69
- }
70
- }
71
-
72
- .nav-dropdown-trigger {
73
- align-items: center;
74
- color: var(--base-text);
75
- display: flex;
76
- font-size: 14px;
77
- gap: 4px;
78
- justify-content: space-between;
79
- padding: 12px 16px;
80
- text-wrap: nowrap;
81
- width: 100%;
82
-
83
- @media (min-width: 1024px) {
84
- padding: 8px 4px;
85
- width: auto;
86
- }
87
-
88
- &:hover {
89
- color: var(--base-text-secondary);
90
- }
91
-
92
- &.active {
93
- color: var(--text-primary);
94
- font-weight: 600;
95
-
96
- @media (min-width: 1024px) {
97
- box-shadow: inset 0 -4px 0 0 var(--border-primary);
98
- }
99
- }
100
- }
101
-
102
- .nav-dropdown-caret {
103
- height: 16px;
104
- width: 16px;
105
- transition: transform 0.2s ease;
106
- }
107
-
108
- .nav-dropdown:has(.nav-dropdown-menu:not(.hidden)) .nav-dropdown-caret {
109
- transform: rotate(180deg);
110
- }
111
-
112
- .nav-dropdown-menu {
113
- background: var(--base-bg-base);
114
- position: relative;
115
- width: 100%;
116
- z-index: 50;
117
-
118
- @media (min-width: 1024px) {
119
- background: var(--base-bg-low);
120
- border: 1px solid var(--base-border-tertiary);
121
- border-radius: 8px;
122
- box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
123
- min-width: 200px;
124
- position: absolute;
125
- top: 100%;
126
- left: 0;
127
- margin-top: 4px;
128
- }
129
-
130
- ul {
131
- list-style: none;
132
- margin: 0;
133
- padding: 0;
134
- }
135
-
136
- li a,
137
- & > a {
138
- color: var(--base-text);
139
- display: block;
140
- font-size: 14px;
141
- padding: 12px 16px 12px 32px;
142
- text-decoration: none;
143
- white-space: nowrap;
144
-
145
- @media (min-width: 1024px) {
146
- padding: 8px 16px;
147
- }
148
-
149
- &:hover {
150
- background: var(--base-bg-hover);
151
- color: var(--base-text-secondary);
152
- }
153
-
154
- &.active {
155
- background: var(--base-bg-hover);
156
- color: var(--text-primary);
157
- font-weight: 600;
158
- }
159
- }
160
- }
161
-
162
- /* Add padding to main content for bottom nav on mobile */
163
- @media (max-width: 1023px) {
164
- main {
165
- padding-bottom: calc(56px + env(safe-area-inset-bottom));
166
- }
167
-
168
- .hotwire-native .bottom-nav {
169
- display: none;
170
- }
171
-
172
- .hotwire-native main {
173
- padding-bottom: 0;
174
- }
175
- }