layered-ui-rails 0.12.0 → 0.13.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 (30) hide show
  1. checksums.yaml +4 -4
  2. data/.claude/skills/layered-ui-rails/SKILL.md +1 -1
  3. data/.claude/skills/layered-ui-rails/references/CSS.md +32 -24
  4. data/CHANGELOG.md +12 -0
  5. data/README.md +4 -2
  6. data/app/assets/images/layered_ui/logo_dark.svg +14 -24
  7. data/app/assets/images/layered_ui/logo_light.svg +14 -24
  8. data/app/assets/tailwind/layered/ui/styles.css +79 -73
  9. data/app/helpers/layered/ui/pagy_helper.rb +2 -2
  10. data/app/helpers/layered/ui/ransack_helper.rb +2 -2
  11. data/app/helpers/layered/ui/table_helper.rb +1 -1
  12. data/app/helpers/layered/ui/title_bar_helper.rb +1 -1
  13. data/app/javascript/layered_ui/controllers/l_ui/navigation_controller.js +3 -3
  14. data/app/javascript/layered_ui/controllers/l_ui/search_form_controller.js +1 -1
  15. data/app/views/devise/confirmations/new.html.erb +1 -1
  16. data/app/views/devise/passwords/edit.html.erb +1 -1
  17. data/app/views/devise/passwords/new.html.erb +1 -1
  18. data/app/views/devise/registrations/new.html.erb +1 -1
  19. data/app/views/devise/sessions/new.html.erb +2 -2
  20. data/app/views/devise/shared/_links.html.erb +27 -27
  21. data/app/views/devise/unlocks/new.html.erb +1 -1
  22. data/app/views/layered/ui/managed_resource/_field_input.html.erb +1 -1
  23. data/app/views/layered_ui/shared/_form_errors.html.erb +3 -3
  24. data/app/views/layouts/layered_ui/_header.html.erb +5 -5
  25. data/app/views/layouts/layered_ui/_navigation.html.erb +2 -2
  26. data/app/views/layouts/layered_ui/_notice.html.erb +1 -1
  27. data/app/views/layouts/layered_ui/_panel.html.erb +6 -4
  28. data/app/views/layouts/layered_ui/application.html.erb +1 -1
  29. data/lib/layered/ui/version.rb +1 -1
  30. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8bc7d9b4d6a4db2e8d1c172e0ab8d6cce9c7788318e17a601c8bb580c69ab44e
4
- data.tar.gz: ac1fcd4473946402b0842173c42c06c9a6bac43befe32168bc9fd4977b5c25e2
3
+ metadata.gz: bb842a9cdcc5c1b9c2668fe8376a3759194baeedda617a1cd6a76a6f55b61025
4
+ data.tar.gz: '07087fec53eef6910a38b986eef699658a9236c879259f2cd294f053cebb389c'
5
5
  SHA512:
6
- metadata.gz: c3312e94ff32e031ba9c2090d8429c18f211df5bcf518c01ec210b351617d7ef1404c327f0d45faa5d0bbe6c9d4aa60dab72fcaba5ed64de904fa47f8f963448
7
- data.tar.gz: efb9d118bbbccab38a8c35a7af50420b9486bb4e7eabf5f1d976b52531ac2316d13b499face9c3969482a52528de1453ad0528dc5a7ae60e4a8c6f4f91cf370f
6
+ metadata.gz: 161cd32870931810f2800cb183c015d9844acf888690d45cd5146d47bd9dc122ca3a8acaec558a9bea137591254b826bf48096e46bc4014ecb3ec2f3fd60f769
7
+ data.tar.gz: 1f8d3e2b04daeef75a95be1c5437261d0b88f35a7399f4af6be4b051d4adc47b84d0e5ae1e1df5ba10573facd80b327e720d3cd743c115c3143496b16c8524a7
@@ -131,7 +131,7 @@ Key components:
131
131
  | Forms | `.l-ui-form`, `.l-ui-form__group`, `.l-ui-form__field`, `.l-ui-label`, `.l-ui-select` |
132
132
  | Tables | `.l-ui-table`, `.l-ui-table__header`, `.l-ui-table__cell`, `--primary`, `--action` |
133
133
  | Badges | `.l-ui-badge`, `--rounded`, `--default`, `--success`, `--warning`, `--danger` |
134
- | Notices | `.l-ui-notice--success`, `--warning`, `--error` |
134
+ | Notices | `.l-ui-notice` (base), `--success`, `--warning`, `--error` |
135
135
  | Tabs | `.l-ui-tabs__list`, `.l-ui-tabs__tab`, `--active` |
136
136
  | Modal | `.l-ui-modal`, `.l-ui-modal__header`, `.l-ui-modal__body` |
137
137
 
@@ -70,10 +70,10 @@ For destructive actions use `l-ui-button--danger` (solid) or `l-ui-button--outli
70
70
  .l-ui-select Select dropdown
71
71
  .l-ui-select-wrapper Select wrapper (custom arrow)
72
72
 
73
- .l-ui-search__inline Inline search form layout
73
+ .l-ui-search-inline Inline search form layout
74
74
 
75
- .l-ui-container--checkbox Checkbox container
76
- .l-ui-radio__group Radio button group
75
+ .l-ui-checkbox-container Checkbox container
76
+ .l-ui-radio Radio button group
77
77
  .l-ui-radio__item Radio item wrapper
78
78
  .l-ui-radio__input Radio input element
79
79
  .l-ui-radio__label Radio label
@@ -97,13 +97,13 @@ For destructive actions use `l-ui-button--danger` (solid) or `l-ui-button--outli
97
97
  .l-ui-table__cell--primary Bold cell (typically first column, use <th scope="row">)
98
98
  .l-ui-table__cell--action Right-aligned action cell
99
99
  .l-ui-table__action--danger Danger action link
100
- .l-ui-container--table Overflow wrapper for responsive tables
100
+ .l-ui-table-container Overflow wrapper for responsive tables
101
101
  ```
102
102
 
103
103
  WCAG 2.2 AA table pattern:
104
104
 
105
105
  ```html
106
- <div class="l-ui-container--table">
106
+ <div class="l-ui-table-container">
107
107
  <table class="l-ui-table">
108
108
  <caption>Users</caption>
109
109
  <thead class="l-ui-table__header">
@@ -128,7 +128,10 @@ WCAG 2.2 AA table pattern:
128
128
 
129
129
  ## Notices
130
130
 
131
+ Always combine the base block with one variant modifier (e.g. `class="l-ui-notice l-ui-notice--success"`).
132
+
131
133
  ```
134
+ .l-ui-notice Base notice (always required alongside a variant)
132
135
  .l-ui-notice--success Green success message
133
136
  .l-ui-notice--warning Yellow warning message
134
137
  .l-ui-notice--error Red error message
@@ -174,7 +177,7 @@ WCAG 2.2 AA table pattern:
174
177
  ## Title bar
175
178
 
176
179
  ```
177
- .l-ui-title-bar Title bar wrapper used with .l-ui-container--spread
180
+ .l-ui-title-bar Title bar wrapper used with .l-ui-spread
178
181
  .l-ui-title-bar__content Breadcrumbs and title column
179
182
  .l-ui-title-bar__title Page title
180
183
  .l-ui-title-bar__actions Action area
@@ -193,10 +196,11 @@ WCAG 2.2 AA table pattern:
193
196
  ## Navigation
194
197
 
195
198
  ```
196
- .l-ui-container--navigation Sidebar container
197
- .l-ui-container--navigation.open Visible sidebar
198
- .l-ui-backdrop--navigation Overlay backdrop
199
- .l-ui-backdrop--navigation.open Visible backdrop
199
+ .l-ui-navigation-container Sidebar container
200
+ .l-ui-navigation-container.open Visible sidebar
201
+ .l-ui-backdrop Base backdrop (always pair with a variant)
202
+ .l-ui-backdrop--navigation Navigation overlay (use with .l-ui-backdrop)
203
+ .l-ui-backdrop.open Visible backdrop
200
204
  .l-ui-navigation Nav flexbox
201
205
  .l-ui-navigation__links Nav links list
202
206
  .l-ui-navigation__item Nav item
@@ -220,7 +224,7 @@ WCAG 2.2 AA table pattern:
220
224
  ## Header
221
225
 
222
226
  ```
223
- .l-ui-container--header Fixed header container
227
+ .l-ui-header-container Fixed header container
224
228
  .l-ui-header Header flexbox
225
229
  .l-ui-header__icon Header icon (responsive)
226
230
  .l-ui-header__icon--light Light theme icon
@@ -229,6 +233,7 @@ WCAG 2.2 AA table pattern:
229
233
  .l-ui-header__logo--light Light theme logo
230
234
  .l-ui-header__logo--dark Dark theme logo
231
235
  .l-ui-theme-toggle Theme toggle button
236
+ .l-ui-theme-toggle__icon Base toggle icon (always pair with a variant)
232
237
  .l-ui-theme-toggle__icon--light Sun icon (shown in dark mode)
233
238
  .l-ui-theme-toggle__icon--dark Moon icon (shown in light mode)
234
239
  ```
@@ -236,8 +241,8 @@ WCAG 2.2 AA table pattern:
236
241
  ## Panel
237
242
 
238
243
  ```
239
- .l-ui-container--panel Side panel container
240
- .l-ui-container--panel.open Visible panel
244
+ .l-ui-panel-container Side panel container
245
+ .l-ui-panel-container.open Visible panel
241
246
  .l-ui-panel Panel flexbox
242
247
  .l-ui-panel__button Floating action button
243
248
  .l-ui-panel__button--dragging During drag
@@ -284,7 +289,10 @@ WCAG 2.2 AA table pattern:
284
289
 
285
290
  ## Icon sizes
286
291
 
292
+ Always combine the base block with one size modifier (e.g. `class="l-ui-icon l-ui-icon--sm"`).
293
+
287
294
  ```
295
+ .l-ui-icon Base icon (always required alongside a size modifier)
288
296
  .l-ui-icon--xs 16px (4x4)
289
297
  .l-ui-icon--sm 20px (5x5)
290
298
  .l-ui-icon--md 24px (6x6)
@@ -295,17 +303,17 @@ WCAG 2.2 AA table pattern:
295
303
  ## Utility classes
296
304
 
297
305
  ```
298
- .l-ui-utility--mt-0 through --mt-8 Margin top (fixed scale)
299
- .l-ui-utility--mt-sm/md/lg/xl/2xl Responsive margin top
300
- .l-ui-utility--mb-0 Margin bottom zero
301
- .l-ui-sr-only Visually hidden, screen reader only
302
- .l-ui-skip-link Accessibility skip link
303
- .l-ui-list Styled list
304
- .l-ui-hr Horizontal rule with theme border and vertical spacing
305
- .l-ui-container--grid 1-col mobile, 2-col desktop grid
306
- .l-ui-container--spread Flex row with space-between
307
- .l-ui-container--pagy Pagination wrapper
308
- .l-ui-scroll-lock Prevent body scroll (mobile panels/modals)
306
+ .l-ui-mt-0/2/3/4/6/8 Margin top (fixed scale)
307
+ .l-ui-mb-0 Margin bottom zero
308
+ .l-ui--mr-2 Negative margin right (offset for flush right alignment)
309
+ .l-ui-sr-only Visually hidden, screen reader only
310
+ .l-ui-skip-link Accessibility skip link
311
+ .l-ui-list Styled list
312
+ .l-ui-hr Horizontal rule with theme border and vertical spacing
313
+ .l-ui-grid 1-col mobile, 2-col desktop grid
314
+ .l-ui-spread Flex row with space-between
315
+ .l-ui-pagy-container Pagination wrapper (Pagy integration)
316
+ .l-ui-scroll-lock Prevent body scroll (mobile panels/modals)
309
317
  ```
310
318
 
311
319
  ## Theming tokens
data/CHANGELOG.md CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. This project follows [Semantic Versioning](https://semver.org/).
4
4
 
5
+ ## [0.13.0] - 2026-05-09
6
+
7
+ ### Added
8
+
9
+ - Fixed-scale margin utilities `l-ui-mt-2`, `l-ui-mt-3`, and `l-ui-mt-6`
10
+ - Default underline/focus link styling on `l-ui-panel__body a` (matches `l-ui-page a`)
11
+
12
+ ### Changed
13
+
14
+ - **Breaking:** Responsive margin-top utilities `l-ui-mt-sm`/`md`/`lg`/`xl`/`2xl` removed in favour of the fixed scale. Migration: `sm` → `mt-2`, `md` → `mt-3`, `lg` → `mt-4`, `xl` → `mt-6`, `2xl` → `mt-8`. The BEM migration prompt has been updated with the mapping
15
+ - `pre.l-ui-surface` margin reset moved into `@layer base` so call-site Tailwind spacing utilities (e.g. `mt-4`) reliably override the browser default
16
+
5
17
  ## [0.12.0] - 2026-05-08
6
18
 
7
19
  ### Added
data/README.md CHANGED
@@ -186,8 +186,6 @@ For per-request icons, set instance variables - the engine renders `<link>` and
186
186
 
187
187
  An online version of the documentation is available at **[layered-ui-rails.layered.ai](https://layered-ui-rails.layered.ai)**.
188
188
 
189
- The latest accessibility audit is available at **[audits/accessibility/codex-5_3.md](https://github.com/layered-ai-public/layered-ui-rails/blob/main/audits/accessibility/codex-5_3.md)**.
190
-
191
189
  You can also run the included dummy app locally for development and testing:
192
190
 
193
191
  ```bash
