@leabankab/component-library 7.3.0 → 8.1.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.
- package/CHANGELOG.md +745 -0
- package/README.md +2 -5
- package/dist/component-library.es.js +2948 -5676
- package/dist/component-library.es.js.map +1 -1
- package/dist/component-library.umd.js +2 -28
- package/dist/component-library.umd.js.map +1 -1
- package/dist/components/animations/icons/status-icon.d.ts +4 -0
- package/dist/components/animations/illustrations/check-animation.d.ts +8 -0
- package/dist/components/animations/illustrations/pulse-animation.d.ts +5 -1
- package/dist/components/animations/illustrations/status-animation.d.ts +8 -1
- package/dist/components/animations/shared.d.ts +6 -32
- package/dist/components/animations/spinner.d.ts +18 -0
- package/dist/components/animations/use-animation-labels.d.ts +0 -5
- package/dist/components/buttons/action-button.d.ts +8 -10
- package/dist/components/buttons/button-base.d.ts +26 -12
- package/dist/components/buttons/button.d.ts +2 -2
- package/dist/components/buttons/close-button.d.ts +1 -1
- package/dist/components/buttons/icon-button.d.ts +1 -13
- package/dist/components/buttons/skip-link.d.ts +21 -4
- package/dist/components/color-roles.d.ts +8 -0
- package/dist/components/data-display/card.d.ts +54 -4
- package/dist/components/data-display/chip.d.ts +50 -8
- package/dist/components/data-display/data-field.d.ts +15 -4
- package/dist/components/data-display/tooltip.d.ts +74 -22
- package/dist/components/feedback/alert-parts.d.ts +10 -9
- package/dist/components/feedback/alert.d.ts +1 -1
- package/dist/components/feedback/simple-dialog.d.ts +1 -1
- package/dist/components/form/amount-slider.d.ts +68 -0
- package/dist/components/form/autocomplete.d.ts +56 -59
- package/dist/components/form/checkbox-box.d.ts +11 -0
- package/dist/components/form/checkbox.d.ts +67 -7
- package/dist/components/form/combo-field.d.ts +68 -0
- package/dist/components/form/email-input.d.ts +28 -26
- package/dist/components/form/field-parts.d.ts +50 -0
- package/dist/components/form/index.d.ts +3 -9
- package/dist/components/form/input.d.ts +57 -13
- package/dist/components/form/multi-select.d.ts +12 -14
- package/dist/components/form/number-input-unit.d.ts +28 -0
- package/dist/components/form/number-input.d.ts +46 -18
- package/dist/components/form/phone-number-input/phone-number-input.d.ts +44 -14
- package/dist/components/form/radio-card.d.ts +94 -43
- package/dist/components/form/radio-circle.d.ts +14 -13
- package/dist/components/form/radio-group-root.d.ts +88 -0
- package/dist/components/form/radio.d.ts +68 -24
- package/dist/components/form/select-field.d.ts +78 -0
- package/dist/components/form/select.d.ts +30 -42
- package/dist/components/form/slider-parts.d.ts +34 -0
- package/dist/components/form/slider.d.ts +40 -16
- package/dist/components/form/use-autocomplete-labels.d.ts +3 -16
- package/dist/components/form/use-blur-outside.d.ts +7 -0
- package/dist/components/form/use-focus-target-ref.d.ts +11 -0
- package/dist/components/form/use-tooltip-trigger-labels.d.ts +5 -0
- package/dist/components/index.d.ts +0 -1
- package/dist/components/navigation/form-stepper.d.ts +1 -1
- package/dist/components/navigation/index.d.ts +1 -1
- package/dist/components/navigation/linear-form-stepper.d.ts +1 -1
- package/dist/components/navigation/progress-circle.d.ts +14 -8
- package/dist/components/navigation/tabs.d.ts +37 -34
- package/dist/components/navigation/use-stepper-labels.d.ts +1 -1
- package/dist/components/typography/link.d.ts +25 -16
- package/dist/components/typography/lists.d.ts +20 -23
- package/dist/components/typography/text.d.ts +46 -10
- package/dist/components/ui/app-header.d.ts +9 -1
- package/dist/cookie-consent/react.d.ts +0 -1
- package/dist/cookie-consent-react.cjs +1 -1
- package/dist/cookie-consent-react.cjs.map +1 -1
- package/dist/cookie-consent-react.mjs +106 -96
- package/dist/cookie-consent-react.mjs.map +1 -1
- package/dist/cookie-consent.css +1 -1
- package/dist/date-picker/datepicker.d.ts +140 -0
- package/dist/date-picker/index.d.ts +18 -0
- package/dist/date-picker/theme/field-base.d.ts +23 -0
- package/dist/date-picker/theme/form-control.theme.d.ts +7 -0
- package/dist/date-picker/theme/index.d.ts +12 -0
- package/dist/date-picker/theme/input.theme.d.ts +6 -0
- package/dist/{components/form/datepicker → date-picker}/use-view-toggle-labels.d.ts +1 -1
- package/dist/date-picker.cjs +2 -0
- package/dist/date-picker.cjs.map +1 -0
- package/dist/date-picker.mjs +1012 -0
- package/dist/date-picker.mjs.map +1 -0
- package/dist/{components/dev-panel → dev-panel}/dev-panel-payload.d.ts +1 -1
- package/dist/{components/dev-panel → dev-panel}/dev-panel-status.d.ts +2 -2
- package/dist/{components/dev-panel → dev-panel}/dev-panel-steps.d.ts +2 -1
- package/dist/dev-panel/dev-panel.d.ts +118 -0
- package/dist/dev-panel/index.d.ts +10 -0
- package/dist/{components/dev-panel → dev-panel}/json-highlight.d.ts +2 -2
- package/dist/dev-panel/parts.d.ts +9 -0
- package/dist/{components/dev-panel → dev-panel}/segmented-control.d.ts +5 -4
- package/dist/{components/dev-panel → dev-panel}/use-dev-panel-labels.d.ts +1 -1
- package/dist/{components/dev-panel → dev-panel}/use-roving-radio.d.ts +2 -2
- package/dist/dev-panel.cjs +3 -0
- package/dist/dev-panel.cjs.map +1 -0
- package/dist/dev-panel.css +1 -0
- package/dist/dev-panel.mjs +919 -0
- package/dist/dev-panel.mjs.map +1 -0
- package/dist/fonts/ClashGrotesk-Variable.woff2 +0 -0
- package/dist/index.css +1 -1
- package/dist/index.d.ts +1 -3
- package/dist/provider/lea-provider.d.ts +4 -7
- package/dist/react-hook-form/form-field.d.ts +76 -0
- package/dist/react-hook-form/index.d.ts +1 -0
- package/dist/react-hook-form.cjs +2 -0
- package/dist/react-hook-form.cjs.map +1 -0
- package/dist/react-hook-form.mjs +33 -0
- package/dist/react-hook-form.mjs.map +1 -0
- package/dist/tailwind.css +103 -17
- package/dist/theme/index.d.ts +0 -4
- package/dist/theme/token-types.d.ts +15 -3
- package/dist/theme/tokens/colors.d.ts +13 -0
- package/dist/theme/tokens/font-family.d.ts +9 -0
- package/dist/theme/tokens/font-sizes.d.ts +8 -0
- package/dist/theme/tokens/index.d.ts +4 -1
- package/dist/theme/tokens/line-heights.d.ts +11 -0
- package/dist/theme/tokens/spacing.d.ts +6 -0
- package/dist/theme/tokens/text-styles.d.ts +61 -0
- package/dist/theme/tokens/type-scale.d.ts +21 -0
- package/dist/theme/types.d.ts +19 -30
- package/dist/validation/email.d.ts +18 -0
- package/dist/validation/mobile-patterns.d.ts +10 -0
- package/dist/validation/national-id.d.ts +26 -0
- package/dist/validation/phone.d.ts +30 -0
- package/package.json +45 -6
- package/dist/components/dev-panel/dev-panel.d.ts +0 -61
- package/dist/components/dev-panel/index.d.ts +0 -9
- package/dist/components/form/datepicker/datepicker.d.ts +0 -99
- package/dist/components/form/datepicker/index.d.ts +0 -1
- package/dist/components/form/fields/autocomplete-field.d.ts +0 -17
- package/dist/components/form/fields/boolean-radio-field.d.ts +0 -3
- package/dist/components/form/fields/checkbox-field.d.ts +0 -12
- package/dist/components/form/fields/datepicker-field.d.ts +0 -9
- package/dist/components/form/fields/email-field.d.ts +0 -10
- package/dist/components/form/fields/field-types.d.ts +0 -18
- package/dist/components/form/fields/index.d.ts +0 -14
- package/dist/components/form/fields/input-field.d.ts +0 -9
- package/dist/components/form/fields/multi-select-field.d.ts +0 -9
- package/dist/components/form/fields/number-field.d.ts +0 -10
- package/dist/components/form/fields/phone-number-field.d.ts +0 -11
- package/dist/components/form/fields/radio-card-field.d.ts +0 -22
- package/dist/components/form/fields/radio-field.d.ts +0 -16
- package/dist/components/form/fields/select-field.d.ts +0 -9
- package/dist/components/form/fields/use-field-control.d.ts +0 -6
- package/dist/components/form/fields/use-tooltip-trigger-labels.d.ts +0 -5
- package/dist/components/form/form-control/form-control-context.d.ts +0 -35
- package/dist/components/form/form-control/form-control-label.d.ts +0 -1
- package/dist/components/form/form-control/form-control.d.ts +0 -13
- package/dist/components/form/form-control/form-helper-text.d.ts +0 -9
- package/dist/components/form/form-control/form-label.d.ts +0 -9
- package/dist/components/form/form-control/index.d.ts +0 -5
- package/dist/components/form/input-label.d.ts +0 -9
- package/dist/theme/components/accordion.theme.d.ts +0 -7
- package/dist/theme/components/action-button.theme.d.ts +0 -45
- package/dist/theme/components/alert.theme.d.ts +0 -2
- package/dist/theme/components/autocomplete.theme.d.ts +0 -2
- package/dist/theme/components/baseline-css.d.ts +0 -2
- package/dist/theme/components/button.theme.d.ts +0 -2
- package/dist/theme/components/card.theme.d.ts +0 -2
- package/dist/theme/components/checkbox.theme.d.ts +0 -2
- package/dist/theme/components/chip.theme.d.ts +0 -2
- package/dist/theme/components/dev-panel.theme.d.ts +0 -95
- package/dist/theme/components/dialog.theme.d.ts +0 -2
- package/dist/theme/components/drawer.theme.d.ts +0 -4
- package/dist/theme/components/field-base.d.ts +0 -31
- package/dist/theme/components/form-control-label.theme.d.ts +0 -2
- package/dist/theme/components/form-control.theme.d.ts +0 -2
- package/dist/theme/components/index.d.ts +0 -2
- package/dist/theme/components/input.theme.d.ts +0 -3
- package/dist/theme/components/link.theme.d.ts +0 -2
- package/dist/theme/components/menu-item.theme.d.ts +0 -2
- package/dist/theme/components/number-input.theme.d.ts +0 -23
- package/dist/theme/components/phone-number-input.theme.d.ts +0 -43
- package/dist/theme/components/radio.theme.d.ts +0 -2
- package/dist/theme/components/select.theme.d.ts +0 -2
- package/dist/theme/components/slider.theme.d.ts +0 -2
- package/dist/theme/components/tabs.theme.d.ts +0 -34
- package/dist/theme/components/tooltip.theme.d.ts +0 -110
- package/dist/theme/components/typography.theme.d.ts +0 -2
- package/dist/theme/mui-augmentation.d.ts +0 -147
- package/dist/theme/sx-config.d.ts +0 -10
- /package/dist/{components/form/datepicker → date-picker}/calendar-header.d.ts +0 -0
- /package/dist/{components/form/datepicker → date-picker}/drawer-toolbar.d.ts +0 -0
- /package/dist/{theme/components → date-picker/theme}/date-picker.theme.d.ts +0 -0
- /package/dist/{theme/components → date-picker/theme}/icon-button.theme.d.ts +0 -0
- /package/dist/{theme/tokens → date-picker/theme}/typography.d.ts +0 -0
- /package/dist/{components/form/datepicker → date-picker}/use-calendar-header-labels.d.ts +0 -0
- /package/dist/{components/form/datepicker → date-picker}/use-datepicker-title-labels.d.ts +0 -0
- /package/dist/{components/form/datepicker → date-picker}/view-renderers.d.ts +0 -0
- /package/dist/{components/form/datepicker → date-picker}/view-toggle.d.ts +0 -0
- /package/dist/{components/dev-panel → dev-panel}/dev-panel-country.d.ts +0 -0
- /package/dist/{components/dev-panel → dev-panel}/dev-panel-flow.d.ts +0 -0
- /package/dist/{components/dev-panel → dev-panel}/dev-panel-footer.d.ts +0 -0
- /package/dist/{components/dev-panel → dev-panel}/dev-panel-step-state.d.ts +0 -0
- /package/dist/{components/dev-panel → dev-panel}/dev-panel-variant.d.ts +0 -0
- /package/dist/{components/dev-panel → dev-panel}/use-copy.d.ts +0 -0
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { InputLabelProps } from '@mui/material';
|
|
2
|
-
export type { InputLabelProps };
|
|
3
|
-
/**
|
|
4
|
-
* Floating label for a field. When rendered inside our `FormControl` it links
|
|
5
|
-
* itself to the control automatically via `htmlFor` / `id`, so the consumer
|
|
6
|
-
* never has to wire them. MUI appends the required asterisk and reads focus /
|
|
7
|
-
* error / required state from the surrounding `FormControl` on its own.
|
|
8
|
-
*/
|
|
9
|
-
export declare const InputLabel: (props: InputLabelProps) => import("react").JSX.Element;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { Components, Theme } from '@mui/material';
|
|
2
|
-
/**
|
|
3
|
-
* Lea styling for MUI Accordion. Importing `Accordion` / `AccordionSummary` /
|
|
4
|
-
* `AccordionDetails` from `@mui/material` (with the app `ThemeProvider` + this theme)
|
|
5
|
-
* applies these defaults and style overrides.
|
|
6
|
-
*/
|
|
7
|
-
export declare const accordionTheme: Pick<Components<Theme>, "MuiAccordion" | "MuiAccordionSummary" | "MuiAccordionDetails">;
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
export declare const actionButtonVariant: {
|
|
2
|
-
props: {
|
|
3
|
-
variant: "action";
|
|
4
|
-
};
|
|
5
|
-
style: {
|
|
6
|
-
color: string;
|
|
7
|
-
backgroundColor: string;
|
|
8
|
-
outline: string;
|
|
9
|
-
border: string;
|
|
10
|
-
borderRadius: 100;
|
|
11
|
-
paddingInlineStart: string;
|
|
12
|
-
paddingInlineEnd: string;
|
|
13
|
-
paddingBlock: string;
|
|
14
|
-
fontSize: "1.25rem";
|
|
15
|
-
textTransform: "uppercase";
|
|
16
|
-
fontWeight: 700;
|
|
17
|
-
svg: {
|
|
18
|
-
display: string;
|
|
19
|
-
width: number;
|
|
20
|
-
height: number;
|
|
21
|
-
borderRadius: 100;
|
|
22
|
-
marginInlineStart: string;
|
|
23
|
-
backgroundColor: string;
|
|
24
|
-
color: string;
|
|
25
|
-
transition: string;
|
|
26
|
-
};
|
|
27
|
-
"&:hover": {
|
|
28
|
-
svg: {
|
|
29
|
-
transform: string;
|
|
30
|
-
backgroundColor: string;
|
|
31
|
-
};
|
|
32
|
-
};
|
|
33
|
-
"& .MuiTouchRipple-root": {
|
|
34
|
-
color: string;
|
|
35
|
-
};
|
|
36
|
-
"&:active": {
|
|
37
|
-
outline: string;
|
|
38
|
-
color: string;
|
|
39
|
-
};
|
|
40
|
-
"&:focus-visible": {
|
|
41
|
-
outline: string;
|
|
42
|
-
outlineColor: string;
|
|
43
|
-
};
|
|
44
|
-
};
|
|
45
|
-
};
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
import { SxProps, Theme } from '@mui/material';
|
|
2
|
-
/** The outer card: a rounded, cream surface with a subtle border. */
|
|
3
|
-
export declare const devPanelSx: SxProps<Theme>;
|
|
4
|
-
/** The chrome strip: title + status dot, an optional badge, and the minimise control. */
|
|
5
|
-
export declare const devPanelHeaderSx: SxProps<Theme>;
|
|
6
|
-
export declare const devPanelHeaderTitleSx: SxProps<Theme>;
|
|
7
|
-
/** The small "live" indicator dot beside the panel title. */
|
|
8
|
-
export declare const devPanelHeaderDotSx: SxProps<Theme>;
|
|
9
|
-
/** The "MOCK" / "live" pill next to the title. */
|
|
10
|
-
export declare const devPanelBadgeSx: SxProps<Theme>;
|
|
11
|
-
/** The scrollable body that holds the sections. */
|
|
12
|
-
export declare const devPanelBodySx: SxProps<Theme>;
|
|
13
|
-
/** A single labelled section (COUNTRY, VARIANT, …). */
|
|
14
|
-
export declare const devPanelSectionSx: SxProps<Theme>;
|
|
15
|
-
/**
|
|
16
|
-
* The uppercase section heading. Uses `neutral[600]` (not `text.subtle`) so the
|
|
17
|
-
* small label clears WCAG AA (4.5:1) against the cream body — matching the
|
|
18
|
-
* `Tabs` track decision.
|
|
19
|
-
*/
|
|
20
|
-
export declare const devPanelSectionLabelSx: SxProps<Theme>;
|
|
21
|
-
/** Optional trailing meta on a section heading row (e.g. the `6 / 10` count). */
|
|
22
|
-
export declare const devPanelSectionHeaderRowSx: SxProps<Theme>;
|
|
23
|
-
export declare const devPanelSectionMetaSx: SxProps<Theme>;
|
|
24
|
-
export declare const devPanelFlowSx: SxProps<Theme>;
|
|
25
|
-
export declare const devPanelFlowTextSx: SxProps<Theme>;
|
|
26
|
-
export declare const devPanelFlowLabelSx: SxProps<Theme>;
|
|
27
|
-
/** The beige track that holds the segmented options. */
|
|
28
|
-
export declare const segmentedGroupSx: SxProps<Theme>;
|
|
29
|
-
/**
|
|
30
|
-
* The "pill" variant used by Country/Variant: options grow to fill the track
|
|
31
|
-
* and the selected one flips to a white pill.
|
|
32
|
-
*/
|
|
33
|
-
export declare const segmentedOptionSx: (selected: boolean) => SxProps<Theme>;
|
|
34
|
-
/**
|
|
35
|
-
* The "chip" variant used by Step state: pills that hug their content and carry
|
|
36
|
-
* a small leading dot.
|
|
37
|
-
*/
|
|
38
|
-
export declare const segmentedChipGroupSx: SxProps<Theme>;
|
|
39
|
-
export declare const segmentedChipSx: (selected: boolean) => SxProps<Theme>;
|
|
40
|
-
export declare const segmentedChipDotSx: (selected: boolean) => SxProps<Theme>;
|
|
41
|
-
export declare const stepGridSx: (columns: number) => SxProps<Theme>;
|
|
42
|
-
export declare const stepButtonSx: SxProps<Theme>;
|
|
43
|
-
export type StepCircleState = "complete" | "current" | "upcoming";
|
|
44
|
-
export declare const stepCircleSx: (state: StepCircleState) => SxProps<Theme>;
|
|
45
|
-
/** The small warning dot on a step that needs attention. */
|
|
46
|
-
export declare const stepFlagDotSx: SxProps<Theme>;
|
|
47
|
-
export declare const stepLabelSx: (isCurrent: boolean) => SxProps<Theme>;
|
|
48
|
-
export declare const statusGridSx: SxProps<Theme>;
|
|
49
|
-
export type DevPanelStatusColor = "warning" | "success" | "info" | "error" | "neutral";
|
|
50
|
-
export declare const statusColorValue: Record<DevPanelStatusColor, string>;
|
|
51
|
-
export declare const statusCardSx: (color: DevPanelStatusColor, selected: boolean) => SxProps<Theme>;
|
|
52
|
-
export declare const statusDotSx: (color: DevPanelStatusColor) => SxProps<Theme>;
|
|
53
|
-
export declare const payloadToggleSx: SxProps<Theme>;
|
|
54
|
-
export declare const payloadToggleLabelSx: SxProps<Theme>;
|
|
55
|
-
export declare const payloadChevronSx: (expanded: boolean) => SxProps<Theme>;
|
|
56
|
-
export declare const payloadPanelSx: SxProps<Theme>;
|
|
57
|
-
export declare const payloadPanelHeaderSx: SxProps<Theme>;
|
|
58
|
-
export declare const payloadPreSx: SxProps<Theme>;
|
|
59
|
-
/**
|
|
60
|
-
* The chevron on the side toggle. It points left, toward where the flyout
|
|
61
|
-
* appears beside the panel; the open state is conveyed via `aria-expanded`.
|
|
62
|
-
*/
|
|
63
|
-
export declare const payloadSideChevronSx: SxProps<Theme>;
|
|
64
|
-
/**
|
|
65
|
-
* The floating dark payload panel that opens beside the `DevPanel`. It is
|
|
66
|
-
* portalled to the document body and positioned (top/left/width/height) inline
|
|
67
|
-
* from the anchored panel's rect, so it can sit outside the panel's clipped
|
|
68
|
-
* bounds. `zIndex` matches MUI's `modal` layer (1300).
|
|
69
|
-
*/
|
|
70
|
-
export declare const payloadFlyoutSx: SxProps<Theme>;
|
|
71
|
-
export declare const payloadFlyoutHeaderSx: SxProps<Theme>;
|
|
72
|
-
export declare const payloadFlyoutTitleSx: SxProps<Theme>;
|
|
73
|
-
/** The small pill (e.g. "live") in the flyout header, tuned for the dark panel. */
|
|
74
|
-
export declare const payloadFlyoutBadgeSx: SxProps<Theme>;
|
|
75
|
-
/** The scrollable JSON body: fills the remaining flyout height. */
|
|
76
|
-
export declare const payloadFlyoutBodySx: SxProps<Theme>;
|
|
77
|
-
export declare const payloadFlyoutFooterSx: SxProps<Theme>;
|
|
78
|
-
/** The full-width "Copy JSON" action at the foot of the flyout. */
|
|
79
|
-
export declare const payloadFlyoutCopyButtonSx: SxProps<Theme>;
|
|
80
|
-
/** The kinds of token the JSON highlighter distinguishes. */
|
|
81
|
-
export type JsonTokenType = "key" | "string" | "number" | "boolean" | "null" | "punctuation";
|
|
82
|
-
/**
|
|
83
|
-
* Colours for the syntax-highlighted payload, tuned for the dark
|
|
84
|
-
* (`neutral[950]`) panel. Every shade clears WCAG AA (4.5:1) against that
|
|
85
|
-
* background, so highlighting never trades contrast for colour.
|
|
86
|
-
*/
|
|
87
|
-
export declare const payloadTokenColors: Record<JsonTokenType, string>;
|
|
88
|
-
/**
|
|
89
|
-
* The action row. Negative horizontal / bottom margins cancel the body padding
|
|
90
|
-
* (`devPanelBodySx`, `padding: 2.5`) so — when placed as the last child — the
|
|
91
|
-
* footer sits flush with the panel edges under a full-width divider.
|
|
92
|
-
*/
|
|
93
|
-
export declare const devPanelFooterSx: SxProps<Theme>;
|
|
94
|
-
/** A visually-hidden live region for copy confirmations. */
|
|
95
|
-
export declare const visuallyHiddenSx: SxProps<Theme>;
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { CSSObject } from '@mui/material';
|
|
2
|
-
/**
|
|
3
|
-
* Shared building blocks for the outlined form fields (text `Input`, `Select`,
|
|
4
|
-
* `Autocomplete` and the date-picker trigger). Keeping height, padding, the
|
|
5
|
-
* collapsed notch and the border-state colours in one place means editing a
|
|
6
|
-
* field's look here updates every input at once; component-specific styling
|
|
7
|
-
* stays in each component's own theme file.
|
|
8
|
-
*/
|
|
9
|
-
export declare const FIELD_HEIGHT = "54px";
|
|
10
|
-
export declare const fieldPadding: {
|
|
11
|
-
readonly paddingInlineStart: "0.9rem";
|
|
12
|
-
readonly paddingBlockStart: "1.5rem";
|
|
13
|
-
readonly paddingBlockEnd: "0.5rem";
|
|
14
|
-
};
|
|
15
|
-
/**
|
|
16
|
-
* We draw the field border ourselves, so MUI's notch and its legend are
|
|
17
|
-
* collapsed. Parameterised by the notched-outline class because
|
|
18
|
-
* `OutlinedInput` and `PickersOutlinedInput` name that element differently.
|
|
19
|
-
*/
|
|
20
|
-
export declare const collapsedNotch: (outlineClass: string) => CSSObject;
|
|
21
|
-
/**
|
|
22
|
-
* Hover / focus / error border treatment shared by every outlined field.
|
|
23
|
-
* Parameterised by the notched-outline class for the same reason as
|
|
24
|
-
* `collapsedNotch`.
|
|
25
|
-
*
|
|
26
|
-
* Focus is keyed off `:focus-within` rather than `.Mui-focused`: the latter is
|
|
27
|
-
* not applied to the `OutlinedInput` root that `Autocomplete` injects its input
|
|
28
|
-
* into, so `:focus-within` is the only selector that lights up the focus border
|
|
29
|
-
* across every field consistently.
|
|
30
|
-
*/
|
|
31
|
-
export declare const fieldBorderStates: (outlineClass: string) => CSSObject;
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { SxProps, Theme } from '@mui/material';
|
|
2
|
-
/**
|
|
3
|
-
* Styling for the `NumberInput` stepper, trailing unit and leading icon. These
|
|
4
|
-
* are exported as `sx` objects the component applies (there is no dedicated MUI
|
|
5
|
-
* slot to override globally), keeping the component lean while the visual tokens
|
|
6
|
-
* live here, mirroring the shared building blocks in `field-base`.
|
|
7
|
-
*/
|
|
8
|
-
/** Applied to the `OutlinedInput`: drop the trailing padding, lay the parts in a row. */
|
|
9
|
-
export declare const numberInputRootSx: SxProps<Theme>;
|
|
10
|
-
/** Root style when the label is rendered outside the field. */
|
|
11
|
-
export declare const numberInputExternalLabelRootSx: SxProps<Theme>;
|
|
12
|
-
/** The stacked +/- buttons. Kept as a row of circular icon buttons. */
|
|
13
|
-
export declare const numberInputStepperSx: SxProps<Theme>;
|
|
14
|
-
/**
|
|
15
|
-
* End adornment wrapper when a `unit` is present — lays the unit (and, if shown,
|
|
16
|
-
* the steppers) in a row that stretches to the field's full height so the unit
|
|
17
|
-
* divider runs edge to edge.
|
|
18
|
-
*/
|
|
19
|
-
export declare const numberInputEndSx: SxProps<Theme>;
|
|
20
|
-
/** Trailing unit text, separated from the value by a light divider. */
|
|
21
|
-
export declare const numberInputUnitSx: SxProps<Theme>;
|
|
22
|
-
/** Leading decorative icon. */
|
|
23
|
-
export declare const numberInputStartSx: SxProps<Theme>;
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { SxProps, Theme } from '@mui/material';
|
|
2
|
-
/**
|
|
3
|
-
* Styling for `PhoneNumberInput`. The label floats on the field's top border,
|
|
4
|
-
* with the value and the leading country trigger vertically centred. The country
|
|
5
|
-
* trigger opens a searchable popover (a MUI `Autocomplete` rendered inline).
|
|
6
|
-
* These `sx` objects keep the component file lean, mirroring `number-input.theme`.
|
|
7
|
-
*/
|
|
8
|
-
/** Applied to the outer `OutlinedInput`: centre the row and give the value room. */
|
|
9
|
-
export declare const phoneNumberInputRootSx: SxProps<Theme>;
|
|
10
|
-
/**
|
|
11
|
-
* Applied to the standalone `FormControl`. Pins the floated (shrunk) label to
|
|
12
|
-
* the top-left of the border instead of the generic start-adornment offset
|
|
13
|
-
* (`translate(2.4rem, …)` from `formControlTheme`), which would land it over the
|
|
14
|
-
* country flag. Matches that rule's specificity so this wins by source order.
|
|
15
|
-
*/
|
|
16
|
-
export declare const phoneNumberFormControlSx: SxProps<Theme>;
|
|
17
|
-
/** The compact country trigger button embedded in the leading adornment. */
|
|
18
|
-
export declare const countryTriggerSx: SxProps<Theme>;
|
|
19
|
-
/** The flag glyph shown in the trigger and the option rows. */
|
|
20
|
-
export declare const countryFlagSx: SxProps<Theme>;
|
|
21
|
-
/** The popper wrapping the search popover, above the field. */
|
|
22
|
-
export declare const countryPopperSx: SxProps<Theme>;
|
|
23
|
-
/**
|
|
24
|
-
* The popover surface holding the search box and the country list. Its width is
|
|
25
|
-
* set at runtime to match the input it anchors to, so the two line up exactly.
|
|
26
|
-
*/
|
|
27
|
-
export declare const countryPopoverSx: SxProps<Theme>;
|
|
28
|
-
/**
|
|
29
|
-
* Neutralises the global `MuiAutocomplete` theme for our inline instance: drop
|
|
30
|
-
* the root's boxed background and radius so the search box reads as a flat row
|
|
31
|
-
* of our own popover. (The listbox popper is pulled back into flow on the
|
|
32
|
-
* `InlineListbox` element itself, since it renders as a sibling of the root.)
|
|
33
|
-
*/
|
|
34
|
-
export declare const countryAutocompleteSx: SxProps<Theme>;
|
|
35
|
-
/** The search input at the top of the popover. */
|
|
36
|
-
export declare const countrySearchSx: SxProps<Theme>;
|
|
37
|
-
/**
|
|
38
|
-
* Strips the `Autocomplete`'s own paper so our popover surface is the only one;
|
|
39
|
-
* the listbox renders inline beneath the search box.
|
|
40
|
-
*/
|
|
41
|
-
export declare const countryListPaperSx: SxProps<Theme>;
|
|
42
|
-
/** An option row: flag, country name (grows), dialling code. */
|
|
43
|
-
export declare const countryOptionSx: SxProps<Theme>;
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { SxProps, Theme } from '@mui/material';
|
|
2
|
-
/**
|
|
3
|
-
* Styling for the segmented `Tabs` control. Base UI has no MUI slot to override
|
|
4
|
-
* globally, so — like `number-input` — these are exported `sx` objects the
|
|
5
|
-
* component applies, keeping the component lean while the visual tokens live
|
|
6
|
-
* here.
|
|
7
|
-
*/
|
|
8
|
-
/** The visual variants of the active "pill". */
|
|
9
|
-
export type TabsVariant = "brand" | "greyscale";
|
|
10
|
-
/**
|
|
11
|
-
* The track that holds the tab buttons: a rounded, beige pill container. Scrolls
|
|
12
|
-
* horizontally when the tabs overflow (e.g. on mobile) with the scrollbar
|
|
13
|
-
* hidden, and positions the sliding indicator via `position: relative`.
|
|
14
|
-
*/
|
|
15
|
-
export declare const tabsListSx: SxProps<Theme>;
|
|
16
|
-
/**
|
|
17
|
-
* A single tab button. Transparent by default with muted text; the active tab
|
|
18
|
-
* sits above the pill indicator (`zIndex: 1`) and flips to contrast text. Icons
|
|
19
|
-
* are laid out inline before the label.
|
|
20
|
-
*/
|
|
21
|
-
export declare const tabSx: SxProps<Theme>;
|
|
22
|
-
/**
|
|
23
|
-
* A tab panel. Base UI makes the panel focusable (`tabIndex={0}`) so keyboard
|
|
24
|
-
* users can reach its content, so it needs a visible focus ring and a little
|
|
25
|
-
* breathing room from the tab list.
|
|
26
|
-
*/
|
|
27
|
-
export declare const tabPanelSx: SxProps<Theme>;
|
|
28
|
-
/**
|
|
29
|
-
* The sliding "pill" behind the active tab. Base UI exposes the active tab's
|
|
30
|
-
* geometry as CSS variables on this element (`--active-tab-*`); we translate
|
|
31
|
-
* those into position/size. The slide is disabled under
|
|
32
|
-
* `prefers-reduced-motion`.
|
|
33
|
-
*/
|
|
34
|
-
export declare const tabsIndicatorSx: (variant: TabsVariant) => SxProps<Theme>;
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
import { Components, Theme } from '@mui/material';
|
|
2
|
-
export type TooltipTriggerVariant = "icon" | "filled" | "outlined";
|
|
3
|
-
export type TooltipSurfaceVariant = "light" | "dark";
|
|
4
|
-
export declare const tooltipSurfaceStyles: (variant: TooltipSurfaceVariant) => {
|
|
5
|
-
backgroundColor: string;
|
|
6
|
-
color: string;
|
|
7
|
-
boxShadow: "0px 4px 6px -1px rgba(0, 0, 0, 0.10), 0px 2px 4px -2px rgba(0, 0, 0, 0.10)";
|
|
8
|
-
};
|
|
9
|
-
export declare const tooltipSurfaceSx: (variant: TooltipSurfaceVariant) => {
|
|
10
|
-
backgroundColor: string;
|
|
11
|
-
color: string;
|
|
12
|
-
boxShadow: "0px 4px 6px -1px rgba(0, 0, 0, 0.10), 0px 2px 4px -2px rgba(0, 0, 0, 0.10)";
|
|
13
|
-
};
|
|
14
|
-
export declare const tooltipTriggerSx: (variant: TooltipTriggerVariant) => {
|
|
15
|
-
display: string;
|
|
16
|
-
alignItems: string;
|
|
17
|
-
justifyContent: string;
|
|
18
|
-
boxSizing: string;
|
|
19
|
-
width: string;
|
|
20
|
-
height: string;
|
|
21
|
-
margin: string;
|
|
22
|
-
border: number;
|
|
23
|
-
backgroundColor: string;
|
|
24
|
-
cursor: string;
|
|
25
|
-
lineHeight: number;
|
|
26
|
-
color: string;
|
|
27
|
-
transition: string;
|
|
28
|
-
"&:hover": {
|
|
29
|
-
color: string;
|
|
30
|
-
};
|
|
31
|
-
"&:focus-visible": {
|
|
32
|
-
outline: string;
|
|
33
|
-
outlineOffset: string;
|
|
34
|
-
borderRadius: 100;
|
|
35
|
-
};
|
|
36
|
-
};
|
|
37
|
-
export declare const tooltipIconMarkSx: (variant: TooltipTriggerVariant) => {
|
|
38
|
-
width: string;
|
|
39
|
-
height: string;
|
|
40
|
-
borderRadius: 100;
|
|
41
|
-
backgroundColor: string;
|
|
42
|
-
color: string;
|
|
43
|
-
"&:hover": {
|
|
44
|
-
backgroundColor: string;
|
|
45
|
-
};
|
|
46
|
-
display: "inline-flex";
|
|
47
|
-
alignItems: "center";
|
|
48
|
-
justifyContent: "center";
|
|
49
|
-
position: "relative";
|
|
50
|
-
flexShrink: 0;
|
|
51
|
-
boxSizing: "border-box";
|
|
52
|
-
"&::before": {
|
|
53
|
-
readonly content: "\"\"";
|
|
54
|
-
readonly position: "absolute";
|
|
55
|
-
readonly width: string;
|
|
56
|
-
readonly height: string;
|
|
57
|
-
readonly borderRadius: 100;
|
|
58
|
-
readonly backgroundColor: "currentColor";
|
|
59
|
-
readonly left: "50%";
|
|
60
|
-
readonly top: "50%";
|
|
61
|
-
readonly transform: "translate(-50%, -8%)";
|
|
62
|
-
};
|
|
63
|
-
"&::after": {
|
|
64
|
-
readonly content: "\"\"";
|
|
65
|
-
readonly position: "absolute";
|
|
66
|
-
readonly width: string;
|
|
67
|
-
readonly height: string;
|
|
68
|
-
readonly borderRadius: 100;
|
|
69
|
-
readonly backgroundColor: "currentColor";
|
|
70
|
-
readonly left: "50%";
|
|
71
|
-
readonly top: "50%";
|
|
72
|
-
readonly transform: "translate(-50%, -190%)";
|
|
73
|
-
};
|
|
74
|
-
} | {
|
|
75
|
-
width: string;
|
|
76
|
-
height: string;
|
|
77
|
-
borderRadius: 100;
|
|
78
|
-
border: string;
|
|
79
|
-
backgroundColor: string;
|
|
80
|
-
color: string;
|
|
81
|
-
display: "inline-flex";
|
|
82
|
-
alignItems: "center";
|
|
83
|
-
justifyContent: "center";
|
|
84
|
-
position: "relative";
|
|
85
|
-
flexShrink: 0;
|
|
86
|
-
boxSizing: "border-box";
|
|
87
|
-
"&::before": {
|
|
88
|
-
readonly content: "\"\"";
|
|
89
|
-
readonly position: "absolute";
|
|
90
|
-
readonly width: string;
|
|
91
|
-
readonly height: string;
|
|
92
|
-
readonly borderRadius: 100;
|
|
93
|
-
readonly backgroundColor: "currentColor";
|
|
94
|
-
readonly left: "50%";
|
|
95
|
-
readonly top: "50%";
|
|
96
|
-
readonly transform: "translate(-50%, -8%)";
|
|
97
|
-
};
|
|
98
|
-
"&::after": {
|
|
99
|
-
readonly content: "\"\"";
|
|
100
|
-
readonly position: "absolute";
|
|
101
|
-
readonly width: string;
|
|
102
|
-
readonly height: string;
|
|
103
|
-
readonly borderRadius: 100;
|
|
104
|
-
readonly backgroundColor: "currentColor";
|
|
105
|
-
readonly left: "50%";
|
|
106
|
-
readonly top: "50%";
|
|
107
|
-
readonly transform: "translate(-50%, -190%)";
|
|
108
|
-
};
|
|
109
|
-
};
|
|
110
|
-
export declare const tooltipTheme: Pick<Components<Theme>, "MuiTooltip">;
|
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* MUI module augmentation for Lea Bank design tokens.
|
|
3
|
-
* Imported from the package entry so consumers get palette / prop autocomplete.
|
|
4
|
-
*/
|
|
5
|
-
import "@mui/x-date-pickers/themeAugmentation";
|
|
6
|
-
declare module "@mui/material/styles" {
|
|
7
|
-
interface PaletteBg {
|
|
8
|
-
base: string;
|
|
9
|
-
subtle: string;
|
|
10
|
-
muted: string;
|
|
11
|
-
contrast: string;
|
|
12
|
-
accent: string;
|
|
13
|
-
}
|
|
14
|
-
interface PaletteBorder {
|
|
15
|
-
base: string;
|
|
16
|
-
subtle: string;
|
|
17
|
-
strong: string;
|
|
18
|
-
accent: string;
|
|
19
|
-
contrast: string;
|
|
20
|
-
}
|
|
21
|
-
interface PaletteBrand {
|
|
22
|
-
base: string;
|
|
23
|
-
hover: string;
|
|
24
|
-
subtle: string;
|
|
25
|
-
contrast: string;
|
|
26
|
-
}
|
|
27
|
-
interface PaletteStatusColor {
|
|
28
|
-
base: string;
|
|
29
|
-
subtle: string;
|
|
30
|
-
}
|
|
31
|
-
interface PaletteStatus {
|
|
32
|
-
error: PaletteStatusColor;
|
|
33
|
-
warning: PaletteStatusColor;
|
|
34
|
-
info: PaletteStatusColor;
|
|
35
|
-
success: PaletteStatusColor;
|
|
36
|
-
}
|
|
37
|
-
interface Palette {
|
|
38
|
-
bg: PaletteBg;
|
|
39
|
-
border: PaletteBorder;
|
|
40
|
-
status: PaletteStatus;
|
|
41
|
-
purple: PaletteBrand;
|
|
42
|
-
teal: PaletteBrand;
|
|
43
|
-
}
|
|
44
|
-
interface PaletteOptions {
|
|
45
|
-
bg: PaletteBg;
|
|
46
|
-
border: PaletteBorder;
|
|
47
|
-
status: PaletteStatus;
|
|
48
|
-
purple: PaletteBrand;
|
|
49
|
-
teal: PaletteBrand;
|
|
50
|
-
}
|
|
51
|
-
interface TypeText {
|
|
52
|
-
base: string;
|
|
53
|
-
subtle: string;
|
|
54
|
-
muted: string;
|
|
55
|
-
accent: string;
|
|
56
|
-
contrast: string;
|
|
57
|
-
}
|
|
58
|
-
interface TypeTextOptions {
|
|
59
|
-
base?: string;
|
|
60
|
-
subtle?: string;
|
|
61
|
-
muted?: string;
|
|
62
|
-
accent?: string;
|
|
63
|
-
contrast?: string;
|
|
64
|
-
}
|
|
65
|
-
interface Shape {
|
|
66
|
-
sm: number;
|
|
67
|
-
md: number;
|
|
68
|
-
lg: number;
|
|
69
|
-
xl: number;
|
|
70
|
-
"2xl": number;
|
|
71
|
-
"3xl": number;
|
|
72
|
-
"4xl": number;
|
|
73
|
-
"5xl": number;
|
|
74
|
-
huge: number;
|
|
75
|
-
full: number;
|
|
76
|
-
}
|
|
77
|
-
interface ShapeOptions {
|
|
78
|
-
sm?: number;
|
|
79
|
-
md?: number;
|
|
80
|
-
lg?: number;
|
|
81
|
-
xl?: number;
|
|
82
|
-
"2xl"?: number;
|
|
83
|
-
"3xl"?: number;
|
|
84
|
-
"4xl"?: number;
|
|
85
|
-
"5xl"?: number;
|
|
86
|
-
huge?: number;
|
|
87
|
-
full?: number;
|
|
88
|
-
}
|
|
89
|
-
interface Theme {
|
|
90
|
-
fontSizes: typeof import("./tokens/font-sizes").fontSizes;
|
|
91
|
-
colors: typeof import("./tokens/colors").colors;
|
|
92
|
-
palette: typeof import("./tokens/palette").palette;
|
|
93
|
-
shape: typeof import("./tokens/shape").shape;
|
|
94
|
-
/** Design-token shadows (distinct from MUI `theme.shadows` elevation tuple). */
|
|
95
|
-
shadowTokens: typeof import("./tokens/shadows").shadows;
|
|
96
|
-
fontWeights: typeof import("./tokens/font-weights").fontWeights;
|
|
97
|
-
/** 8px-base spacing helper in rem (separate from MUI `theme.spacing`). */
|
|
98
|
-
space: typeof import("./tokens/spacing").spacing;
|
|
99
|
-
easings: typeof import("./tokens/transitions").easings;
|
|
100
|
-
durations: typeof import("./tokens/transitions").durations;
|
|
101
|
-
transition: typeof import("./tokens/transitions").transition;
|
|
102
|
-
}
|
|
103
|
-
interface ThemeOptions {
|
|
104
|
-
fontSizes?: Theme["fontSizes"];
|
|
105
|
-
colors?: Theme["colors"];
|
|
106
|
-
shape?: Theme["shape"];
|
|
107
|
-
shadowTokens?: Theme["shadowTokens"];
|
|
108
|
-
fontWeights?: Theme["fontWeights"];
|
|
109
|
-
space?: Theme["space"];
|
|
110
|
-
easings?: Theme["easings"];
|
|
111
|
-
durations?: Theme["durations"];
|
|
112
|
-
transition?: Theme["transition"];
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
declare module "@mui/material/Alert" {
|
|
116
|
-
interface AlertPropsColorOverrides {
|
|
117
|
-
purple: true;
|
|
118
|
-
grey: true;
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
declare module "@mui/material/Button" {
|
|
122
|
-
interface ButtonPropsVariantOverrides {
|
|
123
|
-
action: true;
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
declare module "@mui/material/Chip" {
|
|
127
|
-
interface ChipPropsColorOverrides {
|
|
128
|
-
purple: true;
|
|
129
|
-
blue: true;
|
|
130
|
-
teal: true;
|
|
131
|
-
orange: true;
|
|
132
|
-
grey: true;
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
declare module "@mui/material/Typography" {
|
|
136
|
-
interface TypographyOwnProps {
|
|
137
|
-
fontSize?: keyof import("@mui/material/styles").Theme["fontSizes"] | (string & {}) | number | undefined;
|
|
138
|
-
}
|
|
139
|
-
interface TypographyPropsColorOverrides {
|
|
140
|
-
"text.base": true;
|
|
141
|
-
"text.subtle": true;
|
|
142
|
-
"text.muted": true;
|
|
143
|
-
"text.accent": true;
|
|
144
|
-
"text.contrast": true;
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
export {};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Custom `sx` resolver for `borderRadius` so the radius design tokens work as
|
|
3
|
-
* string shorthands — `borderRadius="md"`, `sx={{ borderRadius: "2xl" }}` — while
|
|
4
|
-
* numbers keep MUI's default `shape.borderRadius` scaling. Wired into the theme
|
|
5
|
-
* via `unstable_sxConfig` (see `theme/index.ts`).
|
|
6
|
-
*/
|
|
7
|
-
export declare const borderRadiusSx: {
|
|
8
|
-
(props: object): any;
|
|
9
|
-
filterProps: string[];
|
|
10
|
-
};
|
|
File without changes
|