@phpsoftbox/react-softbox 0.3.0 → 0.4.1

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.
Files changed (51) hide show
  1. package/README.md +81 -1
  2. package/dist/components/Badge/Badge.d.ts +3 -1
  3. package/dist/components/Badge/Badge.js +7 -2
  4. package/dist/components/Badge/Badge.js.map +1 -1
  5. package/dist/components/Badge/Badge.module.css +18 -0
  6. package/dist/components/Input/ErrorTooltip/ErrorTooltip.d.ts +12 -0
  7. package/dist/components/Input/ErrorTooltip/ErrorTooltip.js +25 -0
  8. package/dist/components/Input/ErrorTooltip/ErrorTooltip.js.map +1 -0
  9. package/dist/components/Input/ErrorTooltip/ErrorTooltip.module.css +31 -0
  10. package/dist/components/Input/Field.js +8 -1
  11. package/dist/components/Input/Field.js.map +1 -1
  12. package/dist/components/Input/FloatLabel/FloatLabel.module.css +5 -3
  13. package/dist/components/Input/FormField/FormField.d.ts +2 -0
  14. package/dist/components/Input/FormField/FormField.js +12 -1
  15. package/dist/components/Input/FormField/FormField.js.map +1 -1
  16. package/dist/components/Input/FormField/FormField.module.css +1 -0
  17. package/dist/components/Input/Input.d.ts +2 -0
  18. package/dist/components/Input/Input.js +2 -0
  19. package/dist/components/Input/Input.js.map +1 -1
  20. package/dist/components/Input/Input.module.css +8 -1
  21. package/dist/components/Input/Select/Select.d.ts +52 -13
  22. package/dist/components/Input/Select/Select.js +103 -25
  23. package/dist/components/Input/Select/Select.js.map +1 -1
  24. package/dist/components/Input/Select/Select.module.css +65 -23
  25. package/dist/components/Modal/Modal.d.ts +2 -1
  26. package/dist/components/Modal/Modal.js +18 -1
  27. package/dist/components/Modal/Modal.js.map +1 -1
  28. package/dist/components/Table/Table.d.ts +26 -0
  29. package/dist/components/Table/Table.js +133 -91
  30. package/dist/components/Table/Table.js.map +1 -1
  31. package/dist/components/Table/Table.module.css +41 -1
  32. package/dist/components/Tabs/Tabs.js +7 -6
  33. package/dist/components/Tabs/Tabs.js.map +1 -1
  34. package/dist/components/Tooltip/Tooltip.d.ts +33 -0
  35. package/dist/components/Tooltip/Tooltip.js +294 -0
  36. package/dist/components/Tooltip/Tooltip.js.map +1 -0
  37. package/dist/components/Tooltip/Tooltip.module.css +124 -0
  38. package/dist/foundations/index.css +1 -0
  39. package/dist/{components/Tabs/Tabs.module.css → foundations/tabs.css} +14 -11
  40. package/dist/foundations/tokens.css +6 -0
  41. package/dist/index.d.ts +4 -1
  42. package/dist/index.js +1 -0
  43. package/dist/index.js.map +1 -1
  44. package/docs/README.md +2 -0
  45. package/docs/feedback.md +3 -0
  46. package/docs/forms.md +55 -0
  47. package/docs/overlays.md +2 -2
  48. package/docs/table.md +137 -0
  49. package/docs/tabs.md +17 -0
  50. package/docs/tooltip.md +68 -0
  51. package/package.json +1 -1
@@ -10,7 +10,7 @@ const defaultMapOptions = (data) => {
10
10
  }
11
11
  return [];
12
12
  };
