@midas-ds/components 7.0.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.
package/label/Label.d.ts CHANGED
@@ -1,10 +1,9 @@
1
1
  import { LabelProps as AriaLabelProps } from 'react-aria-components';
2
2
  import * as React from 'react';
3
- export type LabelVariant = 'label-01' | 'label-02';
4
3
  export interface LabelProps extends AriaLabelProps {
5
4
  /**
6
5
  * The visual variant of the component
7
6
  */
8
- variant?: LabelVariant;
7
+ variant?: 'label-01' | 'label-02';
9
8
  }
10
9
  export declare const Label: React.FC<LabelProps>;
@@ -4,6 +4,8 @@ import { Header } from './components/Header';
4
4
  import { SidebarLink } from './components/SidebarLink';
5
5
  import { Href } from '@react-types/shared';
6
6
  import { LayoutProvider } from './context/LayoutContext';
7
+ import { Backdrop } from './components/Backdrop';
8
+ import { Navbar } from './components/Navbar';
7
9
  import * as React from 'react';
8
10
  export interface SidebarLinkGroup {
9
11
  title?: string;
@@ -14,6 +16,7 @@ export interface SidebarLinkProps {
14
16
  href: string;
15
17
  icon: LucideIcon;
16
18
  active?: boolean;
19
+ hasBadge?: boolean;
17
20
  isCollapsed?: boolean;
18
21
  setIsOpened?: React.Dispatch<React.SetStateAction<boolean>>;
19
22
  }
@@ -44,11 +47,14 @@ export interface MidasLayout {
44
47
  */
45
48
  clientSideRouter?: (path: string, routerOptions: undefined) => void;
46
49
  clientSideHref?: (href: Href) => string;
50
+ variant: 'internal' | 'external';
47
51
  }
48
52
  export declare const Layout: React.FC<MidasLayout> & {
49
53
  Provider: typeof LayoutProvider;
50
54
  Header: typeof Header;
51
55
  Sidebar: typeof Sidebar;
52
56
  SidebarLink: typeof SidebarLink;
57
+ Navbar: typeof Navbar;
58
+ Backdrop: typeof Backdrop;
53
59
  };
54
60
  export {};
@@ -0,0 +1 @@
1
+ export declare const Navbar: React.FC;
@@ -9,10 +9,11 @@ interface LayoutContextProps {
9
9
  headerChildren: React.ReactNode;
10
10
  isCollapsed: boolean;
11
11
  setIsCollapsed: React.Dispatch<React.SetStateAction<boolean>>;
12
- isOpened: boolean;
13
- setIsOpened: React.Dispatch<React.SetStateAction<boolean>>;
12
+ isOpened?: boolean;
13
+ setIsOpened?: React.Dispatch<React.SetStateAction<boolean>>;
14
14
  clientSideRouter?: (path: string, routerOptions: undefined) => void;
15
15
  clientSideHref?: (href: Href) => string;
16
+ variant: 'internal' | 'external';
16
17
  }
17
18
  export declare const LayoutProvider: React.FC<LayoutContextProps & {
18
19
  children: React.ReactNode;
package/layout/index.d.ts CHANGED
@@ -2,3 +2,4 @@ export * from './Layout';
2
2
  export * from './components/Header';
3
3
  export * from './components/Sidebar';
4
4
  export * from './components/SidebarLink';
5
+ export * from './components/Navbar';
package/link/Link.d.ts CHANGED
@@ -2,8 +2,11 @@ import { Link as AriaLink, RouterProvider } from 'react-aria-components';
2
2
  import { LucideIcon } from 'lucide-react';
3
3
  interface MidasLinkProps<C extends React.ElementType> {
4
4
  children: React.ReactNode;
5
+ /** Use standalone to use the component as a standalone link, for example under a block of text.*/
5
6
  standalone?: boolean;
7
+ /** Use stretched to make the entire parent element clickable to the link. The parent must have position: relative; so that the clickable area of the link does not extend too far.*/
6
8
  stretched?: boolean;
9
+ /** Optional icon, placed to the left of the link */
7
10
  icon?: LucideIcon;
8
11
  className?: string;
9
12
  as?: C;
package/link/index.d.ts CHANGED
@@ -1 +1 @@
1
- export { Link, RouterProvider } from './Link';
1
+ export { Link, RouterProvider, type LinkProps } from './Link';
package/package.json CHANGED
@@ -14,7 +14,7 @@
14
14
  "description": "Midas Components",
15
15
  "homepage": "https://designsystem.migrationsverket.se/",
16
16
  "license": "CC0-1.0",
17
- "version": "7.0.0",
17
+ "version": "8.0.0",
18
18
  "main": "./index.cjs",
19
19
  "module": "./index.js",
20
20
  "types": "./index.d.ts",
package/radio/Radio.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { RadioGroupProps, ValidationResult, RadioProps } from 'react-aria-components';
1
+ import { RadioGroupProps, RadioProps, ValidationResult } from 'react-aria-components';
2
2
  import * as React from 'react';
3
3
  interface MVDSRadioGroupProps extends Omit<RadioGroupProps, 'children'> {
4
4
  children?: React.ReactNode;
@@ -8,6 +8,7 @@ interface MVDSRadioGroupProps extends Omit<RadioGroupProps, 'children'> {
8
8
  description?: string;
9
9
  /** String to display as error message or function to handle the result and produce the error message */
10
10
  errorMessage?: string | ((validation: ValidationResult) => string);
11
+ errorPosition?: 'top' | 'bottom';
11
12
  }
12
13
  /**
13
14
  * RadioGroup is used to group several radio items together
@@ -13,5 +13,6 @@ export interface SearchFieldProps extends Omit<AriaSearchFieldProps, 'isRequired
13
13
  * A custom error message if using the isInvalid prop.
14
14
  */
15
15
  errorMessage?: string;
16
+ errorPosition?: 'top' | 'bottom';
16
17
  }
17
18
  export declare const SearchField: React.FC<SearchFieldProps>;
@@ -16,7 +16,7 @@ type OptionSection = {
16
16
  };
17
17
  export type Option = OptionItem | OptionSection;
18
18
  export type SelectionMode = 'single' | 'multiple';
19
- type SelectProps = {
19
+ export type SelectProps = {
20
20
  /** Whether the element should receive focus on render. */
21
21
  autoFocus?: boolean;
22
22
  children: CollectionChildren<Option>;
@@ -65,6 +65,7 @@ type SelectProps = {
65
65
  isRequired?: boolean;
66
66
  /** Name of the field, for uncontrolled use */
67
67
  name?: string;
68
+ errorPosition?: 'top' | 'bottom';
68
69
  };
69
70
  export declare const SelectComponent: React.ForwardRefExoticComponent<SelectProps & React.RefAttributes<HTMLButtonElement>>;
70
71
  export declare const Select: React.ForwardRefExoticComponent<Omit<SelectProps, "children" | "items"> & {
@@ -1,26 +1,19 @@
1
1
  import { MenuTriggerState } from '@react-stately/menu';
2
- import { Key } from 'react-aria';
3
2
  import { MultiSelectListState } from './useMultiSelectListState';
4
3
  import { OverlayTriggerProps } from '@react-types/overlays';
5
- import { AsyncLoadable, CollectionBase, FocusableProps, InputBase, LabelableProps, MultipleSelection, TextInputBase, Validation, Selection } from '@react-types/shared';
4
+ import { AsyncLoadable, CollectionBase, FocusableProps, InputBase, LabelableProps, MultipleSelection, TextInputBase, Validation } from '@react-types/shared';
6
5
  import { FormValidationState } from '@react-stately/form';
7
- import { SingleSelectListState } from 'react-stately';
8
- /** Added this for a better output, will see how this plays out */
9
- interface ArraySelection extends Omit<MultipleSelection, 'onSelectionChange'> {
10
- onSelectionChange?: (value: Selection | Key | Key[]) => void;
11
- }
12
- export interface MultiSelectProps<T> extends CollectionBase<T>, AsyncLoadable, Omit<InputBase, 'isReadOnly'>, Validation, LabelableProps, TextInputBase, ArraySelection, FocusableProps, OverlayTriggerProps {
6
+ export interface MultiSelectProps<T> extends CollectionBase<T>, AsyncLoadable, Omit<InputBase, 'isReadOnly'>, Validation, LabelableProps, TextInputBase, MultipleSelection, FocusableProps, OverlayTriggerProps {
13
7
  /**
14
8
  * Whether the menu should automatically flip direction when space is limited.
15
9
  * @default true
16
10
  */
17
11
  shouldFlip?: boolean;
18
12
  }
19
- export interface MultiSelectState<T> extends MultiSelectListState<T>, MenuTriggerState, SingleSelectListState<T>, FormValidationState {
13
+ export interface MultiSelectState<T> extends MultiSelectListState<T>, MenuTriggerState, FormValidationState {
20
14
  /** Whether the select is currently focused. */
21
15
  isFocused: boolean;
22
16
  /** Sets whether the select is focused. */
23
17
  setFocused(isFocused: boolean): void;
24
18
  }
25
19
  export declare function useMultiSelectState<T extends object>(props: MultiSelectProps<T>): MultiSelectState<T>;
26
- export {};
@@ -1,11 +1,16 @@
1
1
  export interface SpinnerProps {
2
- /** Displays a smaller when set to true
2
+ /** Displays a smaller spinner when set to true
3
3
  * @default false
4
- * */
4
+ */
5
5
  small?: boolean;
6
+ /** For use on coloured background
7
+ * @default false
8
+ */
9
+ isOnColor?: boolean;
6
10
  /** For use on dark background
7
11
  * @default false
8
- * */
12
+ * @deprecated please use `isOnColor` instead
13
+ */
9
14
  dark?: boolean;
10
15
  }
11
16
  export declare const Spinner: React.FC<SpinnerProps>;
package/table/Table.d.ts CHANGED
@@ -1,7 +1,12 @@
1
1
  import { RowProps, TableHeaderProps, ColumnProps, TableProps as AriaTableProps, CellProps, TableBody } from 'react-aria-components';
2
2
  export interface TableProps extends AriaTableProps {
3
- /** @deprecated This variant will be replaced with a new scaling api accross all components. */
3
+ /**
4
+ * @deprecated This variant will be replaced with a new scaling api accross all components.
5
+ */
4
6
  narrow?: boolean;
7
+ /**
8
+ * Alternating colors for rows
9
+ */
5
10
  striped?: boolean;
6
11
  }
7
12
  export declare const Table: ({ narrow, striped, className, ...rest }: TableProps) => import("react/jsx-runtime").JSX.Element;
package/table/index.d.ts CHANGED
@@ -1 +1 @@
1
- export { Table, TableHeader, TableBody, Row, Cell, Column } from './Table';
1
+ export * from './Table';
package/tabs/Tabs.d.ts CHANGED
@@ -1,12 +1,22 @@
1
+ import { TabsProps as AriaTabsProps } from 'react-aria-components';
1
2
  import * as React from 'react';
2
- export interface TabsProps<T extends string> {
3
- /** An array of tab titles */
4
- tabs: T[];
5
- /** Lable for accecibility */
3
+ export interface TabsProps extends Omit<AriaTabsProps, 'orientation'> {
4
+ /**
5
+ * An array of tab titles
6
+ */
7
+ tabs: string[];
8
+ /**
9
+ * Label for accessibility
10
+ */
6
11
  label: string;
7
- /** Choose another than the first tab to be selected by default. Name must match one of the tabs */
8
- defaultSelected?: T;
9
- /** Amount of children must match the amount of tabs */
12
+ /**
13
+ * Amount of children must match the amount of tabs
14
+ */
10
15
  children: React.ReactNode;
16
+ /**
17
+ * @deprecated
18
+ * Please use `defaultSelectedKey` instead
19
+ */
20
+ defaultSelected?: string;
11
21
  }
12
- export declare const Tabs: <T extends string>({ tabs, label, defaultSelected, children }: TabsProps<T>) => import("react/jsx-runtime").JSX.Element;
22
+ export declare const Tabs: React.FC<TabsProps>;
package/tabs/index.d.ts CHANGED
@@ -1 +1 @@
1
- export { Tabs } from './Tabs';
1
+ export * from './Tabs';
package/text/Text.d.ts CHANGED
@@ -1,11 +1,10 @@
1
1
  import { TextProps as AriaTextProps } from 'react-aria-components';
2
2
  import * as React from 'react';
3
- export type TextVariant = 'body-01' | 'body-02';
4
3
  export interface TextProps extends AriaTextProps {
5
4
  /**
6
5
  * The visual variant of the component
7
6
  */
8
- variant?: TextVariant;
7
+ variant?: 'body-01' | 'body-02';
9
8
  /**
10
9
  * Use the external/expressive look
11
10
  */
@@ -7,7 +7,8 @@ export interface TextFieldBaseProps extends Omit<TextFieldProps, 'className'> {
7
7
  /** Specify description displayed below the label */
8
8
  description?: string;
9
9
  /** Custom error messages */
10
- errorMessage?: string | ((validation: ValidationResult) => string) | undefined;
10
+ errorMessage?: string | ((validation: ValidationResult) => string);
11
+ errorPosition?: 'top' | 'bottom';
11
12
  /**
12
13
  * Whether to show the character counter or not
13
14
  * @default
package/theme/index.d.ts CHANGED
@@ -101,6 +101,11 @@ export declare const theme: {
101
101
  normal: string;
102
102
  fast: string;
103
103
  };
104
+ windowSizes: {
105
+ md: number;
106
+ lg: number;
107
+ xl: number;
108
+ };
104
109
  breakpoints: {
105
110
  sm: string;
106
111
  md: string;
@@ -111,9 +116,9 @@ export declare const theme: {
111
116
  prefersReducedMotion: string;
112
117
  };
113
118
  semantic: {
114
- background01: string;
115
- backgroundHover01: string;
116
- backgroundInverse01: string;
119
+ background: string;
120
+ backgroundHover: string;
121
+ backgroundInverse: string;
117
122
  layer01: string;
118
123
  layerHover01: string;
119
124
  layerSelected01: string;
@@ -135,8 +140,6 @@ export declare const theme: {
135
140
  borderBrand: string;
136
141
  borderInvalid: string;
137
142
  borderDisabled: string;
138
- borderSkeleton: string;
139
- borderInverse: string;
140
143
  field01: string;
141
144
  fieldHover01: string;
142
145
  fieldActive01: string;
@@ -149,7 +152,6 @@ export declare const theme: {
149
152
  iconSecondary: string;
150
153
  iconInverse: string;
151
154
  iconOnColor: string;
152
- iconDanger: string;
153
155
  iconDisabled: string;
154
156
  iconSuccess: string;
155
157
  iconInfo: string;
@@ -169,10 +171,9 @@ export declare const theme: {
169
171
  notificationBackgroundWarning: string;
170
172
  textPrimary: string;
171
173
  textSecondary: string;
172
- textBrand: string;
174
+ textTertiary: string;
173
175
  textOnColor: string;
174
176
  textInverse: string;
175
- textSubtle: string;
176
177
  textDisabled: string;
177
178
  textInvalid: string;
178
179
  textPlaceholder: string;
@@ -189,9 +190,14 @@ export declare const theme: {
189
190
  buttonBackgroundDangerActive: string;
190
191
  buttonBackgroundDisabled: string;
191
192
  buttonBackgroundSkeleton: string;
192
- buttonBackgroundGhostHover: string;
193
- buttonBackgroundGhostActive: string;
194
- buttonBorderPrimary: string;
193
+ buttonBorderSecondary: string;
195
194
  logoPrimary: string;
196
195
  };
196
+ zIndex: {
197
+ base: number;
198
+ above: number;
199
+ modal: number;
200
+ toast: number;
201
+ skipToContent: number;
202
+ };
197
203
  };
package/theme/tokens.d.ts CHANGED
@@ -99,6 +99,11 @@ export declare const transitions: {
99
99
  normal: string;
100
100
  fast: string;
101
101
  };
102
+ export declare const windowSizes: {
103
+ md: number;
104
+ lg: number;
105
+ xl: number;
106
+ };
102
107
  export declare const breakpoints: {
103
108
  sm: string;
104
109
  md: string;
@@ -109,9 +114,9 @@ export declare const breakpoints: {
109
114
  prefersReducedMotion: string;
110
115
  };
111
116
  export declare const semantic: {
112
- background01: string;
113
- backgroundHover01: string;
114
- backgroundInverse01: string;
117
+ background: string;
118
+ backgroundHover: string;
119
+ backgroundInverse: string;
115
120
  layer01: string;
116
121
  layerHover01: string;
117
122
  layerSelected01: string;
@@ -133,8 +138,6 @@ export declare const semantic: {
133
138
  borderBrand: string;
134
139
  borderInvalid: string;
135
140
  borderDisabled: string;
136
- borderSkeleton: string;
137
- borderInverse: string;
138
141
  field01: string;
139
142
  fieldHover01: string;
140
143
  fieldActive01: string;
@@ -147,7 +150,6 @@ export declare const semantic: {
147
150
  iconSecondary: string;
148
151
  iconInverse: string;
149
152
  iconOnColor: string;
150
- iconDanger: string;
151
153
  iconDisabled: string;
152
154
  iconSuccess: string;
153
155
  iconInfo: string;
@@ -167,10 +169,9 @@ export declare const semantic: {
167
169
  notificationBackgroundWarning: string;
168
170
  textPrimary: string;
169
171
  textSecondary: string;
170
- textBrand: string;
172
+ textTertiary: string;
171
173
  textOnColor: string;
172
174
  textInverse: string;
173
- textSubtle: string;
174
175
  textDisabled: string;
175
176
  textInvalid: string;
176
177
  textPlaceholder: string;
@@ -187,8 +188,13 @@ export declare const semantic: {
187
188
  buttonBackgroundDangerActive: string;
188
189
  buttonBackgroundDisabled: string;
189
190
  buttonBackgroundSkeleton: string;
190
- buttonBackgroundGhostHover: string;
191
- buttonBackgroundGhostActive: string;
192
- buttonBorderPrimary: string;
191
+ buttonBorderSecondary: string;
193
192
  logoPrimary: string;
194
193
  };
194
+ export declare const zIndex: {
195
+ base: number;
196
+ above: number;
197
+ modal: number;
198
+ toast: number;
199
+ skipToContent: number;
200
+ };
package/theme.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./tokens-DzCqA9U7.cjs"),s={...t.tokens};exports.baseColors=t.baseColors;exports.breakpoints=t.breakpoints;exports.semantic=t.semantic;exports.spacing=t.spacing;exports.states=t.states;exports.transitions=t.transitions;exports.typography=t.typography;exports.theme=s;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./tokens-BzHPOv0Z.cjs"),s={...e.tokens};exports.baseColors=e.baseColors;exports.breakpoints=e.breakpoints;exports.semantic=e.semantic;exports.spacing=e.spacing;exports.states=e.states;exports.transitions=e.transitions;exports.typography=e.typography;exports.windowSizes=e.windowSizes;exports.zIndex=e.zIndex;exports.theme=s;
package/theme.js CHANGED
@@ -1,13 +1,15 @@
1
- import { t as s } from "./tokens-DeYazHS9.js";
2
- import { b as r, f as n, s as p, c as i, d as m, e as c, a as b } from "./tokens-DeYazHS9.js";
1
+ import { t as s } from "./tokens-f_GueHFO.js";
2
+ import { b as n, f as r, s as i, c as p, d as m, e as c, a as b, w as d, z as f } from "./tokens-f_GueHFO.js";
3
3
  const t = { ...s };
4
4
  export {
5
- r as baseColors,
6
- n as breakpoints,
7
- p as semantic,
8
- i as spacing,
5
+ n as baseColors,
6
+ r as breakpoints,
7
+ i as semantic,
8
+ p as spacing,
9
9
  m as states,
10
10
  t as theme,
11
11
  c as transitions,
12
- b as typography
12
+ b as typography,
13
+ d as windowSizes,
14
+ f as zIndex
13
15
  };
@@ -0,0 +1 @@
1
+ "use strict";const r={black:"#000000",white:"#ffffff",blackHover:"#0d0d0d",whiteHover:"#e6e6e6",gray10:"#f2f2f2",gray20:"#e6e6e6",gray30:"#d9d9d9",gray40:"#cccccc",gray50:"#bfbfbf",gray60:"#b3b3b3",gray70:"#a6a6a6",gray80:"#999999",gray90:"#8c8c8c",gray100:"#808080",gray110:"#737373",gray120:"#666666",gray130:"#5d5d5d",gray140:"#525252",gray150:"#474747",gray160:"#383838",gray170:"#333333",gray180:"#262626",gray190:"#212121",gray200:"#171717",blue10:"#eaf2f6",blue20:"#d5e5ed",blue40:"#abcbdb",blue60:"#82b0c9",blue80:"#5897b8",blue90:"#4289ad",blue100:"#2e7ca5",blue140:"#25607f",blue170:"#143c50",purple80:"#b46ab4",purple140:"#954b95",red100:"#b90835",signalBlue20:"#eaf2f6",signalBlue140:"#0066cc",signalGreen20:"#d5f2d9",signalGreen140:"#008d3c",signalRed20:"#ffdfdf",signalRed140:"#e62323",signalRed160:"#b31b1b",signalRed180:"#801313",signalYellow20:"#fff8e1",signalYellow140:"#fdb813"},a={fontFamily:'"Inter", sans-serif',lineHeight01:1,lineHeight02:1.125,lineHeight03:1.25,lineHeight04:1.375,lineHeight05:1.5,lineHeight06:1.75,lineHeight07:2,lineHeight08:2.25,lineHeight09:2.5,size01:"0.75rem",size02:"0.875rem",size03:"1rem",size04:"1.125rem",size05:"1.25rem",size06:"1.5rem",size07:"1.75rem",size08:"2rem",size09:"2.25rem",size10:"2.625rem",weightThin:100,weightExtraLight:200,weightLight:300,weightRegular:400,weightMedium:500,weightSemiBold:600,weightBold:700,weightExtraBold:800,weightBlack:900},g={"01":"0.125rem","02":"0.25rem","03":"0.5rem","04":"0.75rem","05":"1rem","06":"1.5rem","07":"2rem","08":"2.5rem","09":"3rem",10:"4rem",11:"5rem",12:"6rem"},i={focus:"0 0 0 2px white, 0 0 0 4px black"},t={slow:"500ms",normal:"300ms",fast:"250ms"},e={md:768,lg:1200,xl:1440},l={sm:`(max-width: ${e.md-1}px)`,md:`(min-width: ${e.md}px)`,lg:`(min-width: ${e.lg}px)`,xl:`(min-width: ${e.xl}px)`,forcedColorsMode:"(forced-colors: active)",darkMode:"(prefers-color-scheme: dark)",prefersReducedMotion:"(prefers-reduced-motion: reduced)"},d={background:`light-dark(${r.white}, ${r.gray200})`,backgroundHover:`light-dark(${r.whiteHover}, ${r.gray190})`,backgroundInverse:`light-dark(${r.gray200}, ${r.gray10})`,layer01:`light-dark(${r.gray10}, ${r.gray180})`,layerHover01:`light-dark(${r.gray20}, ${r.gray170})`,layerSelected01:`light-dark(${r.gray30}, ${r.gray160})`,layerSelectedHover01:`light-dark(${r.gray40}, ${r.gray150})`,layer02:`light-dark(${r.white}, ${r.gray160})`,layerHover02:`light-dark(${r.whiteHover}, ${r.gray150})`,layerSelected02:`light-dark(${r.gray30}, ${r.gray140})`,layerSelectedHover02:`light-dark(${r.gray40}, ${r.gray130})`,layerAccent01:`light-dark(${r.gray30}, ${r.gray160})`,layerAccentHover01:`light-dark(${r.gray40}, ${r.gray150})`,layerAccentSelected01:`light-dark(${r.gray50}, ${r.gray140})`,layerAccent02:`light-dark(${r.gray10}, ${r.gray180})`,layerAccentHover02:`light-dark(${r.gray20}, ${r.gray170})`,layerAccentSelected02:`light-dark(${r.gray30}, ${r.gray160})`,brandPrimary:`light-dark(${r.red100}, ${r.red100})`,borderStrong:`light-dark(${r.gray200}, ${r.gray10})`,borderMedium:`light-dark(${r.gray110}, ${r.gray90})`,borderSubtle:`light-dark(${r.gray50}, ${r.gray160})`,borderBrand:`light-dark(${r.blue170}, ${r.blue170})`,borderInvalid:`light-dark(${r.signalRed140}, ${r.signalRed140})`,borderDisabled:`light-dark(${r.gray50}, ${r.gray140})`,field01:`light-dark(${r.gray10}, ${r.gray180})`,fieldHover01:`light-dark(${r.gray20}, ${r.gray170})`,fieldActive01:`light-dark(${r.gray30}, ${r.gray160})`,field02:`light-dark(${r.white}, ${r.gray160})`,fieldHover02:`light-dark(${r.whiteHover}, ${r.gray150})`,fieldActive02:`light-dark(${r.gray30}, ${r.gray140})`,fieldDisabled:`light-dark(${r.gray10}, ${r.gray180})`,fieldSkeleton:`light-dark(${r.gray10}, ${r.gray180})`,iconPrimary:`light-dark(${r.gray200}, ${r.gray10})`,iconSecondary:`light-dark(${r.blue170}, ${r.gray10})`,iconInverse:`light-dark(${r.white}, ${r.gray200})`,iconOnColor:`light-dark(${r.white}, ${r.white})`,iconDisabled:`light-dark(${r.gray50}, ${r.gray140})`,iconSuccess:`light-dark(${r.signalGreen140}, ${r.signalGreen140})`,iconInfo:`light-dark(${r.signalBlue140}, ${r.signalBlue140})`,iconWarning:`light-dark(${r.signalRed140}, ${r.signalRed140})`,iconImportant:`light-dark(${r.signalYellow140}, ${r.signalYellow140})`,linkEnabled:`light-dark(${r.blue100}, ${r.blue90})`,linkHover:`light-dark(${r.blue170}, ${r.blue80})`,linkPressed:`light-dark(${r.gray200}, ${r.blue60})`,linkVisited:`light-dark(${r.purple140}, ${r.purple80})`,notificationBorderSuccess:`light-dark(${r.signalGreen140}, ${r.signalGreen140})`,notificationBorderInfo:`light-dark(${r.signalBlue140}, ${r.signalBlue140})`,notificationBorderImportant:`light-dark(${r.signalYellow140}, ${r.signalYellow140})`,notificationBorderWarning:`light-dark(${r.signalRed140}, ${r.signalRed140})`,notificationBackgroundSuccess:`light-dark(${r.signalGreen20}, ${r.gray180})`,notificationBackgroundInfo:`light-dark(${r.signalBlue20}, ${r.gray180})`,notificationBackgroundImportant:`light-dark(${r.signalYellow20}, ${r.gray180})`,notificationBackgroundWarning:`light-dark(${r.signalRed20}, ${r.gray180})`,textPrimary:`light-dark(${r.gray200}, ${r.gray10})`,textSecondary:`light-dark(${r.gray140}, ${r.gray70})`,textTertiary:`light-dark(${r.blue170}, ${r.gray10})`,textOnColor:`light-dark(${r.white}, ${r.white})`,textInverse:`light-dark(${r.gray10}, ${r.gray200})`,textDisabled:`light-dark(${r.gray50}, ${r.gray140})`,textInvalid:`light-dark(${r.signalRed140}, ${r.signalRed140})`,textPlaceholder:`light-dark(${r.gray70}, ${r.gray140})`,buttonBackgroundPrimary:`light-dark(${r.blue170}, ${r.blue100})`,buttonBackgroundPrimaryHover:`light-dark(${r.blue140}, ${r.blue140})`,buttonBackgroundPrimaryActive:`light-dark(${r.blue100}, ${r.blue170})`,buttonBackgroundSecondary:`light-dark(${r.white}, ${r.gray200})`,buttonBackgroundSecondaryHover:`light-dark(${r.whiteHover}, ${r.gray190})`,buttonBackgroundSecondaryActive:`light-dark(${r.gray30}, ${r.gray180})`,buttonBackgroundTertiaryHover:`light-dark(${r.whiteHover}, ${r.gray190})`,buttonBackgroundTertiaryActive:`light-dark(${r.gray30}, ${r.gray180})`,buttonBackgroundDanger:`light-dark(${r.signalRed140}, ${r.signalRed140})`,buttonBackgroundDangerHover:`light-dark(${r.signalRed160}, ${r.signalRed160})`,buttonBackgroundDangerActive:`light-dark(${r.signalRed180}, ${r.signalRed180})`,buttonBackgroundDisabled:`light-dark(${r.gray10}, ${r.gray180})`,buttonBackgroundSkeleton:`light-dark(${r.gray10}, ${r.gray180})`,buttonBorderSecondary:`light-dark(${r.blue170}, ${r.gray10})`,logoPrimary:`light-dark(${r.red100}, ${r.white})`},n={base:1,above:10,modal:1e3,toast:1100,skipToContent:1200},o=Object.freeze(Object.defineProperty({__proto__:null,baseColors:r,breakpoints:l,semantic:d,spacing:g,states:i,transitions:t,typography:a,windowSizes:e,zIndex:n},Symbol.toStringTag,{value:"Module"}));exports.baseColors=r;exports.breakpoints=l;exports.semantic=d;exports.spacing=g;exports.states=i;exports.tokens=o;exports.transitions=t;exports.typography=a;exports.windowSizes=e;exports.zIndex=n;
@@ -45,7 +45,7 @@ const r = {
45
45
  signalRed180: "#801313",
46
46
  signalYellow20: "#fff8e1",
47
47
  signalYellow140: "#fdb813"
48
- }, a = {
48
+ }, e = {
49
49
  fontFamily: '"Inter", sans-serif',
50
50
  lineHeight01: 1,
51
51
  // 16px
@@ -94,7 +94,7 @@ const r = {
94
94
  weightBold: 700,
95
95
  weightExtraBold: 800,
96
96
  weightBlack: 900
97
- }, e = {
97
+ }, g = {
98
98
  "01": "0.125rem",
99
99
  // 2px
100
100
  "02": "0.25rem",
@@ -119,24 +119,28 @@ const r = {
119
119
  // 80px
120
120
  12: "6rem"
121
121
  // 96px
122
- }, g = {
123
- focus: "0 0 0 2px white, 0 0 0 4px black"
124
122
  }, i = {
123
+ focus: "0 0 0 2px white, 0 0 0 4px black"
124
+ }, l = {
125
125
  slow: "500ms",
126
126
  normal: "300ms",
127
127
  fast: "250ms"
128
+ }, a = {
129
+ md: 768,
130
+ lg: 1200,
131
+ xl: 1440
128
132
  }, t = {
129
- sm: "(max-width: 767px)",
130
- md: "(min-width: 768px)",
131
- lg: "(min-width: 1200px)",
132
- xl: "(min-width: 1440px)",
133
+ sm: `(max-width: ${a.md - 1}px)`,
134
+ md: `(min-width: ${a.md}px)`,
135
+ lg: `(min-width: ${a.lg}px)`,
136
+ xl: `(min-width: ${a.xl}px)`,
133
137
  forcedColorsMode: "(forced-colors: active)",
134
138
  darkMode: "(prefers-color-scheme: dark)",
135
139
  prefersReducedMotion: "(prefers-reduced-motion: reduced)"
136
- }, l = {
137
- background01: `light-dark(${r.white}, ${r.gray200})`,
138
- backgroundHover01: `light-dark(${r.whiteHover}, ${r.gray190})`,
139
- backgroundInverse01: `light-dark(${r.gray200}, ${r.gray10})`,
140
+ }, d = {
141
+ background: `light-dark(${r.white}, ${r.gray200})`,
142
+ backgroundHover: `light-dark(${r.whiteHover}, ${r.gray190})`,
143
+ backgroundInverse: `light-dark(${r.gray200}, ${r.gray10})`,
140
144
  layer01: `light-dark(${r.gray10}, ${r.gray180})`,
141
145
  layerHover01: `light-dark(${r.gray20}, ${r.gray170})`,
142
146
  layerSelected01: `light-dark(${r.gray30}, ${r.gray160})`,
@@ -158,8 +162,6 @@ const r = {
158
162
  borderBrand: `light-dark(${r.blue170}, ${r.blue170})`,
159
163
  borderInvalid: `light-dark(${r.signalRed140}, ${r.signalRed140})`,
160
164
  borderDisabled: `light-dark(${r.gray50}, ${r.gray140})`,
161
- borderSkeleton: `light-dark(${r.gray10}, ${r.gray180})`,
162
- borderInverse: `light-dark(${r.white}, ${r.gray180})`,
163
165
  field01: `light-dark(${r.gray10}, ${r.gray180})`,
164
166
  fieldHover01: `light-dark(${r.gray20}, ${r.gray170})`,
165
167
  fieldActive01: `light-dark(${r.gray30}, ${r.gray160})`,
@@ -172,7 +174,6 @@ const r = {
172
174
  iconSecondary: `light-dark(${r.blue170}, ${r.gray10})`,
173
175
  iconInverse: `light-dark(${r.white}, ${r.gray200})`,
174
176
  iconOnColor: `light-dark(${r.white}, ${r.white})`,
175
- iconDanger: `light-dark(${r.signalRed140}, ${r.signalRed140})`,
176
177
  iconDisabled: `light-dark(${r.gray50}, ${r.gray140})`,
177
178
  iconSuccess: `light-dark(${r.signalGreen140}, ${r.signalGreen140})`,
178
179
  iconInfo: `light-dark(${r.signalBlue140}, ${r.signalBlue140})`,
@@ -192,10 +193,9 @@ const r = {
192
193
  notificationBackgroundWarning: `light-dark(${r.signalRed20}, ${r.gray180})`,
193
194
  textPrimary: `light-dark(${r.gray200}, ${r.gray10})`,
194
195
  textSecondary: `light-dark(${r.gray140}, ${r.gray70})`,
195
- textBrand: `light-dark(${r.blue170}, ${r.gray10})`,
196
+ textTertiary: `light-dark(${r.blue170}, ${r.gray10})`,
196
197
  textOnColor: `light-dark(${r.white}, ${r.white})`,
197
198
  textInverse: `light-dark(${r.gray10}, ${r.gray200})`,
198
- textSubtle: `light-dark(${r.gray90}, ${r.gray90})`,
199
199
  textDisabled: `light-dark(${r.gray50}, ${r.gray140})`,
200
200
  textInvalid: `light-dark(${r.signalRed140}, ${r.signalRed140})`,
201
201
  textPlaceholder: `light-dark(${r.gray70}, ${r.gray140})`,
@@ -212,27 +212,35 @@ const r = {
212
212
  buttonBackgroundDangerActive: `light-dark(${r.signalRed180}, ${r.signalRed180})`,
213
213
  buttonBackgroundDisabled: `light-dark(${r.gray10}, ${r.gray180})`,
214
214
  buttonBackgroundSkeleton: `light-dark(${r.gray10}, ${r.gray180})`,
215
- buttonBackgroundGhostHover: `light-dark(${r.whiteHover}, ${r.gray190})`,
216
- buttonBackgroundGhostActive: `light-dark(${r.gray30}, ${r.gray190})`,
217
- buttonBorderPrimary: `light-dark(${r.blue170}, ${r.gray10})`,
215
+ buttonBorderSecondary: `light-dark(${r.blue170}, ${r.gray10})`,
218
216
  logoPrimary: `light-dark(${r.red100}, ${r.white})`
219
- }, d = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
217
+ }, n = {
218
+ base: 1,
219
+ above: 10,
220
+ modal: 1e3,
221
+ toast: 1100,
222
+ skipToContent: 1200
223
+ }, o = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
220
224
  __proto__: null,
221
225
  baseColors: r,
222
226
  breakpoints: t,
223
- semantic: l,
224
- spacing: e,
225
- states: g,
226
- transitions: i,
227
- typography: a
227
+ semantic: d,
228
+ spacing: g,
229
+ states: i,
230
+ transitions: l,
231
+ typography: e,
232
+ windowSizes: a,
233
+ zIndex: n
228
234
  }, Symbol.toStringTag, { value: "Module" }));
229
235
  export {
230
- a,
236
+ e as a,
231
237
  r as b,
232
- e as c,
233
- g as d,
234
- i as e,
238
+ g as c,
239
+ i as d,
240
+ l as e,
235
241
  t as f,
236
- l as s,
237
- d as t
242
+ d as s,
243
+ o as t,
244
+ a as w,
245
+ n as z
238
246
  };
@@ -0,0 +1,4 @@
1
+ /**
2
+ * A utility for making visual assertions in Storybook play tests based on the browsers "prefers-colors-scheme" setting
3
+ */
4
+ export declare const lightDark: (light: string, dark: string) => string;
@@ -1,4 +1,20 @@
1
- export default function useObserveElement(element: HTMLElement | null): {
1
+ interface Options {
2
+ /**
3
+ * Get the observed elements size with or without padding
4
+ * @default false
5
+ */
6
+ includePadding?: boolean;
7
+ /**
8
+ * Time in ms between each size measure
9
+ * @default 500
10
+ */
11
+ delay?: number;
12
+ }
13
+ /**
14
+ * Observe an elements size change on resize
15
+ */
16
+ export default function useObserveElement(element: HTMLElement | null, options?: Options): {
2
17
  width: number;
3
18
  height: number;
4
19
  };
20
+ export {};
@@ -1 +0,0 @@
1
- "use strict";const r={black:"#000000",white:"#ffffff",blackHover:"#0d0d0d",whiteHover:"#e6e6e6",gray10:"#f2f2f2",gray20:"#e6e6e6",gray30:"#d9d9d9",gray40:"#cccccc",gray50:"#bfbfbf",gray60:"#b3b3b3",gray70:"#a6a6a6",gray80:"#999999",gray90:"#8c8c8c",gray100:"#808080",gray110:"#737373",gray120:"#666666",gray130:"#5d5d5d",gray140:"#525252",gray150:"#474747",gray160:"#383838",gray170:"#333333",gray180:"#262626",gray190:"#212121",gray200:"#171717",blue10:"#eaf2f6",blue20:"#d5e5ed",blue40:"#abcbdb",blue60:"#82b0c9",blue80:"#5897b8",blue90:"#4289ad",blue100:"#2e7ca5",blue140:"#25607f",blue170:"#143c50",purple80:"#b46ab4",purple140:"#954b95",red100:"#b90835",signalBlue20:"#eaf2f6",signalBlue140:"#0066cc",signalGreen20:"#d5f2d9",signalGreen140:"#008d3c",signalRed20:"#ffdfdf",signalRed140:"#e62323",signalRed160:"#b31b1b",signalRed180:"#801313",signalYellow20:"#fff8e1",signalYellow140:"#fdb813"},a={fontFamily:'"Inter", sans-serif',lineHeight01:1,lineHeight02:1.125,lineHeight03:1.25,lineHeight04:1.375,lineHeight05:1.5,lineHeight06:1.75,lineHeight07:2,lineHeight08:2.25,lineHeight09:2.5,size01:"0.75rem",size02:"0.875rem",size03:"1rem",size04:"1.125rem",size05:"1.25rem",size06:"1.5rem",size07:"1.75rem",size08:"2rem",size09:"2.25rem",size10:"2.625rem",weightThin:100,weightExtraLight:200,weightLight:300,weightRegular:400,weightMedium:500,weightSemiBold:600,weightBold:700,weightExtraBold:800,weightBlack:900},e={"01":"0.125rem","02":"0.25rem","03":"0.5rem","04":"0.75rem","05":"1rem","06":"1.5rem","07":"2rem","08":"2.5rem","09":"3rem",10:"4rem",11:"5rem",12:"6rem"},g={focus:"0 0 0 2px white, 0 0 0 4px black"},i={slow:"500ms",normal:"300ms",fast:"250ms"},t={sm:"(max-width: 767px)",md:"(min-width: 768px)",lg:"(min-width: 1200px)",xl:"(min-width: 1440px)",forcedColorsMode:"(forced-colors: active)",darkMode:"(prefers-color-scheme: dark)",prefersReducedMotion:"(prefers-reduced-motion: reduced)"},l={background01:`light-dark(${r.white}, ${r.gray200})`,backgroundHover01:`light-dark(${r.whiteHover}, ${r.gray190})`,backgroundInverse01:`light-dark(${r.gray200}, ${r.gray10})`,layer01:`light-dark(${r.gray10}, ${r.gray180})`,layerHover01:`light-dark(${r.gray20}, ${r.gray170})`,layerSelected01:`light-dark(${r.gray30}, ${r.gray160})`,layerSelectedHover01:`light-dark(${r.gray40}, ${r.gray150})`,layer02:`light-dark(${r.white}, ${r.gray160})`,layerHover02:`light-dark(${r.whiteHover}, ${r.gray150})`,layerSelected02:`light-dark(${r.gray30}, ${r.gray140})`,layerSelectedHover02:`light-dark(${r.gray40}, ${r.gray130})`,layerAccent01:`light-dark(${r.gray30}, ${r.gray160})`,layerAccentHover01:`light-dark(${r.gray40}, ${r.gray150})`,layerAccentSelected01:`light-dark(${r.gray50}, ${r.gray140})`,layerAccent02:`light-dark(${r.gray10}, ${r.gray180})`,layerAccentHover02:`light-dark(${r.gray20}, ${r.gray170})`,layerAccentSelected02:`light-dark(${r.gray30}, ${r.gray160})`,brandPrimary:`light-dark(${r.red100}, ${r.red100})`,borderStrong:`light-dark(${r.gray200}, ${r.gray10})`,borderMedium:`light-dark(${r.gray110}, ${r.gray90})`,borderSubtle:`light-dark(${r.gray50}, ${r.gray160})`,borderBrand:`light-dark(${r.blue170}, ${r.blue170})`,borderInvalid:`light-dark(${r.signalRed140}, ${r.signalRed140})`,borderDisabled:`light-dark(${r.gray50}, ${r.gray140})`,borderSkeleton:`light-dark(${r.gray10}, ${r.gray180})`,borderInverse:`light-dark(${r.white}, ${r.gray180})`,field01:`light-dark(${r.gray10}, ${r.gray180})`,fieldHover01:`light-dark(${r.gray20}, ${r.gray170})`,fieldActive01:`light-dark(${r.gray30}, ${r.gray160})`,field02:`light-dark(${r.white}, ${r.gray160})`,fieldHover02:`light-dark(${r.whiteHover}, ${r.gray150})`,fieldActive02:`light-dark(${r.gray30}, ${r.gray140})`,fieldDisabled:`light-dark(${r.gray10}, ${r.gray180})`,fieldSkeleton:`light-dark(${r.gray10}, ${r.gray180})`,iconPrimary:`light-dark(${r.gray200}, ${r.gray10})`,iconSecondary:`light-dark(${r.blue170}, ${r.gray10})`,iconInverse:`light-dark(${r.white}, ${r.gray200})`,iconOnColor:`light-dark(${r.white}, ${r.white})`,iconDanger:`light-dark(${r.signalRed140}, ${r.signalRed140})`,iconDisabled:`light-dark(${r.gray50}, ${r.gray140})`,iconSuccess:`light-dark(${r.signalGreen140}, ${r.signalGreen140})`,iconInfo:`light-dark(${r.signalBlue140}, ${r.signalBlue140})`,iconWarning:`light-dark(${r.signalRed140}, ${r.signalRed140})`,iconImportant:`light-dark(${r.signalYellow140}, ${r.signalYellow140})`,linkEnabled:`light-dark(${r.blue100}, ${r.blue90})`,linkHover:`light-dark(${r.blue170}, ${r.blue80})`,linkPressed:`light-dark(${r.gray200}, ${r.blue60})`,linkVisited:`light-dark(${r.purple140}, ${r.purple80})`,notificationBorderSuccess:`light-dark(${r.signalGreen140}, ${r.signalGreen140})`,notificationBorderInfo:`light-dark(${r.signalBlue140}, ${r.signalBlue140})`,notificationBorderImportant:`light-dark(${r.signalYellow140}, ${r.signalYellow140})`,notificationBorderWarning:`light-dark(${r.signalRed140}, ${r.signalRed140})`,notificationBackgroundSuccess:`light-dark(${r.signalGreen20}, ${r.gray180})`,notificationBackgroundInfo:`light-dark(${r.signalBlue20}, ${r.gray180})`,notificationBackgroundImportant:`light-dark(${r.signalYellow20}, ${r.gray180})`,notificationBackgroundWarning:`light-dark(${r.signalRed20}, ${r.gray180})`,textPrimary:`light-dark(${r.gray200}, ${r.gray10})`,textSecondary:`light-dark(${r.gray140}, ${r.gray70})`,textBrand:`light-dark(${r.blue170}, ${r.gray10})`,textOnColor:`light-dark(${r.white}, ${r.white})`,textInverse:`light-dark(${r.gray10}, ${r.gray200})`,textSubtle:`light-dark(${r.gray90}, ${r.gray90})`,textDisabled:`light-dark(${r.gray50}, ${r.gray140})`,textInvalid:`light-dark(${r.signalRed140}, ${r.signalRed140})`,textPlaceholder:`light-dark(${r.gray70}, ${r.gray140})`,buttonBackgroundPrimary:`light-dark(${r.blue170}, ${r.blue100})`,buttonBackgroundPrimaryHover:`light-dark(${r.blue140}, ${r.blue140})`,buttonBackgroundPrimaryActive:`light-dark(${r.blue100}, ${r.blue170})`,buttonBackgroundSecondary:`light-dark(${r.white}, ${r.gray200})`,buttonBackgroundSecondaryHover:`light-dark(${r.whiteHover}, ${r.gray190})`,buttonBackgroundSecondaryActive:`light-dark(${r.gray30}, ${r.gray180})`,buttonBackgroundTertiaryHover:`light-dark(${r.whiteHover}, ${r.gray190})`,buttonBackgroundTertiaryActive:`light-dark(${r.gray30}, ${r.gray180})`,buttonBackgroundDanger:`light-dark(${r.signalRed140}, ${r.signalRed140})`,buttonBackgroundDangerHover:`light-dark(${r.signalRed160}, ${r.signalRed160})`,buttonBackgroundDangerActive:`light-dark(${r.signalRed180}, ${r.signalRed180})`,buttonBackgroundDisabled:`light-dark(${r.gray10}, ${r.gray180})`,buttonBackgroundSkeleton:`light-dark(${r.gray10}, ${r.gray180})`,buttonBackgroundGhostHover:`light-dark(${r.whiteHover}, ${r.gray190})`,buttonBackgroundGhostActive:`light-dark(${r.gray30}, ${r.gray190})`,buttonBorderPrimary:`light-dark(${r.blue170}, ${r.gray10})`,logoPrimary:`light-dark(${r.red100}, ${r.white})`},d=Object.freeze(Object.defineProperty({__proto__:null,baseColors:r,breakpoints:t,semantic:l,spacing:e,states:g,transitions:i,typography:a},Symbol.toStringTag,{value:"Module"}));exports.baseColors=r;exports.breakpoints=t;exports.semantic=l;exports.spacing=e;exports.states=g;exports.tokens=d;exports.transitions=i;exports.typography=a;