@orianatech/pire 0.6.0 → 0.8.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.
@@ -10,6 +10,18 @@ export interface IconButtonProps extends Omit<AriaButtonProps, 'className' | 'ch
10
10
  selected?: boolean;
11
11
  /** Suppress the tooltip when the control already sits inside one. */
12
12
  hideTooltip?: boolean;
13
+ /**
14
+ * Indicator over the icon. `0` and `undefined` draw nothing — a badge reading "0" is noise.
15
+ *
16
+ * Drawn `aria-hidden`, so **`label` must carry the number itself** ("Notifications, 3 unread").
17
+ * Pire cannot compose that sentence: it does not know the noun, and word order differs by
18
+ * language. Passing `count` without putting it in `label` hides the count from screen readers.
19
+ */
20
+ count?: number;
21
+ /** Cap before rendering "N+". Default 9. */
22
+ countMax?: number;
23
+ /** `dot` when "something is new" is the whole message and the number adds nothing. */
24
+ countVariant?: 'number' | 'dot';
13
25
  className?: string;
14
26
  }
15
27
  export declare const IconButton: React.ForwardRefExoticComponent<IconButtonProps & React.RefAttributes<HTMLButtonElement>>;
@@ -10,6 +10,18 @@ export interface IconButtonProps extends Omit<AriaButtonProps, 'className' | 'ch
10
10
  selected?: boolean;
11
11
  /** Suppress the tooltip when the control already sits inside one. */
12
12
  hideTooltip?: boolean;
13
+ /**
14
+ * Indicator over the icon. `0` and `undefined` draw nothing — a badge reading "0" is noise.
15
+ *
16
+ * Drawn `aria-hidden`, so **`label` must carry the number itself** ("Notifications, 3 unread").
17
+ * Pire cannot compose that sentence: it does not know the noun, and word order differs by
18
+ * language. Passing `count` without putting it in `label` hides the count from screen readers.
19
+ */
20
+ count?: number;
21
+ /** Cap before rendering "N+". Default 9. */
22
+ countMax?: number;
23
+ /** `dot` when "something is new" is the whole message and the number adds nothing. */
24
+ countVariant?: 'number' | 'dot';
13
25
  className?: string;
14
26
  }
15
27
  export declare const IconButton: React.ForwardRefExoticComponent<IconButtonProps & React.RefAttributes<HTMLButtonElement>>;