13
- export default function Select({ label, id, name, options = [], value, defaultValue, placeholder = 'Выберите...', multiple = false, searchable = false, loadingText = 'Загрузка...', emptyText = 'Нет данных', loadOptions, request, onAfterRequest, placement = 'auto', disabled = false, floatLabel = false, className, onChange, }) {
13
+ export default function Select({ label, id, name, options = [], value, defaultValue, placeholder = 'Выберите...', multiple = false, searchable = false, clearable = false, clearLabel = 'Очистить', allowEmptyValue = false, emptyOptionLabel = 'Не выбрано', emptyOptionValue, loadingText = 'Загрузка...', emptyText = 'Нет данных', loadOptions, request, onAfterRequest, placement = 'auto', disabled = false, floatLabel = false, className, onChange, }) {
14
14
  const context = useFormFieldContext();
15
15
  const [open, setOpen] = React.useState(false);
16
16
  const [query, setQuery] = React.useState('');
@@ -32,14 +32,10 @@ export default function Select({ label, id, name, options = [], value, defaultVa
32
32
  const controlId = id ?? context?.fieldId ?? generatedId;
33
33
  const hasLabel = Boolean(label);
34
34
  const isControlled = value !== undefined;
35
- const [internalValue, setInternalValue] = React.useState(defaultValue ?? (multiple ? [] : ''));
36
- const selectedValues = React.useMemo(() => {
37
- const raw = isControlled ? value : internalValue;
38
- if (multiple) {
39
- return Array.isArray(raw) ? raw : raw ? [raw] : [];
40
- }
41
- return Array.isArray(raw) ? raw[0] ?? '' : raw ?? '';
42
- }, [value, internalValue, isControlled, multiple]);
35
+ const allowEmpty = allowEmptyValue && !multiple;
36
+ const resolvedEmptyValue = (emptyOptionValue ?? null);
37
+ const [internalValue, setInternalValue] = React.useState(defaultValue ?? (multiple ? [] : allowEmpty ? resolvedEmptyValue ?? undefined : undefined));
38
+ const emptyOption = React.useMemo(() => (allowEmpty ? { value: resolvedEmptyValue, label: emptyOptionLabel, disabled: false } : null), [allowEmpty, emptyOptionLabel, resolvedEmptyValue]);
43
39
  React.useEffect(() => {
44
40
  if (!isRemote) {
45
41
  setItems(options);
@@ -64,7 +60,7 @@ export default function Select({ label, id, name, options = [], value, defaultVa
64
60
  params: { ...request.params, q: query },
65
61
  data: request.data,
66
62
  });
67
- const mapper = request.mapOptions ?? defaultMapOptions;
63
+ const mapper = request.mapOptions ?? (defaultMapOptions);
68
64
  next = mapper(response.data);
69
65
  }
70
66
  if (active) {
@@ -115,36 +111,95 @@ export default function Select({ label, id, name, options = [], value, defaultVa
115
111
  inputRef.current?.focus();
116
112
  }
117
113
  }, [open, searchable]);
114
+ const allOptions = React.useMemo(() => (emptyOption ? [emptyOption, ...items] : items), [emptyOption, items]);
118
115
  const optionMap = React.useMemo(() => {
119
- return new Map(items.map((item) => [item.value, item]));
120
- }, [items]);
116
+ return new Map(allOptions.map((item) => [item.value, item]));
117
+ }, [allOptions]);
118
+ const selectedValues = React.useMemo(() => {
119
+ const raw = isControlled ? value : internalValue;
120
+ if (multiple) {
121
+ if (Array.isArray(raw)) {
122
+ return raw.filter((item) => item !== null && item !== undefined);
123
+ }
124
+ if (raw === null || raw === undefined) {
125
+ return [];
126
+ }
127
+ return [raw];
128
+ }
129
+ const single = Array.isArray(raw) ? raw[0] : raw;
130
+ if (single === undefined) {
131
+ return allowEmpty ? resolvedEmptyValue : undefined;
132
+ }
133
+ if (single === null && !allowEmpty) {
134
+ return undefined;
135
+ }
136
+ if (single === '' && !allowEmpty && !optionMap.has(single)) {
137
+ return undefined;
138
+ }
139
+ return single;
140
+ }, [value, internalValue, isControlled, multiple, allowEmpty, resolvedEmptyValue, optionMap]);
121
141
  const selectedList = React.useMemo(() => {
122
- const values = multiple ? selectedValues : selectedValues ? [selectedValues] : [];
123
- return values.map((val) => optionMap.get(val) ?? { value: val, label: val });
124
- }, [selectedValues, optionMap, multiple]);
125
- const hasValue = multiple ? selectedValues.length > 0 : Boolean(selectedValues);
142
+ if (multiple) {
143
+ const values = selectedValues;
144
+ return values.map((val) => {
145
+ const mapped = optionMap.get(val);
146
+ if (mapped && mapped.value !== null) {
147
+ return mapped;
148
+ }
149
+ return { value: val, label: String(val) };
150
+ });
151
+ }
152
+ const single = selectedValues;
153
+ if (single === undefined) {
154
+ return [];
155
+ }
156
+ const fallbackLabel = single === null ? emptyOptionLabel : String(single);
157
+ return [optionMap.get(single) ?? { value: single, label: fallbackLabel }];
158
+ }, [selectedValues, optionMap, multiple, emptyOptionLabel]);
159
+ const hasValue = multiple ? selectedValues.length > 0 : selectedValues !== undefined;
160
+ const isEmptySelection = !multiple && allowEmpty && selectedValues === resolvedEmptyValue;
126
161
  const floatActive = floatLabel && (open || hasValue);
127
162
  const displayedOptions = React.useMemo(() => {
128
163
  if (isRemote) {
129
- return items;
164
+ const filtered = items;
165
+ return emptyOption ? [emptyOption, ...filtered] : filtered;
130
166
  }
131
167
  if (!query) {
132
- return items;
168
+ return emptyOption ? [emptyOption, ...items] : items;
133
169
  }
134
170
  const lowered = query.toLowerCase();
135
- return items.filter((item) => item.label.toLowerCase().includes(lowered));
136
- }, [items, query, isRemote]);
171
+ const filtered = items.filter((item) => item.label.toLowerCase().includes(lowered));
172
+ return emptyOption ? [emptyOption, ...filtered] : filtered;
173
+ }, [items, query, isRemote, emptyOption]);
137
174
  const updateValue = (next, nextOptions) => {
138
175
  if (!isControlled) {
139
176
  setInternalValue(next);
140
177
  }
141
- onChange?.(next, nextOptions);
178
+ if (multiple) {
179
+ onChange?.(next, nextOptions);
180
+ }
181
+ else {
182
+ if (allowEmpty) {
183
+ onChange?.(next, nextOptions);
184
+ }
185
+ else {
186
+ if (clearable) {
187
+ onChange?.(next, nextOptions);
188
+ }
189
+ else {
190
+ onChange?.(next, nextOptions);
191
+ }
192
+ }
193
+ }
142
194
  };
