@helsenorge/designsystem-react 14.7.0 → 14.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/lib/CHANGELOG.md +17 -0
  2. package/lib/Chip.js +60 -0
  3. package/lib/Chip.js.map +1 -0
  4. package/lib/DrawerNavigation.js +81 -0
  5. package/lib/DrawerNavigation.js.map +1 -0
  6. package/lib/DrawerNavigation2.js +5 -0
  7. package/lib/DrawerNavigation2.js.map +1 -0
  8. package/lib/Filter.js +44 -0
  9. package/lib/Filter.js.map +1 -0
  10. package/lib/FilterButton.js +40 -0
  11. package/lib/FilterButton.js.map +1 -0
  12. package/lib/FilterButtonAndChipsWrapper.js +14 -0
  13. package/lib/FilterButtonAndChipsWrapper.js.map +1 -0
  14. package/lib/FilterDrawer.js +91 -0
  15. package/lib/FilterDrawer.js.map +1 -0
  16. package/lib/FilterLinkList.js +61 -0
  17. package/lib/FilterLinkList.js.map +1 -0
  18. package/lib/FilterLinkList2.js +5 -0
  19. package/lib/FilterLinkList2.js.map +1 -0
  20. package/lib/FilterOverviewLinkList.js +22 -0
  21. package/lib/FilterOverviewLinkList.js.map +1 -0
  22. package/lib/FilterOverviewSearch.js +16 -0
  23. package/lib/FilterOverviewSearch.js.map +1 -0
  24. package/lib/FilterResultCountAndSortWrapper.js +19 -0
  25. package/lib/FilterResultCountAndSortWrapper.js.map +1 -0
  26. package/lib/FilterSearch.js +87 -0
  27. package/lib/FilterSearch.js.map +1 -0
  28. package/lib/FilterSearch2.js +5 -0
  29. package/lib/FilterSearch2.js.map +1 -0
  30. package/lib/FilterSort.js +30 -0
  31. package/lib/FilterSort.js.map +1 -0
  32. package/lib/FilterStateWrapper.js +13 -0
  33. package/lib/FilterStateWrapper.js.map +1 -0
  34. package/lib/FormGroup.js +1 -1
  35. package/lib/Search.js +26 -0
  36. package/lib/Search.js.map +1 -0
  37. package/lib/components/Chip/index.js +1 -59
  38. package/lib/components/Filter/DrawerNavigation/index.js +2 -80
  39. package/lib/components/Filter/FilterButton/index.d.ts +3 -0
  40. package/lib/components/Filter/FilterButton/index.js +2 -0
  41. package/lib/components/Filter/FilterButtonAndChipsWrapper/index.d.ts +3 -0
  42. package/lib/components/Filter/FilterButtonAndChipsWrapper/index.js +2 -0
  43. package/lib/components/Filter/FilterDrawer/index.d.ts +3 -0
  44. package/lib/components/Filter/FilterDrawer/index.js +2 -0
  45. package/lib/components/Filter/FilterLinkList/index.d.ts +3 -0
  46. package/lib/components/Filter/FilterLinkList/index.js +3 -0
  47. package/lib/components/Filter/FilterOverviewLinkList/index.d.ts +3 -0
  48. package/lib/components/Filter/FilterOverviewLinkList/index.js +2 -0
  49. package/lib/components/Filter/FilterOverviewSearch/index.d.ts +3 -0
  50. package/lib/components/Filter/FilterOverviewSearch/index.js +2 -0
  51. package/lib/components/Filter/FilterResultCountAndSortWrapper/index.d.ts +3 -0
  52. package/lib/components/Filter/FilterResultCountAndSortWrapper/index.js +2 -0
  53. package/lib/components/Filter/FilterSearch/index.d.ts +3 -0
  54. package/lib/components/Filter/FilterSearch/index.js +2 -0
  55. package/lib/components/Filter/FilterSort/index.d.ts +3 -0
  56. package/lib/components/Filter/FilterSort/index.js +2 -0
  57. package/lib/components/Filter/FilterSort/styles.module.scss +4 -0
  58. package/lib/components/Filter/FilterStateWrapper/FilterStateWrapper.d.ts +9 -0
  59. package/lib/components/Filter/FilterStateWrapper/index.d.ts +3 -0
  60. package/lib/components/Filter/FilterStateWrapper/index.js +2 -0
  61. package/lib/components/Filter/FilterStateWrapper/styles.module.scss +7 -0
  62. package/lib/components/Filter/FilterStateWrapper/styles.module.scss.d.ts +9 -0
  63. package/lib/components/Filter/getFilterChips/index.d.ts +3 -0
  64. package/lib/components/Filter/getFilterChips/index.js +2 -0
  65. package/lib/components/Filter/index.d.ts +25 -0
  66. package/lib/components/Filter/index.js +31 -2
  67. package/lib/components/Filter/index.js.map +1 -1
  68. package/lib/components/Icons/Filter.js +1 -43
  69. package/lib/components/Icons/Search.js +1 -25
  70. package/lib/getFilterChips.js +30 -0
  71. package/lib/getFilterChips.js.map +1 -0
  72. package/lib/resourceHelper.js +31 -0
  73. package/lib/resourceHelper.js.map +1 -0
  74. package/lib/resources/HN.Designsystem.Filter.en-GB.json.d.ts +13 -0
  75. package/lib/resources/HN.Designsystem.Filter.nb-NO.json.d.ts +13 -0
  76. package/package.json +1 -1
  77. package/lib/components/Chip/index.js.map +0 -1
  78. package/lib/components/Filter/DrawerNavigation/index.js.map +0 -1
  79. package/lib/components/Icons/Filter.js.map +0 -1
  80. package/lib/components/Icons/Search.js.map +0 -1
