@navikt/ds-react 6.2.0 → 6.3.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.
- package/cjs/form/combobox/ComboboxProvider.js +5 -1
- package/cjs/form/combobox/ComboboxProvider.js.map +1 -1
- package/cjs/form/combobox/FilteredOptions/FilteredOptions.js +14 -12
- package/cjs/form/combobox/FilteredOptions/FilteredOptions.js.map +1 -1
- package/cjs/form/combobox/FilteredOptions/filtered-options-util.d.ts +3 -3
- package/cjs/form/combobox/FilteredOptions/filtered-options-util.js +1 -3
- package/cjs/form/combobox/FilteredOptions/filtered-options-util.js.map +1 -1
- package/cjs/form/combobox/FilteredOptions/filteredOptionsContext.d.ts +8 -5
- package/cjs/form/combobox/FilteredOptions/filteredOptionsContext.js +8 -13
- package/cjs/form/combobox/FilteredOptions/filteredOptionsContext.js.map +1 -1
- package/cjs/form/combobox/Input/Input.js +9 -7
- package/cjs/form/combobox/Input/Input.js.map +1 -1
- package/cjs/form/combobox/SelectedOptions/SelectedOptions.d.ts +2 -1
- package/cjs/form/combobox/SelectedOptions/SelectedOptions.js +3 -3
- package/cjs/form/combobox/SelectedOptions/SelectedOptions.js.map +1 -1
- package/cjs/form/combobox/SelectedOptions/selectedOptionsContext.d.ts +10 -7
- package/cjs/form/combobox/SelectedOptions/selectedOptionsContext.js +6 -8
- package/cjs/form/combobox/SelectedOptions/selectedOptionsContext.js.map +1 -1
- package/cjs/form/combobox/combobox-utils.d.ts +10 -0
- package/cjs/form/combobox/combobox-utils.js +27 -0
- package/cjs/form/combobox/combobox-utils.js.map +1 -0
- package/cjs/form/combobox/customOptionsContext.d.ts +5 -4
- package/cjs/form/combobox/customOptionsContext.js +1 -1
- package/cjs/form/combobox/customOptionsContext.js.map +1 -1
- package/cjs/form/combobox/types.d.ts +22 -11
- package/cjs/form/file-upload/FileUpload.context.d.ts +8 -0
- package/cjs/form/file-upload/FileUpload.context.js +7 -0
- package/cjs/form/file-upload/FileUpload.context.js.map +1 -0
- package/cjs/form/file-upload/FileUpload.d.ts +118 -0
- package/cjs/form/file-upload/FileUpload.js +73 -0
- package/cjs/form/file-upload/FileUpload.js.map +1 -0
- package/cjs/form/file-upload/FileUpload.types.d.ts +55 -0
- package/cjs/form/file-upload/FileUpload.types.js +8 -0
- package/cjs/form/file-upload/FileUpload.types.js.map +1 -0
- package/cjs/form/file-upload/i18n/get.d.ts +2 -0
- package/cjs/form/file-upload/i18n/get.js +38 -0
- package/cjs/form/file-upload/i18n/get.js.map +1 -0
- package/cjs/form/file-upload/i18n/i18n.context.d.ts +11 -0
- package/cjs/form/file-upload/i18n/i18n.context.js +39 -0
- package/cjs/form/file-upload/i18n/i18n.context.js.map +1 -0
- package/cjs/form/file-upload/i18n/i18n.types.d.ts +13 -0
- package/cjs/form/file-upload/i18n/i18n.types.js +3 -0
- package/cjs/form/file-upload/i18n/i18n.types.js.map +1 -0
- package/cjs/form/file-upload/i18n/locales/nb.json +20 -0
- package/cjs/form/file-upload/i18n/merge.d.ts +2 -0
- package/cjs/form/file-upload/i18n/merge.js +29 -0
- package/cjs/form/file-upload/i18n/merge.js.map +1 -0
- package/cjs/form/file-upload/index.d.ts +7 -0
- package/cjs/form/file-upload/index.js +16 -0
- package/cjs/form/file-upload/index.js.map +1 -0
- package/cjs/form/file-upload/parts/Trigger.d.ts +7 -0
- package/cjs/form/file-upload/parts/Trigger.js +43 -0
- package/cjs/form/file-upload/parts/Trigger.js.map +1 -0
- package/cjs/form/file-upload/parts/dropzone/Dropzone.d.ts +4 -0
- package/cjs/form/file-upload/parts/dropzone/Dropzone.js +106 -0
- package/cjs/form/file-upload/parts/dropzone/Dropzone.js.map +1 -0
- package/cjs/form/file-upload/parts/dropzone/dropzone.types.d.ts +18 -0
- package/cjs/form/file-upload/parts/dropzone/dropzone.types.js +3 -0
- package/cjs/form/file-upload/parts/dropzone/dropzone.types.js.map +1 -0
- package/cjs/form/file-upload/parts/dropzone/useDropzone.d.ts +13 -0
- package/cjs/form/file-upload/parts/dropzone/useDropzone.js +34 -0
- package/cjs/form/file-upload/parts/dropzone/useDropzone.js.map +1 -0
- package/cjs/form/file-upload/parts/item/Item.d.ts +55 -0
- package/cjs/form/file-upload/parts/item/Item.js +79 -0
- package/cjs/form/file-upload/parts/item/Item.js.map +1 -0
- package/cjs/form/file-upload/parts/item/Item.types.d.ts +5 -0
- package/cjs/form/file-upload/parts/item/Item.types.js +3 -0
- package/cjs/form/file-upload/parts/item/Item.types.js.map +1 -0
- package/cjs/form/file-upload/parts/item/ItemButton.d.ts +12 -0
- package/cjs/form/file-upload/parts/item/ItemButton.js +22 -0
- package/cjs/form/file-upload/parts/item/ItemButton.js.map +1 -0
- package/cjs/form/file-upload/parts/item/ItemIcon.d.ts +9 -0
- package/cjs/form/file-upload/parts/item/ItemIcon.js +51 -0
- package/cjs/form/file-upload/parts/item/ItemIcon.js.map +1 -0
- package/cjs/form/file-upload/parts/item/ItemName.d.ts +9 -0
- package/cjs/form/file-upload/parts/item/ItemName.js +32 -0
- package/cjs/form/file-upload/parts/item/ItemName.js.map +1 -0
- package/cjs/form/file-upload/parts/item/utils/download-file.d.ts +1 -0
- package/cjs/form/file-upload/parts/item/utils/download-file.js +13 -0
- package/cjs/form/file-upload/parts/item/utils/download-file.js.map +1 -0
- package/cjs/form/file-upload/parts/item/utils/file-type-checker.d.ts +2 -0
- package/cjs/form/file-upload/parts/item/utils/file-type-checker.js +6 -0
- package/cjs/form/file-upload/parts/item/utils/file-type-checker.js.map +1 -0
- package/cjs/form/file-upload/parts/item/utils/format-file-size.d.ts +2 -0
- package/cjs/form/file-upload/parts/item/utils/format-file-size.js +24 -0
- package/cjs/form/file-upload/parts/item/utils/format-file-size.js.map +1 -0
- package/cjs/form/file-upload/useFileUpload.d.ts +12 -0
- package/cjs/form/file-upload/useFileUpload.js +33 -0
- package/cjs/form/file-upload/useFileUpload.js.map +1 -0
- package/cjs/form/file-upload/utils/is-accepted-file-type.d.ts +1 -0
- package/cjs/form/file-upload/utils/is-accepted-file-type.js +26 -0
- package/cjs/form/file-upload/utils/is-accepted-file-type.js.map +1 -0
- package/cjs/form/file-upload/utils/is-accepted-size.d.ts +1 -0
- package/cjs/form/file-upload/utils/is-accepted-size.js +11 -0
- package/cjs/form/file-upload/utils/is-accepted-size.js.map +1 -0
- package/cjs/form/file-upload/utils/validate-files.d.ts +8 -0
- package/cjs/form/file-upload/utils/validate-files.js +48 -0
- package/cjs/form/file-upload/utils/validate-files.js.map +1 -0
- package/cjs/index.d.ts +1 -0
- package/cjs/index.js +3 -1
- package/cjs/index.js.map +1 -1
- package/cjs/loader/Loader.d.ts +0 -7
- package/cjs/loader/Loader.js.map +1 -1
- package/cjs/table/DataCell.d.ts +1 -3
- package/cjs/table/DataCell.js.map +1 -1
- package/cjs/util/create-context.d.ts +1 -0
- package/cjs/util/create-context.js.map +1 -1
- package/cjs/util/hooks/useEventListener.d.ts +1 -1
- package/cjs/util/hooks/useMergeRefs.d.ts +1 -1
- package/esm/form/combobox/ComboboxProvider.js +5 -1
- package/esm/form/combobox/ComboboxProvider.js.map +1 -1
- package/esm/form/combobox/FilteredOptions/FilteredOptions.js +14 -12
- package/esm/form/combobox/FilteredOptions/FilteredOptions.js.map +1 -1
- package/esm/form/combobox/FilteredOptions/filtered-options-util.d.ts +3 -3
- package/esm/form/combobox/FilteredOptions/filtered-options-util.js +1 -3
- package/esm/form/combobox/FilteredOptions/filtered-options-util.js.map +1 -1
- package/esm/form/combobox/FilteredOptions/filteredOptionsContext.d.ts +8 -5
- package/esm/form/combobox/FilteredOptions/filteredOptionsContext.js +8 -13
- package/esm/form/combobox/FilteredOptions/filteredOptionsContext.js.map +1 -1
- package/esm/form/combobox/Input/Input.js +9 -7
- package/esm/form/combobox/Input/Input.js.map +1 -1
- package/esm/form/combobox/SelectedOptions/SelectedOptions.d.ts +2 -1
- package/esm/form/combobox/SelectedOptions/SelectedOptions.js +3 -3
- package/esm/form/combobox/SelectedOptions/SelectedOptions.js.map +1 -1
- package/esm/form/combobox/SelectedOptions/selectedOptionsContext.d.ts +10 -7
- package/esm/form/combobox/SelectedOptions/selectedOptionsContext.js +6 -8
- package/esm/form/combobox/SelectedOptions/selectedOptionsContext.js.map +1 -1
- package/esm/form/combobox/combobox-utils.d.ts +10 -0
- package/esm/form/combobox/combobox-utils.js +22 -0
- package/esm/form/combobox/combobox-utils.js.map +1 -0
- package/esm/form/combobox/customOptionsContext.d.ts +5 -4
- package/esm/form/combobox/customOptionsContext.js +1 -1
- package/esm/form/combobox/customOptionsContext.js.map +1 -1
- package/esm/form/combobox/types.d.ts +22 -11
- package/esm/form/file-upload/FileUpload.context.d.ts +8 -0
- package/esm/form/file-upload/FileUpload.context.js +3 -0
- package/esm/form/file-upload/FileUpload.context.js.map +1 -0
- package/esm/form/file-upload/FileUpload.d.ts +118 -0
- package/esm/form/file-upload/FileUpload.js +44 -0
- package/esm/form/file-upload/FileUpload.js.map +1 -0
- package/esm/form/file-upload/FileUpload.types.d.ts +55 -0
- package/esm/form/file-upload/FileUpload.types.js +5 -0
- package/esm/form/file-upload/FileUpload.types.js.map +1 -0
- package/esm/form/file-upload/i18n/get.d.ts +2 -0
- package/esm/form/file-upload/i18n/get.js +34 -0
- package/esm/form/file-upload/i18n/get.js.map +1 -0
- package/esm/form/file-upload/i18n/i18n.context.d.ts +11 -0
- package/esm/form/file-upload/i18n/i18n.context.js +32 -0
- package/esm/form/file-upload/i18n/i18n.context.js.map +1 -0
- package/esm/form/file-upload/i18n/i18n.types.d.ts +13 -0
- package/esm/form/file-upload/i18n/i18n.types.js +2 -0
- package/esm/form/file-upload/i18n/i18n.types.js.map +1 -0
- package/esm/form/file-upload/i18n/locales/nb.json +20 -0
- package/esm/form/file-upload/i18n/merge.d.ts +2 -0
- package/esm/form/file-upload/i18n/merge.js +25 -0
- package/esm/form/file-upload/i18n/merge.js.map +1 -0
- package/esm/form/file-upload/index.d.ts +7 -0
- package/esm/form/file-upload/index.js +6 -0
- package/esm/form/file-upload/index.js.map +1 -0
- package/esm/form/file-upload/parts/Trigger.d.ts +7 -0
- package/esm/form/file-upload/parts/Trigger.js +18 -0
- package/esm/form/file-upload/parts/Trigger.js.map +1 -0
- package/esm/form/file-upload/parts/dropzone/Dropzone.d.ts +4 -0
- package/esm/form/file-upload/parts/dropzone/Dropzone.js +78 -0
- package/esm/form/file-upload/parts/dropzone/Dropzone.js.map +1 -0
- package/esm/form/file-upload/parts/dropzone/dropzone.types.d.ts +18 -0
- package/esm/form/file-upload/parts/dropzone/dropzone.types.js +2 -0
- package/esm/form/file-upload/parts/dropzone/dropzone.types.js.map +1 -0
- package/esm/form/file-upload/parts/dropzone/useDropzone.d.ts +13 -0
- package/esm/form/file-upload/parts/dropzone/useDropzone.js +30 -0
- package/esm/form/file-upload/parts/dropzone/useDropzone.js.map +1 -0
- package/esm/form/file-upload/parts/item/Item.d.ts +55 -0
- package/esm/form/file-upload/parts/item/Item.js +50 -0
- package/esm/form/file-upload/parts/item/Item.js.map +1 -0
- package/esm/form/file-upload/parts/item/Item.types.d.ts +5 -0
- package/esm/form/file-upload/parts/item/Item.types.js +2 -0
- package/esm/form/file-upload/parts/item/Item.types.js.map +1 -0
- package/esm/form/file-upload/parts/item/ItemButton.d.ts +12 -0
- package/esm/form/file-upload/parts/item/ItemButton.js +17 -0
- package/esm/form/file-upload/parts/item/ItemButton.js.map +1 -0
- package/esm/form/file-upload/parts/item/ItemIcon.d.ts +9 -0
- package/esm/form/file-upload/parts/item/ItemIcon.js +46 -0
- package/esm/form/file-upload/parts/item/ItemIcon.js.map +1 -0
- package/esm/form/file-upload/parts/item/ItemName.d.ts +9 -0
- package/esm/form/file-upload/parts/item/ItemName.js +27 -0
- package/esm/form/file-upload/parts/item/ItemName.js.map +1 -0
- package/esm/form/file-upload/parts/item/utils/download-file.d.ts +1 -0
- package/esm/form/file-upload/parts/item/utils/download-file.js +9 -0
- package/esm/form/file-upload/parts/item/utils/download-file.js.map +1 -0
- package/esm/form/file-upload/parts/item/utils/file-type-checker.d.ts +2 -0
- package/esm/form/file-upload/parts/item/utils/file-type-checker.js +2 -0
- package/esm/form/file-upload/parts/item/utils/file-type-checker.js.map +1 -0
- package/esm/form/file-upload/parts/item/utils/format-file-size.d.ts +2 -0
- package/esm/form/file-upload/parts/item/utils/format-file-size.js +20 -0
- package/esm/form/file-upload/parts/item/utils/format-file-size.js.map +1 -0
- package/esm/form/file-upload/useFileUpload.d.ts +12 -0
- package/esm/form/file-upload/useFileUpload.js +29 -0
- package/esm/form/file-upload/useFileUpload.js.map +1 -0
- package/esm/form/file-upload/utils/is-accepted-file-type.d.ts +1 -0
- package/esm/form/file-upload/utils/is-accepted-file-type.js +22 -0
- package/esm/form/file-upload/utils/is-accepted-file-type.js.map +1 -0
- package/esm/form/file-upload/utils/is-accepted-size.d.ts +1 -0
- package/esm/form/file-upload/utils/is-accepted-size.js +7 -0
- package/esm/form/file-upload/utils/is-accepted-size.js.map +1 -0
- package/esm/form/file-upload/utils/validate-files.d.ts +8 -0
- package/esm/form/file-upload/utils/validate-files.js +44 -0
- package/esm/form/file-upload/utils/validate-files.js.map +1 -0
- package/esm/index.d.ts +1 -0
- package/esm/index.js +1 -0
- package/esm/index.js.map +1 -1
- package/esm/loader/Loader.d.ts +0 -7
- package/esm/loader/Loader.js.map +1 -1
- package/esm/table/DataCell.d.ts +1 -3
- package/esm/table/DataCell.js.map +1 -1
- package/esm/util/create-context.d.ts +1 -0
- package/esm/util/create-context.js.map +1 -1
- package/esm/util/hooks/useEventListener.d.ts +1 -1
- package/esm/util/hooks/useMergeRefs.d.ts +1 -1
- package/package.json +13 -3
- package/src/form/combobox/ComboboxProvider.tsx +7 -3
- package/src/form/combobox/FilteredOptions/FilteredOptions.tsx +22 -15
- package/src/form/combobox/FilteredOptions/filtered-options-util.ts +5 -10
- package/src/form/combobox/FilteredOptions/filteredOptionsContext.tsx +19 -29
- package/src/form/combobox/Input/Input.tsx +14 -8
- package/src/form/combobox/SelectedOptions/SelectedOptions.tsx +8 -5
- package/src/form/combobox/SelectedOptions/selectedOptionsContext.tsx +24 -25
- package/src/form/combobox/combobox-utils.test.ts +67 -0
- package/src/form/combobox/combobox-utils.ts +32 -0
- package/src/form/combobox/combobox.stories.tsx +67 -32
- package/src/form/combobox/combobox.test.tsx +32 -1
- package/src/form/combobox/customOptionsContext.tsx +9 -8
- package/src/form/combobox/types.ts +23 -11
- package/src/form/file-upload/FileUpload.context.tsx +9 -0
- package/src/form/file-upload/FileUpload.tsx +142 -0
- package/src/form/file-upload/FileUpload.types.ts +57 -0
- package/src/form/file-upload/file-upload-dropzone.stories.tsx +123 -0
- package/src/form/file-upload/file-upload-item.stories.tsx +136 -0
- package/src/form/file-upload/file-upload.stories.tsx +236 -0
- package/src/form/file-upload/i18n/get.ts +48 -0
- package/src/form/file-upload/i18n/i18n.context.test.tsx +92 -0
- package/src/form/file-upload/i18n/i18n.context.ts +67 -0
- package/src/form/file-upload/i18n/i18n.types.ts +20 -0
- package/src/form/file-upload/i18n/locales/nb.json +20 -0
- package/src/form/file-upload/i18n/merge.ts +35 -0
- package/src/form/file-upload/index.ts +21 -0
- package/src/form/file-upload/parts/Trigger.tsx +48 -0
- package/src/form/file-upload/parts/dropzone/Dropzone.tsx +181 -0
- package/src/form/file-upload/parts/dropzone/dropzone.types.ts +22 -0
- package/src/form/file-upload/parts/dropzone/useDropzone.ts +43 -0
- package/src/form/file-upload/parts/item/Item.tsx +165 -0
- package/src/form/file-upload/parts/item/Item.types.ts +6 -0
- package/src/form/file-upload/parts/item/ItemButton.tsx +52 -0
- package/src/form/file-upload/parts/item/ItemIcon.tsx +74 -0
- package/src/form/file-upload/parts/item/ItemName.tsx +58 -0
- package/src/form/file-upload/parts/item/utils/download-file.ts +9 -0
- package/src/form/file-upload/parts/item/utils/file-type-checker.ts +4 -0
- package/src/form/file-upload/parts/item/utils/format-file-size.test.ts +76 -0
- package/src/form/file-upload/parts/item/utils/format-file-size.ts +25 -0
- package/src/form/file-upload/useFileUpload.ts +54 -0
- package/src/form/file-upload/utils/is-accepted-file-type.test.ts +69 -0
- package/src/form/file-upload/utils/is-accepted-file-type.ts +25 -0
- package/src/form/file-upload/utils/is-accepted-size.test.ts +26 -0
- package/src/form/file-upload/utils/is-accepted-size.ts +7 -0
- package/src/form/file-upload/utils/validate-files.test.ts +132 -0
- package/src/form/file-upload/utils/validate-files.ts +62 -0
- package/src/index.ts +14 -0
- package/src/internal-header/header.stories.tsx +8 -5
- package/src/loader/Loader.tsx +0 -7
- package/src/table/DataCell.tsx +1 -6
- package/src/util/create-context.tsx +1 -0
- package/src/util/hooks/useMergeRefs.ts +1 -1
|
@@ -42,6 +42,7 @@ const Combobox_1 = __importDefault(require("./Combobox"));
|
|
|
42
42
|
const filteredOptionsContext_1 = require("./FilteredOptions/filteredOptionsContext");
|
|
43
43
|
const inputContext_1 = require("./Input/inputContext");
|
|
44
44
|
const selectedOptionsContext_1 = require("./SelectedOptions/selectedOptionsContext");
|
|
45
|
+
const combobox_utils_1 = require("./combobox-utils");
|
|
45
46
|
const customOptionsContext_1 = require("./customOptionsContext");
|
|
46
47
|
/**
|
|
47
48
|
* A component that allows the user to search in a list of options
|
|
@@ -66,7 +67,10 @@ const customOptionsContext_1 = require("./customOptionsContext");
|
|
|
66
67
|
* ```
|
|
67
68
|
*/
|
|
68
69
|
const ComboboxProvider = (0, react_1.forwardRef)((props, ref) => {
|
|
69
|
-
const { allowNewValues = false, children, defaultValue, error, errorId, filteredOptions, id, isListOpen, isLoading = false, isMultiSelect, onToggleSelected, selectedOptions, maxSelected, options, value, onChange, onClear, shouldAutocomplete, size } = props, rest = __rest(props, ["allowNewValues", "children", "defaultValue", "error", "errorId", "filteredOptions", "id", "isListOpen", "isLoading", "isMultiSelect", "onToggleSelected", "selectedOptions", "maxSelected", "options", "value", "onChange", "onClear", "shouldAutocomplete", "size"]);
|
|
70
|
+
const { allowNewValues = false, children, defaultValue, error, errorId, filteredOptions: externalFilteredOptions, id, isListOpen, isLoading = false, isMultiSelect, onToggleSelected, selectedOptions: externalSelectedOptions, maxSelected, options: externalOptions, value, onChange, onClear, shouldAutocomplete, size } = props, rest = __rest(props, ["allowNewValues", "children", "defaultValue", "error", "errorId", "filteredOptions", "id", "isListOpen", "isLoading", "isMultiSelect", "onToggleSelected", "selectedOptions", "maxSelected", "options", "value", "onChange", "onClear", "shouldAutocomplete", "size"]);
|
|
71
|
+
const options = (0, combobox_utils_1.mapToComboboxOptionArray)(externalOptions) || [];
|
|
72
|
+
const filteredOptions = (0, combobox_utils_1.mapToComboboxOptionArray)(externalFilteredOptions);
|
|
73
|
+
const selectedOptions = (0, combobox_utils_1.mapToComboboxOptionArray)(externalSelectedOptions);
|
|
70
74
|
return (react_1.default.createElement(inputContext_1.InputContextProvider, { value: {
|
|
71
75
|
defaultValue,
|
|
72
76
|
error,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboboxProvider.js","sourceRoot":"","sources":["../../../src/form/combobox/ComboboxProvider.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA0C;AAC1C,0DAAkC;AAClC,qFAAmF;AACnF,uDAA4D;AAC5D,qFAAmF;AACnF,iEAA+D;AAG/D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,gBAAgB,GAAG,IAAA,kBAAU,EACjC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACb,MAAM,EACJ,cAAc,GAAG,KAAK,EACtB,QAAQ,EACR,YAAY,EACZ,KAAK,EACL,OAAO,EACP,eAAe,
|
|
1
|
+
{"version":3,"file":"ComboboxProvider.js","sourceRoot":"","sources":["../../../src/form/combobox/ComboboxProvider.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA0C;AAC1C,0DAAkC;AAClC,qFAAmF;AACnF,uDAA4D;AAC5D,qFAAmF;AACnF,qDAA4D;AAC5D,iEAA+D;AAG/D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,gBAAgB,GAAG,IAAA,kBAAU,EACjC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACb,MAAM,EACJ,cAAc,GAAG,KAAK,EACtB,QAAQ,EACR,YAAY,EACZ,KAAK,EACL,OAAO,EACP,eAAe,EAAE,uBAAuB,EACxC,EAAE,EACF,UAAU,EACV,SAAS,GAAG,KAAK,EACjB,aAAa,EACb,gBAAgB,EAChB,eAAe,EAAE,uBAAuB,EACxC,WAAW,EACX,OAAO,EAAE,eAAe,EACxB,KAAK,EACL,QAAQ,EACR,OAAO,EACP,kBAAkB,EAClB,IAAI,KAEF,KAAK,EADJ,IAAI,UACL,KAAK,EArBH,sQAqBL,CAAQ,CAAC;IACV,MAAM,OAAO,GAAG,IAAA,yCAAwB,EAAC,eAAe,CAAC,IAAI,EAAE,CAAC;IAChE,MAAM,eAAe,GAAG,IAAA,yCAAwB,EAAC,uBAAuB,CAAC,CAAC;IAC1E,MAAM,eAAe,GAAG,IAAA,yCAAwB,EAAC,uBAAuB,CAAC,CAAC;IAC1E,OAAO,CACL,8BAAC,mCAAoB,IACnB,KAAK,EAAE;YACL,YAAY;YACZ,KAAK;YACL,OAAO;YACP,EAAE;YACF,KAAK;YACL,QAAQ;YACR,OAAO;YACP,kBAAkB;YAClB,IAAI;SACL;QAED,8BAAC,4CAAqB,IAAC,KAAK,EAAE,EAAE,aAAa,EAAE;YAC7C,8BAAC,gDAAuB,IACtB,KAAK,EAAE;oBACL,cAAc;oBACd,aAAa;oBACb,eAAe;oBACf,WAAW;oBACX,gBAAgB;oBAChB,OAAO;iBACR;gBAED,8BAAC,gDAAuB,IACtB,KAAK,EAAE;wBACL,cAAc;wBACd,eAAe;wBACf,UAAU;wBACV,SAAS;wBACT,OAAO;qBACR;oBAED,8BAAC,kBAAQ,kBAAC,GAAG,EAAE,GAAG,IAAM,IAAI,GACzB,QAAQ,CACA,CACa,CACF,CACJ,CACH,CACxB,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,kBAAe,gBAAgB,CAAC"}
|
|
@@ -10,6 +10,7 @@ const loader_1 = require("../../../loader");
|
|
|
10
10
|
const typography_1 = require("../../../typography");
|
|
11
11
|
const inputContext_1 = require("../Input/inputContext");
|
|
12
12
|
const selectedOptionsContext_1 = require("../SelectedOptions/selectedOptionsContext");
|
|
13
|
+
const combobox_utils_1 = require("../combobox-utils");
|
|
13
14
|
const filtered_options_util_1 = __importDefault(require("./filtered-options-util"));
|
|
14
15
|
const filteredOptionsContext_1 = require("./filteredOptionsContext");
|
|
15
16
|
const FilteredOptions = () => {
|
|
@@ -17,7 +18,7 @@ const FilteredOptions = () => {
|
|
|
17
18
|
const { inputProps: { id }, size, value, } = (0, inputContext_1.useInputContext)();
|
|
18
19
|
const { allowNewValues, isLoading, isListOpen, filteredOptions, setFilteredOptionsRef, isMouseLastUsedInputDevice, setIsMouseLastUsedInputDevice, isValueNew, toggleIsListOpen, activeDecendantId, virtualFocus, } = (0, filteredOptionsContext_1.useFilteredOptionsContext)();
|
|
19
20
|
const { isMultiSelect, selectedOptions, toggleOption, maxSelected } = (0, selectedOptionsContext_1.useSelectedOptionsContext)();
|
|
20
|
-
const isDisabled = (option) => (maxSelected === null || maxSelected === void 0 ? void 0 : maxSelected.isLimitReached) && !
|
|
21
|
+
const isDisabled = (option) => (maxSelected === null || maxSelected === void 0 ? void 0 : maxSelected.isLimitReached) && !(0, combobox_utils_1.isInList)(option.value, selectedOptions);
|
|
21
22
|
const shouldRenderNonSelectables = (maxSelected === null || maxSelected === void 0 ? void 0 : maxSelected.isLimitReached) || // Render maxSelected message
|
|
22
23
|
isLoading || // Render loading message
|
|
23
24
|
(!isLoading && filteredOptions.length === 0); // Render no hits message
|
|
@@ -40,8 +41,8 @@ const FilteredOptions = () => {
|
|
|
40
41
|
setIsMouseLastUsedInputDevice(true);
|
|
41
42
|
}
|
|
42
43
|
}, onPointerUp: (event) => {
|
|
43
|
-
toggleOption(value, event);
|
|
44
|
-
if (!isMultiSelect && !
|
|
44
|
+
toggleOption((0, combobox_utils_1.toComboboxOption)(value), event);
|
|
45
|
+
if (!isMultiSelect && !(0, combobox_utils_1.isInList)(value, selectedOptions))
|
|
45
46
|
toggleIsListOpen(false);
|
|
46
47
|
}, id: filtered_options_util_1.default.getAddNewOptionId(id), className: (0, clsx_1.default)("navds-combobox__list-item navds-combobox__list-item--new-option", {
|
|
47
48
|
"navds-combobox__list-item--new-option--focus": activeDecendantId ===
|
|
@@ -57,12 +58,12 @@ const FilteredOptions = () => {
|
|
|
57
58
|
"\u201D")))),
|
|
58
59
|
filteredOptions.map((option) => (react_1.default.createElement("li", { className: (0, clsx_1.default)("navds-combobox__list-item", {
|
|
59
60
|
"navds-combobox__list-item--focus": activeDecendantId ===
|
|
60
|
-
filtered_options_util_1.default.getOptionId(id, option),
|
|
61
|
-
"navds-combobox__list-item--selected":
|
|
62
|
-
}), "data-no-focus": isDisabled(option) || undefined, id: filtered_options_util_1.default.getOptionId(id, option), key: option, tabIndex: -1, onMouseMove: () => {
|
|
61
|
+
filtered_options_util_1.default.getOptionId(id, option.label),
|
|
62
|
+
"navds-combobox__list-item--selected": (0, combobox_utils_1.isInList)(option.value, selectedOptions),
|
|
63
|
+
}), "data-no-focus": isDisabled(option) || undefined, id: filtered_options_util_1.default.getOptionId(id, option.label), key: option.label, tabIndex: -1, onMouseMove: () => {
|
|
63
64
|
if (activeDecendantId !==
|
|
64
|
-
filtered_options_util_1.default.getOptionId(id, option)) {
|
|
65
|
-
virtualFocus.moveFocusToElement(filtered_options_util_1.default.getOptionId(id, option));
|
|
65
|
+
filtered_options_util_1.default.getOptionId(id, option.label)) {
|
|
66
|
+
virtualFocus.moveFocusToElement(filtered_options_util_1.default.getOptionId(id, option.label));
|
|
66
67
|
setIsMouseLastUsedInputDevice(true);
|
|
67
68
|
}
|
|
68
69
|
}, onPointerUp: (event) => {
|
|
@@ -70,12 +71,13 @@ const FilteredOptions = () => {
|
|
|
70
71
|
return;
|
|
71
72
|
}
|
|
72
73
|
toggleOption(option, event);
|
|
73
|
-
if (!isMultiSelect &&
|
|
74
|
+
if (!isMultiSelect &&
|
|
75
|
+
!(0, combobox_utils_1.isInList)(option.value, selectedOptions)) {
|
|
74
76
|
toggleIsListOpen(false);
|
|
75
77
|
}
|
|
76
|
-
}, role: "option", "aria-selected":
|
|
77
|
-
react_1.default.createElement(typography_1.BodyShort, { size: size }, option),
|
|
78
|
-
|
|
78
|
+
}, role: "option", "aria-selected": (0, combobox_utils_1.isInList)(option.value, selectedOptions), "aria-disabled": isDisabled(option) || undefined },
|
|
79
|
+
react_1.default.createElement(typography_1.BodyShort, { size: size }, option.label),
|
|
80
|
+
(0, combobox_utils_1.isInList)(option.value, selectedOptions) && react_1.default.createElement(aksel_icons_1.CheckmarkIcon, null))))))));
|
|
79
81
|
};
|
|
80
82
|
exports.default = FilteredOptions;
|
|
81
83
|
//# sourceMappingURL=FilteredOptions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilteredOptions.js","sourceRoot":"","sources":["../../../../src/form/combobox/FilteredOptions/FilteredOptions.tsx"],"names":[],"mappings":";;;;;AAAA,gDAAsB;AACtB,kDAA0B;AAC1B,qDAA8D;AAC9D,4CAAyC;AACzC,oDAAuD;AACvD,wDAAwD;AACxD,sFAAsF;AACtF,oFAA0D;AAC1D,qEAAqE;AAErE,MAAM,eAAe,GAAG,GAAG,EAAE;;IAC3B,MAAM,EACJ,UAAU,EAAE,EAAE,EAAE,EAAE,EAClB,IAAI,EACJ,KAAK,GACN,GAAG,IAAA,8BAAe,GAAE,CAAC;IACtB,MAAM,EACJ,cAAc,EACd,SAAS,EACT,UAAU,EACV,eAAe,EACf,qBAAqB,EACrB,0BAA0B,EAC1B,6BAA6B,EAC7B,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,GACb,GAAG,IAAA,kDAAyB,GAAE,CAAC;IAChC,MAAM,EAAE,aAAa,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,GACjE,IAAA,kDAAyB,GAAE,CAAC;IAE9B,MAAM,UAAU,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"FilteredOptions.js","sourceRoot":"","sources":["../../../../src/form/combobox/FilteredOptions/FilteredOptions.tsx"],"names":[],"mappings":";;;;;AAAA,gDAAsB;AACtB,kDAA0B;AAC1B,qDAA8D;AAC9D,4CAAyC;AACzC,oDAAuD;AACvD,wDAAwD;AACxD,sFAAsF;AACtF,sDAA+D;AAE/D,oFAA0D;AAC1D,qEAAqE;AAErE,MAAM,eAAe,GAAG,GAAG,EAAE;;IAC3B,MAAM,EACJ,UAAU,EAAE,EAAE,EAAE,EAAE,EAClB,IAAI,EACJ,KAAK,GACN,GAAG,IAAA,8BAAe,GAAE,CAAC;IACtB,MAAM,EACJ,cAAc,EACd,SAAS,EACT,UAAU,EACV,eAAe,EACf,qBAAqB,EACrB,0BAA0B,EAC1B,6BAA6B,EAC7B,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,GACb,GAAG,IAAA,kDAAyB,GAAE,CAAC;IAChC,MAAM,EAAE,aAAa,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,GACjE,IAAA,kDAAyB,GAAE,CAAC;IAE9B,MAAM,UAAU,GAAG,CAAC,MAAsB,EAAE,EAAE,CAC5C,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,cAAc,KAAI,CAAC,IAAA,yBAAQ,EAAC,MAAM,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IAE1E,MAAM,0BAA0B,GAC9B,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,cAAc,KAAI,6BAA6B;QAC5D,SAAS,IAAI,yBAAyB;QACtC,CAAC,CAAC,SAAS,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,yBAAyB;IAEzE,MAAM,+BAA+B,GACnC,CAAC,cAAc,IAAI,UAAU,IAAI,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,cAAc,CAAA,CAAC,IAAI,wBAAwB;QAC1F,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,0BAA0B;IAExD,OAAO,CACL,uCACE,SAAS,EAAE,IAAA,cAAE,EAAC,sBAAsB,EAAE;YACpC,8BAA8B,EAAE,CAAC,UAAU;YAC3C,kCAAkC,EAAE,0BAA0B;SAC/D,CAAC,EACF,EAAE,EAAE,+BAAmB,CAAC,oBAAoB,CAAC,EAAE,CAAC,EAChD,QAAQ,EAAE,CAAC,CAAC;QAEX,0BAA0B,IAAI,CAC7B,uCAAK,SAAS,EAAC,sCAAsC,EAAC,IAAI,EAAC,QAAQ;YAChE,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,cAAc,KAAI,CAC9B,uCACE,SAAS,EAAC,yCAAyC,EACnD,EAAE,EAAE,+BAAmB,CAAC,uBAAuB,CAAC,EAAE,CAAC,IAElD,MAAA,WAAW,CAAC,OAAO,mCAClB,GAAG,eAAe,CAAC,MAAM,OAAO,WAAW,CAAC,KAAK,YAAY,CAC3D,CACP;YACA,SAAS,IAAI,CACZ,uCACE,SAAS,EAAC,oCAAoC,EAC9C,EAAE,EAAE,+BAAmB,CAAC,cAAc,CAAC,EAAE,CAAC;gBAE1C,8BAAC,eAAM,IAAC,KAAK,EAAC,eAAU,GAAG,CACvB,CACP;YACA,CAAC,SAAS,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,IAAI,CAC7C,uCACE,SAAS,EAAC,uCAAuC,EACjD,EAAE,EAAE,+BAAmB,CAAC,WAAW,CAAC,EAAE,CAAC,2BAGnC,CACP,CACG,CACP;QAEA,+BAA+B,IAAI,CAClC,sCACE,GAAG,EAAE,qBAAqB,EAC1B,IAAI,EAAC,SAAS,EACd,SAAS,EAAC,8BAA8B;YAEvC,UAAU,IAAI,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,cAAc,CAAA,IAAI,cAAc,IAAI,CAC/D,sCACE,QAAQ,EAAE,CAAC,CAAC,EACZ,WAAW,EAAE,GAAG,EAAE;oBAChB,IACE,iBAAiB;wBACjB,+BAAmB,CAAC,iBAAiB,CAAC,EAAE,CAAC,EACzC,CAAC;wBACD,YAAY,CAAC,kBAAkB,CAC7B,+BAAmB,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAC1C,CAAC;wBACF,6BAA6B,CAAC,IAAI,CAAC,CAAC;oBACtC,CAAC;gBACH,CAAC,EACD,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE;oBACrB,YAAY,CAAC,IAAA,iCAAgB,EAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;oBAC7C,IAAI,CAAC,aAAa,IAAI,CAAC,IAAA,yBAAQ,EAAC,KAAK,EAAE,eAAe,CAAC;wBACrD,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBAC5B,CAAC,EACD,EAAE,EAAE,+BAAmB,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAC7C,SAAS,EAAE,IAAA,cAAE,EACX,iEAAiE,EACjE;oBACE,8CAA8C,EAC5C,iBAAiB;wBACjB,+BAAmB,CAAC,iBAAiB,CAAC,EAAE,CAAC;iBAC5C,CACF,EACD,IAAI,EAAC,QAAQ,mBACE,KAAK;gBAEpB,8BAAC,sBAAQ,0BAAe;gBACxB,8BAAC,sBAAS,IAAC,IAAI,EAAE,IAAI;;oBACV,GAAG;oBACZ,8BAAC,kBAAK,IAAC,EAAE,EAAC,MAAM,EAAC,IAAI,EAAE,IAAI;;wBACjB,KAAK;iCACP,CACE,CACT,CACN;YACA,eAAe,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAC/B,sCACE,SAAS,EAAE,IAAA,cAAE,EAAC,2BAA2B,EAAE;oBACzC,kCAAkC,EAChC,iBAAiB;wBACjB,+BAAmB,CAAC,WAAW,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC;oBACnD,qCAAqC,EAAE,IAAA,yBAAQ,EAC7C,MAAM,CAAC,KAAK,EACZ,eAAe,CAChB;iBACF,CAAC,mBACa,UAAU,CAAC,MAAM,CAAC,IAAI,SAAS,EAC9C,EAAE,EAAE,+BAAmB,CAAC,WAAW,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,EACrD,GAAG,EAAE,MAAM,CAAC,KAAK,EACjB,QAAQ,EAAE,CAAC,CAAC,EACZ,WAAW,EAAE,GAAG,EAAE;oBAChB,IACE,iBAAiB;wBACjB,+BAAmB,CAAC,WAAW,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,EACjD,CAAC;wBACD,YAAY,CAAC,kBAAkB,CAC7B,+BAAmB,CAAC,WAAW,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAClD,CAAC;wBACF,6BAA6B,CAAC,IAAI,CAAC,CAAC;oBACtC,CAAC;gBACH,CAAC,EACD,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE;oBACrB,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;wBACvB,OAAO;oBACT,CAAC;oBACD,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;oBAC5B,IACE,CAAC,aAAa;wBACd,CAAC,IAAA,yBAAQ,EAAC,MAAM,CAAC,KAAK,EAAE,eAAe,CAAC,EACxC,CAAC;wBACD,gBAAgB,CAAC,KAAK,CAAC,CAAC;oBAC1B,CAAC;gBACH,CAAC,EACD,IAAI,EAAC,QAAQ,mBACE,IAAA,yBAAQ,EAAC,MAAM,CAAC,KAAK,EAAE,eAAe,CAAC,mBACvC,UAAU,CAAC,MAAM,CAAC,IAAI,SAAS;gBAE9C,8BAAC,sBAAS,IAAC,IAAI,EAAE,IAAI,IAAG,MAAM,CAAC,KAAK,CAAa;gBAChD,IAAA,yBAAQ,EAAC,MAAM,CAAC,KAAK,EAAE,eAAe,CAAC,IAAI,8BAAC,2BAAa,OAAG,CAC1D,CACN,CAAC,CACC,CACN,CACG,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,eAAe,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
import { ComboboxOption } from "../types";
|
|
1
2
|
declare const _default: {
|
|
2
3
|
normalizeText: (text: string) => string;
|
|
3
|
-
isPartOfText: (value:
|
|
4
|
-
|
|
5
|
-
getMatchingValuesFromList: (value: any, list: any, alwaysIncluded: any) => any;
|
|
4
|
+
isPartOfText: (value: string, text: string) => boolean;
|
|
5
|
+
getMatchingValuesFromList: (value: string, list: ComboboxOption[]) => ComboboxOption[];
|
|
6
6
|
getFilteredOptionsId: (comboboxId: string) => string;
|
|
7
7
|
getAddNewOptionId: (comboboxId: string) => string;
|
|
8
8
|
getOptionId: (comboboxId: string, option: string) => string;
|
|
@@ -2,8 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const normalizeText = (text) => typeof text === "string" ? text.toLocaleLowerCase().trim() : "";
|
|
4
4
|
const isPartOfText = (value, text) => normalizeText(text).startsWith(normalizeText(value !== null && value !== void 0 ? value : ""));
|
|
5
|
-
const
|
|
6
|
-
const getMatchingValuesFromList = (value, list, alwaysIncluded) => list === null || list === void 0 ? void 0 : list.filter((listItem) => isPartOfText(value, listItem) || alwaysIncluded.includes(listItem));
|
|
5
|
+
const getMatchingValuesFromList = (value, list) => list.filter((listItem) => isPartOfText(value, listItem.label));
|
|
7
6
|
const getFilteredOptionsId = (comboboxId) => `${comboboxId}-filtered-options`;
|
|
8
7
|
const getOptionId = (comboboxId, option) => `${comboboxId.toLocaleLowerCase()}-option-${option
|
|
9
8
|
.replace(" ", "-")
|
|
@@ -15,7 +14,6 @@ const getMaxSelectedOptionsId = (comboboxId) => `${comboboxId}-max-selected-opti
|
|
|
15
14
|
exports.default = {
|
|
16
15
|
normalizeText,
|
|
17
16
|
isPartOfText,
|
|
18
|
-
isValueInList,
|
|
19
17
|
getMatchingValuesFromList,
|
|
20
18
|
getFilteredOptionsId,
|
|
21
19
|
getAddNewOptionId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filtered-options-util.js","sourceRoot":"","sources":["../../../../src/form/combobox/FilteredOptions/filtered-options-util.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"filtered-options-util.js","sourceRoot":"","sources":["../../../../src/form/combobox/FilteredOptions/filtered-options-util.ts"],"names":[],"mappings":";;AAEA,MAAM,aAAa,GAAG,CAAC,IAAY,EAAU,EAAE,CAC7C,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAElE,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,IAAY,EAAE,EAAE,CACnD,aAAa,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC,CAAC,CAAC;AAE7D,MAAM,yBAAyB,GAAG,CAAC,KAAa,EAAE,IAAsB,EAAE,EAAE,CAC1E,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AAEjE,MAAM,oBAAoB,GAAG,CAAC,UAAkB,EAAE,EAAE,CAClD,GAAG,UAAU,mBAAmB,CAAC;AAEnC,MAAM,WAAW,GAAG,CAAC,UAAkB,EAAE,MAAc,EAAE,EAAE,CACzD,GAAG,UAAU,CAAC,iBAAiB,EAAE,WAAW,MAAM;KAC/C,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;KACjB,iBAAiB,EAAE,EAAE,CAAC;AAE3B,MAAM,iBAAiB,GAAG,CAAC,UAAkB,EAAE,EAAE,CAC/C,GAAG,UAAU,sBAAsB,CAAC;AAEtC,MAAM,cAAc,GAAG,CAAC,UAAkB,EAAE,EAAE,CAAC,GAAG,UAAU,aAAa,CAAC;AAE1E,MAAM,WAAW,GAAG,CAAC,UAAkB,EAAE,EAAE,CAAC,GAAG,UAAU,UAAU,CAAC;AAEpE,MAAM,uBAAuB,GAAG,CAAC,UAAkB,EAAE,EAAE,CACrD,GAAG,UAAU,uBAAuB,CAAC;AAEvC,kBAAe;IACb,aAAa;IACb,YAAY;IACZ,yBAAyB;IACzB,oBAAoB;IACpB,iBAAiB;IACjB,WAAW;IACX,cAAc;IACd,WAAW;IACX,uBAAuB;CACxB,CAAC"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import React, { SetStateAction } from "react";
|
|
2
|
-
import { ComboboxProps } from "../types";
|
|
2
|
+
import { ComboboxOption, ComboboxProps } from "../types";
|
|
3
3
|
import { VirtualFocusType } from "./useVirtualFocus";
|
|
4
4
|
type FilteredOptionsProps = {
|
|
5
|
-
children:
|
|
6
|
-
value: Pick<ComboboxProps, "allowNewValues" | "
|
|
5
|
+
children: React.ReactNode;
|
|
6
|
+
value: Pick<ComboboxProps, "allowNewValues" | "isListOpen" | "isLoading"> & {
|
|
7
|
+
filteredOptions?: ComboboxOption[];
|
|
8
|
+
options: ComboboxOption[];
|
|
9
|
+
};
|
|
7
10
|
};
|
|
8
11
|
type FilteredOptionsContextType = {
|
|
9
12
|
activeDecendantId?: string;
|
|
@@ -12,12 +15,12 @@ type FilteredOptionsContextType = {
|
|
|
12
15
|
setFilteredOptionsRef: React.Dispatch<React.SetStateAction<HTMLUListElement | null>>;
|
|
13
16
|
isListOpen: boolean;
|
|
14
17
|
isLoading?: boolean;
|
|
15
|
-
filteredOptions:
|
|
18
|
+
filteredOptions: ComboboxOption[];
|
|
16
19
|
isMouseLastUsedInputDevice: boolean;
|
|
17
20
|
setIsMouseLastUsedInputDevice: React.Dispatch<SetStateAction<boolean>>;
|
|
18
21
|
isValueNew: boolean;
|
|
19
22
|
toggleIsListOpen: (newState?: boolean) => void;
|
|
20
|
-
currentOption?:
|
|
23
|
+
currentOption?: ComboboxOption;
|
|
21
24
|
shouldAutocomplete?: boolean;
|
|
22
25
|
virtualFocus: VirtualFocusType;
|
|
23
26
|
};
|
|
@@ -32,6 +32,7 @@ const react_1 = __importStar(require("react"));
|
|
|
32
32
|
const hooks_1 = require("../../../util/hooks");
|
|
33
33
|
const inputContext_1 = require("../Input/inputContext");
|
|
34
34
|
const selectedOptionsContext_1 = require("../SelectedOptions/selectedOptionsContext");
|
|
35
|
+
const combobox_utils_1 = require("../combobox-utils");
|
|
35
36
|
const customOptionsContext_1 = require("../customOptionsContext");
|
|
36
37
|
const filtered_options_util_1 = __importDefault(require("./filtered-options-util"));
|
|
37
38
|
const useVirtualFocus_1 = __importDefault(require("./useVirtualFocus"));
|
|
@@ -41,7 +42,7 @@ const FilteredOptionsProvider = ({ children, value: props, }) => {
|
|
|
41
42
|
const [filteredOptionsRef, setFilteredOptionsRef] = (0, react_1.useState)(null);
|
|
42
43
|
const virtualFocus = (0, useVirtualFocus_1.default)(filteredOptionsRef);
|
|
43
44
|
const { inputProps: { "aria-describedby": partialAriaDescribedBy, id }, value, searchTerm, setValue, setSearchTerm, shouldAutocomplete, } = (0, inputContext_1.useInputContext)();
|
|
44
|
-
const {
|
|
45
|
+
const { maxSelected } = (0, selectedOptionsContext_1.useSelectedOptionsContext)();
|
|
45
46
|
const [isInternalListOpen, setInternalListOpen] = (0, react_1.useState)(false);
|
|
46
47
|
const { customOptions } = (0, customOptionsContext_1.useCustomOptionsContext)();
|
|
47
48
|
const filteredOptions = (0, react_1.useMemo)(() => {
|
|
@@ -49,19 +50,13 @@ const FilteredOptionsProvider = ({ children, value: props, }) => {
|
|
|
49
50
|
return externalFilteredOptions;
|
|
50
51
|
}
|
|
51
52
|
const opts = [...customOptions, ...options];
|
|
52
|
-
return filtered_options_util_1.default.getMatchingValuesFromList(searchTerm, opts
|
|
53
|
-
}, [
|
|
54
|
-
customOptions,
|
|
55
|
-
externalFilteredOptions,
|
|
56
|
-
options,
|
|
57
|
-
searchTerm,
|
|
58
|
-
selectedOptions,
|
|
59
|
-
]);
|
|
53
|
+
return filtered_options_util_1.default.getMatchingValuesFromList(searchTerm, opts);
|
|
54
|
+
}, [customOptions, externalFilteredOptions, options, searchTerm]);
|
|
60
55
|
const previousSearchTerm = (0, hooks_1.usePrevious)(searchTerm);
|
|
61
56
|
const [isMouseLastUsedInputDevice, setIsMouseLastUsedInputDevice] = (0, react_1.useState)(false);
|
|
62
|
-
const filteredOptionsMap = (0, react_1.useMemo)(() => options.reduce((map, _option) => (Object.assign(Object.assign({}, map), { [filtered_options_util_1.default.getOptionId(id, _option)]: _option })), {
|
|
57
|
+
const filteredOptionsMap = (0, react_1.useMemo)(() => options.reduce((map, _option) => (Object.assign(Object.assign({}, map), { [filtered_options_util_1.default.getOptionId(id, _option.label)]: _option })), {
|
|
63
58
|
[filtered_options_util_1.default.getAddNewOptionId(id)]: allowNewValues
|
|
64
|
-
? value
|
|
59
|
+
? (0, combobox_utils_1.toComboboxOption)(value)
|
|
65
60
|
: undefined,
|
|
66
61
|
}), [allowNewValues, id, options, value]);
|
|
67
62
|
(0, hooks_1.useClientLayoutEffect)(() => {
|
|
@@ -69,7 +64,7 @@ const FilteredOptionsProvider = ({ children, value: props, }) => {
|
|
|
69
64
|
filtered_options_util_1.default.normalizeText(searchTerm) !== "" &&
|
|
70
65
|
((previousSearchTerm === null || previousSearchTerm === void 0 ? void 0 : previousSearchTerm.length) || 0) < searchTerm.length &&
|
|
71
66
|
filteredOptions.length > 0) {
|
|
72
|
-
setValue(`${searchTerm}${filteredOptions[0].substring(searchTerm.length)}`);
|
|
67
|
+
setValue(`${searchTerm}${filteredOptions[0].label.substring(searchTerm.length)}`);
|
|
73
68
|
setSearchTerm(searchTerm);
|
|
74
69
|
}
|
|
75
70
|
}, [
|
|
@@ -96,7 +91,7 @@ const FilteredOptionsProvider = ({ children, value: props, }) => {
|
|
|
96
91
|
}
|
|
97
92
|
else if ((value && value !== "") || isLoading) {
|
|
98
93
|
if (shouldAutocomplete && filteredOptions[0]) {
|
|
99
|
-
activeOption = filtered_options_util_1.default.getOptionId(id, filteredOptions[0]);
|
|
94
|
+
activeOption = filtered_options_util_1.default.getOptionId(id, filteredOptions[0].label);
|
|
100
95
|
}
|
|
101
96
|
else if (isListOpen && isLoading) {
|
|
102
97
|
activeOption = filtered_options_util_1.default.getIsLoadingId(id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filteredOptionsContext.js","sourceRoot":"","sources":["../../../../src/form/combobox/FilteredOptions/filteredOptionsContext.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAsB;AACtB,+CAOe;AACf,+CAAyE;AACzE,wDAAwD;AACxD,sFAAsF;AACtF,kEAAkE;AAElE,oFAA2D;AAC3D,wEAAsE;
|
|
1
|
+
{"version":3,"file":"filteredOptionsContext.js","sourceRoot":"","sources":["../../../../src/form/combobox/FilteredOptions/filteredOptionsContext.tsx"],"names":[],"mappings":"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"}
|
|
@@ -50,14 +50,12 @@ const Input = (0, react_1.forwardRef)((_a, ref) => {
|
|
|
50
50
|
const { selectedOptions, removeSelectedOption, toggleOption, isMultiSelect, } = (0, selectedOptionsContext_1.useSelectedOptionsContext)();
|
|
51
51
|
const { activeDecendantId, allowNewValues, currentOption, filteredOptions, isValueNew, toggleIsListOpen, isListOpen, ariaDescribedBy, setIsMouseLastUsedInputDevice, shouldAutocomplete, virtualFocus, } = (0, filteredOptionsContext_1.useFilteredOptionsContext)();
|
|
52
52
|
const onEnter = (0, react_1.useCallback)((event) => {
|
|
53
|
-
const isTextInSelectedOptions = (text) =>
|
|
54
|
-
return selectedOptions.find((item) => item.toLocaleLowerCase() === text.toLocaleLowerCase());
|
|
55
|
-
};
|
|
53
|
+
const isTextInSelectedOptions = (text) => selectedOptions.some((option) => option.label.toLocaleLowerCase() === text.toLocaleLowerCase());
|
|
56
54
|
if (currentOption) {
|
|
57
55
|
event.preventDefault();
|
|
58
56
|
// Selecting a value from the dropdown / FilteredOptions
|
|
59
57
|
toggleOption(currentOption, event);
|
|
60
|
-
if (!isMultiSelect && !isTextInSelectedOptions(currentOption)) {
|
|
58
|
+
if (!isMultiSelect && !isTextInSelectedOptions(currentOption.label)) {
|
|
61
59
|
toggleIsListOpen(false);
|
|
62
60
|
}
|
|
63
61
|
}
|
|
@@ -69,10 +67,12 @@ const Input = (0, react_1.forwardRef)((_a, ref) => {
|
|
|
69
67
|
else if ((allowNewValues || shouldAutocomplete) && value !== "") {
|
|
70
68
|
event.preventDefault();
|
|
71
69
|
// Autocompleting or adding a new value
|
|
72
|
-
const selectedValue = allowNewValues && isValueNew
|
|
70
|
+
const selectedValue = allowNewValues && isValueNew
|
|
71
|
+
? { label: value, value }
|
|
72
|
+
: filteredOptions[0];
|
|
73
73
|
toggleOption(selectedValue, event);
|
|
74
74
|
if (!isMultiSelect &&
|
|
75
|
-
!isTextInSelectedOptions(filteredOptions[0] || selectedValue)) {
|
|
75
|
+
!isTextInSelectedOptions(filteredOptions[0].label || selectedValue.label)) {
|
|
76
76
|
toggleIsListOpen(false);
|
|
77
77
|
}
|
|
78
78
|
}
|
|
@@ -117,7 +117,9 @@ const Input = (0, react_1.forwardRef)((_a, ref) => {
|
|
|
117
117
|
if (e.key === "Backspace") {
|
|
118
118
|
if (value === "") {
|
|
119
119
|
const lastSelectedOption = selectedOptions[selectedOptions.length - 1];
|
|
120
|
-
|
|
120
|
+
if (lastSelectedOption) {
|
|
121
|
+
removeSelectedOption(lastSelectedOption);
|
|
122
|
+
}
|
|
121
123
|
}
|
|
122
124
|
}
|
|
123
125
|
else if (e.key === "ArrowDown") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.js","sourceRoot":"","sources":["../../../../src/form/combobox/Input/Input.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAsB;AACtB,+CAKe;AACf,wCAAqC;AACrC,qGAA2E;AAC3E,sFAAsF;AACtF,sFAAsF;AACtF,iDAAiD;AASjD,MAAM,KAAK,GAAG,IAAA,kBAAU,EACtB,CAAC,EAA2B,EAAE,GAAG,EAAE,EAAE;QAApC,EAAE,cAAc,OAAW,EAAN,IAAI,cAAzB,kBAA2B,CAAF;IACxB,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAA,8BAAe,GAAE,CAAC;IAC5E,MAAM,EACJ,eAAe,EACf,oBAAoB,EACpB,YAAY,EACZ,aAAa,GACd,GAAG,IAAA,kDAAyB,GAAE,CAAC;IAChC,MAAM,EACJ,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,eAAe,EACf,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,6BAA6B,EAC7B,kBAAkB,EAClB,YAAY,GACb,GAAG,IAAA,kDAAyB,GAAE,CAAC;IAEhC,MAAM,OAAO,GAAG,IAAA,mBAAW,EACzB,CAAC,KAA0B,EAAE,EAAE;QAC7B,MAAM,uBAAuB,GAAG,CAAC,IAAY,EAAE,EAAE
|
|
1
|
+
{"version":3,"file":"Input.js","sourceRoot":"","sources":["../../../../src/form/combobox/Input/Input.tsx"],"names":[],"mappings":"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"}
|
|
@@ -16,14 +16,14 @@ const Option = ({ option }) => {
|
|
|
16
16
|
focusInput();
|
|
17
17
|
};
|
|
18
18
|
if (!isMultiSelect) {
|
|
19
|
-
return (react_1.default.createElement("div", { className: "navds-combobox__selected-options--no-bg" }, option));
|
|
19
|
+
return (react_1.default.createElement("div", { className: "navds-combobox__selected-options--no-bg" }, option.label));
|
|
20
20
|
}
|
|
21
|
-
return react_1.default.createElement(chips_1.Chips.Removable, { onClick: onClick }, option);
|
|
21
|
+
return react_1.default.createElement(chips_1.Chips.Removable, { onClick: onClick }, option.label);
|
|
22
22
|
};
|
|
23
23
|
const SelectedOptions = ({ selectedOptions = [], size, children, }) => {
|
|
24
24
|
return (react_1.default.createElement(chips_1.Chips, { className: "navds-combobox__selected-options", size: size },
|
|
25
25
|
selectedOptions.length
|
|
26
|
-
? selectedOptions.map((option, i) => (react_1.default.createElement(Option, { key: option + i, option: option })))
|
|
26
|
+
? selectedOptions.map((option, i) => (react_1.default.createElement(Option, { key: option.label + i, option: option })))
|
|
27
27
|
: [],
|
|
28
28
|
children));
|
|
29
29
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectedOptions.js","sourceRoot":"","sources":["../../../../src/form/combobox/SelectedOptions/SelectedOptions.tsx"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAC1B,0CAAuC;AACvC,wDAAwD;
|
|
1
|
+
{"version":3,"file":"SelectedOptions.js","sourceRoot":"","sources":["../../../../src/form/combobox/SelectedOptions/SelectedOptions.tsx"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAC1B,0CAAuC;AACvC,wDAAwD;AAExD,qEAAqE;AAQrE,MAAM,MAAM,GAAG,CAAC,EAAE,MAAM,EAA8B,EAAE,EAAE;IACxD,MAAM,EAAE,aAAa,EAAE,oBAAoB,EAAE,GAAG,IAAA,kDAAyB,GAAE,CAAC;IAC5E,MAAM,EAAE,UAAU,EAAE,GAAG,IAAA,8BAAe,GAAE,CAAC;IAEzC,MAAM,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE;QACpB,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAC7B,UAAU,EAAE,CAAC;IACf,CAAC,CAAC;IAEF,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,CACL,uCAAK,SAAS,EAAC,yCAAyC,IACrD,MAAM,CAAC,KAAK,CACT,CACP,CAAC;IACJ,CAAC;IAED,OAAO,8BAAC,aAAK,CAAC,SAAS,IAAC,OAAO,EAAE,OAAO,IAAG,MAAM,CAAC,KAAK,CAAmB,CAAC;AAC7E,CAAC,CAAC;AAEF,MAAM,eAAe,GAAmC,CAAC,EACvD,eAAe,GAAG,EAAE,EACpB,IAAI,EACJ,QAAQ,GACT,EAAE,EAAE;IACH,OAAO,CACL,8BAAC,aAAK,IAAC,SAAS,EAAC,kCAAkC,EAAC,IAAI,EAAE,IAAI;QAC3D,eAAe,CAAC,MAAM;YACrB,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CACjC,8BAAC,MAAM,IAAC,GAAG,EAAE,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,GAAI,CAClD,CAAC;YACJ,CAAC,CAAC,EAAE;QACL,QAAQ,CACH,CACT,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,eAAe,CAAC"}
|
|
@@ -1,20 +1,23 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { ComboboxProps, MaxSelected } from "../types";
|
|
2
|
+
import { ComboboxOption, ComboboxProps, MaxSelected } from "../types";
|
|
3
3
|
type SelectedOptionsContextType = {
|
|
4
|
-
addSelectedOption: (option:
|
|
4
|
+
addSelectedOption: (option: ComboboxOption) => void;
|
|
5
5
|
isMultiSelect?: boolean;
|
|
6
|
-
removeSelectedOption: (option:
|
|
7
|
-
prevSelectedOptions?:
|
|
8
|
-
selectedOptions:
|
|
6
|
+
removeSelectedOption: (option: ComboboxOption) => void;
|
|
7
|
+
prevSelectedOptions?: ComboboxOption[];
|
|
8
|
+
selectedOptions: ComboboxOption[];
|
|
9
9
|
maxSelected?: MaxSelected & {
|
|
10
10
|
isLimitReached: boolean;
|
|
11
11
|
};
|
|
12
12
|
setSelectedOptions: (any: any) => void;
|
|
13
|
-
toggleOption: (option:
|
|
13
|
+
toggleOption: (option: ComboboxOption, event: React.KeyboardEvent | React.PointerEvent) => void;
|
|
14
14
|
};
|
|
15
15
|
export declare const SelectedOptionsProvider: ({ children, value, }: {
|
|
16
16
|
children: any;
|
|
17
|
-
value: Pick<ComboboxProps, "allowNewValues" | "isMultiSelect" | "
|
|
17
|
+
value: Pick<ComboboxProps, "allowNewValues" | "isMultiSelect" | "onToggleSelected" | "maxSelected"> & {
|
|
18
|
+
options: ComboboxOption[];
|
|
19
|
+
selectedOptions?: ComboboxOption[];
|
|
20
|
+
};
|
|
18
21
|
}) => React.JSX.Element;
|
|
19
22
|
export declare const useSelectedOptionsContext: () => SelectedOptionsContextType;
|
|
20
23
|
export {};
|
|
@@ -27,6 +27,7 @@ exports.useSelectedOptionsContext = exports.SelectedOptionsProvider = void 0;
|
|
|
27
27
|
const react_1 = __importStar(require("react"));
|
|
28
28
|
const hooks_1 = require("../../../util/hooks");
|
|
29
29
|
const inputContext_1 = require("../Input/inputContext");
|
|
30
|
+
const combobox_utils_1 = require("../combobox-utils");
|
|
30
31
|
const customOptionsContext_1 = require("../customOptionsContext");
|
|
31
32
|
const SelectedOptionsContext = (0, react_1.createContext)({});
|
|
32
33
|
const SelectedOptionsProvider = ({ children, value, }) => {
|
|
@@ -36,10 +37,7 @@ const SelectedOptionsProvider = ({ children, value, }) => {
|
|
|
36
37
|
const [internalSelectedOptions, setSelectedOptions] = (0, react_1.useState)([]);
|
|
37
38
|
const selectedOptions = (0, react_1.useMemo)(() => externalSelectedOptions !== null && externalSelectedOptions !== void 0 ? externalSelectedOptions : [...customOptions, ...internalSelectedOptions], [customOptions, externalSelectedOptions, internalSelectedOptions]);
|
|
38
39
|
const addSelectedOption = (0, react_1.useCallback)((option) => {
|
|
39
|
-
|
|
40
|
-
const isCustomOption = !options
|
|
41
|
-
.map((opt) => opt.toLowerCase())
|
|
42
|
-
.includes((_a = option === null || option === void 0 ? void 0 : option.toLowerCase) === null || _a === void 0 ? void 0 : _a.call(option));
|
|
40
|
+
const isCustomOption = !(0, combobox_utils_1.isInList)(option, options);
|
|
43
41
|
if (isCustomOption) {
|
|
44
42
|
allowNewValues && addCustomOption(option);
|
|
45
43
|
!isMultiSelect && setSelectedOptions([]);
|
|
@@ -54,7 +52,7 @@ const SelectedOptionsProvider = ({ children, value, }) => {
|
|
|
54
52
|
setSelectedOptions([option]);
|
|
55
53
|
setCustomOptions([]);
|
|
56
54
|
}
|
|
57
|
-
onToggleSelected === null || onToggleSelected === void 0 ? void 0 : onToggleSelected(option, true, isCustomOption);
|
|
55
|
+
onToggleSelected === null || onToggleSelected === void 0 ? void 0 : onToggleSelected(option.value, true, isCustomOption);
|
|
58
56
|
}, [
|
|
59
57
|
addCustomOption,
|
|
60
58
|
allowNewValues,
|
|
@@ -64,17 +62,17 @@ const SelectedOptionsProvider = ({ children, value, }) => {
|
|
|
64
62
|
setCustomOptions,
|
|
65
63
|
]);
|
|
66
64
|
const removeSelectedOption = (0, react_1.useCallback)((option) => {
|
|
67
|
-
const isCustomOption =
|
|
65
|
+
const isCustomOption = (0, combobox_utils_1.isInList)(option, customOptions);
|
|
68
66
|
if (isCustomOption) {
|
|
69
67
|
removeCustomOption(option);
|
|
70
68
|
}
|
|
71
69
|
else {
|
|
72
70
|
setSelectedOptions((oldSelectedOptions) => oldSelectedOptions.filter((selectedOption) => selectedOption !== option));
|
|
73
71
|
}
|
|
74
|
-
onToggleSelected === null || onToggleSelected === void 0 ? void 0 : onToggleSelected(option, false, isCustomOption);
|
|
72
|
+
onToggleSelected === null || onToggleSelected === void 0 ? void 0 : onToggleSelected(option.value, false, isCustomOption);
|
|
75
73
|
}, [customOptions, onToggleSelected, removeCustomOption]);
|
|
76
74
|
const toggleOption = (0, react_1.useCallback)((option, event) => {
|
|
77
|
-
if (
|
|
75
|
+
if ((0, combobox_utils_1.isInList)(option.value, selectedOptions)) {
|
|
78
76
|
removeSelectedOption(option);
|
|
79
77
|
}
|
|
80
78
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectedOptionsContext.js","sourceRoot":"","sources":["../../../../src/form/combobox/SelectedOptions/selectedOptionsContext.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAMe;AACf,+CAAkD;AAClD,wDAAwD;AACxD,kEAAkE;AAiBlE,MAAM,sBAAsB,GAAG,IAAA,qBAAa,EAC1C,EAAgC,CACjC,CAAC;AAEK,MAAM,uBAAuB,GAAG,CAAC,EACtC,QAAQ,EACR,KAAK,
|
|
1
|
+
{"version":3,"file":"selectedOptionsContext.js","sourceRoot":"","sources":["../../../../src/form/combobox/SelectedOptions/selectedOptionsContext.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ComboboxOption } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
* @param option ComboboxOption will be compared by both label and value, while a string option is checked if it matches either the label or value in the list.
|
|
5
|
+
* @param list
|
|
6
|
+
*/
|
|
7
|
+
declare const isInList: (option: ComboboxOption | string, list: ComboboxOption[]) => boolean;
|
|
8
|
+
declare const toComboboxOption: (value: string) => ComboboxOption;
|
|
9
|
+
declare const mapToComboboxOptionArray: (options?: string[] | ComboboxOption[]) => ComboboxOption[] | undefined;
|
|
10
|
+
export { isInList, mapToComboboxOptionArray, toComboboxOption };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.toComboboxOption = exports.mapToComboboxOptionArray = exports.isInList = void 0;
|
|
4
|
+
/**
|
|
5
|
+
*
|
|
6
|
+
* @param option ComboboxOption will be compared by both label and value, while a string option is checked if it matches either the label or value in the list.
|
|
7
|
+
* @param list
|
|
8
|
+
*/
|
|
9
|
+
const isInList = (option, list) => {
|
|
10
|
+
if (typeof option === "string") {
|
|
11
|
+
return list.some((listItem) => listItem.label === option || listItem.value === option);
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
return list.some((listItem) => listItem.label === option.label && listItem.value === option.value);
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
exports.isInList = isInList;
|
|
18
|
+
const toComboboxOption = (value) => ({
|
|
19
|
+
label: value,
|
|
20
|
+
value,
|
|
21
|
+
});
|
|
22
|
+
exports.toComboboxOption = toComboboxOption;
|
|
23
|
+
const mapToComboboxOptionArray = (options) => {
|
|
24
|
+
return options === null || options === void 0 ? void 0 : options.map((option) => typeof option === "string" ? toComboboxOption(option) : option);
|
|
25
|
+
};
|
|
26
|
+
exports.mapToComboboxOptionArray = mapToComboboxOptionArray;
|
|
27
|
+
//# sourceMappingURL=combobox-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"combobox-utils.js","sourceRoot":"","sources":["../../../src/form/combobox/combobox-utils.ts"],"names":[],"mappings":";;;AAEA;;;;GAIG;AACH,MAAM,QAAQ,GAAG,CAAC,MAA+B,EAAE,IAAsB,EAAE,EAAE;IAC3E,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,IAAI,CACd,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,KAAK,MAAM,IAAI,QAAQ,CAAC,KAAK,KAAK,MAAM,CACrE,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,CAAC,IAAI,CACd,CAAC,QAAQ,EAAE,EAAE,CACX,QAAQ,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,CACrE,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAaO,4BAAQ;AAXjB,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAkB,EAAE,CAAC,CAAC;IAC3D,KAAK,EAAE,KAAK;IACZ,KAAK;CACN,CAAC,CAAC;AAQ0C,4CAAgB;AAN7D,MAAM,wBAAwB,GAAG,CAAC,OAAqC,EAAE,EAAE;IACzE,OAAO,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,CAAC,CAAC,MAA+B,EAAE,EAAE,CACtD,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAC/D,CAAC;AACJ,CAAC,CAAC;AAEiB,4DAAwB"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
+
import { ComboboxOption } from "./types";
|
|
2
3
|
type CustomOptionsContextType = {
|
|
3
|
-
customOptions:
|
|
4
|
-
removeCustomOption: (option:
|
|
5
|
-
addCustomOption: (option:
|
|
6
|
-
setCustomOptions: React.Dispatch<React.SetStateAction<
|
|
4
|
+
customOptions: ComboboxOption[];
|
|
5
|
+
removeCustomOption: (option: ComboboxOption) => void;
|
|
6
|
+
addCustomOption: (option: ComboboxOption) => void;
|
|
7
|
+
setCustomOptions: React.Dispatch<React.SetStateAction<ComboboxOption[]>>;
|
|
7
8
|
};
|
|
8
9
|
export declare const CustomOptionsProvider: ({ children, value, }: {
|
|
9
10
|
children: any;
|
|
@@ -32,7 +32,7 @@ const CustomOptionsProvider = ({ children, value, }) => {
|
|
|
32
32
|
const { focusInput } = (0, inputContext_1.useInputContext)();
|
|
33
33
|
const { isMultiSelect } = value;
|
|
34
34
|
const removeCustomOption = (0, react_1.useCallback)((option) => {
|
|
35
|
-
setCustomOptions((prevCustomOptions) => prevCustomOptions.filter((o) => o !== option));
|
|
35
|
+
setCustomOptions((prevCustomOptions) => prevCustomOptions.filter((o) => o.label !== option.label));
|
|
36
36
|
focusInput();
|
|
37
37
|
}, [focusInput, setCustomOptions]);
|
|
38
38
|
const addCustomOption = (0, react_1.useCallback)((option) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customOptionsContext.js","sourceRoot":"","sources":["../../../src/form/combobox/customOptionsContext.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAgF;AAChF,uDAAuD;
|
|
1
|
+
{"version":3,"file":"customOptionsContext.js","sourceRoot":"","sources":["../../../src/form/combobox/customOptionsContext.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAgF;AAChF,uDAAuD;AAUvD,MAAM,oBAAoB,GAAG,IAAA,qBAAa,EACxC,EAA8B,CAC/B,CAAC;AAEK,MAAM,qBAAqB,GAAG,CAAC,EACpC,QAAQ,EACR,KAAK,GAIN,EAAE,EAAE;IACH,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,IAAA,gBAAQ,EAAmB,EAAE,CAAC,CAAC;IACzE,MAAM,EAAE,UAAU,EAAE,GAAG,IAAA,8BAAe,GAAE,CAAC;IACzC,MAAM,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC;IAEhC,MAAM,kBAAkB,GAAG,IAAA,mBAAW,EACpC,CAAC,MAAsB,EAAE,EAAE;QACzB,gBAAgB,CAAC,CAAC,iBAAiB,EAAE,EAAE,CACrC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC,CAC1D,CAAC;QACF,UAAU,EAAE,CAAC;IACf,CAAC,EACD,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAC/B,CAAC;IAEF,MAAM,eAAe,GAAG,IAAA,mBAAW,EACjC,CAAC,MAAsB,EAAE,EAAE;QACzB,IAAI,aAAa,EAAE,CAAC;YAClB,gBAAgB,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,GAAG,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;QAC9D,CAAC;aAAM,CAAC;YACN,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7B,CAAC;QACD,UAAU,EAAE,CAAC;IACf,CAAC,EACD,CAAC,UAAU,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAC9C,CAAC;IAEF,MAAM,kBAAkB,GAAG;QACzB,aAAa;QACb,kBAAkB;QAClB,eAAe;QACf,gBAAgB;KACjB,CAAC;IAEF,OAAO,CACL,8BAAC,oBAAoB,CAAC,QAAQ,IAAC,KAAK,EAAE,kBAAkB,IACrD,QAAQ,CACqB,CACjC,CAAC;AACJ,CAAC,CAAC;AA7CW,QAAA,qBAAqB,yBA6ChC;AAEK,MAAM,uBAAuB,GAAG,GAAG,EAAE;IAC1C,MAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,oBAAoB,CAAC,CAAC;IACjD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,qEAAqE,CACtE,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AARW,QAAA,uBAAuB,2BAQlC"}
|