@@ -1 +1 @@
1
- {"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../../../src/components/core/IconButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAwB,KAAK,WAAW,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAKlG,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,eAAe,EAAE,WAAW,GAAG,UAAU,GAAG,YAAY,CAAC;IACrG,IAAI,EAAE,MAAM,CAAC;IACb,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,4EAA4E;IAC5E,OAAO,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;IAC9C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qEAAqE;IACrE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,UAAU,2FAUrB,CAAC"}
1
+ {"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../../../src/components/core/IconButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAwB,KAAK,WAAW,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAKlG,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,eAAe,EAAE,WAAW,GAAG,UAAU,GAAG,YAAY,CAAC;IACrG,IAAI,EAAE,MAAM,CAAC;IACb,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,4EAA4E;IAC5E,OAAO,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;IAC9C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qEAAqE;IACrE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sFAAsF;IACtF,YAAY,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,UAAU,2FAkBrB,CAAC"}
@@ -29,6 +29,12 @@ export interface DataTableProps<T extends {
29
29
  onSortChange?: (sort: DataTableSort) => void;
30
30
  onRowAction?: (row: T) => void;
31
31
  emptyLabel?: React.ReactNode;
32
+ /** Swaps the body for skeleton rows derived from `columns` and `density`, keeping the header. */
33
+ isLoading?: boolean;
34
+ /** Skeleton row count. Defaults to the current `rows` length, or 5 when there are none. */
35
+ loadingRowCount?: number;
36
+ /** Overrides the dictionary's `dataTableLoading`, announced while the body is a skeleton. */
37
+ loadingLabel?: string;
32
38
  stickyHeader?: boolean;
33
39
  className?: string;
34
40
  style?: React.CSSProperties;
@@ -37,4 +43,4 @@ export interface DataTableProps<T extends {
37
43
  * screen-reader row/column announcements — do not hand-roll a <table> in product code. */
38
44
  export declare function DataTable<T extends {
39
45
  id: string | number;
40
- }>({ columns, rows, density, selectable, selected, onSelectionChange, sort, onSortChange, onRowAction, stickyHeader, emptyLabel, className, style, ...rest }: DataTableProps<T>): React.JSX.Element;
46
+ }>({ columns, rows, density, selectable, selected, onSelectionChange, sort, onSortChange, onRowAction, stickyHeader, emptyLabel, isLoading, loadingRowCount, loadingLabel, className, style, ...rest }: DataTableProps<T>): React.JSX.Element;
@@ -29,6 +29,12 @@ export interface DataTableProps<T extends {
29
29
  onSortChange?: (sort: DataTableSort) => void;
30
30
  onRowAction?: (row: T) => void;
31
31
  emptyLabel?: React.ReactNode;
32
+ /** Swaps the body for skeleton rows derived from `columns` and `density`, keeping the header. */
33
+ isLoading?: boolean;
34
+ /** Skeleton row count. Defaults to the current `rows` length, or 5 when there are none. */
35
+ loadingRowCount?: number;
36
+ /** Overrides the dictionary's `dataTableLoading`, announced while the body is a skeleton. */
37
+ loadingLabel?: string;
32
38
  stickyHeader?: boolean;
33
39
  className?: string;
34
40
  style?: React.CSSProperties;
@@ -37,5 +43,5 @@ export interface DataTableProps<T extends {
37
43
  * screen-reader row/column announcements — do not hand-roll a <table> in product code. */
38
44
  export declare function DataTable<T extends {
39
45
  id: string | number;
40
- }>({ columns, rows, density, selectable, selected, onSelectionChange, sort, onSortChange, onRowAction, stickyHeader, emptyLabel, className, style, ...rest }: DataTableProps<T>): React.JSX.Element;
46
+ }>({ columns, rows, density, selectable, selected, onSelectionChange, sort, onSortChange, onRowAction, stickyHeader, emptyLabel, isLoading, loadingRowCount, loadingLabel, className, style, ...rest }: DataTableProps<T>): React.JSX.Element;
41
47
  //# sourceMappingURL=DataTable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataTable.d.ts","sourceRoot":"","sources":["../../../src/components/data/DataTable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAQpC,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,GAAG;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,wFAAwF;IACxF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC;CACtC;AAED,MAAM,WAAW,aAAa;IAAG,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,KAAK,GAAG,MAAM,CAAA;CAAE;AAEnE,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,GAAG,GAAG;IACrE,+CAA+C;IAC/C,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9B,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,oEAAoE;IACpE,OAAO,CAAC,EAAE,WAAW,GAAG,SAAS,GAAG,aAAa,CAAC;IAClD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAClC,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC;IAC1D,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IAC7C,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC;IAC/B,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED;2FAC2F;AAC3F,wBAAgB,SAAS,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAmB,EAC/F,UAAU,EAAE,QAAQ,EAAE,iBAAiB,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,YAAmB,EAC7F,UAAoD,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC,qBA0DrG"}
1
+ {"version":3,"file":"DataTable.d.ts","sourceRoot":"","sources":["../../../src/components/data/DataTable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AASpC,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,GAAG;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,wFAAwF;IACxF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC;CACtC;AAED,MAAM,WAAW,aAAa;IAAG,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,KAAK,GAAG,MAAM,CAAA;CAAE;AAEnE,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,GAAG,GAAG;IACrE,+CAA+C;IAC/C,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9B,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,oEAAoE;IACpE,OAAO,CAAC,EAAE,WAAW,GAAG,SAAS,GAAG,aAAa,CAAC;IAClD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAClC,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC;IAC1D,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IAC7C,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC;IAC/B,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,iGAAiG;IACjG,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,2FAA2F;IAC3F,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,6FAA6F;IAC7F,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED;2FAC2F;AAC3F,wBAAgB,SAAS,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAmB,EAC/F,UAAU,EAAE,QAAQ,EAAE,iBAAiB,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,YAAmB,EAC7F,UAAoD,EAAE,SAAS,EAAE,eAAe,EAAE,YAAY,EAC9F,SAAS,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC,qBAkF/C"}
@@ -11,20 +11,39 @@ export interface ComboBoxProps {
11
11
  defaultValue?: string;
12
12
  onChange?: (value: string | null) => void;
13
13
  /**
14
- * Free-text as typed, on every keystroke.
14
+ * Free-text as typed, on every keystroke. Debounce it before calling the server.
15
15
  *
16
- * Server-side search is only partly supported. `options` is passed to React Aria as
17
- * `defaultItems`, so React Aria applies its own local "contains" filter on top of
18
- * whatever you supply: any result whose `label` does not literally contain the typed
19
- * text is hidden client-side, and when the local filter matches nothing the menu
20
- * closes. Fuzzy, synonym, code-to-description and server-ranked matches are therefore
21
- * dropped. Use this to observe input (analytics, a debounced prefetch, mirroring the
22
- * text elsewhere), or for server search only where the returned labels are guaranteed
23
- * to contain the query as a substring. For true server-driven search with no local
24
- * filtering, use ValueHelpField.
16
+ * Without `isFilteredExternally`, React Aria also applies its own local "contains" filter,
17
+ * so a result whose label does not literally contain the typed text is hidden client-side.
25
18
  */
26
19
  onInputChange?: (text: string) => void;
27
20
  options?: Array<string | ComboBoxOption>;
21
+ /**
22
+ * `options` is the final list and React Aria filters nothing locally. Required for server
23
+ * search: fuzzy matches, synonyms, code-to-description and server ranking do not survive a
24
+ * local "contains" pass.
25
+ *
26
+ * Turns `options` into a controlled collection, so the popover reflects exactly what you
27
+ * pass — including an empty list, which is why `isLoading` and `emptyLabel` exist.
28
+ */
29
+ isFilteredExternally?: boolean;
30
+ /**
31
+ * Shows a loading row instead of closing the popover. Without it a 300ms debounce reads as
32
+ * a menu that flickers open and shut.
33
+ *
34
+ * Also blocks selection while it is set: confirming here would commit an item from the
35
+ * previous response.
36
+ */
37
+ isLoading?: boolean;
38
+ /** Overrides the dictionary's `comboBoxLoading`. */
39
+ loadingLabel?: string;
40
+ /**
41
+ * Shown when the server answered with nothing. Without it the popover closes and the user
42
+ * cannot tell a bad query from a slow one.
43
+ */
44
+ emptyLabel?: React.ReactNode;
45
+ /** Called when the list is scrolled near its end, for paginated results. */
46
+ onLoadMore?: () => void;
28
47
  placeholder?: string;
29
48
  description?: React.ReactNode;
30
49
  errorMessage?: React.ReactNode;
@@ -42,4 +61,4 @@ export interface ComboBoxProps {
42
61
  }
43
62
  /** Type-ahead picker for lists too long to scroll — material, cost centre, G/L account.
44
63
  * Below ~10 fixed options use Select; for master-data search with several columns use ValueHelpField. */
45
- export declare function ComboBox({ label, value, defaultValue, onChange, onInputChange, options, description, errorMessage, size, fullWidth, className, style, ...rest }: ComboBoxProps): React.JSX.Element;
64
+ export declare function ComboBox({ label, value, defaultValue, onChange, onInputChange, options, description, errorMessage, size, fullWidth, isFilteredExternally, isLoading, loadingLabel, emptyLabel, onLoadMore, className, style, ...rest }: ComboBoxProps): React.JSX.Element;
@@ -11,20 +11,39 @@ export interface ComboBoxProps {
11
11
  defaultValue?: string;
12
12
  onChange?: (value: string | null) => void;
13
13
  /**
14
- * Free-text as typed, on every keystroke.
14
+ * Free-text as typed, on every keystroke. Debounce it before calling the server.
15
15
  *
16
- * Server-side search is only partly supported. `options` is passed to React Aria as
17
- * `defaultItems`, so React Aria applies its own local "contains" filter on top of
18
- * whatever you supply: any result whose `label` does not literally contain the typed
19
- * text is hidden client-side, and when the local filter matches nothing the menu
20
- * closes. Fuzzy, synonym, code-to-description and server-ranked matches are therefore
21
- * dropped. Use this to observe input (analytics, a debounced prefetch, mirroring the
22
- * text elsewhere), or for server search only where the returned labels are guaranteed
23
- * to contain the query as a substring. For true server-driven search with no local
24
- * filtering, use ValueHelpField.
16
+ * Without `isFilteredExternally`, React Aria also applies its own local "contains" filter,
17
+ * so a result whose label does not literally contain the typed text is hidden client-side.
25
18
  */
26
19
  onInputChange?: (text: string) => void;
27
20
  options?: Array<string | ComboBoxOption>;
21
+ /**
22
+ * `options` is the final list and React Aria filters nothing locally. Required for server
23
+ * search: fuzzy matches, synonyms, code-to-description and server ranking do not survive a
24
+ * local "contains" pass.
25
+ *
26
+ * Turns `options` into a controlled collection, so the popover reflects exactly what you
27
+ * pass — including an empty list, which is why `isLoading` and `emptyLabel` exist.
28
+ */
29
+ isFilteredExternally?: boolean;
30
+ /**
31
+ * Shows a loading row instead of closing the popover. Without it a 300ms debounce reads as
32
+ * a menu that flickers open and shut.
33
+ *
34
+ * Also blocks selection while it is set: confirming here would commit an item from the
35
+ * previous response.
36
+ */
37
+ isLoading?: boolean;
38
+ /** Overrides the dictionary's `comboBoxLoading`. */
39
+ loadingLabel?: string;
40
+ /**
41
+ * Shown when the server answered with nothing. Without it the popover closes and the user
42
+ * cannot tell a bad query from a slow one.
43
+ */
44
+ emptyLabel?: React.ReactNode;
45
+ /** Called when the list is scrolled near its end, for paginated results. */
46
+ onLoadMore?: () => void;
28
47
  placeholder?: string;
29
48
  description?: React.ReactNode;
30
49
  errorMessage?: React.ReactNode;
@@ -42,5 +61,5 @@ export interface ComboBoxProps {
42
61
  }
43
62
  /** Type-ahead picker for lists too long to scroll — material, cost centre, G/L account.
44
63
  * Below ~10 fixed options use Select; for master-data search with several columns use ValueHelpField. */
45
- export declare function ComboBox({ label, value, defaultValue, onChange, onInputChange, options, description, errorMessage, size, fullWidth, className, style, ...rest }: ComboBoxProps): React.JSX.Element;
64
+ export declare function ComboBox({ label, value, defaultValue, onChange, onInputChange, options, description, errorMessage, size, fullWidth, isFilteredExternally, isLoading, loadingLabel, emptyLabel, onLoadMore, className, style, ...rest }: ComboBoxProps): React.JSX.Element;
46
65
  //# sourceMappingURL=ComboBox.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ComboBox.d.ts","sourceRoot":"","sources":["../../../src/components/forms/ComboBox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAOpC,MAAM,WAAW,cAAc;IAAG,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE;AAE1G,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC1C;;;;;;;;;;;;OAYG;IACH,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,cAAc,CAAC,CAAC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,4GAA4G;IAC5G,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAKD;0GAC0G;AAC1G,wBAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAY,EAC1F,WAAW,EAAE,YAAY,EAAE,IAAW,EAAE,SAAgB,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE,aAAa,qBAkCrG"}
1
+ {"version":3,"file":"ComboBox.d.ts","sourceRoot":"","sources":["../../../src/components/forms/ComboBox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAOpC,MAAM,WAAW,cAAc;IAAG,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE;AAE1G,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC1C;;;;;OAKG;IACH,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,cAAc,CAAC,CAAC;IACzC;;;;;;;OAOG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oDAAoD;IACpD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,4GAA4G;IAC5G,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAKD;0GAC0G;AAC1G,wBAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAY,EAC1F,WAAW,EAAE,YAAY,EAAE,IAAW,EAAE,SAAgB,EAAE,oBAAoB,EAAE,SAAS,EACzF,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE,aAAa,qBAiEjF"}
@@ -7,18 +7,27 @@ export interface MultiComboBoxProps {
7
7
  defaultValue?: string[];
8
8
  onChange?: (values: string[]) => void;
9
9
  /**
10
- * Free-text as typed, on every keystroke.
10
+ * Free-text as typed, on every keystroke. Debounce it before calling the server.
11
11
  *
12
- * Server-side search is only partly supported, exactly as on ComboBox. `options` is passed
13
- * to React Aria as `defaultItems`, so React Aria applies its own local "contains" filter on
14
- * top of whatever you supply: any result whose `label` does not literally contain the typed
15
- * text is hidden client-side, and when the local filter matches nothing the menu closes.
16
- * Fuzzy, synonym, code-to-description and server-ranked matches are therefore dropped. Use
17
- * this to observe input (analytics, a debounced prefetch), or for server search only where
18
- * the returned labels are guaranteed to contain the query as a substring.
12
+ * Without `isFilteredExternally`, React Aria also applies its own local "contains" filter,
13
+ * so a result whose label does not literally contain the typed text is hidden client-side.
19
14
  */
20
15
  onInputChange?: (text: string) => void;
21
16
  options?: Array<string | ComboBoxOption>;
17
+ /**
18
+ * `options` is the final list and React Aria filters nothing locally. Same meaning and same
19
+ * name as on `ComboBox`. Required for server search, where fuzzy matches, synonyms and
20
+ * server ranking do not survive a local "contains" pass.
21
+ */
22
+ isFilteredExternally?: boolean;
23
+ /** Shows a loading row instead of closing the popover, and blocks selection while set. */
24
+ isLoading?: boolean;
25
+ /** Overrides the dictionary's `comboBoxLoading`. */
26
+ loadingLabel?: string;
27
+ /** Shown when the server answered with nothing, so a bad query reads differently from a slow one. */
28
+ emptyLabel?: React.ReactNode;
29
+ /** Called when the list is scrolled near its end, for paginated results. */
30
+ onLoadMore?: () => void;
22
31
  placeholder?: string;
23
32
  description?: React.ReactNode;
24
33
  errorMessage?: React.ReactNode;
@@ -55,4 +64,4 @@ export interface MultiComboBoxProps {
55
64
  * component nested inside it — a TagGroup there registers its tags as listbox items and then
56
65
  * crashes looking for grid state. Each chip's remove button is an ordinary Tab stop instead,
57
66
  * and removals are announced through the live region below. */
58
- export declare function MultiComboBox({ label, value, defaultValue, onChange, onInputChange, options, description, errorMessage, allowsCustomValue, size, fullWidth, className, style, ...rest }: MultiComboBoxProps): React.JSX.Element;
67
+ export declare function MultiComboBox({ label, value, defaultValue, onChange, onInputChange, options, description, errorMessage, allowsCustomValue, size, isFilteredExternally, isLoading, loadingLabel, emptyLabel, onLoadMore, fullWidth, className, style, ...rest }: MultiComboBoxProps): React.JSX.Element;
@@ -7,18 +7,27 @@ export interface MultiComboBoxProps {
7
7
  defaultValue?: string[];
8
8
  onChange?: (values: string[]) => void;
9
9
  /**
10
- * Free-text as typed, on every keystroke.
10
+ * Free-text as typed, on every keystroke. Debounce it before calling the server.
11
11
  *
12
- * Server-side search is only partly supported, exactly as on ComboBox. `options` is passed
13
- * to React Aria as `defaultItems`, so React Aria applies its own local "contains" filter on
14
- * top of whatever you supply: any result whose `label` does not literally contain the typed
15
- * text is hidden client-side, and when the local filter matches nothing the menu closes.
16
- * Fuzzy, synonym, code-to-description and server-ranked matches are therefore dropped. Use
17
- * this to observe input (analytics, a debounced prefetch), or for server search only where
18
- * the returned labels are guaranteed to contain the query as a substring.
12
+ * Without `isFilteredExternally`, React Aria also applies its own local "contains" filter,
13
+ * so a result whose label does not literally contain the typed text is hidden client-side.
19
14
  */
20
15
  onInputChange?: (text: string) => void;
21
16
  options?: Array<string | ComboBoxOption>;
17
+ /**
18
+ * `options` is the final list and React Aria filters nothing locally. Same meaning and same
19
+ * name as on `ComboBox`. Required for server search, where fuzzy matches, synonyms and
20
+ * server ranking do not survive a local "contains" pass.
21
+ */
22
+ isFilteredExternally?: boolean;
23
+ /** Shows a loading row instead of closing the popover, and blocks selection while set. */
24
+ isLoading?: boolean;
25
+ /** Overrides the dictionary's `comboBoxLoading`. */
26
+ loadingLabel?: string;
27
+ /** Shown when the server answered with nothing, so a bad query reads differently from a slow one. */
28
+ emptyLabel?: React.ReactNode;
29
+ /** Called when the list is scrolled near its end, for paginated results. */
30
+ onLoadMore?: () => void;
22
31
  placeholder?: string;
23
32
  description?: React.ReactNode;
24
33
  errorMessage?: React.ReactNode;
@@ -55,5 +64,5 @@ export interface MultiComboBoxProps {
55
64
  * component nested inside it — a TagGroup there registers its tags as listbox items and then
56
65
  * crashes looking for grid state. Each chip's remove button is an ordinary Tab stop instead,
57
66
  * and removals are announced through the live region below. */
58
- export declare function MultiComboBox({ label, value, defaultValue, onChange, onInputChange, options, description, errorMessage, allowsCustomValue, size, fullWidth, className, style, ...rest }: MultiComboBoxProps): React.JSX.Element;
67
+ export declare function MultiComboBox({ label, value, defaultValue, onChange, onInputChange, options, description, errorMessage, allowsCustomValue, size, isFilteredExternally, isLoading, loadingLabel, emptyLabel, onLoadMore, fullWidth, className, style, ...rest }: MultiComboBoxProps): React.JSX.Element;
59
68
  //# sourceMappingURL=MultiComboBox.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MultiComboBox.d.ts","sourceRoot":"","sources":["../../../src/components/forms/MultiComboBox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACtC;;;;;;;;;;OAUG;IACH,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,cAAc,CAAC,CAAC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oFAAoF;IACpF,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAKD;;;;;;;;;;;;;;;;;;;;kEAoBkE;AAClE,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAY,EAC/F,WAAW,EAAE,YAAY,EAAE,iBAAiB,EAAE,IAAW,EACzD,SAAgB,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE,kBAAkB,qBAkHlE"}
1
+ {"version":3,"file":"MultiComboBox.d.ts","sourceRoot":"","sources":["../../../src/components/forms/MultiComboBox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACtC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,cAAc,CAAC,CAAC;IACzC;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,0FAA0F;IAC1F,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oDAAoD;IACpD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qGAAqG;IACrG,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oFAAoF;IACpF,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAKD;;;;;;;;;;;;;;;;;;;;kEAoBkE;AAClE,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAY,EAC/F,WAAW,EAAE,YAAY,EAAE,iBAAiB,EAAE,IAAW,EACzD,oBAAoB,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EACrE,SAAgB,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE,kBAAkB,qBAqIlE"}
@@ -0,0 +1,15 @@
1
+ import type * as React from 'react';
2
+ export interface PageBandProps extends React.HTMLAttributes<HTMLDivElement> {
3
+ /** `card` for a header band, `page` for a filter band or the body behind the content. */
4
+ surface?: 'card' | 'page';
5
+ /** `false` when the band below continues the same block and a rule would cut it in two. */
6
+ hasBorder?: boolean;
7
+ children?: React.ReactNode;
8
+ }
9
+ /**
10
+ * The full-bleed horizontal band an ERP screen is built from: header, filters, body.
11
+ *
12
+ * Holds a `PageHeader`, `ObjectHeader`, `FilterBar` or edge-to-edge `Tabs`, supplying the page
13
+ * gutter and the surface those components deliberately leave to their container.
14
+ */
15
+ export declare function PageBand({ surface, hasBorder, children, className, ...rest }: PageBandProps): React.JSX.Element;
@@ -0,0 +1,16 @@
1
+ import type * as React from 'react';
2
+ export interface PageBandProps extends React.HTMLAttributes<HTMLDivElement> {
3
+ /** `card` for a header band, `page` for a filter band or the body behind the content. */
4
+ surface?: 'card' | 'page';
5
+ /** `false` when the band below continues the same block and a rule would cut it in two. */
6
+ hasBorder?: boolean;
7
+ children?: React.ReactNode;
8
+ }
9
+ /**
10
+ * The full-bleed horizontal band an ERP screen is built from: header, filters, body.
11
+ *
12
+ * Holds a `PageHeader`, `ObjectHeader`, `FilterBar` or edge-to-edge `Tabs`, supplying the page
13
+ * gutter and the surface those components deliberately leave to their container.
14
+ */
15
+ export declare function PageBand({ surface, hasBorder, children, className, ...rest }: PageBandProps): React.JSX.Element;
16
+ //# sourceMappingURL=PageBand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PageBand.d.ts","sourceRoot":"","sources":["../../../src/components/layout/PageBand.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAGpC,MAAM,WAAW,aAAc,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACzE,yFAAyF;IACzF,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,2FAA2F;IAC3F,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,EACvB,OAAgB,EAAE,SAAgB,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,EACjE,EAAE,aAAa,qBAWf"}
@@ -481,6 +481,31 @@
481
481
  .pire-menu-section-title{display:block;padding:var(--sp-1) var(--sp-3);font:var(--type-label);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--text-secondary)}
482
482
  .pire-menu-separator{border:0;border-top:var(--border-w-hairline) solid var(--border-subtle);margin:var(--sp-1) 0}
483
483
 
484
+ /* ---- ComboBox async status ----------------------------------------------- */
485
+ /* Same height as an option row so the popover does not resize when results replace the
486
+ loading line — a popover that jumps has already moved the row under the pointer. */
487
+ .pire-listbox-status{display:flex;align-items:center;min-height:var(--row-h-condensed);padding:0 var(--sp-3);font:var(--type-caption);color:var(--text-secondary)}
488
+ .pire-option-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
489
+ .pire-option-secondary{flex:0 0 auto;font:var(--type-code);color:var(--text-tertiary)}
490
+
491
+ /* ---- PageBand ------------------------------------------------------------ */
492
+ .pire-pageband{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-4) var(--page-pad-x);background:var(--surface-card)}
493
+ .pire-pageband[data-surface="page"]{background:var(--surface-page)}
494
+ .pire-pageband[data-border="true"]{border-bottom:1px solid var(--border-subtle)}
495
+
496
+ /* ---- IconButton count ---------------------------------------------------- */
497
+ /* Sits over the icon's top-right. The button is position:relative only when a count is present,
498
+ so nothing else about its layout changes for the common case. */
499
+ .pire-iconbtn[data-has-count="true"]{position:relative}
500
+ .pire-iconbtn-count{position:absolute;top:2px;right:2px;display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 var(--sp-1);border-radius:var(--radius-pill);background:var(--status-negative-fg);color:var(--text-inverse);font:var(--type-micro);font-weight:var(--fw-semibold);line-height:1;pointer-events:none}
501
+ .pire-iconbtn-count[data-variant="dot"]{min-width:8px;width:8px;height:8px;padding:0;top:4px;right:4px}
502
+ .pire-iconbtn[data-variant="inverse"] .pire-iconbtn-count{box-shadow:0 0 0 2px var(--surface-shell)}
503
+
504
+ /* ---- DataTable loading --------------------------------------------------- */
505
+ /* renderEmptyState gives one node for the whole body, so the skeleton rows stack inside it while
506
+ the real header stays mounted above — which is what stops the grid resizing mid-reload. */
507
+ .pire-table-loading{display:flex;flex-direction:column}
508
+
484
509
  /* ---- Reduced motion --------------------------------------------------- */
485
510
  @media (prefers-reduced-motion: reduce){.pire-modal,.pire-toast,.pire-popover,.pire-tooltip,.pire-sidepanel{animation:none}
486
511
  /* The skeleton also drops its background sweep, not just the animation: an infinite shimmer is
@@ -19,6 +19,8 @@ export interface PireMessages {
19
19
  dataTableSelectAll: string;
20
20
  /** Accessible name of a row's selection checkbox. */
21
21
  dataTableSelectRow: string;
22
+ /** Announced while the table body is a skeleton. */
23
+ dataTableLoading: string;
22
24
  /** Accessible name of the dialog's close affordance. */
23
25
  dialogClose: string;
24
26
  /** Accessible name of SidePanel's close affordance. */
@@ -31,6 +33,8 @@ export interface PireMessages {
31
33
  toastRegionLabel: string;
32
34
  /** Accessible name of the button that opens a ComboBox's list. */
33
35
  comboBoxShowSuggestions: string;
36
+ /** Row shown in the popover while a server search is in flight. */
37
+ comboBoxLoading: string;
34
38
  /** Accessible name of the button that opens the calendar popover. */
35
39
  datePickerOpenCalendar: string;
36
40
  datePickerPreviousMonth: string;
@@ -19,6 +19,8 @@ export interface PireMessages {
19
19
  dataTableSelectAll: string;
20
20
  /** Accessible name of a row's selection checkbox. */
21
21
  dataTableSelectRow: string;
22
+ /** Announced while the table body is a skeleton. */
23
+ dataTableLoading: string;
22
24
  /** Accessible name of the dialog's close affordance. */
23
25
  dialogClose: string;
24
26
  /** Accessible name of SidePanel's close affordance. */
@@ -31,6 +33,8 @@ export interface PireMessages {
31
33
  toastRegionLabel: string;
32
34
  /** Accessible name of the button that opens a ComboBox's list. */
33
35
  comboBoxShowSuggestions: string;
36
+ /** Row shown in the popover while a server search is in flight. */
37
+ comboBoxLoading: string;
34
38
  /** Accessible name of the button that opens the calendar popover. */
35
39
  datePickerOpenCalendar: string;
36
40
  datePickerPreviousMonth: string;
@@ -1 +1 @@
1
- {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/i18n/messages.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,WAAW,YAAY;IAC3B,iCAAiC;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,8EAA8E;IAC9E,WAAW,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,iBAAiB,EAAE,MAAM,CAAC;IAE1B,qEAAqE;IACrE,kBAAkB,EAAE,MAAM,CAAC;IAC3B,qDAAqD;IACrD,kBAAkB,EAAE,MAAM,CAAC;IAE3B,wDAAwD;IACxD,WAAW,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,cAAc,EAAE,MAAM,CAAC;IAEvB,6DAA6D;IAC7D,oBAAoB,EAAE,MAAM,CAAC;IAC7B,uDAAuD;IACvD,YAAY,EAAE,MAAM,CAAC;IACrB,8CAA8C;IAC9C,gBAAgB,EAAE,MAAM,CAAC;IAEzB,kEAAkE;IAClE,uBAAuB,EAAE,MAAM,CAAC;IAEhC,qEAAqE;IACrE,sBAAsB,EAAE,MAAM,CAAC;IAC/B,uBAAuB,EAAE,MAAM,CAAC;IAChC,mBAAmB,EAAE,MAAM,CAAC;IAE5B,oDAAoD;IACpD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,MAAM,CAAC;IAE5B,kEAAkE;IAClE,mBAAmB,EAAE,MAAM,CAAC;IAC5B,qFAAqF;IACrF,uBAAuB,EAAE,MAAM,CAAC;IAChC,uEAAuE;IACvE,kBAAkB,EAAE,MAAM,CAAC;IAC3B,yDAAyD;IACzD,qBAAqB,EAAE,MAAM,CAAC;IAC9B,uDAAuD;IACvD,qBAAqB,EAAE,MAAM,CAAC;IAE9B,mDAAmD;IACnD,eAAe,EAAE,MAAM,CAAC;IACxB,wFAAwF;IACxF,eAAe,EAAE,MAAM,CAAC;IACxB,yDAAyD;IACzD,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,qBAAqB,EAAE,MAAM,CAAC;IAE9B,0FAA0F;IAC1F,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,UAAU,EAAE,YAsCxB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,YAsCxB,CAAC"}
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/i18n/messages.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,WAAW,YAAY;IAC3B,iCAAiC;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,8EAA8E;IAC9E,WAAW,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,iBAAiB,EAAE,MAAM,CAAC;IAE1B,qEAAqE;IACrE,kBAAkB,EAAE,MAAM,CAAC;IAC3B,qDAAqD;IACrD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oDAAoD;IACpD,gBAAgB,EAAE,MAAM,CAAC;IAEzB,wDAAwD;IACxD,WAAW,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,cAAc,EAAE,MAAM,CAAC;IAEvB,6DAA6D;IAC7D,oBAAoB,EAAE,MAAM,CAAC;IAC7B,uDAAuD;IACvD,YAAY,EAAE,MAAM,CAAC;IACrB,8CAA8C;IAC9C,gBAAgB,EAAE,MAAM,CAAC;IAEzB,kEAAkE;IAClE,uBAAuB,EAAE,MAAM,CAAC;IAChC,mEAAmE;IACnE,eAAe,EAAE,MAAM,CAAC;IAExB,qEAAqE;IACrE,sBAAsB,EAAE,MAAM,CAAC;IAC/B,uBAAuB,EAAE,MAAM,CAAC;IAChC,mBAAmB,EAAE,MAAM,CAAC;IAE5B,oDAAoD;IACpD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,MAAM,CAAC;IAE5B,kEAAkE;IAClE,mBAAmB,EAAE,MAAM,CAAC;IAC5B,qFAAqF;IACrF,uBAAuB,EAAE,MAAM,CAAC;IAChC,uEAAuE;IACvE,kBAAkB,EAAE,MAAM,CAAC;IAC3B,yDAAyD;IACzD,qBAAqB,EAAE,MAAM,CAAC;IAC9B,uDAAuD;IACvD,qBAAqB,EAAE,MAAM,CAAC;IAE9B,mDAAmD;IACnD,eAAe,EAAE,MAAM,CAAC;IACxB,wFAAwF;IACxF,eAAe,EAAE,MAAM,CAAC;IACxB,yDAAyD;IACzD,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,qBAAqB,EAAE,MAAM,CAAC;IAE9B,0FAA0F;IAC1F,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,UAAU,EAAE,YAwCxB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,YAwCxB,CAAC"}