@@ -0,0 +1,87 @@
1
+ import { a as IconSize, s as LanguageLocales } from "./constants2.js";
2
+ import { t as usePseudoClasses } from "./usePseudoClasses.js";
3
+ import { n as mergeRefs } from "./refs.js";
4
+ import { t as Icon_default } from "./Icon.js";
5
+ import { n as useLanguage } from "./useLanguage.js";
6
+ import { t as useIsMobileBreakpoint } from "./useIsMobileBreakpoint.js";
7
+ import { t as X_default } from "./X.js";
8
+ import { t as getResources } from "./resourceHelper.js";
9
+ import { t as Search_default } from "./Search.js";
10
+ import classNames from "classnames";
11
+ import { useRef } from "react";
12
+ import { jsx, jsxs } from "react/jsx-runtime";
13
+ import styles from "./components/Filter/FilterSearch/styles.module.scss";
14
+ var FilterSearch = (props) => {
15
+ const { className, value, onChange, resources, buttonProps, clearButtonProps, ref, ...inputProps } = props;
16
+ const inputRef = useRef(null);
17
+ const inputWrapperRef = useRef(null);
18
+ const { isHovered: isWrapperHovered } = usePseudoClasses(inputWrapperRef);
19
+ const buttonRef = useRef(null);
20
+ const { isHovered: isButtonHovered } = usePseudoClasses(buttonRef);
21
+ const clearButtonRef = useRef(null);
22
+ const { isHovered: isClearButtonHovered } = usePseudoClasses(clearButtonRef);
23
+ const isMobile = useIsMobileBreakpoint();
24
+ const { language } = useLanguage(LanguageLocales.NORWEGIAN);
25
+ const mergedResources = {
26
+ ...getResources(language),
27
+ ...resources
28
+ };
29
+ const inputHasValue = !!value;
30
+ return /* @__PURE__ */ jsxs("div", {
31
+ className: classNames(styles["filter-search__wrapper"], className),
32
+ children: [
33
+ /* @__PURE__ */ jsxs("label", {
34
+ className: styles["filter-search__input-wrapper"],
35
+ ref: inputWrapperRef,
36
+ children: [/* @__PURE__ */ jsx("span", {
37
+ className: styles["filter-search__input__label"],
38
+ children: inputProps["aria-label"] ?? mergedResources.searchPlaceholder
39
+ }), /* @__PURE__ */ jsx("input", {
40
+ ...inputProps,
41
+ ref: mergeRefs([inputRef, ref]),
42
+ value,
43
+ onChange,
44
+ className: classNames(styles["filter-search__input"], { [styles["filter-search__input--hovered"]]: isWrapperHovered }),
45
+ placeholder: mergedResources.searchPlaceholder
46
+ })]
47
+ }),
48
+ inputHasValue && /* @__PURE__ */ jsx("button", {
49
+ type: "button",
50
+ "aria-label": mergedResources.searchClearButtonAriaLabel,
51
+ disabled: inputProps.disabled,
52
+ ...clearButtonProps,
53
+ onClick: (e) => {
54
+ clearButtonProps?.onClick?.(e);
55
+ inputRef.current?.focus();
56
+ },
57
+ ref: clearButtonRef,
58
+ className: classNames(styles["filter-search__clear-button"], clearButtonProps?.className),
59
+ children: /* @__PURE__ */ jsx(Icon_default, {
60
+ svgIcon: X_default,
61
+ size: IconSize.XXSmall,
62
+ isHovered: !isMobile && isClearButtonHovered
63
+ })
64
+ }),
65
+ /* @__PURE__ */ jsx("button", {
66
+ type: "button",
67
+ "aria-label": mergedResources.searchButtonAriaLabel,
68
+ disabled: inputProps.disabled,
69
+ ...buttonProps,
70
+ ref: buttonRef,
71
+ className: classNames(styles["filter-search__search-button"], buttonProps?.className),
72
+ children: /* @__PURE__ */ jsx("div", {
73
+ className: classNames(styles["filter-search__search-button--inner"]),
74
+ children: /* @__PURE__ */ jsx(Icon_default, {
75
+ svgIcon: Search_default,
76
+ size: isMobile ? IconSize.XXSmall : IconSize.XSmall,
77
+ isHovered: !inputProps.disabled && isButtonHovered
78
+ })
79
+ })
80
+ })
81
+ ]
82
+ });
83
+ };
84
+ var FilterSearch_default = FilterSearch;
85
+ export { FilterSearch_default as t };
86
+
87
+ //# sourceMappingURL=FilterSearch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterSearch.js","names":["FilterSearch: React.FC<FilterSearchProps>"],"sources":["../src/components/Filter/FilterSearch/FilterSearch.tsx"],"sourcesContent":["import { useRef } from 'react';\n\nimport classNames from 'classnames';\n\nimport type { HNDesignsystemFilter } from '../../../resources/Resources';\n\nimport { IconSize, LanguageLocales } from '../../../constants';\nimport { useIsMobileBreakpoint } from '../../../hooks/useIsMobileBreakpoint';\nimport { useLanguage } from '../../../hooks/useLanguage';\nimport { usePseudoClasses } from '../../../hooks/usePseudoClasses';\nimport { mergeRefs } from '../../../utils/refs';\nimport Icon from '../../Icon';\nimport Search from '../../Icons/Search';\nimport X from '../../Icons/X';\nimport { getResources } from '../resourceHelper';\n\nimport styles from './styles.module.scss';\n\nexport interface FilterSearchProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'className' | 'value' | 'onChange'> {\n /** Adds custom classes to the component */\n className?: string;\n /** The value given by the user in the input field */\n value: string | undefined;\n /** onChange handler for the input field */\n onChange?: React.ChangeEventHandler<HTMLInputElement>;\n /** Props for the search button */\n buttonProps?: React.ButtonHTMLAttributes<HTMLButtonElement>;\n /** Props for the clear button */\n clearButtonProps?: React.ButtonHTMLAttributes<HTMLButtonElement>;\n /** Texts if overriding SOT */\n resources?: Partial<HNDesignsystemFilter>;\n /** Ref passed to the input element */\n ref?: React.Ref<HTMLInputElement | null>;\n}\n\nconst FilterSearch: React.FC<FilterSearchProps> = props => {\n const { className, value, onChange, resources, buttonProps, clearButtonProps, ref, ...inputProps } = props;\n\n const inputRef = useRef<HTMLInputElement>(null);\n const inputWrapperRef = useRef<HTMLLabelElement>(null);\n const { isHovered: isWrapperHovered } = usePseudoClasses(inputWrapperRef);\n const buttonRef = useRef<HTMLButtonElement>(null);\n const { isHovered: isButtonHovered } = usePseudoClasses(buttonRef);\n const clearButtonRef = useRef<HTMLButtonElement>(null);\n const { isHovered: isClearButtonHovered } = usePseudoClasses(clearButtonRef);\n\n const isMobile = useIsMobileBreakpoint();\n\n const { language } = useLanguage<LanguageLocales>(LanguageLocales.NORWEGIAN);\n const defaultResources = getResources(language);\n\n const mergedResources = {\n ...defaultResources,\n ...resources,\n };\n\n const inputHasValue = !!value;\n\n return (\n <div className={classNames(styles['filter-search__wrapper'], className)}>\n <label className={styles['filter-search__input-wrapper']} ref={inputWrapperRef}>\n <span className={styles['filter-search__input__label']}>{inputProps['aria-label'] ?? mergedResources.searchPlaceholder}</span>\n <input\n {...inputProps}\n ref={mergeRefs([inputRef, ref])}\n value={value}\n onChange={onChange}\n className={classNames(styles['filter-search__input'], {\n [styles['filter-search__input--hovered']]: isWrapperHovered,\n })}\n placeholder={mergedResources.searchPlaceholder}\n />\n </label>\n {inputHasValue && (\n <button\n type=\"button\"\n aria-label={mergedResources.searchClearButtonAriaLabel}\n disabled={inputProps.disabled}\n {...clearButtonProps}\n onClick={e => {\n clearButtonProps?.onClick?.(e);\n inputRef.current?.focus();\n }}\n ref={clearButtonRef}\n className={classNames(styles['filter-search__clear-button'], clearButtonProps?.className)}\n >\n <Icon svgIcon={X} size={IconSize.XXSmall} isHovered={!isMobile && isClearButtonHovered} />\n </button>\n )}\n <button\n type={'button'}\n aria-label={mergedResources.searchButtonAriaLabel}\n disabled={inputProps.disabled}\n {...buttonProps}\n ref={buttonRef}\n className={classNames(styles['filter-search__search-button'], buttonProps?.className)}\n >\n <div className={classNames(styles['filter-search__search-button--inner'])}>\n <Icon svgIcon={Search} size={isMobile ? IconSize.XXSmall : IconSize.XSmall} isHovered={!inputProps.disabled && isButtonHovered} />\n </div>\n </button>\n </div>\n );\n};\n\nexport default FilterSearch;\n"],"mappings":";;;;;;;;;;;;;AAmCA,IAAMA,gBAA4C,UAAS;CACzD,MAAM,EAAE,WAAW,OAAO,UAAU,WAAW,aAAa,kBAAkB,KAAK,GAAG,eAAe;CAErG,MAAM,WAAW,OAAyB,KAAK;CAC/C,MAAM,kBAAkB,OAAyB,KAAK;CACtD,MAAM,EAAE,WAAW,qBAAqB,iBAAiB,gBAAgB;CACzE,MAAM,YAAY,OAA0B,KAAK;CACjD,MAAM,EAAE,WAAW,oBAAoB,iBAAiB,UAAU;CAClE,MAAM,iBAAiB,OAA0B,KAAK;CACtD,MAAM,EAAE,WAAW,yBAAyB,iBAAiB,eAAe;CAE5E,MAAM,WAAW,uBAAuB;CAExC,MAAM,EAAE,aAAa,YAA6B,gBAAgB,UAAU;CAG5E,MAAM,kBAAkB;EACtB,GAHuB,aAAa,SAAS;EAI7C,GAAG;EACJ;CAED,MAAM,gBAAgB,CAAC,CAAC;AAExB,QACE,qBAAC,OAAA;EAAI,WAAW,WAAW,OAAO,2BAA2B,UAAU;;GACrE,qBAAC,SAAA;IAAM,WAAW,OAAO;IAAiC,KAAK;eAC7D,oBAAC,QAAA;KAAK,WAAW,OAAO;eAAiC,WAAW,iBAAiB,gBAAgB;MAAyB,EAC9H,oBAAC,SAAA;KACC,GAAI;KACJ,KAAK,UAAU,CAAC,UAAU,IAAI,CAAC;KACxB;KACG;KACV,WAAW,WAAW,OAAO,yBAAyB,GACnD,OAAO,mCAAmC,kBAC5C,CAAC;KACF,aAAa,gBAAgB;MAC7B,CAAA;KACI;GACP,iBACC,oBAAC,UAAA;IACC,MAAK;IACL,cAAY,gBAAgB;IAC5B,UAAU,WAAW;IACrB,GAAI;IACJ,UAAS,MAAK;AACZ,uBAAkB,UAAU,EAAE;AAC9B,cAAS,SAAS,OAAO;;IAE3B,KAAK;IACL,WAAW,WAAW,OAAO,gCAAgC,kBAAkB,UAAU;cAEzF,oBAAC,cAAA;KAAK,SAAS;KAAG,MAAM,SAAS;KAAS,WAAW,CAAC,YAAY;MAAwB;KACnF;GAEX,oBAAC,UAAA;IACC,MAAM;IACN,cAAY,gBAAgB;IAC5B,UAAU,WAAW;IACrB,GAAI;IACJ,KAAK;IACL,WAAW,WAAW,OAAO,iCAAiC,aAAa,UAAU;cAErF,oBAAC,OAAA;KAAI,WAAW,WAAW,OAAO,uCAAuC;eACvE,oBAAC,cAAA;MAAK,SAAS;MAAQ,MAAM,WAAW,SAAS,UAAU,SAAS;MAAQ,WAAW,CAAC,WAAW,YAAY;OAAmB;MAC9H;KACC;;GACL;;AAIV,IAAA,uBAAe"}
@@ -0,0 +1,5 @@
1
+ import { t as FilterSearch_default } from "./FilterSearch.js";
2
+ var FilterSearch_default$1 = FilterSearch_default;
3
+ export { FilterSearch_default$1 as t };
4
+
5
+ //# sourceMappingURL=FilterSearch2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterSearch2.js","names":[],"sources":["../src/components/Filter/FilterSearch/index.ts"],"sourcesContent":["import FilterSearch from './FilterSearch';\nexport * from './FilterSearch';\nexport default FilterSearch;\n"],"mappings":";AAEA,IAAA,yBAAe"}
@@ -0,0 +1,30 @@
1
+ import { s as LanguageLocales } from "./constants2.js";
2
+ import { n as useLanguage } from "./useLanguage.js";
3
+ import { t as Label_default } from "./Label.js";
4
+ import { t as getResources } from "./resourceHelper.js";
5
+ import { t as Select_default } from "./Select.js";
6
+ import { jsx } from "react/jsx-runtime";
7
+ import styles from "./components/Filter/FilterSort/styles.module.scss";
8
+ var FilterSort = (props) => {
9
+ const { children, resources } = props;
10
+ const { language } = useLanguage(LanguageLocales.NORWEGIAN);
11
+ const mergedResources = {
12
+ ...getResources(language),
13
+ ...resources
14
+ };
15
+ return /* @__PURE__ */ jsx(Select_default, {
16
+ ...props,
17
+ label: /* @__PURE__ */ jsx(Label_default, { labelTexts: [{
18
+ text: `${mergedResources.sortLabel}:`,
19
+ type: "subdued"
20
+ }] }),
21
+ labelClassName: styles["select__label"],
22
+ className: styles["select"],
23
+ wrapperClassName: styles["select__wrapper"],
24
+ children
25
+ });
26
+ };
27
+ var FilterSort_default$1 = FilterSort;
28
+ export { FilterSort_default$1 as t };
29
+
30
+ //# sourceMappingURL=FilterSort.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterSort.js","names":["FilterSort: React.FC<FilterSortProps>"],"sources":["../src/components/Filter/FilterSort/FilterSort.tsx","../src/components/Filter/FilterSort/index.ts"],"sourcesContent":["import type { HNDesignsystemFilter } from '../../../resources/Resources';\n\nimport { LanguageLocales } from '../../../constants';\nimport { useLanguage } from '../../../hooks/useLanguage';\nimport Label from '../../Label';\nimport Select, { type SelectProps } from '../../Select';\nimport { getResources } from '../resourceHelper';\n\nimport styles from './styles.module.scss';\n\nexport interface FilterSortProps extends SelectProps {\n /** Texts if overriding SOT */\n resources?: Partial<HNDesignsystemFilter>;\n}\n\nconst FilterSort: React.FC<FilterSortProps> = props => {\n const { children, resources } = props;\n\n const { language } = useLanguage<LanguageLocales>(LanguageLocales.NORWEGIAN);\n const defaultResources = getResources(language);\n\n const mergedResources = {\n ...defaultResources,\n ...resources,\n };\n\n return (\n <Select\n {...props}\n label={<Label labelTexts={[{ text: `${mergedResources.sortLabel}:`, type: 'subdued' }]} />}\n labelClassName={styles['select__label']}\n className={styles['select']}\n wrapperClassName={styles['select__wrapper']}\n >\n {children}\n </Select>\n );\n};\n\nexport default FilterSort;\n","import FilterSort from './FilterSort';\nexport * from './FilterSort';\nexport default FilterSort;\n"],"mappings":";;;;;;;AAeA,IAAMA,cAAwC,UAAS;CACrD,MAAM,EAAE,UAAU,cAAc;CAEhC,MAAM,EAAE,aAAa,YAA6B,gBAAgB,UAAU;CAG5E,MAAM,kBAAkB;EACtB,GAHuB,aAAa,SAAS;EAI7C,GAAG;EACJ;AAED,QACE,oBAAC,gBAAA;EACC,GAAI;EACJ,OAAO,oBAAC,eAAA,EAAM,YAAY,CAAC;GAAE,MAAM,GAAG,gBAAgB,UAAU;GAAI,MAAM;GAAW,CAAC,EAAA,CAAI;EAC1F,gBAAgB,OAAO;EACvB,WAAW,OAAO;EAClB,kBAAkB,OAAO;EAExB;GACM;;ACjCb,IAAA,uBDqCe"}
@@ -0,0 +1,13 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import styles from "./components/Filter/FilterStateWrapper/styles.module.scss";
3
+ var FilterStateWrapper = ({ children, testId }) => {
4
+ return /* @__PURE__ */ jsx("div", {
5
+ className: styles["filter-state-wrapper"],
6
+ "data-testid": testId,
7
+ children
8
+ });
9
+ };
10
+ var FilterStateWrapper_default$1 = FilterStateWrapper;
11
+ export { FilterStateWrapper_default$1 as t };
12
+
13
+ //# sourceMappingURL=FilterStateWrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterStateWrapper.js","names":["FilterStateWrapper: React.FC<FilterStateWrapperProps>"],"sources":["../src/components/Filter/FilterStateWrapper/FilterStateWrapper.tsx","../src/components/Filter/FilterStateWrapper/index.ts"],"sourcesContent":["import type React from 'react';\n\nimport styles from './styles.module.scss';\n\nexport interface FilterStateWrapperProps {\n /** Content to be rendered inside the wrapper */\n children: React.ReactNode;\n /** test id that is placed on the wrapper */\n testId?: string;\n}\n\nconst FilterStateWrapper: React.FC<FilterStateWrapperProps> = ({ children, testId }) => {\n return (\n <div className={styles['filter-state-wrapper']} data-testid={testId}>\n {children}\n </div>\n );\n};\n\nexport default FilterStateWrapper;\n","import FilterStateWrapper from './FilterStateWrapper';\nexport * from './FilterStateWrapper';\nexport default FilterStateWrapper;\n"],"mappings":";;AAWA,IAAMA,sBAAyD,EAAE,UAAU,aAAa;AACtF,QACE,oBAAC,OAAA;EAAI,WAAW,OAAO;EAAyB,eAAa;EAC1D;GACG;;ACbV,IAAA,+BDiBe"}
package/lib/FormGroup.js CHANGED
@@ -5,10 +5,10 @@ import { t as ErrorWrapper_default } from "./ErrorWrapper.js";
5
5
  import { t as FormFieldTag_default } from "./FormFieldTag.js";
