@nar-bus/ui-kit 1.32.0 → 1.33.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/dist/atoms/Input.d.ts.map +1 -1
- package/dist/atoms/Select.d.ts +8 -0
- package/dist/atoms/Select.d.ts.map +1 -1
- package/dist/atoms/SelectableCard.d.ts +38 -2
- package/dist/atoms/SelectableCard.d.ts.map +1 -1
- package/dist/atoms/Tooltip.d.ts +15 -1
- package/dist/atoms/Tooltip.d.ts.map +1 -1
- package/dist/atoms/index.d.ts +1 -1
- package/dist/atoms/index.d.ts.map +1 -1
- package/dist/hooks/useSelectListbox.d.ts.map +1 -1
- package/dist/i18n/en.json.d.ts +26 -4
- package/dist/i18n/resources.d.ts +44 -0
- package/dist/i18n/resources.d.ts.map +1 -1
- package/dist/i18n/resources.js +1 -1
- package/dist/i18n/tr.json.d.ts +26 -4
- package/dist/index.d.ts +8 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5012 -4289
- package/dist/molecules/Combobox.d.ts +78 -1
- package/dist/molecules/Combobox.d.ts.map +1 -1
- package/dist/molecules/ConfirmDialog.d.ts.map +1 -1
- package/dist/molecules/DatePicker.d.ts +10 -1
- package/dist/molecules/DatePicker.d.ts.map +1 -1
- package/dist/molecules/DateRangePicker.d.ts +11 -1
- package/dist/molecules/DateRangePicker.d.ts.map +1 -1
- package/dist/molecules/DateTimeInput.d.ts +14 -1
- package/dist/molecules/DateTimeInput.d.ts.map +1 -1
- package/dist/molecules/KpiCard.d.ts +18 -1
- package/dist/molecules/KpiCard.d.ts.map +1 -1
- package/dist/molecules/SearchInput.d.ts +37 -2
- package/dist/molecules/SearchInput.d.ts.map +1 -1
- package/dist/molecules/comboboxKeyboard.d.ts +7 -1
- package/dist/molecules/comboboxKeyboard.d.ts.map +1 -1
- package/dist/molecules/comboboxPanel.d.ts +86 -0
- package/dist/molecules/comboboxPanel.d.ts.map +1 -0
- package/dist/organisms/DataTable/DataTableSelection.d.ts +35 -0
- package/dist/organisms/DataTable/DataTableSelection.d.ts.map +1 -0
- package/dist/organisms/DataTable/RowActionsCell.d.ts +19 -1
- package/dist/organisms/DataTable/RowActionsCell.d.ts.map +1 -1
- package/dist/organisms/DataTable.d.ts +27 -5
- package/dist/organisms/DataTable.d.ts.map +1 -1
- package/dist/organisms/Dialog.d.ts.map +1 -1
- package/dist/organisms/FilterPanel.d.ts +46 -0
- package/dist/organisms/FilterPanel.d.ts.map +1 -1
- package/dist/organisms/Pagination.d.ts.map +1 -1
- package/dist/organisms/Popover.d.ts +55 -1
- package/dist/organisms/Popover.d.ts.map +1 -1
- package/dist/organisms/Sheet.d.ts.map +1 -1
- package/dist/organisms/Toast.d.ts +6 -0
- package/dist/organisms/Toast.d.ts.map +1 -1
- package/dist/organisms/index.d.ts +3 -3
- package/dist/organisms/index.d.ts.map +1 -1
- package/dist/resources-B3pLCPDz.js +86 -0
- package/dist/templates/ReportLayout.d.ts +22 -1
- package/dist/templates/ReportLayout.d.ts.map +1 -1
- package/dist/theme.css +1 -1
- package/dist/ui-kit.css +1 -1
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/overlayStack.d.ts +68 -31
- package/dist/utils/overlayStack.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/resources-CMxZ3N09.js +0 -86
|
@@ -2,6 +2,22 @@ import { ReactNode } from 'react';
|
|
|
2
2
|
export interface ComboboxOption {
|
|
3
3
|
value: string;
|
|
4
4
|
label: string;
|
|
5
|
+
/**
|
|
6
|
+
* NB-COMBO-GROUP-01 — group heading. CONSECUTIVE options with the same
|
|
7
|
+
* `group` render under one heading, wrapped in `role="group"` +
|
|
8
|
+
* `aria-labelledby` (APG grouped listbox). Options keep the caller's order —
|
|
9
|
+
* sort by group first if one heading per group is wanted. Absent / "" → no
|
|
10
|
+
* heading (DOM unchanged).
|
|
11
|
+
*/
|
|
12
|
+
group?: string;
|
|
13
|
+
/**
|
|
14
|
+
* NB-COMBO-GROUP-01 — render the option but make it non-selectable
|
|
15
|
+
* (Select NB-SELECT-DISABLE-01 contract): pointer and Enter do nothing,
|
|
16
|
+
* ↓ / ↑ / Home / End skip it, it never becomes the active descendant.
|
|
17
|
+
*/
|
|
18
|
+
disabled?: boolean;
|
|
19
|
+
/** NB-COMBO-GROUP-01 — native title tooltip shown on the disabled row. */
|
|
20
|
+
disabledReason?: string;
|
|
5
21
|
}
|
|
6
22
|
interface ComboboxPropsBase {
|
|
7
23
|
options: ComboboxOption[];
|
|
@@ -34,6 +50,67 @@ interface ComboboxPropsBase {
|
|
|
34
50
|
"aria-describedby"?: string;
|
|
35
51
|
"aria-required"?: boolean | "true" | "false";
|
|
36
52
|
id?: string;
|
|
53
|
+
/**
|
|
54
|
+
* NB-COMBO-REMOTE-01 — `false` draws `options` exactly as given: no local
|
|
55
|
+
* label filter on the typed text. For a server search (`onSearch` /
|
|
56
|
+
* `onSearchChange`) whose answer is already matched — by Turkish folding, or
|
|
57
|
+
* on a field the label does not show — and must not be narrowed again.
|
|
58
|
+
* @default true (local Turkish-folded label filter, NB-SELECT-FOLD-01)
|
|
59
|
+
*/
|
|
60
|
+
filterOptions?: boolean;
|
|
61
|
+
/**
|
|
62
|
+
* NB-COMBO-REMOTE-01 — debounce of `onSearch` in ms. `0` fires it on every
|
|
63
|
+
* change without a timer (for a caller whose query hook owns the debounce).
|
|
64
|
+
* @default 300
|
|
65
|
+
*/
|
|
66
|
+
searchDelay?: number;
|
|
67
|
+
/**
|
|
68
|
+
* NB-COMBO-REMOTE-01 — the RAW search text on every change (each keystroke),
|
|
69
|
+
* and `""` when the panel clears it. The text lives only while the panel is
|
|
70
|
+
* open: every close clears it — a pick in single mode, Escape, Tab out of the
|
|
71
|
+
* panel, an outside click and (KAUDIT-1021b R1-F06, before: kept) a click on the
|
|
72
|
+
* trigger. A pick in `multiple` mode keeps the panel open and the text as is.
|
|
73
|
+
* Never debounced, not fired on mount. Independent of `onSearch` (which gets
|
|
74
|
+
* the same `""`, debounced by `searchDelay`).
|
|
75
|
+
*/
|
|
76
|
+
onSearchChange?: (query: string) => void;
|
|
77
|
+
/**
|
|
78
|
+
* NB-COMBO-REMOTE-01 — content of the "no options" state, replacing the
|
|
79
|
+
* default icon + "Sonuç bulunamadı". `null` renders nothing. Not shown while
|
|
80
|
+
* `loading` or when `statusSlot` is given.
|
|
81
|
+
*/
|
|
82
|
+
emptyState?: ReactNode;
|
|
83
|
+
/**
|
|
84
|
+
* NB-COMBO-REMOTE-01 — caller-owned status row of the open panel, under the
|
|
85
|
+
* option rows: "en az N karakter yazın", error + [Tekrar dene], "daha fazla
|
|
86
|
+
* yükleniyor"… While given it replaces the built-in empty state (an error is
|
|
87
|
+
* not also "no result") and describes the search input (`aria-describedby`),
|
|
88
|
+
* so it is read on open. Live-region semantics (`role="status"` /
|
|
89
|
+
* `role="alert"`) belong to the content. `null` / absent → no row.
|
|
90
|
+
* KAUDIT-1021b R1-F04: a control in it (and in `emptyState` / `createHint`) is a Tab
|
|
91
|
+
* stop after the search input; Tab past the last stop (Shift+Tab before the
|
|
92
|
+
* input) closes back to the trigger. If the control that has focus is removed
|
|
93
|
+
* (Retry → spinner), focus goes back to the search input.
|
|
94
|
+
*/
|
|
95
|
+
statusSlot?: ReactNode;
|
|
96
|
+
/**
|
|
97
|
+
* NB-COMBO-REMOTE-01 — options known for the current value(s), used to label
|
|
98
|
+
* the trigger / chips when `options` (e.g. the latest server answer) does not
|
|
99
|
+
* contain them. Never listed in the panel. Lookup: `options` → this →
|
|
100
|
+
* (`creatable`) the raw value.
|
|
101
|
+
*/
|
|
102
|
+
selectedOptions?: ComboboxOption[];
|
|
103
|
+
/**
|
|
104
|
+
* NB-COMBOBOX-VIRTUAL-01 — window the option rows: only the rows in view
|
|
105
|
+
* (+ a small overscan, + the keyboard-active row) are in the DOM, each
|
|
106
|
+
* `optionHeight` px tall and single-line (labels truncate). Keyboard,
|
|
107
|
+
* `aria-activedescendant` and group headings keep working; options carry
|
|
108
|
+
* `aria-setsize` / `aria-posinset`. For catalog-sized local lists.
|
|
109
|
+
* @default false
|
|
110
|
+
*/
|
|
111
|
+
virtualize?: boolean;
|
|
112
|
+
/** NB-COMBOBOX-VIRTUAL-01 — fixed row height in px (headings too) when `virtualize`. @default 32 */
|
|
113
|
+
optionHeight?: number;
|
|
37
114
|
}
|
|
38
115
|
interface ComboboxPropsSingle extends ComboboxPropsBase {
|
|
39
116
|
multiple?: false;
|
|
@@ -46,6 +123,6 @@ interface ComboboxPropsMultiple extends ComboboxPropsBase {
|
|
|
46
123
|
onChange?: (value: string[]) => void;
|
|
47
124
|
}
|
|
48
125
|
export type ComboboxProps = ComboboxPropsSingle | ComboboxPropsMultiple;
|
|
49
|
-
export declare function Combobox({ options, value, onChange, placeholder, searchPlaceholder, multiple, disabled, error, loading, onSearch, className, creatable, createHint, id, "aria-invalid": ariaInvalid, "aria-describedby": ariaDescribedBy, "aria-required": ariaRequired, }: ComboboxProps): import("react").JSX.Element;
|
|
126
|
+
export declare function Combobox({ options, value, onChange, placeholder, searchPlaceholder, multiple, disabled, error, loading, onSearch, className, creatable, createHint, id, "aria-invalid": ariaInvalid, "aria-describedby": ariaDescribedBy, "aria-required": ariaRequired, filterOptions, searchDelay, onSearchChange, emptyState, statusSlot, selectedOptions, virtualize, optionHeight, }: ComboboxProps): import("react").JSX.Element;
|
|
50
127
|
export {};
|
|
51
128
|
//# sourceMappingURL=Combobox.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Combobox.d.ts","sourceRoot":"","sources":["../../src/molecules/Combobox.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA4D,KAAK,SAAS,EAAsC,MAAM,OAAO,CAAC;AAWrI,MAAM,WAAW,cAAc;
|
|
1
|
+
{"version":3,"file":"Combobox.d.ts","sourceRoot":"","sources":["../../src/molecules/Combobox.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA4D,KAAK,SAAS,EAAsC,MAAM,OAAO,CAAC;AAWrI,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,0EAA0E;IAC1E,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,UAAU,iBAAiB;IACzB,OAAO,EAAE,cAAc,EAAE,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC5E,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IACtD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC5E;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;IAC5C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;IAC7C,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC;;;;OAIG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;IACnC;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oGAAoG;IACpG,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AACD,UAAU,mBAAoB,SAAQ,iBAAiB;IAAG,QAAQ,CAAC,EAAE,KAAK,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAAE;AACjI,UAAU,qBAAsB,SAAQ,iBAAiB;IAAG,QAAQ,EAAE,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CAAE;AACrI,MAAM,MAAM,aAAa,GAAG,mBAAmB,GAAG,qBAAqB,CAAC;AAiMxE,wBAAgB,QAAQ,CAAC,EACvB,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAgB,EAAE,iBAAiB,EAAE,QAAgB,EAC/E,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAiB,EAAE,UAAU,EAC5E,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,kBAAkB,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EACnG,aAAoB,EAAE,WAAkC,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAChG,eAAe,EAAE,UAAkB,EAAE,YAAY,GAClD,EAAE,aAAa,+BAmOf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfirmDialog.d.ts","sourceRoot":"","sources":["../../src/molecules/ConfirmDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"ConfirmDialog.d.ts","sourceRoot":"","sources":["../../src/molecules/ConfirmDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAwC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAS7E,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,aAAa,CAAC,EAC5B,IAAI,EACJ,SAAS,EACT,QAAQ,EACR,KAAK,EACL,WAAW,EACX,YAAoB,EACpB,WAAW,EACX,UAAU,EACV,WAAmB,EACnB,OAAe,GAChB,EAAE,kBAAkB,sCAuKpB"}
|
|
@@ -51,6 +51,15 @@ export interface DatePickerProps {
|
|
|
51
51
|
"aria-describedby"?: string;
|
|
52
52
|
"aria-required"?: boolean | "true" | "false";
|
|
53
53
|
id?: string;
|
|
54
|
+
/**
|
|
55
|
+
* Adds the trigger's shown text — the formatted date, or the placeholder
|
|
56
|
+
* while empty — to its accessible description (KAUDIT R2-F08). For a trigger
|
|
57
|
+
* NAMED by an outside `<label>` (FilterPanel, a FormField): the label then
|
|
58
|
+
* replaces the button's own text as its name, and this keeps the selected
|
|
59
|
+
* value audible on focus — no second formatting by the caller. A caller
|
|
60
|
+
* `aria-describedby` follows the value. @default false (the text is the name)
|
|
61
|
+
*/
|
|
62
|
+
describeValue?: boolean;
|
|
54
63
|
}
|
|
55
|
-
export declare function DatePicker({ value, onChange, placeholder, min, max, disabled, error, className, presets, showTime, timeLayout, minuteStep, "aria-invalid": ariaInvalid, "aria-describedby": ariaDescribedBy, "aria-required": ariaRequired, id, }: DatePickerProps): import("react").JSX.Element;
|
|
64
|
+
export declare function DatePicker({ value, onChange, placeholder, min, max, disabled, error, className, presets, showTime, timeLayout, minuteStep, "aria-invalid": ariaInvalid, "aria-describedby": ariaDescribedBy, "aria-required": ariaRequired, id, describeValue, }: DatePickerProps): import("react").JSX.Element;
|
|
56
65
|
//# sourceMappingURL=DatePicker.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePicker.d.ts","sourceRoot":"","sources":["../../src/molecules/DatePicker.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"DatePicker.d.ts","sourceRoot":"","sources":["../../src/molecules/DatePicker.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA2E,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAyBhH,MAAM,WAAW,gBAAgB;IAC/B,iFAAiF;IACjF,KAAK,EAAE,SAAS,CAAC;IACjB,uFAAuF;IACvF,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yHAAyH;IACzH,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,yCAAyC;IACzC,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8EAA8E;IAC9E,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC7B;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAChC,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gFAAgF;IAChF,cAAc,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;IAC5C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;IAC7C,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,QAAQ,EACR,WAAW,EACX,GAAG,EACH,GAAG,EACH,QAAQ,EACR,KAAK,EACL,SAAS,EACT,OAAO,EACP,QAAgB,EAChB,UAAqB,EACrB,UAAc,EACd,cAAc,EAAE,WAAW,EAC3B,kBAAkB,EAAE,eAAe,EACnC,eAAe,EAAE,YAAY,EAC7B,EAAE,EACF,aAAqB,GACtB,EAAE,eAAe,+BAijBjB"}
|
|
@@ -93,6 +93,16 @@ export interface DateRangePickerProps {
|
|
|
93
93
|
"aria-describedby"?: string;
|
|
94
94
|
"aria-required"?: boolean | "true" | "false";
|
|
95
95
|
id?: string;
|
|
96
|
+
/**
|
|
97
|
+
* Adds the trigger's shown text — the formatted bounds "start — end", an
|
|
98
|
+
* empty bound shown as its placeholder — to its accessible description
|
|
99
|
+
* (KAUDIT R2-F08). For a trigger
|
|
100
|
+
* NAMED by an outside `<label>` (FilterPanel, a FormField): the label then
|
|
101
|
+
* replaces the button's own text as its name, and this keeps the selected
|
|
102
|
+
* value audible on focus — no second formatting by the caller. A caller
|
|
103
|
+
* `aria-describedby` follows the value. @default false (the text is the name)
|
|
104
|
+
*/
|
|
105
|
+
describeValue?: boolean;
|
|
96
106
|
}
|
|
97
107
|
/**
|
|
98
108
|
* DateRangePicker — ONE console-baseline input carrying BOTH bounds
|
|
@@ -119,5 +129,5 @@ export interface DateRangePickerProps {
|
|
|
119
129
|
* stays in the consumer — the package only renders the invalid chrome), and
|
|
120
130
|
* supplies domain shortcuts, all without forking the component.
|
|
121
131
|
*/
|
|
122
|
-
export declare function DateRangePicker({ value, onChange, presets, min, max, showTime, inclusiveEnd, timeLayout, minuteStep, disabled, error, className, "aria-invalid": ariaInvalid, "aria-describedby": ariaDescribedBy, "aria-required": ariaRequired, id, }: DateRangePickerProps): import("react").JSX.Element;
|
|
132
|
+
export declare function DateRangePicker({ value, onChange, presets, min, max, showTime, inclusiveEnd, timeLayout, minuteStep, disabled, error, className, "aria-invalid": ariaInvalid, "aria-describedby": ariaDescribedBy, "aria-required": ariaRequired, id, describeValue, }: DateRangePickerProps): import("react").JSX.Element;
|
|
123
133
|
//# sourceMappingURL=DateRangePicker.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateRangePicker.d.ts","sourceRoot":"","sources":["../../src/molecules/DateRangePicker.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"DateRangePicker.d.ts","sourceRoot":"","sources":["../../src/molecules/DateRangePicker.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA2E,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AA8BhH,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,GAAG,EAAE,IAAI,GAAG,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,iFAAiF;IACjF,KAAK,EAAE,SAAS,CAAC;IACjB;;oEAEgE;IAChE,KAAK,EAAE,MAAM,SAAS,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;IACrC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,eAAe,EAAE,CAAC;IACtC;;;;OAIG;IACH,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,mFAAmF;IACnF,GAAG,CAAC,EAAE,IAAI,CAAC;IACX;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;;;;;OAWG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAChC,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gFAAgF;IAChF,cAAc,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;IAC5C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;IAC7C,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,QAAQ,EACR,OAAc,EACd,GAAG,EACH,GAAG,EACH,QAAgB,EAChB,YAAoB,EACpB,UAAqB,EACrB,UAAc,EACd,QAAQ,EACR,KAAK,EACL,SAAS,EACT,cAAc,EAAE,WAAW,EAC3B,kBAAkB,EAAE,eAAe,EACnC,eAAe,EAAE,YAAY,EAC7B,EAAE,EACF,aAAqB,GACtB,EAAE,oBAAoB,+BAw3BtB"}
|
|
@@ -14,6 +14,19 @@ export interface DateTimeInputProps {
|
|
|
14
14
|
disabled?: boolean;
|
|
15
15
|
error?: string;
|
|
16
16
|
className?: string;
|
|
17
|
+
/**
|
|
18
|
+
* ARIA forwarding — injected by FormField via cloneElement (NB-DATETIMEINPUT-ID-01;
|
|
19
|
+
* the `Select` / `DatePicker` / `DateRangePicker` / `Combobox` contract). `id` and
|
|
20
|
+
* the three ARIA props go to the DAY trigger, so `<label htmlFor>` names and
|
|
21
|
+
* focuses it. The time box keeps its own name ("Saat") and mirrors
|
|
22
|
+
* `aria-invalid` / `aria-describedby` / `aria-required` — the error and the
|
|
23
|
+
* requirement are the field's, both halves carry them. A caller `aria-invalid`
|
|
24
|
+
* wins over the `error`-derived one on both.
|
|
25
|
+
*/
|
|
26
|
+
"aria-invalid"?: boolean | "true" | "false";
|
|
27
|
+
"aria-describedby"?: string;
|
|
28
|
+
"aria-required"?: boolean | "true" | "false";
|
|
29
|
+
id?: string;
|
|
17
30
|
}
|
|
18
31
|
/**
|
|
19
32
|
* DateTimeInput — the time-aware sibling of `DatePicker`. Composes `DatePicker`
|
|
@@ -29,5 +42,5 @@ export interface DateTimeInputProps {
|
|
|
29
42
|
* bound. So picking the max day keeps a within-day time but snaps a later one to
|
|
30
43
|
* `max` rather than emitting an out-of-range datetime.
|
|
31
44
|
*/
|
|
32
|
-
export declare function DateTimeInput({ value, onChange, placeholder, min, max, minuteStep, disabled, error, className, }: DateTimeInputProps): import("react").JSX.Element;
|
|
45
|
+
export declare function DateTimeInput({ value, onChange, placeholder, min, max, minuteStep, disabled, error, className, "aria-invalid": ariaInvalid, "aria-describedby": ariaDescribedBy, "aria-required": ariaRequired, id, }: DateTimeInputProps): import("react").JSX.Element;
|
|
33
46
|
//# sourceMappingURL=DateTimeInput.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateTimeInput.d.ts","sourceRoot":"","sources":["../../src/molecules/DateTimeInput.tsx"],"names":[],"mappings":"AAgBA,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACpB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;uFACmF;IACnF,GAAG,CAAC,EAAE,IAAI,CAAC;IACX;sCACkC;IAClC,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"DateTimeInput.d.ts","sourceRoot":"","sources":["../../src/molecules/DateTimeInput.tsx"],"names":[],"mappings":"AAgBA,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACpB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;uFACmF;IACnF,GAAG,CAAC,EAAE,IAAI,CAAC;IACX;sCACkC;IAClC,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;IAC5C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;IAC7C,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,QAAQ,EACR,WAAW,EACX,GAAG,EACH,GAAG,EACH,UAAc,EACd,QAAQ,EACR,KAAK,EACL,SAAS,EACT,cAAc,EAAE,WAAW,EAC3B,kBAAkB,EAAE,eAAe,EACnC,eAAe,EAAE,YAAY,EAC7B,EAAE,GACH,EAAE,kBAAkB,+BA2EpB"}
|
|
@@ -25,6 +25,23 @@ export interface KpiCardProps {
|
|
|
25
25
|
isError?: boolean;
|
|
26
26
|
/** Consumer-supplied error text shown under the value in the error state (message stays consumer-owned; the package owns only the chrome). */
|
|
27
27
|
errorMessage?: ReactNode;
|
|
28
|
+
/**
|
|
29
|
+
* NB-KPICARD-PRESSED-01 — the card is the active one, e.g. its filter is applied
|
|
30
|
+
* to the list under a KPI strip. Meaningful only with `onClick`: the role=button
|
|
31
|
+
* card gets `aria-pressed`, and the selected look — the card's accent border,
|
|
32
|
+
* thickened to 2px (a shape cue, not colour alone). Without `onClick` it is
|
|
33
|
+
* ignored. `undefined` (default) = not a toggle, no `aria-pressed`.
|
|
34
|
+
*/
|
|
35
|
+
pressed?: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* NB-MODEMSTATS-ORDERPERF-01 — an explanation of the figure: an ⓘ next to the
|
|
38
|
+
* label shows it in a Tooltip. On a plain card the ⓘ is a focusable button named
|
|
39
|
+
* "<label> hakkında" and described by the hint. A clickable card (`onClick`) is
|
|
40
|
+
* itself a button and cannot hold another, so there the ⓘ is no tab stop: the
|
|
41
|
+
* hint is the card's accessible description, and the Tooltip opens on the ⓘ
|
|
42
|
+
* while the card has keyboard focus (KAUDIT R2-F05) as well as on hover.
|
|
43
|
+
*/
|
|
44
|
+
hint?: ReactNode;
|
|
28
45
|
}
|
|
29
|
-
export declare function KpiCard({ value, unit, label, trend, icon: IconComponent, accentColor, size, className, onClick, isLoading, disabled, "aria-label": ariaLabel, isError, errorMessage, }: KpiCardProps): import("react").JSX.Element;
|
|
46
|
+
export declare function KpiCard({ value, unit, label, trend, icon: IconComponent, accentColor, size, className, onClick, isLoading, disabled, "aria-label": ariaLabel, isError, errorMessage, pressed, hint, }: KpiCardProps): import("react").JSX.Element;
|
|
30
47
|
//# sourceMappingURL=KpiCard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KpiCard.d.ts","sourceRoot":"","sources":["../../src/molecules/KpiCard.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"KpiCard.d.ts","sourceRoot":"","sources":["../../src/molecules/KpiCard.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAoF,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEzH,OAAO,EAAqD,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAuClG,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,SAAS,CAAC;IACjB,wGAAwG;IACxG,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,IAAI,GAAG,MAAM,CAAA;KAAE,CAAC;IACpD,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gGAAgG;IAChG,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,iFAAiF;IACjF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mIAAmI;IACnI,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2IAA2I;IAC3I,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,8IAA8I;IAC9I,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AA4DD,wBAAgB,OAAO,CAAC,EACtB,KAAK,EACL,IAAI,EACJ,KAAK,EACL,KAAK,EACL,IAAI,EAAE,aAAa,EACnB,WAAW,EACX,IAAgB,EAChB,SAAS,EACT,OAAO,EACP,SAAS,EACT,QAAQ,EACR,YAAY,EAAE,SAAS,EACvB,OAAO,EACP,YAAY,EACZ,OAAO,EACP,IAAI,GACL,EAAE,YAAY,+BA2Md"}
|
|
@@ -1,6 +1,37 @@
|
|
|
1
|
-
|
|
1
|
+
import { InputHTMLAttributes } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Native `<input>` props SearchInput passes through (NB-SEARCHINPUT-01): `id`,
|
|
4
|
+
* `name`, `maxLength`, `disabled`, `autoFocus`, `aria-*`, `data-*`, focus / key
|
|
5
|
+
* handlers… The text itself goes through `value` / `onChange` / `onSearch` below.
|
|
6
|
+
*/
|
|
7
|
+
type SearchInputNativeProps = Omit<InputHTMLAttributes<HTMLInputElement>, "value" | "defaultValue" | "onChange" | "type" | "size" | "placeholder" | "className" | "children" | "dangerouslySetInnerHTML">;
|
|
8
|
+
export interface SearchInputProps extends SearchInputNativeProps {
|
|
9
|
+
/**
|
|
10
|
+
* Without `onChange`: the starting text, and a later change replaces whatever is
|
|
11
|
+
* in the box (the behaviour before NB-SEARCHINPUT-01). With `onChange`: the text
|
|
12
|
+
* the box shows (controlled).
|
|
13
|
+
*/
|
|
2
14
|
value?: string;
|
|
3
15
|
onSearch: (value: string) => void;
|
|
16
|
+
/**
|
|
17
|
+
* NB-SEARCHINPUT-01 — controlled mode. Given, the box shows `value` (`""` when
|
|
18
|
+
* undefined) and reports every keystroke / clear here, raw. `value` is never
|
|
19
|
+
* copied into the box behind the caller's back, so a normalized echo of a search
|
|
20
|
+
* (the URL trimmed "abc " to "abc") cannot overwrite what the user is still
|
|
21
|
+
* typing — the caller decides what the box shows. `onSearch` stays the debounced
|
|
22
|
+
* side: `delay` ms after the last edit it fires with the then-current `value`.
|
|
23
|
+
* A `value` change from elsewhere (Temizle, chip ✕, back / forward) fires no
|
|
24
|
+
* `onSearch` of its own. Pick the mode on mount; switching remounts the field.
|
|
25
|
+
*/
|
|
26
|
+
onChange?: (value: string) => void;
|
|
27
|
+
/**
|
|
28
|
+
* Whether `onSearch` fires once on mount with the starting text (NB-SEARCHINPUT-01).
|
|
29
|
+
* `true` (default) is the behaviour before. With `false` the first call is the
|
|
30
|
+
* first search that differs from the starting text — no echo to tell apart.
|
|
31
|
+
* Read on mount.
|
|
32
|
+
* @default true
|
|
33
|
+
*/
|
|
34
|
+
fireOnMount?: boolean;
|
|
4
35
|
placeholder?: string;
|
|
5
36
|
/**
|
|
6
37
|
* Debounce delay in milliseconds before firing `onSearch`.
|
|
@@ -22,6 +53,10 @@ export interface SearchInputProps {
|
|
|
22
53
|
* Inherits all visual polish (focus ring, hover-border-lift, clear button,
|
|
23
54
|
* density-aware sizing, motion tokens) directly from the Input atom introduced
|
|
24
55
|
* in STORY-202. No additional token swaps are needed in this molecule.
|
|
56
|
+
*
|
|
57
|
+
* Two modes (NB-SEARCHINPUT-01): without `onChange` the box keeps its own text
|
|
58
|
+
* (unchanged); with `onChange` it is controlled — see that prop.
|
|
25
59
|
*/
|
|
26
|
-
export declare function SearchInput(
|
|
60
|
+
export declare function SearchInput(props: SearchInputProps): import("react").JSX.Element;
|
|
61
|
+
export {};
|
|
27
62
|
//# sourceMappingURL=SearchInput.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchInput.d.ts","sourceRoot":"","sources":["../../src/molecules/SearchInput.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SearchInput.d.ts","sourceRoot":"","sources":["../../src/molecules/SearchInput.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiC,KAAK,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAMhF;;;;GAIG;AACH,KAAK,sBAAsB,GAAG,IAAI,CAChC,mBAAmB,CAAC,gBAAgB,CAAC,EACnC,OAAO,GACP,cAAc,GACd,UAAU,GACV,MAAM,GACN,MAAM,GACN,aAAa,GACb,WAAW,GACX,UAAU,GACV,yBAAyB,CAC5B,CAAC;AAEF,MAAM,WAAW,gBAAiB,SAAQ,sBAAsB;IAC9D;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;CAChC;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,+BAMlD"}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { RefObject, KeyboardEvent } from 'react';
|
|
2
2
|
export declare function makeOptionId(listboxId: string, value: string, isCreatable: boolean): string;
|
|
3
|
+
/** One wrapping step from `from` in `dir` to the next ENABLED index; `from` unchanged when none is enabled. */
|
|
4
|
+
export declare function stepEnabledIndex(from: number, dir: 1 | -1, length: number, isDisabledAt: (index: number) => boolean): number;
|
|
5
|
+
/** The index itself when enabled, else the nearest enabled one (forward first), else -1. */
|
|
6
|
+
export declare function resolveEnabledIndex(index: number, length: number, isDisabledAt: (index: number) => boolean): number;
|
|
3
7
|
export interface KeyHandlerCtx {
|
|
4
8
|
open: boolean;
|
|
5
9
|
disabled?: boolean;
|
|
@@ -10,6 +14,8 @@ export interface KeyHandlerCtx {
|
|
|
10
14
|
setHighlightedIndex: (updater: (prev: number) => number) => void;
|
|
11
15
|
selectAt: (index: number) => void;
|
|
12
16
|
buttonRef: RefObject<HTMLButtonElement | null>;
|
|
17
|
+
/** NB-COMBO-GROUP-01 — arrows / Home / End skip disabled options. Absent → none disabled. */
|
|
18
|
+
isDisabledAt?: (index: number) => boolean;
|
|
13
19
|
}
|
|
14
|
-
export declare function handleComboboxKeyDown(e: KeyboardEvent<
|
|
20
|
+
export declare function handleComboboxKeyDown(e: KeyboardEvent<HTMLElement>, ctx: KeyHandlerCtx): void;
|
|
15
21
|
//# sourceMappingURL=comboboxKeyboard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comboboxKeyboard.d.ts","sourceRoot":"","sources":["../../src/molecules/comboboxKeyboard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAOtD,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,GAAG,MAAM,CAE3F;
|
|
1
|
+
{"version":3,"file":"comboboxKeyboard.d.ts","sourceRoot":"","sources":["../../src/molecules/comboboxKeyboard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAOtD,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,GAAG,MAAM,CAE3F;AAMD,+GAA+G;AAC/G,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,GAClF,MAAM,CASR;AAED,4FAA4F;AAC5F,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,GACtE,MAAM,CAKR;AAKD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAC;IAChF,OAAO,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAAC,SAAS,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9D,mBAAmB,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,KAAK,IAAI,CAAC;IACjE,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,SAAS,EAAE,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IAC/C,6FAA6F;IAC7F,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;CAC3C;AACD,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,aAAa,GAAG,IAAI,CAuC7F"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { KeyboardEvent, ReactNode, RefObject } from 'react';
|
|
2
|
+
import { ComboboxOption } from './Combobox';
|
|
3
|
+
export interface PopoverRect {
|
|
4
|
+
top: number;
|
|
5
|
+
left: number;
|
|
6
|
+
width: number;
|
|
7
|
+
maxHeight: number;
|
|
8
|
+
openUp: boolean;
|
|
9
|
+
}
|
|
10
|
+
export type CreatableOption = ComboboxOption & {
|
|
11
|
+
__creatable?: boolean;
|
|
12
|
+
};
|
|
13
|
+
interface HeaderItem {
|
|
14
|
+
kind: "header";
|
|
15
|
+
id: string;
|
|
16
|
+
label: string;
|
|
17
|
+
}
|
|
18
|
+
interface OptionItem {
|
|
19
|
+
kind: "option";
|
|
20
|
+
option: CreatableOption;
|
|
21
|
+
index: number;
|
|
22
|
+
}
|
|
23
|
+
type ListItem = HeaderItem | OptionItem;
|
|
24
|
+
/** A run of consecutive options sharing one `group` (or none); `first`..`last` are item indexes. */
|
|
25
|
+
interface ListSegment {
|
|
26
|
+
group?: string;
|
|
27
|
+
headerId?: string;
|
|
28
|
+
first: number;
|
|
29
|
+
last: number;
|
|
30
|
+
}
|
|
31
|
+
export interface ComboboxListModel {
|
|
32
|
+
/** Render order; in virtual mode every item (heading or option) is one fixed-height row. */
|
|
33
|
+
items: ListItem[];
|
|
34
|
+
segments: ListSegment[];
|
|
35
|
+
/** Option index (= keyboard / `displayOptions` index) → item index. */
|
|
36
|
+
itemOfOption: number[];
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* NB-COMBO-GROUP-01 — consecutive options with the same `group` form one segment
|
|
40
|
+
* under a heading; ungrouped options (and the creatable row) form heading-less
|
|
41
|
+
* segments. The same group appearing again later gets a heading again (options
|
|
42
|
+
* are drawn in the caller's order, never re-sorted).
|
|
43
|
+
*/
|
|
44
|
+
export declare function buildListModel(options: CreatableOption[], listboxId: string): ComboboxListModel;
|
|
45
|
+
interface VirtualMetrics {
|
|
46
|
+
scrollTop: number;
|
|
47
|
+
rowsTop: number;
|
|
48
|
+
viewport: number;
|
|
49
|
+
}
|
|
50
|
+
/** NB-COMBOBOX-VIRTUAL-01 — item range [start, end) intersecting the panel's visible area (+ overscan). */
|
|
51
|
+
export declare function computeVirtualRange(count: number, rowHeight: number, m: VirtualMetrics): {
|
|
52
|
+
start: number;
|
|
53
|
+
end: number;
|
|
54
|
+
};
|
|
55
|
+
export interface ComboboxDropdownProps {
|
|
56
|
+
popoverRef: RefObject<HTMLDivElement | null>;
|
|
57
|
+
popoverRect: PopoverRect;
|
|
58
|
+
listboxId: string;
|
|
59
|
+
multiple: boolean;
|
|
60
|
+
loading?: boolean;
|
|
61
|
+
search: string;
|
|
62
|
+
searchPlaceholder?: string;
|
|
63
|
+
searchAriaLabel: string;
|
|
64
|
+
emptyLabel: string;
|
|
65
|
+
createLabelFor: (value: string) => string;
|
|
66
|
+
createHint?: ReactNode;
|
|
67
|
+
displayOptions: CreatableOption[];
|
|
68
|
+
selectedValues: string[];
|
|
69
|
+
/** Resolved (enabled) active option index, -1 = none. */
|
|
70
|
+
activeIndex: number;
|
|
71
|
+
activeOptionId: string | undefined;
|
|
72
|
+
/** NB-COMBO-REMOTE-01 — caller empty content; `undefined` = package default, `null` = nothing. */
|
|
73
|
+
emptyState?: ReactNode;
|
|
74
|
+
/** NB-COMBO-REMOTE-01 — caller status row under the rows; replaces the built-in empty state. */
|
|
75
|
+
statusSlot?: ReactNode;
|
|
76
|
+
/** NB-COMBOBOX-VIRTUAL-01 — set = virtualized rows of this fixed height (px). */
|
|
77
|
+
rowHeight?: number;
|
|
78
|
+
onSearchChange: (value: string) => void;
|
|
79
|
+
onSelect: (value: string) => void;
|
|
80
|
+
onTabOut: () => void;
|
|
81
|
+
/** NB-COMBO-REMOTE-01 — ↓ / ↑ / Enter / Escape from the search input (the focused element while open). */
|
|
82
|
+
onListKeyDown: (e: KeyboardEvent<HTMLElement>) => void;
|
|
83
|
+
}
|
|
84
|
+
export declare function ComboboxDropdown(p: ComboboxDropdownProps): import("react").JSX.Element;
|
|
85
|
+
export {};
|
|
86
|
+
//# sourceMappingURL=comboboxPanel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"comboboxPanel.d.ts","sourceRoot":"","sources":["../../src/molecules/comboboxPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Row, Table } from '@tanstack/react-table';
|
|
2
|
+
/** Per-row callbacks the built-in selection column reads
|
|
3
|
+
* (NB-DATATABLE-SELECT-NAME-01, NB-DATATABLE-ROWSELECT-01). DataTable hands
|
|
4
|
+
* them down through context instead of closing over them in its memoised
|
|
5
|
+
* column defs: an inline consumer callback would otherwise rebuild the column
|
|
6
|
+
* — a new `cell` component — and remount every checkbox, dropping keyboard
|
|
7
|
+
* focus. Method syntax keeps `row` bivariant, so a
|
|
8
|
+
* `DataTableSelectionA11y<TData>` fits the context's `<unknown>` slot. */
|
|
9
|
+
export interface DataTableSelectionA11y<TData> {
|
|
10
|
+
getRowSelectionLabel?(row: TData): string;
|
|
11
|
+
getRowAriaLabel?(row: TData): string;
|
|
12
|
+
getRowSelectionDisabledReason?(row: TData): string | undefined;
|
|
13
|
+
}
|
|
14
|
+
export declare const DataTableSelectionContext: import('react').Context<DataTableSelectionA11y<unknown>>;
|
|
15
|
+
/** Header "select all" box. Named for assistive technology
|
|
16
|
+
* (NB-DATATABLE-SELECT-NAME-01 — axe `label`, WCAG 4.1.2). */
|
|
17
|
+
export declare function DataTableSelectAllCheckbox<TData>({ table }: {
|
|
18
|
+
table: Table<TData>;
|
|
19
|
+
}): import("react").JSX.Element;
|
|
20
|
+
/** Row box. Name: `getRowSelectionLabel(row)` → "<getRowAriaLabel(row)> seç" →
|
|
21
|
+
* "Satırı seç" (NB-DATATABLE-SELECT-NAME-01). A row `isRowSelectable` rejects
|
|
22
|
+
* keeps a disabled box; `getRowSelectionDisabledReason(row)` adds the reason
|
|
23
|
+
* as a tooltip and as the box's accessible description (NB-DATATABLE-ROWSELECT-01).
|
|
24
|
+
*
|
|
25
|
+
* KAUDIT R2-F06 — a natively disabled box is no tab stop, so its tooltip was
|
|
26
|
+
* pointer-only and a sighted keyboard user could not learn the reason. A box
|
|
27
|
+
* WITH a reason is therefore `aria-disabled` instead: it stays in the tab
|
|
28
|
+
* order, Tab opens the tooltip, and a click / Space neither ticks it nor
|
|
29
|
+
* selects the row (no `onChange` reaches TanStack; the cell already keeps the
|
|
30
|
+
* click from the row). Same pattern as a row action with `disabledReason`. A
|
|
31
|
+
* box without a reason stays natively disabled, as before. */
|
|
32
|
+
export declare function DataTableSelectRowCheckbox<TData>({ row }: {
|
|
33
|
+
row: Row<TData>;
|
|
34
|
+
}): import("react").JSX.Element;
|
|
35
|
+
//# sourceMappingURL=DataTableSelection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableSelection.d.ts","sourceRoot":"","sources":["../../../src/organisms/DataTable/DataTableSelection.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAKxD;;;;;;2EAM2E;AAC3E,MAAM,WAAW,sBAAsB,CAAC,KAAK;IAC3C,oBAAoB,CAAC,CAAC,GAAG,EAAE,KAAK,GAAG,MAAM,CAAC;IAC1C,eAAe,CAAC,CAAC,GAAG,EAAE,KAAK,GAAG,MAAM,CAAC;IACrC,6BAA6B,CAAC,CAAC,GAAG,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAAC;CAChE;AAED,eAAO,MAAM,yBAAyB,0DAAqD,CAAC;AAE5F;+DAC+D;AAC/D,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;CAAE,+BAkBnF;AAQD;;;;;;;;;;;+DAW+D;AAC/D,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IAAE,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,CAAA;CAAE,+BA6C7E"}
|
|
@@ -1,17 +1,35 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
2
|
export interface RowAction<TData> {
|
|
3
3
|
id: string;
|
|
4
|
+
/** Menu text. Stays a plain `string` here so code that reads it keeps
|
|
5
|
+
* compiling; a per-row label is a `RowActionConfig` (NB-ROWACTION-TOOLTIP-01). */
|
|
4
6
|
label: string;
|
|
5
7
|
icon?: ReactNode;
|
|
6
8
|
variant?: "default" | "destructive";
|
|
7
9
|
onClick: (row: TData) => void;
|
|
8
10
|
hidden?: (row: TData) => boolean;
|
|
9
11
|
disabled?: (row: TData) => boolean;
|
|
12
|
+
/** Why the action is unavailable for this row (NB-ROWACTION-TOOLTIP-01).
|
|
13
|
+
* Read only while `disabled(row)` is `true`; a non-empty answer shows as a
|
|
14
|
+
* tooltip on the item and is its accessible description. Such an item stays
|
|
15
|
+
* focusable (`aria-disabled`, activation ignored) so keyboard and
|
|
16
|
+
* screen-reader users reach the reason too; without a reason the item is
|
|
17
|
+
* natively `disabled` as before. */
|
|
18
|
+
disabledReason?: (row: TData) => string | undefined;
|
|
10
19
|
separator?: boolean;
|
|
11
20
|
}
|
|
21
|
+
/** What `DataTable.rowActionConfigs` accepts (NB-ROWACTION-TOOLTIP-01): a
|
|
22
|
+
* `RowAction` whose `label` may also be computed per row, e.g.
|
|
23
|
+
* `(row) => (row.archived ? "Geri al" : "Arşivle")`. A separate name — and a
|
|
24
|
+
* separate DataTable prop — instead of widening `RowAction.label` or
|
|
25
|
+
* `DataTable.rowActions`, which would break code reading those as before
|
|
26
|
+
* (KAUDIT R2-F02); every `RowAction` is a valid `RowActionConfig`. */
|
|
27
|
+
export interface RowActionConfig<TData> extends Omit<RowAction<TData>, "label"> {
|
|
28
|
+
label: string | ((row: TData) => string);
|
|
29
|
+
}
|
|
12
30
|
interface RowActionsCellProps<TData> {
|
|
13
31
|
row: TData;
|
|
14
|
-
actions:
|
|
32
|
+
actions: RowActionConfig<TData>[];
|
|
15
33
|
}
|
|
16
34
|
export declare function RowActionsCell<TData>({ row, actions }: RowActionsCellProps<TData>): import("react").JSX.Element | null;
|
|
17
35
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RowActionsCell.d.ts","sourceRoot":"","sources":["../../../src/organisms/DataTable/RowActionsCell.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"RowActionsCell.d.ts","sourceRoot":"","sources":["../../../src/organisms/DataTable/RowActionsCell.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAOxD,MAAM,WAAW,SAAS,CAAC,KAAK;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX;uFACmF;IACnF,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,OAAO,CAAC,EAAE,SAAS,GAAG,aAAa,CAAC;IACpC,OAAO,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;IAC9B,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,OAAO,CAAC;IACjC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,OAAO,CAAC;IACnC;;;;;yCAKqC;IACrC,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,MAAM,GAAG,SAAS,CAAC;IACpD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;uEAKuE;AACvE,MAAM,WAAW,eAAe,CAAC,KAAK,CAAE,SAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAC7E,KAAK,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,KAAK,MAAM,CAAC,CAAC;CAC1C;AAED,UAAU,mBAAmB,CAAC,KAAK;IACjC,GAAG,EAAE,KAAK,CAAC;IACX,OAAO,EAAE,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;CACnC;AAKD,wBAAgB,cAAc,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,mBAAmB,CAAC,KAAK,CAAC,sCAoGjF"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
2
|
import { ColumnDef, SortingState, RowSelectionState, OnChangeFn } from '@tanstack/react-table';
|
|
3
3
|
import { LucideIcon } from 'lucide-react';
|
|
4
|
-
import { RowAction } from './DataTable/RowActionsCell';
|
|
5
|
-
export type { RowAction } from './DataTable/RowActionsCell';
|
|
4
|
+
import { RowAction, RowActionConfig } from './DataTable/RowActionsCell';
|
|
5
|
+
export type { RowAction, RowActionConfig } from './DataTable/RowActionsCell';
|
|
6
6
|
export { DataTableColumnHeader, type DataTableColumnHeaderProps } from './DataTable/DataTableColumnHeader';
|
|
7
7
|
export interface BulkAction {
|
|
8
8
|
/** Optional stable id; falls back to `label` for the React key and separator logic. */
|
|
@@ -106,8 +106,15 @@ export interface DataTableProps<TData> {
|
|
|
106
106
|
stickyHeader?: boolean;
|
|
107
107
|
getRowId?: (row: TData) => string;
|
|
108
108
|
/** Per-row accessible label, set as `aria-label` on each row's `<tr>` (e.g.
|
|
109
|
-
* screen-reader context on clickable rows). Omit for no label.
|
|
109
|
+
* screen-reader context on clickable rows). Omit for no label. With
|
|
110
|
+
* `enableSelection` it also names the row's checkbox ("<label> seç") unless
|
|
111
|
+
* `getRowSelectionLabel` is given (NB-DATATABLE-SELECT-NAME-01). */
|
|
110
112
|
getRowAriaLabel?: (row: TData) => string;
|
|
113
|
+
/** Accessible name of a row's selection checkbox, used as is
|
|
114
|
+
* (NB-DATATABLE-SELECT-NAME-01). Omitted, the box is named
|
|
115
|
+
* "<getRowAriaLabel(row)> seç", else "Satırı seç"; the header box is always
|
|
116
|
+
* "Tümünü seç". */
|
|
117
|
+
getRowSelectionLabel?: (row: TData) => string;
|
|
111
118
|
/** Per-row gate for `onRowClick` (NB-DATATABLE-ROWCLICK-01): a row it
|
|
112
119
|
* returns `false` for is not interactive — no pointer, hover lift, focus
|
|
113
120
|
* stop, Enter/Space handling or `onRowClick` call. Ignored without
|
|
@@ -118,13 +125,28 @@ export interface DataTableProps<TData> {
|
|
|
118
125
|
* "select all" (TanStack `enableRowSelection(row)`). Omitted, every row is
|
|
119
126
|
* selectable as before. */
|
|
120
127
|
isRowSelectable?: (row: TData) => boolean;
|
|
128
|
+
/** Why a row `isRowSelectable` rejects cannot be selected
|
|
129
|
+
* (NB-DATATABLE-ROWSELECT-01), e.g. "Kapanmış görev seçilemez". A non-empty
|
|
130
|
+
* answer shows as a tooltip on the disabled checkbox and is its accessible
|
|
131
|
+
* description; such a box is `aria-disabled` rather than natively disabled,
|
|
132
|
+
* so Tab reaches it and opens the tooltip — activating it selects nothing
|
|
133
|
+
* (KAUDIT R2-F06). Selectable rows never call it. */
|
|
134
|
+
getRowSelectionDisabledReason?: (row: TData) => string | undefined;
|
|
121
135
|
className?: string;
|
|
122
136
|
/** Optional accessible caption exposed via `<caption>` for screen readers. */
|
|
123
137
|
caption?: string;
|
|
124
138
|
/** Override the density inherited from the nearest `[data-density]` ancestor. */
|
|
125
139
|
density?: DataTableDensity;
|
|
126
|
-
/** Per-row "…" actions menu, appended as a trailing column.
|
|
140
|
+
/** Per-row "…" actions menu, appended as a trailing column. Ignored when
|
|
141
|
+
* `rowActionConfigs` is given. */
|
|
127
142
|
rowActions?: RowAction<TData>[];
|
|
143
|
+
/** The same "…" menu from `RowActionConfig`s, whose `label` may also be
|
|
144
|
+
* computed per row, e.g. `(row) => (row.archived ? "Geri al" : "Arşivle")`
|
|
145
|
+
* (NB-ROWACTION-TOOLTIP-01). A separate prop so `rowActions` keeps its
|
|
146
|
+
* `RowAction[]` type for code that reads it (KAUDIT R2-F02); every
|
|
147
|
+
* `RowAction` is a valid `RowActionConfig`. When given — even as `[]` — it
|
|
148
|
+
* REPLACES `rowActions` (the two lists are not merged). */
|
|
149
|
+
rowActionConfigs?: RowActionConfig<TData>[];
|
|
128
150
|
/** Left-aligned toolbar slot rendered above the table (e.g. an entity label). */
|
|
129
151
|
toolbarStart?: ReactNode;
|
|
130
152
|
/** Right-aligned toolbar slot rendered above the table. */
|
|
@@ -138,5 +160,5 @@ export interface DataTableProps<TData> {
|
|
|
138
160
|
* Receives the current selected ids. Mirrors the `toolbarStart`/`toolbarEnd` slot pattern. */
|
|
139
161
|
bulkActionsContent?: ReactNode | ((selectedIds: string[]) => ReactNode);
|
|
140
162
|
}
|
|
141
|
-
export declare function DataTable<TData>({ columns, data, loading, emptyTitle, emptyDescription, emptyAction, enableSorting: enableSortingProp, enableSelection, enableVirtualScroll, onRowClick, bulkActions, sorting, onSortingChange, sortBy, sortDirection, onSortChange, manualSorting, rowSelection, onRowSelectionChange, page, pageSize, total, pagination, onPageChange, onPageSizeChange, pageSizeOptions, stickyHeader, getRowId, getRowAriaLabel, isRowClickable, isRowSelectable, className, caption, density, rowActions, toolbarStart, toolbarEnd, toolbarVariant, bulkActionsLabel, bulkActionsContent, }: DataTableProps<TData>): import("react").JSX.Element;
|
|
163
|
+
export declare function DataTable<TData>({ columns, data, loading, emptyTitle, emptyDescription, emptyAction, enableSorting: enableSortingProp, enableSelection, enableVirtualScroll, onRowClick, bulkActions, sorting, onSortingChange, sortBy, sortDirection, onSortChange, manualSorting, rowSelection, onRowSelectionChange, page, pageSize, total, pagination, onPageChange, onPageSizeChange, pageSizeOptions, stickyHeader, getRowId, getRowAriaLabel, getRowSelectionLabel, isRowClickable, isRowSelectable, getRowSelectionDisabledReason, className, caption, density, rowActions, rowActionConfigs, toolbarStart, toolbarEnd, toolbarVariant, bulkActionsLabel, bulkActionsContent, }: DataTableProps<TData>): import("react").JSX.Element;
|
|
142
164
|
//# sourceMappingURL=DataTable.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTable.d.ts","sourceRoot":"","sources":["../../src/organisms/DataTable.tsx"],"names":[],"mappings":"AAEA,OAAO,mBAAmB,CAAC;AAE3B,OAAO,EAA4D,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACjG,OAAO,EAKL,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,UAAU,EAChB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"DataTable.d.ts","sourceRoot":"","sources":["../../src/organisms/DataTable.tsx"],"names":[],"mappings":"AAEA,OAAO,mBAAmB,CAAC;AAE3B,OAAO,EAA4D,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACjG,OAAO,EAKL,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,UAAU,EAChB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAS/C,OAAO,EAAkB,KAAK,SAAS,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAQlG,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,KAAK,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAM3G,MAAM,WAAW,UAAU;IACzB,uFAAuF;IACvF,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACzC,kFAAkF;IAClF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,yFAAyF;IACzF,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,aAAa,CAAC;IAChD,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,CAAC;IAC1D,uEAAuE;IACvE,MAAM,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,CAAC;IACxD,6FAA6F;IAC7F,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;4CAE4C;AAC5C,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;+EAC+E;AAC/E,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,aAAa,GAAG,UAAU,CAAC;AAEtE;;uBAEuB;AACvB,MAAM,MAAM,cAAc,GACtB,MAAM,GACN,MAAM,GACN,QAAQ,GACR,SAAS,GACT,OAAO,GACP,MAAM,GACN,QAAQ,GACR,MAAM,GACN,QAAQ,GACR,QAAQ,CAAC;AAEb,MAAM,WAAW,cAAc,CAAC,KAAK;IACnC,OAAO,EAAE,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;IACrC,IAAI,EAAE,KAAK,EAAE,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;IACrD;;;;;;oEAMgE;IAChE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;;;;;2CAQuC;IACvC,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,eAAe,CAAC,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;IAC3C;;;;;+EAK2E;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC/B,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,GAAG,MAAM,KAAK,IAAI,CAAC;IACvE;;;;;;gEAM4D;IAC5D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,oBAAoB,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC;IACrD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6EAA6E;IAC7E,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C;;;qEAGiE;IACjE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,MAAM,CAAC;IAClC;;;yEAGqE;IACrE,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,MAAM,CAAC;IACzC;;;wBAGoB;IACpB,oBAAoB,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,MAAM,CAAC;IAC9C;;;sEAGkE;IAClE,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,OAAO,CAAC;IACzC;;;gCAG4B;IAC5B,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,OAAO,CAAC;IAC1C;;;;;0DAKsD;IACtD,6BAA6B,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,MAAM,GAAG,SAAS,CAAC;IACnE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8EAA8E;IAC9E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iFAAiF;IACjF,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B;uCACmC;IACnC,UAAU,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;IAChC;;;;;gEAK4D;IAC5D,gBAAgB,CAAC,EAAE,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;IAC5C,iFAAiF;IACjF,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,2DAA2D;IAC3D,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,+EAA+E;IAC/E,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;mFAC+E;IAC/E,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC;IAChD;mGAC+F;IAC/F,kBAAkB,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,SAAS,CAAC,CAAC;CACzE;AA2ED,wBAAgB,SAAS,CAAC,KAAK,EAAE,EAC/B,OAAO,EACP,IAAI,EACJ,OAAO,EACP,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,aAAa,EAAE,iBAAiB,EAChC,eAAuB,EACvB,mBAAmB,EACnB,UAAU,EACV,WAAW,EACX,OAAO,EACP,eAAe,EACf,MAAM,EACN,aAAa,EACb,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,oBAAoB,EACpB,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,eAAe,EACf,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,6BAA6B,EAC7B,SAAS,EACT,OAAO,EACP,OAAO,EACP,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,kBAAkB,GACnB,EAAE,cAAc,CAAC,KAAK,CAAC,+BAobvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../src/organisms/Dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../src/organisms/Dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAwC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AA2B7E,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;CAClC;AASD,wBAAgB,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAW,EAAE,EAAE,WAAW,sCAgIvG"}
|