@digdir/designsystemet-react 1.0.7 → 1.1.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/cjs/components/Combobox/Combobox.js +1 -1
- package/dist/cjs/components/Combobox/ComboboxIdContext.js +1 -1
- package/dist/cjs/components/Field/Field.js +4 -2
- package/dist/cjs/components/Suggestion/Suggestion.js +73 -42
- package/dist/cjs/components/Suggestion/SuggestionChips.js +15 -0
- package/dist/cjs/components/Suggestion/SuggestionClear.js +2 -30
- package/dist/cjs/components/Suggestion/SuggestionEmpty.js +4 -4
- package/dist/cjs/components/Suggestion/SuggestionInput.js +12 -23
- package/dist/cjs/components/Suggestion/SuggestionList.js +4 -8
- package/dist/cjs/components/Suggestion/SuggestionOption.js +0 -1
- package/dist/cjs/components/Suggestion/index.js +4 -0
- package/dist/cjs/components/Tabs/TabsTab.js +2 -1
- package/dist/cjs/index.js +144 -156
- package/dist/cjs/utilities/omit/omit.js +1 -1
- package/dist/esm/components/Combobox/Combobox.js +1 -1
- package/dist/esm/components/Combobox/ComboboxIdContext.js +1 -1
- package/dist/esm/components/Field/Field.js +4 -2
- package/dist/esm/components/Suggestion/Suggestion.js +74 -43
- package/dist/esm/components/Suggestion/SuggestionChips.js +13 -0
- package/dist/esm/components/Suggestion/SuggestionClear.js +4 -31
- package/dist/esm/components/Suggestion/SuggestionEmpty.js +5 -5
- package/dist/esm/components/Suggestion/SuggestionInput.js +13 -24
- package/dist/esm/components/Suggestion/SuggestionList.js +4 -8
- package/dist/esm/components/Suggestion/SuggestionOption.js +0 -1
- package/dist/esm/components/Suggestion/index.js +4 -1
- package/dist/esm/components/Tabs/TabsTab.js +2 -1
- package/dist/esm/index.js +67 -73
- package/dist/esm/utilities/omit/omit.js +1 -1
- package/dist/react-types.d.ts +1 -0
- package/dist/types/components/Alert/index.d.ts +1 -1
- package/dist/types/components/Alert/index.d.ts.map +1 -1
- package/dist/types/components/Avatar/Avatar.d.ts.map +1 -1
- package/dist/types/components/Avatar/index.d.ts +1 -1
- package/dist/types/components/Avatar/index.d.ts.map +1 -1
- package/dist/types/components/Badge/Badge.d.ts.map +1 -1
- package/dist/types/components/Badge/BadgePosition.d.ts.map +1 -1
- package/dist/types/components/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
- package/dist/types/components/Breadcrumbs/BreadcrumbsItem.d.ts.map +1 -1
- package/dist/types/components/Breadcrumbs/BreadcrumbsLink.d.ts.map +1 -1
- package/dist/types/components/Breadcrumbs/BreadcrumbsList.d.ts.map +1 -1
- package/dist/types/components/Breadcrumbs/index.d.ts +1 -1
- package/dist/types/components/Button/Button.d.ts.map +1 -1
- package/dist/types/components/Button/index.d.ts +1 -1
- package/dist/types/components/Button/index.d.ts.map +1 -1
- package/dist/types/components/Checkbox/index.d.ts +1 -1
- package/dist/types/components/Checkbox/index.d.ts.map +1 -1
- package/dist/types/components/Chip/Chips.d.ts.map +1 -1
- package/dist/types/components/Combobox/Combobox.d.ts +1 -1
- package/dist/types/components/Combobox/Combobox.d.ts.map +1 -1
- package/dist/types/components/Combobox/ComboboxContext.d.ts +1 -1
- package/dist/types/components/Combobox/ComboboxContext.d.ts.map +1 -1
- package/dist/types/components/Combobox/ComboboxIdContext.d.ts +1 -1
- package/dist/types/components/Combobox/ComboboxIdContext.d.ts.map +1 -1
- package/dist/types/components/Combobox/Custom.d.ts.map +1 -1
- package/dist/types/components/Combobox/Empty.d.ts.map +1 -1
- package/dist/types/components/Combobox/Option/Description.d.ts.map +1 -1
- package/dist/types/components/Combobox/Option/Option.d.ts.map +1 -1
- package/dist/types/components/Combobox/Option/useComboboxOption.d.ts.map +1 -1
- package/dist/types/components/Combobox/index.d.ts +1 -1
- package/dist/types/components/Combobox/index.d.ts.map +1 -1
- package/dist/types/components/Combobox/internal/ComboboxClearButton.d.ts.map +1 -1
- package/dist/types/components/Combobox/useCombobox.d.ts.map +1 -1
- package/dist/types/components/Combobox/useComboboxKeyboard.d.ts.map +1 -1
- package/dist/types/components/Combobox/useFloatingCombobox.d.ts +1 -1
- package/dist/types/components/Combobox/useFloatingCombobox.d.ts.map +1 -1
- package/dist/types/components/Combobox/useFormField/useFormField.d.ts.map +1 -1
- package/dist/types/components/Combobox/utilities.d.ts.map +1 -1
- package/dist/types/components/Details/index.d.ts +1 -1
- package/dist/types/components/Details/index.d.ts.map +1 -1
- package/dist/types/components/Dialog/Dialog.d.ts.map +1 -1
- package/dist/types/components/Dialog/DialogTrigger.d.ts.map +1 -1
- package/dist/types/components/Dialog/DialogTriggerContext.d.ts.map +1 -1
- package/dist/types/components/Dialog/index.d.ts +2 -2
- package/dist/types/components/Dialog/index.d.ts.map +1 -1
- package/dist/types/components/Divider/index.d.ts +1 -1
- package/dist/types/components/Divider/index.d.ts.map +1 -1
- package/dist/types/components/Dropdown/Dropdown.d.ts.map +1 -1
- package/dist/types/components/Dropdown/DropdownItem.d.ts.map +1 -1
- package/dist/types/components/Dropdown/DropdownList.d.ts.map +1 -1
- package/dist/types/components/Dropdown/index.d.ts +4 -4
- package/dist/types/components/Dropdown/index.d.ts.map +1 -1
- package/dist/types/components/ErrorSummary/ErrorSummary.d.ts.map +1 -1
- package/dist/types/components/ErrorSummary/index.d.ts +2 -2
- package/dist/types/components/ErrorSummary/index.d.ts.map +1 -1
- package/dist/types/components/Field/Field.d.ts +10 -0
- package/dist/types/components/Field/Field.d.ts.map +1 -1
- package/dist/types/components/Field/index.d.ts +3 -2
- package/dist/types/components/Field/index.d.ts.map +1 -1
- package/dist/types/components/Fieldset/FieldsetLegend.d.ts.map +1 -1
- package/dist/types/components/Fieldset/index.d.ts +2 -2
- package/dist/types/components/Fieldset/index.d.ts.map +1 -1
- package/dist/types/components/Heading/index.d.ts +1 -1
- package/dist/types/components/Heading/index.d.ts.map +1 -1
- package/dist/types/components/Input/index.d.ts +1 -1
- package/dist/types/components/Input/index.d.ts.map +1 -1
- package/dist/types/components/Label/index.d.ts +1 -1
- package/dist/types/components/Label/index.d.ts.map +1 -1
- package/dist/types/components/Link/index.d.ts +1 -1
- package/dist/types/components/Link/index.d.ts.map +1 -1
- package/dist/types/components/List/ListItem.d.ts.map +1 -1
- package/dist/types/components/List/Lists.d.ts.map +1 -1
- package/dist/types/components/List/index.d.ts +1 -1
- package/dist/types/components/List/index.d.ts.map +1 -1
- package/dist/types/components/Pagination/Pagination.d.ts.map +1 -1
- package/dist/types/components/Pagination/PaginationItem.d.ts.map +1 -1
- package/dist/types/components/Pagination/PaginationList.d.ts.map +1 -1
- package/dist/types/components/Pagination/index.d.ts +1 -1
- package/dist/types/components/Paragraph/index.d.ts +1 -1
- package/dist/types/components/Paragraph/index.d.ts.map +1 -1
- package/dist/types/components/Popover/Popover.d.ts +1 -1
- package/dist/types/components/Popover/Popover.d.ts.map +1 -1
- package/dist/types/components/Popover/PopoverTrigger.d.ts.map +1 -1
- package/dist/types/components/Popover/PopoverTriggerContext.d.ts.map +1 -1
- package/dist/types/components/Popover/index.d.ts +2 -2
- package/dist/types/components/Popover/index.d.ts.map +1 -1
- package/dist/types/components/Radio/index.d.ts +1 -1
- package/dist/types/components/Radio/index.d.ts.map +1 -1
- package/dist/types/components/Search/SearchButton.d.ts.map +1 -1
- package/dist/types/components/Select/Select.d.ts.map +1 -1
- package/dist/types/components/Select/SelectOptgroup.d.ts.map +1 -1
- package/dist/types/components/Select/SelectOption.d.ts.map +1 -1
- package/dist/types/components/Select/index.d.ts +1 -1
- package/dist/types/components/Select/index.d.ts.map +1 -1
- package/dist/types/components/Skeleton/Skeleton.d.ts.map +1 -1
- package/dist/types/components/SkipLink/SkipLink.d.ts.map +1 -1
- package/dist/types/components/SkipLink/index.d.ts +1 -1
- package/dist/types/components/SkipLink/index.d.ts.map +1 -1
- package/dist/types/components/Spinner/index.d.ts +1 -1
- package/dist/types/components/Spinner/index.d.ts.map +1 -1
- package/dist/types/components/Suggestion/Suggestion.d.ts +100 -74
- package/dist/types/components/Suggestion/Suggestion.d.ts.map +1 -1
- package/dist/types/components/Suggestion/SuggestionChips.d.ts +19 -0
- package/dist/types/components/Suggestion/SuggestionChips.d.ts.map +1 -0
- package/dist/types/components/Suggestion/SuggestionClear.d.ts +1 -8
- package/dist/types/components/Suggestion/SuggestionClear.d.ts.map +1 -1
- package/dist/types/components/Suggestion/SuggestionEmpty.d.ts +1 -1
- package/dist/types/components/Suggestion/SuggestionEmpty.d.ts.map +1 -1
- package/dist/types/components/Suggestion/SuggestionInput.d.ts +1 -1
- package/dist/types/components/Suggestion/SuggestionInput.d.ts.map +1 -1
- package/dist/types/components/Suggestion/SuggestionList.d.ts +5 -5
- package/dist/types/components/Suggestion/SuggestionList.d.ts.map +1 -1
- package/dist/types/components/Suggestion/SuggestionOption.d.ts +0 -1
- package/dist/types/components/Suggestion/SuggestionOption.d.ts.map +1 -1
- package/dist/types/components/Suggestion/index.d.ts +23 -8
- package/dist/types/components/Suggestion/index.d.ts.map +1 -1
- package/dist/types/components/Switch/index.d.ts +1 -1
- package/dist/types/components/Switch/index.d.ts.map +1 -1
- package/dist/types/components/Table/Table.d.ts.map +1 -1
- package/dist/types/components/Table/TableBody.d.ts.map +1 -1
- package/dist/types/components/Table/TableCell.d.ts.map +1 -1
- package/dist/types/components/Table/TableFoot.d.ts.map +1 -1
- package/dist/types/components/Table/TableHead.d.ts.map +1 -1
- package/dist/types/components/Table/TableHeaderCell.d.ts.map +1 -1
- package/dist/types/components/Table/TableRow.d.ts.map +1 -1
- package/dist/types/components/Table/index.d.ts +6 -6
- package/dist/types/components/Table/index.d.ts.map +1 -1
- package/dist/types/components/Tabs/TabsTab.d.ts.map +1 -1
- package/dist/types/components/Tabs/index.d.ts +1 -1
- package/dist/types/components/Tabs/index.d.ts.map +1 -1
- package/dist/types/components/Tag/index.d.ts +1 -1
- package/dist/types/components/Tag/index.d.ts.map +1 -1
- package/dist/types/components/Textarea/index.d.ts +1 -1
- package/dist/types/components/Textarea/index.d.ts.map +1 -1
- package/dist/types/components/Textfield/Textfield.d.ts.map +1 -1
- package/dist/types/components/Textfield/index.d.ts +1 -1
- package/dist/types/components/Textfield/index.d.ts.map +1 -1
- package/dist/types/components/ValidationMessage/index.d.ts +1 -1
- package/dist/types/components/ValidationMessage/index.d.ts.map +1 -1
- package/dist/types/components/index.d.ts +29 -30
- package/dist/types/components/index.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/utilities/RovingFocus/RovingFocusItem.d.ts.map +1 -1
- package/dist/types/utilities/RovingFocus/RovingFocusRoot.d.ts.map +1 -1
- package/dist/types/utilities/RovingFocus/index.d.ts +1 -1
- package/dist/types/utilities/RovingFocus/index.d.ts.map +1 -1
- package/dist/types/utilities/hooks/index.d.ts +5 -5
- package/dist/types/utilities/hooks/index.d.ts.map +1 -1
- package/dist/types/utilities/hooks/useCheckboxGroup/useCheckboxGroup.d.ts.map +1 -1
- package/dist/types/utilities/hooks/useMergeRefs/useMergeRefs.d.ts.map +1 -1
- package/dist/types/utilities/hooks/usePagination/usePagination.d.ts.map +1 -1
- package/dist/types/utilities/hooks/useRadioGroup/useRadioGroup.d.ts.map +1 -1
- package/dist/types/utilities/index.d.ts +2 -2
- package/dist/types/utilities/index.d.ts.map +1 -1
- package/package.json +15 -17
- package/dist/cjs/components/MultiSuggestion/MultiSuggestion.js +0 -160
- package/dist/cjs/components/MultiSuggestion/MultiSuggestionChips.js +0 -20
- package/dist/cjs/components/MultiSuggestion/MultiSuggestionClear.js +0 -52
- package/dist/cjs/components/MultiSuggestion/MultiSuggestionEmpty.js +0 -23
- package/dist/cjs/components/MultiSuggestion/MultiSuggestionInput.js +0 -37
- package/dist/cjs/components/MultiSuggestion/MultiSuggestionList.js +0 -30
- package/dist/cjs/components/MultiSuggestion/MultiSuggestionOption.js +0 -12
- package/dist/cjs/components/MultiSuggestion/index.js +0 -34
- package/dist/esm/components/MultiSuggestion/MultiSuggestion.js +0 -157
- package/dist/esm/components/MultiSuggestion/MultiSuggestionChips.js +0 -18
- package/dist/esm/components/MultiSuggestion/MultiSuggestionClear.js +0 -49
- package/dist/esm/components/MultiSuggestion/MultiSuggestionEmpty.js +0 -21
- package/dist/esm/components/MultiSuggestion/MultiSuggestionInput.js +0 -35
- package/dist/esm/components/MultiSuggestion/MultiSuggestionList.js +0 -28
- package/dist/esm/components/MultiSuggestion/MultiSuggestionOption.js +0 -10
- package/dist/esm/components/MultiSuggestion/index.js +0 -26
- package/dist/types/components/MultiSuggestion/MultiSuggestion.d.ts +0 -131
- package/dist/types/components/MultiSuggestion/MultiSuggestion.d.ts.map +0 -1
- package/dist/types/components/MultiSuggestion/MultiSuggestionChips.d.ts +0 -20
- package/dist/types/components/MultiSuggestion/MultiSuggestionChips.d.ts.map +0 -1
- package/dist/types/components/MultiSuggestion/MultiSuggestionClear.d.ts +0 -35
- package/dist/types/components/MultiSuggestion/MultiSuggestionClear.d.ts.map +0 -1
- package/dist/types/components/MultiSuggestion/MultiSuggestionEmpty.d.ts +0 -15
- package/dist/types/components/MultiSuggestion/MultiSuggestionEmpty.d.ts.map +0 -1
- package/dist/types/components/MultiSuggestion/MultiSuggestionInput.d.ts +0 -21
- package/dist/types/components/MultiSuggestion/MultiSuggestionInput.d.ts.map +0 -1
- package/dist/types/components/MultiSuggestion/MultiSuggestionList.d.ts +0 -40
- package/dist/types/components/MultiSuggestion/MultiSuggestionList.d.ts.map +0 -1
- package/dist/types/components/MultiSuggestion/MultiSuggestionOption.d.ts +0 -6
- package/dist/types/components/MultiSuggestion/MultiSuggestionOption.d.ts.map +0 -1
- package/dist/types/components/MultiSuggestion/index.d.ts +0 -50
- package/dist/types/components/MultiSuggestion/index.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ValidationMessage/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ValidationMessage/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -1,42 +1,41 @@
|
|
|
1
|
+
export * from './Alert';
|
|
1
2
|
export * from './Avatar';
|
|
2
|
-
export * from './Button';
|
|
3
3
|
export * from './Badge';
|
|
4
4
|
export * from './Breadcrumbs';
|
|
5
|
-
export * from './
|
|
6
|
-
export * from './
|
|
5
|
+
export * from './Button';
|
|
6
|
+
export * from './Card';
|
|
7
|
+
export * from './Checkbox';
|
|
8
|
+
export * from './Chip';
|
|
9
|
+
export * from './Combobox';
|
|
10
|
+
export * from './Details';
|
|
11
|
+
export * from './Dialog';
|
|
12
|
+
export * from './Divider';
|
|
13
|
+
export * from './Dropdown';
|
|
14
|
+
export * from './ErrorSummary';
|
|
15
|
+
export * from './Field';
|
|
16
|
+
export * from './Fieldset';
|
|
17
|
+
export * from './Heading';
|
|
18
|
+
export * from './Input';
|
|
19
|
+
export * from './Label';
|
|
7
20
|
export * from './Link';
|
|
8
21
|
export * from './List';
|
|
9
|
-
export * from './
|
|
10
|
-
export * from './Heading';
|
|
22
|
+
export * from './Pagination';
|
|
11
23
|
export * from './Paragraph';
|
|
12
|
-
export * from './
|
|
13
|
-
export * from './
|
|
24
|
+
export * from './Popover';
|
|
25
|
+
export * from './Radio';
|
|
26
|
+
export * from './Search';
|
|
14
27
|
export * from './Select';
|
|
15
|
-
export * from './
|
|
16
|
-
export * from './Tag';
|
|
17
|
-
export * from './Chip';
|
|
18
|
-
export * from './Pagination';
|
|
28
|
+
export * from './Skeleton';
|
|
19
29
|
export * from './SkipLink';
|
|
20
|
-
export * from './
|
|
21
|
-
export * from './
|
|
22
|
-
export * from './Checkbox';
|
|
23
|
-
export * from './Radio';
|
|
24
|
-
export * from './Fieldset';
|
|
30
|
+
export * from './Spinner';
|
|
31
|
+
export * from './Suggestion';
|
|
25
32
|
export * from './Switch';
|
|
26
|
-
export * from './
|
|
27
|
-
export * from './Textarea';
|
|
28
|
-
export * from './Input';
|
|
33
|
+
export * from './Table';
|
|
29
34
|
export * from './Tabs';
|
|
35
|
+
export * from './Tag';
|
|
36
|
+
export * from './Textarea';
|
|
37
|
+
export * from './Textfield';
|
|
30
38
|
export * from './ToggleGroup';
|
|
31
|
-
export * from './
|
|
32
|
-
export * from './
|
|
33
|
-
export * from './Dialog';
|
|
34
|
-
export * from './Dropdown';
|
|
35
|
-
export * from './Search';
|
|
36
|
-
export * from './Card';
|
|
37
|
-
export * from './Combobox';
|
|
38
|
-
export * from './Table';
|
|
39
|
-
export * from './ErrorSummary';
|
|
40
|
-
export * from './Suggestion';
|
|
41
|
-
export * from './MultiSuggestion';
|
|
39
|
+
export * from './Tooltip';
|
|
40
|
+
export * from './ValidationMessage';
|
|
42
41
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,YAAY,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AACnD,cAAc,aAAa,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RovingFocusItem.d.ts","sourceRoot":"","sources":["../../../src/utilities/RovingFocus/RovingFocusItem.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RovingFocusItem.d.ts","sourceRoot":"","sources":["../../../src/utilities/RovingFocus/RovingFocusItem.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAI5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAa5D,6CAA6C;AAC7C,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,kBAAkB,EAAE,EAC3B,KAAK,EAAE,MAAM,GACZ,kBAAkB,GAAG,SAAS,CAGhC;AAED,iDAAiD;AACjD,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,kBAAkB,EAAE,EAC3B,KAAK,EAAE,MAAM,GACZ,kBAAkB,GAAG,SAAS,CAGhC;AAED,eAAO,MAAM,eAAe;IA3B1B,yFAAyF;YACjF,MAAM;IACd;;;OAGG;cACO,OAAO;mEAwFlB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RovingFocusRoot.d.ts","sourceRoot":"","sources":["../../../src/utilities/RovingFocus/RovingFocusRoot.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RovingFocusRoot.d.ts","sourceRoot":"","sources":["../../../src/utilities/RovingFocus/RovingFocusRoot.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEV,cAAc,EACd,gBAAgB,EAChB,SAAS,EACV,MAAM,OAAO,CAAC;AAuBf,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,WAAW,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;IACrD,eAAe,EAAE,MAAM,kBAAkB,EAAE,CAAC;IAC5C,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,WAAW,EAAE,UAAU,GAAG,YAAY,GAAG,WAAW,CAAC;CACtD,CAAC;AAEF,eAAO,MAAM,kBAAkB,iCAW7B,CAAC;AAEH,eAAO,MAAM,eAAe;IA7C1B,iIAAiI;cACvH,SAAS;IACnB,iGAAiG;kBACnF,MAAM;IACpB;;;OAGG;cACO,OAAO;IACjB;;;;;OAKG;kBACW,UAAU,GAAG,YAAY,GAAG,WAAW;mEAkHtD,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
+
export { getNextFocusableValue, getPrevFocusableValue, RovingFocusItem, } from './RovingFocusItem';
|
|
1
2
|
export { RovingFocusRoot } from './RovingFocusRoot';
|
|
2
3
|
export { useRovingFocus } from './useRovingFocus';
|
|
3
|
-
export { RovingFocusItem, getNextFocusableValue, getPrevFocusableValue, } from './RovingFocusItem';
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utilities/RovingFocus/index.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utilities/RovingFocus/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
+
export type { UseCheckboxGroupProps } from './useCheckboxGroup/useCheckboxGroup';
|
|
1
2
|
export { useCheckboxGroup } from './useCheckboxGroup/useCheckboxGroup';
|
|
2
3
|
export { useDebounceCallback } from './useDebounceCallback/useDebounceCallback';
|
|
3
4
|
export { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect/useIsomorphicLayoutEffect';
|
|
4
5
|
export { useMediaQuery } from './useMediaQuery/useMediaQuery';
|
|
5
|
-
export { useRadioGroup } from './useRadioGroup/useRadioGroup';
|
|
6
|
-
export { useSynchronizedAnimation } from './useSynchronizedAnimation/useSynchronizedAnimation';
|
|
7
|
-
export { usePagination } from './usePagination/usePagination';
|
|
8
6
|
export { useMergeRefs } from './useMergeRefs/useMergeRefs';
|
|
9
|
-
export type { UseRadioGroupProps } from './useRadioGroup/useRadioGroup';
|
|
10
|
-
export type { UseCheckboxGroupProps } from './useCheckboxGroup/useCheckboxGroup';
|
|
11
7
|
export type { UsePaginationProps } from './usePagination/usePagination';
|
|
8
|
+
export { usePagination } from './usePagination/usePagination';
|
|
9
|
+
export type { UseRadioGroupProps } from './useRadioGroup/useRadioGroup';
|
|
10
|
+
export { useRadioGroup } from './useRadioGroup/useRadioGroup';
|
|
11
|
+
export { useSynchronizedAnimation } from './useSynchronizedAnimation/useSynchronizedAnimation';
|
|
12
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utilities/hooks/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utilities/hooks/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uDAAuD,CAAC;AAClG,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,YAAY,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,YAAY,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,qDAAqD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCheckboxGroup.d.ts","sourceRoot":"","sources":["../../../../src/utilities/hooks/useCheckboxGroup/useCheckboxGroup.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useCheckboxGroup.d.ts","sourceRoot":"","sources":["../../../../src/utilities/hooks/useCheckboxGroup/useCheckboxGroup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAe,SAAS,EAAE,MAAM,OAAO,CAAC;AAEpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,MAAM,MAAM,qBAAqB,GAAG;IAClC;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CAClE,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,aAAa,EACX,QAAQ,GACR,MAAM,GACN,MAAM,GACN,MAAM,GACN,YAAY,GACZ,iBAAiB,GACjB,OAAO,GACP,SAAS,GACT,OAAO,CACV,GAAG;IACF,6EAA6E;IAC7E,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,GAAG,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;IAC3C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAgBF,KAAK,sBAAsB,GAAG;IAC5B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACzD,gBAAgB,EAAE,CAChB,YAAY,CAAC,EAAE,MAAM,GAAG,gBAAgB,KACrC,gBAAgB,CAAC;IACtB,sBAAsB,EAAE;QACtB,QAAQ,EAAE,SAAS,CAAC;QACpB,MAAM,EAAE,OAAO,CAAC;QAChB,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC;CACH,CAAC;AAEF,wBAAgB,gBAAgB,CAC9B,KAAK,CAAC,EAAE,qBAAqB,GAC5B,sBAAsB,CA8IxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMergeRefs.d.ts","sourceRoot":"","sources":["../../../../src/utilities/hooks/useMergeRefs/useMergeRefs.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,GAAG,EAAE,WAAW,EAAa,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"useMergeRefs.d.ts","sourceRoot":"","sources":["../../../../src/utilities/hooks/useMergeRefs/useMergeRefs.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,GAAG,EAAE,WAAW,EAAa,MAAM,OAAO,CAAC;AAEzD;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EACnC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,GACrC,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,CAoD9B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePagination.d.ts","sourceRoot":"","sources":["../../../../src/utilities/hooks/usePagination/usePagination.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"usePagination.d.ts","sourceRoot":"","sources":["../../../../src/utilities/hooks/usePagination/usePagination.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAExC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAcjE,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACnE,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA4BI;AACJ,eAAO,MAAM,aAAa,GAAI,mEAM3B,kBAAkB;IAWf,sBAAsB;;QAGlB;;WAEG;;QAEH;;WAEG;;QAEH;;WAEG;qBAOU,qBAAqB,GAAG,IAAI;;IAG7C,8EAA8E;qBAKzE,qBAAqB;IAC1B,0EAA0E;qBAKrE,qBAAqB;IAC1B,gEAAgE;;IAEhE,4DAA4D;;CAGxB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRadioGroup.d.ts","sourceRoot":"","sources":["../../../../src/utilities/hooks/useRadioGroup/useRadioGroup.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useRadioGroup.d.ts","sourceRoot":"","sources":["../../../../src/utilities/hooks/useRadioGroup/useRadioGroup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,uCAAuC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wCAAwC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3D,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,IAAI,CAC9B,UAAU,EACR,QAAQ,GACR,MAAM,GACN,MAAM,GACN,MAAM,GACN,YAAY,GACZ,iBAAiB,GACjB,OAAO,GACP,MAAM,GACN,SAAS,GACT,OAAO,CACV,GAAG;IACF,GAAG,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IACvD,aAAa,EAAE,CAAC,YAAY,EAAE,MAAM,GAAG,aAAa,KAAK,aAAa,CAAC;IACvE,sBAAsB,EAAE;QACtB,QAAQ,EAAE,SAAS,CAAC;QACpB,MAAM,EAAE,OAAO,CAAC;QAChB,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC;CACH,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,KAAK,EAAE,WAAgB,GACxB,GAAE,kBAAuB,GAAG,mBAAmB,CAsF/C"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export * from './omit/omit';
|
|
2
1
|
export type { UseCheckboxGroupProps, UsePaginationProps, UseRadioGroupProps, } from './hooks';
|
|
3
|
-
export { useCheckboxGroup,
|
|
2
|
+
export { useCheckboxGroup, useDebounceCallback, useIsomorphicLayoutEffect, useMediaQuery, usePagination, useRadioGroup, useSynchronizedAnimation, } from './hooks';
|
|
3
|
+
export * from './omit/omit';
|
|
4
4
|
export * from './RovingFocus';
|
|
5
5
|
export type * from './types';
|
|
6
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utilities/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utilities/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,yBAAyB,EACzB,aAAa,EACb,aAAa,EACb,aAAa,EACb,wBAAwB,GACzB,MAAM,SAAS,CAAC;AACjB,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,mBAAmB,SAAS,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@digdir/designsystemet-react",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.0
|
|
4
|
+
"version": "1.1.0",
|
|
5
5
|
"description": "React components for Designsystemet",
|
|
6
6
|
"author": "Designsystemet team",
|
|
7
7
|
"repository": {
|
|
@@ -36,40 +36,38 @@
|
|
|
36
36
|
"access": "public"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@floating-ui/dom": "^1.7.
|
|
39
|
+
"@floating-ui/dom": "^1.7.1",
|
|
40
40
|
"@floating-ui/react": "0.26.23",
|
|
41
41
|
"@navikt/aksel-icons": "^7.22.0",
|
|
42
42
|
"@radix-ui/react-slot": "^1.2.3",
|
|
43
|
-
"@tanstack/react-virtual": "^3.13.
|
|
44
|
-
"@u-elements/u-
|
|
43
|
+
"@tanstack/react-virtual": "^3.13.10",
|
|
44
|
+
"@u-elements/u-combobox": "^0.0.14",
|
|
45
|
+
"@u-elements/u-datalist": "^1.0.8",
|
|
45
46
|
"@u-elements/u-details": "^0.1.1",
|
|
46
|
-
"@u-elements/u-tags": "^0.1.4",
|
|
47
47
|
"clsx": "^2.1.1"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
|
-
"@rollup/plugin-commonjs": "^28.0.
|
|
50
|
+
"@rollup/plugin-commonjs": "^28.0.5",
|
|
51
51
|
"@rollup/plugin-node-resolve": "^16.0.1",
|
|
52
|
-
"@storybook/
|
|
53
|
-
"@storybook/
|
|
54
|
-
"@storybook/react": "^
|
|
55
|
-
"@storybook/test": "^8.6.14",
|
|
56
|
-
"@storybook/types": "^8.6.14",
|
|
52
|
+
"@storybook/addon-docs": "^9.0.10",
|
|
53
|
+
"@storybook/addon-vitest": "^9.0.10",
|
|
54
|
+
"@storybook/react-vite": "^9.0.10",
|
|
57
55
|
"@testing-library/dom": "^10.4.0",
|
|
58
56
|
"@testing-library/jest-dom": "^6.6.3",
|
|
59
57
|
"@testing-library/react": "^16.3.0",
|
|
60
58
|
"@testing-library/user-event": "^14.6.1",
|
|
61
|
-
"@types/react": "^19.1.
|
|
62
|
-
"@types/react-dom": "^19.1.
|
|
63
|
-
"copyfiles": "^2.4.1",
|
|
59
|
+
"@types/react": "^19.1.8",
|
|
60
|
+
"@types/react-dom": "^19.1.6",
|
|
64
61
|
"jsdom": "^26.1.0",
|
|
65
62
|
"react": "^19.1.0",
|
|
66
63
|
"react-dom": "^19.1.0",
|
|
67
64
|
"rimraf": "^6.0.1",
|
|
68
|
-
"rollup": "^4.
|
|
65
|
+
"rollup": "^4.43.0",
|
|
69
66
|
"rollup-plugin-copy": "^3.5.0",
|
|
70
|
-
"
|
|
67
|
+
"storybook": "^9.0.10",
|
|
68
|
+
"tsx": "4.20.3",
|
|
71
69
|
"typescript": "^5.8.3",
|
|
72
|
-
"@digdir/designsystemet-css": "^1.0
|
|
70
|
+
"@digdir/designsystemet-css": "^1.1.0"
|
|
73
71
|
},
|
|
74
72
|
"scripts": {
|
|
75
73
|
"build": "pnpm run clean && tsc -b tsconfig.lib.json --emitDeclarationOnly false && rollup -c --bundleConfigAsCjs",
|
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
'use strict';
|
|
3
|
-
|
|
4
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
-
var react = require('react');
|
|
6
|
-
require('@u-elements/u-tags');
|
|
7
|
-
var uDatalist = require('@u-elements/u-datalist');
|
|
8
|
-
var cl = require('clsx/lite');
|
|
9
|
-
var useMergeRefs = require('../../utilities/hooks/useMergeRefs/useMergeRefs.js');
|
|
10
|
-
|
|
11
|
-
const MultiSuggestionContext = react.createContext({});
|
|
12
|
-
const MultiSuggestion = react.forwardRef(function MultiSuggestion({ value, defaultValue, onValueChange, name, filter = true, allowCreate = false, className, ...rest }, ref) {
|
|
13
|
-
const [listId, setListId] = react.useState(react.useId());
|
|
14
|
-
const [selectedItems, setSelectedItems] = react.useState({});
|
|
15
|
-
const inputRef = react.useRef(null);
|
|
16
|
-
const uTagsRef = react.useRef(null);
|
|
17
|
-
const mergedRefs = useMergeRefs.useMergeRefs([ref, uTagsRef]);
|
|
18
|
-
const isControlled = Boolean(value);
|
|
19
|
-
const [controlledDirty, setControlledDirty] = react.useState(false);
|
|
20
|
-
/**
|
|
21
|
-
* If we have set a default value, set it on initial render
|
|
22
|
-
*/
|
|
23
|
-
react.useEffect(() => {
|
|
24
|
-
if (!defaultValue)
|
|
25
|
-
return;
|
|
26
|
-
if (value) {
|
|
27
|
-
console.warn('defaultValue can not be used in combination with value');
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
|
-
const items = uTagsRef.current?.querySelectorAll('u-option');
|
|
31
|
-
if (!items)
|
|
32
|
-
return;
|
|
33
|
-
const defaultItems = Array.from(items).filter((item) => defaultValue.includes(item.value));
|
|
34
|
-
for (const item of defaultItems) {
|
|
35
|
-
uTagsRef.current?.dispatchEvent(new CustomEvent('add', {
|
|
36
|
-
detail: { item },
|
|
37
|
-
}));
|
|
38
|
-
setSelectedItems((prevItems) => ({
|
|
39
|
-
...prevItems,
|
|
40
|
-
[item.value]: item,
|
|
41
|
-
}));
|
|
42
|
-
}
|
|
43
|
-
return () => {
|
|
44
|
-
console.error('Default value changed during render');
|
|
45
|
-
};
|
|
46
|
-
}, [defaultValue]);
|
|
47
|
-
/**
|
|
48
|
-
* Controlled state management
|
|
49
|
-
*/
|
|
50
|
-
react.useEffect(() => {
|
|
51
|
-
if (!value)
|
|
52
|
-
return;
|
|
53
|
-
const items = inputRef.current?.list?.options;
|
|
54
|
-
if (!items)
|
|
55
|
-
return;
|
|
56
|
-
const itemsArray = Array.from(items);
|
|
57
|
-
const itemsArrayValues = itemsArray.map((item) => item.value);
|
|
58
|
-
const selectedArray = Object.keys(selectedItems);
|
|
59
|
-
const validValues = value.filter((val) => itemsArrayValues.includes(val));
|
|
60
|
-
const itemsToAdd = validValues.filter((val) => !selectedArray.includes(val));
|
|
61
|
-
const itemsToRemove = selectedArray.filter((val) => !validValues.includes(val));
|
|
62
|
-
for (const item of itemsArray) {
|
|
63
|
-
if (itemsToAdd.includes(item.value)) {
|
|
64
|
-
uTagsRef.current?.dispatchEvent(new CustomEvent('add', {
|
|
65
|
-
detail: { item },
|
|
66
|
-
}));
|
|
67
|
-
setSelectedItems((prevItems) => ({
|
|
68
|
-
...prevItems,
|
|
69
|
-
[item.value]: item,
|
|
70
|
-
}));
|
|
71
|
-
}
|
|
72
|
-
if (itemsToRemove.includes(item.value)) {
|
|
73
|
-
uTagsRef.current?.dispatchEvent(new CustomEvent('remove', {
|
|
74
|
-
detail: { item },
|
|
75
|
-
}));
|
|
76
|
-
setSelectedItems((prevItems) => {
|
|
77
|
-
const { [item.value]: _, ...rest } = prevItems;
|
|
78
|
-
return rest;
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}, [value]);
|
|
83
|
-
/**
|
|
84
|
-
* Listerners and handling of adding/removing
|
|
85
|
-
*/
|
|
86
|
-
react.useEffect(() => {
|
|
87
|
-
if (!uTagsRef?.current)
|
|
88
|
-
return;
|
|
89
|
-
const handleItemsChange = (e) => {
|
|
90
|
-
e.preventDefault();
|
|
91
|
-
const item = e.detail.item;
|
|
92
|
-
if (e.detail.action === 'add') {
|
|
93
|
-
/**
|
|
94
|
-
* If creating is off, check if the value is allowed to be added
|
|
95
|
-
*/
|
|
96
|
-
if (!allowCreate) {
|
|
97
|
-
const optionExists = Array.from(inputRef.current?.list?.options || [], uDatalist.getDatalistValue).includes(item.value);
|
|
98
|
-
if (!optionExists)
|
|
99
|
-
return;
|
|
100
|
-
}
|
|
101
|
-
setSelectedItems((prevItems) => ({
|
|
102
|
-
...prevItems,
|
|
103
|
-
[item.value]: item,
|
|
104
|
-
}));
|
|
105
|
-
}
|
|
106
|
-
if (e.detail.action === 'remove') {
|
|
107
|
-
setSelectedItems((prevItems) => {
|
|
108
|
-
const { [item.value]: _, ...rest } = prevItems;
|
|
109
|
-
return rest;
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
if (isControlled)
|
|
113
|
-
setControlledDirty(true);
|
|
114
|
-
};
|
|
115
|
-
uTagsRef.current.addEventListener('tags', handleItemsChange);
|
|
116
|
-
return () => {
|
|
117
|
-
uTagsRef.current?.removeEventListener('tags', handleItemsChange);
|
|
118
|
-
};
|
|
119
|
-
}, [uTagsRef, setSelectedItems]);
|
|
120
|
-
/**
|
|
121
|
-
* When controlled, trigger onValueChange callback for ordinary add/remove
|
|
122
|
-
*/
|
|
123
|
-
react.useEffect(() => {
|
|
124
|
-
if (!controlledDirty)
|
|
125
|
-
return;
|
|
126
|
-
onValueChange?.(Object.keys(selectedItems));
|
|
127
|
-
setControlledDirty(false);
|
|
128
|
-
}, [controlledDirty]);
|
|
129
|
-
const handleFilter = react.useCallback((input) => {
|
|
130
|
-
const list = input?.list;
|
|
131
|
-
// Let <datalist> handle filtering if filter is true
|
|
132
|
-
if (filter === true || !list)
|
|
133
|
-
return;
|
|
134
|
-
// Handle custom filter
|
|
135
|
-
if (filter !== false) {
|
|
136
|
-
let index = 0;
|
|
137
|
-
for (const option of list.getElementsByTagName('u-option')) {
|
|
138
|
-
if (!option.hasAttribute('data-empty'))
|
|
139
|
-
option.disabled = !filter({
|
|
140
|
-
index: index++, // Increment index for each <option>
|
|
141
|
-
input,
|
|
142
|
-
optionElement: option,
|
|
143
|
-
text: option.text,
|
|
144
|
-
value: uDatalist.getDatalistValue(option),
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
uDatalist.syncDatalistState(input); // Sync the datalist state if filter is custom or false
|
|
149
|
-
}, [filter]);
|
|
150
|
-
return (jsxRuntime.jsxs(MultiSuggestionContext.Provider, { value: {
|
|
151
|
-
inputRef,
|
|
152
|
-
listId,
|
|
153
|
-
selectedItems,
|
|
154
|
-
setListId,
|
|
155
|
-
handleFilter,
|
|
156
|
-
}, children: [jsxRuntime.jsx("u-tags", { class: cl('ds-multi-suggestion', className), ref: mergedRefs, ...rest }), name && (jsxRuntime.jsx("select", { multiple: true, hidden: true, name: name, children: Object.values(selectedItems).map((item) => (jsxRuntime.jsx("option", { value: item.value }, item.value))) }))] }));
|
|
157
|
-
});
|
|
158
|
-
|
|
159
|
-
exports.MultiSuggestion = MultiSuggestion;
|
|
160
|
-
exports.MultiSuggestionContext = MultiSuggestionContext;
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
'use strict';
|
|
3
|
-
|
|
4
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
-
var react = require('react');
|
|
6
|
-
var index = require('../Chip/index.js');
|
|
7
|
-
var MultiSuggestion = require('./MultiSuggestion.js');
|
|
8
|
-
|
|
9
|
-
const MultiSuggestionChips = ({ render = ({ value }) => value, }) => {
|
|
10
|
-
const { selectedItems } = react.useContext(MultiSuggestion.MultiSuggestionContext);
|
|
11
|
-
return (jsxRuntime.jsx(jsxRuntime.Fragment, { children: selectedItems &&
|
|
12
|
-
Object.values(selectedItems).map((item) => (jsxRuntime.jsx(index.Chip.Removable, { value: item.value, asChild: true, children: jsxRuntime.jsx("data", { children: render({
|
|
13
|
-
text: item.textContent || item.value,
|
|
14
|
-
value: item.value,
|
|
15
|
-
element: item,
|
|
16
|
-
}) }) }, item.value))) }));
|
|
17
|
-
};
|
|
18
|
-
MultiSuggestionChips.displayName = 'MultiSuggestionChips';
|
|
19
|
-
|
|
20
|
-
exports.MultiSuggestionChips = MultiSuggestionChips;
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
'use strict';
|
|
3
|
-
|
|
4
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
-
var react = require('react');
|
|
6
|
-
var MultiSuggestion = require('./MultiSuggestion.js');
|
|
7
|
-
var Button = require('../Button/Button.js');
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Component that provides a clear button for the MultiSuggestion input.
|
|
11
|
-
*
|
|
12
|
-
* Place as a descendant of `MultiSuggestion`
|
|
13
|
-
*
|
|
14
|
-
* @example
|
|
15
|
-
* <MultiSuggestion>
|
|
16
|
-
* <MultiSuggestion.Input />
|
|
17
|
-
* <MultiSuggestion.Clear />
|
|
18
|
-
* <MultiSuggestion.List />
|
|
19
|
-
* </MultiSuggestion>
|
|
20
|
-
*/
|
|
21
|
-
const MultiSuggestionClear = react.forwardRef(function MultiSuggestionClear({ 'aria-label': label = 'Tøm', onClick, ...rest }, ref) {
|
|
22
|
-
const { inputRef } = react.useContext(MultiSuggestion.MultiSuggestionContext); //, handleValueChange
|
|
23
|
-
const handleClear = (event) => {
|
|
24
|
-
if (!inputRef?.current)
|
|
25
|
-
throw new Error('Input is missing');
|
|
26
|
-
/* narrow type to make TS happy */
|
|
27
|
-
if (!(inputRef?.current instanceof HTMLInputElement))
|
|
28
|
-
throw new Error('Input is not an input element');
|
|
29
|
-
event.preventDefault();
|
|
30
|
-
setReactInputValue(inputRef.current, '');
|
|
31
|
-
inputRef.current.focus();
|
|
32
|
-
onClick?.(event);
|
|
33
|
-
};
|
|
34
|
-
return (jsxRuntime.jsx(Button.Button, { ref: ref, variant: 'tertiary', type: 'reset', "aria-label": label, onClick: handleClear, icon: true, ...rest }));
|
|
35
|
-
});
|
|
36
|
-
// Copied from https://github.com/facebook/react/issues/11488#issuecomment-1300987446
|
|
37
|
-
const setReactInputValue = (input, value) => {
|
|
38
|
-
const nativeInputValueSetter = Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, 'value')?.set;
|
|
39
|
-
if (nativeInputValueSetter) {
|
|
40
|
-
nativeInputValueSetter.call(input, value);
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
throw new Error('Unable to find the native input value setter');
|
|
44
|
-
}
|
|
45
|
-
const inputEvent = new Event('input', { bubbles: true });
|
|
46
|
-
const changeEvent = new Event('change', { bubbles: true });
|
|
47
|
-
input.dispatchEvent(inputEvent);
|
|
48
|
-
input.dispatchEvent(changeEvent);
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
exports.MultiSuggestionClear = MultiSuggestionClear;
|
|
52
|
-
exports.setReactInputValue = setReactInputValue;
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
'use strict';
|
|
3
|
-
|
|
4
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
-
var react = require('react');
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Component that provides an empty MultiSuggestion list.
|
|
9
|
-
*
|
|
10
|
-
* Place as a descendant of `MultiSuggestion.List`
|
|
11
|
-
*
|
|
12
|
-
* @example
|
|
13
|
-
* <MultiSuggestion.List>
|
|
14
|
-
* <MultiSuggestion.Empty>Tomt</MultiSuggestion.Empty>
|
|
15
|
-
* </MultiSuggestion.List>
|
|
16
|
-
*/
|
|
17
|
-
const MultiSuggestionEmpty = react.forwardRef(function MultiSuggestionEmpty(rest, ref) {
|
|
18
|
-
return (
|
|
19
|
-
// biome-ignore lint/a11y/noInteractiveElementToNoninteractiveRole: Empty option shoult not be interactive
|
|
20
|
-
jsxRuntime.jsx("u-option", { "data-empty": true, role: 'none', ref: ref, ...rest }));
|
|
21
|
-
});
|
|
22
|
-
|
|
23
|
-
exports.MultiSuggestionEmpty = MultiSuggestionEmpty;
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
'use strict';
|
|
3
|
-
|
|
4
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
-
var uDatalist = require('@u-elements/u-datalist');
|
|
6
|
-
var react = require('react');
|
|
7
|
-
var MultiSuggestion = require('./MultiSuggestion.js');
|
|
8
|
-
var useMergeRefs = require('../../utilities/hooks/useMergeRefs/useMergeRefs.js');
|
|
9
|
-
var Input = require('../Input/Input.js');
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Component that provides an input field for the MultiSuggestion list.
|
|
13
|
-
*
|
|
14
|
-
* Place as a descendant of `MultiSuggestion`
|
|
15
|
-
*
|
|
16
|
-
* @example
|
|
17
|
-
* <MultiSuggestion>
|
|
18
|
-
* <MultiSuggestion.Input />
|
|
19
|
-
* <MultiSuggestion.List />
|
|
20
|
-
* </MultiSuggestion>
|
|
21
|
-
*/
|
|
22
|
-
const MultiSuggestionInput = react.forwardRef(function MultiSuggestionList({ value, onInput, ...rest }, ref) {
|
|
23
|
-
const { listId, inputRef, handleFilter } = react.useContext(MultiSuggestion.MultiSuggestionContext);
|
|
24
|
-
const mergedRefs = useMergeRefs.useMergeRefs([inputRef, ref]);
|
|
25
|
-
// Update also if controlled value
|
|
26
|
-
react.useEffect(() => {
|
|
27
|
-
handleFilter?.(inputRef?.current);
|
|
28
|
-
}, [value]);
|
|
29
|
-
return (jsxRuntime.jsx(Input.Input, { ref: mergedRefs, list: listId, value: value, onInput: (event) => {
|
|
30
|
-
onInput?.(event); // Should run first
|
|
31
|
-
if (!uDatalist.isDatalistClick(event.nativeEvent))
|
|
32
|
-
handleFilter?.(inputRef?.current);
|
|
33
|
-
}, placeholder: '' // We need an empty placeholder for the clear button to be able to show/hide
|
|
34
|
-
, ...rest }));
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
exports.MultiSuggestionInput = MultiSuggestionInput;
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
'use strict';
|
|
3
|
-
|
|
4
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
-
var react = require('react');
|
|
6
|
-
require('@u-elements/u-datalist');
|
|
7
|
-
var MultiSuggestion = require('./MultiSuggestion.js');
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Component that provides a MultiSuggestion list.
|
|
11
|
-
*
|
|
12
|
-
* Place as a descendant of `MultiSuggestion`
|
|
13
|
-
*
|
|
14
|
-
* @example
|
|
15
|
-
* <MultiSuggestion>
|
|
16
|
-
* <MultiSuggestion.Input />
|
|
17
|
-
* <MultiSuggestion.List />
|
|
18
|
-
* </MultiSuggestion>
|
|
19
|
-
*/
|
|
20
|
-
const MultiSuggestionList = react.forwardRef(function MultiSuggestionList({ singular = '%d forslag', plural = '%d forslag', className, id, ...rest }, ref) {
|
|
21
|
-
const { inputRef, listId, setListId, handleFilter } = react.useContext(MultiSuggestion.MultiSuggestionContext);
|
|
22
|
-
react.useEffect(() => handleFilter?.(inputRef?.current)); // Must run on every render
|
|
23
|
-
react.useEffect(() => {
|
|
24
|
-
if (id && listId !== id)
|
|
25
|
-
setListId?.(id);
|
|
26
|
-
}, [listId, id, setListId]);
|
|
27
|
-
return (jsxRuntime.jsx("u-datalist", { "data-sr-singular": singular, "data-sr-plural": plural, class: className, id: listId, ref: ref, ...rest }));
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
exports.MultiSuggestionList = MultiSuggestionList;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
'use strict';
|
|
3
|
-
|
|
4
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
-
var react = require('react');
|
|
6
|
-
require('@u-elements/u-datalist');
|
|
7
|
-
|
|
8
|
-
const MultiSuggestionOption = react.forwardRef(function MultiSuggestionOption({ className, ...rest }, ref) {
|
|
9
|
-
return (jsxRuntime.jsx("u-option", { class: className, ref: ref, ...rest }));
|
|
10
|
-
});
|
|
11
|
-
|
|
12
|
-
exports.MultiSuggestionOption = MultiSuggestionOption;
|