@leabankab/component-library 7.3.0 → 8.0.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 (187) hide show
  1. package/CHANGELOG.md +644 -0
  2. package/README.md +2 -5
  3. package/dist/component-library.es.js +2712 -5705
  4. package/dist/component-library.es.js.map +1 -1
  5. package/dist/component-library.umd.js +2 -28
  6. package/dist/component-library.umd.js.map +1 -1
  7. package/dist/components/animations/icons/status-icon.d.ts +4 -0
  8. package/dist/components/animations/illustrations/check-animation.d.ts +8 -0
  9. package/dist/components/animations/illustrations/pulse-animation.d.ts +5 -1
  10. package/dist/components/animations/illustrations/status-animation.d.ts +8 -1
  11. package/dist/components/animations/shared.d.ts +6 -32
  12. package/dist/components/animations/spinner.d.ts +18 -0
  13. package/dist/components/animations/use-animation-labels.d.ts +0 -5
  14. package/dist/components/buttons/action-button.d.ts +8 -10
  15. package/dist/components/buttons/button-base.d.ts +26 -12
  16. package/dist/components/buttons/button.d.ts +2 -2
  17. package/dist/components/buttons/close-button.d.ts +1 -1
  18. package/dist/components/buttons/icon-button.d.ts +1 -13
  19. package/dist/components/buttons/skip-link.d.ts +21 -4
  20. package/dist/components/color-roles.d.ts +8 -0
  21. package/dist/components/data-display/card.d.ts +31 -4
  22. package/dist/components/data-display/chip.d.ts +50 -8
  23. package/dist/components/data-display/data-field.d.ts +15 -4
  24. package/dist/components/data-display/tooltip.d.ts +74 -22
  25. package/dist/components/feedback/alert-parts.d.ts +10 -9
  26. package/dist/components/feedback/alert.d.ts +1 -1
  27. package/dist/components/feedback/simple-dialog.d.ts +1 -1
  28. package/dist/components/form/amount-slider.d.ts +68 -0
  29. package/dist/components/form/autocomplete.d.ts +56 -59
  30. package/dist/components/form/checkbox-box.d.ts +11 -0
  31. package/dist/components/form/checkbox.d.ts +67 -7
  32. package/dist/components/form/combo-field.d.ts +60 -0
  33. package/dist/components/form/email-input.d.ts +20 -26
  34. package/dist/components/form/field-parts.d.ts +36 -0
  35. package/dist/components/form/index.d.ts +3 -9
  36. package/dist/components/form/input.d.ts +51 -13
  37. package/dist/components/form/multi-select.d.ts +12 -14
  38. package/dist/components/form/number-input.d.ts +20 -14
  39. package/dist/components/form/phone-number-input/phone-number-input.d.ts +25 -14
  40. package/dist/components/form/radio-card.d.ts +94 -43
  41. package/dist/components/form/radio-circle.d.ts +14 -13
  42. package/dist/components/form/radio-group-root.d.ts +88 -0
  43. package/dist/components/form/radio.d.ts +68 -24
  44. package/dist/components/form/select-field.d.ts +78 -0
  45. package/dist/components/form/select.d.ts +30 -42
  46. package/dist/components/form/slider-parts.d.ts +34 -0
  47. package/dist/components/form/slider.d.ts +40 -16
  48. package/dist/components/form/use-autocomplete-labels.d.ts +3 -16
  49. package/dist/components/form/use-blur-outside.d.ts +7 -0
  50. package/dist/components/form/use-focus-target-ref.d.ts +11 -0
  51. package/dist/components/form/use-tooltip-trigger-labels.d.ts +5 -0
  52. package/dist/components/index.d.ts +0 -1
  53. package/dist/components/navigation/form-stepper.d.ts +1 -1
  54. package/dist/components/navigation/index.d.ts +1 -1
  55. package/dist/components/navigation/linear-form-stepper.d.ts +1 -1
  56. package/dist/components/navigation/progress-circle.d.ts +14 -8
  57. package/dist/components/navigation/tabs.d.ts +37 -34
  58. package/dist/components/navigation/use-stepper-labels.d.ts +1 -1
  59. package/dist/components/typography/link.d.ts +25 -16
  60. package/dist/components/typography/lists.d.ts +20 -23
  61. package/dist/components/typography/text.d.ts +46 -10
  62. package/dist/components/ui/app-header.d.ts +9 -1
  63. package/dist/cookie-consent/react.d.ts +0 -1
  64. package/dist/cookie-consent-react.cjs +1 -1
  65. package/dist/cookie-consent-react.cjs.map +1 -1
  66. package/dist/cookie-consent-react.mjs +106 -96
  67. package/dist/cookie-consent-react.mjs.map +1 -1
  68. package/dist/cookie-consent.css +1 -1
  69. package/dist/date-picker/datepicker.d.ts +140 -0
  70. package/dist/date-picker/index.d.ts +18 -0
  71. package/dist/date-picker/theme/field-base.d.ts +23 -0
  72. package/dist/date-picker/theme/form-control.theme.d.ts +7 -0
  73. package/dist/date-picker/theme/index.d.ts +12 -0
  74. package/dist/date-picker/theme/input.theme.d.ts +6 -0
  75. package/dist/{components/form/datepicker → date-picker}/use-view-toggle-labels.d.ts +1 -1
  76. package/dist/date-picker.cjs +2 -0
  77. package/dist/date-picker.cjs.map +1 -0
  78. package/dist/date-picker.mjs +1012 -0
  79. package/dist/date-picker.mjs.map +1 -0
  80. package/dist/{components/dev-panel → dev-panel}/dev-panel-payload.d.ts +1 -1
  81. package/dist/{components/dev-panel → dev-panel}/dev-panel-status.d.ts +2 -2
  82. package/dist/{components/dev-panel → dev-panel}/dev-panel-steps.d.ts +2 -1
  83. package/dist/{components/dev-panel → dev-panel}/dev-panel.d.ts +25 -19
  84. package/dist/dev-panel/index.d.ts +10 -0
  85. package/dist/{components/dev-panel → dev-panel}/json-highlight.d.ts +2 -2
  86. package/dist/dev-panel/parts.d.ts +9 -0
  87. package/dist/{components/dev-panel → dev-panel}/segmented-control.d.ts +5 -4
  88. package/dist/{components/dev-panel → dev-panel}/use-dev-panel-labels.d.ts +1 -1
  89. package/dist/{components/dev-panel → dev-panel}/use-roving-radio.d.ts +2 -2
  90. package/dist/dev-panel.cjs +3 -0
  91. package/dist/dev-panel.cjs.map +1 -0
  92. package/dist/dev-panel.css +1 -0
  93. package/dist/dev-panel.mjs +818 -0
  94. package/dist/dev-panel.mjs.map +1 -0
  95. package/dist/fonts/ClashGrotesk-Variable.woff2 +0 -0
  96. package/dist/index.css +1 -1
  97. package/dist/index.d.ts +1 -3
  98. package/dist/provider/lea-provider.d.ts +4 -7
  99. package/dist/react-hook-form/form-field.d.ts +76 -0
  100. package/dist/react-hook-form/index.d.ts +1 -0
  101. package/dist/react-hook-form.cjs +2 -0
  102. package/dist/react-hook-form.cjs.map +1 -0
  103. package/dist/react-hook-form.mjs +33 -0
  104. package/dist/react-hook-form.mjs.map +1 -0
  105. package/dist/tailwind.css +103 -17
  106. package/dist/theme/index.d.ts +0 -4
  107. package/dist/theme/token-types.d.ts +15 -3
  108. package/dist/theme/tokens/colors.d.ts +13 -0
  109. package/dist/theme/tokens/font-family.d.ts +9 -0
  110. package/dist/theme/tokens/font-sizes.d.ts +8 -0
  111. package/dist/theme/tokens/index.d.ts +4 -1
  112. package/dist/theme/tokens/line-heights.d.ts +11 -0
  113. package/dist/theme/tokens/spacing.d.ts +6 -0
  114. package/dist/theme/tokens/text-styles.d.ts +61 -0
  115. package/dist/theme/tokens/type-scale.d.ts +21 -0
  116. package/dist/theme/types.d.ts +19 -30
  117. package/package.json +42 -6
  118. package/dist/components/dev-panel/index.d.ts +0 -9
  119. package/dist/components/form/datepicker/datepicker.d.ts +0 -99
  120. package/dist/components/form/datepicker/index.d.ts +0 -1
  121. package/dist/components/form/fields/autocomplete-field.d.ts +0 -17
  122. package/dist/components/form/fields/boolean-radio-field.d.ts +0 -3
  123. package/dist/components/form/fields/checkbox-field.d.ts +0 -12
  124. package/dist/components/form/fields/datepicker-field.d.ts +0 -9
  125. package/dist/components/form/fields/email-field.d.ts +0 -10
  126. package/dist/components/form/fields/field-types.d.ts +0 -18
  127. package/dist/components/form/fields/index.d.ts +0 -14
  128. package/dist/components/form/fields/input-field.d.ts +0 -9
  129. package/dist/components/form/fields/multi-select-field.d.ts +0 -9
  130. package/dist/components/form/fields/number-field.d.ts +0 -10
  131. package/dist/components/form/fields/phone-number-field.d.ts +0 -11
  132. package/dist/components/form/fields/radio-card-field.d.ts +0 -22
  133. package/dist/components/form/fields/radio-field.d.ts +0 -16
  134. package/dist/components/form/fields/select-field.d.ts +0 -9
  135. package/dist/components/form/fields/use-field-control.d.ts +0 -6
  136. package/dist/components/form/fields/use-tooltip-trigger-labels.d.ts +0 -5
  137. package/dist/components/form/form-control/form-control-context.d.ts +0 -35
  138. package/dist/components/form/form-control/form-control-label.d.ts +0 -1
  139. package/dist/components/form/form-control/form-control.d.ts +0 -13
  140. package/dist/components/form/form-control/form-helper-text.d.ts +0 -9
  141. package/dist/components/form/form-control/form-label.d.ts +0 -9
  142. package/dist/components/form/form-control/index.d.ts +0 -5
  143. package/dist/components/form/input-label.d.ts +0 -9
  144. package/dist/theme/components/accordion.theme.d.ts +0 -7
  145. package/dist/theme/components/action-button.theme.d.ts +0 -45
  146. package/dist/theme/components/alert.theme.d.ts +0 -2
  147. package/dist/theme/components/autocomplete.theme.d.ts +0 -2
  148. package/dist/theme/components/baseline-css.d.ts +0 -2
  149. package/dist/theme/components/button.theme.d.ts +0 -2
  150. package/dist/theme/components/card.theme.d.ts +0 -2
  151. package/dist/theme/components/checkbox.theme.d.ts +0 -2
  152. package/dist/theme/components/chip.theme.d.ts +0 -2
  153. package/dist/theme/components/dev-panel.theme.d.ts +0 -95
  154. package/dist/theme/components/dialog.theme.d.ts +0 -2
  155. package/dist/theme/components/drawer.theme.d.ts +0 -4
  156. package/dist/theme/components/field-base.d.ts +0 -31
  157. package/dist/theme/components/form-control-label.theme.d.ts +0 -2
  158. package/dist/theme/components/form-control.theme.d.ts +0 -2
  159. package/dist/theme/components/index.d.ts +0 -2
  160. package/dist/theme/components/input.theme.d.ts +0 -3
  161. package/dist/theme/components/link.theme.d.ts +0 -2
  162. package/dist/theme/components/menu-item.theme.d.ts +0 -2
  163. package/dist/theme/components/number-input.theme.d.ts +0 -23
  164. package/dist/theme/components/phone-number-input.theme.d.ts +0 -43
  165. package/dist/theme/components/radio.theme.d.ts +0 -2
  166. package/dist/theme/components/select.theme.d.ts +0 -2
  167. package/dist/theme/components/slider.theme.d.ts +0 -2
  168. package/dist/theme/components/tabs.theme.d.ts +0 -34
  169. package/dist/theme/components/tooltip.theme.d.ts +0 -110
  170. package/dist/theme/components/typography.theme.d.ts +0 -2
  171. package/dist/theme/mui-augmentation.d.ts +0 -147
  172. package/dist/theme/sx-config.d.ts +0 -10
  173. /package/dist/{components/form/datepicker → date-picker}/calendar-header.d.ts +0 -0
  174. /package/dist/{components/form/datepicker → date-picker}/drawer-toolbar.d.ts +0 -0
  175. /package/dist/{theme/components → date-picker/theme}/date-picker.theme.d.ts +0 -0
  176. /package/dist/{theme/components → date-picker/theme}/icon-button.theme.d.ts +0 -0
  177. /package/dist/{theme/tokens → date-picker/theme}/typography.d.ts +0 -0
  178. /package/dist/{components/form/datepicker → date-picker}/use-calendar-header-labels.d.ts +0 -0
  179. /package/dist/{components/form/datepicker → date-picker}/use-datepicker-title-labels.d.ts +0 -0
  180. /package/dist/{components/form/datepicker → date-picker}/view-renderers.d.ts +0 -0
  181. /package/dist/{components/form/datepicker → date-picker}/view-toggle.d.ts +0 -0
  182. /package/dist/{components/dev-panel → dev-panel}/dev-panel-country.d.ts +0 -0
  183. /package/dist/{components/dev-panel → dev-panel}/dev-panel-flow.d.ts +0 -0
  184. /package/dist/{components/dev-panel → dev-panel}/dev-panel-footer.d.ts +0 -0
  185. /package/dist/{components/dev-panel → dev-panel}/dev-panel-step-state.d.ts +0 -0
  186. /package/dist/{components/dev-panel → dev-panel}/dev-panel-variant.d.ts +0 -0
  187. /package/dist/{components/dev-panel → dev-panel}/use-copy.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev-panel.mjs","names":[],"sources":["../src/dev-panel/dev-panel.module.css","../src/dev-panel/use-dev-panel-labels.ts","../src/dev-panel/dev-panel.tsx","../src/dev-panel/use-roving-radio.ts","../src/dev-panel/segmented-control.tsx","../src/dev-panel/dev-panel-country.tsx","../src/dev-panel/dev-panel-variant.tsx","../src/dev-panel/dev-panel-step-state.tsx","../src/dev-panel/dev-panel-steps.tsx","../src/dev-panel/dev-panel-status.tsx","../src/dev-panel/use-copy.ts","../src/dev-panel/dev-panel-flow.tsx","../src/dev-panel/json-highlight.tsx","../src/dev-panel/dev-panel-payload.tsx","../src/dev-panel/dev-panel-footer.tsx","../src/dev-panel/parts.ts"],"sourcesContent":["/*\n * Design tokens come from src/theme/tokens.css, generated from src/theme/tokens\n * by `pnpm tokens:css`. It is a plain stylesheet rather than runtime-injected\n * CSS variables, so the panel renders correctly without a provider.\n *\n * One stylesheet for every part of the dev panel. The panel is a tool for the\n * people building a form app and has a look of its own: it is denser than the\n * components in src/components/, so several of its distances sit between two\n * steps of the spacing scale (0.25, 0.75, 1.25 and 1.75 steps), and its small\n * labels are uppercase. Neither is a precedent for a component.\n *\n * A state is read from the attribute that announces it (`aria-checked`,\n * `aria-expanded`) where there is one, so the look cannot disagree with what\n * assistive tech is told.\n */\n\n/*\n * The small text of the panel is 12px, one pixel below the smallest step of\n * the type scale (--lea-font-step-minus-2, 13px). At 13px a long step label\n * (\"Civilinformation\") no longer fits its cell in the grid of four and breaks\n * one letter from its end.\n */\n.Badge,\n.SectionLabel,\n.SectionMeta,\n.FlowLabel,\n.CountryCode,\n.StepLabel,\n.PayloadCode {\n font-size: 0.75rem;\n}\n\n/* ----------------------------------------------------------------------------\n * The panel\n * ------------------------------------------------------------------------- */\n\n/* The outer card: a rounded, cream surface with a subtle border. */\n.DevPanel {\n display: flex;\n overflow: hidden;\n width: 100%;\n /* 460px, the width the panel is drawn at. It follows a narrower container. */\n max-width: 28.75rem;\n flex-direction: column;\n border: 1px solid var(--lea-palette-border-subtle);\n border-radius: var(--lea-radius-4xl);\n background-color: var(--lea-color-beige-50);\n color: var(--lea-palette-text-base);\n font-family: inherit;\n}\n\n/* The chrome strip: title and status dot, an optional badge, the minimise control. */\n.Header {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n padding-block: calc(var(--lea-spacing) * 1.75);\n padding-inline: var(--lea-spacing-2-5);\n border-bottom: 1px solid var(--lea-palette-border-subtle);\n background-color: var(--lea-color-beige-100);\n gap: var(--lea-spacing-1-5);\n}\n\n.HeaderTitle {\n display: inline-flex;\n align-items: center;\n color: var(--lea-palette-text-base);\n font-size: var(--lea-font-step-0);\n font-weight: var(--lea-font-weight-semibold);\n gap: var(--lea-spacing-1);\n}\n\n/* The small \"live\" indicator dot beside the panel title. */\n.HeaderDot {\n width: var(--lea-spacing-1);\n height: var(--lea-spacing-1);\n flex-shrink: 0;\n border-radius: var(--lea-radius-full);\n background-color: var(--lea-palette-tertiary-base);\n}\n\n/* The \"MOCK\" / \"live\" pill next to a title. */\n.Badge {\n display: inline-flex;\n align-items: center;\n padding-block: calc(var(--lea-spacing) * 0.25);\n padding-inline: calc(var(--lea-spacing) * 0.75);\n border-radius: var(--lea-radius-sm);\n background-color: var(--lea-color-neutral-200);\n color: var(--lea-color-neutral-700);\n font-weight: var(--lea-font-weight-semibold);\n letter-spacing: 0.08em;\n line-height: var(--lea-line-height-snug);\n text-transform: uppercase;\n}\n\n/* The same pill in the header of the dark side flyout. */\n.Badge[data-on-dark] {\n background-color: var(--lea-color-neutral-800);\n color: var(--lea-color-neutral-300);\n}\n\n/* The body that holds the sections. It scrolls when the app limits the height. */\n.Body {\n display: flex;\n flex-direction: column;\n padding: var(--lea-spacing-2-5);\n gap: var(--lea-spacing-2-5);\n overflow-y: auto;\n}\n\n/* ----------------------------------------------------------------------------\n * A labelled section (COUNTRY, VARIANT, …)\n * ------------------------------------------------------------------------- */\n\n.Section {\n display: flex;\n flex-direction: column;\n gap: calc(var(--lea-spacing) * 1.25);\n}\n\n.SectionHeaderRow {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n gap: var(--lea-spacing-1);\n}\n\n/*\n * The uppercase section heading. neutral-600 rather than text-subtle, so the\n * small label clears 4.5:1 against the cream body, as the `Tabs` track does.\n */\n.SectionLabel {\n margin: 0;\n color: var(--lea-color-neutral-600);\n font-weight: var(--lea-font-weight-semibold);\n letter-spacing: 0.08em;\n text-transform: uppercase;\n}\n\n/* Optional trailing meta on a section heading row (e.g. the `6 / 10` count). */\n.SectionMeta {\n color: var(--lea-color-neutral-600);\n font-weight: var(--lea-font-weight-medium);\n}\n\n/* ----------------------------------------------------------------------------\n * The flow row\n * ------------------------------------------------------------------------- */\n\n.Flow {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n padding-block: var(--lea-spacing-1);\n padding-inline: var(--lea-spacing-1-5);\n border-radius: var(--lea-radius-lg);\n background-color: var(--lea-color-beige-100);\n gap: var(--lea-spacing-1);\n}\n\n.FlowText {\n display: inline-flex;\n min-width: 0;\n align-items: center;\n color: var(--lea-palette-text-base);\n font-size: var(--lea-font-step-minus-1);\n gap: calc(var(--lea-spacing) * 0.75);\n}\n\n/* The label and the breadcrumb each stay on one line and end in an ellipsis. */\n.FlowText > span {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.FlowLabel {\n flex-shrink: 0;\n color: var(--lea-color-neutral-600);\n font-weight: var(--lea-font-weight-semibold);\n letter-spacing: 0.08em;\n text-transform: uppercase;\n}\n\n/* The dot between two parts of the breadcrumb. */\n.FlowSeparator {\n margin-inline: var(--lea-spacing-0-5);\n color: var(--lea-palette-text-muted);\n}\n\n/* ----------------------------------------------------------------------------\n * Segmented single-select (Country, Variant, Step state)\n * ------------------------------------------------------------------------- */\n\n/*\n * The beige track that holds the options. It scrolls sideways when they do\n * not fit, with the scrollbar hidden so the row stays a clean pill.\n */\n.SegmentedGroup {\n display: flex;\n max-width: 100%;\n flex-flow: row nowrap;\n align-items: stretch;\n padding: var(--lea-spacing-0-5);\n border-radius: var(--lea-radius-full);\n background-color: var(--lea-palette-bg-muted);\n gap: var(--lea-spacing-0-5);\n overflow-x: auto;\n scrollbar-width: none;\n}\n\n.SegmentedGroup::-webkit-scrollbar {\n display: none;\n}\n\n/*\n * The \"pill\" variant used by Country and Variant: the options share the track\n * evenly and the chosen one flips to a white pill.\n */\n.SegmentedOption {\n position: relative;\n display: inline-flex;\n min-width: 0;\n flex: 1 1 0;\n align-items: center;\n justify-content: center;\n padding-block: var(--lea-spacing-1);\n padding-inline: var(--lea-spacing-1-5);\n border: none;\n border-radius: var(--lea-radius-full);\n margin: 0;\n background-color: transparent;\n box-shadow: none;\n color: var(--lea-color-neutral-600);\n cursor: pointer;\n font-family: inherit;\n font-size: var(--lea-font-step-minus-1);\n font-weight: var(--lea-font-weight-medium);\n gap: calc(var(--lea-spacing) * 0.75);\n line-height: var(--lea-line-height-none);\n transition: background-color var(--lea-duration-normal)\n var(--lea-easing-standard),\n color var(--lea-duration-normal) var(--lea-easing-standard),\n box-shadow var(--lea-duration-normal) var(--lea-easing-standard);\n user-select: none;\n white-space: nowrap;\n}\n\n.SegmentedOption[aria-checked=\"true\"] {\n background-color: var(--lea-palette-bg-base);\n /* A hairline of shade under the pill, in the beige of the track. */\n box-shadow: 0 1px 2px var(--lea-color-beige-300);\n color: var(--lea-palette-text-base);\n font-weight: var(--lea-font-weight-semibold);\n}\n\n.SegmentedOption svg {\n display: block;\n flex-shrink: 0;\n}\n\n/* The short code before a country name (e.g. `SE`). */\n.CountryCode {\n color: var(--lea-color-neutral-600);\n font-weight: var(--lea-font-weight-semibold);\n}\n\n/*\n * The \"chip\" variant used by Step state: pills that hug their content, wrap\n * onto more lines and carry a small leading dot.\n */\n.ChipGroup {\n display: flex;\n flex-flow: row wrap;\n gap: var(--lea-spacing-1);\n}\n\n.Chip {\n display: inline-flex;\n align-items: center;\n padding-block: calc(var(--lea-spacing) * 0.75);\n padding-inline: var(--lea-spacing-1-5);\n border: 1px solid var(--lea-palette-border-base);\n border-radius: var(--lea-radius-full);\n margin: 0;\n background-color: var(--lea-palette-bg-base);\n color: var(--lea-palette-text-base);\n cursor: pointer;\n font-family: inherit;\n font-size: var(--lea-font-step-minus-1);\n font-weight: var(--lea-font-weight-medium);\n gap: calc(var(--lea-spacing) * 0.75);\n /* Between `none` and `tight`: the padding sets the height of the pill. */\n line-height: 1.2;\n transition: background-color var(--lea-duration-normal)\n var(--lea-easing-standard),\n color var(--lea-duration-normal) var(--lea-easing-standard),\n border-color var(--lea-duration-normal) var(--lea-easing-standard);\n user-select: none;\n white-space: nowrap;\n}\n\n.Chip[aria-checked=\"true\"] {\n border-color: var(--lea-palette-border-accent);\n background-color: var(--lea-palette-primary-subtle);\n color: var(--lea-palette-text-accent);\n font-weight: var(--lea-font-weight-semibold);\n}\n\n/* 7px, off the spacing scale like the distances above. */\n.ChipDot {\n width: calc(var(--lea-spacing) * 0.875);\n height: calc(var(--lea-spacing) * 0.875);\n flex-shrink: 0;\n border-radius: var(--lea-radius-full);\n background-color: var(--lea-color-neutral-400);\n}\n\n.Chip[aria-checked=\"true\"] .ChipDot {\n background-color: var(--lea-palette-primary-base);\n}\n\n.SegmentedOption[data-disabled],\n.Chip[data-disabled] {\n cursor: not-allowed;\n opacity: 0.45;\n pointer-events: none;\n}\n\n/* ----------------------------------------------------------------------------\n * Jump-to-step grid\n * ------------------------------------------------------------------------- */\n\n/* The number of columns arrives inline from the `columns` prop. */\n.StepGrid {\n display: grid;\n gap: var(--lea-spacing-1-5);\n grid-template-columns: repeat(var(--_columns), minmax(0, 1fr));\n}\n\n.StepButton {\n display: flex;\n /* Lets the button shrink to its grid track, so a long label wraps instead of\n running into the next cell. */\n min-width: 0;\n flex-direction: column;\n align-items: center;\n padding: 0;\n border: none;\n border-radius: var(--lea-radius-lg);\n margin: 0;\n background: none;\n cursor: pointer;\n font-family: inherit;\n gap: calc(var(--lea-spacing) * 0.75);\n}\n\n.StepButton[data-disabled] {\n cursor: not-allowed;\n opacity: 0.5;\n pointer-events: none;\n}\n\n/* An upcoming step. The other two states set the three properties below. */\n.StepCircle {\n --step-bg: transparent;\n --step-border: var(--lea-color-neutral-400);\n --step-fg: var(--lea-color-neutral-600);\n\n position: relative;\n display: inline-flex;\n width: var(--lea-spacing-5);\n height: var(--lea-spacing-5);\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n border: 2px solid var(--step-border);\n border-radius: var(--lea-radius-full);\n background-color: var(--step-bg);\n color: var(--step-fg);\n font-size: var(--lea-font-step-minus-1);\n font-weight: var(--lea-font-weight-semibold);\n line-height: var(--lea-line-height-none);\n transition: background-color var(--lea-duration-normal)\n var(--lea-easing-standard),\n border-color var(--lea-duration-normal) var(--lea-easing-standard),\n color var(--lea-duration-normal) var(--lea-easing-standard);\n}\n\n.StepButton[data-state=\"complete\"] .StepCircle {\n --step-bg: var(--lea-palette-tertiary-base);\n --step-border: var(--lea-palette-tertiary-base);\n --step-fg: var(--lea-palette-tertiary-contrast);\n}\n\n.StepButton[data-state=\"current\"] .StepCircle {\n --step-bg: var(--lea-palette-primary-base);\n --step-border: var(--lea-palette-primary-base);\n --step-fg: var(--lea-palette-primary-contrast);\n}\n\n.StepCircle svg {\n display: block;\n}\n\n/* The small warning dot on a step that needs attention, ringed in the body colour. */\n.StepFlagDot {\n position: absolute;\n inset-block-start: -1px;\n inset-inline-end: -1px;\n width: calc(var(--lea-spacing) * 1.25);\n height: calc(var(--lea-spacing) * 1.25);\n border: 2px solid var(--lea-color-beige-50);\n border-radius: var(--lea-radius-full);\n background-color: var(--lea-palette-status-warning-base);\n}\n\n.StepLabel {\n /* As wide as the cell, and a long word breaks, so labels never overlap. */\n width: 100%;\n color: var(--lea-color-neutral-600);\n font-weight: var(--lea-font-weight-regular);\n line-height: 1.2;\n overflow-wrap: anywhere;\n text-align: center;\n}\n\n.StepButton[data-state=\"current\"] .StepLabel {\n color: var(--lea-palette-text-base);\n font-weight: var(--lea-font-weight-semibold);\n}\n\n/* ----------------------------------------------------------------------------\n * Step state\n * ------------------------------------------------------------------------- */\n\n/* The name of the step in the \"Variations for …\" line. */\n.StepStateName {\n color: var(--lea-palette-text-base);\n font-weight: var(--lea-font-weight-semibold);\n}\n\n/* ----------------------------------------------------------------------------\n * Application status cards\n * ------------------------------------------------------------------------- */\n\n.StatusGrid {\n display: grid;\n gap: calc(var(--lea-spacing) * 1.25);\n grid-template-columns: repeat(2, minmax(0, 1fr));\n}\n\n/* `neutral` is the base rule; each status sets the two properties below. */\n.StatusCard {\n --status-base: var(--lea-color-neutral-400);\n --status-subtle: var(--lea-color-neutral-100);\n\n display: inline-flex;\n width: 100%;\n align-items: center;\n padding-block: calc(var(--lea-spacing) * 1.25);\n padding-inline: var(--lea-spacing-1-5);\n border: 1px solid var(--lea-palette-border-base);\n border-radius: var(--lea-radius-lg);\n margin: 0;\n background-color: var(--lea-palette-bg-base);\n color: var(--lea-palette-text-base);\n cursor: pointer;\n font-family: inherit;\n font-size: var(--lea-font-step-minus-1);\n font-weight: var(--lea-font-weight-medium);\n gap: var(--lea-spacing-1);\n line-height: 1.2;\n text-align: start;\n transition: background-color var(--lea-duration-normal)\n var(--lea-easing-standard),\n border-color var(--lea-duration-normal) var(--lea-easing-standard);\n}\n\n.StatusCard[data-color=\"warning\"] {\n --status-base: var(--lea-palette-status-warning-base);\n --status-subtle: var(--lea-palette-status-warning-subtle);\n}\n\n.StatusCard[data-color=\"success\"] {\n --status-base: var(--lea-palette-status-success-base);\n --status-subtle: var(--lea-palette-status-success-subtle);\n}\n\n.StatusCard[data-color=\"info\"] {\n --status-base: var(--lea-palette-status-info-base);\n --status-subtle: var(--lea-palette-status-info-subtle);\n}\n\n.StatusCard[data-color=\"error\"] {\n --status-base: var(--lea-palette-status-error-base);\n --status-subtle: var(--lea-palette-status-error-subtle);\n}\n\n.StatusCard[aria-checked=\"true\"] {\n border-color: var(--status-base);\n background-color: var(--status-subtle);\n font-weight: var(--lea-font-weight-semibold);\n}\n\n.StatusCard[data-disabled] {\n cursor: not-allowed;\n opacity: 0.5;\n pointer-events: none;\n}\n\n/* Decorative: the status is always spelled out in the label beside it. */\n.StatusDot {\n width: calc(var(--lea-spacing) * 1.25);\n height: calc(var(--lea-spacing) * 1.25);\n flex-shrink: 0;\n border-radius: var(--lea-radius-full);\n background-color: var(--status-base);\n}\n\n/* ----------------------------------------------------------------------------\n * Payload preview\n * ------------------------------------------------------------------------- */\n\n.PayloadToggle {\n display: flex;\n width: 100%;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n padding-block: calc(var(--lea-spacing) * 1.25);\n padding-inline: var(--lea-spacing-1-5);\n border: none;\n border-radius: var(--lea-radius-lg);\n margin: 0;\n background-color: var(--lea-palette-bg-accent);\n color: var(--lea-palette-text-accent);\n cursor: pointer;\n font-family: inherit;\n font-size: var(--lea-font-step-minus-1);\n font-weight: var(--lea-font-weight-semibold);\n gap: var(--lea-spacing-1);\n}\n\n.PayloadToggleLabel {\n display: inline-flex;\n align-items: center;\n gap: var(--lea-spacing-1);\n}\n\n/* Points right while closed and down while the panel below is open. */\n.PayloadChevron {\n display: inline-flex;\n transform: rotate(0deg);\n transition: transform var(--lea-duration-emphasis) var(--lea-easing-standard);\n}\n\n.PayloadToggle[aria-expanded=\"true\"] .PayloadChevron {\n transform: rotate(90deg);\n}\n\n/*\n * With `placement=\"side\"` it points left, to where the flyout appears beside\n * the panel, open or closed: `aria-expanded` carries the state.\n */\n.PayloadToggle[data-placement=\"side\"] .PayloadChevron {\n transform: rotate(180deg);\n transition: none;\n}\n\n.PayloadChevron svg {\n display: block;\n}\n\n/* The dark panel that opens below the toggle. */\n.PayloadPanel {\n overflow: hidden;\n border-radius: var(--lea-radius-lg);\n margin-block-start: calc(var(--lea-spacing) * 1.25);\n background-color: var(--lea-color-neutral-950);\n}\n\n/* The title row of the dark panel and of the side flyout. */\n.PayloadHeader {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n padding-block: calc(var(--lea-spacing) * 1.25);\n padding-inline: calc(var(--lea-spacing) * 1.75);\n border-bottom: 1px solid var(--lea-color-neutral-800);\n color: var(--lea-palette-text-contrast);\n font-size: var(--lea-font-step-minus-1);\n font-weight: var(--lea-font-weight-semibold);\n gap: var(--lea-spacing-1);\n}\n\n/*\n * The payload itself. Code, so it is the one place with a family of its own:\n * the monospace font of the system. 1.6 is roomier than `normal`, so the lines\n * of a long payload are easy to follow.\n */\n.PayloadCode {\n overflow: auto;\n max-height: calc(var(--lea-spacing) * 40);\n padding: calc(var(--lea-spacing) * 1.75);\n margin: 0;\n color: var(--lea-color-neutral-100);\n font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, \"Liberation Mono\",\n monospace;\n line-height: 1.6;\n white-space: pre;\n}\n\n/*\n * The syntax-highlighted payload. Every shade clears 4.5:1 against\n * neutral-950, so highlighting never trades contrast for colour.\n */\n.Token[data-token=\"key\"] {\n color: var(--lea-color-neutral-100);\n}\n\n.Token[data-token=\"string\"] {\n color: var(--lea-color-teal-300);\n}\n\n.Token[data-token=\"number\"] {\n color: var(--lea-color-orange-300);\n}\n\n.Token[data-token=\"boolean\"] {\n color: var(--lea-color-blue-300);\n}\n\n.Token[data-token=\"null\"] {\n color: var(--lea-color-purple-300);\n}\n\n.Token[data-token=\"punctuation\"] {\n color: var(--lea-color-neutral-400);\n}\n\n/* ----------------------------------------------------------------------------\n * Payload side flyout (`placement=\"side\"`)\n * ------------------------------------------------------------------------- */\n\n/*\n * The floating dark panel that opens beside the dev panel. It is rendered in\n * a portal on the body and placed inline (top, left, width, height) from the\n * rect of the panel, so it can sit outside the panel's clipped bounds. The\n * layer is the one `Dialog` and `Drawer` use.\n */\n.Flyout {\n position: fixed;\n z-index: 1300;\n display: flex;\n overflow: hidden;\n flex-direction: column;\n border-radius: var(--lea-radius-4xl);\n background-color: var(--lea-color-neutral-950);\n box-shadow: var(--lea-shadow-2xl);\n color: var(--lea-palette-text-contrast);\n /* It takes focus only when nothing inside it can; the dialog itself has no ring. */\n outline: none;\n}\n\n.FlyoutTitle {\n display: inline-flex;\n min-width: 0;\n align-items: center;\n gap: var(--lea-spacing-1);\n}\n\n/* The payload in the flyout fills the height that is left and scrolls. */\n.Flyout .PayloadCode {\n min-height: 0;\n max-height: none;\n flex: 1;\n}\n\n.FlyoutFooter {\n padding: var(--lea-spacing-1-5);\n border-top: 1px solid var(--lea-color-neutral-800);\n background-color: var(--lea-color-neutral-900);\n}\n\n/* The full-width \"Copy JSON\" action at the foot of the flyout. */\n.FlyoutCopyButton {\n display: inline-flex;\n width: 100%;\n align-items: center;\n justify-content: center;\n padding-block: calc(var(--lea-spacing) * 1.25);\n padding-inline: var(--lea-spacing-1-5);\n border: 1px solid var(--lea-color-neutral-700);\n border-radius: var(--lea-radius-lg);\n margin: 0;\n background-color: var(--lea-color-neutral-800);\n color: var(--lea-palette-text-contrast);\n cursor: pointer;\n font-family: inherit;\n font-size: var(--lea-font-step-minus-1);\n font-weight: var(--lea-font-weight-semibold);\n gap: var(--lea-spacing-1);\n transition: background-color var(--lea-duration-normal)\n var(--lea-easing-standard);\n}\n\n.FlyoutCopyButton svg {\n display: block;\n}\n\n@media (hover: hover) {\n .FlyoutCopyButton:hover {\n background-color: var(--lea-color-neutral-700);\n }\n}\n\n/* ----------------------------------------------------------------------------\n * Footer actions\n * ------------------------------------------------------------------------- */\n\n/*\n * The action row. The negative margins cancel the padding of `.Body`, so as\n * the last child the footer sits flush with the edges of the panel under a\n * full-width divider.\n */\n.Footer {\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n padding-block: var(--lea-spacing-2);\n padding-inline: var(--lea-spacing-2-5);\n border-top: 1px solid var(--lea-palette-border-subtle);\n margin-block: var(--lea-spacing-0-5) calc(var(--lea-spacing-2-5) * -1);\n margin-inline: calc(var(--lea-spacing-2-5) * -1);\n background-color: var(--lea-color-beige-100);\n gap: calc(var(--lea-spacing) * 1.25);\n}\n\n/* ----------------------------------------------------------------------------\n * Shared\n * ------------------------------------------------------------------------- */\n\n.SegmentedOption:focus-visible,\n.Chip:focus-visible,\n.StepButton:focus-visible,\n.StatusCard:focus-visible,\n.PayloadToggle:focus-visible,\n.FlyoutCopyButton:focus-visible {\n outline: 2px solid var(--lea-palette-text-base);\n}\n\n/*\n * On the dark payload panels the ring is white: text-base does not show on\n * neutral-950. `.OnDark` is on the library's `IconButton`s in those panels,\n * and the panel class in front lifts the rule above the button's own ring,\n * whichever stylesheet the app happens to load last.\n */\n.FlyoutCopyButton:focus-visible,\n.PayloadPanel .OnDark:focus-visible,\n.Flyout .OnDark:focus-visible {\n outline-color: var(--lea-palette-text-contrast);\n}\n\n/* Text for assistive tech only: the live regions that confirm a copy. */\n.VisuallyHidden {\n position: absolute;\n overflow: hidden;\n width: 1px;\n height: 1px;\n padding: 0;\n border: 0;\n margin: -1px;\n clip: rect(0 0 0 0);\n white-space: nowrap;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .SegmentedOption,\n .Chip,\n .StepCircle,\n .StatusCard,\n .PayloadChevron,\n .FlyoutCopyButton {\n transition-duration: 0.01ms;\n }\n}\n","import { createTranslation } from \"../index\";\n\n/**\n * Translated accessible names and status words used across the `DevPanel`\n * sub-components (copy buttons, the minimise control, and the per-step status\n * announced to assistive tech). Every string is overridable per-instance via a\n * matching prop, so consumers can localise or reword without forking.\n */\nexport const useDevPanelLabels = createTranslation({\n copy: { no: \"Kopier\", se: \"Kopiera\", fi: \"Kopioi\", es: \"Copiar\" },\n copied: { no: \"Kopiert\", se: \"Kopierad\", fi: \"Kopioitu\", es: \"Copiado\" },\n copyJson: {\n no: \"Kopier JSON\",\n se: \"Kopiera JSON\",\n fi: \"Kopioi JSON\",\n es: \"Copiar JSON\",\n },\n close: { no: \"Lukk\", se: \"Stäng\", fi: \"Sulje\", es: \"Cerrar\" },\n minimise: {\n no: \"Minimer\",\n se: \"Minimera\",\n fi: \"Pienennä\",\n es: \"Minimizar\",\n },\n expand: { no: \"Utvid\", se: \"Expandera\", fi: \"Laajenna\", es: \"Expandir\" },\n step: { no: \"Steg\", se: \"Steg\", fi: \"Vaihe\", es: \"Paso\" },\n statusCompleted: {\n no: \"fullført\",\n se: \"slutförd\",\n fi: \"valmis\",\n es: \"completado\",\n },\n statusCurrent: {\n no: \"gjeldende\",\n se: \"aktuell\",\n fi: \"nykyinen\",\n es: \"actual\",\n },\n statusUpcoming: {\n no: \"ikke startet\",\n se: \"inte påbörjad\",\n fi: \"aloittamatta\",\n es: \"no iniciado\",\n },\n needsAttention: {\n no: \"krever oppmerksomhet\",\n se: \"kräver uppmärksamhet\",\n fi: \"vaatii huomiota\",\n es: \"requiere atención\",\n },\n});\n","\"use client\";\n\nimport { Minus, Plus } from \"lucide-react\";\nimport {\n createContext,\n useContext,\n useId,\n useState,\n type CSSProperties,\n type ReactNode,\n} from \"react\";\n\nimport { IconButton } from \"../index\";\nimport styles from \"./dev-panel.module.css\";\nimport { useDevPanelLabels } from \"./use-dev-panel-labels\";\n\nconst join = (...parts: (string | undefined)[]) =>\n parts.filter(Boolean).join(\" \");\n\n/**\n * Exposes the current section's heading `id` so an interactive group nested in\n * a `DevPanel.Section` (e.g. a `radiogroup`) can wire `aria-labelledby` to a\n * real, co-located element — the id can never dangle.\n */\nconst DevPanelSectionContext = createContext<string | undefined>(undefined);\n\n/** Reads the enclosing `DevPanel.Section` heading id, if any. */\nexport function useDevPanelSectionLabelId() {\n return useContext(DevPanelSectionContext);\n}\n\nexport type DevPanelProps = {\n /** Panel title shown in the header. Defaults to `\"Dev controls\"`. */\n title?: ReactNode;\n /** Optional pill beside the title, e.g. `\"MOCK\"` or `\"live\"`. */\n badge?: ReactNode;\n /** Show the small status dot before the title. Defaults to `true`. */\n showStatusDot?: boolean;\n /** Render the minimise control. Defaults to `true`. */\n minimisable?: boolean;\n /** Controlled minimised state. Omit for uncontrolled. */\n minimised?: boolean;\n /** Initial minimised state when uncontrolled. Defaults to `false`. */\n defaultMinimised?: boolean;\n /** Called whenever the minimised state changes. */\n onMinimisedChange?: (minimised: boolean) => void;\n /** Accessible name for the minimise button. Defaults to a translated label. */\n minimiseLabel?: string;\n /** Accessible name for the restore button. Defaults to a translated label. */\n expandLabel?: string;\n /** Section content: compose the `DevPanel.*` sub-components here. */\n children?: ReactNode;\n /** Class on the outermost element, for placing the panel. */\n className?: string;\n /** Inline style on the outermost element, for placing the panel. */\n style?: CSSProperties;\n};\n\n/**\n * The root of the reusable dev panel: a self-contained, content-only card that\n * form apps compose from the `DevPanel.*` sub-components. It owns the chrome\n * (title, optional badge, minimise control) and layout; every section is fully\n * controlled by the consumer via `value` + `onChange`/callback props.\n *\n * It renders only the panel — placement (fixed corner, drawer, …) is left to\n * the consuming app.\n *\n * ```tsx\n * <DevPanel.Root badge=\"MOCK\">\n * <DevPanel.Country value={country} onChange={setCountry} options={countries} />\n * <DevPanel.Status value={status} onChange={setStatus} options={statuses} />\n * <DevPanel.Payload value={payload} />\n * <DevPanel.Footer onReseed={reseed} onCopyUrl={() => {}} url={url} />\n * </DevPanel.Root>\n * ```\n */\nexport function DevPanel({\n title = \"Dev controls\",\n badge,\n showStatusDot = true,\n minimisable = true,\n minimised,\n defaultMinimised = false,\n onMinimisedChange,\n minimiseLabel,\n expandLabel,\n children,\n className,\n style,\n}: DevPanelProps) {\n const t = useDevPanelLabels();\n const isControlled = minimised !== undefined;\n const [internalMinimised, setInternalMinimised] = useState(defaultMinimised);\n const isMinimised = isControlled ? minimised : internalMinimised;\n\n const toggleMinimised = () => {\n const next = !isMinimised;\n if (!isControlled) setInternalMinimised(next);\n onMinimisedChange?.(next);\n };\n\n const bodyId = useId();\n\n return (\n <div\n data-dev-panel-root=\"\"\n className={join(styles.DevPanel, className)}\n style={style}\n >\n <header className={styles.Header}>\n <span className={styles.HeaderTitle}>\n {showStatusDot && <span className={styles.HeaderDot} aria-hidden />}\n <span>{title}</span>\n {badge != null && <span className={styles.Badge}>{badge}</span>}\n </span>\n {minimisable && (\n <IconButton\n aria-label={\n isMinimised\n ? (expandLabel ?? t.expand)\n : (minimiseLabel ?? t.minimise)\n }\n aria-expanded={!isMinimised}\n aria-controls={bodyId}\n onClick={toggleMinimised}\n variant=\"outline\"\n color=\"secondary\"\n size=\"sm\"\n >\n {isMinimised ? (\n <Plus size={18} aria-hidden />\n ) : (\n <Minus size={18} aria-hidden />\n )}\n </IconButton>\n )}\n </header>\n {!isMinimised && (\n <div id={bodyId} className={styles.Body}>\n {children}\n </div>\n )}\n </div>\n );\n}\n\nexport type DevPanelSectionProps = {\n /** The uppercase section heading (e.g. `\"Country\"`). */\n label: ReactNode;\n /** Optional trailing meta shown on the heading row (e.g. a `6 / 10` count). */\n meta?: ReactNode;\n children?: ReactNode;\n /** Class on the `section` element. */\n className?: string;\n /** Inline style on the `section` element. */\n style?: CSSProperties;\n};\n\n/**\n * A labelled section wrapper. Renders the uppercase heading and exposes its\n * generated id through context so a nested interactive group can reference it\n * via `aria-labelledby`. Used internally by every `DevPanel.*` section;\n * exported so consumers can build bespoke sections with the same look and\n * wiring.\n */\nexport function DevPanelSection({\n label,\n meta,\n children,\n className,\n style,\n}: DevPanelSectionProps) {\n const labelId = useId();\n\n return (\n <section\n aria-labelledby={labelId}\n className={join(styles.Section, className)}\n style={style}\n >\n <div className={styles.SectionHeaderRow}>\n <span id={labelId} className={styles.SectionLabel}>\n {label}\n </span>\n {meta != null && <span className={styles.SectionMeta}>{meta}</span>}\n </div>\n <DevPanelSectionContext.Provider value={labelId}>\n {children}\n </DevPanelSectionContext.Provider>\n </section>\n );\n}\n","\"use client\";\n\nimport {\n useCallback,\n useRef,\n type KeyboardEvent,\n type RefCallback,\n} from \"react\";\n\ntype RovingRadioItemProps = {\n // A callback, so it fits whichever element the option is drawn as.\n ref: RefCallback<HTMLElement>;\n role: \"radio\";\n \"aria-checked\": boolean;\n \"aria-disabled\": true | undefined;\n tabIndex: 0 | -1;\n onClick: () => void;\n onKeyDown: (event: KeyboardEvent<HTMLElement>) => void;\n};\n\ntype UseRovingRadioOptions<T> = {\n /** All selectable values, in DOM order. */\n values: readonly T[];\n /** The currently selected value (or `undefined` when nothing is selected). */\n selected: T | undefined;\n /** Called with the value to select on click / keyboard activation. */\n onSelect: (value: T) => void;\n /** Optional per-value disabled predicate; disabled items are skipped. */\n isDisabled?: (value: T, index: number) => boolean;\n};\n\n/**\n * Wires the WAI-ARIA radiogroup keyboard pattern for a set of custom option\n * elements: a single roving `tabIndex`, arrow / Home / End navigation that moves\n * focus *and* selection (activation follows focus), and Space / Enter to\n * (re)select the focused item. Disabled items are skipped.\n *\n * The consuming component owns the markup and styling; it just spreads\n * `getItemProps(index)` onto each option and renders the group with\n * `role=\"radiogroup\"`.\n */\nexport function useRovingRadio<T>({\n values,\n selected,\n onSelect,\n isDisabled,\n}: UseRovingRadioOptions<T>) {\n const refs = useRef<(HTMLElement | null)[]>([]);\n\n const disabledAt = useCallback(\n (index: number) => isDisabled?.(values[index], index) ?? false,\n [isDisabled, values],\n );\n\n const selectedIndex = values.findIndex((value) => value === selected);\n const firstEnabledIndex = values.findIndex((_, index) => !disabledAt(index));\n // Exactly one item is tabbable: the selected one, or the first enabled option\n // when there is no selection yet.\n const tabbableIndex =\n selectedIndex >= 0 && !disabledAt(selectedIndex)\n ? selectedIndex\n : firstEnabledIndex;\n\n const focusAndSelect = useCallback(\n (index: number) => {\n refs.current[index]?.focus();\n onSelect(values[index]);\n },\n [onSelect, values],\n );\n\n const nextEnabled = useCallback(\n (from: number, direction: 1 | -1) => {\n const count = values.length;\n for (let step = 1; step <= count; step += 1) {\n const index = (from + direction * step + count * step) % count;\n if (!disabledAt(index)) return index;\n }\n return from;\n },\n [disabledAt, values.length],\n );\n\n const getItemProps = useCallback(\n (index: number): RovingRadioItemProps => {\n const value = values[index];\n const disabled = disabledAt(index);\n\n return {\n ref: (element: HTMLElement | null) => {\n refs.current[index] = element;\n },\n role: \"radio\",\n \"aria-checked\": value === selected,\n \"aria-disabled\": disabled || undefined,\n tabIndex: index === tabbableIndex ? 0 : -1,\n onClick: () => {\n if (!disabled) onSelect(value);\n },\n onKeyDown: (event: KeyboardEvent<HTMLElement>) => {\n switch (event.key) {\n case \"ArrowRight\":\n case \"ArrowDown\":\n event.preventDefault();\n focusAndSelect(nextEnabled(index, 1));\n break;\n case \"ArrowLeft\":\n case \"ArrowUp\":\n event.preventDefault();\n focusAndSelect(nextEnabled(index, -1));\n break;\n case \"Home\":\n event.preventDefault();\n focusAndSelect(nextEnabled(-1, 1));\n break;\n case \"End\":\n event.preventDefault();\n focusAndSelect(nextEnabled(0, -1));\n break;\n case \" \":\n case \"Enter\":\n event.preventDefault();\n if (!disabled) onSelect(value);\n break;\n default:\n break;\n }\n },\n };\n },\n [\n disabledAt,\n focusAndSelect,\n nextEnabled,\n onSelect,\n selected,\n tabbableIndex,\n values,\n ],\n );\n\n return { getItemProps };\n}\n","\"use client\";\n\nimport type { ReactNode } from \"react\";\n\nimport { useDevPanelSectionLabelId } from \"./dev-panel\";\nimport styles from \"./dev-panel.module.css\";\nimport { useRovingRadio } from \"./use-roving-radio\";\n\n/** A single option in a segmented single-select. */\nexport type SegmentedOption<T extends string> = {\n /** The value reported to `onChange` when this option is selected. */\n value: T;\n /** Visible label. */\n label: ReactNode;\n /** Optional leading icon (mark decorative icons `aria-hidden`). */\n icon?: ReactNode;\n disabled?: boolean;\n};\n\n/**\n * Requires an accessible name for the `radiogroup`. When rendered inside a\n * `DevPanel.Section` the group is labelled by the section heading\n * automatically, so a name is only required when used standalone.\n */\ntype SegmentedAccessibleName =\n | { \"aria-label\"?: string; \"aria-labelledby\"?: string };\n\nexport type SegmentedRadioGroupProps<T extends string> = {\n /** The selected value (fully controlled). */\n value: T;\n /** Called with the newly selected value. */\n onChange: (value: T) => void;\n options: SegmentedOption<T>[];\n /**\n * `\"pill\"` (default) — options fill the beige track, selected flips to a\n * white pill. `\"chip\"` — options hug their content and carry a small leading\n * dot.\n */\n variant?: \"pill\" | \"chip\";\n} & SegmentedAccessibleName;\n\n/**\n * An accessible single-select segmented control built on the roving-radiogroup\n * pattern. Internal to `DevPanel`; Country / Variant / Step state compose it.\n */\nexport function SegmentedRadioGroup<T extends string>({\n value,\n onChange,\n options,\n variant = \"pill\",\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledby,\n}: SegmentedRadioGroupProps<T>) {\n const sectionLabelId = useDevPanelSectionLabelId();\n const labelledBy = ariaLabelledby ?? (ariaLabel ? undefined : sectionLabelId);\n\n const { getItemProps } = useRovingRadio<T>({\n values: options.map((option) => option.value),\n selected: value,\n onSelect: onChange,\n isDisabled: (_, index) => options[index]?.disabled ?? false,\n });\n\n const isChip = variant === \"chip\";\n\n return (\n <div\n role=\"radiogroup\"\n aria-label={ariaLabel}\n aria-labelledby={labelledBy}\n className={isChip ? styles.ChipGroup : styles.SegmentedGroup}\n >\n {options.map((option, index) => {\n // The chosen option is styled from `aria-checked`, which is in here.\n const { onKeyDown, ...itemProps } = getItemProps(index);\n return (\n <button\n key={option.value}\n type=\"button\"\n data-disabled={option.disabled ? \"\" : undefined}\n onKeyDown={onKeyDown}\n {...itemProps}\n className={isChip ? styles.Chip : styles.SegmentedOption}\n >\n {isChip ? (\n <span className={styles.ChipDot} aria-hidden />\n ) : (\n option.icon\n )}\n <span>{option.label}</span>\n </button>\n );\n })}\n </div>\n );\n}\n","import type { ReactNode } from \"react\";\n\nimport { DevPanelSection } from \"./dev-panel\";\nimport styles from \"./dev-panel.module.css\";\nimport {\n SegmentedRadioGroup,\n type SegmentedOption,\n} from \"./segmented-control\";\n\n/** A selectable country. Provide between 2 and 4. */\nexport type DevPanelCountryOption<T extends string> = {\n /** The value reported to `onChange` (e.g. an ISO code). */\n value: T;\n /** Country name shown in the pill. */\n label: ReactNode;\n /** Optional short code shown, muted, before the name (e.g. `\"SE\"`). */\n code?: ReactNode;\n disabled?: boolean;\n};\n\nexport type DevPanelCountryProps<T extends string> = {\n /** The selected country (fully controlled). */\n value: T;\n /** Called with the newly selected country. */\n onChange: (value: T) => void;\n /** 2-4 country options. */\n options: DevPanelCountryOption<T>[];\n /** Section heading. Defaults to `\"Country\"`. */\n label?: ReactNode;\n};\n\n/**\n * Segmented country selector. Renders each option as a pill with an optional\n * muted code before the name. Single-select and fully controlled.\n */\nexport function DevPanelCountry<T extends string>({\n value,\n onChange,\n options,\n label = \"Country\",\n}: DevPanelCountryProps<T>) {\n const segmentedOptions: SegmentedOption<T>[] = options.map((option) => ({\n value: option.value,\n disabled: option.disabled,\n label: option.label,\n icon:\n option.code != null ? (\n <span className={styles.CountryCode}>{option.code}</span>\n ) : undefined,\n }));\n\n return (\n <DevPanelSection label={label}>\n <SegmentedRadioGroup\n value={value}\n onChange={onChange}\n options={segmentedOptions}\n />\n </DevPanelSection>\n );\n}\n","import type { ReactNode } from \"react\";\n\nimport { DevPanelSection } from \"./dev-panel\";\nimport {\n SegmentedRadioGroup,\n type SegmentedOption,\n} from \"./segmented-control\";\n\n/** A selectable flow variant. */\nexport type DevPanelVariantOption<T extends string> = {\n value: T;\n label: ReactNode;\n disabled?: boolean;\n};\n\nexport type DevPanelVariantProps<T extends string> = {\n /** The selected variant (fully controlled). */\n value: T;\n /** Called with the newly selected variant. */\n onChange: (value: T) => void;\n options: DevPanelVariantOption<T>[];\n /** Section heading. Defaults to `\"Variant\"`. */\n label?: ReactNode;\n};\n\n/**\n * Segmented flow-variant selector (e.g. cash loan / refinance / top-up).\n * Single-select and fully controlled.\n */\nexport function DevPanelVariant<T extends string>({\n value,\n onChange,\n options,\n label = \"Variant\",\n}: DevPanelVariantProps<T>) {\n const segmentedOptions: SegmentedOption<T>[] = options.map((option) => ({\n value: option.value,\n label: option.label,\n disabled: option.disabled,\n }));\n\n return (\n <DevPanelSection label={label}>\n <SegmentedRadioGroup\n value={value}\n onChange={onChange}\n options={segmentedOptions}\n />\n </DevPanelSection>\n );\n}\n","import type { ReactNode } from \"react\";\n\nimport { Text } from \"../index\";\nimport { DevPanelSection } from \"./dev-panel\";\nimport styles from \"./dev-panel.module.css\";\nimport {\n SegmentedRadioGroup,\n type SegmentedOption,\n} from \"./segmented-control\";\n\n/** A selectable variation of the current step. */\nexport type DevPanelStepStateOption<T extends string> = {\n value: T;\n label: ReactNode;\n disabled?: boolean;\n};\n\nexport type DevPanelStepStateProps<T extends string> = {\n /** The selected step-state variation (fully controlled). */\n value: T;\n /** Called with the newly selected variation. */\n onChange: (value: T) => void;\n options: DevPanelStepStateOption<T>[];\n /** Section heading. Defaults to `\"Step state\"`. */\n label?: ReactNode;\n /**\n * Name of the step the variations belong to (e.g. `\"Skulder\"`). When set, a\n * `\"{variationsLabel} {stepLabel}\"` line is shown above the chips.\n */\n stepLabel?: ReactNode;\n /** Prefix for the step-label line. Defaults to `\"Variations for\"`. */\n variationsLabel?: ReactNode;\n};\n\n/**\n * Segmented chips for the different states/variations of the current step (e.g.\n * required debts / voluntary / no debts). Single-select and fully controlled.\n */\nexport function DevPanelStepState<T extends string>({\n value,\n onChange,\n options,\n label = \"Step state\",\n stepLabel,\n variationsLabel = \"Variations for\",\n}: DevPanelStepStateProps<T>) {\n const segmentedOptions: SegmentedOption<T>[] = options.map((option) => ({\n value: option.value,\n label: option.label,\n disabled: option.disabled,\n }));\n\n return (\n <DevPanelSection label={label}>\n {stepLabel != null && (\n <Text\n textStyle=\"body-sm\"\n style={{\n color: \"var(--lea-color-neutral-600)\",\n marginBlockEnd: \"var(--lea-spacing-0-5)\",\n }}\n >\n {variationsLabel}{\" \"}\n <span className={styles.StepStateName}>{stepLabel}</span>\n </Text>\n )}\n <SegmentedRadioGroup\n value={value}\n onChange={onChange}\n options={segmentedOptions}\n variant=\"chip\"\n />\n </DevPanelSection>\n );\n}\n","\"use client\";\n\nimport { Check } from \"lucide-react\";\nimport type { CSSProperties, ReactNode } from \"react\";\n\nimport { useDevPanelSectionLabelId, DevPanelSection } from \"./dev-panel\";\nimport styles from \"./dev-panel.module.css\";\nimport { useDevPanelLabels } from \"./use-dev-panel-labels\";\n\ntype StepCircleState = \"complete\" | \"current\" | \"upcoming\";\n\n/** A single step in the jump-to-step grid. */\nexport type DevPanelStep = {\n /** Short label shown beneath the circle (e.g. `\"Skulder\"`). */\n label: ReactNode;\n /**\n * Explicit visual state. When omitted it is derived from `currentStep`\n * (before → `complete`, at → `current`, after → `upcoming`).\n */\n status?: StepCircleState;\n /** Marks the step with a warning dot (e.g. it needs attention). */\n flagged?: boolean;\n disabled?: boolean;\n};\n\nexport type DevPanelStepsProps = {\n /** The ordered steps. */\n steps: DevPanelStep[];\n /**\n * The active step (1-based). Drives the count and, for any step without an\n * explicit `status`, the derived complete/current/upcoming state.\n */\n currentStep?: number;\n /** Called when a step is chosen, with its 1-based number and the step. */\n onStepSelect?: (step: number, item: DevPanelStep) => void;\n /** Section heading. Defaults to `\"Jump to step\"`. */\n label?: ReactNode;\n /** Show the `currentStep / total` count in the heading. Defaults to `true`. */\n showCount?: boolean;\n /** Number of step circles per row. Defaults to `4`. */\n columns?: number;\n};\n\nconst statusWord = (\n state: StepCircleState,\n t: ReturnType<typeof useDevPanelLabels>,\n) => {\n switch (state) {\n case \"complete\":\n return t.statusCompleted;\n case \"current\":\n return t.statusCurrent;\n default:\n return t.statusUpcoming;\n }\n};\n\n/**\n * A grid of numbered step circles for jumping between form steps. Completed\n * steps show a check, the current step is filled, and a warning dot flags steps\n * that need attention. Fully controlled: the consumer supplies the steps and the\n * active step, and handles selection.\n */\nexport function DevPanelSteps({\n steps,\n currentStep,\n onStepSelect,\n label = \"Jump to step\",\n showCount = true,\n columns = 4,\n}: DevPanelStepsProps) {\n const t = useDevPanelLabels();\n const total = steps.length;\n const meta =\n showCount && currentStep != null ? `${currentStep} / ${total}` : undefined;\n\n return (\n <DevPanelSection label={label} meta={meta}>\n <StepGrid\n steps={steps}\n currentStep={currentStep}\n onStepSelect={onStepSelect}\n columns={columns}\n t={t}\n />\n </DevPanelSection>\n );\n}\n\nfunction StepGrid({\n steps,\n currentStep,\n onStepSelect,\n columns,\n t,\n}: {\n steps: DevPanelStep[];\n currentStep?: number;\n onStepSelect?: (step: number, item: DevPanelStep) => void;\n columns: number;\n t: ReturnType<typeof useDevPanelLabels>;\n}) {\n const groupLabelId = useDevPanelSectionLabelId();\n\n return (\n <div\n role=\"group\"\n aria-labelledby={groupLabelId}\n className={styles.StepGrid}\n style={{ \"--_columns\": columns } as CSSProperties}\n >\n {steps.map((item, index) => {\n const stepNumber = index + 1;\n const state: StepCircleState =\n item.status ??\n (currentStep == null\n ? \"upcoming\"\n : stepNumber < currentStep\n ? \"complete\"\n : stepNumber === currentStep\n ? \"current\"\n : \"upcoming\");\n const isCurrent = state === \"current\";\n const isComplete = state === \"complete\";\n\n // The button is named by what it shows, the number and the label,\n // with the words a sighted user reads from the drawing added for\n // assistive tech: \"Step\" before the number, and the status in\n // brackets after the label, as in \"Steg 6 Skulder (gjeldende)\". An\n // `aria-label` would replace the visible text instead of adding to\n // it, and could not hold a label that is not a string.\n return (\n <button\n key={stepNumber}\n type=\"button\"\n aria-current={isCurrent ? \"step\" : undefined}\n data-state={state}\n data-disabled={item.disabled ? \"\" : undefined}\n disabled={item.disabled}\n onClick={() => onStepSelect?.(stepNumber, item)}\n className={styles.StepButton}\n >\n <span className={styles.StepCircle}>\n <span className={styles.VisuallyHidden}>\n {/* A completed step shows a check in place of its number. */}\n {isComplete ? `${t.step} ${stepNumber}` : `${t.step} `}\n </span>\n {isComplete ? <Check size={18} aria-hidden /> : stepNumber}\n {item.flagged && (\n <span className={styles.StepFlagDot} aria-hidden />\n )}\n </span>{\" \"}\n <span className={styles.StepLabel}>{item.label}</span>\n <span className={styles.VisuallyHidden}>\n {/* Brackets, not a comma: browsers put a space before this\n part of the name, which would leave the comma on its own. */}\n {`(${statusWord(state, t)}${\n item.flagged ? `, ${t.needsAttention}` : \"\"\n })`}\n </span>\n </button>\n );\n })}\n </div>\n );\n}\n","\"use client\";\n\nimport type { ReactNode } from \"react\";\n\nimport { useDevPanelSectionLabelId, DevPanelSection } from \"./dev-panel\";\nimport styles from \"./dev-panel.module.css\";\nimport { useRovingRadio } from \"./use-roving-radio\";\n\n/** The statuses a card can be coloured as. `neutral` is a status with no colour of its own. */\nexport type DevPanelStatusColor =\n | \"warning\"\n | \"success\"\n | \"info\"\n | \"error\"\n | \"neutral\";\n\n/** A selectable application status. */\nexport type DevPanelStatusOption<T extends string> = {\n value: T;\n label: ReactNode;\n /**\n * Colour of the leading dot / selected border. Defaults to `\"neutral\"`. The\n * dot is decorative — status is always conveyed by the label text too, so it\n * never relies on colour alone.\n */\n color?: DevPanelStatusColor;\n disabled?: boolean;\n};\n\nexport type DevPanelStatusProps<T extends string> = {\n /** The selected status (fully controlled). */\n value: T;\n /** Called with the newly selected status. */\n onChange: (value: T) => void;\n options: DevPanelStatusOption<T>[];\n /** Section heading. Defaults to `\"Application status\"`. */\n label?: ReactNode;\n};\n\n/**\n * A radio grid for the application status. Each card carries a decorative\n * coloured dot mapped to a status token; the status is always spelled out in the\n * label so it is never signalled by colour alone. Single-select and fully\n * controlled.\n */\nexport function DevPanelStatus<T extends string>({\n value,\n onChange,\n options,\n label = \"Application status\",\n}: DevPanelStatusProps<T>) {\n return (\n <DevPanelSection label={label}>\n <StatusGrid value={value} onChange={onChange} options={options} />\n </DevPanelSection>\n );\n}\n\nfunction StatusGrid<T extends string>({\n value,\n onChange,\n options,\n}: {\n value: T;\n onChange: (value: T) => void;\n options: DevPanelStatusOption<T>[];\n}) {\n const groupLabelId = useDevPanelSectionLabelId();\n const { getItemProps } = useRovingRadio<T>({\n values: options.map((option) => option.value),\n selected: value,\n onSelect: onChange,\n isDisabled: (_, index) => options[index]?.disabled ?? false,\n });\n\n return (\n <div\n role=\"radiogroup\"\n aria-labelledby={groupLabelId}\n className={styles.StatusGrid}\n >\n {options.map((option, index) => {\n // The chosen card is styled from `aria-checked`, which is in here.\n const { onKeyDown, ...itemProps } = getItemProps(index);\n return (\n <button\n key={option.value}\n type=\"button\"\n data-color={option.color ?? \"neutral\"}\n data-disabled={option.disabled ? \"\" : undefined}\n onKeyDown={onKeyDown}\n {...itemProps}\n className={styles.StatusCard}\n >\n <span className={styles.StatusDot} aria-hidden />\n <span>{option.label}</span>\n </button>\n );\n })}\n </div>\n );\n}\n","\"use client\";\n\nimport { useCallback, useEffect, useRef, useState } from \"react\";\n\n/**\n * Writes text to the clipboard and tracks a short-lived `copied` flag so the\n * caller can announce success (via a `role=\"status\"` live region) and flip an\n * icon. The flag auto-resets after ~2s; the pending timer is cleared on unmount.\n */\nexport function useCopy() {\n const [copied, setCopied] = useState(false);\n const timeoutRef = useRef<ReturnType<typeof setTimeout> | undefined>(\n undefined,\n );\n\n const copy = useCallback(async (text: string) => {\n try {\n await navigator.clipboard?.writeText(text);\n } catch {\n // Clipboard can reject (permissions, insecure context). Still surface the\n // confirmation so the interaction feels responsive; the dev can retry.\n }\n setCopied(true);\n clearTimeout(timeoutRef.current);\n timeoutRef.current = setTimeout(() => setCopied(false), 2000);\n }, []);\n\n useEffect(() => () => clearTimeout(timeoutRef.current), []);\n\n return { copied, copy };\n}\n","\"use client\";\n\nimport { Check, Copy } from \"lucide-react\";\nimport { Fragment, type ReactNode } from \"react\";\n\nimport { IconButton } from \"../index\";\nimport styles from \"./dev-panel.module.css\";\nimport { useCopy } from \"./use-copy\";\nimport { useDevPanelLabels } from \"./use-dev-panel-labels\";\n\nexport type DevPanelFlowProps = {\n /** Flow identifier (e.g. a short hash). */\n flowId?: ReactNode;\n /** Process name (e.g. `\"loan-se\"`). */\n process?: ReactNode;\n /** Variant name (e.g. `\"refinance\"`). */\n variant?: ReactNode;\n /** Leading label. Defaults to `\"Flow\"`. */\n label?: ReactNode;\n /** Show the copy button. Defaults to `true`. */\n showCopy?: boolean;\n /**\n * String written to the clipboard. Defaults to the string parts joined by\n * `\" · \"`.\n */\n copyValue?: string;\n /** Accessible name for the copy button. Defaults to a translated label. */\n copyLabel?: string;\n /** Called after a successful copy. */\n onCopy?: () => void;\n};\n\nconst asCopyString = (part: ReactNode) =>\n typeof part === \"string\" || typeof part === \"number\" ? String(part) : null;\n\n/**\n * The flow header row: an uppercase label followed by the `id · process ·\n * variant` breadcrumb and a copy button. Copy success is announced via a\n * `role=\"status\"` live region.\n */\nexport function DevPanelFlow({\n flowId,\n process,\n variant,\n label = \"Flow\",\n showCopy = true,\n copyValue,\n copyLabel,\n onCopy,\n}: DevPanelFlowProps) {\n const t = useDevPanelLabels();\n const { copied, copy } = useCopy();\n\n const parts = [flowId, process, variant].filter(\n (part): part is ReactNode => part != null,\n );\n const derivedCopy = parts\n .map(asCopyString)\n .filter((part): part is string => part != null)\n .join(\" · \");\n const textToCopy = copyValue ?? derivedCopy;\n\n const handleCopy = async () => {\n await copy(textToCopy);\n onCopy?.();\n };\n\n return (\n <div className={styles.Flow}>\n <div className={styles.FlowText}>\n <span className={styles.FlowLabel}>{label}</span>\n <span>\n {parts.map((part, index) => (\n <Fragment key={index}>\n {index > 0 && (\n <span aria-hidden className={styles.FlowSeparator}>\n ·\n </span>\n )}\n {part}\n </Fragment>\n ))}\n </span>\n </div>\n {showCopy && (\n <IconButton\n aria-label={copyLabel ?? t.copy}\n onClick={handleCopy}\n variant=\"outline\"\n color=\"secondary\"\n size=\"sm\"\n >\n {copied ? (\n <Check size={16} aria-hidden />\n ) : (\n <Copy size={16} aria-hidden />\n )}\n </IconButton>\n )}\n <span role=\"status\" aria-live=\"polite\" className={styles.VisuallyHidden}>\n {copied ? t.copied : \"\"}\n </span>\n </div>\n );\n}\n","\"use client\";\n\nimport { useMemo } from \"react\";\n\nimport styles from \"./dev-panel.module.css\";\n\n/** The kinds of token the JSON highlighter distinguishes. */\ntype JsonTokenType =\n | \"key\"\n | \"string\"\n | \"number\"\n | \"boolean\"\n | \"null\"\n | \"punctuation\";\n\ntype Token = { type: JsonTokenType; value: string };\n\n// Matches the value-bearing tokens (strings, numbers, and the JSON keywords).\n// Everything between matches (braces, brackets, commas, colons, whitespace) is\n// treated as punctuation.\nconst TOKEN =\n /\"(?:\\\\.|[^\"\\\\])*\"|-?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?|\\b(?:true|false|null)\\b/g;\n\nconst isSpace = (char: string) =>\n char === \" \" || char === \"\\t\" || char === \"\\n\" || char === \"\\r\";\n\nfunction classify(raw: string, code: string, end: number): JsonTokenType {\n if (raw[0] === '\"') {\n // A string is a key when the next non-space character is a colon.\n let i = end;\n while (i < code.length && isSpace(code[i])) i += 1;\n return code[i] === \":\" ? \"key\" : \"string\";\n }\n if (raw === \"true\" || raw === \"false\") return \"boolean\";\n if (raw === \"null\") return \"null\";\n return \"number\";\n}\n\nfunction tokenize(code: string): Token[] {\n const tokens: Token[] = [];\n let lastIndex = 0;\n\n for (const match of code.matchAll(TOKEN)) {\n const index = match.index ?? 0;\n if (index > lastIndex) {\n tokens.push({ type: \"punctuation\", value: code.slice(lastIndex, index) });\n }\n const raw = match[0];\n tokens.push({ type: classify(raw, code, index + raw.length), value: raw });\n lastIndex = index + raw.length;\n }\n\n if (lastIndex < code.length) {\n tokens.push({ type: \"punctuation\", value: code.slice(lastIndex) });\n }\n\n return tokens;\n}\n\n/**\n * Returns `true` when `value` should be syntax-highlighted as JSON: any non-null\n * non-string value (objects, arrays, numbers, booleans), or a string that parses\n * cleanly as JSON. Plain prose strings return `false` so they render verbatim.\n */\nexport function looksLikeJson(value: unknown): boolean {\n if (typeof value !== \"string\") return value != null;\n const trimmed = value.trim();\n if (!trimmed) return false;\n try {\n JSON.parse(trimmed);\n return true;\n } catch {\n return false;\n }\n}\n\n/**\n * Renders a serialised JSON string as coloured spans. Output is built from React\n * nodes (never `dangerouslySetInnerHTML`), so a string value such as `\"<img>\"`\n * is shown as text and can never inject markup. Each span carries its kind as\n * `data-token`, and the stylesheet has one colour for each kind.\n */\nexport function JsonHighlight({ code }: { code: string }) {\n const tokens = useMemo(() => tokenize(code), [code]);\n\n return (\n <>\n {tokens.map((token, index) => (\n <span key={index} className={styles.Token} data-token={token.type}>\n {token.value}\n </span>\n ))}\n </>\n );\n}\n","\"use client\";\n\nimport { Braces, Check, ChevronRight, Copy, X } from \"lucide-react\";\nimport {\n useCallback,\n useEffect,\n useId,\n useLayoutEffect,\n useRef,\n useState,\n type CSSProperties,\n type ReactNode,\n} from \"react\";\nimport { createPortal } from \"react-dom\";\n\nimport { IconButton } from \"../index\";\nimport styles from \"./dev-panel.module.css\";\nimport { JsonHighlight, looksLikeJson } from \"./json-highlight\";\nimport { useCopy } from \"./use-copy\";\nimport { useDevPanelLabels } from \"./use-dev-panel-labels\";\n\n/** Re-points the button's colour properties for the dark payload panel. */\nconst onDarkButtonStyle = {\n \"--button-fg\": \"var(--lea-palette-text-contrast)\",\n \"--button-border\": \"var(--lea-palette-border-contrast)\",\n \"--button-tint\": \"var(--lea-color-neutral-800)\",\n} as CSSProperties;\n\nexport type DevPanelPayloadProps = {\n /**\n * The payload to preview. Objects are pretty-printed as JSON; strings are\n * shown verbatim.\n */\n value: unknown;\n /** Label on the toggle. Defaults to `\"Payload preview\"`. */\n label?: ReactNode;\n /** Heading of the expanded dark panel. Defaults to `label`. */\n title?: ReactNode;\n /**\n * Where the payload opens. `\"inline\"` (default) expands a dark panel below the\n * toggle; `\"side\"` opens a floating panel beside the dev panel as a dialog\n * (dismissed with Escape or a click outside).\n */\n placement?: \"inline\" | \"side\";\n /** Optional pill in the side flyout header, e.g. `\"live\"`. Ignored inline. */\n badge?: ReactNode;\n /** Controlled open state. Omit for uncontrolled. */\n open?: boolean;\n /** Initial open state when uncontrolled. Defaults to `false`. */\n defaultOpen?: boolean;\n /** Called whenever the open state changes. */\n onOpenChange?: (open: boolean) => void;\n /** Accessible name for the copy button. Defaults to a translated label. */\n copyLabel?: string;\n /** Visible label for the side flyout's copy action. Defaults to a translated label. */\n copyJsonLabel?: string;\n /** Accessible name for the side flyout's close button. Defaults to a translated label. */\n closeLabel?: string;\n /**\n * Syntax-highlight JSON payloads. Defaults to `true`. Non-JSON strings always\n * render verbatim. Set `false` for the plain single-colour view.\n */\n highlight?: boolean;\n};\n\nconst serialise = (value: unknown): string => {\n if (typeof value === \"string\") return value;\n try {\n return JSON.stringify(value, null, 2);\n } catch {\n return String(value);\n }\n};\n\n// Avoid the useLayoutEffect SSR warning while still positioning before paint on\n// the client (the flyout only opens in response to a client interaction).\nconst useIsomorphicLayoutEffect =\n typeof window !== \"undefined\" ? useLayoutEffect : useEffect;\n\ntype FlyoutRect = { top: number; left: number; width: number; height: number };\n\nconst GAP = 12;\nconst MAX_WIDTH = 420;\nconst MIN_WIDTH = 280;\n\n/**\n * A payload preview. The toggle is a disclosure (`aria-expanded`/`aria-controls`)\n * that reveals the pretty-printed JSON with a copy control; copy success is\n * announced via a `role=\"status\"` live region. With `placement=\"inline\"`\n * (default) it expands a dark panel below the toggle; with `placement=\"side\"` it\n * opens a floating dialog beside the panel (Escape / click-outside to close,\n * focus moves in and returns to the toggle on close). Uncontrolled by default;\n * drive it with `open`/`onOpenChange` when needed.\n */\nexport function DevPanelPayload({\n value,\n label = \"Payload preview\",\n title,\n placement = \"inline\",\n badge,\n open,\n defaultOpen = false,\n onOpenChange,\n copyLabel,\n copyJsonLabel,\n closeLabel,\n highlight = true,\n}: DevPanelPayloadProps) {\n const t = useDevPanelLabels();\n const { copied, copy } = useCopy();\n const isControlled = open !== undefined;\n const [internalOpen, setInternalOpen] = useState(defaultOpen);\n const isOpen = isControlled ? open : internalOpen;\n const panelId = useId();\n const titleId = useId();\n const isSide = placement === \"side\";\n\n const toggleRef = useRef<HTMLButtonElement>(null);\n const flyoutRef = useRef<HTMLDivElement>(null);\n const [rect, setRect] = useState<FlyoutRect | null>(null);\n // The side flyout is rendered into the body, which is only there in the\n // browser, so the server and the first client render leave it out.\n const [portalTarget, setPortalTarget] = useState<HTMLElement | null>(null);\n useEffect(() => setPortalTarget(document.body), []);\n\n const setOpen = useCallback(\n (next: boolean) => {\n if (!isControlled) setInternalOpen(next);\n onOpenChange?.(next);\n },\n [isControlled, onOpenChange],\n );\n\n const text = serialise(value);\n const body =\n highlight && looksLikeJson(value) ? <JsonHighlight code={text} /> : text;\n\n const position = useCallback(() => {\n const anchor =\n (toggleRef.current?.closest(\n \"[data-dev-panel-root]\",\n ) as HTMLElement | null) ?? toggleRef.current;\n if (!anchor) return;\n const r = anchor.getBoundingClientRect();\n const width = Math.min(MAX_WIDTH, Math.max(MIN_WIDTH, r.width));\n // Prefer the left of the panel; flip to the right when there isn't room.\n let left = r.left - width - GAP;\n if (left < GAP) {\n left = Math.min(r.right + GAP, window.innerWidth - width - GAP);\n }\n const height = Math.min(r.height, window.innerHeight - GAP * 2);\n const top = Math.min(\n Math.max(GAP, r.top),\n window.innerHeight - GAP - height,\n );\n setRect({ top, left, width, height });\n }, []);\n\n useIsomorphicLayoutEffect(() => {\n if (!isSide || !isOpen) return;\n position();\n const onChange = () => position();\n window.addEventListener(\"resize\", onChange);\n window.addEventListener(\"scroll\", onChange, true);\n return () => {\n window.removeEventListener(\"resize\", onChange);\n window.removeEventListener(\"scroll\", onChange, true);\n };\n }, [isSide, isOpen, position]);\n\n // Until the flyout has a place it is hidden, and a hidden element cannot\n // take focus, so the focus handling waits for the first `rect`.\n const isPlaced = rect !== null;\n\n useEffect(() => {\n if (!isSide || !isOpen || !portalTarget || !isPlaced) return;\n const flyout = flyoutRef.current;\n const toggle = toggleRef.current;\n\n const focusable = () =>\n Array.from(\n flyout?.querySelectorAll<HTMLElement>(\n 'button, [href], input, textarea, select, [tabindex]:not([tabindex=\"-1\"])',\n ) ?? [],\n ).filter((el) => !el.hasAttribute(\"disabled\"));\n\n (focusable()[0] ?? flyout)?.focus();\n\n const onKeyDown = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n event.stopPropagation();\n setOpen(false);\n return;\n }\n if (event.key !== \"Tab\") return;\n const items = focusable();\n if (items.length === 0) {\n event.preventDefault();\n flyout?.focus();\n return;\n }\n const first = items[0];\n const last = items[items.length - 1];\n const active = document.activeElement;\n if (event.shiftKey && (active === first || active === flyout)) {\n event.preventDefault();\n last.focus();\n } else if (!event.shiftKey && active === last) {\n event.preventDefault();\n first.focus();\n }\n };\n\n const onPointerDown = (event: PointerEvent) => {\n const target = event.target as Node;\n if (flyout?.contains(target) || toggle?.contains(target)) return;\n setOpen(false);\n };\n\n document.addEventListener(\"keydown\", onKeyDown, true);\n document.addEventListener(\"pointerdown\", onPointerDown, true);\n return () => {\n document.removeEventListener(\"keydown\", onKeyDown, true);\n document.removeEventListener(\"pointerdown\", onPointerDown, true);\n toggle?.focus();\n };\n }, [isSide, isOpen, portalTarget, isPlaced, setOpen]);\n\n const copyButton = (\n <IconButton\n aria-label={copyLabel ?? t.copy}\n onClick={() => copy(text)}\n variant=\"outline\"\n color=\"secondary\"\n size=\"sm\"\n className={styles.OnDark}\n style={onDarkButtonStyle}\n >\n {copied ? <Check size={16} aria-hidden /> : <Copy size={16} aria-hidden />}\n </IconButton>\n );\n\n return (\n <div>\n <button\n ref={toggleRef}\n type=\"button\"\n aria-expanded={isOpen}\n aria-controls={panelId}\n data-placement={placement}\n onClick={() => setOpen(!isOpen)}\n className={styles.PayloadToggle}\n >\n <span className={styles.PayloadToggleLabel}>\n <Braces size={16} aria-hidden />\n {label}\n </span>\n <span className={styles.PayloadChevron}>\n <ChevronRight size={16} aria-hidden />\n </span>\n </button>\n\n {!isSide && isOpen && (\n <div id={panelId} className={styles.PayloadPanel}>\n <div className={styles.PayloadHeader}>\n <span>{title ?? label}</span>\n {copyButton}\n </div>\n <pre tabIndex={0} className={styles.PayloadCode}>\n {body}\n </pre>\n </div>\n )}\n\n {isSide &&\n isOpen &&\n portalTarget &&\n createPortal(\n <div\n ref={flyoutRef}\n id={panelId}\n role=\"dialog\"\n aria-labelledby={titleId}\n tabIndex={-1}\n className={styles.Flyout}\n style={\n rect\n ? {\n top: rect.top,\n left: rect.left,\n width: rect.width,\n height: rect.height,\n }\n : { visibility: \"hidden\" }\n }\n >\n <div className={styles.PayloadHeader}>\n <span className={styles.FlyoutTitle}>\n <span id={titleId}>{title ?? label}</span>\n {badge != null && (\n <span className={styles.Badge} data-on-dark=\"\">\n {badge}\n </span>\n )}\n </span>\n <IconButton\n aria-label={closeLabel ?? t.close}\n onClick={() => setOpen(false)}\n variant=\"outline\"\n color=\"secondary\"\n size=\"sm\"\n className={styles.OnDark}\n style={onDarkButtonStyle}\n >\n <X size={16} aria-hidden />\n </IconButton>\n </div>\n <pre tabIndex={0} className={styles.PayloadCode}>\n {body}\n </pre>\n <div className={styles.FlyoutFooter}>\n <button\n type=\"button\"\n onClick={() => copy(text)}\n className={styles.FlyoutCopyButton}\n >\n {copied ? (\n <Check size={16} aria-hidden />\n ) : (\n <Copy size={16} aria-hidden />\n )}\n {copied ? t.copied : (copyJsonLabel ?? t.copyJson)}\n </button>\n </div>\n </div>,\n portalTarget,\n )}\n\n <span role=\"status\" aria-live=\"polite\" className={styles.VisuallyHidden}>\n {copied ? t.copied : \"\"}\n </span>\n </div>\n );\n}\n","\"use client\";\n\nimport { ChevronRight, RotateCcw, Upload } from \"lucide-react\";\nimport type { ReactNode } from \"react\";\n\nimport { Button } from \"../index\";\nimport styles from \"./dev-panel.module.css\";\nimport { useCopy } from \"./use-copy\";\n\nexport type DevPanelFooterProps = {\n /** Called when \"Reseed\" is pressed. Omit to hide the button. */\n onReseed?: () => void;\n /** Label for the reseed button. Defaults to `\"Reseed\"`. */\n reseedLabel?: ReactNode;\n /** Called when \"Copy URL\" is pressed. Omit to hide the button. */\n onCopyUrl?: () => void;\n /** When set, this URL is written to the clipboard before `onCopyUrl` fires. */\n url?: string;\n /** Label for the copy-URL button. Defaults to `\"Copy URL\"`. */\n copyUrlLabel?: ReactNode;\n /** Called when \"Console\" is pressed. Omit to hide the button. */\n onConsole?: () => void;\n /** Label for the console button. Defaults to `\"Console\"`. */\n consoleLabel?: ReactNode;\n /** Extra actions appended after the built-in buttons. */\n children?: ReactNode;\n};\n\n/**\n * The footer action row. Renders a button only for each callback provided, so\n * apps opt into just the actions they support. `Copy URL` writes `url` to the\n * clipboard (when given) before invoking `onCopyUrl`. Extra `children` are\n * appended after the built-ins.\n */\nexport function DevPanelFooter({\n onReseed,\n reseedLabel = \"Reseed\",\n onCopyUrl,\n url,\n copyUrlLabel = \"Copy URL\",\n onConsole,\n consoleLabel = \"Console\",\n children,\n}: DevPanelFooterProps) {\n const { copy } = useCopy();\n\n const handleCopyUrl = async () => {\n if (url != null) await copy(url);\n onCopyUrl?.();\n };\n\n return (\n <div className={styles.Footer}>\n {onReseed && (\n <Button\n variant=\"outline\"\n color=\"secondary\"\n size=\"sm\"\n startIcon={<RotateCcw aria-hidden />}\n onClick={onReseed}\n >\n {reseedLabel}\n </Button>\n )}\n {onCopyUrl && (\n <Button\n variant=\"outline\"\n color=\"secondary\"\n size=\"sm\"\n startIcon={<Upload aria-hidden />}\n onClick={handleCopyUrl}\n >\n {copyUrlLabel}\n </Button>\n )}\n {onConsole && (\n <Button\n variant=\"solid\"\n size=\"sm\"\n endIcon={<ChevronRight aria-hidden />}\n onClick={onConsole}\n style={{ marginInlineStart: \"auto\" }}\n >\n {consoleLabel}\n </Button>\n )}\n {children}\n </div>\n );\n}\n","/*\n * The members of the `DevPanel` namespace. The parts live in files of their\n * own under their full names (`DevPanelStatus` in dev-panel-status.tsx);\n * here each gets the short name it has in the namespace (`DevPanel.Status`).\n */\nexport {\n DevPanel as Root,\n DevPanelSection as Section,\n useDevPanelSectionLabelId as useSectionLabelId,\n type DevPanelProps as RootProps,\n type DevPanelSectionProps as SectionProps,\n} from \"./dev-panel\";\nexport {\n DevPanelCountry as Country,\n type DevPanelCountryOption as CountryOption,\n type DevPanelCountryProps as CountryProps,\n} from \"./dev-panel-country\";\nexport {\n DevPanelVariant as Variant,\n type DevPanelVariantOption as VariantOption,\n type DevPanelVariantProps as VariantProps,\n} from \"./dev-panel-variant\";\nexport {\n DevPanelStepState as StepState,\n type DevPanelStepStateOption as StepStateOption,\n type DevPanelStepStateProps as StepStateProps,\n} from \"./dev-panel-step-state\";\nexport {\n DevPanelSteps as Steps,\n type DevPanelStep as Step,\n type DevPanelStepsProps as StepsProps,\n} from \"./dev-panel-steps\";\nexport {\n DevPanelStatus as Status,\n type DevPanelStatusColor as StatusColor,\n type DevPanelStatusOption as StatusOption,\n type DevPanelStatusProps as StatusProps,\n} from \"./dev-panel-status\";\nexport {\n DevPanelFlow as Flow,\n type DevPanelFlowProps as FlowProps,\n} from \"./dev-panel-flow\";\nexport {\n DevPanelPayload as Payload,\n type DevPanelPayloadProps as PayloadProps,\n} from \"./dev-panel-payload\";\nexport {\n DevPanelFooter as Footer,\n type DevPanelFooterProps as FooterProps,\n} from \"./dev-panel-footer\";\n"],"mappings":"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"}