@@ -211,6 +209,10 @@ export KAMAL_SSH_KEY=<path-to-ssh-key>
211
209
  kamal deploy
212
210
  ```
213
211
 
212
+ ## Accessibility audits
213
+
214
+ The latest accessibility audits are available at **[https://github.com/layered-ai-public/layered-ui-rails/blob/main/audits/accessibility](https://github.com/layered-ai-public/layered-ui-rails/blob/main/audits/accessibility)**.
215
+
214
216
  ## Contributing
215
217
 
216
218
  This project is still in its early days. We welcome issues, feedback, and ideas - they genuinely help shape the direction of the project. That said, we're holding off on accepting pull requests for now to stay focused on getting the foundations right. Thank you for your patience and interest. See [CLA.md](CLA.md) for the full policy.
@@ -1,25 +1,15 @@
1
- <svg width="454" height="80" viewBox="0 0 454 80" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <mask id="mask0_93_125" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="433" y="10" width="21" height="16">
3
- <path d="M453.245 10H433.245V26H453.245V10Z" fill="white"/>
4
- </mask>
5
- <g mask="url(#mask0_93_125)">
6
- <mask id="mask1_93_125" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="434" y="14" width="8" height="8">
7
- <path d="M434.312 14H441.245V22H434.312V14Z" fill="white"/>
8
- </mask>
9
- <g mask="url(#mask1_93_125)">
10
- <path d="M437.733 21.8H436.858V14.9667H434.462V14.175H440.129V14.9667H437.733V21.8Z" fill="white"/>
11
- </g>
12
- <path d="M445.375 21.8L442.813 15.05H442.771C442.781 15.2062 442.797 15.3833 442.813 15.5917C442.823 15.7896 442.833 16.0083 442.833 16.2583C442.844 16.4979 442.854 16.7375 442.854 16.9875V21.8H442.021V14.175H443.333L445.75 20.5083H445.792L448.229 14.175H449.542V21.8H448.667V16.925C448.667 16.7062 448.667 16.4823 448.667 16.2583C448.677 16.0239 448.688 15.8104 448.688 15.6125C448.698 15.4042 448.714 15.2271 448.729 15.0708H448.688L446.104 21.8H445.375Z" fill="white"/>
13
- </g>
14
- <path d="M42.5 37.2344L5.875 20L42.5 2.76563L79.125 20L42.5 37.2344ZM2.9375 21.375L42.5 40L82.0625 21.375L85 20L82.0625 18.625L42.5 0L2.9375 18.625L0 20L2.9375 21.375ZM12.4375 34.1406C5.01563 37.6406 0.859376 39.5938 0 40L2.9375 41.375L42.5 60L82.0625 41.375L85 40C84.1406 39.5938 79.9844 37.6406 72.5625 34.1406L69.625 35.5156L79.125 39.9844L42.5 57.2188L5.875 39.9844L15.375 35.5156L12.4375 34.1406ZM2.9375 58.625L0 60L2.9375 61.375L42.5 80L82.0625 61.375L85 60C84.1406 59.5938 79.9844 57.6406 72.5625 54.1406L69.625 55.5156L79.125 59.9844L42.5 77.2188L5.875 59.9844L15.375 55.5156L12.4375 54.1406L2.9375 58.6094V58.625Z" fill="white"/>
15
- <path d="M117.833 23.0625H120.145C120.588 23.0625 120.812 23.2917 120.812 23.75V52.3542H139.583C139.776 52.3542 139.937 52.4323 140.062 52.5833C140.187 52.724 140.25 52.8698 140.25 53.0208V55.3333C140.25 55.7813 140.026 56 139.583 56H117.833C117.677 56 117.526 55.9375 117.375 55.8125C117.234 55.6875 117.166 55.5313 117.166 55.3333V23.75C117.166 23.5573 117.234 23.3958 117.375 23.2708C117.526 23.1354 117.677 23.0625 117.833 23.0625Z" fill="white"/>
16
- <path d="M166.356 23.0625C166.549 23.0625 166.736 23.1354 166.919 23.2708C167.096 23.3958 167.215 23.5365 167.273 23.6875L173.939 40.3958C174.007 40.5625 174.064 40.7813 174.106 41.0417C174.158 41.2917 174.189 41.5104 174.189 41.6875V55.3333C174.189 55.7813 173.965 56 173.523 56H171.252C170.804 56 170.585 55.7813 170.585 55.3333V46.4583H153.169V55.3333C153.169 55.7813 152.945 56 152.502 56H150.189C149.741 56 149.523 55.7813 149.523 55.3333V41.6875C149.523 41.5104 149.544 41.2917 149.585 41.0417C149.637 40.7813 149.695 40.5625 149.752 40.3958L156.419 23.6875C156.486 23.5365 156.616 23.3958 156.814 23.2708C157.007 23.1354 157.179 23.0625 157.335 23.0625H166.356ZM170.585 42.8542V41.6875L164.585 26.7292H159.169L153.169 41.6875V42.8542H170.585Z" fill="white"/>
17
- <path d="M183.65 32.4792C183.509 32.3281 183.389 32.1458 183.296 31.9375C183.212 31.7292 183.171 31.5313 183.171 31.3333V23.75C183.171 23.5833 183.238 23.4323 183.379 23.2917C183.514 23.1406 183.671 23.0625 183.837 23.0625H186.15C186.327 23.0625 186.483 23.1406 186.608 23.2917C186.744 23.4323 186.816 23.5833 186.816 23.75V29.8958C186.816 30.0521 186.863 30.2396 186.962 30.4583C187.056 30.6823 187.171 30.875 187.296 31.0417L195.546 39.1042L203.754 31.0417C203.921 30.875 204.035 30.6823 204.108 30.4583C204.191 30.2396 204.233 30.0521 204.233 29.8958V23.75C204.233 23.5833 204.296 23.4323 204.421 23.2917C204.556 23.1406 204.718 23.0625 204.9 23.0625H207.212C207.405 23.0625 207.566 23.1406 207.691 23.2917C207.816 23.4323 207.879 23.5833 207.879 23.75V31.3333C207.879 31.5313 207.827 31.7292 207.733 31.9375C207.634 32.1458 207.525 32.3281 207.4 32.4792L197.379 42.4583V55.3333C197.379 55.5313 197.301 55.6875 197.15 55.8125C197.009 55.9375 196.858 56 196.691 56H194.4C193.952 56 193.733 55.7813 193.733 55.3333V42.4583L183.65 32.4792Z" fill="white"/>
18
- <path d="M217.542 55.3333V23.75C217.542 23.2917 217.76 23.0625 218.208 23.0625H240.562C241.021 23.0625 241.25 23.2917 241.25 23.75V26.0417C241.25 26.5 241.021 26.7292 240.562 26.7292H221.125V37.7083H237.979C238.146 37.7083 238.297 37.7865 238.437 37.9375C238.573 38.0781 238.646 38.224 238.646 38.375V40.6875C238.646 40.8854 238.573 41.0417 238.437 41.1667C238.297 41.2917 238.146 41.3542 237.979 41.3542H221.125V52.3542H240.562C240.755 52.3542 240.917 52.4323 241.042 52.5833C241.177 52.724 241.25 52.8698 241.25 53.0208V55.3333C241.25 55.7813 241.021 56 240.562 56H218.208C217.76 56 217.542 55.7813 217.542 55.3333Z" fill="white"/>
19
- <path d="M270.517 55.375L264.287 41.3542H254.017V55.3333C254.017 55.7813 253.793 56 253.35 56H251.079C250.631 56 250.412 55.7813 250.412 55.3333V23.75C250.412 23.2917 250.631 23.0625 251.079 23.0625H268.079C269.037 23.0625 269.938 23.25 270.787 23.625C271.631 23.9896 272.376 24.4948 273.017 25.1458C273.652 25.7865 274.152 26.5313 274.517 27.375C274.892 28.224 275.079 29.125 275.079 30.0833V34.3542C275.079 35.9271 274.605 37.3281 273.662 38.5625C272.714 39.7865 271.496 40.6198 269.996 41.0625L268.371 41.5417L274.517 55.375C274.6 55.5417 274.6 55.6875 274.517 55.8125C274.444 55.9375 274.313 56 274.121 56H271.475C271.293 56 271.105 55.9375 270.912 55.8125C270.714 55.6875 270.584 55.5417 270.517 55.375ZM254.017 37.7083H268.079C269.006 37.7083 269.798 37.3854 270.454 36.7292C271.105 36.0781 271.433 35.2865 271.433 34.3542V30.0833C271.433 29.1563 271.105 28.3646 270.454 27.7083C269.798 27.0573 269.006 26.7292 268.079 26.7292H254.017V37.7083Z" fill="white"/>
20
- <path d="M284.79 55.3333V23.75C284.79 23.2917 285.008 23.0625 285.456 23.0625H307.81C308.269 23.0625 308.498 23.2917 308.498 23.75V26.0417C308.498 26.5 308.269 26.7292 307.81 26.7292H288.373V37.7083H305.227C305.394 37.7083 305.545 37.7865 305.685 37.9375C305.821 38.0781 305.894 38.224 305.894 38.375V40.6875C305.894 40.8854 305.821 41.0417 305.685 41.1667C305.545 41.2917 305.394 41.3542 305.227 41.3542H288.373V52.3542H307.81C308.003 52.3542 308.165 52.4323 308.29 52.5833C308.425 52.724 308.498 52.8698 308.498 53.0208V55.3333C308.498 55.7813 308.269 56 307.81 56H285.456C285.008 56 284.79 55.7813 284.79 55.3333Z" fill="white"/>
21
- <path d="M317.619 55.3333V23.75C317.619 23.5833 317.687 23.4323 317.827 23.2917C317.963 23.1406 318.119 23.0625 318.286 23.0625H335.327C336.286 23.0625 337.187 23.25 338.036 23.625C338.879 23.9896 339.624 24.4948 340.265 25.1458C340.9 25.7865 341.4 26.5313 341.765 27.375C342.14 28.224 342.327 29.125 342.327 30.0833V49C342.327 49.9583 342.14 50.8698 341.765 51.7292C341.4 52.5938 340.9 53.3333 340.265 53.9583C339.624 54.5833 338.879 55.0833 338.036 55.4583C337.187 55.8229 336.286 56 335.327 56H318.286C318.119 56 317.963 55.9375 317.827 55.8125C317.687 55.6875 317.619 55.5313 317.619 55.3333ZM321.265 52.3542H335.327C336.254 52.3542 337.046 52.0313 337.702 51.375C338.353 50.7083 338.681 49.9167 338.681 49V30.0833C338.681 29.1563 338.353 28.3646 337.702 27.7083C337.046 27.0573 336.254 26.7292 335.327 26.7292H321.265V52.3542Z" fill="white"/>
22
- <path d="M353.294 55.1458V49.8958C353.294 49.4531 353.512 49.2291 353.96 49.2291H356.252C356.419 49.2291 356.57 49.302 356.71 49.4375C356.861 49.5625 356.94 49.7187 356.94 49.8958V55.1458C356.94 55.3281 356.861 55.4895 356.71 55.625C356.57 55.75 356.419 55.8125 356.252 55.8125H353.96C353.512 55.8125 353.294 55.5937 353.294 55.1458Z" fill="white"/>
23
- <path d="M385.365 23.0625C385.558 23.0625 385.746 23.1354 385.928 23.2708C386.105 23.3958 386.225 23.5365 386.282 23.6875L392.949 40.3958C393.016 40.5625 393.074 40.7813 393.115 41.0417C393.167 41.2917 393.199 41.5104 393.199 41.6875V55.3333C393.199 55.7813 392.975 56 392.532 56H390.261C389.813 56 389.594 55.7813 389.594 55.3333V46.4583H372.178V55.3333C372.178 55.7813 371.954 56 371.511 56H369.199C368.751 56 368.532 55.7813 368.532 55.3333V41.6875C368.532 41.5104 368.553 41.2917 368.594 41.0417C368.647 40.7813 368.704 40.5625 368.761 40.3958L375.428 23.6875C375.496 23.5365 375.626 23.3958 375.824 23.2708C376.016 23.1354 376.188 23.0625 376.344 23.0625H385.365ZM389.594 42.8542V41.6875L383.594 26.7292H378.178L372.178 41.6875V42.8542H389.594Z" fill="white"/>
24
- <path d="M402.847 55.3333V53.0208C402.847 52.8698 402.909 52.724 403.034 52.5833C403.159 52.4323 403.315 52.3542 403.513 52.3542H412.743V26.7292H403.513C403.065 26.7292 402.847 26.5 402.847 26.0417V23.75C402.847 23.2917 403.065 23.0625 403.513 23.0625H425.555C425.998 23.0625 426.222 23.2917 426.222 23.75V26.0417C426.222 26.5 425.998 26.7292 425.555 26.7292H416.388V52.3542H425.555C425.748 52.3542 425.909 52.4323 426.034 52.5833C426.159 52.724 426.222 52.8698 426.222 53.0208V55.3333C426.222 55.7813 425.998 56 425.555 56H403.513C403.065 56 402.847 55.7813 402.847 55.3333Z" fill="white"/>
1
+ <svg width="466" height="80" viewBox="0 0 466 80" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M450.588 16.3333H449.463V7.79167H446.484V6.8125H453.567V7.79167H450.588V16.3333Z" fill="white"/>
3
+ <path d="M460.112 16.3333L456.924 7.91667H456.883C456.893 8.08333 456.909 8.30208 456.924 8.5625C456.935 8.8125 456.945 9.09375 456.945 9.39583C456.956 9.70313 456.966 10.0104 456.966 10.3125V16.3333H455.945V6.8125H457.57L460.591 14.7292H460.633L463.695 6.8125H465.32V16.3333H464.237V10.2292C464.237 9.95313 464.237 9.67708 464.237 9.39583C464.247 9.10417 464.263 8.83333 464.279 8.58333C464.289 8.33333 464.305 8.11458 464.32 7.91667H464.258L461.029 16.3333H460.112Z" fill="white"/>
4
+ <path d="M42.5 37.2344L5.875 20L42.5 2.76563L79.125 20L42.5 37.2344ZM2.9375 21.375L42.5 40L82.0625 21.375L85 20L82.0625 18.625L42.5 0L2.9375 18.625L0 20L2.9375 21.375ZM12.4375 34.1406C5.01562 37.6406 0.859376 39.5938 0 40L2.9375 41.375L42.5 60L82.0625 41.375L85 40C84.1406 39.5938 79.9844 37.6406 72.5625 34.1406L69.625 35.5156L79.125 39.9844L42.5 57.2188L5.875 39.9844L15.375 35.5156L12.4375 34.1406ZM2.9375 58.625L0 60L2.9375 61.375L42.5 80L82.0625 61.375L85 60C84.1406 59.5938 79.9844 57.6406 72.5625 54.1406L69.625 55.5156L79.125 59.9844L42.5 77.2188L5.875 59.9844L15.375 55.5156L12.4375 54.1406L2.9375 58.6094V58.625Z" fill="white"/>
5
+ <path d="M132.834 23.0625H135.146C135.589 23.0625 135.813 23.2917 135.813 23.75V52.3542H154.584C154.776 52.3542 154.938 52.4323 155.063 52.5833C155.188 52.724 155.25 52.8698 155.25 53.0208V55.3333C155.25 55.7813 155.026 56 154.584 56H132.834C132.677 56 132.526 55.9375 132.375 55.8125C132.235 55.6875 132.167 55.5313 132.167 55.3333V23.75C132.167 23.5573 132.235 23.3958 132.375 23.2708C132.526 23.1354 132.677 23.0625 132.834 23.0625Z" fill="white"/>
6
+ <path d="M181.357 23.0625C181.549 23.0625 181.737 23.1354 181.919 23.2708C182.096 23.3958 182.216 23.5365 182.273 23.6875L188.94 40.3958C189.008 40.5625 189.065 40.7813 189.107 41.0417C189.159 41.2917 189.19 41.5104 189.19 41.6875V55.3333C189.19 55.7813 188.966 56 188.523 56H186.253C185.805 56 185.586 55.7813 185.586 55.3333V46.4583H168.169V55.3333C168.169 55.7813 167.945 56 167.503 56H165.19C164.742 56 164.523 55.7813 164.523 55.3333V41.6875C164.523 41.5104 164.544 41.2917 164.586 41.0417C164.638 40.7813 164.695 40.5625 164.753 40.3958L171.419 23.6875C171.487 23.5365 171.617 23.3958 171.815 23.2708C172.008 23.1354 172.18 23.0625 172.336 23.0625H181.357ZM185.586 42.8542V41.6875L179.586 26.7292H174.169L168.169 41.6875V42.8542H185.586Z" fill="white"/>
7
+ <path d="M198.651 32.4792C198.51 32.3281 198.39 32.1458 198.296 31.9375C198.213 31.7292 198.171 31.5313 198.171 31.3333V23.75C198.171 23.5833 198.239 23.4323 198.38 23.2917C198.515 23.1406 198.671 23.0625 198.838 23.0625H201.151C201.328 23.0625 201.484 23.1406 201.609 23.2917C201.744 23.4323 201.817 23.5833 201.817 23.75V29.8958C201.817 30.0521 201.864 30.2396 201.963 30.4583C202.057 30.6823 202.171 30.875 202.296 31.0417L210.546 39.1042L218.755 31.0417C218.921 30.875 219.036 30.6823 219.109 30.4583C219.192 30.2396 219.234 30.0521 219.234 29.8958V23.75C219.234 23.5833 219.296 23.4323 219.421 23.2917C219.557 23.1406 219.718 23.0625 219.901 23.0625H222.213C222.406 23.0625 222.567 23.1406 222.692 23.2917C222.817 23.4323 222.88 23.5833 222.88 23.75V31.3333C222.88 31.5313 222.828 31.7292 222.734 31.9375C222.635 32.1458 222.526 32.3281 222.401 32.4792L212.38 42.4583V55.3333C212.38 55.5313 212.302 55.6875 212.151 55.8125C212.01 55.9375 211.859 56 211.692 56H209.401C208.953 56 208.734 55.7813 208.734 55.3333V42.4583L198.651 32.4792Z" fill="white"/>
8
+ <path d="M232.542 55.3333V23.75C232.542 23.2917 232.761 23.0625 233.209 23.0625H255.563C256.022 23.0625 256.251 23.2917 256.251 23.75V26.0417C256.251 26.5 256.022 26.7292 255.563 26.7292H236.126V37.7083H252.98C253.147 37.7083 253.298 37.7865 253.438 37.9375C253.574 38.0781 253.647 38.224 253.647 38.375V40.6875C253.647 40.8854 253.574 41.0417 253.438 41.1667C253.298 41.2917 253.147 41.3542 252.98 41.3542H236.126V52.3542H255.563C255.756 52.3542 255.917 52.4323 256.042 52.5833C256.178 52.724 256.251 52.8698 256.251 53.0208V55.3333C256.251 55.7813 256.022 56 255.563 56H233.209C232.761 56 232.542 55.7813 232.542 55.3333Z" fill="white"/>
9
+ <path d="M285.518 55.375L279.289 41.3542H269.018V55.3333C269.018 55.7813 268.794 56 268.351 56H266.08C265.632 56 265.414 55.7813 265.414 55.3333V23.75C265.414 23.2917 265.632 23.0625 266.08 23.0625H283.08C284.039 23.0625 284.94 23.25 285.789 23.625C286.632 23.9896 287.377 24.4948 288.018 25.1458C288.653 25.7865 289.153 26.5313 289.518 27.375C289.893 28.224 290.08 29.125 290.08 30.0833V34.3542C290.08 35.9271 289.606 37.3281 288.664 38.5625C287.716 39.7865 286.497 40.6198 284.997 41.0625L283.372 41.5417L289.518 55.375C289.601 55.5417 289.601 55.6875 289.518 55.8125C289.445 55.9375 289.315 56 289.122 56H286.476C286.294 56 286.106 55.9375 285.914 55.8125C285.716 55.6875 285.585 55.5417 285.518 55.375ZM269.018 37.7083H283.08C284.007 37.7083 284.799 37.3854 285.455 36.7292C286.106 36.0781 286.434 35.2865 286.434 34.3542V30.0833C286.434 29.1563 286.106 28.3646 285.455 27.7083C284.799 27.0573 284.007 26.7292 283.08 26.7292H269.018V37.7083Z" fill="white"/>
10
+ <path d="M299.791 55.3333V23.75C299.791 23.2917 300.009 23.0625 300.457 23.0625H322.811C323.27 23.0625 323.499 23.2917 323.499 23.75V26.0417C323.499 26.5 323.27 26.7292 322.811 26.7292H303.374V37.7083H320.228C320.395 37.7083 320.546 37.7865 320.686 37.9375C320.822 38.0781 320.895 38.224 320.895 38.375V40.6875C320.895 40.8854 320.822 41.0417 320.686 41.1667C320.546 41.2917 320.395 41.3542 320.228 41.3542H303.374V52.3542H322.811C323.004 52.3542 323.166 52.4323 323.291 52.5833C323.426 52.724 323.499 52.8698 323.499 53.0208V55.3333C323.499 55.7813 323.27 56 322.811 56H300.457C300.009 56 299.791 55.7813 299.791 55.3333Z" fill="white"/>
11
+ <path d="M332.62 55.3333V23.75C332.62 23.5833 332.687 23.4323 332.828 23.2917C332.963 23.1406 333.12 23.0625 333.286 23.0625H350.328C351.286 23.0625 352.187 23.25 353.036 23.625C353.88 23.9896 354.625 24.4948 355.265 25.1458C355.901 25.7865 356.401 26.5313 356.765 27.375C357.14 28.224 357.328 29.125 357.328 30.0833V49C357.328 49.9583 357.14 50.8698 356.765 51.7292C356.401 52.5938 355.901 53.3333 355.265 53.9583C354.625 54.5833 353.88 55.0833 353.036 55.4583C352.187 55.8229 351.286 56 350.328 56H333.286C333.12 56 332.963 55.9375 332.828 55.8125C332.687 55.6875 332.62 55.5313 332.62 55.3333ZM336.265 52.3542H350.328C351.255 52.3542 352.047 52.0313 352.703 51.375C353.354 50.7083 353.682 49.9167 353.682 49V30.0833C353.682 29.1563 353.354 28.3646 352.703 27.7083C352.047 27.0573 351.255 26.7292 350.328 26.7292H336.265V52.3542Z" fill="white"/>
12
+ <path d="M368.295 55.1458V49.8958C368.295 49.4531 368.514 49.2292 368.962 49.2292H371.253C371.42 49.2292 371.571 49.3021 371.712 49.4375C371.863 49.5625 371.941 49.7187 371.941 49.8958V55.1458C371.941 55.3281 371.863 55.4896 371.712 55.625C371.571 55.75 371.42 55.8125 371.253 55.8125H368.962C368.514 55.8125 368.295 55.5937 368.295 55.1458Z" fill="white"/>
13
+ <path d="M400.367 23.0625C400.559 23.0625 400.747 23.1354 400.929 23.2708C401.106 23.3958 401.226 23.5365 401.283 23.6875L407.95 40.3958C408.018 40.5625 408.075 40.7813 408.117 41.0417C408.169 41.2917 408.2 41.5104 408.2 41.6875V55.3333C408.2 55.7813 407.976 56 407.533 56H405.262C404.814 56 404.596 55.7813 404.596 55.3333V46.4583H387.179V55.3333C387.179 55.7813 386.955 56 386.512 56H384.2C383.752 56 383.533 55.7813 383.533 55.3333V41.6875C383.533 41.5104 383.554 41.2917 383.596 41.0417C383.648 40.7813 383.705 40.5625 383.762 40.3958L390.429 23.6875C390.497 23.5365 390.627 23.3958 390.825 23.2708C391.018 23.1354 391.189 23.0625 391.346 23.0625H400.367ZM404.596 42.8542V41.6875L398.596 26.7292H393.179L387.179 41.6875V42.8542H404.596Z" fill="white"/>
14
+ <path d="M417.848 55.3333V53.0208C417.848 52.8698 417.91 52.724 418.035 52.5833C418.16 52.4323 418.316 52.3542 418.514 52.3542H427.743V26.7292H418.514C418.066 26.7292 417.848 26.5 417.848 26.0417V23.75C417.848 23.2917 418.066 23.0625 418.514 23.0625H440.556C440.999 23.0625 441.223 23.2917 441.223 23.75V26.0417C441.223 26.5 440.999 26.7292 440.556 26.7292H431.389V52.3542H440.556C440.749 52.3542 440.91 52.4323 441.035 52.5833C441.16 52.724 441.223 52.8698 441.223 53.0208V55.3333C441.223 55.7813 440.999 56 440.556 56H418.514C418.066 56 417.848 55.7813 417.848 55.3333Z" fill="white"/>
25
15
  </svg>
@@ -1,25 +1,15 @@
1
- <svg width="454" height="80" viewBox="0 0 454 80" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <mask id="mask0_93_127" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="433" y="10" width="21" height="16">
3
- <path d="M453.245 10H433.245V26H453.245V10Z" fill="white"/>
4
- </mask>
5
- <g mask="url(#mask0_93_127)">
6
- <mask id="mask1_93_127" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="434" y="14" width="8" height="8">
7
- <path d="M434.313 14H441.245V22H434.313V14Z" fill="white"/>
8
- </mask>
9
- <g mask="url(#mask1_93_127)">
10
- <path d="M437.733 21.8H436.858V14.9667H434.462V14.175H440.129V14.9667H437.733V21.8Z" fill="black"/>
11
- </g>
12
- <path d="M445.376 21.8L442.813 15.05H442.772C442.782 15.2062 442.798 15.3833 442.813 15.5917C442.824 15.7896 442.834 16.0083 442.834 16.2583C442.845 16.4979 442.855 16.7375 442.855 16.9875V21.8H442.022V14.175H443.334L445.751 20.5083H445.793L448.23 14.175H449.543V21.8H448.668V16.925C448.668 16.7062 448.668 16.4823 448.668 16.2583C448.678 16.0239 448.688 15.8104 448.688 15.6125C448.699 15.4042 448.714 15.2271 448.73 15.0708H448.688L446.105 21.8H445.376Z" fill="black"/>
13
- </g>
14
- <path d="M42.5 37.2344L5.875 20L42.5 2.76563L79.125 20L42.5 37.2344ZM2.9375 21.375L42.5 40L82.0625 21.375L85 20L82.0625 18.625L42.5 0L2.9375 18.625L0 20L2.9375 21.375ZM12.4375 34.1406C5.01563 37.6406 0.859376 39.5938 0 40L2.9375 41.375L42.5 60L82.0625 41.375L85 40C84.1406 39.5938 79.9844 37.6406 72.5625 34.1406L69.625 35.5156L79.125 39.9844L42.5 57.2188L5.875 39.9844L15.375 35.5156L12.4375 34.1406ZM2.9375 58.625L0 60L2.9375 61.375L42.5 80L82.0625 61.375L85 60C84.1406 59.5938 79.9844 57.6406 72.5625 54.1406L69.625 55.5156L79.125 59.9844L42.5 77.2188L5.875 59.9844L15.375 55.5156L12.4375 54.1406L2.9375 58.6094V58.625Z" fill="black"/>
15
- <path d="M117.833 23.0625H120.145C120.588 23.0625 120.812 23.2917 120.812 23.75V52.3542H139.583C139.776 52.3542 139.937 52.4323 140.062 52.5833C140.187 52.724 140.25 52.8698 140.25 53.0208V55.3333C140.25 55.7813 140.026 56 139.583 56H117.833C117.677 56 117.526 55.9375 117.375 55.8125C117.234 55.6875 117.166 55.5313 117.166 55.3333V23.75C117.166 23.5573 117.234 23.3958 117.375 23.2708C117.526 23.1354 117.677 23.0625 117.833 23.0625Z" fill="black"/>
16
- <path d="M166.356 23.0625C166.549 23.0625 166.736 23.1354 166.919 23.2708C167.096 23.3958 167.215 23.5365 167.273 23.6875L173.939 40.3958C174.007 40.5625 174.064 40.7813 174.106 41.0417C174.158 41.2917 174.189 41.5104 174.189 41.6875V55.3333C174.189 55.7813 173.965 56 173.523 56H171.252C170.804 56 170.585 55.7813 170.585 55.3333V46.4583H153.169V55.3333C153.169 55.7813 152.945 56 152.502 56H150.189C149.741 56 149.523 55.7813 149.523 55.3333V41.6875C149.523 41.5104 149.544 41.2917 149.585 41.0417C149.637 40.7813 149.695 40.5625 149.752 40.3958L156.419 23.6875C156.486 23.5365 156.616 23.3958 156.814 23.2708C157.007 23.1354 157.179 23.0625 157.335 23.0625H166.356ZM170.585 42.8542V41.6875L164.585 26.7292H159.169L153.169 41.6875V42.8542H170.585Z" fill="black"/>
17
- <path d="M183.65 32.4792C183.509 32.3281 183.389 32.1458 183.296 31.9375C183.212 31.7292 183.171 31.5313 183.171 31.3333V23.75C183.171 23.5833 183.238 23.4323 183.379 23.2917C183.514 23.1406 183.671 23.0625 183.837 23.0625H186.15C186.327 23.0625 186.483 23.1406 186.608 23.2917C186.744 23.4323 186.816 23.5833 186.816 23.75V29.8958C186.816 30.0521 186.863 30.2396 186.962 30.4583C187.056 30.6823 187.171 30.875 187.296 31.0417L195.546 39.1042L203.754 31.0417C203.921 30.875 204.035 30.6823 204.108 30.4583C204.191 30.2396 204.233 30.0521 204.233 29.8958V23.75C204.233 23.5833 204.296 23.4323 204.421 23.2917C204.556 23.1406 204.718 23.0625 204.9 23.0625H207.212C207.405 23.0625 207.566 23.1406 207.691 23.2917C207.816 23.4323 207.879 23.5833 207.879 23.75V31.3333C207.879 31.5313 207.827 31.7292 207.733 31.9375C207.634 32.1458 207.525 32.3281 207.4 32.4792L197.379 42.4583V55.3333C197.379 55.5313 197.301 55.6875 197.15 55.8125C197.009 55.9375 196.858 56 196.691 56H194.4C193.952 56 193.733 55.7813 193.733 55.3333V42.4583L183.65 32.4792Z" fill="black"/>
18
- <path d="M217.542 55.3333V23.75C217.542 23.2917 217.76 23.0625 218.208 23.0625H240.563C241.021 23.0625 241.25 23.2917 241.25 23.75V26.0417C241.25 26.5 241.021 26.7292 240.563 26.7292H221.125V37.7083H237.979C238.146 37.7083 238.297 37.7865 238.438 37.9375C238.573 38.0781 238.646 38.224 238.646 38.375V40.6875C238.646 40.8854 238.573 41.0417 238.438 41.1667C238.297 41.2917 238.146 41.3542 237.979 41.3542H221.125V52.3542H240.563C240.755 52.3542 240.917 52.4323 241.042 52.5833C241.177 52.724 241.25 52.8698 241.25 53.0208V55.3333C241.25 55.7813 241.021 56 240.563 56H218.208C217.76 56 217.542 55.7813 217.542 55.3333Z" fill="black"/>
19
- <path d="M270.517 55.375L264.287 41.3542H254.017V55.3333C254.017 55.7813 253.793 56 253.35 56H251.079C250.631 56 250.412 55.7813 250.412 55.3333V23.75C250.412 23.2917 250.631 23.0625 251.079 23.0625H268.079C269.037 23.0625 269.938 23.25 270.787 23.625C271.631 23.9896 272.376 24.4948 273.017 25.1458C273.652 25.7865 274.152 26.5313 274.517 27.375C274.892 28.224 275.079 29.125 275.079 30.0833V34.3542C275.079 35.9271 274.605 37.3281 273.662 38.5625C272.714 39.7865 271.496 40.6198 269.996 41.0625L268.371 41.5417L274.517 55.375C274.6 55.5417 274.6 55.6875 274.517 55.8125C274.444 55.9375 274.313 56 274.121 56H271.475C271.293 56 271.105 55.9375 270.912 55.8125C270.714 55.6875 270.584 55.5417 270.517 55.375ZM254.017 37.7083H268.079C269.006 37.7083 269.798 37.3854 270.454 36.7292C271.105 36.0781 271.433 35.2865 271.433 34.3542V30.0833C271.433 29.1563 271.105 28.3646 270.454 27.7083C269.798 27.0573 269.006 26.7292 268.079 26.7292H254.017V37.7083Z" fill="black"/>
20
- <path d="M284.79 55.3333V23.75C284.79 23.2917 285.009 23.0625 285.456 23.0625H307.811C308.269 23.0625 308.498 23.2917 308.498 23.75V26.0417C308.498 26.5 308.269 26.7292 307.811 26.7292H288.373V37.7083H305.227C305.394 37.7083 305.545 37.7865 305.686 37.9375C305.821 38.0781 305.894 38.224 305.894 38.375V40.6875C305.894 40.8854 305.821 41.0417 305.686 41.1667C305.545 41.2917 305.394 41.3542 305.227 41.3542H288.373V52.3542H307.811C308.003 52.3542 308.165 52.4323 308.29 52.5833C308.425 52.724 308.498 52.8698 308.498 53.0208V55.3333C308.498 55.7813 308.269 56 307.811 56H285.456C285.009 56 284.79 55.7813 284.79 55.3333Z" fill="black"/>
21
- <path d="M317.619 55.3333V23.75C317.619 23.5833 317.687 23.4323 317.827 23.2917C317.963 23.1406 318.119 23.0625 318.286 23.0625H335.327C336.286 23.0625 337.187 23.25 338.036 23.625C338.879 23.9896 339.624 24.4948 340.265 25.1458C340.9 25.7865 341.4 26.5313 341.765 27.375C342.14 28.224 342.327 29.125 342.327 30.0833V49C342.327 49.9583 342.14 50.8698 341.765 51.7292C341.4 52.5938 340.9 53.3333 340.265 53.9583C339.624 54.5833 338.879 55.0833 338.036 55.4583C337.187 55.8229 336.286 56 335.327 56H318.286C318.119 56 317.963 55.9375 317.827 55.8125C317.687 55.6875 317.619 55.5313 317.619 55.3333ZM321.265 52.3542H335.327C336.254 52.3542 337.046 52.0313 337.702 51.375C338.353 50.7083 338.681 49.9167 338.681 49V30.0833C338.681 29.1563 338.353 28.3646 337.702 27.7083C337.046 27.0573 336.254 26.7292 335.327 26.7292H321.265V52.3542Z" fill="black"/>
22
- <path d="M353.294 55.1458V49.8958C353.294 49.4531 353.512 49.2291 353.96 49.2291H356.252C356.419 49.2291 356.57 49.302 356.71 49.4375C356.861 49.5625 356.94 49.7187 356.94 49.8958V55.1458C356.94 55.3281 356.861 55.4895 356.71 55.625C356.57 55.75 356.419 55.8125 356.252 55.8125H353.96C353.512 55.8125 353.294 55.5937 353.294 55.1458Z" fill="black"/>
23
- <path d="M385.365 23.0625C385.558 23.0625 385.746 23.1354 385.928 23.2708C386.105 23.3958 386.225 23.5365 386.282 23.6875L392.949 40.3958C393.016 40.5625 393.074 40.7813 393.115 41.0417C393.167 41.2917 393.199 41.5104 393.199 41.6875V55.3333C393.199 55.7813 392.975 56 392.532 56H390.261C389.813 56 389.594 55.7813 389.594 55.3333V46.4583H372.178V55.3333C372.178 55.7813 371.954 56 371.511 56H369.199C368.751 56 368.532 55.7813 368.532 55.3333V41.6875C368.532 41.5104 368.553 41.2917 368.594 41.0417C368.647 40.7813 368.704 40.5625 368.761 40.3958L375.428 23.6875C375.496 23.5365 375.626 23.3958 375.824 23.2708C376.016 23.1354 376.188 23.0625 376.344 23.0625H385.365ZM389.594 42.8542V41.6875L383.594 26.7292H378.178L372.178 41.6875V42.8542H389.594Z" fill="black"/>
24
- <path d="M402.847 55.3333V53.0208C402.847 52.8698 402.909 52.724 403.034 52.5833C403.159 52.4323 403.316 52.3542 403.514 52.3542H412.743V26.7292H403.514C403.066 26.7292 402.847 26.5 402.847 26.0417V23.75C402.847 23.2917 403.066 23.0625 403.514 23.0625H425.555C425.998 23.0625 426.222 23.2917 426.222 23.75V26.0417C426.222 26.5 425.998 26.7292 425.555 26.7292H416.389V52.3542H425.555C425.748 52.3542 425.909 52.4323 426.034 52.5833C426.159 52.724 426.222 52.8698 426.222 53.0208V55.3333C426.222 55.7813 425.998 56 425.555 56H403.514C403.066 56 402.847 55.7813 402.847 55.3333Z" fill="black"/>
1
+ <svg width="466" height="80" viewBox="0 0 466 80" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M450.588 16.3333H449.463V7.79167H446.484V6.8125H453.567V7.79167H450.588V16.3333Z" fill="black"/>
3
+ <path d="M460.112 16.3333L456.924 7.91667H456.883C456.893 8.08333 456.909 8.30208 456.924 8.5625C456.935 8.8125 456.945 9.09375 456.945 9.39583C456.956 9.70313 456.966 10.0104 456.966 10.3125V16.3333H455.945V6.8125H457.57L460.591 14.7292H460.633L463.695 6.8125H465.32V16.3333H464.237V10.2292C464.237 9.95313 464.237 9.67708 464.237 9.39583C464.247 9.10417 464.263 8.83333 464.279 8.58333C464.289 8.33333 464.305 8.11458 464.32 7.91667H464.258L461.029 16.3333H460.112Z" fill="black"/>
4
+ <path d="M42.5 37.2344L5.875 20L42.5 2.76563L79.125 20L42.5 37.2344ZM2.9375 21.375L42.5 40L82.0625 21.375L85 20L82.0625 18.625L42.5 0L2.9375 18.625L0 20L2.9375 21.375ZM12.4375 34.1406C5.01562 37.6406 0.859376 39.5938 0 40L2.9375 41.375L42.5 60L82.0625 41.375L85 40C84.1406 39.5938 79.9844 37.6406 72.5625 34.1406L69.625 35.5156L79.125 39.9844L42.5 57.2188L5.875 39.9844L15.375 35.5156L12.4375 34.1406ZM2.9375 58.625L0 60L2.9375 61.375L42.5 80L82.0625 61.375L85 60C84.1406 59.5938 79.9844 57.6406 72.5625 54.1406L69.625 55.5156L79.125 59.9844L42.5 77.2188L5.875 59.9844L15.375 55.5156L12.4375 54.1406L2.9375 58.6094V58.625Z" fill="black"/>
5
+ <path d="M132.834 23.0625H135.146C135.589 23.0625 135.813 23.2917 135.813 23.75V52.3542H154.584C154.776 52.3542 154.938 52.4323 155.063 52.5833C155.188 52.724 155.25 52.8698 155.25 53.0208V55.3333C155.25 55.7813 155.026 56 154.584 56H132.834C132.677 56 132.526 55.9375 132.375 55.8125C132.235 55.6875 132.167 55.5313 132.167 55.3333V23.75C132.167 23.5573 132.235 23.3958 132.375 23.2708C132.526 23.1354 132.677 23.0625 132.834 23.0625Z" fill="black"/>
6
+ <path d="M181.357 23.0625C181.549 23.0625 181.737 23.1354 181.919 23.2708C182.096 23.3958 182.216 23.5365 182.273 23.6875L188.94 40.3958C189.008 40.5625 189.065 40.7813 189.107 41.0417C189.159 41.2917 189.19 41.5104 189.19 41.6875V55.3333C189.19 55.7813 188.966 56 188.523 56H186.253C185.805 56 185.586 55.7813 185.586 55.3333V46.4583H168.169V55.3333C168.169 55.7813 167.945 56 167.503 56H165.19C164.742 56 164.523 55.7813 164.523 55.3333V41.6875C164.523 41.5104 164.544 41.2917 164.586 41.0417C164.638 40.7813 164.695 40.5625 164.753 40.3958L171.419 23.6875C171.487 23.5365 171.617 23.3958 171.815 23.2708C172.008 23.1354 172.18 23.0625 172.336 23.0625H181.357ZM185.586 42.8542V41.6875L179.586 26.7292H174.169L168.169 41.6875V42.8542H185.586Z" fill="black"/>
7
+ <path d="M198.651 32.4792C198.51 32.3281 198.39 32.1458 198.296 31.9375C198.213 31.7292 198.171 31.5313 198.171 31.3333V23.75C198.171 23.5833 198.239 23.4323 198.38 23.2917C198.515 23.1406 198.671 23.0625 198.838 23.0625H201.151C201.328 23.0625 201.484 23.1406 201.609 23.2917C201.744 23.4323 201.817 23.5833 201.817 23.75V29.8958C201.817 30.0521 201.864 30.2396 201.963 30.4583C202.057 30.6823 202.171 30.875 202.296 31.0417L210.546 39.1042L218.755 31.0417C218.921 30.875 219.036 30.6823 219.109 30.4583C219.192 30.2396 219.234 30.0521 219.234 29.8958V23.75C219.234 23.5833 219.296 23.4323 219.421 23.2917C219.557 23.1406 219.718 23.0625 219.901 23.0625H222.213C222.406 23.0625 222.567 23.1406 222.692 23.2917C222.817 23.4323 222.88 23.5833 222.88 23.75V31.3333C222.88 31.5313 222.828 31.7292 222.734 31.9375C222.635 32.1458 222.526 32.3281 222.401 32.4792L212.38 42.4583V55.3333C212.38 55.5313 212.302 55.6875 212.151 55.8125C212.01 55.9375 211.859 56 211.692 56H209.401C208.953 56 208.734 55.7813 208.734 55.3333V42.4583L198.651 32.4792Z" fill="black"/>
8
+ <path d="M232.542 55.3333V23.75C232.542 23.2917 232.761 23.0625 233.209 23.0625H255.563C256.022 23.0625 256.251 23.2917 256.251 23.75V26.0417C256.251 26.5 256.022 26.7292 255.563 26.7292H236.126V37.7083H252.98C253.147 37.7083 253.298 37.7865 253.438 37.9375C253.574 38.0781 253.647 38.224 253.647 38.375V40.6875C253.647 40.8854 253.574 41.0417 253.438 41.1667C253.298 41.2917 253.147 41.3542 252.98 41.3542H236.126V52.3542H255.563C255.756 52.3542 255.917 52.4323 256.042 52.5833C256.178 52.724 256.251 52.8698 256.251 53.0208V55.3333C256.251 55.7813 256.022 56 255.563 56H233.209C232.761 56 232.542 55.7813 232.542 55.3333Z" fill="black"/>
9
+ <path d="M285.518 55.375L279.289 41.3542H269.018V55.3333C269.018 55.7813 268.794 56 268.351 56H266.08C265.632 56 265.414 55.7813 265.414 55.3333V23.75C265.414 23.2917 265.632 23.0625 266.08 23.0625H283.08C284.039 23.0625 284.94 23.25 285.789 23.625C286.632 23.9896 287.377 24.4948 288.018 25.1458C288.653 25.7865 289.153 26.5313 289.518 27.375C289.893 28.224 290.08 29.125 290.08 30.0833V34.3542C290.08 35.9271 289.606 37.3281 288.664 38.5625C287.716 39.7865 286.497 40.6198 284.997 41.0625L283.372 41.5417L289.518 55.375C289.601 55.5417 289.601 55.6875 289.518 55.8125C289.445 55.9375 289.315 56 289.122 56H286.476C286.294 56 286.106 55.9375 285.914 55.8125C285.716 55.6875 285.585 55.5417 285.518 55.375ZM269.018 37.7083H283.08C284.007 37.7083 284.799 37.3854 285.455 36.7292C286.106 36.0781 286.434 35.2865 286.434 34.3542V30.0833C286.434 29.1563 286.106 28.3646 285.455 27.7083C284.799 27.0573 284.007 26.7292 283.08 26.7292H269.018V37.7083Z" fill="black"/>
10
+ <path d="M299.791 55.3333V23.75C299.791 23.2917 300.009 23.0625 300.457 23.0625H322.811C323.27 23.0625 323.499 23.2917 323.499 23.75V26.0417C323.499 26.5 323.27 26.7292 322.811 26.7292H303.374V37.7083H320.228C320.395 37.7083 320.546 37.7865 320.686 37.9375C320.822 38.0781 320.895 38.224 320.895 38.375V40.6875C320.895 40.8854 320.822 41.0417 320.686 41.1667C320.546 41.2917 320.395 41.3542 320.228 41.3542H303.374V52.3542H322.811C323.004 52.3542 323.166 52.4323 323.291 52.5833C323.426 52.724 323.499 52.8698 323.499 53.0208V55.3333C323.499 55.7813 323.27 56 322.811 56H300.457C300.009 56 299.791 55.7813 299.791 55.3333Z" fill="black"/>
11
+ <path d="M332.62 55.3333V23.75C332.62 23.5833 332.687 23.4323 332.828 23.2917C332.963 23.1406 333.12 23.0625 333.286 23.0625H350.328C351.286 23.0625 352.187 23.25 353.036 23.625C353.88 23.9896 354.625 24.4948 355.265 25.1458C355.901 25.7865 356.401 26.5313 356.765 27.375C357.14 28.224 357.328 29.125 357.328 30.0833V49C357.328 49.9583 357.14 50.8698 356.765 51.7292C356.401 52.5938 355.901 53.3333 355.265 53.9583C354.625 54.5833 353.88 55.0833 353.036 55.4583C352.187 55.8229 351.286 56 350.328 56H333.286C333.12 56 332.963 55.9375 332.828 55.8125C332.687 55.6875 332.62 55.5313 332.62 55.3333ZM336.265 52.3542H350.328C351.255 52.3542 352.047 52.0313 352.703 51.375C353.354 50.7083 353.682 49.9167 353.682 49V30.0833C353.682 29.1563 353.354 28.3646 352.703 27.7083C352.047 27.0573 351.255 26.7292 350.328 26.7292H336.265V52.3542Z" fill="black"/>
12
+ <path d="M368.295 55.1458V49.8958C368.295 49.4531 368.514 49.2292 368.962 49.2292H371.253C371.42 49.2292 371.571 49.3021 371.712 49.4375C371.863 49.5625 371.941 49.7187 371.941 49.8958V55.1458C371.941 55.3281 371.863 55.4896 371.712 55.625C371.571 55.75 371.42 55.8125 371.253 55.8125H368.962C368.514 55.8125 368.295 55.5937 368.295 55.1458Z" fill="black"/>
13
+ <path d="M400.367 23.0625C400.559 23.0625 400.747 23.1354 400.929 23.2708C401.106 23.3958 401.226 23.5365 401.283 23.6875L407.95 40.3958C408.018 40.5625 408.075 40.7813 408.117 41.0417C408.169 41.2917 408.2 41.5104 408.2 41.6875V55.3333C408.2 55.7813 407.976 56 407.533 56H405.262C404.814 56 404.596 55.7813 404.596 55.3333V46.4583H387.179V55.3333C387.179 55.7813 386.955 56 386.512 56H384.2C383.752 56 383.533 55.7813 383.533 55.3333V41.6875C383.533 41.5104 383.554 41.2917 383.596 41.0417C383.648 40.7813 383.705 40.5625 383.762 40.3958L390.429 23.6875C390.497 23.5365 390.627 23.3958 390.825 23.2708C391.018 23.1354 391.189 23.0625 391.346 23.0625H400.367ZM404.596 42.8542V41.6875L398.596 26.7292H393.179L387.179 41.6875V42.8542H404.596Z" fill="black"/>
14
+ <path d="M417.848 55.3333V53.0208C417.848 52.8698 417.91 52.724 418.035 52.5833C418.16 52.4323 418.316 52.3542 418.514 52.3542H427.743V26.7292H418.514C418.066 26.7292 417.848 26.5 417.848 26.0417V23.75C417.848 23.2917 418.066 23.0625 418.514 23.0625H440.556C440.999 23.0625 441.223 23.2917 441.223 23.75V26.0417C441.223 26.5 440.999 26.7292 440.556 26.7292H431.389V52.3542H440.556C440.749 52.3542 440.91 52.4323 441.035 52.5833C441.16 52.724 441.223 52.8698 441.223 53.0208V55.3333C441.223 55.7813 440.999 56 440.556 56H418.514C418.066 56 417.848 55.7813 417.848 55.3333Z" fill="black"/>
25
15
  </svg>
@@ -249,44 +249,36 @@
249
249
  transition-[margin] duration-300;
250
250
  }
251
251
 
252
- .l-ui-utility--mt-0 {
253
- @apply !mt-0 md:!mt-0;
254
- }
255
-
256
- .l-ui-utility--mt-4 {
257
- @apply !mt-4 md:!mt-4;
258
- }
259
-
260
- .l-ui-utility--mt-8 {
261
- @apply !mt-8 md:!mt-8;
252
+ .l-ui-mt-0 {
253
+ @apply !mt-0;
262
254
  }
263
255
 
264
- .l-ui-utility---mr-2 {
265
- @apply !-mr-2 md:!-mr-2;
256
+ .l-ui-mt-2 {
257
+ @apply !mt-2;
266
258
  }
267
259
 
268
- .l-ui-utility--mt-sm {
269
- @apply !mt-1 md:!mt-2;
260
+ .l-ui-mt-3 {
261
+ @apply !mt-3;
270
262
  }
271
263
 
272
- .l-ui-utility--mt-md {
273
- @apply !mt-2 md:!mt-3;
264
+ .l-ui-mt-4 {
265
+ @apply !mt-4;
274
266
  }
275
267
 
276
- .l-ui-utility--mt-lg {
277
- @apply !mt-3 md:!mt-4;
268
+ .l-ui-mt-6 {
269
+ @apply !mt-6;
278
270
  }
279
271
 
280
- .l-ui-utility--mt-xl {
281
- @apply !mt-4 md:!mt-6;
272
+ .l-ui-mt-8 {
273
+ @apply !mt-8;
282
274
  }
283
275
 
284
- .l-ui-utility--mt-2xl {
285
- @apply !mt-6 md:!mt-8;
276
+ .l-ui--mr-2 {
277
+ @apply !-mr-2;
286
278
  }
287
279
 
288
- .l-ui-utility--mb-0 {
289
- @apply !mb-0 md:!mb-0;
280
+ .l-ui-mb-0 {
281
+ @apply !mb-0;
290
282
  }
291
283
 
292
284
  /* List */
@@ -407,11 +399,14 @@
407
399
  @apply my-1;
408
400
  }
409
401
 
402
+ .l-ui-markdown:has(table) {
403
+ @apply overflow-x-auto;
404
+ }
405
+
410
406
  .l-ui-markdown table {
411
407
  @apply my-3 w-full
412
408
  text-sm
413
- border-collapse
414
- block overflow-x-auto;
409
+ border-collapse;
415
410
  }
416
411
 
417
412
  .l-ui-markdown caption {
@@ -470,7 +465,8 @@
470
465
  @apply page;
471
466
  }
472
467
 
473
- .l-ui-page a:not([class*="l-ui-"]) {
468
+ .l-ui-page a:not([class*="l-ui-"]),
469
+ .l-ui-panel__body a:not([class*="l-ui-"]) {
474
470
  @apply underline underline-offset-4 decoration-foreground-muted/60
475
471
  text-foreground
476
472
  focus-ring rounded-sm;
@@ -496,14 +492,14 @@
496
492
 
497
493
  /* Header */
498
494
 
499
- .l-ui-container--header {
495
+ .l-ui-header-container {
500
496
  @apply fixed top-0 left-0 right-0
501
497
  z-50
502
498
  border-b border-border
503
499
  bg-background;
504
500
  }
505
501
 
506
- .l-ui-body--hide-header .l-ui-container--header {
502
+ .l-ui-body--hide-header .l-ui-header-container {
507
503
  @apply hidden;
508
504
  }
509
505
 
@@ -563,12 +559,13 @@
563
559
  @apply -mr-3;
564
560
  }
565
561
 
566
- .l-ui-theme-toggle__icon--light {
567
- @apply block;
562
+ /* Base element; visual state set by --light / --dark modifiers below. */
563
+ .l-ui-theme-toggle__icon {
564
+ @apply hidden;
568
565
  }
569
566
 
570
- .l-ui-theme-toggle__icon--dark {
571
- @apply hidden;
567
+ .l-ui-theme-toggle__icon--light {
568
+ @apply block;
572
569
  }
573
570
 
574
571
  .dark .l-ui-theme-toggle__icon--light {
@@ -581,34 +578,33 @@
581
578
 
582
579
  /* Icon */
583
580
 
581
+ .l-ui-icon {
582
+ @apply dark:invert;
583
+ }
584
+
584
585
  .l-ui-icon--xs {
585
- @apply w-4 h-4
586
- dark:invert;
586
+ @apply w-4 h-4;
587
587
  }
588
588
 
589
589
  .l-ui-icon--sm {
590
- @apply w-5 h-5
591
- dark:invert;
590
+ @apply w-5 h-5;
592
591
  }
593
592
 
594
593
  .l-ui-icon--md {
595
- @apply w-6 h-6
596
- dark:invert;
594
+ @apply w-6 h-6;
597
595
  }
598
596
 
599
597
  .l-ui-icon--lg {
600
- @apply w-7 h-7
601
- dark:invert;
598
+ @apply w-7 h-7;
602
599
  }
603
600
 
604
601
  .l-ui-icon--xl {
605
- @apply w-8 h-8
606
- dark:invert;
602
+ @apply w-8 h-8;
607
603
  }
608
604
 
609
605
  /* Navigation */
610
606
 
611
- .l-ui-container--navigation {
607
+ .l-ui-navigation-container {
612
608
  @apply fixed top-[var(--header-height)] left-0 bottom-0
613
609
  w-[240px]
614
610
  z-50
@@ -619,26 +615,29 @@
619
615
  transition-transform duration-200;
620
616
  }
621
617
 
622
- .l-ui-container--navigation.open {
618
+ .l-ui-navigation-container.open {
623
619
  @apply visible translate-x-0;
624
620
  }
625
621
 
626
- .l-ui-body--always-show-navigation .l-ui-container--navigation {
622
+ .l-ui-body--always-show-navigation .l-ui-navigation-container {
627
623
  @apply md:visible md:translate-x-0;
628
624
  }
629
625
 
630
- .l-ui-backdrop--navigation {
631
- @apply fixed top-[var(--header-height)] left-0 right-0 bottom-0
632
- z-[45]
626
+ .l-ui-backdrop {
627
+ @apply z-[45]
633
628
  backdrop-blur-sm
634
629
  opacity-0 pointer-events-none
635
630
  transition-opacity duration-200;
636
631
  }
637
632
 
638
- .l-ui-backdrop--navigation.open {
633
+ .l-ui-backdrop.open {
639
634
  @apply opacity-100 pointer-events-auto;
640
635
  }
641
636
 
637
+ .l-ui-backdrop--navigation {
638
+ @apply fixed top-[var(--header-height)] left-0 right-0 bottom-0;
639
+ }
640
+
642
641
  .l-ui-body--always-show-navigation .l-ui-backdrop--navigation {
643
642
  @apply md:hidden;
644
643
  }
@@ -909,27 +908,28 @@
909
908
  rounded;
910
909
  }
911
910
 
911
+ .l-ui-notice {
912
+ @apply notice;
913
+ }
914
+
912
915
  .l-ui-notice--success {
913
- @apply notice
914
- bg-success-bg
916
+ @apply bg-success-bg
915
917
  text-success-text;
916
918
  }
917
919
 
918
920
  .l-ui-notice--warning {
919
- @apply notice
920
- bg-warning-bg
921
+ @apply bg-warning-bg
921
922
  text-warning-text;
922
923
  }
923
924
 
924
925
  .l-ui-notice--error {
925
- @apply notice
926
- bg-error-bg
926
+ @apply bg-error-bg
927
927
  text-error-text;
928
928
  }
929
929
 
930
930
  /* Grid */
931
931
 
932
- .l-ui-container--grid {
932
+ .l-ui-grid {
933
933
  @apply grid grid-cols-1
934
934
  gap-4
935
935
  md:grid-cols-2;
@@ -937,7 +937,7 @@
937
937
 
938
938
  /* Spread */
939
939
 
940
- .l-ui-container--spread {
940
+ .l-ui-spread {
941
941
  @apply flex flex-row items-center justify-between
942
942
  gap-4;
943
943
  }
@@ -954,8 +954,14 @@
954
954
  bg-surface;
955
955
  }
956
956
 
957
+ @layer base {
958
+ pre.l-ui-surface {
959
+ margin: 0;
960
+ }
961
+ }
962
+
957
963
  pre.l-ui-surface {
958
- @apply m-0 overflow-auto;
964
+ @apply overflow-auto;
959
965
 
960
966
  > code {
961
967
  @apply bg-transparent;
@@ -1086,19 +1092,19 @@ pre.l-ui-surface {
1086
1092
  }
1087
1093
 
1088
1094
  .field_with_errors .l-ui-form__field {
1089
- @apply border-2 border-error-bg bg-error-bg/10;
1095
+ @apply border-2 border-danger bg-error-bg/10;
1090
1096
  }
1091
1097
 
1092
1098
  .l-ui-form__field-error {
1093
1099
  @apply mt-1 text-xs;
1094
1100
  }
1095
1101
 
1096
- .l-ui-container--checkbox {
1102
+ .l-ui-checkbox-container {
1097
1103
  @apply flex items-center
1098
1104
  mt-2 gap-3;
1099
1105
  }
1100
1106
 
1101
- .l-ui-container--checkbox input[type="checkbox"] {
1107
+ .l-ui-checkbox-container input[type="checkbox"] {
1102
1108
  @apply w-6 h-6
1103
1109
  accent-foreground
1104
1110
  focus-ring
@@ -1108,7 +1114,7 @@ pre.l-ui-surface {
1108
1114
 
1109
1115
  /* Search */
1110
1116
 
1111
- .l-ui-search__inline {
1117
+ .l-ui-search-inline {
1112
1118
  @apply flex items-center
1113
1119
  gap-2;
1114
1120
 
@@ -1197,7 +1203,7 @@ pre.l-ui-surface {
1197
1203
  appearance: none;
1198
1204
  }
1199
1205
 
1200
- .l-ui-radio__group {
1206
+ .l-ui-radio {
1201
1207
  @apply flex flex-col
1202
1208
  mt-2 gap-2;
1203
1209
  }
@@ -1256,7 +1262,7 @@ pre.l-ui-surface {
1256
1262
  @apply px-2 py-2.5;
1257
1263
  }
1258
1264
 
1259
- .l-ui-container--table {
1265
+ .l-ui-table-container {
1260
1266
  @apply overflow-x-auto;
1261
1267
  }
1262
1268
 
@@ -1404,24 +1410,24 @@ pre.l-ui-surface {
1404
1410
 
1405
1411
  /* Pagination (pagy) */
1406
1412
 
1407
- .l-ui-container--pagy .pagy.series-nav {
1413
+ .l-ui-pagy-container .pagy.series-nav {
1408
1414
  @apply pagination;
1409
1415
  }
1410
1416
 
1411
- .l-ui-container--pagy .pagy.series-nav a,
1412
- .l-ui-container--pagy .pagy.series-nav span {
1417
+ .l-ui-pagy-container .pagy.series-nav a,
1418
+ .l-ui-pagy-container .pagy.series-nav span {
1413
1419
  @apply pagination__item no-underline;
1414
1420
  }
1415
1421
 
1416
- .l-ui-container--pagy .pagy.series-nav a[aria-current="page"] {
1422
+ .l-ui-pagy-container .pagy.series-nav a[aria-current="page"] {
1417
1423
  @apply pagination__item--active;
1418
1424
  }
1419
1425
 
1420
- .l-ui-container--pagy .pagy.series-nav .disabled {
1426
+ .l-ui-pagy-container .pagy.series-nav .disabled {
1421
1427
  @apply pagination__item--disabled;
1422
1428
  }
1423
1429
 
1424
- .l-ui-container--pagy .pagy.series-nav .gap {
1430
+ .l-ui-pagy-container .pagy.series-nav .gap {
1425
1431
  @apply pagination__gap;
1426
1432
  }
1427
1433
 
@@ -1523,7 +1529,7 @@ pre.l-ui-surface {
1523
1529
  @apply block;
1524
1530
  }
1525
1531
 
1526
- .l-ui-container--panel {
1532
+ .l-ui-panel-container {
1527
1533
  @apply fixed top-[var(--header-height)] right-0 bottom-0
1528
1534
  w-full md:w-[480px]
1529
1535
  z-40
@@ -1533,7 +1539,7 @@ pre.l-ui-surface {
1533
1539
  transition-transform duration-300;
1534
1540
  }
1535
1541
 
1536
- .l-ui-container--panel.open {
1542
+ .l-ui-panel-container.open {
1537
1543
  @apply translate-x-0;
1538
1544
  }
1539
1545
 
@@ -3,14 +3,14 @@ module Layered
3
3
  module PagyHelper
4
4
  def l_ui_pagy(pagy)
5
5
  unless defined?(Pagy)
6
- return tag.p("Pagination requires the pagy gem. Add `gem \"pagy\"` to your Gemfile.", class: "l-ui-notice--warning") if Rails.env.development?
6
+ return tag.p("Pagination requires the pagy gem. Add `gem \"pagy\"` to your Gemfile.", class: "l-ui-notice l-ui-notice--warning") if Rails.env.development?
7
7
 