6
6
  import { n as Checkbox_default } from "./Checkbox.js";
7
7
  import { t as Title_default } from "./Title2.js";
8
+ import { t as Select_default } from "./Select.js";
8
9
  import { t as FormLayout_default } from "./FormLayout.js";
9
10
  import { t as Input_default } from "./Input.js";
10
11
  import { r as RadioButton_default, t as getRadioLabelClasses } from "./utils3.js";
11
- import { t as Select_default } from "./Select.js";
12
12
  import { t as Slider_default } from "./Slider.js";
13
13
  import { t as Textarea_default } from "./Textarea.js";
14
14
  import classNames from "classnames";
package/lib/Search.js ADDED
@@ -0,0 +1,26 @@
1
+ import { t as getIcon } from "./utils.js";
2
+ import { jsx } from "react/jsx-runtime";
3
+ var Search = ({ size, isHovered }) => {
4
+ return getIcon({
5
+ size,
6
+ isHovered,
7
+ normal: /* @__PURE__ */ jsx("path", { d: "M21.277 7.738c7.27 0 13.165 5.895 13.165 13.166 0 2.222-.55 4.316-1.523 6.153l6.268 6.268a3.929 3.929 0 01-5.41 5.695l-.146-.139-6.289-6.289a13.11 13.11 0 01-6.065 1.478c-7.272 0-13.166-5.895-13.166-13.166 0-7.271 5.894-13.166 13.166-13.166zM32 28.542a13.24 13.24 0 01-3.164 3.142l5.996 5.995a2.229 2.229 0 003.26-3.036l-.108-.116zM21.277 9.438c-6.333 0-11.466 5.133-11.466 11.466 0 6.332 5.133 11.466 11.466 11.466 2.258 0 4.365-.654 6.14-1.781l.163-.163.034.035a11.529 11.529 0 003.165-3.14l-.047-.048.228-.226a11.412 11.412 0 001.782-6.143c0-6.333-5.133-11.466-11.465-11.466z" }),
8
+ normalHover: /* @__PURE__ */ jsx("path", { d: "M21.527 6.932c7.932 0 14.363 6.43 14.363 14.362 0 2.556-.668 4.956-1.838 7.035l5.386 5.386a3.929 3.929 0 01-5.41 5.696l-.146-.14-5.406-5.404a14.298 14.298 0 01-6.949 1.79c-7.932 0-14.362-6.43-14.362-14.363 0-7.932 6.43-14.362 14.362-14.362zM33.11 29.79a14.445 14.445 0 01-3.162 3.141l5.137 5.138a2.229 2.229 0 003.26-3.035l-.108-.117zM21.527 8.632c-6.993 0-12.662 5.669-12.662 12.662 0 6.993 5.669 12.663 12.662 12.663 6.993 0 12.663-5.67 12.663-12.663S28.52 8.632 21.527 8.632z" }),
9
+ xSmall: /* @__PURE__ */ jsx("path", { d: "M34.476 34.206c-.486.487-1.333.487-1.82 0l-4.402-4.403a10.426 10.426 0 001.78-1.857l4.442 4.44c.243.243.376.567.376.91 0 .345-.133.668-.376.91M21.742 30.07c-4.592 0-8.327-3.737-8.327-8.327 0-4.592 3.735-8.327 8.327-8.327 4.591 0 8.327 3.735 8.327 8.327 0 4.59-3.736 8.327-8.327 8.327m14.181.871l-4.8-4.8c.63-1.338.991-2.825.991-4.398 0-5.72-4.653-10.374-10.372-10.374-5.72 0-10.374 4.653-10.374 10.374 0 5.72 4.653 10.372 10.374 10.372 1.717 0 3.333-.426 4.76-1.168l4.708 4.708a3.312 3.312 0 002.357.976c.89 0 1.727-.348 2.356-.976a3.339 3.339 0 000-4.714" }),
10
+ xSmallHover: /* @__PURE__ */ jsx("path", { d: "M34.7 34.43c-.486.485-1.338.487-1.823 0l-3.388-3.39c.663-.55 1.255-1.18 1.785-1.859l3.426 3.424c.244.242.377.567.377.911 0 .346-.133.669-.377.914m-12.76-2.994c-5.238 0-9.5-4.26-9.5-9.499 0-5.238 4.262-9.499 9.5-9.499 5.237 0 9.498 4.261 9.498 9.5 0 5.237-4.26 9.498-9.499 9.498m14.21-.28l-3.734-3.736a11.744 11.744 0 001.356-5.483c0-6.524-5.31-11.832-11.832-11.832-6.524 0-11.834 5.308-11.834 11.832 0 6.525 5.31 11.834 11.834 11.834 2.12 0 4.108-.57 5.831-1.55l3.656 3.658c.633.63 1.47.979 2.362.979.893 0 1.732-.348 2.36-.98.632-.63.98-1.467.98-2.362 0-.89-.348-1.73-.98-2.36" }),
11
+ xxSmall: /* @__PURE__ */ jsx("path", {
12
+ "fill-rule": "evenodd",
13
+ "clip-rule": "evenodd",
14
+ d: "M20.1738 6.88672C27.4533 6.88672 33.3765 12.8075 33.377 20.0879C33.377 22.0407 32.934 23.8871 32.1699 25.5547L38.0918 31.4785C39.7973 33.1852 39.7973 35.9613 38.0918 37.668C37.2652 38.4933 36.1671 38.9509 34.998 38.9512C33.8287 38.9512 32.7281 38.4937 31.9023 37.668L26.1016 31.8672C24.3175 32.7694 22.3071 33.291 20.1738 33.291C12.8934 33.2906 6.97266 27.3673 6.97266 20.0879C6.97311 12.8077 12.8937 6.88717 20.1738 6.88672ZM33.9766 35.8223C34.0595 35.8891 34.1486 35.9464 34.2422 35.9941L34.1055 35.9141C34.0613 35.8856 34.0179 35.8555 33.9766 35.8223ZM30.5879 28.166C30.0088 28.9128 29.3558 29.5973 28.6309 30.2051L34 35.5742C34.5316 36.105 35.4668 36.1054 35.998 35.5742C36.2647 35.3076 36.4102 34.9522 36.4102 34.5742C36.4099 34.1967 36.264 33.8424 35.998 33.5762L30.5879 28.166ZM12.3984 30.5039C12.4725 30.5593 12.5498 30.6102 12.625 30.6641C12.3803 30.4889 12.1399 30.3085 11.9082 30.1172L12.3984 30.5039ZM20.1758 9.85156C14.5314 9.85197 9.93993 14.4435 9.93945 20.0879C9.93945 25.7316 14.5311 30.3258 20.1758 30.3262C25.8208 30.3262 30.4141 25.7318 30.4141 20.0879C30.4136 14.4432 25.8205 9.85156 20.1758 9.85156ZM24.2363 29.7051C24.392 29.6391 24.5456 29.5693 24.6973 29.4961C24.3933 29.6428 24.0811 29.7753 23.7617 29.8926L24.2363 29.7051ZM30.4199 18.0801C30.5472 18.7301 30.6152 19.4012 30.6152 20.0879L30.6016 19.5527C30.5761 19.0518 30.5139 18.5601 30.4199 18.0801ZM30.5898 12.3145C30.6024 12.3312 30.6145 12.3484 30.627 12.3652C30.4902 12.1806 30.3492 11.9993 30.2031 11.8223L30.5898 12.3145ZM23.2754 10.1211C24.0922 10.3756 24.8663 10.7276 25.584 11.1641L25.1484 10.9121C24.5564 10.59 23.9293 10.3248 23.2754 10.1211Z"
15
+ }),
16
+ xxSmallHover: /* @__PURE__ */ jsx("path", {
17
+ "fill-rule": "evenodd",
18
+ "clip-rule": "evenodd",
19
+ d: "M20.0664 5.13281C28.324 5.13306 35.0464 11.8511 35.0469 20.1113C35.0469 22.5634 34.442 24.8729 33.3926 26.918L37.957 31.4863C38.7823 32.3116 39.2383 33.4111 39.2383 34.5762C39.2382 35.7464 38.7821 36.8427 37.957 37.668C37.1342 38.4934 36.0347 38.9492 34.8672 38.9492C33.6999 38.9491 32.6029 38.4943 31.7754 37.6699L27.3105 33.2031C25.1607 34.3979 22.6954 35.0956 20.0664 35.0957C11.806 35.0954 5.08398 28.3719 5.08398 20.1113C5.08443 11.8511 11.8063 5.13314 20.0664 5.13281ZM31.7402 29.459C31.1525 30.1928 30.5023 30.8761 29.7871 31.4902L33.8711 35.5762C34.3983 36.1051 35.3349 36.1032 35.8633 35.5762C36.1311 35.3083 36.2772 34.9554 36.2773 34.5762C36.2773 34.1993 36.132 33.8448 35.8652 33.5801L31.7402 29.459ZM26.5273 33.3926C25.4214 33.9344 24.2397 34.3442 23.002 34.5977C23.3028 34.5361 23.6006 34.4664 23.8945 34.3867C25.1149 34.0558 26.2734 33.5714 27.3496 32.959C27.0807 33.112 26.8062 33.256 26.5273 33.3926ZM38.0957 31.9355C38.3575 32.2543 38.5693 32.6057 38.7246 32.9805C38.5174 32.4804 38.2105 32.0211 37.8164 31.627L38.0957 31.9355ZM20.0664 8.44531C13.6343 8.44564 8.40039 13.6791 8.40039 20.1113C8.40058 26.5434 13.6344 31.777 20.0664 31.7773C26.4984 31.777 31.7322 26.5434 31.7324 20.1113C31.7324 13.6791 26.4985 8.44568 20.0664 8.44531ZM17.6777 8.48633C16.327 8.76346 15.0598 9.27215 13.918 9.9668C14.7339 9.47055 15.6142 9.07065 16.543 8.78125C16.9139 8.66566 17.2923 8.56542 17.6777 8.48633ZM22.4551 8.48828C22.6482 8.52791 22.8397 8.57217 23.0293 8.62109C22.6501 8.52325 22.2639 8.443 21.8711 8.38281L22.4551 8.48828ZM20.0664 8.24609C19.6577 8.24609 19.2537 8.2661 18.8555 8.30664L19.457 8.26172C19.6589 8.25145 19.862 8.2461 20.0664 8.24609Z"
20
+ })
21
+ });
22
+ };
23
+ var Search_default = Search;
24
+ export { Search_default as t };
25
+
26
+ //# sourceMappingURL=Search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Search.js","names":["Search: React.FC<SvgPathProps>"],"sources":["../src/components/Icons/Search.tsx"],"sourcesContent":["import type { SvgPathProps } from '../Icon';\n\nimport { getIcon } from '../Icon/utils';\n\nconst Search: React.FC<SvgPathProps> = ({ size, isHovered }: SvgPathProps): React.ReactElement => {\n const normal = (\n <path d=\"M21.277 7.738c7.27 0 13.165 5.895 13.165 13.166 0 2.222-.55 4.316-1.523 6.153l6.268 6.268a3.929 3.929 0 01-5.41 5.695l-.146-.139-6.289-6.289a13.11 13.11 0 01-6.065 1.478c-7.272 0-13.166-5.895-13.166-13.166 0-7.271 5.894-13.166 13.166-13.166zM32 28.542a13.24 13.24 0 01-3.164 3.142l5.996 5.995a2.229 2.229 0 003.26-3.036l-.108-.116zM21.277 9.438c-6.333 0-11.466 5.133-11.466 11.466 0 6.332 5.133 11.466 11.466 11.466 2.258 0 4.365-.654 6.14-1.781l.163-.163.034.035a11.529 11.529 0 003.165-3.14l-.047-.048.228-.226a11.412 11.412 0 001.782-6.143c0-6.333-5.133-11.466-11.465-11.466z\" />\n );\n\n const normalHover = (\n <path d=\"M21.527 6.932c7.932 0 14.363 6.43 14.363 14.362 0 2.556-.668 4.956-1.838 7.035l5.386 5.386a3.929 3.929 0 01-5.41 5.696l-.146-.14-5.406-5.404a14.298 14.298 0 01-6.949 1.79c-7.932 0-14.362-6.43-14.362-14.363 0-7.932 6.43-14.362 14.362-14.362zM33.11 29.79a14.445 14.445 0 01-3.162 3.141l5.137 5.138a2.229 2.229 0 003.26-3.035l-.108-.117zM21.527 8.632c-6.993 0-12.662 5.669-12.662 12.662 0 6.993 5.669 12.663 12.662 12.663 6.993 0 12.663-5.67 12.663-12.663S28.52 8.632 21.527 8.632z\" />\n );\n\n const xSmall = (\n <path d=\"M34.476 34.206c-.486.487-1.333.487-1.82 0l-4.402-4.403a10.426 10.426 0 001.78-1.857l4.442 4.44c.243.243.376.567.376.91 0 .345-.133.668-.376.91M21.742 30.07c-4.592 0-8.327-3.737-8.327-8.327 0-4.592 3.735-8.327 8.327-8.327 4.591 0 8.327 3.735 8.327 8.327 0 4.59-3.736 8.327-8.327 8.327m14.181.871l-4.8-4.8c.63-1.338.991-2.825.991-4.398 0-5.72-4.653-10.374-10.372-10.374-5.72 0-10.374 4.653-10.374 10.374 0 5.72 4.653 10.372 10.374 10.372 1.717 0 3.333-.426 4.76-1.168l4.708 4.708a3.312 3.312 0 002.357.976c.89 0 1.727-.348 2.356-.976a3.339 3.339 0 000-4.714\" />\n );\n\n const xSmallHover = (\n <path d=\"M34.7 34.43c-.486.485-1.338.487-1.823 0l-3.388-3.39c.663-.55 1.255-1.18 1.785-1.859l3.426 3.424c.244.242.377.567.377.911 0 .346-.133.669-.377.914m-12.76-2.994c-5.238 0-9.5-4.26-9.5-9.499 0-5.238 4.262-9.499 9.5-9.499 5.237 0 9.498 4.261 9.498 9.5 0 5.237-4.26 9.498-9.499 9.498m14.21-.28l-3.734-3.736a11.744 11.744 0 001.356-5.483c0-6.524-5.31-11.832-11.832-11.832-6.524 0-11.834 5.308-11.834 11.832 0 6.525 5.31 11.834 11.834 11.834 2.12 0 4.108-.57 5.831-1.55l3.656 3.658c.633.63 1.47.979 2.362.979.893 0 1.732-.348 2.36-.98.632-.63.98-1.467.98-2.362 0-.89-.348-1.73-.98-2.36\" />\n );\n\n const xxSmall = (\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M20.1738 6.88672C27.4533 6.88672 33.3765 12.8075 33.377 20.0879C33.377 22.0407 32.934 23.8871 32.1699 25.5547L38.0918 31.4785C39.7973 33.1852 39.7973 35.9613 38.0918 37.668C37.2652 38.4933 36.1671 38.9509 34.998 38.9512C33.8287 38.9512 32.7281 38.4937 31.9023 37.668L26.1016 31.8672C24.3175 32.7694 22.3071 33.291 20.1738 33.291C12.8934 33.2906 6.97266 27.3673 6.97266 20.0879C6.97311 12.8077 12.8937 6.88717 20.1738 6.88672ZM33.9766 35.8223C34.0595 35.8891 34.1486 35.9464 34.2422 35.9941L34.1055 35.9141C34.0613 35.8856 34.0179 35.8555 33.9766 35.8223ZM30.5879 28.166C30.0088 28.9128 29.3558 29.5973 28.6309 30.2051L34 35.5742C34.5316 36.105 35.4668 36.1054 35.998 35.5742C36.2647 35.3076 36.4102 34.9522 36.4102 34.5742C36.4099 34.1967 36.264 33.8424 35.998 33.5762L30.5879 28.166ZM12.3984 30.5039C12.4725 30.5593 12.5498 30.6102 12.625 30.6641C12.3803 30.4889 12.1399 30.3085 11.9082 30.1172L12.3984 30.5039ZM20.1758 9.85156C14.5314 9.85197 9.93993 14.4435 9.93945 20.0879C9.93945 25.7316 14.5311 30.3258 20.1758 30.3262C25.8208 30.3262 30.4141 25.7318 30.4141 20.0879C30.4136 14.4432 25.8205 9.85156 20.1758 9.85156ZM24.2363 29.7051C24.392 29.6391 24.5456 29.5693 24.6973 29.4961C24.3933 29.6428 24.0811 29.7753 23.7617 29.8926L24.2363 29.7051ZM30.4199 18.0801C30.5472 18.7301 30.6152 19.4012 30.6152 20.0879L30.6016 19.5527C30.5761 19.0518 30.5139 18.5601 30.4199 18.0801ZM30.5898 12.3145C30.6024 12.3312 30.6145 12.3484 30.627 12.3652C30.4902 12.1806 30.3492 11.9993 30.2031 11.8223L30.5898 12.3145ZM23.2754 10.1211C24.0922 10.3756 24.8663 10.7276 25.584 11.1641L25.1484 10.9121C24.5564 10.59 23.9293 10.3248 23.2754 10.1211Z\"\n />\n );\n\n const xxSmallHover = (\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M20.0664 5.13281C28.324 5.13306 35.0464 11.8511 35.0469 20.1113C35.0469 22.5634 34.442 24.8729 33.3926 26.918L37.957 31.4863C38.7823 32.3116 39.2383 33.4111 39.2383 34.5762C39.2382 35.7464 38.7821 36.8427 37.957 37.668C37.1342 38.4934 36.0347 38.9492 34.8672 38.9492C33.6999 38.9491 32.6029 38.4943 31.7754 37.6699L27.3105 33.2031C25.1607 34.3979 22.6954 35.0956 20.0664 35.0957C11.806 35.0954 5.08398 28.3719 5.08398 20.1113C5.08443 11.8511 11.8063 5.13314 20.0664 5.13281ZM31.7402 29.459C31.1525 30.1928 30.5023 30.8761 29.7871 31.4902L33.8711 35.5762C34.3983 36.1051 35.3349 36.1032 35.8633 35.5762C36.1311 35.3083 36.2772 34.9554 36.2773 34.5762C36.2773 34.1993 36.132 33.8448 35.8652 33.5801L31.7402 29.459ZM26.5273 33.3926C25.4214 33.9344 24.2397 34.3442 23.002 34.5977C23.3028 34.5361 23.6006 34.4664 23.8945 34.3867C25.1149 34.0558 26.2734 33.5714 27.3496 32.959C27.0807 33.112 26.8062 33.256 26.5273 33.3926ZM38.0957 31.9355C38.3575 32.2543 38.5693 32.6057 38.7246 32.9805C38.5174 32.4804 38.2105 32.0211 37.8164 31.627L38.0957 31.9355ZM20.0664 8.44531C13.6343 8.44564 8.40039 13.6791 8.40039 20.1113C8.40058 26.5434 13.6344 31.777 20.0664 31.7773C26.4984 31.777 31.7322 26.5434 31.7324 20.1113C31.7324 13.6791 26.4985 8.44568 20.0664 8.44531ZM17.6777 8.48633C16.327 8.76346 15.0598 9.27215 13.918 9.9668C14.7339 9.47055 15.6142 9.07065 16.543 8.78125C16.9139 8.66566 17.2923 8.56542 17.6777 8.48633ZM22.4551 8.48828C22.6482 8.52791 22.8397 8.57217 23.0293 8.62109C22.6501 8.52325 22.2639 8.443 21.8711 8.38281L22.4551 8.48828ZM20.0664 8.24609C19.6577 8.24609 19.2537 8.2661 18.8555 8.30664L19.457 8.26172C19.6589 8.25145 19.862 8.2461 20.0664 8.24609Z\"\n />\n );\n\n return getIcon({ size, isHovered, normal, normalHover, xSmall, xSmallHover, xxSmall, xxSmallHover });\n};\n\nexport default Search;\n"],"mappings":";;AAIA,IAAMA,UAAkC,EAAE,MAAM,gBAAkD;AAiChG,QAAO,QAAQ;EAAE;EAAM;EAAW,QA/BhC,oBAAC,QAAA,EAAK,GAAE,skBAAA,CAAukB;EA+BviB,aA3BxC,oBAAC,QAAA,EAAK,GAAE,keAAA,CAAme;EA2Btb,QAvBrD,oBAAC,QAAA,EAAK,GAAE,+iBAAA,CAAgjB;EAuB3f,aAnB7D,oBAAC,QAAA,EAAK,GAAE,qkBAAA,CAAskB;EAmBpgB,SAf1E,oBAAC,QAAA;GACC,aAAU;GACV,aAAU;GACV,GAAE;IACF;EAWiF,cAPnF,oBAAC,QAAA;GACC,aAAU;GACV,aAAU;GACV,GAAE;IACF;EAG+F,CAAC;;AAGtG,IAAA,iBAAe"}
@@ -1,60 +1,2 @@
1
- import { a as IconSize, n as AnalyticsId, s as LanguageLocales } from "../../constants2.js";
2
- import { t as Icon_default } from "../../Icon.js";
3
- import { n as useLanguage } from "../../useLanguage.js";
4
- import { t as X_default } from "../../X.js";
5
- import classNames from "classnames";
6
- import { jsx, jsxs } from "react/jsx-runtime";
7
- import styles from "./styles.module.scss";
8
- var HN_Designsystem_Chip_en_GB_default = { removeAriaLabel: "Remove" };
9
- var HN_Designsystem_Chip_nb_NO_default = { removeAriaLabel: "Fjern" };
10
- const getResources = (language) => {
11
- switch (language) {
12
- case LanguageLocales.ENGLISH: return HN_Designsystem_Chip_en_GB_default;
13
- case LanguageLocales.NORWEGIAN:
14
- default: return HN_Designsystem_Chip_nb_NO_default;
15
- }
16
- };
17
- var Chip = (props) => {
18
- const { onClick, children, onChipClick, onCloseClick, chipButtonProps, closeButtonProps, testId, withCloseButton = true, resources } = props;
19
- const { language } = useLanguage(LanguageLocales.NORWEGIAN);
20
- const defaultResources = getResources(language);
21
- const mergedResources = {
22
- ...defaultResources,
23
- ...resources,
24
- removeAriaLabel: closeButtonProps?.["aria-label"] || resources?.removeAriaLabel || `${defaultResources.removeAriaLabel} ${children}`
25
- };
26
- return /* @__PURE__ */ jsxs("div", {
27
- className: styles["chip"],
28
- children: [/* @__PURE__ */ jsx("button", {
29
- ...chipButtonProps,
30
- className: classNames(styles["chip__chip"]),
31
- onClick: onClick ? onClick : onChipClick,
32
- type: "button",
33
- "data-testid": testId,
34
- "data-analyticsid": AnalyticsId.Tag,
35
- children: /* @__PURE__ */ jsx("span", {
36
- className: classNames(styles["chip__chip__inner"], { [styles["chip__chip__inner--without-close"]]: !withCloseButton }),
37
- children
38
- })
39
- }), withCloseButton && /* @__PURE__ */ jsx("button", {
40
- ...closeButtonProps,
41
- "aria-label": mergedResources.removeAriaLabel,
42
- className: classNames(styles["chip__close"]),
43
- onClick: onClick ? onClick : onCloseClick,
44
- type: "button",
45
- "data-testid": `${testId}-close`,
46
- "data-analyticsid": AnalyticsId.Tag,
47
- children: /* @__PURE__ */ jsx("span", {
48
- className: styles["chip__close__inner"],
49
- children: /* @__PURE__ */ jsx(Icon_default, {
50
- svgIcon: X_default,
51
- size: IconSize.XXSmall
52
- })
53
- })
54
- })]
55
- });
56
- };
57
- var Chip_default = Chip;
1
+ import { t as Chip_default } from "../../Chip.js";
58
2
  export { Chip_default as default };