143
195
  const handleSelect = (option) => {
144
196
  if (option.disabled) {
145
197
  return;
146
198
  }
147
199
  if (multiple) {
200
+ if (option.value === null) {
201
+ return;
202
+ }
148
203
  const list = selectedValues;
149
204
  const exists = list.includes(option.value);
150
205
  const nextValues = exists ? list.filter((val) => val !== option.value) : [...list, option.value];
@@ -162,6 +217,9 @@ export default function Select({ label, id, name, options = [], value, defaultVa
162
217
  if (!multiple) {
163
218
  return;
164
219
  }
220
+ if (valueToRemove === null) {
221
+ return;
222
+ }
165
223
  const list = selectedValues;
166
224
  const nextValues = list.filter((val) => val !== valueToRemove);
167
225
  const nextOptions = selectedList.filter((item) => item.value !== valueToRemove);
@@ -172,7 +230,15 @@ export default function Select({ label, id, name, options = [], value, defaultVa
172
230
  setOpen(false);
173
231
  }
174
232
  };
175
- return (_jsxs("div", { className: [styles.wrapper, className].filter(Boolean).join(' '), "data-open": open, "data-has-value": hasValue, "data-has-query": query.length > 0, "data-has-label": hasLabel, "data-float-label": floatLabel ? 'true' : undefined, "data-float-active": floatActive ? 'true' : undefined, ref: containerRef, onKeyDown: handleKeyDown, children: [label ? (_jsx("span", { id: labelId, className: styles.label, children: label })) : null, _jsxs("button", { type: "button", className: styles.control, "aria-haspopup": "listbox", "aria-expanded": open, "aria-controls": listId, "aria-labelledby": label ? labelId : undefined, id: controlId, onClick: () => !disabled && setOpen((prev) => !prev), disabled: disabled, ref: controlRef, children: [_jsx("div", { className: styles.value, children: hasValue ? (multiple ? (selectedList.map((item) => (_jsxs("span", { className: styles.tag, children: [item.label, _jsx("span", { role: "button", tabIndex: 0, className: styles.remove, onClick: (event) => {
233
+ const showClear = clearable && searchable && !disabled && hasValue && !isEmptySelection;
234
+ const handleClear = (event) => {
235
+ event.stopPropagation();
236
+ const nextValue = multiple ? [] : allowEmpty ? resolvedEmptyValue : undefined;
237
+ const nextOptions = multiple ? [] : allowEmpty && emptyOption ? [emptyOption] : [];
238
+ updateValue(nextValue, nextOptions);
239
+ setQuery('');
240
+ };
241
+ return (_jsxs("div", { className: [styles.wrapper, className].filter(Boolean).join(' '), "data-open": open, "data-has-value": hasValue, "data-has-query": query.length > 0, "data-has-label": hasLabel, "data-float-label": floatLabel ? 'true' : undefined, "data-float-active": floatActive ? 'true' : undefined, "data-has-clear": showClear ? 'true' : undefined, ref: containerRef, onKeyDown: handleKeyDown, children: [label ? (_jsx("span", { id: labelId, className: styles.label, children: label })) : null, _jsxs("button", { type: "button", className: styles.control, "aria-haspopup": "listbox", "aria-expanded": open, "aria-controls": listId, "aria-labelledby": label ? labelId : undefined, id: controlId, onClick: () => !disabled && setOpen((prev) => !prev), disabled: disabled, ref: controlRef, children: [_jsx("div", { className: styles.value, children: hasValue ? (multiple ? (selectedList.map((item) => (_jsxs("span", { className: styles.tag, children: [item.label, _jsx("span", { role: "button", tabIndex: 0, className: styles.remove, onClick: (event) => {
176
242
  event.stopPropagation();
177
243
  handleRemove(item.value);
178
244
  }, onKeyDown: (event) => {
@@ -181,10 +247,15 @@ export default function Select({ label, id, name, options = [], value, defaultVa
181
247
  event.stopPropagation();
182
248
  handleRemove(item.value);
183
249
  }
184
- }, "aria-label": `Удалить ${item.label}`, children: "\u00D7" })] }, item.value)))) : (_jsx("span", { children: selectedList[0]?.label }))) : (_jsx("span", { className: styles.placeholder, children: placeholder })) }), _jsx("span", { className: styles.chevron, "aria-hidden": "true" })] }), open ? (_jsxs("div", { className: styles.dropdown, ref: dropdownRef, style: dropdownStyle, children: [searchable ? (_jsx("input", { ref: inputRef, className: styles.search, placeholder: "\u041F\u043E\u0438\u0441\u043A...", value: query, onChange: (event) => setQuery(event.target.value) })) : null, _jsxs("div", { className: styles.list, role: "listbox", id: listId, children: [loading ? _jsx("div", { className: styles.status, children: loadingText }) : null, !loading && displayedOptions.length === 0 ? (_jsx("div", { className: styles.status, children: emptyText })) : null, !loading
250
+ }, "aria-label": `Удалить ${item.label}`, children: "\u00D7" })] }, String(item.value))))) : (_jsx("span", { children: selectedList[0]?.label }))) : (_jsx("span", { className: styles.placeholder, children: placeholder })) }), _jsxs("span", { className: styles.controls, children: [showClear ? (_jsx("span", { role: "button", tabIndex: 0, className: styles.clearButton, "aria-label": clearLabel, onMouseDown: (event) => event.preventDefault(), onClick: handleClear, onKeyDown: (event) => {
251
+ if (event.key === 'Enter' || event.key === ' ') {
252
+ event.preventDefault();
253
+ handleClear(event);
254
+ }
255
+ }, children: "\u00D7" })) : null, _jsx("span", { className: styles.chevron, "aria-hidden": "true" })] })] }), open ? (_jsxs("div", { className: styles.dropdown, ref: dropdownRef, style: dropdownStyle, children: [searchable ? (_jsx("input", { ref: inputRef, className: styles.search, placeholder: "\u041F\u043E\u0438\u0441\u043A...", value: query, onChange: (event) => setQuery(event.target.value) })) : null, _jsxs("div", { className: styles.list, role: "listbox", id: listId, children: [loading ? _jsx("div", { className: styles.status, children: loadingText }) : null, !loading && (allowEmpty ? displayedOptions.length <= 1 : displayedOptions.length === 0) ? (_jsx("div", { className: styles.status, children: emptyText })) : null, !loading
185
256
  ? displayedOptions.map((option) => {
186
257
  const selected = multiple
187
- ? selectedValues.includes(option.value)
258
+ ? option.value !== null && selectedValues.includes(option.value)
188
259
  : selectedValues === option.value;
189
260
  return (_jsxs("button", { type: "button", className: [
190
261
  styles.option,
@@ -192,7 +263,14 @@ export default function Select({ label, id, name, options = [], value, defaultVa
192
263
  option.disabled ? styles.optionDisabled : null,
193
264
  ]
194
265
  .filter(Boolean)
195
- .join(' '), role: "option", "aria-selected": selected, onClick: () => handleSelect(option), disabled: option.disabled, children: [_jsx("span", { children: option.label }), selected ? _jsx("span", { className: styles.check, children: "\u2713" }) : null] }, option.value));
266
+ .join(' '), role: "option", "aria-selected": selected, onMouseDown: (event) => {
267
+ event.preventDefault();
268
+ handleSelect(option);
269
+ }, onClick: (event) => {
270
+ if (event.detail === 0) {
271
+ handleSelect(option);
272
+ }
273
+ }, disabled: option.disabled, children: [_jsx("span", { children: option.label }), selected ? _jsx("span", { className: styles.check, children: "\u2713" }) : null] }, option.value ?? '__empty'));
196
274
  })
197
275
  : null] })] })) : null] }));
198
276
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../../src/components/Input/Select/Select.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../../src/components/Input/Select/Select.tsx"],"names":[],"mappings":"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"}
@@ -8,9 +8,10 @@
8
8
 
9
9
  .label {
10
10
  position: absolute;
11
- top: 16px;
11
+ top: 8px;
12
12
  left: 16px;
13
- font-size: 14px;
13
+ font-size: 12px;
14
+ line-height: 1.2;
14
15
  color: var(--color-muted-2);
15
16
  pointer-events: none;
16
17
  transition: transform 0.2s ease, color 0.2s ease;
@@ -18,15 +19,8 @@
18
19
  padding: 0 4px;
19
20
  }
20
21
 
21
- /*.wrapper[data-open="true"] .label,*/
22
- /*.wrapper[data-has-value="true"] .label,*/
23
- /*.wrapper[data-has-query="true"] .label {*/
24
- /* transform: translateY(-12px);*/
25
- /* color: var(--color-teal);*/
26
- /*}*/
27
-
28
22
  .wrapper .label {
29
- transform: translateY(-8px);
23
+ transform: translateY(0);
30
24
  color: var(--color-teal);
31
25
  }
32
26
 
@@ -35,7 +29,7 @@
35
29
  }
36
30
 
37
31
  .control {
38
- min-height: 48px;
32
+ min-height: var(--ui-control-height, 48px);
39
33
  width: 100%;
40
34
  border-radius: var(--radius-sm);
41
35
  border: 1px solid var(--color-line);
@@ -43,20 +37,29 @@
43
37
  color: var(--color-text);
44
38
  display: flex;
45
39
  align-items: center;
46
- justify-content: space-between;
40
+ justify-content: flex-start;
47
41
  gap: 12px;
48
- padding: 24px 12px 12px 12px;
42
+ padding: var(--ui-control-padding-y, 12px) calc(var(--ui-control-padding-x, 16px) + 26px)
43
+ var(--ui-control-padding-y, 12px) var(--ui-control-padding-x, 16px);
44
+ font-size: var(--ui-control-font-size, var(--font-size-4));
45
+ line-height: var(--ui-control-line-height, 1.2);
49
46
  cursor: pointer;
47
+ position: relative;
50
48
  }
51
49
 
52
- .wrapper[data-has-label="false"] .control {
53
- padding: 12px 12px;
54
- min-height: 44px;
50
+ .wrapper[data-has-label="true"] .control,
51
+ .wrapper[data-float-label="true"] .control {
52
+ padding-top: calc(var(--ui-control-padding-y, 12px) + 8px);
53
+ padding-bottom: calc(var(--ui-control-padding-y, 12px) - 4px);
55
54
  }
56
55
 
57
- .wrapper[data-float-label="true"] .control {
58
- padding: 22px 12px 12px 12px;
59
- min-height: 48px;
56
+ .wrapper[data-has-clear="true"] .control {
57
+ padding-right: calc(var(--ui-control-padding-x, 16px) + 50px);
58
+ }
59
+
60
+ .wrapper[data-has-label="false"] .control {
61
+ /*padding: var(--ui-control-padding-y, 12px) var(--ui-control-padding-x, 16px);*/
62
+ min-height: var(--ui-control-height, 48px);
60
63
  }
61
64
 
62
65
  .wrapper:global(.rsb-group-item) .control {
@@ -81,12 +84,12 @@
81
84
  flex: 1;
82
85
  min-width: 0;
83
86
  flex-wrap: wrap;
84
- padding: 4px 4px;
87
+ padding: 0;
85
88
  }
86
89
 
87
90
  .placeholder {
88
91
  color: var(--color-muted-2);
89
- font-size: 14px;
92
+ font-size: var(--ui-control-font-size, var(--font-size-4));
90
93
  }
91
94
 
92
95
  .tag {
@@ -97,7 +100,10 @@
97
100
  border-radius: 10px;
98
101
  background: var(--surface-pill);
99
102
  border: 1px solid var(--color-line);
100
- font-size: 12px;
103
+ font-size: var(--font-size-2);
104
+ }
105
+ .wrapper[data-float-label="true"] .tag {
106
+ margin: 15px 0 10px;
101
107
  }
102
108
 
103
109
  .remove {
@@ -107,6 +113,39 @@
107
113
  cursor: pointer;
108
114
  }
109
115
 
116
+ .controls {
117
+ position: absolute;
118
+ right: 12px;
119
+ top: 50%;
120
+ transform: translateY(-50%);
121
+ display: inline-flex;
122
+ align-items: center;
123
+ gap: 8px;
124
+ pointer-events: none;
125
+ }
126
+
127
+ .clearButton {
128
+ width: 18px;
129
+ height: 18px;
130
+ border-radius: 999px;
131
+ border: 1px solid rgba(30, 51, 85, 0.4);
132
+ background: rgba(15, 30, 51, 0.35);
133
+ color: var(--color-text);
134
+ display: inline-flex;
135
+ align-items: center;
136
+ justify-content: center;
137
+ font-size: 12px;
138
+ line-height: 1;
139
+ pointer-events: auto;
140
+ cursor: pointer;
141
+ }
142
+
143
+ .clearButton:hover {
144
+ border-color: rgba(20, 201, 214, 0.6);
145
+ background: rgba(20, 201, 214, 0.18);
146
+ color: var(--color-teal);
147
+ }
148
+
110
149
  .chevron {
111
150
  width: 8px;
112
151
  height: 8px;
@@ -140,7 +179,10 @@
140
179
  border: 1px solid var(--color-line);
141
180
  background: var(--surface-input-muted);
142
181
  color: var(--color-text);
143
- padding: 16px 16px;
182
+ min-height: var(--ui-control-height, 48px);
183
+ padding: var(--ui-control-padding-y, 12px) var(--ui-control-padding-x, 16px);
184
+ font-size: var(--ui-control-font-size, var(--font-size-4));
185
+ line-height: var(--ui-control-line-height, 1.2);
144
186
  margin-bottom: 8px;
145
187
  }
146
188
 
@@ -6,7 +6,8 @@ type Props = {
6
6
  footer?: React.ReactNode;
7
7
  size?: 'sm' | 'md' | 'lg';
8
8
  closeOnBackdrop?: boolean;
9
+ lockScroll?: boolean;
9
10
  onClose: () => void;
10
11
  };
11
- export default function Modal({ open, title, children, footer, size, closeOnBackdrop, onClose, }: Props): React.ReactPortal | null;
12
+ export default function Modal({ open, title, children, footer, size, closeOnBackdrop, lockScroll, onClose, }: Props): React.ReactPortal | null;
12
13
  export {};
@@ -2,7 +2,24 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import React from 'react';
3
3
  import { createPortal } from 'react-dom';
4
4
  import styles from './Modal.module.css';
5
- export default function Modal({ open, title, children, footer, size = 'md', closeOnBackdrop = true, onClose, }) {
5
+ export default function Modal({ open, title, children, footer, size = 'md', closeOnBackdrop = true, lockScroll = true, onClose, }) {
6
+ React.useEffect(() => {
7
+ if (!open || !lockScroll || typeof document === 'undefined') {
8
+ return;
9
+ }
10
+ const body = document.body;
11
+ const previousOverflow = body.style.overflow;
12
+ const previousPaddingRight = body.style.paddingRight;
13
+ const scrollBarWidth = window.innerWidth - document.documentElement.clientWidth;
14
+ body.style.overflow = 'hidden';
15
+ if (scrollBarWidth > 0) {
16
+ body.style.paddingRight = `${scrollBarWidth}px`;
17
+ }
18
+ return () => {
19
+ body.style.overflow = previousOverflow;
20
+ body.style.paddingRight = previousPaddingRight;
21
+ };
22
+ }, [open, lockScroll]);
6
23
  React.useEffect(() => {
7
24
  if (!open) {
8
25
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.js","sourceRoot":"","sources":["../../../src/components/Modal/Modal.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AAYxC,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAC5B,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,MAAM,EACN,IAAI,GAAG,IAAI,EACX,eAAe,GAAG,IAAI,EACtB,OAAO,GACD;IACN,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,MAAM,aAAa,GAAG,CAAC,KAAoB,EAAE,EAAE;YAC7C,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC3B,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC,CAAC;QAEF,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACpD,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IACtE,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAEpB,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,mBAAmB,GAAG,CAAC,KAAuC,EAAE,EAAE;QACtE,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,aAAa,EAAE,CAAC;YACzC,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,YAAY,CACjB,cAAK,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,mBAAmB,YAC9D,eAAK,SAAS,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAC,QAAQ,gBAAY,MAAM,aACrG,kBAAQ,SAAS,EAAE,MAAM,CAAC,MAAM,aAC7B,KAAK,CAAC,CAAC,CAAC,uBAAK,KAAK,GAAM,CAAC,CAAC,CAAC,gBAAQ,EACpC,iBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,gBAAa,4CAAS,uBAE5E,IACF,EACT,cAAK,SAAS,EAAE,MAAM,CAAC,IAAI,YAAG,QAAQ,GAAO,EAC5C,MAAM,CAAC,CAAC,CAAC,iBAAQ,SAAS,EAAE,MAAM,CAAC,MAAM,YAAG,MAAM,GAAU,CAAC,CAAC,CAAC,IAAI,IAChE,GACF,EACN,QAAQ,CAAC,IAAI,CACd,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"Modal.js","sourceRoot":"","sources":["../../../src/components/Modal/Modal.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AAaxC,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAC5B,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,MAAM,EACN,IAAI,GAAG,IAAI,EACX,eAAe,GAAG,IAAI,EACtB,UAAU,GAAG,IAAI,EACjB,OAAO,GACD;IACN,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;YAC5D,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC3B,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC7C,MAAM,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;QACrD,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,GAAG,QAAQ,CAAC,eAAe,CAAC,WAAW,CAAC;QAEhF,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC/B,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,GAAG,cAAc,IAAI,CAAC;QAClD,CAAC;QAED,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,gBAAgB,CAAC;YACvC,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,oBAAoB,CAAC;QACjD,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;IAEvB,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,MAAM,aAAa,GAAG,CAAC,KAAoB,EAAE,EAAE;YAC7C,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC3B,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC,CAAC;QAEF,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACpD,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IACtE,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAEpB,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,mBAAmB,GAAG,CAAC,KAAuC,EAAE,EAAE;QACtE,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,aAAa,EAAE,CAAC;YACzC,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,YAAY,CACjB,cAAK,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,mBAAmB,YAC9D,eAAK,SAAS,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAC,QAAQ,gBAAY,MAAM,aACrG,kBAAQ,SAAS,EAAE,MAAM,CAAC,MAAM,aAC7B,KAAK,CAAC,CAAC,CAAC,uBAAK,KAAK,GAAM,CAAC,CAAC,CAAC,gBAAQ,EACpC,iBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,gBAAa,4CAAS,uBAE5E,IACF,EACT,cAAK,SAAS,EAAE,MAAM,CAAC,IAAI,YAAG,QAAQ,GAAO,EAC5C,MAAM,CAAC,CAAC,CAAC,iBAAQ,SAAS,EAAE,MAAM,CAAC,MAAM,YAAG,MAAM,GAAU,CAAC,CAAC,CAAC,IAAI,IAChE,GACF,EACN,QAAQ,CAAC,IAAI,CACd,CAAC;AACJ,CAAC"}
@@ -14,6 +14,28 @@ export type TableSortOptions = {
14
14
  buildUrl?: (next: TableSortState) => string;
15
15
  onChange?: (next: TableSortState, url: string) => void;
16
16
  };
17
+ export type TableBulkAction = {
18
+ id: string;
19
+ label: React.ReactNode;
20
+ onClick: (selectedIds: React.Key[]) => void;
21
+ disabled?: boolean;
22
+ };
23
+ export type TableBulkActions = {
24
+ selectedIds: React.Key[];
25
+ actions: TableBulkAction[];
26
+ onClear?: () => void;
27
+ align?: 'left' | 'right';
28
+ placement?: 'top' | 'bottom' | 'both';
29
+ disabled?: boolean;
30
+ };
31
+ export type TableRenderBulkAction<T> = (selectedIds: React.Key[], selectedRows: T[]) => React.ReactNode;
32
+ export type TableSelection<T> = {
33
+ selectedIds: React.Key[];
34
+ onToggle: (id: React.Key, row: T, index: number) => void;
35
+ onToggleAll?: (currentIds: React.Key[]) => void;
36
+ allSelected?: boolean;
37
+ someSelected?: boolean;
38
+ };
17
39
  export type TableColumn<T> = {
18
40
  id?: string;
19
41
  header?: React.ReactNode;
@@ -45,6 +67,10 @@ export type TableProps<T> = React.HTMLAttributes<HTMLDivElement> & {
45
67
  stickyHeader?: boolean;
46
68
  showFooter?: boolean;
47
69
  sort?: TableSortOptions;
70
+ selection?: TableSelection<T>;
71
+ bulkActions?: TableBulkActions;
72
+ renderBulkAction?: TableRenderBulkAction<T>;
73
+ bulkActionPlacement?: 'top' | 'bottom' | 'both';
48
74
  tableClassName?: string;
49
75
  headClassName?: string;
50
76
  bodyClassName?: string;