8
8
  return
9
9
  end
10
10
 
11
11
  return unless pagy.pages > 1
12
12
 
13
- tag.div(pagy.series_nav.html_safe, class: "l-ui-container--pagy l-ui-utility--mt-lg")
13
+ tag.div(pagy.series_nav.html_safe, class: "l-ui-pagy-container l-ui-mt-4")
14
14
  end
15
15
  end
16
16
  end
@@ -12,7 +12,7 @@ module Layered
12
12
  # f.submit "Go", class: "l-ui-button--primary"
13
13
  # end
14
14
  def l_ui_search_form(query, url: nil, fields: [], predicate: :cont, combinator: :or, label: "Search", placeholder: nil, button: "Search", clear: nil, turbo_frame: nil, html: {}, &block)
15
- result = require_ransack("l_ui_search_form") { |msg| tag.p(msg, class: "l-ui-notice--warning") }
15
+ result = require_ransack("l_ui_search_form") { |msg| tag.p(msg, class: "l-ui-notice l-ui-notice--warning") }
16
16
  return result unless result == true
17
17
 
18
18
  scope = query.context&.search_key || :q
@@ -44,7 +44,7 @@ module Layered
44
44
 
45
45
  search_form_for(query, url: url, html: html, as: scope) do |f|
46
46
  f.label(combined_field, label, class: "l-ui-sr-only") +
