@uva-glass/component-library 1.28.0 → 1.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/dist/assets/InputField.css +1 -1
  2. package/dist/assets/MultiSelect.css +1 -0
  3. package/dist/assets/MultiSelectItem.css +1 -0
  4. package/dist/components/InputField/InputField.d.ts +2 -1
  5. package/dist/components/InputField/InputField.js +50 -21
  6. package/dist/components/InputField/InputField.js.map +1 -1
  7. package/dist/components/InputField/InputField.stories.d.ts +2 -0
  8. package/dist/components/InputField/InputField.stories.js +35 -9
  9. package/dist/components/InputField/InputField.stories.js.map +1 -1
  10. package/dist/components/MultiSelect/MultiSelect.d.ts +11 -0
  11. package/dist/components/MultiSelect/MultiSelect.js +10 -0
  12. package/dist/components/MultiSelect/MultiSelect.js.map +1 -0
  13. package/dist/components/MultiSelect/MultiSelect.stories.d.ts +5 -0
  14. package/dist/components/MultiSelect/MultiSelect.stories.js +42 -0
  15. package/dist/components/MultiSelect/MultiSelect.stories.js.map +1 -0
  16. package/dist/components/MultiSelect/index.d.ts +1 -0
  17. package/dist/components/MultiSelect/index.js +5 -0
  18. package/dist/components/MultiSelect/index.js.map +1 -0
  19. package/dist/components/MultiSelectItem/MultiSelectItem.d.ts +9 -0
  20. package/dist/components/MultiSelectItem/MultiSelectItem.js +19 -0
  21. package/dist/components/MultiSelectItem/MultiSelectItem.js.map +1 -0
  22. package/dist/components/MultiSelectItem/MultiSelectItem.stories.d.ts +5 -0
  23. package/dist/components/MultiSelectItem/MultiSelectItem.stories.js +17 -0
  24. package/dist/components/MultiSelectItem/MultiSelectItem.stories.js.map +1 -0
  25. package/dist/components/MultiSelectItem/index.d.ts +1 -0
  26. package/dist/components/MultiSelectItem/index.js +5 -0
  27. package/dist/components/MultiSelectItem/index.js.map +1 -0
  28. package/dist/components/index.d.ts +2 -0
  29. package/dist/components/index.js +33 -29
  30. package/dist/components/index.js.map +1 -1
  31. package/dist/index.js +33 -29
  32. package/dist/index.js.map +1 -1
  33. package/package.json +3 -3
  34. package/dist/assets/InputField2.css +0 -1
@@ -1 +1 @@
1
- ._input-field_16tae_1{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:1px solid;border-radius:.5rem;color:var(--color-black);font-family:inherit;font-size:inherit;height:2.75rem;margin:0;padding:0 .5rem;text-align:inherit}._input-field--large_16tae_15{height:3rem}._input-field_16tae_1:disabled{color:var(--color-scarpa-flow)}
1
+ ._input-field-wrapper_hh88t_1{align-items:center;display:flex;position:relative}._input-field_hh88t_1{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:1px solid;border-radius:.5rem;color:var(--color-black);flex:1;font-family:inherit;font-size:inherit;height:2.75rem;margin:0;padding:0 1rem;text-align:inherit}._input-field--large_hh88t_22{height:3rem}._input-field_hh88t_1:disabled{color:var(--color-scarpa-flow)}._input-field__clear-button_hh88t_30{background:none;border:none;cursor:pointer;max-height:1.5rem;padding:0 1rem 0 .5rem;position:absolute;right:0}
@@ -0,0 +1 @@
1
+ ._multi-select_1se76_1{border:1px solid var(--color-black);border-radius:var(--border-radius-default);padding:.75rem}._multi-select__scroll-container_1se76_7{list-style:none;margin:0;max-height:8.75rem;overflow:auto;padding:0}
@@ -0,0 +1 @@
1
+ ._multi-select__item_2oogm_1{list-style:none}._multi-select__item_2oogm_1+._multi-select__item_2oogm_1{margin-top:.5rem}._multi-select__item-inner_2oogm_9{align-items:center;display:flex;gap:.75rem}
@@ -1,8 +1,9 @@
1
- import { InputHTMLAttributes } from 'react';
1
+ import { InputHTMLAttributes, ReactNode } from 'react';
2
2
 
3
3
  export interface InputFieldProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'className' | 'style'> {
4
4
  variant?: 'large';
5
5
  type?: 'text' | 'search' | 'password' | 'email';
6
6
  id: string;
7
+ clearTrigger?: ReactNode;
7
8
  }
8
9
  export declare const InputField: import('react').ForwardRefExoticComponent<InputFieldProps & import('react').RefAttributes<HTMLInputElement>>;
