@dinofront/design_system 1.10.0 → 1.12.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.
@@ -4,8 +4,9 @@ interface SelectV2Translations {
4
4
  noResults: string;
5
5
  loadingMessage: string;
6
6
  selectAllLabel: (count: number) => string;
7
- deselectAllLabel: (count: number) => string;
7
+ clearAllLabel: (count: number) => string;
8
8
  createLabel: (value: string) => string;
9
+ saveSelectionLabel: string;
9
10
  }
10
11
  export declare const SELECT_V2_TRANSLATIONS: Record<TranslationLocale, SelectV2Translations>;
11
12
  export {};
@@ -66,6 +66,19 @@ export interface SelectV2BaseProps extends BaseProps, Partial<SelectV2ReactSelec
66
66
  * `placeholder`/`emptyText`/`formatCreateLabel` props still take
67
67
  * precedence over the translated defaults. Default `'en-US'`. */
68
68
  locale?: TranslationLocale;
69
+ /** Enables a "save selection" checkbox pinned above the option list. When
70
+ * checked, the current selection is written to `localStorage` under this
71
+ * key and kept in sync on every subsequent change, until unchecked —
72
+ * which clears it. On mount, if the select is
73
+ * uncontrolled and a saved selection exists for this key, it's restored
74
+ * automatically, taking priority over `defaultValue`. When the select is
75
+ * controlled (`value` passed), saving/clearing still works but the saved
76
+ * value is never auto-restored into `value` — read it yourself if you
77
+ * need that. */
78
+ storageKey?: string;
79
+ /** Label for the "save selection" checkbox row. Defaults to a translated
80
+ * built-in string. */
81
+ saveSelectionLabel?: ReactNode;
69
82
  id?: string;
70
83
  className?: string;
71
84
  wrapperClassName?: string;
@@ -0,0 +1,13 @@
1
+ import { ClassNamesConfig, GroupBase } from 'react-select';
2
+ import { SelectV2Option, SelectV2Size } from './SelectV2.types';
3
+ export declare const MULTI_VALUE_CLASS = "flex items-center gap-1 rounded-md bg-bg-subtle pl-2 pr-1 py-0.5 max-w-full";
4
+ export declare const MULTI_VALUE_LABEL_CLASS = "truncate text-p-sm text-fg-default";
5
+ export declare const MULTI_VALUE_REMOVE_CLASS = "rounded-sm text-fg-secondary hover:bg-bg-container hover:text-fg-default cursor-pointer";
6
+ export declare const MULTI_VALUE_BADGE_CLASS = "flex items-center rounded-md bg-bg-info-lighter px-2 py-0.5 text-p-sm text-blue-800 dark:text-blue-300 shrink-0";
7
+ export declare function optionLabelText(option: SelectV2Option): string;
8
+ export declare function matchesSearch(option: SelectV2Option, inputValue: string): boolean;
9
+ export declare function readStoredSelection(storageKey: string): unknown;
10
+ export declare function hasStoredSelection(storageKey: string): boolean;
11
+ export declare function writeStoredSelection(storageKey: string, value: unknown): void;
12
+ export declare function clearStoredSelection(storageKey: string): void;
13
+ export declare function buildClassNames(size: SelectV2Size, hasError: boolean, singleLine: boolean): ClassNamesConfig<SelectV2Option, boolean, GroupBase<SelectV2Option>>;
@@ -97,6 +97,15 @@ export interface TableV2Props<TData, TValue = unknown> extends BaseProps {
97
97
  onExport?: () => void;
98
98
  density?: TableV2Density;
99
99
  stickyHeader?: boolean;
100
+ /**
101
+ * Stretches the table to fill its parent's height instead of sizing to
102
+ * its content, with the row area scrolling internally (header pinned,
103
+ * same as `stickyHeader`) and the pagination footer pinned to the
104
+ * bottom of that area. The parent element must provide a definite
105
+ * height (e.g. `h-[calc(100vh-64px)]`) for this to have any effect.
106
+ * @default false
107
+ */
108
+ fillHeight?: boolean;
100
109
  wrapperClassName?: string;
101
110
  className?: string;
102
111
  }