47
- tag.div(class: "l-ui-search__inline") do
47
+ tag.div(class: "l-ui-search-inline") do
48
48
  content = f.text_field(combined_field, class: "l-ui-form__field", placeholder: placeholder) +
49
49
  f.submit(button, class: "l-ui-button--primary")
50
50
  if clear
@@ -76,7 +76,7 @@ module Layered
76
76
 
77
77
  caption_tag = caption ? tag.caption(caption, class: "l-ui-sr-only") : nil
78
78
  table = tag.table(class: "l-ui-table") { safe_join([caption_tag, thead, tbody].compact) }
79
- tag.div(table, class: "l-ui-container--table")
79
+ tag.div(table, class: "l-ui-table-container")
80
80
  end
81
81
 
82
82
  private
@@ -6,7 +6,7 @@ module Layered
6
6
  def l_ui_title_bar(title:, breadcrumbs: [], actions: nil, &block)
7
7
  action_content = block_given? ? capture(&block) : actions
8
8
 
9
- content_tag(:header, class: "l-ui-title-bar l-ui-container--spread") do
9
+ content_tag(:header, class: "l-ui-title-bar l-ui-spread") do
10
10
  safe_join([
11
11
  content_tag(:div, class: "l-ui-title-bar__content") do
12
12
  safe_join([
@@ -67,7 +67,7 @@ export default class extends Controller {
67
67
 
68
68
  // Prevent background content from being tabbable
69
69
  const main = document.querySelector("main")
70
- const panel = document.querySelector(".l-ui-container--panel")
70
+ const panel = document.querySelector(".l-ui-panel-container")
71
71
  if (main) main.setAttribute("inert", "")
72
72
  if (panel) panel.setAttribute("inert", "")
73
73
 
@@ -103,7 +103,7 @@ export default class extends Controller {
103
103
 
104
104
  // Restore background content tabbability
105
105
  const main = document.querySelector("main")
106
- const panel = document.querySelector(".l-ui-container--panel")
106
+ const panel = document.querySelector(".l-ui-panel-container")
107
107
  if (main) main.removeAttribute("inert")
108
108
  if (panel) panel.removeAttribute("inert")
109
109
 
@@ -148,7 +148,7 @@ export default class extends Controller {
148
148
  if (this.hasCloseIconTarget) this.closeIconTarget.style.display = "none"
149
149
 
150
150
  const main = document.querySelector("main")
151
- const panel = document.querySelector(".l-ui-container--panel")
151
+ const panel = document.querySelector(".l-ui-panel-container")
152
152
  if (main) main.removeAttribute("inert")
153
153
  if (panel) panel.removeAttribute("inert")
154
154
  }
@@ -28,7 +28,7 @@ export default class extends Controller {
28
28
  }
29
29
 
30
30
  rewriteLink(event) {
31
- const link = event.target.closest(".l-ui-container--pagy a[href]")
31
+ const link = event.target.closest(".l-ui-pagy-container a[href]")
32
32
  if (!link) return
33
33
 
34
34
  const url = new URL(link.href, window.location.origin)
@@ -2,7 +2,7 @@
2
2
  <div class="l-ui-page--width-constrained">
3
3
  <h1>Resend confirmation instructions</h1>
4
4
 
5
- <%= form_with(model: resource, as: resource_name, url: confirmation_path(resource_name), method: :post, class: 'l-ui-form l-ui-utility--mt-md') do |f| %>
5
+ <%= form_with(model: resource, as: resource_name, url: confirmation_path(resource_name), method: :post, class: 'l-ui-form l-ui-mt-3') do |f| %>
6
6
  <%= render 'layered_ui/shared/form_errors', item: resource %>
7
7
 
8
8
  <div class="l-ui-form__group">
@@ -2,7 +2,7 @@
2
2
  <div class="l-ui-page--width-constrained">
3
3
  <h1>Change your password</h1>
4
4
 
5
- <%= form_with(model: resource, as: resource_name, url: password_path(resource_name), method: :put, class: 'l-ui-form l-ui-utility--mt-md') do |f| %>
5
+ <%= form_with(model: resource, as: resource_name, url: password_path(resource_name), method: :put, class: 'l-ui-form l-ui-mt-3') do |f| %>
6
6
  <%= render 'layered_ui/shared/form_errors', item: resource %>
7
7
  <%= f.hidden_field :reset_password_token %>
8
8
 
@@ -2,7 +2,7 @@
2
2
  <div class="l-ui-page--width-constrained">
3
3
  <h1>Forgot your password?</h1>
4
4
 
5
- <%= form_with(model: resource, as: resource_name, url: password_path(resource_name), method: :post, class: 'l-ui-form l-ui-utility--mt-md') do |f| %>
5
+ <%= form_with(model: resource, as: resource_name, url: password_path(resource_name), method: :post, class: 'l-ui-form l-ui-mt-3') do |f| %>
6
6
  <%= render 'layered_ui/shared/form_errors', item: resource %>
7
7
 
8
8
  <div class="l-ui-form__group">
@@ -2,7 +2,7 @@
2
2
  <div class="l-ui-page--width-constrained">
3
3
  <h1>Register</h1>
4
4
 
5
- <%= form_with(model: resource, as: resource_name, url: registration_path(resource_name), class: 'l-ui-form l-ui-utility--mt-md') do |f| %>
5
+ <%= form_with(model: resource, as: resource_name, url: registration_path(resource_name), class: 'l-ui-form l-ui-mt-3') do |f| %>
6
6
  <%= render 'layered_ui/shared/form_errors', item: resource %>
7
7
 
8
8
  <% if resource.class.column_names.include?('name') %>
@@ -2,7 +2,7 @@
2
2
  <div class="l-ui-page--width-constrained">
3
3
  <h1>Login</h1>
4
4
 
5
- <%= form_with(model: resource, as: resource_name, url: session_path(resource_name), class: 'l-ui-form l-ui-utility--mt-md') do |f| %>
5
+ <%= form_with(model: resource, as: resource_name, url: session_path(resource_name), class: 'l-ui-form l-ui-mt-3') do |f| %>
6
6
  <%= render 'layered_ui/shared/form_errors', item: resource %>
7
7
 
8
8
  <div class="l-ui-form__group">
@@ -18,7 +18,7 @@
18
18
  </div>
19
19
 
20
20
  <% if devise_mapping.rememberable? %>
21
- <div class="l-ui-form__group l-ui-container--checkbox l-ui-utility--mt-8">
21
+ <div class="l-ui-form__group l-ui-checkbox-container l-ui-mt-8">
22
22
  <%= f.check_box :remember_me %>
23
23
  <%= f.label :remember_me, class: "l-ui-label--checkbox" %>
24
24
  </div>
@@ -1,35 +1,35 @@
1
1
  <%- if controller_name != 'sessions' %>
2
- <p>
3
- Already have an account? <%= link_to "Login", new_session_path(resource_name) %>
4
- </p>
5
- <% end %>
2
+ <p>
3
+ Already have an account? <%= link_to "Login", new_session_path(resource_name) %>
4
+ </p>
5
+ <% end %>
6
6
 
7
- <%- if devise_mapping.registerable? && controller_name != 'registrations' %>
8
- <p>
9
- Don't have an account? <%= link_to "Register", new_registration_path(resource_name) %>
10
- </p>
11
- <% end %>
7
+ <%- if devise_mapping.registerable? && controller_name != 'registrations' %>
8
+ <p>
9
+ Don't have an account? <%= link_to "Register", new_registration_path(resource_name) %>
10
+ </p>
11
+ <% end %>
12
12
 
13
- <%- if devise_mapping.recoverable? || devise_mapping.confirmable? || (devise_mapping.lockable? && resource_class.unlock_strategy_enabled?(:email)) %>
14
- <h3 class="l-ui-utility--mt-xl">
15
- Need assistance?
16
- </h3>
17
- <% end %>
13
+ <%- if devise_mapping.recoverable? || devise_mapping.confirmable? || (devise_mapping.lockable? && resource_class.unlock_strategy_enabled?(:email)) %>
14
+ <h2 class="l-ui-mt-6">
15
+ Need assistance?
16
+ </h2>
17
+ <% end %>
18
18
 
19
- <%- if devise_mapping.recoverable? && controller_name != 'passwords' && controller_name != 'registrations' %>
20
- <p ><%= link_to "Reset your password", new_password_path(resource_name) %></p>
21
- <% end %>
19
+ <%- if devise_mapping.recoverable? && controller_name != 'passwords' && controller_name != 'registrations' %>
20
+ <p><%= link_to "Reset your password", new_password_path(resource_name) %></p>
21
+ <% end %>
22
22
 
23
- <%- if devise_mapping.confirmable? && controller_name != 'confirmations' %>
24
- <p ><%= link_to "Resend account confirmation email", new_confirmation_path(resource_name) %></p>
25
- <% end %>
23
+ <%- if devise_mapping.confirmable? && controller_name != 'confirmations' %>
24
+ <p><%= link_to "Resend account confirmation email", new_confirmation_path(resource_name) %></p>
25
+ <% end %>
26
26
 
27
- <%- if devise_mapping.lockable? && resource_class.unlock_strategy_enabled?(:email) && controller_name != 'unlocks' %>
28
- <p ><%= link_to "Resend account unlock email", new_unlock_path(resource_name) %></p>
29
- <% end %>
27
+ <%- if devise_mapping.lockable? && resource_class.unlock_strategy_enabled?(:email) && controller_name != 'unlocks' %>
28
+ <p><%= link_to "Resend account unlock email", new_unlock_path(resource_name) %></p>
29
+ <% end %>
30
30
 
31
- <%- if devise_mapping.omniauthable? %>
32
- <%- resource_class.omniauth_providers.each do |provider| %>
33
- <p ><%= button_to "Sign in with #{OmniAuth::Utils.camelize(provider)}", omniauth_authorize_path(resource_name, provider), data: { turbo: false } %></p>
34
- <% end %>
31
+ <%- if devise_mapping.omniauthable? %>
32
+ <%- resource_class.omniauth_providers.each do |provider| %>
33
+ <p><%= button_to "Sign in with #{OmniAuth::Utils.camelize(provider)}", omniauth_authorize_path(resource_name, provider), data: { turbo: false } %></p>
35
34
  <% end %>
35
+ <% end %>
@@ -2,7 +2,7 @@
2
2
  <div class="l-ui-page--width-constrained">
3
3
  <h1>Resend unlock instructions</h1>
4
4
 
5
- <%= form_with(model: resource, as: resource_name, url: unlock_path(resource_name), method: :post, class: 'l-ui-form l-ui-utility--mt-md') do |f| %>
5
+ <%= form_with(model: resource, as: resource_name, url: unlock_path(resource_name), method: :post, class: 'l-ui-form l-ui-mt-3') do |f| %>
6
6
  <%= render 'layered_ui/shared/form_errors', item: resource %>
7
7
 
8
8
  <div class="l-ui-form__group">
@@ -30,7 +30,7 @@
30
30
  class: "l-ui-select", **base_opts, **extras) %>
31
31
  </div>
32
32
  <% elsif config[:as] == :checkbox %>
33
- <div class="l-ui-container--checkbox">
33
+ <div class="l-ui-checkbox-container">
34
34
  <%= form.check_box(attribute, class: "l-ui-checkbox", **base_opts, **extras) %>
35
35
  <%= form.label(attribute, config[:label], class: "l-ui-label--checkbox") %>
36
36
  </div>
@@ -1,10 +1,10 @@
1
1
  <% if item.errors.any? %>
2
2
  <div id="error_explanation" class="l-ui-form__errors" role="alert">
3
- <h3>
3
+ <h2>
4
4
  <%= pluralize(item.errors.count, "error") %> found:
5
- </h3>
5
+ </h2>
6
6
 
7
- <ul class="l-ui-form__errors-list l-ui-utility--mt-lg">
7
+ <ul class="l-ui-form__errors-list l-ui-mt-4">
8
8
  <% item.errors.each do |error| %>
9
9
  <li><%= error.full_message %></li>
10
10
  <% end %>
@@ -1,4 +1,4 @@
1
- <header class="l-ui-container--header" role="banner">
1
+ <header class="l-ui-header-container" role="banner">
2
2
  <div class="l-ui-header">
3
3
  <%= link_to "/", "aria-label": "Home" do %>
4
4
  <%= image_tag(@l_ui_icon_light_url.presence || "layered_ui/icon_light.svg", alt: "", class: "l-ui-header__icon l-ui-header__icon--light") %>
@@ -17,8 +17,8 @@
17
17
  aria-label="Toggle dark mode"
18
18
  aria-pressed="false"
19
19
  >
20
- <%= image_tag "layered_ui/icon_moon.svg", alt: "", class: "l-ui-icon--sm l-ui-theme-toggle__icon--light", aria: { hidden: true } %>
21
- <%= image_tag "layered_ui/icon_sun.svg", alt: "", class: "l-ui-icon--sm l-ui-theme-toggle__icon--dark", aria: { hidden: true } %>
20
+ <%= image_tag "layered_ui/icon_moon.svg", alt: "", class: "l-ui-icon l-ui-icon--sm l-ui-theme-toggle__icon l-ui-theme-toggle__icon--light", aria: { hidden: true } %>
21
+ <%= image_tag "layered_ui/icon_sun.svg", alt: "", class: "l-ui-icon l-ui-icon--sm l-ui-theme-toggle__icon l-ui-theme-toggle__icon--dark", aria: { hidden: true } %>
22
22
  </button>
23
23
 
24
24
  <% unless l_ui_user_signed_in? %>
@@ -41,8 +41,8 @@
41
41
  aria-expanded="false"
42
42
  aria-controls="l-ui-navigation"
43
43
  >
44
- <%= image_tag "layered_ui/icon_hamburger.svg", alt: "", class: "l-ui-icon--md", data: { "l-ui--navigation-target": "openIcon" }, aria: { hidden: true } %>
45
- <%= image_tag "layered_ui/icon_close.svg", alt: "", class: "l-ui-icon--md", style: "display: none;", data: { "l-ui--navigation-target": "closeIcon" }, aria: { hidden: true } %>
44
+ <%= image_tag "layered_ui/icon_hamburger.svg", alt: "", class: "l-ui-icon l-ui-icon--md", data: { "l-ui--navigation-target": "openIcon" }, aria: { hidden: true } %>
45
+ <%= image_tag "layered_ui/icon_close.svg", alt: "", class: "l-ui-icon l-ui-icon--md", style: "display: none;", data: { "l-ui--navigation-target": "closeIcon" }, aria: { hidden: true } %>
46
46
  </button>
47
47
  <% end %>
48
48
  </nav>
@@ -1,5 +1,5 @@
1
1
  <% if yield(:l_ui_navigation_items).present? || l_ui_user_signed_in? %>
2
- <nav id="l-ui-navigation" class="l-ui-container--navigation" aria-label="Main navigation" data-l-ui--navigation-target="navigation">
2
+ <nav id="l-ui-navigation" class="l-ui-navigation-container" aria-label="Main navigation" data-l-ui--navigation-target="navigation">
3
3
  <div class="l-ui-navigation">
4
4
  <ul class="l-ui-navigation__links" role="list">
5
5
  <%= yield :l_ui_navigation_items %>
@@ -21,7 +21,7 @@
21
21
  <% end %>
22
22
  </div>
23
23
  <% if l_ui_user_signed_in? && respond_to?(:destroy_user_session_path) %>
24
- <div class="l-ui-utility--mt-lg">
24
+ <div class="l-ui-mt-4">
25
25
  <%= button_to "Logout", main_app.destroy_user_session_path, method: :delete, class: "l-ui-button--outline-danger l-ui-button--full" %>
26
26
  </div>
27
27
  <% end %>
@@ -2,7 +2,7 @@
2
2
  <% next unless %w[notice alert error].include?(name) %>
3
3
  <% next unless msg.is_a?(String) && msg.present? %>
4
4
 
5
- <p class="<%= case name
5
+ <p class="l-ui-notice <%= case name
6
6
  when 'notice' then 'l-ui-notice--success'
7
7
  when 'error' then 'l-ui-notice--error'
8
8
  else 'l-ui-notice--warning'
@@ -4,7 +4,7 @@
4
4
  >
5
5
  <aside
6
6
  id="panel"
7
- class="l-ui-container--panel"
7
+ class="l-ui-panel-container"
8
8
  data-l-ui--panel-target="container"
9
9
  data-l-ui--panel-resize-target="container"
10
10
  aria-label="Side panel"
@@ -18,6 +18,8 @@
18
18
  aria-orientation="vertical"
19
19
  aria-valuenow="480"
20
20
  aria-valuemin="240"
21
+ aria-valuemax="1200"
22
+ aria-valuetext="Panel width: 480 pixels"
21
23
  tabindex="0"
22
24
  data-l-ui--panel-resize-target="handle"
23
25
  data-action="mousedown->l-ui--panel-resize#startResize dblclick->l-ui--panel-resize#resetWidth keydown->l-ui--panel-resize#handleKeydown"
@@ -39,7 +41,7 @@
39
41
  title="Toggle panel (Ctrl+i / ⌘i)"
40
42
  data-action="click->l-ui--panel#toggle"
41
43
  data-l-ui--panel-target="hideButton">
42
- <%= image_tag "layered_ui/icon_chevron_right.svg", alt: "", class: "l-ui-icon--sm", aria: { hidden: true } %>
44
+ <%= image_tag "layered_ui/icon_chevron_right.svg", alt: "", class: "l-ui-icon l-ui-icon--sm", aria: { hidden: true } %>
43
45
  </button>
44
46
  </div>
45
47
  </div>
@@ -66,12 +68,12 @@
66
68
  data-l-ui--panel-target="actionButton"
67
69
  >
68
70
  <% if @l_ui_panel_icon_light_url.present? %>
69
- <%= image_tag(@l_ui_panel_icon_light_url, alt: "", class: "l-ui-icon--lg l-ui-panel__icon--light", aria: { hidden: true }) %>
71
+ <%= image_tag(@l_ui_panel_icon_light_url, alt: "", class: "l-ui-icon l-ui-icon--lg l-ui-panel__icon l-ui-panel__icon--light", aria: { hidden: true }) %>
70
72
  <% else %>
71
73
  <svg class="l-ui-panel__icon l-ui-panel__icon--light" width="24" height="24" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" stroke="currentColor" d="M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"/></svg>
72
74
  <% end %>
73
75
  <% if @l_ui_panel_icon_dark_url.present? %>
74
- <%= image_tag(@l_ui_panel_icon_dark_url, alt: "", class: "l-ui-icon--lg l-ui-panel__icon--dark", aria: { hidden: true }) %>
76
+ <%= image_tag(@l_ui_panel_icon_dark_url, alt: "", class: "l-ui-icon l-ui-icon--lg l-ui-panel__icon l-ui-panel__icon--dark", aria: { hidden: true }) %>
75
77
  <% else %>
76
78
  <svg class="l-ui-panel__icon l-ui-panel__icon--dark" width="24" height="24" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" stroke="currentColor" d="M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"/></svg>
77
79
  <% end %>
@@ -30,7 +30,7 @@
30
30
  <div id="l-ui-live-region" class="l-ui-sr-only" aria-live="polite" aria-atomic="true"></div>
31
31
  <%= render "layouts/layered_ui/header" %>
32
32
  <%= render "layouts/layered_ui/navigation" %>
33
- <div class="l-ui-backdrop--navigation" data-l-ui--navigation-target="backdrop" data-action="click->l-ui--navigation#close"></div>
33
+ <div class="l-ui-backdrop l-ui-backdrop--navigation" data-l-ui--navigation-target="backdrop" data-action="click->l-ui--navigation#close"></div>
34
34
  <% if yield(:l_ui_panel_body).present? %>
35
35
  <%= render "layouts/layered_ui/panel" %>
36
36
  <% end %>
@@ -1,5 +1,5 @@
1
1
  module Layered
2
2
  module Ui
3
- VERSION = "0.12.0"
3
+ VERSION = "0.13.0"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: layered-ui-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.0
4
+ version: 0.13.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - layered.ai