@@ -1,25 +1,54 @@
1
- import { jsx as n } from "react/jsx-runtime";
2
- import { forwardRef as o } from "react";
3
- import { c as a } from "../../clsx-DB4S2d7J.js";
4
- import '../../assets/InputField.css';const e = {
5
- "input-field": "_input-field_16tae_1",
6
- "input-field--large": "_input-field--large_16tae_15"
7
- }, m = o(
8
- ({ autoComplete: t = "off", id: i, variant: r, type: f = "text", ...l }, p) => /* @__PURE__ */ n(
9
- "input",
10
- {
11
- ...l,
12
- autoComplete: t,
13
- ref: p,
14
- id: i,
15
- className: a(e["input-field"], {
16
- [e["input-field--large"]]: r === "large"
17
- }),
18
- type: f
19
- }
20
- )
1
+ import { jsxs as b, jsx as a } from "react/jsx-runtime";
2
+ import { forwardRef as x, useState as s, useRef as C, useEffect as v } from "react";
3
+ import { c as y } from "../../clsx-DB4S2d7J.js";
4
+ import '../../assets/InputField.css';const n = {
5
+ "input-field-wrapper": "_input-field-wrapper_hh88t_1",
6
+ "input-field": "_input-field_hh88t_1",
7
+ "input-field--large": "_input-field--large_hh88t_22",
8
+ "input-field__clear-button": "_input-field__clear-button_hh88t_30"
9
+ }, j = x(
10
+ ({ autoComplete: c = "off", id: u, variant: o, type: p = "text", clearTrigger: i, ...f }, t) => {
11
+ const [e, r] = s(""), [h, _] = s(0), l = C(null);
12
+ v(() => {
13
+ l.current && _(l.current.offsetWidth);
14
+ }, [e]);
15
+ const d = () => {
16
+ r(""), t && "current" in t && t.current && t.current.focus();
17
+ }, m = (g) => {
18
+ r(g.target.value);
19
+ };
20
+ return /* @__PURE__ */ b("div", { className: n["input-field-wrapper"], children: [
21
+ /* @__PURE__ */ a(
22
+ "input",
23
+ {
24
+ ...f,
25
+ autoComplete: c,
26
+ ref: t,
27
+ id: u,
28
+ className: y(n["input-field"], {
29
+ [n["input-field--large"]]: o === "large"
30
+ }),
31
+ type: p,
32
+ value: e,
33
+ onChange: m,
34
+ style: { paddingRight: e && i ? h : void 0 }
35
+ }
36
+ ),
37
+ e && i && /* @__PURE__ */ a(
38
+ "button",
39
+ {
40
+ type: "button",
41
+ className: n["input-field__clear-button"],
42
+ onClick: d,
43
+ ref: l,
44
+ "aria-label": `clear trigger for ${u}`,
45
+ children: i
46
+ }
47
+ )
48
+ ] });
49
+ }
21
50
  );
22
51
  export {
23
- m as InputField
52
+ j as InputField
24
53
  };
25
54
  //# sourceMappingURL=InputField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InputField.js","sources":["../../../src/components/InputField/InputField.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport { clsx } from 'clsx';\n\nimport type { InputHTMLAttributes } from 'react';\n\nimport styles from './InputField.module.css';\n\nexport interface InputFieldProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'className' | 'style'> {\n variant?: 'large';\n type?: 'text' | 'search' | 'password' | 'email';\n id: string;\n}\n\nexport const InputField = forwardRef<HTMLInputElement, InputFieldProps>(\n ({ autoComplete = 'off', id, variant, type = 'text', ...restProps }: InputFieldProps, forwardedRef) => {\n return (\n <input\n {...restProps}\n autoComplete={autoComplete}\n ref={forwardedRef}\n id={id}\n className={clsx(styles['input-field'], {\n [styles['input-field--large']]: variant === 'large',\n })}\n type={type}\n />\n );\n }\n);\n"],"names":["InputField","forwardRef","autoComplete","id","variant","type","restProps","forwardedRef","jsx","clsx","styles"],"mappings":";;;;;;GAaaA,IAAaC;AAAA,EACxB,CAAC,EAAE,cAAAC,IAAe,OAAO,IAAAC,GAAI,SAAAC,GAAS,MAAAC,IAAO,QAAQ,GAAGC,EAAU,GAAoBC,MAElF,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAGF;AAAA,MACJ,cAAAJ;AAAA,MACA,KAAKK;AAAA,MACL,IAAAJ;AAAA,MACA,WAAWM,EAAKC,EAAO,aAAa,GAAG;AAAA,QACrC,CAACA,EAAO,oBAAoB,CAAC,GAAGN,MAAY;AAAA,MAAA,CAC7C;AAAA,MACD,MAAAC;AAAA,IAAA;AAAA,EAAA;AAIR;"}
1
+ {"version":3,"file":"InputField.js","sources":["../../../src/components/InputField/InputField.tsx"],"sourcesContent":["import { forwardRef, useState, useEffect, useRef } from 'react';\nimport { clsx } from 'clsx';\n\nimport type { InputHTMLAttributes, ReactNode } from 'react';\n\nimport styles from './InputField.module.css';\n\nexport interface InputFieldProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'className' | 'style'> {\n variant?: 'large';\n type?: 'text' | 'search' | 'password' | 'email';\n id: string;\n clearTrigger?: ReactNode;\n}\n\nexport const InputField = forwardRef<HTMLInputElement, InputFieldProps>(\n ({ autoComplete = 'off', id, variant, type = 'text', clearTrigger, ...restProps }: InputFieldProps, forwardedRef) => {\n const [value, setValue] = useState<string>('');\n const [clearButtonWidth, setClearButtonWidth] = useState<number>(0);\n const clearButtonRef = useRef<HTMLButtonElement>(null);\n\n useEffect(() => {\n if (clearButtonRef.current) {\n setClearButtonWidth(clearButtonRef.current.offsetWidth);\n }\n }, [value]);\n\n const handleClear = () => {\n setValue('');\n if (forwardedRef && 'current' in forwardedRef && forwardedRef.current) {\n forwardedRef.current.focus();\n }\n };\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n setValue(event.target.value);\n };\n\n return (\n <div className={styles['input-field-wrapper']}>\n <input\n {...restProps}\n autoComplete={autoComplete}\n ref={forwardedRef}\n id={id}\n className={clsx(styles['input-field'], {\n [styles['input-field--large']]: variant === 'large',\n })}\n type={type}\n value={value}\n onChange={handleChange}\n style={{ paddingRight: value && clearTrigger ? clearButtonWidth : undefined }}\n />\n {value && clearTrigger && (\n <button\n type=\"button\"\n className={styles['input-field__clear-button']}\n onClick={handleClear}\n ref={clearButtonRef}\n aria-label={`clear trigger for ${id}`}\n >\n {clearTrigger}\n </button>\n )}\n </div>\n );\n }\n);\n"],"names":["InputField","forwardRef","autoComplete","id","variant","type","clearTrigger","restProps","forwardedRef","value","setValue","useState","clearButtonWidth","setClearButtonWidth","clearButtonRef","useRef","useEffect","handleClear","handleChange","event","jsxs","styles","jsx","clsx"],"mappings":";;;;;;;;GAcaA,IAAaC;AAAA,EACxB,CAAC,EAAE,cAAAC,IAAe,OAAO,IAAAC,GAAI,SAAAC,GAAS,MAAAC,IAAO,QAAQ,cAAAC,GAAc,GAAGC,EAAU,GAAoBC,MAAiB;AACnH,UAAM,CAACC,GAAOC,CAAQ,IAAIC,EAAiB,EAAE,GACvC,CAACC,GAAkBC,CAAmB,IAAIF,EAAiB,CAAC,GAC5DG,IAAiBC,EAA0B,IAAI;AAErD,IAAAC,EAAU,MAAM;AACd,MAAIF,EAAe,WACGD,EAAAC,EAAe,QAAQ,WAAW;AAAA,IACxD,GACC,CAACL,CAAK,CAAC;AAEV,UAAMQ,IAAc,MAAM;AACxB,MAAAP,EAAS,EAAE,GACPF,KAAgB,aAAaA,KAAgBA,EAAa,WAC5DA,EAAa,QAAQ;IACvB,GAGIU,IAAe,CAACC,MAA+C;AAC1D,MAAAT,EAAAS,EAAM,OAAO,KAAK;AAAA,IAAA;AAG7B,WACG,gBAAAC,EAAA,OAAA,EAAI,WAAWC,EAAO,qBAAqB,GAC1C,UAAA;AAAA,MAAA,gBAAAC;AAAA,QAAC;AAAA,QAAA;AAAA,UACE,GAAGf;AAAA,UACJ,cAAAL;AAAA,UACA,KAAKM;AAAA,UACL,IAAAL;AAAA,UACA,WAAWoB,EAAKF,EAAO,aAAa,GAAG;AAAA,YACrC,CAACA,EAAO,oBAAoB,CAAC,GAAGjB,MAAY;AAAA,UAAA,CAC7C;AAAA,UACD,MAAAC;AAAA,UACA,OAAAI;AAAA,UACA,UAAUS;AAAA,UACV,OAAO,EAAE,cAAcT,KAASH,IAAeM,IAAmB,OAAU;AAAA,QAAA;AAAA,MAC9E;AAAA,MACCH,KAASH,KACR,gBAAAgB;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,WAAWD,EAAO,2BAA2B;AAAA,UAC7C,SAASJ;AAAA,UACT,KAAKH;AAAA,UACL,cAAY,qBAAqBX,CAAE;AAAA,UAElC,UAAAG;AAAA,QAAA;AAAA,MACH;AAAA,IAEJ,EAAA,CAAA;AAAA,EAEJ;AACF;"}
@@ -3,3 +3,5 @@ import { InputFieldProps } from './InputField';
3
3
  declare const _default: import('@storybook/types').ComponentAnnotations<import('@storybook/react').ReactRenderer, InputFieldProps>;
4
4
  export default _default;
5
5
  export declare const InputFieldExample: import('@storybook/types').AnnotatedStoryFn<import('@storybook/react').ReactRenderer, InputFieldProps>;
6
+ export declare const WithStringClearTrigger: import('@storybook/types').AnnotatedStoryFn<import('@storybook/react').ReactRenderer, InputFieldProps>;
7
+ export declare const WithIconClearTrigger: import('@storybook/types').AnnotatedStoryFn<import('@storybook/react').ReactRenderer, InputFieldProps>;
@@ -1,11 +1,20 @@
1
- import { jsx as e } from "react/jsx-runtime";
2
- import { InputField as o } from "./InputField.js";
3
- import '../../assets/InputField2.css';const a = (t) => {
1
+ import { jsx as o } from "react/jsx-runtime";
2
+ import { useRef as a } from "react";
3
+ import { InputField as n } from "./InputField.js";
4
+ import { Container as s } from "../storyComponents/Container/Container.js";
5
+ import { Icon as p } from "../Icon/Icon.js";
6
+ import "../Button/Button.js";
7
+ import "../OverlayCloseButton/OverlayCloseButton.js";
8
+ import "../IconButton/IconButton.js";
9
+ import "../Input/Input.js";
10
+ import "../SelectListbox/SelectListbox.js";
11
+ import "../SelectListbox/SelectProvider.js";
12
+ const l = (t) => {
4
13
  const r = t.variant ?? [];
5
14
  return { ...t, variant: r.toString() };
6
- }, d = {
15
+ }, A = {
7
16
  title: "Atoms/InputField",
8
- component: o,
17
+ component: n,
9
18
  argTypes: {
10
19
  variant: {
11
20
  options: ["large"],
@@ -24,14 +33,31 @@ import '../../assets/InputField2.css';const a = (t) => {
24
33
  }
25
34
  }
26
35
  }
27
- }, i = (t) => /* @__PURE__ */ e("div", { className: "form", children: /* @__PURE__ */ e("div", { className: "form-field", children: /* @__PURE__ */ e(o, { ...a(t) }) }) }), n = i.bind({});
28
- n.args = {
36
+ }, e = (t) => {
37
+ const r = a(null);
38
+ return /* @__PURE__ */ o(s, { children: /* @__PURE__ */ o(n, { ...l(t), ref: r }) });
39
+ }, i = {
29
40
  type: "text",
30
41
  variant: void 0,
31
42
  id: "4f9ca77d"
43
+ }, m = e.bind({});
44
+ m.args = {
45
+ ...i
46
+ };
47
+ const c = e.bind({});
48
+ c.args = {
49
+ ...i,
50
+ clearTrigger: "Clear"
51
+ };
52
+ const d = e.bind({});
53
+ d.args = {
54
+ ...i,
55
+ clearTrigger: /* @__PURE__ */ o(p, { name: "Cross" })
32
56
  };
33
57
  export {
34
- n as InputFieldExample,
35
- d as default
58
+ m as InputFieldExample,
59
+ d as WithIconClearTrigger,
60
+ c as WithStringClearTrigger,
61
+ A as default
36
62
  };
37
63
  //# sourceMappingURL=InputField.stories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InputField.stories.js","sources":["../../../src/components/InputField/InputField.stories.tsx"],"sourcesContent":["import type { Meta, StoryFn } from '@storybook/react';\nimport type { InputFieldProps } from './InputField';\n\nimport './InputField.stories.css';\n\nimport { InputField } from './InputField';\n\nconst transformArgs = (args: InputFieldProps) => {\n // args.variant is provided as an array because the control type is set to a checkbox. So this transforms the selected value into its proper value: a string\n const variantArray = (args.variant as unknown as string[]) ?? [];\n return { ...args, ...{ variant: variantArray.toString() } } as InputFieldProps;\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n title: 'Atoms/InputField',\n component: InputField,\n argTypes: {\n variant: {\n options: ['large'],\n control: 'check',\n },\n type: {\n control: 'radio',\n options: ['text', 'search', 'password', 'email'],\n },\n id: {\n control: 'text',\n },\n autoComplete: {\n table: {\n disable: true,\n },\n },\n },\n} as Meta<InputFieldProps>;\n\nconst Template: StoryFn<InputFieldProps> = (args) => (\n <div className=\"form\">\n <div className=\"form-field\">\n <InputField {...transformArgs(args)} />\n </div>\n </div>\n);\n\nexport const InputFieldExample = Template.bind({});\nInputFieldExample.args = {\n type: 'text',\n variant: undefined,\n id: '4f9ca77d',\n};\n"],"names":["transformArgs","args","variantArray","InputField_stories","InputField","Template","jsx","InputFieldExample"],"mappings":";;AAOA,MAAMA,IAAgB,CAACC,MAA0B;AAEzC,QAAAC,IAAgBD,EAAK,WAAmC;AACvD,SAAA,EAAE,GAAGA,GAAW,SAASC,EAAa,SAAS;AACxD,GAGeC,IAAA;AAAA,EACb,OAAO;AAAA,EACP,WAAWC;AAAA,EACX,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS,CAAC,OAAO;AAAA,MACjB,SAAS;AAAA,IACX;AAAA,IACA,MAAM;AAAA,MACJ,SAAS;AAAA,MACT,SAAS,CAAC,QAAQ,UAAU,YAAY,OAAO;AAAA,IACjD;AAAA,IACA,IAAI;AAAA,MACF,SAAS;AAAA,IACX;AAAA,IACA,cAAc;AAAA,MACZ,OAAO;AAAA,QACL,SAAS;AAAA,MACX;AAAA,IACF;AAAA,EACF;AACF,GAEMC,IAAqC,CAACJ,wBACzC,OAAI,EAAA,WAAU,QACb,UAAC,gBAAAK,EAAA,OAAA,EAAI,WAAU,cACb,4BAACF,GAAY,EAAA,GAAGJ,EAAcC,CAAI,EAAG,CAAA,GACvC,EACF,CAAA,GAGWM,IAAoBF,EAAS,KAAK,EAAE;AACjDE,EAAkB,OAAO;AAAA,EACvB,MAAM;AAAA,EACN,SAAS;AAAA,EACT,IAAI;AACN;"}
1
+ {"version":3,"file":"InputField.stories.js","sources":["../../../src/components/InputField/InputField.stories.tsx"],"sourcesContent":["import { useRef } from 'react';\n\nimport type { Meta, StoryFn } from '@storybook/react';\nimport type { InputFieldProps } from './InputField';\n\nimport { InputField } from './InputField';\n\nimport { Container } from 'components/storyComponents/Container';\nimport { Icon } from 'components';\n\nconst transformArgs = (args: InputFieldProps) => {\n // args.variant is provided as an array because the control type is set to a checkbox. So this transforms the selected value into its proper value: a string\n const variantArray = (args.variant as unknown as string[]) ?? [];\n return { ...args, ...{ variant: variantArray.toString() } } as InputFieldProps;\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n title: 'Atoms/InputField',\n component: InputField,\n argTypes: {\n variant: {\n options: ['large'],\n control: 'check',\n },\n type: {\n control: 'radio',\n options: ['text', 'search', 'password', 'email'],\n },\n id: {\n control: 'text',\n },\n autoComplete: {\n table: {\n disable: true,\n },\n },\n },\n} as Meta<InputFieldProps>;\n\nconst Template: StoryFn<InputFieldProps> = (args) => {\n const inputRef = useRef<HTMLInputElement>(null);\n\n return (\n <Container>\n <InputField {...transformArgs(args)} ref={inputRef} />\n </Container>\n );\n};\n\nconst defaultArgs: Partial<InputFieldProps> = {\n type: 'text',\n variant: undefined,\n id: '4f9ca77d',\n};\n\nexport const InputFieldExample = Template.bind({});\nInputFieldExample.args = {\n ...defaultArgs,\n};\n\nexport const WithStringClearTrigger = Template.bind({});\nWithStringClearTrigger.args = {\n ...defaultArgs,\n clearTrigger: 'Clear',\n};\n\nexport const WithIconClearTrigger = Template.bind({});\nWithIconClearTrigger.args = {\n ...defaultArgs,\n clearTrigger: <Icon name=\"Cross\" />,\n};\n"],"names":["transformArgs","args","variantArray","InputField_stories","InputField","Template","inputRef","useRef","jsx","Container","defaultArgs","InputFieldExample","WithStringClearTrigger","WithIconClearTrigger","Icon"],"mappings":";;;;;;;;;;;AAUA,MAAMA,IAAgB,CAACC,MAA0B;AAEzC,QAAAC,IAAgBD,EAAK,WAAmC;AACvD,SAAA,EAAE,GAAGA,GAAW,SAASC,EAAa,SAAS;AACxD,GAGeC,IAAA;AAAA,EACb,OAAO;AAAA,EACP,WAAWC;AAAA,EACX,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS,CAAC,OAAO;AAAA,MACjB,SAAS;AAAA,IACX;AAAA,IACA,MAAM;AAAA,MACJ,SAAS;AAAA,MACT,SAAS,CAAC,QAAQ,UAAU,YAAY,OAAO;AAAA,IACjD;AAAA,IACA,IAAI;AAAA,MACF,SAAS;AAAA,IACX;AAAA,IACA,cAAc;AAAA,MACZ,OAAO;AAAA,QACL,SAAS;AAAA,MACX;AAAA,IACF;AAAA,EACF;AACF,GAEMC,IAAqC,CAACJ,MAAS;AAC7C,QAAAK,IAAWC,EAAyB,IAAI;AAG5C,SAAA,gBAAAC,EAACC,GACC,EAAA,UAAA,gBAAAD,EAACJ,GAAY,EAAA,GAAGJ,EAAcC,CAAI,GAAG,KAAKK,EAAU,CAAA,EACtD,CAAA;AAEJ,GAEMI,IAAwC;AAAA,EAC5C,MAAM;AAAA,EACN,SAAS;AAAA,EACT,IAAI;AACN,GAEaC,IAAoBN,EAAS,KAAK,EAAE;AACjDM,EAAkB,OAAO;AAAA,EACvB,GAAGD;AACL;AAEO,MAAME,IAAyBP,EAAS,KAAK,EAAE;AACtDO,EAAuB,OAAO;AAAA,EAC5B,GAAGF;AAAA,EACH,cAAc;AAChB;AAEO,MAAMG,IAAuBR,EAAS,KAAK,EAAE;AACpDQ,EAAqB,OAAO;AAAA,EAC1B,GAAGH;AAAA,EACH,cAAc,gBAAAF,EAACM,GAAK,EAAA,MAAK,QAAQ,CAAA;AACnC;"}
@@ -0,0 +1,11 @@
1
+ import { ChangeEvent } from 'react';
2
+
3
+ export interface MultiSelectProps {
4
+ items: Array<{
5
+ label: string;
6
+ value: string | number;
7
+ checked: boolean;
8
+ }>;
9
+ onChange(event: ChangeEvent<HTMLInputElement>): void;
10
+ }
11
+ export declare const MultiSelect: ({ items, onChange }: MultiSelectProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,10 @@
1
+ import { jsx as l } from "react/jsx-runtime";
2
+ import { MultiSelectItem as i } from "../MultiSelectItem/MultiSelectItem.js";
3
+ import '../../assets/MultiSelect.css';const t = {
4
+ "multi-select": "_multi-select_1se76_1",
5
+ "multi-select__scroll-container": "_multi-select__scroll-container_1se76_7"
6
+ }, r = ({ items: c, onChange: s }) => /* @__PURE__ */ l("div", { className: t["multi-select"], children: /* @__PURE__ */ l("ul", { className: t["multi-select__scroll-container"], children: c.map((e) => /* @__PURE__ */ l(i, { ...e, onChange: s }, e.label)) }) });
7
+ export {
8
+ r as MultiSelect
9
+ };
10
+ //# sourceMappingURL=MultiSelect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiSelect.js","sources":["../../../src/components/MultiSelect/MultiSelect.tsx"],"sourcesContent":["import type { ChangeEvent } from 'react';\n\nimport styles from './MultiSelect.module.css';\n\nimport { MultiSelectItem } from 'components/MultiSelectItem';\n\nexport interface MultiSelectProps {\n items: Array<{\n label: string;\n value: string | number;\n checked: boolean;\n }>;\n onChange(event: ChangeEvent<HTMLInputElement>): void;\n}\n\nexport const MultiSelect = ({ items, onChange }: MultiSelectProps) => (\n <div className={styles['multi-select']}>\n <ul className={styles['multi-select__scroll-container']}>\n {items.map((item) => (\n <MultiSelectItem key={item.label} {...item} onChange={onChange} />\n ))}\n </ul>\n </div>\n);\n"],"names":["MultiSelect","items","onChange","jsx","styles","item","MultiSelectItem"],"mappings":";;;;;GAeaA,IAAc,CAAC,EAAE,OAAAC,GAAO,UAAAC,EAAS,MAC3C,gBAAAC,EAAA,OAAA,EAAI,WAAWC,EAAO,cAAc,GACnC,4BAAC,MAAG,EAAA,WAAWA,EAAO,gCAAgC,GACnD,UAAAH,EAAM,IAAI,CAACI,MACT,gBAAAF,EAAAG,GAAA,EAAkC,GAAGD,GAAM,UAAAH,EAAtB,GAAAG,EAAK,KAAqC,CACjE,GACH,EACF,CAAA;"}
@@ -0,0 +1,5 @@
1
+ import { MultiSelectProps } from './MultiSelect';
2
+
3
+ declare const _default: import('@storybook/types').ComponentAnnotations<import('@storybook/react').ReactRenderer, MultiSelectProps>;
4
+ export default _default;
5
+ export declare const MultiSelectExample: import('@storybook/types').AnnotatedStoryFn<import('@storybook/react').ReactRenderer, MultiSelectProps>;
@@ -0,0 +1,42 @@
1
+ import { jsx as c } from "react/jsx-runtime";
2
+ import { f as r } from "../../index-DFUrxrKJ.js";
3
+ import { useState as u } from "react";
4
+ import { MultiSelect as o } from "./MultiSelect.js";
5
+ const h = {
6
+ title: "Organisms/MultiSelect",
7
+ component: o,
8
+ argTypes: {
9
+ onChange: { action: "changed" }
10
+ }
11
+ }, I = () => {
12
+ const [s, i] = u([]);
13
+ return /* @__PURE__ */ c(
14
+ o,
15
+ {
16
+ items: [
17
+ { label: "Item 1", itemValue: "1" },
18
+ { label: "Item 2", itemValue: "2" },
19
+ { label: "Item 3", itemValue: "3" },
20
+ { label: "Item 4", itemValue: "4" },
21
+ { label: "Item 5", itemValue: "5" },
22
+ { label: "Item 6", itemValue: "6" }
23
+ ].map(({ label: t, itemValue: e }) => ({
24
+ label: t,
25
+ value: e,
26
+ checked: s.includes(e)
27
+ })),
28
+ onChange: (t) => {
29
+ const { checked: e, value: l } = t.target;
30
+ i((m) => {
31
+ const a = e ? [...m, l] : m.filter((n) => n !== l);
32
+ return r()(a), a;
33
+ });
34
+ }
35
+ }
36
+ );
37
+ }, V = I.bind({});
38
+ export {
39
+ V as MultiSelectExample,
40
+ h as default
41
+ };
42
+ //# sourceMappingURL=MultiSelect.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiSelect.stories.js","sources":["../../../src/components/MultiSelect/MultiSelect.stories.tsx"],"sourcesContent":["import { fn } from '@storybook/test';\nimport { useState } from 'react';\n\nimport type { Meta, StoryFn } from '@storybook/react';\nimport type { MultiSelectProps } from './MultiSelect';\n\nimport { MultiSelect } from './MultiSelect';\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n title: 'Organisms/MultiSelect',\n component: MultiSelect,\n argTypes: {\n onChange: { action: 'changed' },\n },\n} as Meta<MultiSelectProps>;\n\nconst Template: StoryFn<MultiSelectProps> = () => {\n const [items, setItems] = useState<string[]>([]);\n\n const mockItems = [\n { label: 'Item 1', itemValue: '1' },\n { label: 'Item 2', itemValue: '2' },\n { label: 'Item 3', itemValue: '3' },\n { label: 'Item 4', itemValue: '4' },\n { label: 'Item 5', itemValue: '5' },\n { label: 'Item 6', itemValue: '6' },\n ];\n\n return (\n <MultiSelect\n items={mockItems.map(({ label, itemValue }) => ({\n label,\n value: itemValue,\n checked: items.includes(itemValue),\n }))}\n onChange={(event) => {\n const { checked, value } = event.target;\n setItems((prevState) => {\n const newItems = checked ? [...prevState, value] : prevState.filter((itemValue) => itemValue !== value);\n fn()(newItems);\n return newItems;\n });\n }}\n />\n );\n};\n\nexport const MultiSelectExample = Template.bind({});\n"],"names":["MultiSelect_stories","MultiSelect","Template","items","setItems","useState","jsx","label","itemValue","event","checked","value","prevState","newItems","fn","MultiSelectExample"],"mappings":";;;;AASA,MAAeA,IAAA;AAAA,EACb,OAAO;AAAA,EACP,WAAWC;AAAA,EACX,UAAU;AAAA,IACR,UAAU,EAAE,QAAQ,UAAU;AAAA,EAChC;AACF,GAEMC,IAAsC,MAAM;AAChD,QAAM,CAACC,GAAOC,CAAQ,IAAIC,EAAmB,CAAE,CAAA;AAY7C,SAAA,gBAAAC;AAAA,IAACL;AAAA,IAAA;AAAA,MACC,OAXc;AAAA,QAChB,EAAE,OAAO,UAAU,WAAW,IAAI;AAAA,QAClC,EAAE,OAAO,UAAU,WAAW,IAAI;AAAA,QAClC,EAAE,OAAO,UAAU,WAAW,IAAI;AAAA,QAClC,EAAE,OAAO,UAAU,WAAW,IAAI;AAAA,QAClC,EAAE,OAAO,UAAU,WAAW,IAAI;AAAA,QAClC,EAAE,OAAO,UAAU,WAAW,IAAI;AAAA,MAAA,EAKf,IAAI,CAAC,EAAE,OAAAM,GAAO,WAAAC,SAAiB;AAAA,QAC9C,OAAAD;AAAA,QACA,OAAOC;AAAA,QACP,SAASL,EAAM,SAASK,CAAS;AAAA,MAAA,EACjC;AAAA,MACF,UAAU,CAACC,MAAU;AACnB,cAAM,EAAE,SAAAC,GAAS,OAAAC,MAAUF,EAAM;AACjC,QAAAL,EAAS,CAACQ,MAAc;AACtB,gBAAMC,IAAWH,IAAU,CAAC,GAAGE,GAAWD,CAAK,IAAIC,EAAU,OAAO,CAACJ,MAAcA,MAAcG,CAAK;AACtGG,iBAAAA,EAAA,EAAKD,CAAQ,GACNA;AAAA,QAAA,CACR;AAAA,MACH;AAAA,IAAA;AAAA,EAAA;AAGN,GAEaE,IAAqBb,EAAS,KAAK,CAAE,CAAA;"}
@@ -0,0 +1 @@
1
+ export * from './MultiSelect';
@@ -0,0 +1,5 @@
1
+ import { MultiSelect as l } from "./MultiSelect.js";
2
+ export {
3
+ l as MultiSelect
4
+ };
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,9 @@
1
+ import { ChangeEvent } from 'react';
2
+
3
+ export interface MultiSelectItemProps {
4
+ label: string;
5
+ value: string | number;
6
+ checked: boolean;
7
+ onChange(event: ChangeEvent<HTMLInputElement>): void;
8
+ }
9
+ export declare function MultiSelectItem({ label, value, checked, onChange }: MultiSelectItemProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,19 @@
1
+ import { jsx as e, jsxs as s } from "react/jsx-runtime";
2
+ import { useId as _ } from "react";
3
+ import { Checkbox as c } from "../Checkbox/Checkbox.js";
4
+ import { Label as n } from "../Label/Label.js";
5
+ import '../../assets/MultiSelectItem.css';const i = {
6
+ "multi-select__item": "_multi-select__item_2oogm_1",
7
+ "multi-select__item-inner": "_multi-select__item-inner_2oogm_9"
8
+ };
9
+ function h({ label: m, value: l, checked: o, onChange: r }) {
10
+ const t = _();
11
+ return /* @__PURE__ */ e("li", { className: i["multi-select__item"], children: /* @__PURE__ */ s("div", { className: i["multi-select__item-inner"], children: [
12
+ /* @__PURE__ */ e(c, { id: t, value: l, checked: o, onChange: r }),
13
+ /* @__PURE__ */ e(n, { htmlFor: t, children: m })
14
+ ] }) });
15
+ }
16
+ export {
17
+ h as MultiSelectItem
18
+ };
19
+ //# sourceMappingURL=MultiSelectItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiSelectItem.js","sources":["../../../src/components/MultiSelectItem/MultiSelectItem.tsx"],"sourcesContent":["import { useId } from 'react';\n\nimport type { ChangeEvent } from 'react';\n\nimport styles from './MultiSelectItem.module.css';\n\nimport { Checkbox } from 'components/Checkbox';\nimport { Label } from 'components/Label';\n\nexport interface MultiSelectItemProps {\n label: string;\n value: string | number;\n checked: boolean;\n onChange(event: ChangeEvent<HTMLInputElement>): void;\n}\n\nexport function MultiSelectItem({ label, value, checked, onChange }: MultiSelectItemProps) {\n const id = useId();\n\n return (\n <li className={styles['multi-select__item']}>\n <div className={styles['multi-select__item-inner']}>\n <Checkbox id={id} value={value} checked={checked} onChange={onChange} />\n <Label htmlFor={id}>{label}</Label>\n </div>\n </li>\n );\n}\n"],"names":["MultiSelectItem","label","value","checked","onChange","id","useId","jsx","styles","jsxs","Checkbox","Label"],"mappings":";;;;;;;;AAgBO,SAASA,EAAgB,EAAE,OAAAC,GAAO,OAAAC,GAAO,SAAAC,GAAS,UAAAC,KAAkC;AACzF,QAAMC,IAAKC;AAGT,SAAA,gBAAAC,EAAC,MAAG,EAAA,WAAWC,EAAO,oBAAoB,GACxC,UAAA,gBAAAC,EAAC,OAAI,EAAA,WAAWD,EAAO,0BAA0B,GAC/C,UAAA;AAAA,IAAA,gBAAAD,EAACG,GAAS,EAAA,IAAAL,GAAQ,OAAAH,GAAc,SAAAC,GAAkB,UAAAC,GAAoB;AAAA,IACrE,gBAAAG,EAAAI,GAAA,EAAM,SAASN,GAAK,UAAMJ,GAAA;AAAA,EAAA,EAC7B,CAAA,EACF,CAAA;AAEJ;"}
@@ -0,0 +1,5 @@
1
+ import { MultiSelectItemProps } from './MultiSelectItem';
2
+
3
+ declare const _default: import('@storybook/types').ComponentAnnotations<import('@storybook/react').ReactRenderer, MultiSelectItemProps>;
4
+ export default _default;
5
+ export declare const MultiSelectItemExample: import('@storybook/types').AnnotatedStoryFn<import('@storybook/react').ReactRenderer, MultiSelectItemProps>;
@@ -0,0 +1,17 @@
1
+ import { jsx as l } from "react/jsx-runtime";
2
+ import { f as m } from "../../index-DFUrxrKJ.js";
3
+ import { MultiSelectItem as e } from "./MultiSelectItem.js";
4
+ const u = {
5
+ title: "Molecules/MultiSelectItem",
6
+ component: e
7
+ }, o = (t) => /* @__PURE__ */ l(e, { ...t }), i = o.bind({});
8
+ i.args = {
9
+ label: "Example MultiSelectItem",
10
+ value: "Value MultiSelectItem",
11
+ onChange: m()
12
+ };
13
+ export {
14
+ i as MultiSelectItemExample,
15
+ u as default
16
+ };
17
+ //# sourceMappingURL=MultiSelectItem.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiSelectItem.stories.js","sources":["../../../src/components/MultiSelectItem/MultiSelectItem.stories.tsx"],"sourcesContent":["import { fn } from '@storybook/test';\n\nimport type { Meta, StoryFn } from '@storybook/react';\nimport type { MultiSelectItemProps } from './MultiSelectItem';\n\nimport { MultiSelectItem } from './MultiSelectItem';\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n title: 'Molecules/MultiSelectItem',\n component: MultiSelectItem,\n} as Meta<MultiSelectItemProps>;\n\nconst Template: StoryFn<MultiSelectItemProps> = (args) => <MultiSelectItem {...args} />;\n\nexport const MultiSelectItemExample = Template.bind({});\nMultiSelectItemExample.args = {\n label: 'Example MultiSelectItem',\n value: 'Value MultiSelectItem',\n onChange: fn(),\n};\n"],"names":["MultiSelectItem_stories","MultiSelectItem","Template","args","jsx","MultiSelectItemExample","fn"],"mappings":";;;AAQA,MAAeA,IAAA;AAAA,EACb,OAAO;AAAA,EACP,WAAWC;AACb,GAEMC,IAA0C,CAACC,MAAU,gBAAAC,EAAAH,GAAA,EAAiB,GAAGE,EAAM,CAAA,GAExEE,IAAyBH,EAAS,KAAK,EAAE;AACtDG,EAAuB,OAAO;AAAA,EAC5B,OAAO;AAAA,EACP,OAAO;AAAA,EACP,UAAUC,EAAG;AACf;"}
@@ -0,0 +1 @@
1
+ export * from './MultiSelectItem';
@@ -0,0 +1,5 @@
1
+ import { MultiSelectItem as l } from "./MultiSelectItem.js";
2
+ export {
3
+ l as MultiSelectItem
4
+ };
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -18,6 +18,8 @@ export * from './Label';
18
18
  export * from './MenuLink';
19
19
  export * from './MetaDataList';
20
20
  export * from './ModalDialog';
21
+ export * from './MultiSelect';
22
+ export * from './MultiSelectItem';
21
23
  export * from './OverlayCloseButton';
22
24
  export * from './ProgrammeCard';
23
25
  export * from './RadioButton';
@@ -1,12 +1,12 @@
1
1
  import { Accordion as t } from "./Accordion/Accordion.js";
2
2
  import { AppStatusBar as p } from "./AppStatusBar/AppStatusBar.js";
3
3
  import { Attention as f } from "./Attention/Attention.js";
4
- import { Backdrop as a } from "./Backdrop/Backdrop.js";
5
- import { Button as i } from "./Button/Button.js";
4
+ import { Backdrop as i } from "./Backdrop/Backdrop.js";
5
+ import { Button as n } from "./Button/Button.js";
6
6
  import { ButtonGroup as u } from "./ButtonGroup/ButtonGroup.js";
7
7
  import { Card as d } from "./Card/Card.js";
8
- import { Checkbox as B } from "./Checkbox/Checkbox.js";
9
- import { Drawer as I } from "./Drawer/Drawer.js";
8
+ import { Checkbox as S } from "./Checkbox/Checkbox.js";
9
+ import { Drawer as M } from "./Drawer/Drawer.js";
10
10
  import { FieldHint as C } from "./FieldHint/FieldHint.js";
11
11
  import { FormField as L } from "./FormField/FormField.js";
12
12
  import { Icon as g } from "./Icon/Icon.js";
@@ -18,26 +18,28 @@ import { Label as G } from "./Label/Label.js";
18
18
  import { M as N } from "../MenuLink-CLEqkVVh.js";
19
19
  import { MetaDataList as T } from "./MetaDataList/MetaDataList.js";
20
20
  import { ModalDialog as q } from "./ModalDialog/ModalDialog.js";
21
- import { OverlayCloseButton as E } from "./OverlayCloseButton/OverlayCloseButton.js";
22
- import { ProgrammeCard as K } from "./ProgrammeCard/ProgrammeCard.js";
23
- import { RadioButton as U } from "./RadioButton/RadioButton.js";
24
- import { Repeater as W } from "./Repeater/Repeater.js";
25
- import { SectionNotification as Y } from "./SectionNotification/SectionNotification.js";
26
- import { SelectListbox as _ } from "./SelectListbox/SelectListbox.js";
27
- import { SelectProvider as oo, useSelect as ro } from "./SelectListbox/SelectProvider.js";
28
- import { Spinner as eo } from "./Spinner/Spinner.js";
29
- import { StatusPill as mo } from "./StatusPill/StatusPill.js";
30
- import { Tooltip as xo } from "./Tooltip/Tooltip.js";
21
+ import { MultiSelect as E } from "./MultiSelect/MultiSelect.js";
22
+ import { MultiSelectItem as K } from "./MultiSelectItem/MultiSelectItem.js";
23
+ import { OverlayCloseButton as U } from "./OverlayCloseButton/OverlayCloseButton.js";
24
+ import { ProgrammeCard as W } from "./ProgrammeCard/ProgrammeCard.js";
25
+ import { RadioButton as Y } from "./RadioButton/RadioButton.js";
26
+ import { Repeater as _ } from "./Repeater/Repeater.js";
27
+ import { SectionNotification as oo } from "./SectionNotification/SectionNotification.js";
28
+ import { SelectListbox as to } from "./SelectListbox/SelectListbox.js";
29
+ import { SelectProvider as po, useSelect as mo } from "./SelectListbox/SelectProvider.js";
30
+ import { Spinner as xo } from "./Spinner/Spinner.js";
31
+ import { StatusPill as ao } from "./StatusPill/StatusPill.js";
32
+ import { Tooltip as lo } from "./Tooltip/Tooltip.js";
31
33
  export {
32
34
  t as Accordion,
33
35
  p as AppStatusBar,
34
36
  f as Attention,
35
- a as Backdrop,
36
- i as Button,
37
+ i as Backdrop,
38
+ n as Button,
37
39
  u as ButtonGroup,
38
40
  d as Card,
39
- B as Checkbox,
40
- I as Drawer,
41
+ S as Checkbox,
42
+ M as Drawer,
41
43
  C as FieldHint,
42
44
  L as FormField,
43
45
  g as Icon,
@@ -49,16 +51,18 @@ export {
49
51
  N as MenuLink,
50
52
  T as MetaDataList,
51
53
  q as ModalDialog,
52
- E as OverlayCloseButton,
53
- K as ProgrammeCard,
54
- U as RadioButton,
55
- W as Repeater,
56
- Y as SectionNotification,
57
- _ as SelectListbox,
58
- oo as SelectProvider,
59
- eo as Spinner,
60
- mo as StatusPill,
61
- xo as Tooltip,
62
- ro as useSelect
54
+ E as MultiSelect,
55
+ K as MultiSelectItem,
56
+ U as OverlayCloseButton,
57
+ W as ProgrammeCard,
58
+ Y as RadioButton,
59
+ _ as Repeater,
60
+ oo as SectionNotification,
61
+ to as SelectListbox,
62
+ po as SelectProvider,
63
+ xo as Spinner,
64
+ ao as StatusPill,
65
+ lo as Tooltip,
66
+ mo as useSelect
63
67
  };
64
68
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/index.js CHANGED
@@ -1,12 +1,12 @@
1
1
  import { Accordion as t } from "./components/Accordion/Accordion.js";
2
2
  import { AppStatusBar as p } from "./components/AppStatusBar/AppStatusBar.js";
3
3
  import { Attention as f } from "./components/Attention/Attention.js";
4
- import { Backdrop as a } from "./components/Backdrop/Backdrop.js";
5
- import { Button as i } from "./components/Button/Button.js";
4
+ import { Backdrop as i } from "./components/Backdrop/Backdrop.js";
5
+ import { Button as n } from "./components/Button/Button.js";
6
6
  import { ButtonGroup as u } from "./components/ButtonGroup/ButtonGroup.js";
7
7
  import { Card as d } from "./components/Card/Card.js";
8
- import { Checkbox as B } from "./components/Checkbox/Checkbox.js";
9
- import { Drawer as I } from "./components/Drawer/Drawer.js";
8
+ import { Checkbox as S } from "./components/Checkbox/Checkbox.js";
9
+ import { Drawer as M } from "./components/Drawer/Drawer.js";
10
10
  import { FieldHint as C } from "./components/FieldHint/FieldHint.js";
11
11
  import { FormField as L } from "./components/FormField/FormField.js";
12
12
  import { Icon as g } from "./components/Icon/Icon.js";
@@ -18,26 +18,28 @@ import { Label as G } from "./components/Label/Label.js";
18
18
  import { M as N } from "./MenuLink-CLEqkVVh.js";
19
19
  import { MetaDataList as T } from "./components/MetaDataList/MetaDataList.js";
20
20
  import { ModalDialog as q } from "./components/ModalDialog/ModalDialog.js";
21
- import { OverlayCloseButton as E } from "./components/OverlayCloseButton/OverlayCloseButton.js";
22
- import { ProgrammeCard as K } from "./components/ProgrammeCard/ProgrammeCard.js";
23
- import { RadioButton as U } from "./components/RadioButton/RadioButton.js";
24
- import { Repeater as W } from "./components/Repeater/Repeater.js";
25
- import { SectionNotification as Y } from "./components/SectionNotification/SectionNotification.js";
26
- import { SelectListbox as _ } from "./components/SelectListbox/SelectListbox.js";
27
- import { SelectProvider as oo, useSelect as ro } from "./components/SelectListbox/SelectProvider.js";
28
- import { Spinner as eo } from "./components/Spinner/Spinner.js";
29
- import { StatusPill as mo } from "./components/StatusPill/StatusPill.js";
30
- import { Tooltip as xo } from "./components/Tooltip/Tooltip.js";
21
+ import { MultiSelect as E } from "./components/MultiSelect/MultiSelect.js";
22
+ import { MultiSelectItem as K } from "./components/MultiSelectItem/MultiSelectItem.js";
23
+ import { OverlayCloseButton as U } from "./components/OverlayCloseButton/OverlayCloseButton.js";
24
+ import { ProgrammeCard as W } from "./components/ProgrammeCard/ProgrammeCard.js";
25
+ import { RadioButton as Y } from "./components/RadioButton/RadioButton.js";
26
+ import { Repeater as _ } from "./components/Repeater/Repeater.js";
27
+ import { SectionNotification as oo } from "./components/SectionNotification/SectionNotification.js";
28
+ import { SelectListbox as to } from "./components/SelectListbox/SelectListbox.js";
29
+ import { SelectProvider as po, useSelect as mo } from "./components/SelectListbox/SelectProvider.js";
30
+ import { Spinner as xo } from "./components/Spinner/Spinner.js";
31
+ import { StatusPill as ao } from "./components/StatusPill/StatusPill.js";
32
+ import { Tooltip as lo } from "./components/Tooltip/Tooltip.js";
31
33
  export {
32
34
  t as Accordion,
33
35
  p as AppStatusBar,
34
36
  f as Attention,
35
- a as Backdrop,
36
- i as Button,
37
+ i as Backdrop,
38
+ n as Button,
37
39
  u as ButtonGroup,
38
40
  d as Card,
39
- B as Checkbox,
40
- I as Drawer,
41
+ S as Checkbox,
42
+ M as Drawer,
41
43
  C as FieldHint,
42
44
  L as FormField,
43
45
  g as Icon,
@@ -49,16 +51,18 @@ export {
49
51
  N as MenuLink,
50
52
  T as MetaDataList,
51
53
  q as ModalDialog,
52
- E as OverlayCloseButton,
53
- K as ProgrammeCard,
54
- U as RadioButton,
55
- W as Repeater,
56
- Y as SectionNotification,
57
- _ as SelectListbox,
58
- oo as SelectProvider,
59
- eo as Spinner,
60
- mo as StatusPill,
61
- xo as Tooltip,
62
- ro as useSelect
54
+ E as MultiSelect,
55
+ K as MultiSelectItem,
56
+ U as OverlayCloseButton,
57
+ W as ProgrammeCard,
58
+ Y as RadioButton,
59
+ _ as Repeater,
60
+ oo as SectionNotification,
61
+ to as SelectListbox,
62
+ po as SelectProvider,
63
+ xo as Spinner,
64
+ ao as StatusPill,
65
+ lo as Tooltip,
66
+ mo as useSelect
63
67
  };
64
68
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@uva-glass/component-library",
3
3
  "author": "Team Glass - Frontend vrienden",
4
4
  "private": false,
5
- "version": "1.28.0",
5
+ "version": "1.30.0",
6
6
  "type": "module",
7
7
  "main": "dist/index.js",
8
8
  "types": "dist/index.d.ts",
@@ -58,8 +58,8 @@
58
58
  "@types/node": "^20.14.2",
59
59
  "@types/react": "^18.3.3",
60
60
  "@types/react-dom": "^18.3.0",
61
- "@typescript-eslint/eslint-plugin": "^7.12.0",
62
- "@typescript-eslint/parser": "^7.12.0",
61
+ "@typescript-eslint/eslint-plugin": "^7.13.0",
62
+ "@typescript-eslint/parser": "^7.13.0",
63
63
  "@uva-glass/eslint-config": "^1.2.0",
64
64
  "@uva-glass/stylelint-config": "^1.1.0",
65
65
  "@vitejs/plugin-react": "^4.3.1",
@@ -1 +0,0 @@
1
- .form{width:20%}.form-field{display:flex;flex-direction:column;gap:.5rem 1rem}