59
-
60
- //# sourceMappingURL=index.js.map
@@ -1,81 +1,3 @@
1
- import { t as Drawer_default } from "../../../Drawer.js";
2
- import { Children, createContext, isValidElement, useCallback, useContext, useMemo, useState } from "react";
3
- import { jsx, jsxs } from "react/jsx-runtime";
4
- const DrawerNavigationContext = createContext(null);
5
- function useDrawerNavigation() {
6
- const context = useContext(DrawerNavigationContext);
7
- if (!context) throw new Error("useDrawerNavigation must be used inside a <DrawerNavigation> component");
8
- return context;
9
- }
10
- function DrawerView(_props) {
11
- return null;
12
- }
13
- function parseChildren(children) {
14
- const views = [];
15
- const other = [];
16
- Children.forEach(children, (child) => {
17
- if (isValidElement(child) && child.type === DrawerView) views.push({
18
- id: child.props.id,
19
- title: child.props.title,
20
- home: child.props.home,
21
- children: child.props.children,
22
- onCloseButton: child.props.onCloseButton,
23
- footer: child.props.footer,
24
- drawerContentClassname: child.props.drawerContentClassname
25
- });
26
- else other.push(child);
27
- });
28
- return {
29
- views,
30
- other
31
- };
32
- }
33
- function DrawerNavigation({ children, isOpen, initialView, onCloseButton, footer }) {
34
- const { views, other } = useMemo(() => parseChildren(children), [children]);
35
- const homeView = views.find((v) => v.home) ?? views[0];
36
- const [viewStack, setViewStack] = useState([homeView?.id]);
37
- const goToView = useCallback((id) => {
38
- if (views.some((v) => v.id === id)) setViewStack((stack) => [...stack, id]);
39
- }, [views]);
40
- const goBack = useCallback(() => {
41
- setViewStack((stack) => stack.length > 1 ? stack.slice(0, -1) : stack);
42
- }, []);
43
- const goToViewAndClearStack = useCallback((id) => {
44
- if (views.some((v) => v.id === id)) setViewStack(id === homeView?.id ? [homeView.id] : [homeView?.id, id]);
45
- }, [views, homeView]);
46
- const currentViewId = viewStack[viewStack.length - 1];
47
- const currentView = views.find((v) => v.id === currentViewId);
48
- const navigate = useMemo(() => ({
49
- goBack,
50
- goToView,
51
- goToViewAndClearStack
52
- }), [
53
- goBack,
54
- goToView,
55
- goToViewAndClearStack
56
- ]);
57
- const [prevIsOpen, setPrevIsOpen] = useState(isOpen);
58
- if (prevIsOpen !== isOpen) {
59
- setPrevIsOpen(isOpen);
60
- if (!isOpen) setViewStack([homeView?.id]);
61
- else if (initialView && views.some((v) => v.id === initialView)) setViewStack(initialView === homeView?.id ? [homeView.id] : [homeView?.id, initialView]);
62
- }
63
- return /* @__PURE__ */ jsxs(DrawerNavigationContext.Provider, {
64
- value: navigate,
65
- children: [/* @__PURE__ */ jsx(Drawer_default, {
66
- isOpen,
67
- title: currentView?.title ?? "Filter",
68
- withBackButton: viewStack.length > 1,
69
- onRequestBack: goBack,
70
- onRequestClose: currentView?.onCloseButton ?? onCloseButton,
71
- footerContent: currentView?.footer ?? footer,
72
- contentClassName: currentView?.drawerContentClassname,
73
- children: currentView?.children
74
- }), other]
75
- });
76
- }
77
- DrawerNavigation.View = DrawerView;
78
- var DrawerNavigation_default = DrawerNavigation;
1
+ import { n as DrawerNavigationContext, r as useDrawerNavigation } from "../../../DrawerNavigation.js";
2
+ import { t as DrawerNavigation_default } from "../../../DrawerNavigation2.js";
79
3
  export { DrawerNavigationContext, DrawerNavigation_default as default, useDrawerNavigation };