package/dist/index.css CHANGED
@@ -1 +1 @@
1
- :root{--lea-spacing:.5rem;--lea-palette-bg-base:#fff;--lea-palette-bg-subtle:#f7f7f6;--lea-palette-bg-muted:#f0e9e5;--lea-palette-bg-contrast:#0f1010;--lea-palette-bg-accent:#e2d8e4;--lea-palette-text-base:#0f1010;--lea-palette-text-subtle:#757575;--lea-palette-text-muted:#a2a2a2;--lea-palette-text-accent:#70427b;--lea-palette-text-contrast:#fff;--lea-palette-border-base:#dbdbdb;--lea-palette-border-subtle:#ebebeb;--lea-palette-border-strong:#0f1010;--lea-palette-border-accent:#70427b;--lea-palette-border-contrast:#fff;--lea-palette-primary-main:#70427b;--lea-palette-primary-dark:#5a3463;--lea-palette-primary-light:#e2d8e4;--lea-palette-primary-contrastText:#fff;--lea-palette-purple-base:#70427b;--lea-palette-purple-hover:#5a3463;--lea-palette-purple-subtle:#e2d8e4;--lea-palette-purple-contrast:#fff;--lea-palette-teal-base:#08c2a7;--lea-palette-teal-hover:#46d1bd;--lea-palette-teal-subtle:#daf6f1;--lea-palette-teal-contrast:#fff;--lea-palette-secondary-main:#08c2a7;--lea-palette-secondary-dark:#46d1bd;--lea-palette-secondary-light:#daf6f1;--lea-palette-secondary-contrastText:#fff;--lea-palette-status-error-base:#d32f2f;--lea-palette-status-error-subtle:#fcdcdc;--lea-palette-status-warning-base:#fe653e;--lea-palette-status-warning-subtle:#ffdfd7;--lea-palette-status-info-base:#057ef2;--lea-palette-status-info-subtle:#cbe5fd;--lea-palette-status-success-base:#46d1bd;--lea-palette-status-success-subtle:#daf6f1;--lea-color-purple-50:#faf7fb;--lea-color-purple-100:#e2d8e4;--lea-color-purple-200:#c5b1ca;--lea-color-purple-300:#c29ac2;--lea-color-purple-400:#9e6da8;--lea-color-purple-500:#855888;--lea-color-purple-600:#70427b;--lea-color-purple-700:#5a3463;--lea-color-purple-800:#422349;--lea-color-purple-900:#2e1834;--lea-color-purple-950:#1a0e1e;--lea-color-teal-50:#f0fcfa;--lea-color-teal-100:#daf6f1;--lea-color-teal-200:#cef3ed;--lea-color-teal-300:#08c2a7;--lea-color-teal-400:#46d1bd;--lea-color-teal-500:#06a892;--lea-color-teal-600:#058f7d;--lea-color-teal-700:#047568;--lea-color-teal-800:#035c53;--lea-color-teal-900:#02433e;--lea-color-teal-950:#012a28;--lea-color-blue-50:#eff6ff;--lea-color-blue-100:#cbe5fd;--lea-color-blue-200:#93cbfc;--lea-color-blue-300:#4da8f7;--lea-color-blue-400:#057ef2;--lea-color-blue-500:#0468c9;--lea-color-blue-600:#0354a3;--lea-color-blue-700:#02417d;--lea-color-blue-800:#012e57;--lea-color-blue-900:#011b31;--lea-color-blue-950:#000e19;--lea-color-orange-50:#fff5f2;--lea-color-orange-100:#ffdfd7;--lea-color-orange-200:#ffc4b5;--lea-color-orange-300:#ff9e87;--lea-color-orange-400:#fe653e;--lea-color-orange-500:#e54e28;--lea-color-orange-600:#c43e1c;--lea-color-orange-700:#a33218;--lea-color-orange-800:#822814;--lea-color-orange-900:#611e0f;--lea-color-orange-950:#401408;--lea-color-red-50:#fef2f2;--lea-color-red-100:#fcdcdc;--lea-color-red-200:#f9bbbb;--lea-color-red-300:#f28888;--lea-color-red-400:#e85555;--lea-color-red-500:#d32f2f;--lea-color-red-600:#ad2121;--lea-color-red-700:#8a1919;--lea-color-red-800:#6f1313;--lea-color-red-900:#4d0e0e;--lea-color-red-950:#2e0808;--lea-color-beige-50:#faf7f5;--lea-color-beige-100:#f0e9e5;--lea-color-beige-200:#e0d4cd;--lea-color-beige-300:#c9b8ad;--lea-color-beige-400:#b09a8c;--lea-color-beige-500:#977c6b;--lea-color-beige-600:#7e6556;--lea-color-beige-700:#654f42;--lea-color-beige-800:#4c3a32;--lea-color-beige-900:#332722;--lea-color-beige-950:#1a1411;--lea-color-neutral-50:#f7f7f6;--lea-color-neutral-100:#ebebeb;--lea-color-neutral-200:#dbdbdb;--lea-color-neutral-300:#c4c4c4;--lea-color-neutral-400:#a2a2a2;--lea-color-neutral-500:#757575;--lea-color-neutral-600:#5e5e5e;--lea-color-neutral-700:#454545;--lea-color-neutral-800:#2e2e2e;--lea-color-neutral-900:#1a1a1a;--lea-color-neutral-950:#0f1010;--lea-color-white:#fff;--lea-color-black:#0f1010;--lea-radius-sm:4px;--lea-radius-md:5px;--lea-radius-lg:6px;--lea-radius-xl:8px;--lea-radius-2xl:10px;--lea-radius-3xl:12px;--lea-radius-4xl:16px;--lea-radius-5xl:32px;--lea-radius-huge:64px;--lea-radius-full:100px;--lea-shadow-xs:0 1px 2px 0 #0000000d;--lea-shadow-sm:0px 1px 3px 0px #0000001a, 0px 1px 2px -1px #0000001a;--lea-shadow-md:0px 4px 6px -1px #0000001a, 0px 2px 4px -2px #0000001a;--lea-shadow-lg:0px 10px 15px -3px #0000001a, 0px 4px 6px -4px #0000001a;--lea-shadow-xl:0px 20px 25px -5px #0000001a, 0px 8px 10px -6px #0000001a;--lea-shadow-2xl:0px 25px 50px -12px #00000040;--lea-shadow-inner:0px 2px 4px 0px #0000000d inset;--lea-font-size-xs:.75rem;--lea-font-size-sm:.875rem;--lea-font-size-md:1rem;--lea-font-size-lg:1.25rem;--lea-font-size-xl:1.5rem;--lea-font-size-2xl:2rem;--lea-font-size-3xl:2.5rem;--lea-font-size-4xl:3rem;--lea-font-size-5xl:3.5rem;--lea-font-size-6xl:4rem;--lea-font-weight-thin:200;--lea-font-weight-light:300;--lea-font-weight-regular:400;--lea-font-weight-medium:500;--lea-font-weight-semibold:600;--lea-font-weight-bold:700;--lea-font-weight-black:800;--lea-opacity-hover:.08;--lea-opacity-pressed:.12;--lea-opacity-highlight:.6;--lea-duration-fast:.15s;--lea-duration-normal:.2s;--lea-duration-emphasis:.3s;--lea-easing-standard:ease-in-out;--lea-easing-spring:cubic-bezier(.34, 1.56, .64, 1);--lea-breakpoint-xs:0px;--lea-breakpoint-sm:600px;--lea-breakpoint-md:900px;--lea-breakpoint-lg:1200px;--lea-breakpoint-xl:1536px}._Button_sgjjo_9{--button-solid:var(--lea-palette-purple-base);--button-solid-hover:var(--lea-palette-purple-hover);--button-on-solid:var(--lea-palette-purple-contrast);--button-fg:var(--lea-palette-purple-base);--button-border:var(--lea-palette-purple-base);--button-tint:color-mix(in srgb, var(--button-fg) calc(var(--lea-opacity-hover) * 100%), color-mix(in srgb, var(--lea-color-white) calc(var(--lea-opacity-highlight) * 100%), transparent));--button-height:2.75rem;--button-icon-size:1.25rem;--button-padding-inline:calc(var(--lea-spacing) * 2.5);box-sizing:border-box;min-height:var(--button-height);justify-content:center;align-items:center;gap:var(--lea-spacing);padding-block:calc(var(--lea-spacing) * .5);padding-inline:var(--button-padding-inline);border-radius:var(--lea-radius-full);color:var(--button-fg);font-family:inherit;font-size:var(--lea-font-size-md);font-weight:var(--lea-font-weight-medium);text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:background-color var(--lea-duration-normal) var(--lea-easing-standard), border-color var(--lea-duration-normal) var(--lea-easing-standard), color var(--lea-duration-normal) var(--lea-easing-standard), opacity var(--lea-duration-normal) var(--lea-easing-standard);background-color:#0000;border:1px solid #0000;flex-shrink:0;margin:0;line-height:1.25;text-decoration:none;display:inline-flex}._Button_sgjjo_9 svg{width:var(--button-icon-size);height:var(--button-icon-size);flex-shrink:0}._Button_sgjjo_9:focus-visible{outline:2px solid var(--lea-palette-text-base);outline-offset:.125rem}._Button_sgjjo_9[data-color=neutral]{--button-solid:var(--lea-palette-bg-contrast);--button-solid-hover:var(--lea-color-neutral-800);--button-on-solid:var(--lea-palette-text-contrast);--button-fg:var(--lea-palette-text-base);--button-border:var(--lea-palette-border-strong)}._Button_sgjjo_9[data-color=danger]{--button-solid:var(--lea-color-red-600);--button-solid-hover:var(--lea-color-red-500);--button-on-solid:var(--lea-palette-text-contrast);--button-fg:var(--lea-color-red-600);--button-border:var(--lea-color-red-600)}._Button_sgjjo_9[data-variant=solid]{background-color:var(--button-solid);color:var(--button-on-solid)}._Button_sgjjo_9[data-variant=outline]{border-color:var(--button-border)}@media (hover:hover){._Button_sgjjo_9[data-variant=solid]:not([data-disabled]):hover{background-color:var(--button-solid-hover)}._Button_sgjjo_9[data-variant=outline]:not([data-disabled]):hover,._Button_sgjjo_9[data-variant=ghost]:not([data-disabled]):hover{background-color:var(--button-tint)}}._Button_sgjjo_9[data-size=sm]{--button-height:2.25rem;--button-icon-size:1rem;--button-padding-inline:calc(var(--lea-spacing) * 2)}._Button_sgjjo_9[data-size=lg]{--button-height:3.25rem;--button-icon-size:1.5rem;--button-padding-inline:calc(var(--lea-spacing) * 2.5)}._Button_sgjjo_9[data-start-icon]{padding-inline-start:calc(var(--button-padding-inline) - var(--lea-spacing))}._Button_sgjjo_9[data-end-icon]{padding-inline-end:calc(var(--button-padding-inline) - var(--lea-spacing))}._Button_sgjjo_9._IconButton_sgjjo_140{width:var(--button-height);height:var(--button-height);padding:0}._Button_sgjjo_9[data-disabled]:not([data-loading]){color:var(--lea-color-neutral-400);cursor:not-allowed}._Button_sgjjo_9[data-variant=solid][data-disabled]:not([data-loading]){background-color:var(--lea-color-neutral-200);color:var(--lea-color-neutral-600)}._Button_sgjjo_9[data-variant=outline][data-disabled]:not([data-loading]){border-color:var(--lea-palette-border-base)}._Button_sgjjo_9[data-loading]{cursor:progress;opacity:.7}._Spinner_sgjjo_167{box-sizing:border-box;width:var(--button-icon-size);height:var(--button-icon-size);border:2px solid;border-radius:var(--lea-radius-full);border-inline-end-color:#0000;flex-shrink:0;animation:.8s linear infinite _button-spin_sgjjo_1;display:inline-block}@keyframes _button-spin_sgjjo_1{to{rotate:360deg}}._SrOnly_sgjjo_185{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){._Button_sgjjo_9{transition-duration:.01ms}._Spinner_sgjjo_167{animation:none}}._Alert_qn37a_9{--alert-base:var(--lea-palette-status-success-base);--alert-subtle:var(--lea-palette-status-success-subtle);--alert-line:calc(var(--lea-font-size-md) * 1.5);--alert-message-padding:calc(var(--lea-spacing) * .7);box-sizing:border-box;padding:var(--lea-spacing) calc(var(--lea-spacing) * 2);border-radius:var(--lea-radius-xl);color:var(--lea-palette-text-base);font-size:var(--lea-font-size-md);font-weight:var(--lea-font-weight-regular);line-height:1.5}._Layout_qn37a_26{align-items:flex-start;gap:calc(var(--lea-spacing) * 1.5);display:flex}._Icon_qn37a_32{box-sizing:content-box;height:var(--alert-line);padding-block:var(--alert-message-padding);color:var(--alert-base);font-size:var(--lea-font-size-lg);flex-shrink:0;align-items:center;display:flex}._Message_qn37a_43{min-width:0;padding-block:var(--alert-message-padding);overflow-wrap:anywhere;flex-direction:column;flex:1;display:flex}._Title_qn37a_52{font-weight:var(--lea-font-weight-medium)}._Action_qn37a_56{flex-shrink:0;align-items:center;margin-inline-start:auto;display:flex}._Alert_qn37a_9[data-color=info]{--alert-base:var(--lea-palette-status-info-base);--alert-subtle:var(--lea-palette-status-info-subtle)}._Alert_qn37a_9[data-color=warning]{--alert-base:var(--lea-palette-status-warning-base);--alert-subtle:var(--lea-palette-status-warning-subtle)}._Alert_qn37a_9[data-color=error]{--alert-base:var(--lea-palette-status-error-base);--alert-subtle:var(--lea-palette-status-error-subtle)}._Alert_qn37a_9[data-color=purple]{--alert-base:var(--lea-palette-purple-base);--alert-subtle:var(--lea-palette-purple-subtle)}._Alert_qn37a_9[data-color=grey]{--alert-base:var(--lea-color-neutral-700);--alert-subtle:var(--lea-color-neutral-100)}._Alert_qn37a_9[data-variant=standard]{background-color:var(--alert-subtle)}._Alert_qn37a_9[data-variant=filled]{background-color:var(--alert-base);color:var(--lea-palette-text-contrast)}._Alert_qn37a_9[data-variant=filled] ._Icon_qn37a_32,._Alert_qn37a_9[data-variant=filled] ._Close_qn37a_102{color:var(--lea-palette-text-contrast)}._Alert_qn37a_9[data-variant=outlined]{border:1px solid var(--alert-base);background-color:#0000}._Alert_qn37a_9[data-size=sm]{--alert-line:calc(var(--lea-font-size-sm) * 1.5);padding:calc(var(--lea-spacing) * .5) calc(var(--lea-spacing) * 1.5);font-size:var(--lea-font-size-sm)}._Alert_qn37a_9[data-size=sm] ._Layout_qn37a_26,._Alert_qn37a_9[data-size=sm]._Layout_qn37a_26{gap:var(--lea-spacing)}._Alert_qn37a_9[data-size=sm] ._Action_qn37a_56{margin-block:calc(var(--lea-spacing) * -.25)}._Alert_qn37a_9[data-global]{border-radius:0;width:100%;padding-inline:0}._Alert_qn37a_9[data-global][data-variant=outlined]{border-inline:0}._Layout_qn37a_26[data-fluid]{max-width:none}._Backdrop_1tudt_8{z-index:1300;opacity:1;transition:opacity var(--lea-duration-normal) var(--lea-easing-standard);background-color:#0f101080;position:fixed;inset:0}._Backdrop_1tudt_8[data-starting-style],._Backdrop_1tudt_8[data-ending-style]{opacity:0}._Viewport_1tudt_22{z-index:1300;padding:calc(var(--lea-spacing) * 2);pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}._Popup_1tudt_38{border-radius:var(--lea-radius-4xl);background-color:var(--lea-palette-bg-base);width:100%;max-height:100%;box-shadow:var(--lea-shadow-xl);color:var(--lea-palette-text-base);opacity:1;pointer-events:auto;transition:opacity var(--lea-duration-normal) var(--lea-easing-standard), transform var(--lea-duration-normal) var(--lea-easing-standard);flex-direction:column;display:flex;overflow:hidden;transform:scale(1)}._Popup_1tudt_38[data-starting-style],._Popup_1tudt_38[data-ending-style]{opacity:0;transform:scale(.95)}._Popup_1tudt_38[data-size=xs]{max-width:27.75rem}._Popup_1tudt_38[data-size=sm]{max-width:37.5rem}._Popup_1tudt_38[data-size=md]{max-width:56.25rem}._Popup_1tudt_38[data-size=lg]{max-width:75rem}._Header_1tudt_78{justify-content:space-between;align-items:flex-start;gap:var(--lea-spacing);padding:calc(var(--lea-spacing) * 3) calc(var(--lea-spacing) * 3) calc(var(--lea-spacing) * 2);flex-shrink:0;display:flex}._Title_1tudt_88{color:var(--lea-palette-text-base);font-size:var(--lea-font-size-lg);font-weight:var(--lea-font-weight-semibold);margin:0;line-height:1.4}._Description_1tudt_96{margin:0 0 calc(var(--lea-spacing) * 2);color:var(--lea-palette-text-subtle)}._Description_1tudt_96[data-last]{margin-bottom:0}._Content_1tudt_110{padding:0 calc(var(--lea-spacing) * 3) calc(var(--lea-spacing) * 3);color:var(--lea-palette-text-base);flex:1;overflow-y:auto}._Content_1tudt_110:has(+._Footer_1tudt_118){padding-bottom:0}._Footer_1tudt_118{justify-content:flex-end;align-items:center;gap:var(--lea-spacing);padding:calc(var(--lea-spacing) * 2) calc(var(--lea-spacing) * 3) calc(var(--lea-spacing) * 2);background-color:var(--lea-palette-bg-base);flex-wrap:wrap;flex-shrink:0;display:flex}._CloseButton_1tudt_134{border:2px solid var(--lea-palette-border-base);border-radius:var(--lea-radius-full);width:2.5rem;height:2.5rem;color:var(--lea-palette-text-base);cursor:pointer;transition:border-color var(--lea-duration-emphasis) var(--lea-easing-spring), background-color var(--lea-duration-emphasis) var(--lea-easing-spring), color var(--lea-duration-emphasis) var(--lea-easing-spring);background-color:#0000;flex-shrink:0;justify-content:center;align-items:center;margin-inline-end:calc(var(--lea-spacing) * -.5);padding:0;display:inline-flex}@media (hover:hover){._CloseButton_1tudt_134:hover{border-color:var(--lea-palette-purple-base);background-color:var(--lea-palette-purple-base);color:var(--lea-palette-purple-contrast)}}._CloseButton_1tudt_134:focus-visible{outline:2px solid var(--lea-palette-text-base);outline-offset:.125rem}@media (width<=599.95px){._Viewport_1tudt_22:has(._Popup_1tudt_38[data-full-screen-on-mobile]){padding:0}._Popup_1tudt_38[data-full-screen-on-mobile]{border-radius:0;width:100vw;max-width:none;height:100dvh;max-height:none}._Popup_1tudt_38[data-full-screen-on-mobile] ._Content_1tudt_110{padding-bottom:calc(var(--lea-spacing) * 3 + env(safe-area-inset-bottom))}._Popup_1tudt_38[data-full-screen-on-mobile] ._Content_1tudt_110:has(+._Footer_1tudt_118){padding-bottom:0}._Popup_1tudt_38[data-full-screen-on-mobile] ._Footer_1tudt_118{padding-bottom:calc(var(--lea-spacing) * 3 + env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){._Backdrop_1tudt_8,._Popup_1tudt_38,._CloseButton_1tudt_134{transition-duration:.01ms}}._Backdrop_plujs_12{z-index:1300;opacity:calc(1 - var(--drawer-swipe-progress,0));transition:opacity var(--lea-duration-normal) var(--lea-easing-standard);background-color:#0f101080;position:fixed;inset:0}._Backdrop_plujs_12[data-starting-style],._Backdrop_plujs_12[data-ending-style]{opacity:0}._Viewport_plujs_27{z-index:1300;pointer-events:none;position:fixed;inset:0}._Popup_plujs_35{background-color:var(--lea-palette-bg-base);box-shadow:var(--lea-shadow-xl);color:var(--lea-palette-text-base);pointer-events:auto;transition:transform var(--lea-duration-normal) var(--lea-easing-standard);flex-direction:column;display:flex;position:absolute}._Popup_plujs_35[data-swipe-direction=left],._Popup_plujs_35[data-swipe-direction=right]{width:min(var(--drawer-size,22.5rem), 100vw);height:100%;transform:translateX(var(--drawer-swipe-movement-x,0px));top:0}._Popup_plujs_35[data-swipe-direction=left]{left:0}._Popup_plujs_35[data-swipe-direction=right]{right:0}._Popup_plujs_35[data-swipe-direction=up],._Popup_plujs_35[data-swipe-direction=down]{width:100%;max-height:var(--drawer-size,90dvh);transform:translateY(calc(var(--drawer-snap-point-offset,0px) + var(--drawer-swipe-movement-y,0px)));left:0}._Popup_plujs_35[data-swipe-direction=up]{border-radius:0 0 var(--drawer-radius,var(--lea-radius-4xl)) var(--drawer-radius,var(--lea-radius-4xl));top:0}._Popup_plujs_35[data-swipe-direction=down]{border-radius:var(--drawer-radius,var(--lea-radius-4xl)) var(--drawer-radius,var(--lea-radius-4xl)) 0 0;padding-bottom:env(safe-area-inset-bottom);bottom:0}._Popup_plujs_35[data-starting-style][data-swipe-direction=left],._Popup_plujs_35[data-ending-style][data-swipe-direction=left]{transform:translate(-100%)}._Popup_plujs_35[data-starting-style][data-swipe-direction=right],._Popup_plujs_35[data-ending-style][data-swipe-direction=right]{transform:translate(100%)}._Popup_plujs_35[data-starting-style][data-swipe-direction=up],._Popup_plujs_35[data-ending-style][data-swipe-direction=up]{transform:translateY(-100%)}._Popup_plujs_35[data-starting-style][data-swipe-direction=down],._Popup_plujs_35[data-ending-style][data-swipe-direction=down]{transform:translateY(100%)}._Popup_plujs_35[data-ending-style],._Backdrop_plujs_12[data-ending-style]{transition-duration:calc(var(--drawer-swipe-strength,1) * var(--lea-duration-normal))}._Popup_plujs_35[data-swiping],._Backdrop_plujs_12[data-swiping]{transition-duration:0s}._Handle_plujs_120{width:calc(var(--lea-spacing) * 5);height:calc(var(--lea-spacing) * .5);border-radius:var(--lea-radius-sm);margin:calc(var(--lea-spacing) * 1.5) auto calc(var(--lea-spacing) * .5);background-color:var(--lea-palette-border-base);flex-shrink:0}._Popup_plujs_35[data-swipe-direction=up] ._Handle_plujs_120{margin:calc(var(--lea-spacing) * .5) auto calc(var(--lea-spacing) * 1.5)}._Header_plujs_134{justify-content:space-between;align-items:flex-start;gap:var(--lea-spacing);padding:calc(var(--lea-spacing) * 3) calc(var(--lea-spacing) * 3) calc(var(--lea-spacing) * 2);flex-shrink:0;display:flex}._Title_plujs_144{color:var(--lea-palette-text-base);font-size:var(--lea-font-size-lg);font-weight:var(--lea-font-weight-semibold);margin:0;line-height:1.4}._Description_plujs_152{margin:0 0 calc(var(--lea-spacing) * 2);color:var(--lea-palette-text-subtle)}._Description_plujs_152[data-last]{margin-bottom:0}._Content_plujs_166{padding:0 calc(var(--lea-spacing) * 3) calc(var(--lea-spacing) * 3);color:var(--lea-palette-text-base);flex:1;overflow-y:auto}._CloseButton_plujs_173{border:2px solid var(--lea-palette-border-base);border-radius:var(--lea-radius-full);width:2.5rem;height:2.5rem;color:var(--lea-palette-text-base);cursor:pointer;transition:border-color var(--lea-duration-emphasis) var(--lea-easing-spring), background-color var(--lea-duration-emphasis) var(--lea-easing-spring), color var(--lea-duration-emphasis) var(--lea-easing-spring);background-color:#0000;flex-shrink:0;justify-content:center;align-items:center;margin-inline-end:calc(var(--lea-spacing) * -.5);padding:0;display:inline-flex}@media (hover:hover){._CloseButton_plujs_173:hover{border-color:var(--lea-palette-purple-base);background-color:var(--lea-palette-purple-base);color:var(--lea-palette-purple-contrast)}}._CloseButton_plujs_173:focus-visible{outline:2px solid var(--lea-palette-text-base);outline-offset:.125rem}@media (prefers-reduced-motion:reduce){._Backdrop_plujs_12,._Popup_plujs_35,._CloseButton_plujs_173{transition-duration:.01ms}}._Container_15dwv_1{box-sizing:border-box;width:100%;max-width:var(--lea-breakpoint-lg);padding-inline:calc(var(--lea-spacing) * 2);margin-inline:auto}._Container_15dwv_1[data-size=sm]{max-width:var(--lea-breakpoint-sm)}._Container_15dwv_1[data-size=md]{max-width:var(--lea-breakpoint-md)}._Container_15dwv_1[data-size=xl]{max-width:var(--lea-breakpoint-xl)}@media (width>=600px){._Container_15dwv_1{padding-inline:calc(var(--lea-spacing) * 3)}}@media (width>=900px){._Container_15dwv_1{padding-inline:calc(var(--lea-spacing) * 4)}}._Popup_1yvkz_7{--drawer-radius:1.5rem}._Switch_d3xdl_7{border-radius:var(--lea-radius-full);background-color:var(--lea-color-neutral-200);cursor:pointer;width:2.5rem;height:1.5rem;transition:background-color var(--lea-duration-normal) var(--lea-easing-standard);border:none;flex-shrink:0;align-items:center;padding:.125rem;display:inline-flex}._Switch_d3xdl_7[data-checked]{background-color:var(--lea-palette-purple-base)}._Switch_d3xdl_7:focus-visible{outline:2px solid var(--lea-palette-text-base);outline-offset:.125rem}._Switch_d3xdl_7[data-disabled]{cursor:not-allowed;opacity:.5}._Thumb_d3xdl_36{border-radius:var(--lea-radius-full);background-color:var(--lea-palette-bg-base);width:1.25rem;height:1.25rem;transition:translate var(--lea-duration-normal) var(--lea-easing-standard);display:block}._Thumb_d3xdl_36[data-checked]{translate:1rem}@media (prefers-reduced-motion:reduce){._Switch_d3xdl_7,._Thumb_d3xdl_36{transition-duration:.01ms}}._Grid_kczso_6{--_columns:var(--_columns-base,12);--_gap:var(--_gap-base,0);gap:calc(var(--lea-spacing) * var(--_gap));grid-template-columns:repeat(var(--_columns), minmax(0, 1fr));min-width:0;display:grid}._GridItem_kczso_17{--_span:var(--_span-base,1 / -1);grid-column:var(--_span);min-width:0}@media (width>=600px){._Grid_kczso_6{--_columns:var(--_columns-sm,var(--_columns-base,12));--_gap:var(--_gap-sm,var(--_gap-base,0))}._GridItem_kczso_17{--_span:var(--_span-sm,var(--_span-base,1 / -1))}}@media (width>=900px){._Grid_kczso_6{--_columns:var(--_columns-md,var(--_columns-sm,var(--_columns-base,12)));--_gap:var(--_gap-md,var(--_gap-sm,var(--_gap-base,0)))}._GridItem_kczso_17{--_span:var(--_span-md,var(--_span-sm,var(--_span-base,1 / -1)))}}@media (width>=1200px){._Grid_kczso_6{--_columns:var(--_columns-lg,var(--_columns-md,var(--_columns-sm,var(--_columns-base,12))));--_gap:var(--_gap-lg,var(--_gap-md,var(--_gap-sm,var(--_gap-base,0))))}._GridItem_kczso_17{--_span:var(--_span-lg,var(--_span-md,var(--_span-sm,var(--_span-base,1 / -1))))}}@media (width>=1536px){._Grid_kczso_6{--_columns:var(--_columns-xl,var(--_columns-lg,var(--_columns-md,var(--_columns-sm,var(--_columns-base,12)))));--_gap:var(--_gap-xl,var(--_gap-lg,var(--_gap-md,var(--_gap-sm,var(--_gap-base,0)))))}._GridItem_kczso_17{--_span:var(--_span-xl,var(--_span-lg,var(--_span-md,var(--_span-sm,var(--_span-base,1 / -1)))))}}._Stack_19zb4_6{--_direction:var(--_direction-base,column);--_gap:var(--_gap-base,0);flex-direction:var(--_direction);gap:calc(var(--lea-spacing) * var(--_gap));min-width:0;display:flex}@media (width>=600px){._Stack_19zb4_6{--_direction:var(--_direction-sm,var(--_direction-base,column));--_gap:var(--_gap-sm,var(--_gap-base,0))}}@media (width>=900px){._Stack_19zb4_6{--_direction:var(--_direction-md,var(--_direction-sm,var(--_direction-base,column)));--_gap:var(--_gap-md,var(--_gap-sm,var(--_gap-base,0)))}}@media (width>=1200px){._Stack_19zb4_6{--_direction:var(--_direction-lg,var(--_direction-md,var(--_direction-sm,var(--_direction-base,column))));--_gap:var(--_gap-lg,var(--_gap-md,var(--_gap-sm,var(--_gap-base,0))))}}@media (width>=1536px){._Stack_19zb4_6{--_direction:var(--_direction-xl,var(--_direction-lg,var(--_direction-md,var(--_direction-sm,var(--_direction-base,column)))));--_gap:var(--_gap-xl,var(--_gap-lg,var(--_gap-md,var(--_gap-sm,var(--_gap-base,0)))))}}._Stack_19zb4_6[data-align=start]{align-items:flex-start}._Stack_19zb4_6[data-align=center]{align-items:center}._Stack_19zb4_6[data-align=end]{align-items:flex-end}._Stack_19zb4_6[data-align=stretch]{align-items:stretch}._Stack_19zb4_6[data-align=baseline]{align-items:baseline}._Stack_19zb4_6[data-justify=start]{justify-content:flex-start}._Stack_19zb4_6[data-justify=center]{justify-content:center}._Stack_19zb4_6[data-justify=end]{justify-content:flex-end}._Stack_19zb4_6[data-justify=between]{justify-content:space-between}._Stack_19zb4_6[data-justify=around]{justify-content:space-around}._Stack_19zb4_6[data-justify=evenly]{justify-content:space-evenly}._Stack_19zb4_6[data-wrap]{flex-wrap:wrap}._LinearFormStepper_gkf5m_7{--stepper-bar:var(--lea-palette-purple-base);--stepper-track:var(--lea-palette-purple-subtle);gap:calc(var(--lea-spacing) * 1.5);flex-direction:column;width:100%;display:flex}._LinearFormStepper_gkf5m_7[data-color=teal]{--stepper-bar:var(--lea-palette-teal-base);--stepper-track:var(--lea-palette-teal-subtle)}._Progress_gkf5m_22{width:100%}._Track_gkf5m_26{height:calc(var(--lea-spacing) * .75);border-radius:var(--lea-radius-full);background-color:var(--stepper-track);position:relative;overflow:hidden}._Indicator_gkf5m_34{border-radius:var(--lea-radius-full);background-color:var(--stepper-bar);height:100%;transition:width var(--lea-duration-emphasis) var(--lea-easing-standard)}._Header_gkf5m_41{align-items:center;gap:calc(var(--lea-spacing) * 2);display:flex}._Title_gkf5m_47{color:var(--lea-palette-text-base);font-size:var(--lea-font-size-xl);font-weight:var(--lea-font-weight-medium);outline:none;margin:0;line-height:1.4}._TitleText_gkf5m_56{animation:_stepper-title-in_gkf5m_1 var(--lea-duration-normal) var(--lea-easing-standard)}@keyframes _stepper-title-in_gkf5m_1{0%{opacity:0}}@media (prefers-reduced-motion:reduce){._Indicator_gkf5m_34{transition:none}._TitleText_gkf5m_56{animation:none}}._Root_i17mg_13{--accordion-gap:var(--lea-spacing);--accordion-item-bg:transparent;--accordion-item-border:var(--lea-palette-border-subtle);--accordion-item-radius:var(--lea-radius-2xl);--accordion-header-radius:var(--lea-radius-2xl);--accordion-hover-border:var(--lea-palette-border-strong);--accordion-hover-bg:transparent;--accordion-active-bg:var(--lea-color-purple-50);gap:var(--accordion-gap);flex-direction:column;width:100%;display:flex}._Root_i17mg_13[data-variant=solid]{--accordion-item-bg:var(--lea-palette-bg-subtle);--accordion-item-border:transparent;--accordion-hover-border:transparent;--accordion-hover-bg:var(--lea-color-neutral-100);--accordion-active-bg:var(--lea-color-neutral-200)}._Root_i17mg_13[data-variant=divided],._Root_i17mg_13[data-variant=ghost]{--accordion-highlight:color-mix(in srgb, var(--lea-color-white) calc(var(--lea-opacity-highlight) * 100%), transparent);--accordion-item-border:transparent;--accordion-header-radius:var(--lea-radius-sm);--accordion-hover-border:transparent;--accordion-hover-bg:color-mix(in srgb, var(--lea-palette-text-base) calc(var(--lea-opacity-hover) * 100%), var(--accordion-highlight));--accordion-active-bg:color-mix(in srgb, var(--lea-palette-text-base) calc(var(--lea-opacity-pressed) * 100%), var(--accordion-highlight))}._Root_i17mg_13[data-variant=divided]{--accordion-gap:0;--accordion-item-radius:0}._Item_i17mg_10{border:1px solid var(--accordion-item-border);border-radius:var(--accordion-item-radius);background-color:var(--accordion-item-bg)}._Root_i17mg_13[data-variant=divided]>._Item_i17mg_10:not(:last-child){border-block-end-color:var(--lea-palette-border-subtle)}._Header_i17mg_10{align-items:center;gap:calc(var(--lea-spacing) * 2);padding:calc(var(--lea-spacing) * 1.7) calc(var(--lea-spacing) * 2);border-radius:var(--accordion-header-radius);transition:border-color var(--lea-duration-emphasis) var(--lea-easing-standard), background-color var(--lea-duration-emphasis) var(--lea-easing-standard);border:1px solid #0000;margin:0;display:flex}@media (hover:hover){._Header_i17mg_10:has(._Trigger_i17mg_95:hover:not([data-disabled])){border-color:var(--accordion-hover-border);background-color:var(--accordion-hover-bg)}}._Header_i17mg_10:has(._Trigger_i17mg_95:active:not([data-disabled])){background-color:var(--accordion-active-bg)}._Trigger_i17mg_95{justify-content:space-between;align-items:center;gap:var(--lea-spacing);min-width:0;color:var(--lea-palette-text-base);cursor:pointer;font-family:inherit;font-size:var(--lea-font-size-md);font-weight:var(--lea-font-weight-medium);text-align:left;background-color:#0000;border:none;flex:1;margin:0;padding:0;line-height:1.5;display:flex}._Trigger_i17mg_95:focus-visible{outline:2px solid var(--lea-palette-text-base);outline-offset:.125rem}._Trigger_i17mg_95[data-disabled]{color:var(--lea-palette-text-muted);cursor:not-allowed}._Label_i17mg_135{min-width:0}._Icon_i17mg_139{transition:transform var(--lea-duration-emphasis) var(--lea-easing-standard);flex-shrink:0}._Trigger_i17mg_95[data-panel-open] ._Icon_i17mg_139{transform:rotate(180deg)}._Root_i17mg_13[data-icon-position=start] ._Trigger_i17mg_95{justify-content:flex-start}._Root_i17mg_13[data-icon-position=start] ._Icon_i17mg_139{order:-1}._Panel_i17mg_157{height:var(--accordion-panel-height);transition:height var(--lea-duration-emphasis) var(--lea-easing-standard);overflow:hidden}._Panel_i17mg_157[data-starting-style],._Panel_i17mg_157[data-ending-style]{height:0}._Content_i17mg_168{padding-inline:calc(var(--lea-spacing) * 2);padding-block:var(--lea-spacing);color:var(--lea-palette-text-base);font-size:var(--lea-font-size-md);line-height:1.5}@media (prefers-reduced-motion:reduce){._Header_i17mg_10,._Icon_i17mg_139,._Panel_i17mg_157{transition-duration:.01ms}}._BrandDivider_1pprp_1{width:100%;height:var(--lea-spacing);background:linear-gradient(to right, var(--lea-palette-status-info-base) 25%, var(--lea-palette-teal-base) 25%, var(--lea-palette-teal-base) 50%, var(--lea-palette-status-warning-base) 50%, var(--lea-palette-status-warning-base) 75%, var(--lea-palette-purple-base) 75%);flex-shrink:0;display:flex}._BrandDivider_1pprp_1[data-size=sm]{height:calc(var(--lea-spacing) * .5)}._BrandDivider_1pprp_1[data-size=md]{height:calc(var(--lea-spacing) * 1)}._BrandDivider_1pprp_1[data-size=lg]{height:calc(var(--lea-spacing) * 1.5)}._AppHeader_1s0uj_1{flex-direction:column;width:100%;display:flex}._AppHeader_1s0uj_1:not([data-brand-divider]){border-bottom:1px solid var(--lea-palette-border-base)}._AppHeaderContent_1s0uj_11{justify-content:center;align-items:center;gap:calc(var(--lea-spacing) * 2);padding-block:var(--lea-spacing);padding-inline:calc(var(--lea-spacing) * 2);display:flex}._AppHeaderContent_1s0uj_11[data-fluid]{max-width:none}._AppHeader_1s0uj_1[data-has-children] ._AppHeaderContent_1s0uj_11{justify-content:space-between}._AppHeaderLogo_1s0uj_28{flex-shrink:0;display:flex}._AppHeaderActions_1s0uj_33{align-items:center;gap:var(--lea-spacing);display:flex}
1
+ :root{--lea-spacing:.5rem;--lea-spacing-0-5:.25rem;--lea-spacing-1:.5rem;--lea-spacing-1-5:.75rem;--lea-spacing-2:1rem;--lea-spacing-2-5:1.25rem;--lea-spacing-3:1.5rem;--lea-spacing-4:2rem;--lea-spacing-5:2.5rem;--lea-spacing-6:3rem;--lea-spacing-8:4rem;--lea-palette-bg-base:#fff;--lea-palette-bg-subtle:#f7f7f6;--lea-palette-bg-muted:#f0e9e5;--lea-palette-bg-contrast:#0f1010;--lea-palette-bg-accent:#e2d8e4;--lea-palette-bg-overlay:#0f101080;--lea-palette-text-base:#0f1010;--lea-palette-text-subtle:#757575;--lea-palette-text-muted:#a2a2a2;--lea-palette-text-accent:#70427b;--lea-palette-text-contrast:#fff;--lea-palette-border-base:#dbdbdb;--lea-palette-border-subtle:#ebebeb;--lea-palette-border-strong:#0f1010;--lea-palette-border-accent:#70427b;--lea-palette-border-contrast:#fff;--lea-palette-primary-base:#70427b;--lea-palette-primary-hover:#5a3463;--lea-palette-primary-subtle:#e2d8e4;--lea-palette-primary-contrast:#fff;--lea-palette-secondary-base:#0f1010;--lea-palette-secondary-hover:#2e2e2e;--lea-palette-secondary-subtle:#ebebeb;--lea-palette-secondary-contrast:#fff;--lea-palette-tertiary-base:#08c2a7;--lea-palette-tertiary-hover:#46d1bd;--lea-palette-tertiary-subtle:#daf6f1;--lea-palette-tertiary-contrast:#fff;--lea-palette-status-error-base:#d32f2f;--lea-palette-status-error-subtle:#fcdcdc;--lea-palette-status-warning-base:#f7a800;--lea-palette-status-warning-subtle:#ffefc7;--lea-palette-status-info-base:#057ef2;--lea-palette-status-info-subtle:#cbe5fd;--lea-palette-status-success-base:#46d1bd;--lea-palette-status-success-subtle:#daf6f1;--lea-color-purple-50:#faf7fb;--lea-color-purple-100:#e2d8e4;--lea-color-purple-200:#c5b1ca;--lea-color-purple-300:#c29ac2;--lea-color-purple-400:#9e6da8;--lea-color-purple-500:#855888;--lea-color-purple-600:#70427b;--lea-color-purple-700:#5a3463;--lea-color-purple-800:#422349;--lea-color-purple-900:#2e1834;--lea-color-purple-950:#1a0e1e;--lea-color-teal-50:#f0fcfa;--lea-color-teal-100:#daf6f1;--lea-color-teal-200:#cef3ed;--lea-color-teal-300:#08c2a7;--lea-color-teal-400:#46d1bd;--lea-color-teal-500:#06a892;--lea-color-teal-600:#058f7d;--lea-color-teal-700:#047568;--lea-color-teal-800:#035c53;--lea-color-teal-900:#02433e;--lea-color-teal-950:#012a28;--lea-color-blue-50:#eff6ff;--lea-color-blue-100:#cbe5fd;--lea-color-blue-200:#93cbfc;--lea-color-blue-300:#4da8f7;--lea-color-blue-400:#057ef2;--lea-color-blue-500:#0468c9;--lea-color-blue-600:#0354a3;--lea-color-blue-700:#02417d;--lea-color-blue-800:#012e57;--lea-color-blue-900:#011b31;--lea-color-blue-950:#000e19;--lea-color-orange-50:#fff5f2;--lea-color-orange-100:#ffdfd7;--lea-color-orange-200:#ffc4b5;--lea-color-orange-300:#ff9e87;--lea-color-orange-400:#fe653e;--lea-color-orange-500:#e54e28;--lea-color-orange-600:#c43e1c;--lea-color-orange-700:#a33218;--lea-color-orange-800:#822814;--lea-color-orange-900:#611e0f;--lea-color-orange-950:#401408;--lea-color-amber-50:#fff9eb;--lea-color-amber-100:#ffefc7;--lea-color-amber-200:#ffe299;--lea-color-amber-300:#ffcf5c;--lea-color-amber-400:#f7a800;--lea-color-amber-500:#d98f00;--lea-color-amber-600:#b37400;--lea-color-amber-700:#8c5a00;--lea-color-amber-800:#6b4500;--lea-color-amber-900:#4a3000;--lea-color-amber-950:#2e1d00;--lea-color-red-50:#fef2f2;--lea-color-red-100:#fcdcdc;--lea-color-red-200:#f9bbbb;--lea-color-red-300:#f28888;--lea-color-red-400:#e85555;--lea-color-red-500:#d32f2f;--lea-color-red-600:#ad2121;--lea-color-red-700:#8a1919;--lea-color-red-800:#6f1313;--lea-color-red-900:#4d0e0e;--lea-color-red-950:#2e0808;--lea-color-beige-50:#faf7f5;--lea-color-beige-100:#f0e9e5;--lea-color-beige-200:#e0d4cd;--lea-color-beige-300:#c9b8ad;--lea-color-beige-400:#b09a8c;--lea-color-beige-500:#977c6b;--lea-color-beige-600:#7e6556;--lea-color-beige-700:#654f42;--lea-color-beige-800:#4c3a32;--lea-color-beige-900:#332722;--lea-color-beige-950:#1a1411;--lea-color-neutral-50:#f7f7f6;--lea-color-neutral-100:#ebebeb;--lea-color-neutral-200:#dbdbdb;--lea-color-neutral-300:#c4c4c4;--lea-color-neutral-400:#a2a2a2;--lea-color-neutral-500:#757575;--lea-color-neutral-600:#5e5e5e;--lea-color-neutral-700:#454545;--lea-color-neutral-800:#2e2e2e;--lea-color-neutral-900:#1a1a1a;--lea-color-neutral-950:#0f1010;--lea-color-white:#fff;--lea-color-black:#0f1010;--lea-radius-sm:4px;--lea-radius-md:5px;--lea-radius-lg:6px;--lea-radius-xl:8px;--lea-radius-2xl:10px;--lea-radius-3xl:12px;--lea-radius-4xl:16px;--lea-radius-5xl:32px;--lea-radius-huge:64px;--lea-radius-full:100px;--lea-shadow-xs:0 1px 2px 0 #0000000d;--lea-shadow-sm:0px 1px 3px 0px #0000001a, 0px 1px 2px -1px #0000001a;--lea-shadow-md:0px 4px 6px -1px #0000001a, 0px 2px 4px -2px #0000001a;--lea-shadow-lg:0px 10px 15px -3px #0000001a, 0px 4px 6px -4px #0000001a;--lea-shadow-xl:0px 20px 25px -5px #0000001a, 0px 8px 10px -6px #0000001a;--lea-shadow-2xl:0px 25px 50px -12px #00000040;--lea-shadow-inner:0px 2px 4px 0px #0000000d inset;--lea-font-family:"ClashGrotesk", "ClashGrotesk Fallback", sans-serif;--lea-font-size-xs:.75rem;--lea-font-size-sm:.875rem;--lea-font-size-md:1rem;--lea-font-size-lg:1.25rem;--lea-font-size-xl:1.5rem;--lea-font-size-2xl:2rem;--lea-font-size-3xl:2.5rem;--lea-font-size-4xl:3rem;--lea-font-size-5xl:3.5rem;--lea-font-size-6xl:4rem;--lea-font-weight-thin:200;--lea-font-weight-light:300;--lea-font-weight-regular:400;--lea-font-weight-medium:500;--lea-font-weight-semibold:600;--lea-font-weight-bold:700;--lea-font-weight-black:800;--lea-font-step-minus-2:.8125rem;--lea-font-step-minus-1:.875rem;--lea-font-step-0:1rem;--lea-font-step-1:1.125rem;--lea-font-step-2:1.25rem;--lea-font-step-3:1.4375rem;--lea-font-step-4:1.625rem;--lea-font-step-5:1.8125rem;--lea-font-step-6:2rem;--lea-font-step-7:2.25rem;--lea-font-step-8:2.5625rem;--lea-font-step-9:2.875rem;--lea-font-step-10:3.25rem;--lea-font-step-11:3.625rem;--lea-font-step-12:4.125rem;--lea-line-height-none:1;--lea-line-height-tight:1.25;--lea-line-height-snug:1.4;--lea-line-height-normal:1.5;--lea-text-display-sm-font-size:var(--lea-font-step-10);--lea-text-display-sm-font-weight:var(--lea-font-weight-semibold);--lea-text-display-sm-line-height:var(--lea-line-height-none);--lea-text-display-sm-letter-spacing:0;--lea-text-display-md-font-size:var(--lea-font-step-12);--lea-text-display-md-font-weight:var(--lea-font-weight-semibold);--lea-text-display-md-line-height:var(--lea-line-height-none);--lea-text-display-md-letter-spacing:0;--lea-text-heading-xs-font-size:var(--lea-font-step-0);--lea-text-heading-xs-font-weight:var(--lea-font-weight-semibold);--lea-text-heading-xs-line-height:var(--lea-line-height-snug);--lea-text-heading-xs-letter-spacing:0;--lea-text-heading-sm-font-size:var(--lea-font-step-2);--lea-text-heading-sm-font-weight:var(--lea-font-weight-semibold);--lea-text-heading-sm-line-height:var(--lea-line-height-snug);--lea-text-heading-sm-letter-spacing:0;--lea-text-heading-md-font-size:var(--lea-font-step-4);--lea-text-heading-md-font-weight:var(--lea-font-weight-semibold);--lea-text-heading-md-line-height:var(--lea-line-height-snug);--lea-text-heading-md-letter-spacing:0;--lea-text-heading-lg-font-size:var(--lea-font-step-6);--lea-text-heading-lg-font-weight:var(--lea-font-weight-semibold);--lea-text-heading-lg-line-height:var(--lea-line-height-tight);--lea-text-heading-lg-letter-spacing:0;--lea-text-heading-xl-font-size:var(--lea-font-step-8);--lea-text-heading-xl-font-weight:var(--lea-font-weight-semibold);--lea-text-heading-xl-line-height:var(--lea-line-height-tight);--lea-text-heading-xl-letter-spacing:0;--lea-text-body-xs-font-size:var(--lea-font-step-minus-2);--lea-text-body-xs-font-weight:var(--lea-font-weight-regular);--lea-text-body-xs-line-height:var(--lea-line-height-normal);--lea-text-body-xs-letter-spacing:0;--lea-text-body-sm-font-size:var(--lea-font-step-minus-1);--lea-text-body-sm-font-weight:var(--lea-font-weight-regular);--lea-text-body-sm-line-height:var(--lea-line-height-normal);--lea-text-body-sm-letter-spacing:0;--lea-text-body-md-font-size:var(--lea-font-step-0);--lea-text-body-md-font-weight:var(--lea-font-weight-regular);--lea-text-body-md-line-height:var(--lea-line-height-normal);--lea-text-body-md-letter-spacing:0;--lea-text-body-lg-font-size:var(--lea-font-step-1);--lea-text-body-lg-font-weight:var(--lea-font-weight-regular);--lea-text-body-lg-line-height:var(--lea-line-height-normal);--lea-text-body-lg-letter-spacing:0;--lea-text-label-sm-font-size:var(--lea-font-step-minus-2);--lea-text-label-sm-font-weight:var(--lea-font-weight-medium);--lea-text-label-sm-line-height:var(--lea-line-height-tight);--lea-text-label-sm-letter-spacing:0;--lea-text-label-md-font-size:var(--lea-font-step-minus-1);--lea-text-label-md-font-weight:var(--lea-font-weight-medium);--lea-text-label-md-line-height:var(--lea-line-height-tight);--lea-text-label-md-letter-spacing:0;--lea-text-label-lg-font-size:var(--lea-font-step-0);--lea-text-label-lg-font-weight:var(--lea-font-weight-medium);--lea-text-label-lg-line-height:var(--lea-line-height-tight);--lea-text-label-lg-letter-spacing:0;--lea-opacity-hover:.08;--lea-opacity-pressed:.12;--lea-opacity-highlight:.6;--lea-duration-fast:.15s;--lea-duration-normal:.2s;--lea-duration-emphasis:.3s;--lea-easing-standard:ease-in-out;--lea-easing-spring:cubic-bezier(.34, 1.56, .64, 1);--lea-breakpoint-xs:0px;--lea-breakpoint-sm:600px;--lea-breakpoint-md:900px;--lea-breakpoint-lg:1200px;--lea-breakpoint-xl:1536px}@font-face{font-family:ClashGrotesk;src:url(./fonts/ClashGrotesk-Variable.woff2)format("woff2");font-weight:200 700;font-style:normal;font-display:swap}@font-face{font-family:ClashGrotesk Fallback;src:local(Arial);font-weight:200 400;size-adjust:94.08%;ascent-override:94.6%;descent-override:26.57%;line-gap-override:9.57%}@font-face{font-family:ClashGrotesk Fallback;src:local(Arial);font-weight:500;size-adjust:98.67%;ascent-override:90.2%;descent-override:25.34%;line-gap-override:9.12%}@font-face{font-family:ClashGrotesk Fallback;src:local(Arial Bold),local(Arial-BoldMT);font-weight:600 700;size-adjust:95.55%;ascent-override:93.14%;descent-override:26.16%;line-gap-override:9.42%}body{font-family:var(--lea-font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@layer base{*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background-color:var(--lea-palette-bg-base);color:var(--lea-palette-text-base);font-size:var(--lea-text-body-md-font-size);line-height:var(--lea-text-body-md-line-height);margin:0}}._StatusIcon_n5xwv_1,._Check_n5xwv_2,._Pulse_n5xwv_3{--animation-base:var(--lea-palette-primary-base);--animation-contrast:var(--lea-palette-primary-contrast);--animation-shadow:#ffffff1a 0 1px 1px 0 inset, #32325d40 0 30px 60px -20px, #00000040 0 18px 36px -18px}._StatusIcon_n5xwv_1[data-color=tertiary],._Check_n5xwv_2[data-color=tertiary]{--animation-base:var(--lea-palette-tertiary-base);--animation-contrast:var(--lea-palette-tertiary-contrast)}._Badge_n5xwv_17{border-radius:var(--lea-radius-full);background-color:var(--animation-base);color:var(--animation-contrast);justify-content:center;align-items:center;display:flex}._Spinner_n5xwv_26{animation:1.4s linear infinite _animation-spin_n5xwv_1;display:inline-block}._SpinnerSvg_n5xwv_31{display:block}@keyframes _animation-spin_n5xwv_1{to{transform:rotate(360deg)}}._StatusIcon_n5xwv_1{color:var(--animation-base);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative;overflow:visible}._State_n5xwv_53{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}._Ring_n5xwv_61{box-sizing:border-box;border-style:solid;border-color:var(--lea-palette-border-base);border-radius:var(--lea-radius-full);width:100%;height:100%}._Check_n5xwv_2{justify-content:center;align-items:center;display:flex;position:relative;overflow:visible}._Halo_n5xwv_80{border-radius:var(--lea-radius-full);animation:_check-halo_n5xwv_1 2.6s var(--lea-easing-standard) infinite;background-color:var(--animation-base);opacity:.25;position:absolute}._CheckBadge_n5xwv_88{animation:_check-breathe_n5xwv_1 2.6s var(--lea-easing-standard) infinite;box-shadow:var(--animation-shadow)}@keyframes _check-halo_n5xwv_1{0%,to{opacity:.28;transform:scale(1)}50%{opacity:0;transform:scale(1.45)}}@keyframes _check-breathe_n5xwv_1{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}._Pulse_n5xwv_3{justify-content:center;align-items:center;display:flex;position:relative}._PulseRing_n5xwv_126,._PulseCentre_n5xwv_127{border-radius:var(--lea-radius-full);background-color:var(--animation-base);position:absolute}._PulseRing_n5xwv_126{animation:_pulse-ring_n5xwv_1 2s var(--lea-easing-standard) infinite;opacity:.5}._PulseCentre_n5xwv_127{box-shadow:var(--animation-shadow)}._PulseSpinner_n5xwv_143{color:var(--animation-contrast);position:relative}@keyframes _pulse-ring_n5xwv_1{0%{opacity:.6;transform:scale(.4)}to{opacity:0;transform:scale(1.6)}}._Status_n5xwv_1{position:relative}._Layer_n5xwv_166{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}._SrOnly_n5xwv_174{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){._Halo_n5xwv_80{opacity:0;animation:none}._CheckBadge_n5xwv_88,._PulseRing_n5xwv_126{animation:none}}._ActionButton_14we5_1{min-width:calc(var(--lea-spacing) * 8);box-sizing:border-box;padding-block:var(--lea-spacing-0-5);padding-inline:calc(var(--lea-spacing) * 3.5) var(--lea-spacing-0-5);border-radius:var(--lea-radius-full);background-color:var(--lea-palette-bg-base);box-shadow:0 0 0 1px var(--lea-palette-border-strong);color:var(--lea-palette-text-base);cursor:pointer;font-family:inherit;font-size:var(--lea-font-step-2);font-weight:var(--lea-font-weight-bold);line-height:var(--lea-line-height-tight);text-transform:uppercase;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border:0;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}._ActionButton_14we5_1:focus-visible{outline:2px solid var(--lea-palette-text-base);outline-offset:.125rem}._ActionButton_14we5_1:active:not([data-disabled]){box-shadow:0 0 0 2px var(--lea-palette-primary-base)}._ActionButton_14we5_1[data-disabled]{background-color:var(--lea-palette-bg-subtle);color:var(--lea-palette-text-subtle);cursor:not-allowed}._Arrow_14we5_40{width:var(--lea-spacing-6);height:var(--lea-spacing-6);border-radius:var(--lea-radius-full);background-color:var(--lea-palette-bg-contrast);color:var(--lea-palette-text-contrast);transition:transform var(--lea-duration-emphasis) var(--lea-easing-spring), background-color var(--lea-duration-normal) var(--lea-easing-standard);flex-shrink:0;margin-inline-start:var(--lea-spacing-3);display:block}@media (hover:hover){._ActionButton_14we5_1:hover:not([data-disabled]) ._Arrow_14we5_40{background-color:var(--lea-palette-primary-base);transform:rotate(-45deg)scale(1.08)}}@media (prefers-reduced-motion:reduce){._Arrow_14we5_40{transition-duration:.01ms}}._Button_1d72q_1{--button-solid:var(--lea-palette-primary-base);--button-solid-hover:var(--lea-palette-primary-hover);--button-on-solid:var(--lea-palette-primary-contrast);--button-fg:var(--lea-palette-primary-base);--button-border:var(--lea-palette-primary-base);--button-tint:color-mix(in srgb, var(--button-fg) calc(var(--lea-opacity-hover) * 100%), color-mix(in srgb, var(--lea-color-white) calc(var(--lea-opacity-highlight) * 100%), transparent));--button-height:2.75rem;--button-icon-size:1.25rem;--button-padding-inline:calc(var(--lea-spacing) * 2.5);box-sizing:border-box;min-height:var(--button-height);justify-content:center;align-items:center;gap:var(--lea-spacing);padding-block:calc(var(--lea-spacing) * .5);padding-inline:var(--button-padding-inline);border-radius:var(--lea-radius-full);color:var(--button-fg);font-family:inherit;font-size:var(--lea-text-label-lg-font-size);font-weight:var(--lea-text-label-lg-font-weight);line-height:var(--lea-text-label-lg-line-height);letter-spacing:var(--lea-text-label-lg-letter-spacing);text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:background-color var(--lea-duration-normal) var(--lea-easing-standard), border-color var(--lea-duration-normal) var(--lea-easing-standard), color var(--lea-duration-normal) var(--lea-easing-standard), opacity var(--lea-duration-normal) var(--lea-easing-standard);background-color:#0000;border:1px solid #0000;flex-shrink:0;margin:0;text-decoration:none;display:inline-flex}._Button_1d72q_1 svg{width:var(--button-icon-size);height:var(--button-icon-size);flex-shrink:0}._Button_1d72q_1:focus-visible{outline:2px solid var(--lea-palette-text-base);outline-offset:.125rem}._Button_1d72q_1[data-color=secondary]{--button-solid:var(--lea-palette-secondary-base);--button-solid-hover:var(--lea-palette-secondary-hover);--button-on-solid:var(--lea-palette-secondary-contrast);--button-fg:var(--lea-palette-secondary-base);--button-border:var(--lea-palette-secondary-base)}._Button_1d72q_1[data-color=error]{--button-solid:var(--lea-color-red-600);--button-solid-hover:var(--lea-color-red-500);--button-on-solid:var(--lea-palette-text-contrast);--button-fg:var(--lea-color-red-600);--button-border:var(--lea-color-red-600)}._Button_1d72q_1[data-variant=solid]{background-color:var(--button-solid);color:var(--button-on-solid)}._Button_1d72q_1[data-variant=outline]{border-color:var(--button-border)}@media (hover:hover){._Button_1d72q_1[data-variant=solid]:not([data-disabled]):hover{background-color:var(--button-solid-hover)}._Button_1d72q_1[data-variant=outline]:not([data-disabled]):hover,._Button_1d72q_1[data-variant=ghost]:not([data-disabled]):hover{background-color:var(--button-tint)}}._Button_1d72q_1[data-size=sm]{--button-height:2.25rem;--button-icon-size:1rem;--button-padding-inline:calc(var(--lea-spacing) * 2)}._Button_1d72q_1[data-size=lg]{--button-height:3.25rem;--button-icon-size:1.5rem;--button-padding-inline:calc(var(--lea-spacing) * 2.5)}._Button_1d72q_1[data-start-icon]{padding-inline-start:calc(var(--button-padding-inline) - var(--lea-spacing))}._Button_1d72q_1[data-end-icon]{padding-inline-end:calc(var(--button-padding-inline) - var(--lea-spacing))}._Button_1d72q_1._IconButton_1d72q_125{width:var(--button-height);height:var(--button-height);padding:0}._Button_1d72q_1[data-disabled]:not([data-loading]){color:var(--lea-color-neutral-400);cursor:not-allowed}._Button_1d72q_1[data-variant=solid][data-disabled]:not([data-loading]){background-color:var(--lea-color-neutral-200);color:var(--lea-color-neutral-600)}._Button_1d72q_1[data-variant=outline][data-disabled]:not([data-loading]){border-color:var(--lea-palette-border-base)}._Button_1d72q_1[data-loading]{cursor:progress;opacity:.7}._Spinner_1d72q_150{box-sizing:border-box;width:var(--button-icon-size);height:var(--button-icon-size);border:2px solid;border-radius:var(--lea-radius-full);border-inline-end-color:#0000;flex-shrink:0;animation:.8s linear infinite _button-spin_1d72q_1;display:inline-block}@keyframes _button-spin_1d72q_1{to{rotate:360deg}}._SrOnly_1d72q_168{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){._Button_1d72q_1{transition-duration:.01ms}._Spinner_1d72q_150{animation:none}}._SkipLink_1f71c_1{z-index:1000;position:absolute;inset-block-start:var(--lea-spacing-1);inset-inline-start:var(--lea-spacing-1)}._SkipLink_1f71c_1:not(:focus){clip-path:inset(50%);pointer-events:none}._Text_k2hu7_9{color:var(--lea-palette-text-base);font-size:var(--lea-text-body-md-font-size);font-weight:var(--lea-text-body-md-font-weight);line-height:var(--lea-text-body-md-line-height);letter-spacing:var(--lea-text-body-md-letter-spacing);margin:0}._Text_k2hu7_9[data-text-style=display-sm]{font-size:var(--lea-text-display-sm-font-size);font-weight:var(--lea-text-display-sm-font-weight);line-height:var(--lea-text-display-sm-line-height);letter-spacing:var(--lea-text-display-sm-letter-spacing)}._Text_k2hu7_9[data-text-style=display-md]{font-size:var(--lea-text-display-md-font-size);font-weight:var(--lea-text-display-md-font-weight);line-height:var(--lea-text-display-md-line-height);letter-spacing:var(--lea-text-display-md-letter-spacing)}._Text_k2hu7_9[data-text-style=heading-xs]{font-size:var(--lea-text-heading-xs-font-size);font-weight:var(--lea-text-heading-xs-font-weight);line-height:var(--lea-text-heading-xs-line-height);letter-spacing:var(--lea-text-heading-xs-letter-spacing)}._Text_k2hu7_9[data-text-style=heading-sm]{font-size:var(--lea-text-heading-sm-font-size);font-weight:var(--lea-text-heading-sm-font-weight);line-height:var(--lea-text-heading-sm-line-height);letter-spacing:var(--lea-text-heading-sm-letter-spacing)}._Text_k2hu7_9[data-text-style=heading-md]{font-size:var(--lea-text-heading-md-font-size);font-weight:var(--lea-text-heading-md-font-weight);line-height:var(--lea-text-heading-md-line-height);letter-spacing:var(--lea-text-heading-md-letter-spacing)}._Text_k2hu7_9[data-text-style=heading-lg]{font-size:var(--lea-text-heading-lg-font-size);font-weight:var(--lea-text-heading-lg-font-weight);line-height:var(--lea-text-heading-lg-line-height);letter-spacing:var(--lea-text-heading-lg-letter-spacing)}._Text_k2hu7_9[data-text-style=heading-xl]{font-size:var(--lea-text-heading-xl-font-size);font-weight:var(--lea-text-heading-xl-font-weight);line-height:var(--lea-text-heading-xl-line-height);letter-spacing:var(--lea-text-heading-xl-letter-spacing)}._Text_k2hu7_9[data-text-style=body-xs]{font-size:var(--lea-text-body-xs-font-size);font-weight:var(--lea-text-body-xs-font-weight);line-height:var(--lea-text-body-xs-line-height);letter-spacing:var(--lea-text-body-xs-letter-spacing)}._Text_k2hu7_9[data-text-style=body-sm]{font-size:var(--lea-text-body-sm-font-size);font-weight:var(--lea-text-body-sm-font-weight);line-height:var(--lea-text-body-sm-line-height);letter-spacing:var(--lea-text-body-sm-letter-spacing)}._Text_k2hu7_9[data-text-style=body-md]{font-size:var(--lea-text-body-md-font-size);font-weight:var(--lea-text-body-md-font-weight);line-height:var(--lea-text-body-md-line-height);letter-spacing:var(--lea-text-body-md-letter-spacing)}._Text_k2hu7_9[data-text-style=body-lg]{font-size:var(--lea-text-body-lg-font-size);font-weight:var(--lea-text-body-lg-font-weight);line-height:var(--lea-text-body-lg-line-height);letter-spacing:var(--lea-text-body-lg-letter-spacing)}._Text_k2hu7_9[data-text-style=label-sm]{font-size:var(--lea-text-label-sm-font-size);font-weight:var(--lea-text-label-sm-font-weight);line-height:var(--lea-text-label-sm-line-height);letter-spacing:var(--lea-text-label-sm-letter-spacing)}._Text_k2hu7_9[data-text-style=label-md]{font-size:var(--lea-text-label-md-font-size);font-weight:var(--lea-text-label-md-font-weight);line-height:var(--lea-text-label-md-line-height);letter-spacing:var(--lea-text-label-md-letter-spacing)}._Text_k2hu7_9[data-text-style=label-lg]{font-size:var(--lea-text-label-lg-font-size);font-weight:var(--lea-text-label-lg-font-weight);line-height:var(--lea-text-label-lg-line-height);letter-spacing:var(--lea-text-label-lg-letter-spacing)}._Text_k2hu7_9[data-font-weight=thin]{font-weight:var(--lea-font-weight-thin)}._Text_k2hu7_9[data-font-weight=light]{font-weight:var(--lea-font-weight-light)}._Text_k2hu7_9[data-font-weight=regular]{font-weight:var(--lea-font-weight-regular)}._Text_k2hu7_9[data-font-weight=medium]{font-weight:var(--lea-font-weight-medium)}._Text_k2hu7_9[data-font-weight=semibold]{font-weight:var(--lea-font-weight-semibold)}._Text_k2hu7_9[data-font-weight=bold]{font-weight:var(--lea-font-weight-bold)}._Text_k2hu7_9[data-font-weight=black]{font-weight:var(--lea-font-weight-black)}._Text_k2hu7_9[data-color=inherit]{color:inherit}._Text_k2hu7_9[data-align=start]{text-align:start}._Text_k2hu7_9[data-align=center]{text-align:center}._Text_k2hu7_9[data-align=end]{text-align:end}._DataField_14g0w_1{box-sizing:border-box;justify-content:space-between;align-items:center;gap:var(--lea-spacing-2);width:100%;padding-block:calc(var(--lea-spacing) * 1.75);padding-inline:var(--lea-spacing-1);display:flex}._DataField_14g0w_1[data-divider]{border-block-end:1px solid var(--lea-palette-border-base)}._Label_14g0w_16{flex:1;min-width:0}._Value_14g0w_21{text-align:end;min-width:0}._Card_24w71_1{box-sizing:border-box;border:1px solid var(--lea-palette-border-base);border-radius:var(--lea-radius-4xl);background-color:var(--lea-palette-bg-base);color:var(--lea-palette-text-base);overflow:hidden}._Content_24w71_10{box-sizing:border-box;padding:var(--lea-spacing-2)}._Chip_7cco8_1{--chip-tint:var(--lea-palette-primary-subtle);--chip-shade:var(--lea-color-purple-800);--chip-line:var(--lea-color-purple-600);--chip-ink:var(--lea-color-purple-600);--chip-outlined-disc:var(--chip-ink);--chip-outlined-cross:var(--chip-tint);--chip-edge:calc(var(--lea-spacing) * .75);--chip-gap:calc(var(--lea-spacing) * .75);--chip-label-edge:calc(var(--lea-spacing) * 1.75);--chip-padding-block:calc(var(--lea-spacing) * .25);--chip-delete-size:1.25rem;box-sizing:border-box;max-width:100%;padding-block:var(--chip-padding-block);border-radius:var(--lea-radius-full);background-color:var(--chip-tint);color:var(--chip-shade);font-size:var(--lea-text-label-md-font-size);font-weight:var(--lea-text-label-md-font-weight);align-items:center;gap:var(--chip-gap);letter-spacing:var(--lea-text-label-md-letter-spacing);line-height:var(--lea-line-height-normal);vertical-align:middle;white-space:nowrap;border:1px solid #0000;display:inline-flex}._Chip_7cco8_1[data-size=sm]{--chip-edge:var(--lea-spacing-0-5);--chip-gap:var(--lea-spacing-0-5);--chip-label-edge:var(--lea-spacing-1);--chip-padding-block:0px;--chip-delete-size:1.125rem}._Chip_7cco8_1[data-color=tertiary]{--chip-tint:var(--lea-palette-tertiary-subtle);--chip-shade:var(--lea-color-teal-800);--chip-line:var(--lea-color-teal-700);--chip-ink:var(--lea-color-teal-700)}._Chip_7cco8_1[data-color=neutral]{--chip-tint:var(--lea-color-neutral-100);--chip-shade:var(--lea-color-neutral-800);--chip-line:var(--lea-color-neutral-400);--chip-ink:var(--lea-color-neutral-700)}._Chip_7cco8_1[data-color=success]{--chip-tint:var(--lea-palette-status-success-subtle);--chip-shade:var(--lea-color-teal-800);--chip-line:var(--lea-color-teal-700);--chip-ink:var(--lea-color-teal-700)}._Chip_7cco8_1[data-color=info]{--chip-tint:var(--lea-palette-status-info-subtle);--chip-shade:var(--lea-color-blue-800);--chip-line:var(--lea-color-blue-600);--chip-ink:var(--lea-color-blue-600);--chip-outlined-disc:var(--lea-color-white);--chip-outlined-cross:var(--lea-color-blue-600)}._Chip_7cco8_1[data-color=warning]{--chip-tint:var(--lea-palette-status-warning-subtle);--chip-shade:var(--lea-color-amber-800);--chip-line:var(--lea-color-amber-700);--chip-ink:var(--lea-color-amber-700)}._Chip_7cco8_1[data-color=error]{--chip-tint:var(--lea-palette-status-error-subtle);--chip-shade:var(--lea-color-red-800);--chip-line:var(--lea-color-red-600);--chip-ink:var(--lea-color-red-600)}._Chip_7cco8_1[data-variant=outlined]{border-color:var(--chip-line);color:var(--chip-ink);background-color:#0000}._Chip_7cco8_1[data-disabled]{opacity:.38}._Chip_7cco8_1:focus-visible{outline:2px solid var(--lea-palette-text-base);outline-offset:.125rem}._Label_7cco8_100{min-width:0;padding-inline:var(--chip-label-edge);text-overflow:ellipsis;overflow:hidden}._Icon_7cco8_107+._Label_7cco8_100{padding-inline-start:0}._Label_7cco8_100:has(+._Delete_7cco8_111){padding-inline-end:0}._Icon_7cco8_107{flex-shrink:0;margin-inline-start:var(--chip-edge);display:inline-flex}._Icon_7cco8_107 svg{display:block}._Delete_7cco8_111{width:var(--chip-delete-size);height:var(--chip-delete-size);border-radius:var(--lea-radius-full);color:var(--chip-shade);cursor:pointer;transition:opacity var(--lea-duration-normal) var(--lea-easing-standard);background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;margin-inline-end:var(--chip-edge);padding:0;display:inline-flex}._Delete_7cco8_111 svg{width:100%;height:100%;fill:var(--chip-tint);display:block;scale:1.09091}._Chip_7cco8_1[data-variant=outlined] ._Delete_7cco8_111{color:var(--chip-outlined-cross)}._Chip_7cco8_1[data-variant=outlined] ._Delete_7cco8_111 svg{fill:var(--chip-outlined-disc)}._Delete_7cco8_111:disabled{cursor:not-allowed}._Delete_7cco8_111:focus-visible{outline:2px solid var(--lea-palette-text-base);outline-offset:.125rem}@media (hover:hover){._Delete_7cco8_111:hover:not(:disabled){opacity:.85}}@media (prefers-reduced-motion:reduce){._Delete_7cco8_111{transition-duration:.01ms}}._Positioner_a46fy_1{z-index:1500}._Popup_a46fy_5{--tooltip-bg:var(--lea-palette-bg-base);--tooltip-fg:var(--lea-palette-text-base);box-sizing:border-box;max-width:18.75rem;padding:var(--lea-spacing-1);border-radius:var(--lea-radius-sm);background-color:var(--tooltip-bg);box-shadow:var(--lea-shadow-md);color:var(--tooltip-fg);font-size:var(--lea-text-body-sm-font-size);font-weight:var(--lea-text-body-sm-font-weight);letter-spacing:var(--lea-text-body-sm-letter-spacing);line-height:var(--lea-text-body-sm-line-height);overflow-wrap:break-word;transform-origin:var(--transform-origin);transition:opacity var(--lea-duration-fast) var(--lea-easing-standard), scale var(--lea-duration-fast) var(--lea-easing-standard);outline:none}._Popup_a46fy_5[data-surface=dark]{--tooltip-bg:var(--lea-palette-bg-contrast);--tooltip-fg:var(--lea-palette-text-contrast)}._Popup_a46fy_5[data-starting-style],._Popup_a46fy_5[data-ending-style]{opacity:0;scale:.95}._Arrow_a46fy_39{background-color:var(--tooltip-bg);width:.625rem;height:.625rem;rotate:45deg}._Arrow_a46fy_39[data-side=top]{bottom:-.3125rem}._Arrow_a46fy_39[data-side=bottom]{top:-.3125rem}._Arrow_a46fy_39[data-side=left]{right:-.3125rem}._Arrow_a46fy_39[data-side=right]{left:-.3125rem}._TriggerBox_a46fy_64{display:inline-flex}._Trigger_a46fy_64{width:calc(var(--lea-spacing) * 5.5);height:calc(var(--lea-spacing) * 5.5);box-sizing:border-box;border-radius:var(--lea-radius-full);margin:calc(var(--lea-spacing) * -1.75);color:var(--lea-palette-primary-base);cursor:pointer;transition:color var(--lea-duration-fast) var(--lea-easing-standard);background-color:#0000;border:0;flex-shrink:0;justify-content:center;align-items:center;padding:0;line-height:0;display:inline-flex}._Trigger_a46fy_64[data-variant=filled]{color:var(--lea-palette-primary-contrast)}._Trigger_a46fy_64[data-variant=outlined]{color:var(--lea-palette-text-base)}._Trigger_a46fy_64:focus-visible{outline:2px solid var(--lea-palette-text-base);outline-offset:.125rem}@media (hover:hover){._Trigger_a46fy_64:hover{color:var(--lea-palette-primary-hover)}._Trigger_a46fy_64[data-variant=filled]:hover{color:var(--lea-palette-primary-contrast)}._Trigger_a46fy_64[data-variant=outlined]:hover{color:var(--lea-palette-primary-base)}._Trigger_a46fy_64[data-variant=filled]:hover ._Mark_a46fy_118{background-color:var(--lea-palette-primary-hover)}}._Mark_a46fy_118{width:var(--lea-spacing-2);height:var(--lea-spacing-2);box-sizing:border-box;border:1px solid var(--lea-palette-primary-base);border-radius:var(--lea-radius-full);color:var(--lea-palette-primary-base);transition:background-color var(--lea-duration-fast) var(--lea-easing-standard);flex-shrink:0;display:inline-flex;position:relative}._Mark_a46fy_118:before,._Mark_a46fy_118:after{width:calc(var(--lea-spacing) * .25);border-radius:var(--lea-radius-full);content:"";background-color:currentColor;position:absolute;inset:50% auto auto 50%}._Mark_a46fy_118:before{height:calc(var(--lea-spacing) * .625);translate:-50% -8%}._Mark_a46fy_118:after{height:calc(var(--lea-spacing) * .25);translate:-50% -190%}._Trigger_a46fy_64[data-variant=filled] ._Mark_a46fy_118{background-color:var(--lea-palette-primary-base);color:var(--lea-palette-primary-contrast);border-color:#0000}._Trigger_a46fy_64[data-variant=outlined] ._Mark_a46fy_118{width:calc(var(--lea-spacing) * 2.25);height:calc(var(--lea-spacing) * 2.25);border-color:var(--lea-palette-border-strong);background-color:var(--lea-palette-bg-base);color:var(--lea-palette-text-base)}@media (prefers-reduced-motion:reduce){._Popup_a46fy_5,._Trigger_a46fy_64,._Mark_a46fy_118{transition-duration:.01ms}}._Alert_q79pt_9{--alert-base:var(--lea-palette-status-success-base);--alert-subtle:var(--lea-palette-status-success-subtle);--alert-on-base:var(--lea-palette-text-contrast);--alert-line:calc(var(--lea-text-body-md-font-size) * var(--lea-text-body-md-line-height));--alert-message-padding:calc(var(--lea-spacing) * .7);box-sizing:border-box;padding:var(--lea-spacing) calc(var(--lea-spacing) * 2);border-radius:var(--lea-radius-xl);color:var(--lea-palette-text-base);font-size:var(--lea-text-body-md-font-size);font-weight:var(--lea-text-body-md-font-weight);line-height:var(--lea-text-body-md-line-height);letter-spacing:var(--lea-text-body-md-letter-spacing)}._Layout_q79pt_31{align-items:flex-start;gap:calc(var(--lea-spacing) * 1.5);display:flex}._Icon_q79pt_37{box-sizing:content-box;height:var(--alert-line);padding-block:var(--alert-message-padding);color:var(--alert-base);font-size:var(--lea-font-step-2);flex-shrink:0;align-items:center;display:flex}._Message_q79pt_49{min-width:0;padding-block:var(--alert-message-padding);overflow-wrap:anywhere;flex-direction:column;flex:1;display:flex}._Title_q79pt_58{font-weight:var(--lea-font-weight-medium)}._Action_q79pt_62{flex-shrink:0;align-items:center;margin-inline-start:auto;display:flex}._Alert_q79pt_9[data-color=info]{--alert-base:var(--lea-palette-status-info-base);--alert-subtle:var(--lea-palette-status-info-subtle)}._Alert_q79pt_9[data-color=warning]{--alert-base:var(--lea-palette-status-warning-base);--alert-subtle:var(--lea-palette-status-warning-subtle);--alert-on-base:var(--lea-palette-text-base)}._Alert_q79pt_9[data-color=error]{--alert-base:var(--lea-palette-status-error-base);--alert-subtle:var(--lea-palette-status-error-subtle)}._Alert_q79pt_9[data-color=primary]{--alert-base:var(--lea-palette-primary-base);--alert-subtle:var(--lea-palette-primary-subtle)}._Alert_q79pt_9[data-color=neutral]{--alert-base:var(--lea-color-neutral-700);--alert-subtle:var(--lea-color-neutral-100)}._Alert_q79pt_9[data-variant=standard]{background-color:var(--alert-subtle)}._Alert_q79pt_9[data-variant=filled]{background-color:var(--alert-base);color:var(--alert-on-base)}._Alert_q79pt_9[data-variant=filled] ._Icon_q79pt_37,._Alert_q79pt_9[data-variant=filled] ._Close_q79pt_110{color:var(--alert-on-base)}._Alert_q79pt_9[data-variant=outlined]{border:1px solid var(--alert-base);background-color:#0000}._Alert_q79pt_9[data-size=sm]{--alert-line:calc(var(--lea-text-body-sm-font-size) * var(--lea-text-body-sm-line-height));padding:calc(var(--lea-spacing) * .5) calc(var(--lea-spacing) * 1.5);font-size:var(--lea-text-body-sm-font-size);font-weight:var(--lea-text-body-sm-font-weight);line-height:var(--lea-text-body-sm-line-height);letter-spacing:var(--lea-text-body-sm-letter-spacing)}._Alert_q79pt_9[data-size=sm] ._Layout_q79pt_31,._Alert_q79pt_9[data-size=sm]._Layout_q79pt_31{gap:var(--lea-spacing)}._Alert_q79pt_9[data-size=sm] ._Action_q79pt_62{margin-block:calc(var(--lea-spacing) * -.25)}._Alert_q79pt_9[data-global]{border-radius:0;width:100%;padding-inline:0}._Alert_q79pt_9[data-global][data-variant=outlined]{border-inline:0}._Layout_q79pt_31[data-fluid]{max-width:none}._Backdrop_1mady_8{z-index:1300;background-color:var(--lea-palette-bg-overlay);opacity:1;transition:opacity var(--lea-duration-normal) var(--lea-easing-standard);position:fixed;inset:0}._Backdrop_1mady_8[data-starting-style],._Backdrop_1mady_8[data-ending-style]{opacity:0}._Viewport_1mady_22{z-index:1300;padding:calc(var(--lea-spacing) * 2);pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}._Popup_1mady_38{border-radius:var(--lea-radius-4xl);background-color:var(--lea-palette-bg-base);width:100%;max-height:100%;box-shadow:var(--lea-shadow-xl);color:var(--lea-palette-text-base);opacity:1;pointer-events:auto;transition:opacity var(--lea-duration-normal) var(--lea-easing-standard), transform var(--lea-duration-normal) var(--lea-easing-standard);flex-direction:column;display:flex;overflow:hidden;transform:scale(1)}._Popup_1mady_38[data-starting-style],._Popup_1mady_38[data-ending-style]{opacity:0;transform:scale(.95)}._Popup_1mady_38[data-size=xs]{max-width:27.75rem}._Popup_1mady_38[data-size=sm]{max-width:37.5rem}._Popup_1mady_38[data-size=md]{max-width:56.25rem}._Popup_1mady_38[data-size=lg]{max-width:75rem}._Header_1mady_78{justify-content:space-between;align-items:flex-start;gap:var(--lea-spacing);padding:calc(var(--lea-spacing) * 3) calc(var(--lea-spacing) * 3) calc(var(--lea-spacing) * 2);flex-shrink:0;display:flex}._Title_1mady_88{color:var(--lea-palette-text-base);font-size:var(--lea-text-heading-sm-font-size);font-weight:var(--lea-text-heading-sm-font-weight);line-height:var(--lea-text-heading-sm-line-height);letter-spacing:var(--lea-text-heading-sm-letter-spacing);margin:0}._Description_1mady_97{margin:0 0 calc(var(--lea-spacing) * 2);color:var(--lea-palette-text-subtle)}._Description_1mady_97[data-last]{margin-bottom:0}._Content_1mady_111{padding:0 calc(var(--lea-spacing) * 3) calc(var(--lea-spacing) * 3);color:var(--lea-palette-text-base);flex:1;overflow-y:auto}._Content_1mady_111:has(+._Footer_1mady_119){padding-bottom:0}._Footer_1mady_119{justify-content:flex-end;align-items:center;gap:var(--lea-spacing);padding:calc(var(--lea-spacing) * 2) calc(var(--lea-spacing) * 3) calc(var(--lea-spacing) * 2);background-color:var(--lea-palette-bg-base);flex-wrap:wrap;flex-shrink:0;display:flex}._CloseButton_1mady_135{border:2px solid var(--lea-palette-border-base);border-radius:var(--lea-radius-full);width:2.5rem;height:2.5rem;color:var(--lea-palette-text-base);cursor:pointer;transition:border-color var(--lea-duration-emphasis) var(--lea-easing-spring), background-color var(--lea-duration-emphasis) var(--lea-easing-spring), color var(--lea-duration-emphasis) var(--lea-easing-spring);background-color:#0000;flex-shrink:0;justify-content:center;align-items:center;margin-inline-end:calc(var(--lea-spacing) * -.5);padding:0;display:inline-flex}@media (hover:hover){._CloseButton_1mady_135:hover{border-color:var(--lea-palette-primary-base);background-color:var(--lea-palette-primary-base);color:var(--lea-palette-primary-contrast)}}._CloseButton_1mady_135:focus-visible{outline:2px solid var(--lea-palette-text-base);outline-offset:.125rem}@media (width<=599.95px){._Viewport_1mady_22:has(._Popup_1mady_38[data-full-screen-on-mobile]){padding:0}._Popup_1mady_38[data-full-screen-on-mobile]{border-radius:0;width:100vw;max-width:none;height:100dvh;max-height:none}._Popup_1mady_38[data-full-screen-on-mobile] ._Content_1mady_111{padding-bottom:calc(var(--lea-spacing) * 3 + env(safe-area-inset-bottom))}._Popup_1mady_38[data-full-screen-on-mobile] ._Content_1mady_111:has(+._Footer_1mady_119){padding-bottom:0}._Popup_1mady_38[data-full-screen-on-mobile] ._Footer_1mady_119{padding-bottom:calc(var(--lea-spacing) * 3 + env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){._Backdrop_1mady_8,._Popup_1mady_38,._CloseButton_1mady_135{transition-duration:.01ms}}._Backdrop_rjjxr_12{z-index:1300;background-color:var(--lea-palette-bg-overlay);opacity:calc(1 - var(--drawer-swipe-progress,0));transition:opacity var(--lea-duration-normal) var(--lea-easing-standard);position:fixed;inset:0}._Backdrop_rjjxr_12[data-starting-style],._Backdrop_rjjxr_12[data-ending-style]{opacity:0}._Viewport_rjjxr_27{z-index:1300;pointer-events:none;position:fixed;inset:0}._Popup_rjjxr_35{background-color:var(--lea-palette-bg-base);box-shadow:var(--lea-shadow-xl);color:var(--lea-palette-text-base);pointer-events:auto;transition:transform var(--lea-duration-normal) var(--lea-easing-standard);flex-direction:column;display:flex;position:absolute}._Popup_rjjxr_35[data-swipe-direction=left],._Popup_rjjxr_35[data-swipe-direction=right]{width:min(var(--drawer-size,22.5rem), 100vw);height:100%;transform:translateX(var(--drawer-swipe-movement-x,0px));top:0}._Popup_rjjxr_35[data-swipe-direction=left]{left:0}._Popup_rjjxr_35[data-swipe-direction=right]{right:0}._Popup_rjjxr_35[data-swipe-direction=up],._Popup_rjjxr_35[data-swipe-direction=down]{width:100%;max-height:var(--drawer-size,90dvh);transform:translateY(calc(var(--drawer-snap-point-offset,0px) + var(--drawer-swipe-movement-y,0px)));left:0}._Popup_rjjxr_35[data-swipe-direction=up]{border-radius:0 0 var(--drawer-radius,var(--lea-radius-4xl)) var(--drawer-radius,var(--lea-radius-4xl));top:0}._Popup_rjjxr_35[data-swipe-direction=down]{border-radius:var(--drawer-radius,var(--lea-radius-4xl)) var(--drawer-radius,var(--lea-radius-4xl)) 0 0;padding-bottom:env(safe-area-inset-bottom);bottom:0}._Popup_rjjxr_35[data-starting-style][data-swipe-direction=left],._Popup_rjjxr_35[data-ending-style][data-swipe-direction=left]{transform:translate(-100%)}._Popup_rjjxr_35[data-starting-style][data-swipe-direction=right],._Popup_rjjxr_35[data-ending-style][data-swipe-direction=right]{transform:translate(100%)}._Popup_rjjxr_35[data-starting-style][data-swipe-direction=up],._Popup_rjjxr_35[data-ending-style][data-swipe-direction=up]{transform:translateY(-100%)}._Popup_rjjxr_35[data-starting-style][data-swipe-direction=down],._Popup_rjjxr_35[data-ending-style][data-swipe-direction=down]{transform:translateY(100%)}._Popup_rjjxr_35[data-ending-style],._Backdrop_rjjxr_12[data-ending-style]{transition-duration:calc(var(--drawer-swipe-strength,1) * var(--lea-duration-normal))}._Popup_rjjxr_35[data-swiping],._Backdrop_rjjxr_12[data-swiping]{transition-duration:0s}._Handle_rjjxr_120{width:calc(var(--lea-spacing) * 5);height:calc(var(--lea-spacing) * .5);border-radius:var(--lea-radius-sm);margin:calc(var(--lea-spacing) * 1.5) auto calc(var(--lea-spacing) * .5);background-color:var(--lea-palette-border-base);flex-shrink:0}._Popup_rjjxr_35[data-swipe-direction=up] ._Handle_rjjxr_120{margin:calc(var(--lea-spacing) * .5) auto calc(var(--lea-spacing) * 1.5)}._Header_rjjxr_134{justify-content:space-between;align-items:flex-start;gap:var(--lea-spacing);padding:calc(var(--lea-spacing) * 3) calc(var(--lea-spacing) * 3) calc(var(--lea-spacing) * 2);flex-shrink:0;display:flex}._Title_rjjxr_144{color:var(--lea-palette-text-base);font-size:var(--lea-text-heading-sm-font-size);font-weight:var(--lea-text-heading-sm-font-weight);line-height:var(--lea-text-heading-sm-line-height);letter-spacing:var(--lea-text-heading-sm-letter-spacing);margin:0}._Description_rjjxr_153{margin:0 0 calc(var(--lea-spacing) * 2);color:var(--lea-palette-text-subtle)}._Description_rjjxr_153[data-last]{margin-bottom:0}._Content_rjjxr_167{padding:0 calc(var(--lea-spacing) * 3) calc(var(--lea-spacing) * 3);color:var(--lea-palette-text-base);flex:1;overflow-y:auto}._CloseButton_rjjxr_174{border:2px solid var(--lea-palette-border-base);border-radius:var(--lea-radius-full);width:2.5rem;height:2.5rem;color:var(--lea-palette-text-base);cursor:pointer;transition:border-color var(--lea-duration-emphasis) var(--lea-easing-spring), background-color var(--lea-duration-emphasis) var(--lea-easing-spring), color var(--lea-duration-emphasis) var(--lea-easing-spring);background-color:#0000;flex-shrink:0;justify-content:center;align-items:center;margin-inline-end:calc(var(--lea-spacing) * -.5);padding:0;display:inline-flex}@media (hover:hover){._CloseButton_rjjxr_174:hover{border-color:var(--lea-palette-primary-base);background-color:var(--lea-palette-primary-base);color:var(--lea-palette-primary-contrast)}}._CloseButton_rjjxr_174:focus-visible{outline:2px solid var(--lea-palette-text-base);outline-offset:.125rem}@media (prefers-reduced-motion:reduce){._Backdrop_rjjxr_12,._Popup_rjjxr_35,._CloseButton_rjjxr_174{transition-duration:.01ms}}._Container_15dwv_1{box-sizing:border-box;width:100%;max-width:var(--lea-breakpoint-lg);padding-inline:calc(var(--lea-spacing) * 2);margin-inline:auto}._Container_15dwv_1[data-size=sm]{max-width:var(--lea-breakpoint-sm)}._Container_15dwv_1[data-size=md]{max-width:var(--lea-breakpoint-md)}._Container_15dwv_1[data-size=xl]{max-width:var(--lea-breakpoint-xl)}@media (width>=600px){._Container_15dwv_1{padding-inline:calc(var(--lea-spacing) * 3)}}@media (width>=900px){._Container_15dwv_1{padding-inline:calc(var(--lea-spacing) * 4)}}._AmountSlider_1s8od_10{width:100%;color:var(--lea-palette-text-base);font-size:var(--lea-text-body-md-font-size);font-weight:var(--lea-text-body-md-font-weight);line-height:var(--lea-text-body-md-line-height);letter-spacing:var(--lea-text-body-md-letter-spacing);flex-direction:column;display:flex}._Label_1s8od_21{font-size:var(--lea-text-heading-md-font-size);font-weight:var(--lea-text-heading-md-font-weight);line-height:var(--lea-text-heading-md-line-height);letter-spacing:var(--lea-text-heading-md-letter-spacing);text-align:center;margin-block-end:calc(var(--lea-spacing) * 1.5)}._Input_1s8od_31{width:100%;height:calc(var(--lea-spacing) * 7);box-sizing:border-box;padding-block:0;padding-inline:calc(var(--lea-spacing) * 2);border-radius:var(--lea-radius-xl);background-color:var(--lea-palette-bg-base);color:var(--lea-palette-primary-base);font-family:inherit;font-size:var(--lea-font-step-8);font-variant-numeric:tabular-nums;font-weight:var(--lea-font-weight-medium);text-align:center;border:1px solid #0000;margin:0}@media (hover:hover){._Input_1s8od_31:hover:not(:focus,[data-disabled],[data-invalid]){outline:2px solid var(--lea-palette-border-strong);outline-offset:-2px}}._Input_1s8od_31:focus{outline:2px solid var(--lea-palette-border-accent);outline-offset:-2px}._Input_1s8od_31:active{outline:2px solid var(--lea-palette-border-accent);outline-offset:-2px;background-color:var(--lea-color-purple-50)}._Input_1s8od_31[data-invalid]{outline:2px solid var(--lea-palette-status-error-base);outline-offset:-2px}._Input_1s8od_31[data-disabled]{cursor:not-allowed;opacity:.5}._Slider_1s8od_83{flex-direction:column;margin-block-start:var(--lea-spacing);display:flex}._Control_qg3r1_7{--slider-thumb-size:calc(var(--lea-spacing) * 3);--slider-track-size:calc(var(--lea-spacing) * .75);--slider-inset:calc(var(--slider-thumb-size) / 2);--slider-thumb-hover:color-mix(in srgb, var(--lea-palette-primary-base) calc(var(--lea-opacity-hover) * 100%), var(--lea-palette-bg-base));--slider-thumb-pressed:color-mix(in srgb, var(--lea-palette-primary-base) calc(var(--lea-opacity-pressed) * 100%), var(--lea-palette-bg-base));height:calc(var(--lea-spacing) * 5.5);margin-inline:var(--slider-inset);cursor:pointer;touch-action:none;align-items:center;display:flex;position:relative}._Control_qg3r1_7:before{content:"";inset-block:0;inset-inline:calc(var(--slider-inset) * -1);position:absolute}._Control_qg3r1_7[data-disabled]{cursor:not-allowed;opacity:.5}._Track_qg3r1_51{width:100%;height:var(--slider-track-size);position:relative}._Track_qg3r1_51:before{border-radius:var(--lea-radius-full);background-color:var(--lea-color-purple-200);content:"";inset-block:0;inset-inline:calc(var(--slider-inset) * -1);position:absolute}._Indicator_qg3r1_71{background-color:var(--lea-palette-primary-base)}._Indicator_qg3r1_71:before{width:var(--slider-inset);background-color:inherit;content:"";border-start-start-radius:var(--lea-radius-full);border-end-start-radius:var(--lea-radius-full);position:absolute;inset-block:0;inset-inline-end:100%}._Thumb_qg3r1_87{width:var(--slider-thumb-size);height:var(--slider-thumb-size);box-sizing:border-box;border:2px solid var(--lea-palette-primary-base);border-radius:var(--lea-radius-full);background-color:var(--lea-palette-bg-base);transition:background-color var(--lea-duration-normal) var(--lea-easing-standard)}@media (hover:hover){._Thumb_qg3r1_87:not([data-disabled]):hover{background-color:var(--slider-thumb-hover)}}._Thumb_qg3r1_87[data-dragging]:not([data-disabled]){background-color:var(--slider-thumb-pressed)}._Thumb_qg3r1_87:has(:focus-visible){outline:2px solid var(--lea-palette-text-base);outline-offset:.125rem}._Range_qg3r1_119{justify-content:space-between;gap:calc(var(--lea-spacing) * 2);color:var(--lea-color-neutral-600);font-size:var(--lea-text-body-sm-font-size);font-weight:var(--lea-text-body-sm-font-weight);line-height:var(--lea-text-body-sm-line-height);letter-spacing:var(--lea-text-body-sm-letter-spacing);font-variant-numeric:tabular-nums;display:flex}._HelperText_qg3r1_131{color:var(--lea-color-neutral-600);font-size:var(--lea-text-body-sm-font-size);font-weight:var(--lea-text-body-sm-font-weight);line-height:var(--lea-text-body-sm-line-height);letter-spacing:var(--lea-text-body-sm-letter-spacing);margin:0;margin-block-start:var(--lea-spacing)}._HelperText_qg3r1_131[data-invalid]{color:var(--lea-palette-status-error-base)}@media (prefers-reduced-motion:reduce){._Thumb_qg3r1_87{transition-duration:.01ms}}._Field_ghj8z_13 ._Box_ghj8z_16{background-color:var(--lea-palette-bg-base)}._Box_ghj8z_16[data-popup-side=bottom]{border-end-end-radius:0;border-end-start-radius:0}._Box_ghj8z_16[data-popup-side=top]{border-start-start-radius:0;border-start-end-radius:0}._Field_ghj8z_13 ._Inner_ghj8z_33:not(:last-child) ._Control_ghj8z_33{padding-inline-end:var(--lea-spacing-0-5)}._Field_ghj8z_13 ._Box_ghj8z_16[data-filled] ._Label_ghj8z_38{max-width:calc((100% - var(--input-inset-start) - var(--input-padding-inline)) / .75);scale:.75;translate:0 calc(var(--lea-spacing) * .75)}._Buttons_ghj8z_46{flex-shrink:0;align-self:center;align-items:center;margin-inline-end:calc(var(--lea-spacing) * 1.25);display:flex}._Button_ghj8z_46{border-radius:var(--lea-radius-full);width:1.75rem;height:1.75rem;color:var(--lea-palette-text-base);cursor:pointer;font:inherit;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}._Button_ghj8z_46:disabled,._Button_ghj8z_46[data-disabled]{color:var(--lea-palette-text-muted);cursor:not-allowed}._Button_ghj8z_46:focus-visible{outline:2px solid var(--lea-palette-text-base);outline-offset:.125rem}._Trigger_ghj8z_82 svg{width:1.25rem;height:1.25rem;transition:rotate var(--lea-duration-normal) var(--lea-easing-standard)}._Trigger_ghj8z_82[data-popup-open] svg{rotate:180deg}._Clear_ghj8z_92 svg{width:1.125rem;height:1.125rem}@media (pointer:fine){._Box_ghj8z_16:not(:hover,:focus-within) ._Clear_ghj8z_92{visibility:hidden}}._Box_ghj8z_16[data-disabled] ._Clear_ghj8z_92{display:none}._Chips_ghj8z_113{min-width:0;padding-inline:var(--input-inset-start) var(--lea-spacing-0-5);padding-block:var(--input-padding-top) calc(var(--lea-spacing) * .75);align-items:center;gap:var(--lea-spacing-0-5);flex-wrap:wrap;flex:1;display:flex}._ChipInput_ghj8z_124{min-width:4rem;color:inherit;font:inherit;letter-spacing:inherit;background:0 0;border:0;outline:none;flex:1;margin:0;padding:0;padding-inline-start:var(--lea-spacing-0-5)}._ChipInput_ghj8z_124:disabled{cursor:not-allowed;opacity:1;-webkit-text-fill-color:currentcolor}._ChipInput_ghj8z_124::placeholder{color:var(--lea-palette-text-muted);opacity:1}._Box_ghj8z_16[data-has-label]:not(:focus-within,[data-filled]) ._ChipInput_ghj8z_124::placeholder{color:#0000}._Popup_ghj8z_161[data-ending-style]{transition:none}@media (prefers-reduced-motion:reduce){._Trigger_ghj8z_82 svg{transition-duration:.01ms}}._GroupLabel_fiexw_11{width:fit-content;color:var(--lea-palette-text-base);font-size:var(--lea-text-label-lg-font-size);font-weight:var(--lea-text-label-lg-font-weight);align-items:center;gap:var(--lea-spacing-1);letter-spacing:var(--lea-text-label-lg-letter-spacing);line-height:var(--lea-text-label-lg-line-height);margin:0;padding-block-end:var(--lea-spacing-1-5);display:inline-flex}._GroupLabel_fiexw_11[data-invalid]{color:var(--lea-palette-status-error-base)}._GroupLabel_fiexw_11[data-disabled]{color:var(--lea-palette-text-muted)}._HelperText_fiexw_33{margin-inline:calc(var(--lea-spacing) * 1.75);margin-block:var(--lea-spacing-0-5) 0;color:var(--lea-color-neutral-600);font-size:var(--lea-text-body-sm-font-size);font-weight:var(--lea-text-body-sm-font-weight);letter-spacing:var(--lea-text-body-sm-letter-spacing);line-height:var(--lea-text-body-sm-line-height)}._HelperText_fiexw_33[data-invalid]{color:var(--lea-palette-status-error-base)}._Field_dhdlj_11{flex-direction:column;width:100%;min-width:0;display:flex;position:relative}._Box_dhdlj_19{--input-height:calc(var(--lea-spacing) * 6.75);--input-padding-inline:calc(var(--lea-spacing) * 1.75);--input-padding-top:var(--lea-spacing-3);--input-border-color:var(--lea-color-neutral-300);--input-border-width:1px;min-height:var(--input-height);box-sizing:border-box;border-radius:var(--lea-radius-xl);color:var(--lea-palette-text-base);cursor:text;font-size:var(--lea-text-body-md-font-size);font-weight:var(--lea-text-body-md-font-weight);letter-spacing:var(--lea-text-body-md-letter-spacing);line-height:var(--lea-text-body-md-line-height);display:flex;position:relative}._Box_dhdlj_19:after{border:var(--input-border-width) solid var(--input-border-color);border-radius:inherit;content:"";pointer-events:none;position:absolute;inset:0}@media (hover:hover){._Box_dhdlj_19:hover:not(:focus-within,[data-disabled],[data-invalid]){--input-border-color:var(--lea-palette-border-strong);--input-border-width:2px}}._Box_dhdlj_19:focus-within{--input-border-color:var(--lea-palette-border-accent);--input-border-width:2px}._Box_dhdlj_19:active:not([data-disabled],[data-invalid]){--input-border-color:var(--lea-palette-border-accent);--input-border-width:2px;background-color:var(--lea-palette-bg-subtle)}._Box_dhdlj_19[data-invalid]{--input-border-color:var(--lea-palette-status-error-base);--input-border-width:2px}._Box_dhdlj_19[data-disabled]{color:var(--lea-palette-text-muted);cursor:not-allowed}._Inner_dhdlj_87{--input-inset-start:var(--input-padding-inline);flex:1;min-width:0;display:flex;position:relative}._Adornment_dhdlj_96[data-position=start]+._Inner_dhdlj_87{--input-inset-start:0px}._Control_dhdlj_100{box-sizing:border-box;width:100%;min-width:0;padding-block:var(--input-padding-top) calc(var(--lea-spacing) * .75);padding-inline:var(--input-inset-start) var(--input-padding-inline);border-radius:inherit;color:inherit;font:inherit;letter-spacing:inherit;background:0 0;border:0;outline:none;margin:0}._Control_dhdlj_100:disabled{cursor:not-allowed;opacity:1;-webkit-text-fill-color:currentcolor}textarea._Control_dhdlj_100{resize:none;display:block}._Control_dhdlj_100::placeholder{color:var(--lea-palette-text-muted);opacity:1}._Box_dhdlj_19[data-has-label]:not(:focus-within) ._Control_dhdlj_100::placeholder{color:#0000}._Control_dhdlj_100:-webkit-autofill{box-shadow:0 0 0 100px var(--lea-palette-bg-base) inset;caret-color:var(--lea-palette-text-base);-webkit-text-fill-color:var(--lea-palette-text-base)}._Label_dhdlj_145{z-index:1;max-width:calc(100% - var(--input-inset-start) - var(--input-padding-inline));color:var(--lea-color-neutral-600);pointer-events:none;text-overflow:ellipsis;transform-origin:0 0;scale:1;translate:0 calc((var(--input-height) - var(--lea-text-body-md-line-height) * 1em) / 2);transition:color var(--lea-duration-normal) var(--lea-easing-standard), scale var(--lea-duration-normal) var(--lea-easing-standard), translate var(--lea-duration-normal) var(--lea-easing-standard);white-space:nowrap;position:absolute;inset-block-start:0;inset-inline-start:var(--input-inset-start);overflow:hidden}._Box_dhdlj_19:focus-within ._Label_dhdlj_145{max-width:calc((100% - var(--input-inset-start) - var(--input-padding-inline)) / .75);scale:.75;translate:0 calc(var(--lea-spacing) * .75)}._Inner_dhdlj_87:has(._Control_dhdlj_100:not(:placeholder-shown)) ._Label_dhdlj_145{max-width:calc((100% - var(--input-inset-start) - var(--input-padding-inline)) / .75);scale:.75;translate:0 calc(var(--lea-spacing) * .75)}._Inner_dhdlj_87:has(._Control_dhdlj_100:-webkit-autofill) ._Label_dhdlj_145{max-width:calc((100% - var(--input-inset-start) - var(--input-padding-inline)) / .75);scale:.75;translate:0 calc(var(--lea-spacing) * .75)}._Inner_dhdlj_87:has(._Control_dhdlj_100:autofill) ._Label_dhdlj_145{max-width:calc((100% - var(--input-inset-start) - var(--input-padding-inline)) / .75);scale:.75;translate:0 calc(var(--lea-spacing) * .75)}._Box_dhdlj_19:focus-within ._Label_dhdlj_145{color:var(--lea-palette-text-accent)}._Box_dhdlj_19[data-invalid] ._Label_dhdlj_145{color:var(--lea-palette-status-error-base)}._Box_dhdlj_19[data-disabled] ._Label_dhdlj_145{color:var(--lea-palette-text-muted)}._Adornment_dhdlj_96{color:var(--lea-palette-text-subtle);white-space:nowrap;flex-shrink:0;align-self:center;align-items:center;display:flex}._Adornment_dhdlj_96[data-position=start]{margin-block-start:var(--lea-spacing-0-5);margin-inline:var(--lea-spacing-1-5) var(--lea-spacing-1)}._Adornment_dhdlj_96[data-position=end]{margin-inline:var(--lea-spacing-1) var(--input-padding-inline)}@media (prefers-reduced-motion:reduce){._Label_dhdlj_145{transition-duration:.01ms}}._Positioner_1lvwd_12{z-index:1300;outline:none}._Popup_1lvwd_17{min-width:var(--anchor-width);max-width:var(--available-width);max-height:min(12.5rem, var(--available-height,100vh));box-sizing:border-box;border:1px solid var(--lea-palette-border-accent);border-radius:0 0 var(--lea-radius-xl) var(--lea-radius-xl);background-color:var(--lea-palette-bg-base);box-shadow:var(--lea-shadow-lg);color:var(--lea-palette-text-base);transition:opacity var(--lea-duration-fast) var(--lea-easing-standard);outline:none;overflow:hidden auto}._Popup_1lvwd_17[data-side=top]{border-radius:var(--lea-radius-xl) var(--lea-radius-xl) 0 0}._Popup_1lvwd_17[data-starting-style],._Popup_1lvwd_17[data-ending-style]{opacity:0}._List_1lvwd_47{padding:var(--lea-spacing-0-5);gap:calc(var(--lea-spacing) * .25);outline:none;flex-direction:column;display:flex}._List_1lvwd_47[data-empty]{display:none}._Item_1lvwd_61{--option-bg:transparent;padding-block:var(--lea-spacing-1);padding-inline:var(--lea-spacing-2);border-radius:var(--lea-radius-md);background-color:var(--option-bg);cursor:pointer;font-size:var(--lea-text-body-md-font-size);font-weight:var(--lea-text-body-md-font-weight);align-items:center;gap:var(--lea-spacing-1);letter-spacing:var(--lea-text-body-md-letter-spacing);line-height:var(--lea-text-body-md-line-height);-webkit-user-select:none;user-select:none;outline:none;display:flex}._ItemText_1lvwd_80{flex:1;min-width:0}@media (hover:hover){._Item_1lvwd_61:hover:not([data-disabled]){--option-bg:var(--lea-palette-bg-subtle)}}._Item_1lvwd_61[data-selected]{--option-bg:var(--lea-palette-bg-accent)}._Item_1lvwd_61:focus-visible,[data-keyboard] ._Item_1lvwd_61[data-highlighted]{background-color:color-mix(in srgb, var(--lea-palette-text-base) calc(var(--lea-opacity-pressed) * 100%), var(--option-bg))}._Item_1lvwd_61[data-disabled]{cursor:not-allowed;opacity:.38}._Empty_1lvwd_56:not(:empty){padding-block:calc(var(--lea-spacing) * 1.75);padding-inline:var(--lea-spacing-2);color:var(--lea-palette-text-subtle);font-size:var(--lea-text-body-md-font-size);font-weight:var(--lea-text-body-md-font-weight);letter-spacing:var(--lea-text-body-md-letter-spacing);line-height:var(--lea-text-body-md-line-height)}@media (prefers-reduced-motion:reduce){._Popup_1lvwd_17{transition-duration:.01ms}}._Checkbox_1vdzh_7{flex-direction:column;width:100%;display:flex}._Box_1vdzh_13{box-sizing:border-box;border:2px solid var(--lea-palette-border-base);border-radius:var(--lea-radius-sm);background-color:var(--lea-palette-bg-base);width:1.3rem;height:1.3rem;color:var(--lea-palette-primary-contrast);cursor:pointer;transition:background-color var(--lea-duration-normal) var(--lea-easing-standard), border-color var(--lea-duration-normal) var(--lea-easing-standard);flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex}@media (hover:hover){._Box_1vdzh_13:hover:not([data-checked],[data-disabled]){border-color:var(--lea-palette-border-strong)}}._Box_1vdzh_13[data-checked]{border-color:var(--lea-palette-primary-base);background-color:var(--lea-palette-primary-base)}._Box_1vdzh_13:focus-visible{outline:2px solid var(--lea-palette-text-base);outline-offset:.125rem}._Box_1vdzh_13[data-disabled]{cursor:not-allowed;opacity:.7}._Tick_1vdzh_55{width:100%;height:100%;display:block}._Tick_1vdzh_55 path{stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset var(--lea-duration-emphasis) var(--lea-easing-spring)}._Box_1vdzh_13[data-checked] ._Tick_1vdzh_55 path{stroke-dashoffset:0}@media (prefers-reduced-motion:reduce){._Box_1vdzh_13,._Tick_1vdzh_55 path{transition-duration:.01ms}}._Row_1uv3x_10{color:var(--lea-palette-text-base);cursor:pointer;font-size:var(--lea-text-body-md-font-size);font-weight:var(--lea-text-body-md-font-weight);align-items:center;gap:var(--lea-spacing-1-5);letter-spacing:var(--lea-text-body-md-letter-spacing);line-height:var(--lea-text-body-md-line-height);margin:0;padding-block-end:var(--lea-spacing-1);display:flex}._Row_1uv3x_10:has([data-disabled]){color:var(--lea-palette-text-muted);cursor:not-allowed}._Row_1uv3x_10[data-invalid] ._Asterisk_1uv3x_31{color:var(--lea-palette-status-error-base)}._Text_1uv3x_35{min-width:0}._Field_13rno_13 ._Box_13rno_16{background-color:var(--lea-palette-bg-base);cursor:pointer}._Field_13rno_13 ._Box_13rno_16[data-disabled]{cursor:not-allowed}._Field_13rno_13 ._Box_13rno_16[data-open]:not([data-invalid]){--input-border-color:var(--lea-palette-border-accent);--input-border-width:2px}._Box_13rno_16[data-popup-side=bottom]{border-end-end-radius:0;border-end-start-radius:0}._Box_13rno_16[data-popup-side=top]{border-start-start-radius:0;border-start-end-radius:0}._Trigger_13rno_44{border-radius:inherit;cursor:inherit;outline:none;position:absolute;inset:0}._Box_13rno_16>:not(._Trigger_13rno_44){pointer-events:none;position:relative}._Box_13rno_16 :is(button,a,input){pointer-events:auto}._Inner_13rno_63{flex-direction:column}._Display_13rno_68{min-height:calc(var(--lea-text-body-md-line-height) * 1em);box-sizing:content-box;padding-block:var(--input-padding-top) calc(var(--lea-spacing) * .75);padding-inline:var(--input-inset-start) var(--lea-spacing-0-5);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}._Placeholder_13rno_78{color:var(--lea-palette-text-muted)}._Box_13rno_16[data-has-label]:not(:focus-within,[data-open]) ._Placeholder_13rno_78{visibility:hidden}._Label_13rno_92{z-index:1;max-width:calc(100% - var(--input-inset-start));color:var(--lea-color-neutral-600);text-overflow:ellipsis;transform-origin:0 0;scale:1;translate:0 calc((var(--input-height) - var(--lea-text-body-md-line-height) * 1em) / 2);transition:color var(--lea-duration-normal) var(--lea-easing-standard), scale var(--lea-duration-normal) var(--lea-easing-standard), translate var(--lea-duration-normal) var(--lea-easing-standard);white-space:nowrap;position:absolute;inset-block-start:0;inset-inline-start:var(--input-inset-start);overflow:hidden}._Box_13rno_16[data-filled] ._Label_13rno_92,._Box_13rno_16[data-has-placeholder]:focus-within ._Label_13rno_92,._Box_13rno_16[data-has-placeholder][data-open] ._Label_13rno_92{max-width:calc((100% - var(--input-inset-start)) / .75);scale:.75;translate:0 calc(var(--lea-spacing) * .75)}._Box_13rno_16:focus-within ._Label_13rno_92,._Box_13rno_16[data-open] ._Label_13rno_92{color:var(--lea-palette-text-accent)}._Box_13rno_16[data-invalid] ._Label_13rno_92{color:var(--lea-palette-status-error-base)}._Box_13rno_16[data-disabled] ._Label_13rno_92{color:var(--lea-palette-text-muted)}._Icon_13rno_137{width:1.25rem;height:1.25rem;margin-inline:var(--lea-spacing-0-5) var(--input-padding-inline);color:var(--lea-palette-text-base);transition:rotate var(--lea-duration-normal) var(--lea-easing-standard);flex-shrink:0;align-self:center}._Box_13rno_16[data-open] ._Icon_13rno_137{rotate:180deg}._Box_13rno_16[data-disabled] ._Icon_13rno_137{color:var(--lea-palette-text-muted)}._EndAdornment_13rno_155{color:var(--lea-palette-text-subtle);white-space:nowrap;flex-shrink:0;align-self:center;align-items:center;margin-inline-start:var(--lea-spacing-1);display:flex}._SrOnly_13rno_165{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}._Chips_13rno_178{min-width:0;display:flex;position:relative}._ChipRow_13rno_184{align-items:center;gap:var(--lea-spacing-0-5);flex-wrap:nowrap;flex:1;min-width:0;display:flex;overflow:hidden}._ChipMeasure_13rno_195{gap:var(--lea-spacing-0-5);visibility:hidden;height:0;display:flex;position:absolute;inset-block-start:0;inset-inline-start:0;overflow:hidden}@media (prefers-reduced-motion:reduce){._Label_13rno_92,._Icon_13rno_137{transition-duration:.01ms}}._Box_1nhal_11[data-label-outside] input{padding-block:calc((var(--input-height) - var(--lea-text-body-md-line-height) * 1em) / 2)}._Unit_1nhal_18{border-inline-start:1px solid var(--lea-palette-border-subtle);color:var(--lea-palette-text-subtle);line-height:var(--lea-line-height-tight);white-space:nowrap;flex-shrink:0;align-self:center;align-items:center;margin-inline-end:var(--lea-spacing-1);padding-inline-start:var(--lea-spacing-1-5);display:flex}._Box_1nhal_11[data-disabled] ._Unit_1nhal_18{color:var(--lea-palette-text-muted)}._Steppers_1nhal_36{align-self:center;gap:var(--lea-spacing-0-5);margin-inline:var(--lea-spacing-1);flex-shrink:0;display:flex}._Unit_1nhal_18+._Steppers_1nhal_36{margin-inline-start:0}._Stepper_1nhal_36{--stepper-tint:color-mix(in srgb, var(--lea-palette-text-base) calc(var(--lea-opacity-hover) * 100%), transparent);box-sizing:border-box;border:2px solid var(--lea-palette-border-subtle);border-radius:var(--lea-radius-full);width:2.25rem;height:2.25rem;color:var(--lea-palette-text-subtle);cursor:pointer;transition:background-color var(--lea-duration-normal) var(--lea-easing-standard);background-color:#0000;justify-content:center;align-items:center;padding:0;display:inline-flex}._Stepper_1nhal_36 svg{flex-shrink:0;display:block}._Stepper_1nhal_36:focus-visible{outline:2px solid var(--lea-palette-text-base);outline-offset:.125rem}._Stepper_1nhal_36[data-disabled]{color:var(--lea-palette-text-muted);cursor:not-allowed}@media (hover:hover){._Stepper_1nhal_36:hover:not([data-disabled]){background-color:var(--stepper-tint)}}@media (prefers-reduced-motion:reduce){._Stepper_1nhal_36{transition-duration:.01ms}}._Field_xex60_12 ._Box_xex60_17[data-country-open]:not([data-invalid]){--input-border-color:var(--lea-palette-border-accent);--input-border-width:2px}._Field_xex60_12 ._Label_xex60_26{max-width:calc((100% - var(--input-inset-start) - var(--input-padding-inline)) / .75);scale:.75;translate:0 calc(var(--lea-spacing) * .75)}._Field_xex60_12 ._Inner_xex60_34{--input-inset-start:calc(var(--lea-spacing) * 1.25)}._Trigger_xex60_39{padding-block:0;padding-inline:var(--lea-spacing-1) var(--lea-spacing-0-5);border:0;border-inline-end:1px solid var(--lea-palette-border-subtle);border-radius:var(--lea-radius-xl) 0 0 var(--lea-radius-xl);color:var(--lea-palette-text-base);cursor:pointer;font:inherit;align-items:center;gap:var(--lea-spacing-0-5);letter-spacing:inherit;white-space:nowrap;background:0 0;flex-shrink:0;margin:0;display:flex}@media (hover:hover){._Trigger_xex60_39:hover:not(:disabled){background-color:var(--lea-palette-bg-subtle)}}._Trigger_xex60_39[data-popup-open]{background-color:var(--lea-palette-bg-subtle)}._Trigger_xex60_39:focus-visible{outline:2px solid var(--lea-palette-text-base);outline-offset:-.25rem}._Trigger_xex60_39:disabled{cursor:not-allowed;opacity:.6}._Flag_xex60_81{font-size:var(--lea-font-step-1);line-height:var(--lea-line-height-none)}._Dial_xex60_87{text-align:center;min-width:2.5rem}._Chevron_xex60_92{width:1rem;height:1rem;color:var(--lea-palette-text-subtle);flex-shrink:0}._Popup_xex60_100{width:var(--anchor-width);max-width:var(--available-width);box-sizing:border-box;border:1px solid var(--lea-palette-border-accent);border-radius:var(--lea-radius-4xl);background-color:var(--lea-palette-bg-base);box-shadow:var(--lea-shadow-lg);color:var(--lea-palette-text-base);transition:opacity var(--lea-duration-fast) var(--lea-easing-standard);outline:none;overflow:hidden}._Popup_xex60_100[data-starting-style]{opacity:0}._Popup_xex60_100[data-ending-style]{transition:none}._Search_xex60_126{padding-block:calc(var(--lea-spacing) * 1.25);padding-inline:calc(var(--lea-spacing) * 1.75);border-block-end:1px solid var(--lea-palette-border-subtle);align-items:center;gap:var(--lea-spacing-1);display:flex}._Search_xex60_126 svg{width:1.125rem;height:1.125rem;color:var(--lea-palette-text-subtle);flex-shrink:0}._SearchInput_xex60_142{min-width:0;color:inherit;font-family:inherit;font-size:var(--lea-text-body-md-font-size);font-weight:var(--lea-text-body-md-font-weight);letter-spacing:var(--lea-text-body-md-letter-spacing);line-height:var(--lea-text-body-md-line-height);background:0 0;border:0;outline:none;flex:1;margin:0;padding:0}._SearchInput_xex60_142::placeholder{color:var(--lea-palette-text-muted);opacity:1}._List_xex60_169{max-height:min(12.5rem, var(--available-height,100vh) - 4rem);overflow:hidden auto}._Country_xex60_174{gap:calc(var(--lea-spacing) * 1.25)}._CountryName_xex60_178{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}._CountryDial_xex60_191{color:var(--lea-color-neutral-600)}._Country_xex60_174[data-selected] ._CountryDial_xex60_191{color:inherit}._Separator_xex60_200{background-color:var(--lea-palette-border-base);flex-shrink:0;height:1px}@media (prefers-reduced-motion:reduce){._Popup_xex60_100{transition-duration:.01ms}}._Options_hhfuh_8{gap:var(--lea-spacing-1);flex-direction:column;display:flex}._Circle_hhfuh_19{--radio-size:1.3rem;--radio-dot-size:.6rem;width:var(--radio-size);height:var(--radio-size);box-sizing:border-box;border:2px solid var(--lea-palette-border-base);border-radius:var(--lea-radius-full);background-color:var(--lea-palette-bg-base);cursor:pointer;transition:background-color var(--lea-duration-normal) var(--lea-easing-standard), border-color var(--lea-duration-normal) var(--lea-easing-standard);flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex}._Circle_hhfuh_19[data-size=sm]{--radio-size:1rem;--radio-dot-size:.45rem}@media (hover:hover){._Circle_hhfuh_19:hover:not([data-checked],[data-disabled]){border-color:var(--lea-palette-border-strong)}}._Circle_hhfuh_19[data-checked]{border-color:var(--lea-palette-primary-base);background-color:var(--lea-palette-primary-base)}._Circle_hhfuh_19:focus-visible{outline:2px solid var(--lea-palette-text-base);outline-offset:.125rem}._Circle_hhfuh_19[data-disabled]{cursor:not-allowed;opacity:.7}._Dot_hhfuh_67{width:var(--radio-dot-size);height:var(--radio-dot-size);border-radius:var(--lea-radius-full);background-color:var(--lea-palette-primary-contrast);transition:scale var(--lea-duration-emphasis) var(--lea-easing-spring);scale:0}._Circle_hhfuh_19[data-checked] ._Dot_hhfuh_67{scale:1}@media (prefers-reduced-motion:reduce){._Circle_hhfuh_19,._Dot_hhfuh_67{transition-duration:.01ms}}._Group_2xgbn_8{flex-direction:column;width:100%;min-width:0;display:flex}._Options_1myxj_8{gap:var(--lea-spacing-1);grid-template-columns:repeat(var(--radio-card-columns,1), 1fr);display:grid}._Options_1myxj_8[data-columns=many]{gap:var(--lea-spacing-1-5)}._Card_1myxj_19{--radio-card-padding-block:var(--lea-spacing-2);padding-block:var(--radio-card-padding-block);padding-inline:var(--lea-spacing-2);border:1px solid var(--lea-palette-border-base);border-radius:var(--lea-radius-xl);background-color:var(--lea-palette-bg-base);color:var(--lea-palette-text-base);cursor:pointer;font-size:var(--lea-text-body-md-font-size);font-weight:var(--lea-text-body-md-font-weight);justify-content:flex-start;align-items:center;gap:var(--lea-spacing-1-5);letter-spacing:var(--lea-text-body-md-letter-spacing);line-height:var(--lea-text-body-md-line-height);text-align:start;transition:background-color var(--lea-duration-normal) var(--lea-easing-standard), border-color var(--lea-duration-normal) var(--lea-easing-standard);display:flex;position:relative}._Card_1myxj_19[data-size=sm]{--radio-card-padding-block:var(--lea-spacing-1-5)}._Card_1myxj_19[data-orientation=vertical]{--radio-card-padding-block:var(--lea-spacing-4);text-align:center;flex-direction:column;justify-content:center}._Card_1myxj_19[data-orientation=vertical][data-size=sm]{--radio-card-padding-block:var(--lea-spacing-2)}@media (hover:hover){._Card_1myxj_19:hover:not(:has(._Radio_1myxj_61[data-disabled])){border-color:var(--lea-palette-border-strong)}}._Card_1myxj_19:has(._Radio_1myxj_61[data-checked]){border-color:var(--lea-palette-primary-base);background-color:var(--lea-palette-bg-accent)}._Card_1myxj_19:has(._Radio_1myxj_61:focus-visible){outline:2px solid var(--lea-palette-text-base);outline-offset:.125rem}._Card_1myxj_19:has(._Radio_1myxj_61[data-disabled]){cursor:not-allowed;opacity:.6}._Radio_1myxj_61{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:0;padding:0;position:absolute;overflow:hidden}._Card_1myxj_19:has(._Radio_1myxj_61[data-checked]) ._Indicator_1myxj_102{border-color:var(--lea-palette-primary-base);background-color:var(--lea-palette-primary-base)}._Card_1myxj_19:has(._Radio_1myxj_61[data-checked]) ._Indicator_1myxj_102>*{scale:1}._Icon_1myxj_111{color:var(--lea-palette-text-base);flex-shrink:0}._Content_1myxj_116{align-items:flex-start;gap:calc(var(--lea-spacing) * .25);text-align:start;flex-direction:column;flex:1;min-width:0;display:flex}._Card_1myxj_19[data-orientation=vertical] ._Content_1myxj_116{text-align:center;flex:none;align-items:center}._Label_1myxj_133{color:var(--lea-palette-text-base);font-size:var(--lea-text-label-lg-font-size);font-weight:var(--lea-text-label-lg-font-weight);letter-spacing:var(--lea-text-label-lg-letter-spacing);line-height:var(--lea-text-label-lg-line-height);display:block}._Description_1myxj_142{color:var(--lea-palette-text-subtle);font-size:var(--lea-text-body-sm-font-size);font-weight:var(--lea-text-body-sm-font-weight);letter-spacing:var(--lea-text-body-sm-letter-spacing);line-height:var(--lea-text-body-sm-line-height);display:block}@media (prefers-reduced-motion:reduce){._Card_1myxj_19{transition-duration:.01ms}}._Slider_tm1hu_10{width:100%;color:var(--lea-palette-text-base);font-size:var(--lea-text-body-md-font-size);font-weight:var(--lea-text-body-md-font-weight);line-height:var(--lea-text-body-md-line-height);letter-spacing:var(--lea-text-body-md-letter-spacing);flex-direction:column;display:flex}._Header_tm1hu_21{justify-content:space-between;align-items:baseline;gap:calc(var(--lea-spacing) * 2);display:flex}._Label_tm1hu_28{min-width:0;font-weight:var(--lea-font-weight-medium)}._Value_tm1hu_33{font-weight:var(--lea-font-weight-semibold);font-variant-numeric:tabular-nums;white-space:nowrap;margin-inline-start:auto}._Switch_9c9ji_7{border-radius:var(--lea-radius-full);background-color:var(--lea-color-neutral-200);cursor:pointer;width:2.5rem;height:1.5rem;transition:background-color var(--lea-duration-normal) var(--lea-easing-standard);border:none;flex-shrink:0;align-items:center;padding:.125rem;display:inline-flex}._Switch_9c9ji_7[data-checked]{background-color:var(--lea-palette-primary-base)}._Switch_9c9ji_7:focus-visible{outline:2px solid var(--lea-palette-text-base);outline-offset:.125rem}._Switch_9c9ji_7[data-disabled]{cursor:not-allowed;opacity:.5}._Thumb_9c9ji_36{border-radius:var(--lea-radius-full);background-color:var(--lea-palette-bg-base);width:1.25rem;height:1.25rem;transition:translate var(--lea-duration-normal) var(--lea-easing-standard);display:block}._Thumb_9c9ji_36[data-checked]{translate:1rem}@media (prefers-reduced-motion:reduce){._Switch_9c9ji_7,._Thumb_9c9ji_36{transition-duration:.01ms}}._Grid_kczso_6{--_columns:var(--_columns-base,12);--_gap:var(--_gap-base,0);gap:calc(var(--lea-spacing) * var(--_gap));grid-template-columns:repeat(var(--_columns), minmax(0, 1fr));min-width:0;display:grid}._GridItem_kczso_17{--_span:var(--_span-base,1 / -1);grid-column:var(--_span);min-width:0}@media (width>=600px){._Grid_kczso_6{--_columns:var(--_columns-sm,var(--_columns-base,12));--_gap:var(--_gap-sm,var(--_gap-base,0))}._GridItem_kczso_17{--_span:var(--_span-sm,var(--_span-base,1 / -1))}}@media (width>=900px){._Grid_kczso_6{--_columns:var(--_columns-md,var(--_columns-sm,var(--_columns-base,12)));--_gap:var(--_gap-md,var(--_gap-sm,var(--_gap-base,0)))}._GridItem_kczso_17{--_span:var(--_span-md,var(--_span-sm,var(--_span-base,1 / -1)))}}@media (width>=1200px){._Grid_kczso_6{--_columns:var(--_columns-lg,var(--_columns-md,var(--_columns-sm,var(--_columns-base,12))));--_gap:var(--_gap-lg,var(--_gap-md,var(--_gap-sm,var(--_gap-base,0))))}._GridItem_kczso_17{--_span:var(--_span-lg,var(--_span-md,var(--_span-sm,var(--_span-base,1 / -1))))}}@media (width>=1536px){._Grid_kczso_6{--_columns:var(--_columns-xl,var(--_columns-lg,var(--_columns-md,var(--_columns-sm,var(--_columns-base,12)))));--_gap:var(--_gap-xl,var(--_gap-lg,var(--_gap-md,var(--_gap-sm,var(--_gap-base,0)))))}._GridItem_kczso_17{--_span:var(--_span-xl,var(--_span-lg,var(--_span-md,var(--_span-sm,var(--_span-base,1 / -1)))))}}._Stack_19zb4_6{--_direction:var(--_direction-base,column);--_gap:var(--_gap-base,0);flex-direction:var(--_direction);gap:calc(var(--lea-spacing) * var(--_gap));min-width:0;display:flex}@media (width>=600px){._Stack_19zb4_6{--_direction:var(--_direction-sm,var(--_direction-base,column));--_gap:var(--_gap-sm,var(--_gap-base,0))}}@media (width>=900px){._Stack_19zb4_6{--_direction:var(--_direction-md,var(--_direction-sm,var(--_direction-base,column)));--_gap:var(--_gap-md,var(--_gap-sm,var(--_gap-base,0)))}}@media (width>=1200px){._Stack_19zb4_6{--_direction:var(--_direction-lg,var(--_direction-md,var(--_direction-sm,var(--_direction-base,column))));--_gap:var(--_gap-lg,var(--_gap-md,var(--_gap-sm,var(--_gap-base,0))))}}@media (width>=1536px){._Stack_19zb4_6{--_direction:var(--_direction-xl,var(--_direction-lg,var(--_direction-md,var(--_direction-sm,var(--_direction-base,column)))));--_gap:var(--_gap-xl,var(--_gap-lg,var(--_gap-md,var(--_gap-sm,var(--_gap-base,0)))))}}._Stack_19zb4_6[data-align=start]{align-items:flex-start}._Stack_19zb4_6[data-align=center]{align-items:center}._Stack_19zb4_6[data-align=end]{align-items:flex-end}._Stack_19zb4_6[data-align=stretch]{align-items:stretch}._Stack_19zb4_6[data-align=baseline]{align-items:baseline}._Stack_19zb4_6[data-justify=start]{justify-content:flex-start}._Stack_19zb4_6[data-justify=center]{justify-content:center}._Stack_19zb4_6[data-justify=end]{justify-content:flex-end}._Stack_19zb4_6[data-justify=between]{justify-content:space-between}._Stack_19zb4_6[data-justify=around]{justify-content:space-around}._Stack_19zb4_6[data-justify=evenly]{justify-content:space-evenly}._Stack_19zb4_6[data-wrap]{flex-wrap:wrap}._Header_1p9o4_7{justify-content:space-between;align-items:center;gap:var(--lea-spacing-2);width:100%;display:flex}._Lead_1p9o4_15{align-items:center;gap:var(--lea-spacing-2);display:flex}._Titles_1p9o4_21{flex-direction:column;display:flex}._Title_1p9o4_21{color:var(--lea-palette-text-base);font-size:var(--lea-font-step-2);font-weight:var(--lea-font-weight-medium);line-height:var(--lea-line-height-normal);outline:none;margin:0}._Title_1p9o4_21[data-title-as=text]{font-size:var(--lea-font-step-0)}._Next_1p9o4_42{color:var(--lea-palette-text-subtle);font-size:var(--lea-text-body-sm-font-size);font-weight:var(--lea-text-body-sm-font-weight);line-height:var(--lea-text-body-sm-line-height);letter-spacing:var(--lea-text-body-sm-letter-spacing);margin:0}._Divider_1p9o4_51{border:0;border-block-end:1px solid var(--lea-palette-border-base);margin-block:var(--lea-spacing-1);margin-inline:0}._SrOnly_1p9o4_58{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}._ProgressCircle_a7wgh_11{color:var(--lea-palette-primary-base);flex-shrink:0;position:relative}._ProgressCircle_a7wgh_11[data-color=tertiary]{color:var(--lea-palette-tertiary-base)}._Svg_a7wgh_23{transform-origin:50%;display:block;transform:rotate(-90deg)}._Track_a7wgh_31{stroke-opacity:.2}._Value_a7wgh_35{font-size:min(var(--lea-font-step-minus-1), var(--_label-fit));font-weight:var(--lea-font-weight-medium);line-height:var(--lea-line-height-none);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}._LinearFormStepper_160tf_7{--stepper-bar:var(--lea-palette-primary-base);--stepper-track:var(--lea-palette-primary-subtle);gap:calc(var(--lea-spacing) * 1.5);flex-direction:column;width:100%;display:flex}._LinearFormStepper_160tf_7[data-color=tertiary]{--stepper-bar:var(--lea-palette-tertiary-base);--stepper-track:var(--lea-palette-tertiary-subtle)}._Progress_160tf_22{width:100%}._Track_160tf_26{height:calc(var(--lea-spacing) * .75);border-radius:var(--lea-radius-full);background-color:var(--stepper-track);position:relative;overflow:hidden}._Indicator_160tf_34{border-radius:var(--lea-radius-full);background-color:var(--stepper-bar);height:100%;transition:width var(--lea-duration-emphasis) var(--lea-easing-standard)}._Header_160tf_41{align-items:center;gap:calc(var(--lea-spacing) * 2);display:flex}._Title_160tf_47{color:var(--lea-palette-text-base);font-size:var(--lea-font-step-4);font-weight:var(--lea-font-weight-medium);line-height:var(--lea-line-height-snug);outline:none;margin:0}._TitleText_160tf_57{animation:_stepper-title-in_160tf_1 var(--lea-duration-normal) var(--lea-easing-standard)}@keyframes _stepper-title-in_160tf_1{0%{opacity:0}}@media (prefers-reduced-motion:reduce){._Indicator_160tf_34{transition:none}._TitleText_160tf_57{animation:none}}._Tabs_y4jai_7{--tabs-pill:var(--lea-palette-primary-base);grid-template-columns:minmax(0,1fr);display:grid}._Tabs_y4jai_7[data-color=secondary]{--tabs-pill:var(--lea-palette-secondary-base)}._List_y4jai_28{box-sizing:border-box;max-width:100%;padding:var(--lea-spacing-0-5);border-radius:var(--lea-radius-full);background-color:var(--lea-palette-bg-muted);align-items:center;gap:var(--lea-spacing-0-5);scrollbar-width:none;flex-flow:row;display:flex;position:relative;overflow:auto hidden}._List_y4jai_28::-webkit-scrollbar{display:none}._Tab_y4jai_7{z-index:1;padding-block:calc(var(--lea-spacing) * 1.25);padding-inline:var(--lea-spacing-2);border-radius:var(--lea-radius-full);color:var(--lea-color-neutral-600);cursor:pointer;font-family:inherit;font-size:var(--lea-font-step-0);font-weight:var(--lea-font-weight-medium);justify-content:center;align-items:center;gap:var(--lea-spacing-1);line-height:var(--lea-line-height-none);transition:color var(--lea-duration-normal) var(--lea-easing-standard);-webkit-user-select:none;user-select:none;white-space:nowrap;background:0 0;border:0;flex-shrink:0;margin:0;display:inline-flex;position:relative}._Tab_y4jai_7 svg{flex-shrink:0;display:block}._Tab_y4jai_7[data-active]{color:var(--lea-palette-text-contrast)}._Tab_y4jai_7[data-disabled]{cursor:not-allowed;opacity:.45;pointer-events:none}._Tab_y4jai_7:focus-visible,._Panel_y4jai_95:focus-visible{outline:2px solid var(--lea-palette-text-base);outline-offset:.125rem}._Indicator_y4jai_104{z-index:0;top:var(--active-tab-top);left:var(--active-tab-left);width:var(--active-tab-width);height:var(--active-tab-height);border-radius:var(--lea-radius-full);background-color:var(--tabs-pill);transition:top var(--lea-duration-normal) var(--lea-easing-standard), left var(--lea-duration-normal) var(--lea-easing-standard), width var(--lea-duration-normal) var(--lea-easing-standard), height var(--lea-duration-normal) var(--lea-easing-standard);position:absolute}._Panel_y4jai_95{padding-block-start:var(--lea-spacing-2)}@media (prefers-reduced-motion:reduce){._Tab_y4jai_7,._Indicator_y4jai_104{transition-duration:.01ms}}._Root_18gqk_13{--accordion-gap:var(--lea-spacing);--accordion-item-bg:transparent;--accordion-item-border:var(--lea-palette-border-subtle);--accordion-item-radius:var(--lea-radius-2xl);--accordion-header-radius:var(--lea-radius-2xl);--accordion-hover-border:var(--lea-palette-border-strong);--accordion-hover-bg:transparent;--accordion-active-bg:var(--lea-color-purple-50);gap:var(--accordion-gap);flex-direction:column;width:100%;display:flex}._Root_18gqk_13[data-variant=solid]{--accordion-item-bg:var(--lea-palette-bg-subtle);--accordion-item-border:transparent;--accordion-hover-border:transparent;--accordion-hover-bg:var(--lea-color-neutral-100);--accordion-active-bg:var(--lea-color-neutral-200)}._Root_18gqk_13[data-variant=divided],._Root_18gqk_13[data-variant=ghost]{--accordion-highlight:color-mix(in srgb, var(--lea-color-white) calc(var(--lea-opacity-highlight) * 100%), transparent);--accordion-item-border:transparent;--accordion-header-radius:var(--lea-radius-sm);--accordion-hover-border:transparent;--accordion-hover-bg:color-mix(in srgb, var(--lea-palette-text-base) calc(var(--lea-opacity-hover) * 100%), var(--accordion-highlight));--accordion-active-bg:color-mix(in srgb, var(--lea-palette-text-base) calc(var(--lea-opacity-pressed) * 100%), var(--accordion-highlight))}._Root_18gqk_13[data-variant=divided]{--accordion-gap:0;--accordion-item-radius:0}._Item_18gqk_10{border:1px solid var(--accordion-item-border);border-radius:var(--accordion-item-radius);background-color:var(--accordion-item-bg)}._Root_18gqk_13[data-variant=divided]>._Item_18gqk_10:not(:last-child){border-block-end-color:var(--lea-palette-border-subtle)}._Header_18gqk_10{align-items:center;gap:calc(var(--lea-spacing) * 2);padding:calc(var(--lea-spacing) * 1.7) calc(var(--lea-spacing) * 2);border-radius:var(--accordion-header-radius);transition:border-color var(--lea-duration-emphasis) var(--lea-easing-standard), background-color var(--lea-duration-emphasis) var(--lea-easing-standard);border:1px solid #0000;margin:0;display:flex}@media (hover:hover){._Header_18gqk_10:has(._Trigger_18gqk_95:hover:not([data-disabled])){border-color:var(--accordion-hover-border);background-color:var(--accordion-hover-bg)}}._Header_18gqk_10:has(._Trigger_18gqk_95:active:not([data-disabled])){background-color:var(--accordion-active-bg)}._Trigger_18gqk_95{justify-content:space-between;align-items:center;gap:var(--lea-spacing);min-width:0;color:var(--lea-palette-text-base);cursor:pointer;font-family:inherit;font-size:var(--lea-font-step-0);font-weight:var(--lea-font-weight-medium);line-height:var(--lea-line-height-normal);text-align:left;background-color:#0000;border:none;flex:1;margin:0;padding:0;display:flex}._Trigger_18gqk_95:focus-visible{outline:2px solid var(--lea-palette-text-base);outline-offset:.125rem}._Trigger_18gqk_95[data-disabled]{color:var(--lea-palette-text-muted);cursor:not-allowed}._Label_18gqk_136{min-width:0}._Icon_18gqk_140{transition:transform var(--lea-duration-emphasis) var(--lea-easing-standard);flex-shrink:0}._Trigger_18gqk_95[data-panel-open] ._Icon_18gqk_140{transform:rotate(180deg)}._Root_18gqk_13[data-icon-position=start] ._Trigger_18gqk_95{justify-content:flex-start}._Root_18gqk_13[data-icon-position=start] ._Icon_18gqk_140{order:-1}._Panel_18gqk_158{height:var(--accordion-panel-height);transition:height var(--lea-duration-emphasis) var(--lea-easing-standard);overflow:hidden}._Panel_18gqk_158[data-starting-style],._Panel_18gqk_158[data-ending-style]{height:0}._Content_18gqk_169{padding-inline:calc(var(--lea-spacing) * 2);padding-block:var(--lea-spacing);color:var(--lea-palette-text-base);font-size:var(--lea-text-body-md-font-size);font-weight:var(--lea-text-body-md-font-weight);line-height:var(--lea-text-body-md-line-height);letter-spacing:var(--lea-text-body-md-letter-spacing)}@media (prefers-reduced-motion:reduce){._Header_18gqk_10,._Icon_18gqk_140,._Panel_18gqk_158{transition-duration:.01ms}}._Link_qe3el_7{--link-color:var(--lea-palette-secondary-base);color:var(--link-color);font-weight:var(--lea-font-weight-regular);text-underline-offset:.3rem;cursor:pointer;text-decoration:underline;text-decoration-thickness:.0625rem}._Link_qe3el_7[data-color=primary]{--link-color:var(--lea-color-purple-700)}._Link_qe3el_7[data-color=tertiary]{--link-color:var(--lea-color-teal-700)}._Link_qe3el_7[data-color=contrast]{--link-color:var(--lea-palette-text-contrast)}button._Link_qe3el_7{appearance:none;font-family:inherit;font-size:inherit;line-height:inherit;letter-spacing:inherit;text-align:inherit;background:0 0;border:0;padding:0}._Link_qe3el_7:focus-visible{outline:2px solid var(--lea-palette-text-base);outline-offset:.125rem}@media (hover:hover){._Link_qe3el_7:hover{text-decoration-thickness:.125rem}}._Root_1vl2r_9{gap:calc(var(--lea-spacing) * var(--_gap));counter-reset:list-counter;flex-direction:column;margin:0;padding:0;list-style:none;display:flex}._Item_1vl2r_19{align-items:flex-start;gap:calc(var(--lea-spacing) * var(--_gap));counter-increment:list-counter;display:flex}._Marker_1vl2r_28{min-width:var(--lea-spacing-3);height:calc(var(--lea-text-body-md-font-size) * var(--lea-text-body-md-line-height));flex-shrink:0;justify-content:center;align-items:center;display:flex}._Marker_1vl2r_28[data-marker=dot]:before{border-radius:var(--lea-radius-full);background-color:var(--lea-palette-text-base);content:"";width:.375rem;height:.375rem}._Marker_1vl2r_28[data-marker=number]{color:var(--lea-palette-text-base);font-size:var(--lea-font-step-0);font-weight:var(--lea-font-weight-semibold);line-height:var(--lea-line-height-none)}._Marker_1vl2r_28[data-marker=number]:before{content:counter(list-counter) "."}._Content_1vl2r_60{flex:1;min-width:0}._BrandDivider_10exs_6{width:100%;height:var(--lea-spacing);background:linear-gradient(to right, var(--lea-color-blue-400) 25%, var(--lea-palette-tertiary-base) 25%, var(--lea-palette-tertiary-base) 50%, var(--lea-color-orange-400) 50%, var(--lea-color-orange-400) 75%, var(--lea-palette-primary-base) 75%);flex-shrink:0;display:flex}._BrandDivider_10exs_6[data-size=sm]{height:calc(var(--lea-spacing) * .5)}._BrandDivider_10exs_6[data-size=md]{height:calc(var(--lea-spacing) * 1)}._BrandDivider_10exs_6[data-size=lg]{height:calc(var(--lea-spacing) * 1.5)}._AppHeader_1s0uj_1{flex-direction:column;width:100%;display:flex}._AppHeader_1s0uj_1:not([data-brand-divider]){border-bottom:1px solid var(--lea-palette-border-base)}._AppHeaderContent_1s0uj_11{justify-content:center;align-items:center;gap:calc(var(--lea-spacing) * 2);padding-block:var(--lea-spacing);padding-inline:calc(var(--lea-spacing) * 2);display:flex}._AppHeaderContent_1s0uj_11[data-fluid]{max-width:none}._AppHeader_1s0uj_1[data-has-children] ._AppHeaderContent_1s0uj_11{justify-content:space-between}._AppHeaderLogo_1s0uj_28{flex-shrink:0;display:flex}._AppHeaderActions_1s0uj_33{align-items:center;gap:var(--lea-spacing);display:flex}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,3 @@
1
- import "./theme/tokens.css";
2
- import "./theme/mui-augmentation";
3
1
  export * from './components';
4
2
  export * from './hooks';
5
3
  export * from './i18n';
@@ -7,4 +5,4 @@ export * from './provider';
7
5
  export * from './theme';
8
6
  export * from './utils';
9
7
  export * from './validation';
10
- export type { ColorToken, BgColorToken, BorderColorToken, BrandColorToken, ColorPath, SpacingFactor, StatusColorToken, TextColorToken, TypographyColorToken, } from './theme/token-types';
8
+ export type { ColorToken, BgColorToken, BorderColorToken, BrandColorToken, ColorPath, ColorRole, SpacingFactor, StatusColorToken, TextColorToken, TypographyColorToken, } from './theme/token-types';
@@ -3,14 +3,11 @@ import { Language } from '../i18n/languages';
3
3
  export type LeaProviderProps = {
4
4
  /** Language for the library's built-in translations and date locales. @default "no" */
5
5
  language?: Language;
6
- /** Skip rendering MUI's `CssBaseline` (e.g. if the host app renders its own). */
7
- disableCssBaseline?: boolean;
8
6
  children: ReactNode;
9
7
  };
10
8
  /**
11
- * The single provider for consuming the component library. Bundles the Lea Bank
12
- * MUI theme (so consumers never wire `ThemeProvider` / the theme themselves) and
13
- * the language context that drives `createTranslation` and locale-aware
14
- * components. Forward only the `language` prop.
9
+ * Sets the language of the library's own texts (`createTranslation`) and of
10
+ * the components that format by locale. That is all it does: no component
11
+ * needs it to render, and without it the language is Norwegian.
15
12
  */
16
- export declare function LeaProvider({ language, disableCssBaseline, children, }: LeaProviderProps): import("react").JSX.Element;
13
+ export declare function LeaProvider({ language, children, }: LeaProviderProps): import("react").JSX.Element;