80
-
81
- //# sourceMappingURL=index.js.map
@@ -0,0 +1,3 @@
1
+ import { default as FilterButton } from './FilterButton';
2
+ export * from './FilterButton';
3
+ export default FilterButton;
@@ -0,0 +1,2 @@
1
+ import { t as FilterButton_default } from "../../../FilterButton.js";
2
+ export { FilterButton_default as default };
@@ -0,0 +1,3 @@
1
+ import { default as FilterButtonAndChipsWrapper } from './FilterButtonAndChipsWrapper';
2
+ export * from './FilterButtonAndChipsWrapper';
3
+ export default FilterButtonAndChipsWrapper;
@@ -0,0 +1,2 @@
1
+ import { t as FilterButtonAndChipsWrapper_default } from "../../../FilterButtonAndChipsWrapper.js";
2
+ export { FilterButtonAndChipsWrapper_default as default };
@@ -0,0 +1,3 @@
1
+ import { default as FilterDrawer } from './FilterDrawer';
2
+ export * from './FilterDrawer';
3
+ export default FilterDrawer;
@@ -0,0 +1,2 @@
1
+ import { t as FilterDrawer_default } from "../../../FilterDrawer.js";
2
+ export { FilterDrawer_default as default };
@@ -0,0 +1,3 @@
1
+ import { default as FilterLinkList } from './FilterLinkList';
2
+ export * from './FilterLinkList';
3
+ export default FilterLinkList;
@@ -0,0 +1,3 @@
1
+ import { r as Link, t as FilterLinkList } from "../../../FilterLinkList.js";
2
+ import { t as FilterLinkList_default } from "../../../FilterLinkList2.js";
3
+ export { FilterLinkList, Link, FilterLinkList_default as default };
@@ -0,0 +1,3 @@
1
+ import { default as FilterOverviewLinkList } from './FilterOverviewLinkList';
2
+ export * from './FilterOverviewLinkList';
3
+ export default FilterOverviewLinkList;
@@ -0,0 +1,2 @@
1
+ import { t as FilterOverviewLinkList_default } from "../../../FilterOverviewLinkList.js";
2
+ export { FilterOverviewLinkList_default as default };
@@ -0,0 +1,3 @@
1
+ import { default as FilterOverviewSearch } from './FilterOverviewSearch';
2
+ export * from './FilterOverviewSearch';
3
+ export default FilterOverviewSearch;
@@ -0,0 +1,2 @@
1
+ import { t as FilterOverviewSearch_default } from "../../../FilterOverviewSearch.js";
2
+ export { FilterOverviewSearch_default as default };
@@ -0,0 +1,3 @@
1
+ import { default as FilterResultCountAndSortWrapper } from './FilterResultCountAndSortWrapper';
2
+ export * from './FilterResultCountAndSortWrapper';
3
+ export default FilterResultCountAndSortWrapper;
@@ -0,0 +1,2 @@
1
+ import { t as FilterResultCountAndSortWrapper_default } from "../../../FilterResultCountAndSortWrapper.js";
2
+ export { FilterResultCountAndSortWrapper_default as default };
@@ -0,0 +1,3 @@
1
+ import { default as FilterSearch } from './FilterSearch';
2
+ export * from './FilterSearch';
3
+ export default FilterSearch;
@@ -0,0 +1,2 @@
1
+ import { t as FilterSearch_default } from "../../../FilterSearch2.js";
2
+ export { FilterSearch_default as default };
@@ -0,0 +1,3 @@
1
+ import { default as FilterSort } from './FilterSort';
2
+ export * from './FilterSort';
3
+ export default FilterSort;
@@ -0,0 +1,2 @@
1
+ import { t as FilterSort_default } from "../../../FilterSort.js";
2
+ export { FilterSort_default as default };
@@ -15,6 +15,10 @@
15
15
  }
16
16
  }
17
17
 
18
+ select option {
19
+ text-align: left;
20
+ }
21
+
18
22
  &__wrapper {
19
23
  display: flex;
20
24
  flex-flow: row wrap;
@@ -0,0 +1,9 @@
1
+ import { default as React } from 'react';
2
+ export interface FilterStateWrapperProps {
3
+ /** Content to be rendered inside the wrapper */
4
+ children: React.ReactNode;
5
+ /** test id that is placed on the wrapper */
6
+ testId?: string;
7
+ }
8
+ declare const FilterStateWrapper: React.FC<FilterStateWrapperProps>;
9
+ export default FilterStateWrapper;
@@ -0,0 +1,3 @@
1
+ import { default as FilterStateWrapper } from './FilterStateWrapper';
2
+ export * from './FilterStateWrapper';
3
+ export default FilterStateWrapper;
@@ -0,0 +1,2 @@
1
+ import { t as FilterStateWrapper_default } from "../../../FilterStateWrapper.js";
2
+ export { FilterStateWrapper_default as default };
@@ -0,0 +1,7 @@
1
+ @import '../../../scss/supernova/styles/spacers.css';
2
+
3
+ .filter-state-wrapper {
4
+ display: flex;
5
+ flex-flow: column;
6
+ gap: var(--core-space-xs);
7
+ }
@@ -0,0 +1,9 @@
1
+ export type Styles = {
2
+ 'filter-state-wrapper': string;
3
+ };
4
+
5
+ export type ClassNames = keyof Styles;
6
+
7
+ declare const styles: Styles;
8
+
9
+ export default styles;
@@ -0,0 +1,3 @@
1
+ import { default as getFilterChips } from './getFilterChips';
2
+ export * from './getFilterChips';
3
+ export default getFilterChips;
@@ -0,0 +1,2 @@
1
+ import { t as getFilterChips_default } from "../../../getFilterChips.js";
2
+ export { getFilterChips_default as default };
@@ -1,2 +1,27 @@
1
+ export { default as DrawerNavigation } from './DrawerNavigation';
2
+ export * from './DrawerNavigation';
3
+ export { default as FilterButton } from './FilterButton';
4
+ export * from './FilterButton';
5
+ export { default as FilterButtonAndChipsWrapper } from './FilterButtonAndChipsWrapper';
6
+ export * from './FilterButtonAndChipsWrapper';
7
+ export { default as FilterDrawer } from './FilterDrawer';
8
+ export * from './FilterDrawer';
9
+ export { default as FilterLinkList } from './FilterLinkList';
10
+ export * from './FilterLinkList';
11
+ export { default as FilterOverviewLinkList } from './FilterOverviewLinkList';
12
+ export * from './FilterOverviewLinkList';
13
+ export { default as FilterOverviewSearch } from './FilterOverviewSearch';
14
+ export * from './FilterOverviewSearch';
15
+ export { default as FilterResultCountAndSortWrapper } from './FilterResultCountAndSortWrapper';
16
+ export * from './FilterResultCountAndSortWrapper';
17
+ export { default as FilterStateWrapper } from './FilterStateWrapper';
18
+ export * from './FilterStateWrapper';
19
+ export { default as FilterSearch } from './FilterSearch';
20
+ export * from './FilterSearch';
21
+ export { default as FilterSort } from './FilterSort';
22
+ export * from './FilterSort';
23
+ export { default as getFilterChips } from './getFilterChips';
24
+ export * from './getFilterChips';
1
25
  export * from './useFilter';
26
+ export * from './useFilterDrawer';
2
27
  export * from './utils';
@@ -1,4 +1,18 @@
1
- import { useState } from "react";
1
+ import { n as DrawerNavigationContext, r as useDrawerNavigation } from "../../DrawerNavigation.js";
2
+ import { t as DrawerNavigation_default } from "../../DrawerNavigation2.js";
3
+ import { t as FilterButton_default } from "../../FilterButton.js";
4
+ import { t as FilterButtonAndChipsWrapper_default } from "../../FilterButtonAndChipsWrapper.js";
5
+ import { t as FilterDrawer_default } from "../../FilterDrawer.js";
6
+ import { r as Link } from "../../FilterLinkList.js";
7
+ import { t as FilterLinkList_default } from "../../FilterLinkList2.js";
8
+ import { t as FilterOverviewLinkList_default } from "../../FilterOverviewLinkList.js";
9
+ import { t as FilterOverviewSearch_default } from "../../FilterOverviewSearch.js";
10
+ import { t as FilterResultCountAndSortWrapper_default } from "../../FilterResultCountAndSortWrapper.js";
11
+ import { t as FilterSearch_default } from "../../FilterSearch2.js";
12
+ import { t as FilterSort_default } from "../../FilterSort.js";
13
+ import { t as FilterStateWrapper_default } from "../../FilterStateWrapper.js";
14
+ import { t as getFilterChips_default } from "../../getFilterChips.js";
15
+ import { useCallback, useState } from "react";
2
16
  const useFilter = (options) => {
3
17
  const [filters, setFiltersState] = useState(() => ({ ...options?.defaultValues }));
4
18
  const removeFilter = (filterKey, optionValue) => {
@@ -48,6 +62,21 @@ const useFilter = (options) => {
48
62
  resetFiltersToEmpty
49
63
  };
50
64
  };
65
+ const useFilterDrawer = () => {
66
+ const [isOpen, setIsOpen] = useState(false);
67
+ const [initialView, setInitialView] = useState(void 0);
68
+ return {
69
+ isOpen,
70
+ initialView,
71
+ open: useCallback((view) => {
72
+ setInitialView(view);
73
+ setIsOpen(true);
74
+ }, []),
75
+ close: useCallback(() => {
76
+ setIsOpen(false);
77
+ }, [])
78
+ };
79
+ };
51
80
  const createFilterConfig = (categories) => {
52
81
  const defaultValues = {};
53
82
  const labelMaps = /* @__PURE__ */ new Map();
@@ -104,6 +133,6 @@ const toggleArrayFilter = (filter, filterKey, value) => {
104
133
  const updated = current.includes(value) ? current.filter((v) => v !== value) : [...current, value];
105
134
  filter.setFilter(filterKey, updated.length > 0 ? updated : void 0);
106
135
  };
107
- export { createFilterConfig, filterItems, matchFilter, toggleArrayFilter, useFilter };
136
+ export { DrawerNavigation_default as DrawerNavigation, DrawerNavigationContext, FilterButton_default as FilterButton, FilterButtonAndChipsWrapper_default as FilterButtonAndChipsWrapper, FilterDrawer_default as FilterDrawer, FilterLinkList_default as FilterLinkList, FilterOverviewLinkList_default as FilterOverviewLinkList, FilterOverviewSearch_default as FilterOverviewSearch, FilterResultCountAndSortWrapper_default as FilterResultCountAndSortWrapper, FilterSearch_default as FilterSearch, FilterSort_default as FilterSort, FilterStateWrapper_default as FilterStateWrapper, Link, createFilterConfig, filterItems, getFilterChips_default as getFilterChips, matchFilter, toggleArrayFilter, useDrawerNavigation, useFilter, useFilterDrawer };
108
137
 
109
138
  //# sourceMappingURL=index.js.map