@uva-glass/component-library 3.20.0 → 3.21.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/dist/assets/ControlsButton.css +1 -0
  2. package/dist/assets/PageOverlay.css +1 -1
  3. package/dist/assets/RadioTabSelector.css +1 -0
  4. package/dist/components/Buttons/Button.stories.js +1 -1
  5. package/dist/components/Buttons/LinkButton.stories.js +1 -1
  6. package/dist/components/Buttons/MenuButton.stories.js +1 -1
  7. package/dist/components/Checkbox/Checkbox.stories.js +1 -1
  8. package/dist/components/CheckboxButtonBar/CheckboxButtonBar.js +34 -31
  9. package/dist/components/CheckboxButtonBar/CheckboxButtonBar.js.map +1 -1
  10. package/dist/components/CheckboxButtonBar/CheckboxButtonBar.stories.js +1 -1
  11. package/dist/components/CheckboxTree/CheckboxTree.stories.js +1 -1
  12. package/dist/components/Chip/Chip.stories.js +1 -1
  13. package/dist/components/ControlsButton/ControlsButton.d.ts +18 -0
  14. package/dist/components/ControlsButton/ControlsButton.js +46 -0
  15. package/dist/components/ControlsButton/ControlsButton.js.map +1 -0
  16. package/dist/components/ControlsButton/ControlsButton.stories.d.ts +5 -0
  17. package/dist/components/ControlsButton/ControlsButton.stories.js +45 -0
  18. package/dist/components/ControlsButton/ControlsButton.stories.js.map +1 -0
  19. package/dist/components/ControlsButton/index.d.ts +1 -0
  20. package/dist/components/ControlsButton/index.js +5 -0
  21. package/dist/components/Drawer/Drawer.stories.js +1 -1
  22. package/dist/components/FormInput/FormInput.stories.js +1 -1
  23. package/dist/components/IconButton/IconButton.stories.js +1 -1
  24. package/dist/components/InputField/InputField.stories.js +1 -1
  25. package/dist/components/ModalDialog/ModalDialog.stories.js +1 -1
  26. package/dist/components/MultiSelect/MultiSelect.stories.js +1 -1
  27. package/dist/components/MultiSelectBox/MultiSelectBox.stories.js +1 -1
  28. package/dist/components/OverlayCloseButton/OverlayCloseButton.stories.js +1 -1
  29. package/dist/components/PageOverlay/PageOverlay.d.ts +3 -1
  30. package/dist/components/PageOverlay/PageOverlay.js +60 -53
  31. package/dist/components/PageOverlay/PageOverlay.js.map +1 -1
  32. package/dist/components/PeriodSelector/PeriodSelector.stories.js +1 -1
  33. package/dist/components/RadioGroup/RadioGroup.stories.js +1 -1
  34. package/dist/components/RadioTabSelector/RadioTabSelector.d.ts +25 -0
  35. package/dist/components/RadioTabSelector/RadioTabSelector.js +89 -0
  36. package/dist/components/RadioTabSelector/RadioTabSelector.js.map +1 -0
  37. package/dist/components/RadioTabSelector/RadioTabSelector.stories.d.ts +5 -0
  38. package/dist/components/RadioTabSelector/RadioTabSelector.stories.js +60 -0
  39. package/dist/components/RadioTabSelector/RadioTabSelector.stories.js.map +1 -0
  40. package/dist/components/RadioTabSelector/index.d.ts +1 -0
  41. package/dist/components/RadioTabSelector/index.js +5 -0
  42. package/dist/components/RadioTabSelector/index.js.map +1 -0
  43. package/dist/components/SelectListbox/SelectListBox.stories.js +1 -1
  44. package/dist/components/Sortable/Sortable.stories.js +1 -1
  45. package/dist/components/TextArea/TextArea.stories.js +1 -1
  46. package/dist/components/TextArea/TextArea.test.js +1 -1
  47. package/dist/components/ToggleSwitch/ToggleSwitch.stories.js +1 -1
  48. package/dist/components/VarIndicator/VarIndicator.stories.js +1 -1
  49. package/dist/components/index.d.ts +2 -1
  50. package/dist/components/index.js +46 -44
  51. package/dist/components/index.js.map +1 -1
  52. package/dist/{index-BCvy9BiK.js → index-Dwqes6RH.js} +5 -2
  53. package/dist/{index-BCvy9BiK.js.map → index-Dwqes6RH.js.map} +1 -1
  54. package/dist/index.js +46 -44
  55. package/dist/index.js.map +1 -1
  56. package/dist/storybook__react.d.js +1 -1
  57. package/package.json +22 -22
  58. package/dist/assets/CheckboxButton.css +0 -1
  59. package/dist/components/CheckboxButton/CheckboxButton.d.ts +0 -12
  60. package/dist/components/CheckboxButton/CheckboxButton.js +0 -28
  61. package/dist/components/CheckboxButton/CheckboxButton.js.map +0 -1
  62. package/dist/components/CheckboxButton/CheckboxButton.stories.d.ts +0 -5
  63. package/dist/components/CheckboxButton/CheckboxButton.stories.js +0 -40
  64. package/dist/components/CheckboxButton/CheckboxButton.stories.js.map +0 -1
  65. package/dist/components/CheckboxButton/CheckboxButton.test.d.ts +0 -0
  66. package/dist/components/CheckboxButton/CheckboxButton.test.js +0 -21
  67. package/dist/components/CheckboxButton/CheckboxButton.test.js.map +0 -1
  68. package/dist/components/CheckboxButton/index.d.ts +0 -1
  69. package/dist/components/CheckboxButton/index.js +0 -5
  70. /package/dist/components/{CheckboxButton → ControlsButton}/index.js.map +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"PageOverlay.js","sources":["../../../src/components/PageOverlay/PageOverlay.tsx"],"sourcesContent":["import { useDialog } from '@react-aria/dialog';\nimport { FocusScope } from '@react-aria/focus';\nimport { OverlayContainer, useModal, useOverlay, usePreventScroll } from '@react-aria/overlays';\nimport classNames, { clsx } from 'clsx';\nimport { useEffect, useRef, useState } from 'react';\n\nimport type { FormHTMLAttributes, KeyboardEvent, PropsWithChildren, ReactNode } from 'react';\n\nimport styles from './PageOverlay.module.css';\n\nimport { OverlayCloseButton } from 'components/OverlayCloseButton';\nimport { Spinner } from 'components/Spinner';\nimport { Backdrop } from 'components/Backdrop';\n\nexport interface PageOverlayProps {\n /** The buttons of the dialog. */\n buttons?: ReactNode;\n /** `true` to show a spinner, if the contents of the dialog is lazy loaded; otherwise, `false`. */\n isLoading?: boolean;\n /** The `aria-valuetext` value of the [Spinner](/story/atoms-spinner--spinner-example) component. Used together with `isLoading`. */\n spinnerAriaValueText?: string;\n /** The `aria-label` value of the [OverlayCloseButton](/story/atoms-overlayclosebutton--overlay-close-button-example) component. */\n closeButtonAriaValueText?: string;\n /** `true` to render the dialog opened; otherwise, `false`. */\n isOpen: boolean;\n /** `true` to disable form validation; otherwise, `false`. */\n noValidate?: boolean;\n /** The callback function that is invoked when the dialog is closed. */\n onClose?(): void;\n /** The callback function that is invoked when the form is submitted. */\n onSubmit?: FormHTMLAttributes<HTMLFormElement>['onSubmit'];\n /** The title of the dialog. */\n title?: string;\n /** The contents of the dialog header. */\n headerContent?: ReactNode;\n /** The variant styling of the dialog. */\n variant?: 'full-screen' | 'with-gutters';\n}\n\n/** Represents a component for a modal dialog. */\nexport function PageOverlay({\n buttons,\n children,\n isLoading,\n spinnerAriaValueText = 'Loading',\n closeButtonAriaValueText = 'Close',\n isOpen,\n noValidate = false,\n onClose,\n onSubmit,\n title,\n headerContent,\n variant = 'full-screen',\n}: PropsWithChildren<PageOverlayProps>) {\n const ref = useRef<HTMLDivElement>(null);\n const formRef = useRef<HTMLFormElement>(null);\n const [isScrollable, setIsScrollable] = useState(false);\n const [isScrolledToBottom, setIsScrolledToBottom] = useState(false);\n\n const { dialogProps, titleProps } = useDialog({ role: 'dialog' }, ref);\n const { modalProps } = useModal({ isDisabled: !isOpen });\n const { overlayProps, underlayProps } = useOverlay({ isOpen, onClose }, ref);\n\n usePreventScroll({ isDisabled: !isOpen });\n\n useEffect(() => {\n const formElement = formRef.current;\n\n if (!formElement) return;\n\n function checkScrollable() {\n const scrollHeight = formElement!.scrollHeight;\n const clientHeight = formElement!.clientHeight;\n const scrollTop = formElement!.scrollTop;\n\n setIsScrollable(scrollHeight > clientHeight);\n setIsScrolledToBottom(scrollTop + clientHeight >= scrollHeight);\n }\n\n function handleScrollAndResize() {\n checkScrollable();\n }\n\n formElement.addEventListener('scroll', handleScrollAndResize);\n window.addEventListener('resize', handleScrollAndResize);\n\n const timeoutId = setTimeout(() => {\n checkScrollable();\n }, 0);\n\n return () => {\n formElement.removeEventListener('scroll', handleScrollAndResize);\n\n window.removeEventListener('resize', handleScrollAndResize);\n clearTimeout(timeoutId);\n };\n }, [isOpen, headerContent]);\n\n function onKeyUp(event: KeyboardEvent) {\n event.stopPropagation();\n }\n\n if (!isOpen) return null;\n\n return (\n <OverlayContainer className={styles['page-overlay__container']}>\n <Backdrop {...underlayProps}>\n {isLoading ? (\n <Spinner ariaValueText={spinnerAriaValueText} />\n ) : (\n <>\n {/* eslint-disable-next-line jsx-a11y/no-autofocus */}\n <FocusScope autoFocus contain restoreFocus>\n <div\n {...dialogProps}\n {...modalProps}\n {...overlayProps}\n className={clsx(styles['page-overlay'], {\n [styles[`page-overlay--${variant}`]]: variant,\n })}\n onKeyUp={onKeyUp}\n role=\"presentation\"\n ref={ref}\n >\n {(title || headerContent) && (\n <div className={styles['page-overlay__title-wrapper']}>\n {title && (\n <h1 {...titleProps} className={styles['page-overlay__title']}>\n {title}\n </h1>\n )}\n {headerContent}\n {\n <span className={styles['page-overlay__close']}>\n <OverlayCloseButton aria-label={closeButtonAriaValueText} onClick={onClose} />\n </span>\n }\n </div>\n )}\n <form\n className={classNames(styles['page-overlay__content'], {\n [styles['page-overlay--content-with-buttons']]: buttons,\n })}\n onSubmit={onSubmit}\n noValidate={noValidate}\n ref={formRef}\n >\n <div className={styles['page-overlay__children']}>{children}</div>\n {buttons && (\n <div\n className={classNames(styles['page-overlay__buttons-bar'], {\n [styles['page-overlay__buttons-bar--shadow']]: isScrollable && !isScrolledToBottom,\n })}\n >\n {buttons}\n </div>\n )}\n </form>\n </div>\n </FocusScope>\n </>\n )}\n </Backdrop>\n </OverlayContainer>\n );\n}\n"],"names":["PageOverlay","buttons","children","isLoading","spinnerAriaValueText","closeButtonAriaValueText","isOpen","noValidate","onClose","onSubmit","title","headerContent","variant","ref","useRef","formRef","isScrollable","setIsScrollable","useState","isScrolledToBottom","setIsScrolledToBottom","dialogProps","titleProps","useDialog","modalProps","useModal","overlayProps","underlayProps","useOverlay","usePreventScroll","useEffect","formElement","checkScrollable","scrollHeight","clientHeight","scrollTop","handleScrollAndResize","timeoutId","onKeyUp","event","jsx","OverlayContainer","styles","Backdrop","Spinner","Fragment","FocusScope","jsxs","clsx","OverlayCloseButton","classNames"],"mappings":"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"}
1
+ {"version":3,"file":"PageOverlay.js","sources":["../../../src/components/PageOverlay/PageOverlay.tsx"],"sourcesContent":["import { useDialog } from '@react-aria/dialog';\nimport { FocusScope } from '@react-aria/focus';\nimport { OverlayContainer, useModal, useOverlay, usePreventScroll } from '@react-aria/overlays';\nimport classNames, { clsx } from 'clsx';\nimport { useEffect, useRef, useState } from 'react';\n\nimport type { FormHTMLAttributes, KeyboardEvent, PropsWithChildren, ReactNode } from 'react';\n\nimport styles from './PageOverlay.module.css';\n\nimport { OverlayCloseButton } from 'components/OverlayCloseButton';\nimport { Spinner } from 'components/Spinner';\nimport { Backdrop } from 'components/Backdrop';\n\nexport interface PageOverlayProps {\n /** The buttons of the dialog. */\n buttons?: ReactNode;\n /** `true` to show a spinner, if the contents of the dialog is lazy loaded; otherwise, `false`. */\n isLoading?: boolean;\n /** The `aria-valuetext` value of the [Spinner](/story/atoms-spinner--spinner-example) component. Used together with `isLoading`. */\n spinnerAriaValueText?: string;\n /** The `aria-label` value of the [OverlayCloseButton](/story/atoms-overlayclosebutton--overlay-close-button-example) component. */\n closeButtonAriaValueText?: string;\n /** `true` to render the dialog opened; otherwise, `false`. */\n isOpen: boolean;\n /** `true` to disable form validation; otherwise, `false`. */\n noValidate?: boolean;\n /** The callback function that is invoked when the dialog is closed. */\n onClose?(): void;\n /** The callback function that is invoked when the form is submitted. */\n onSubmit?: FormHTMLAttributes<HTMLFormElement>['onSubmit'];\n /** The title of the dialog. */\n title?: string;\n /** The contents of the dialog header. */\n headerContent?: ReactNode;\n /** The variant styling of the dialog. */\n variant?: 'full-screen' | 'with-gutters';\n /** The content background color of the dialog. Default grey-300*/\n contentBackgroundColor?: 'grey' | 'white';\n}\n\n/** Represents a component for a modal dialog. */\nexport function PageOverlay({\n buttons,\n children,\n isLoading,\n spinnerAriaValueText = 'Loading',\n closeButtonAriaValueText = 'Close',\n isOpen,\n noValidate = false,\n onClose,\n onSubmit,\n title,\n headerContent,\n variant = 'full-screen',\n contentBackgroundColor = 'grey',\n}: PropsWithChildren<PageOverlayProps>) {\n const ref = useRef<HTMLDivElement>(null);\n const formRef = useRef<HTMLFormElement>(null);\n const [isScrollable, setIsScrollable] = useState(false);\n const [isScrolledToBottom, setIsScrolledToBottom] = useState(false);\n\n const { dialogProps, titleProps } = useDialog({ role: 'dialog' }, ref);\n const { modalProps } = useModal({ isDisabled: !isOpen });\n const { overlayProps, underlayProps } = useOverlay({ isOpen, onClose }, ref);\n\n usePreventScroll({ isDisabled: !isOpen });\n\n useEffect(() => {\n const formElement = formRef.current;\n\n if (!formElement) return;\n\n function checkScrollable() {\n const scrollHeight = formElement!.scrollHeight;\n const clientHeight = formElement!.clientHeight;\n const scrollTop = formElement!.scrollTop;\n\n setIsScrollable(scrollHeight > clientHeight);\n setIsScrolledToBottom(scrollTop + clientHeight >= scrollHeight);\n }\n\n function handleScrollAndResize() {\n checkScrollable();\n }\n\n formElement.addEventListener('scroll', handleScrollAndResize);\n window.addEventListener('resize', handleScrollAndResize);\n\n const timeoutId = setTimeout(() => {\n checkScrollable();\n }, 0);\n\n return () => {\n formElement.removeEventListener('scroll', handleScrollAndResize);\n\n window.removeEventListener('resize', handleScrollAndResize);\n clearTimeout(timeoutId);\n };\n }, [isOpen, headerContent]);\n\n function onKeyUp(event: KeyboardEvent) {\n event.stopPropagation();\n }\n\n if (!isOpen) return null;\n\n return (\n <OverlayContainer className={styles['page-overlay__container']}>\n <Backdrop {...underlayProps}>\n {isLoading ? (\n <Spinner ariaValueText={spinnerAriaValueText} />\n ) : (\n <>\n {/* eslint-disable-next-line jsx-a11y/no-autofocus */}\n <FocusScope autoFocus contain restoreFocus>\n <div\n {...dialogProps}\n {...modalProps}\n {...overlayProps}\n className={clsx(styles['page-overlay'], {\n [styles[`page-overlay--${variant}`]]: variant,\n })}\n onKeyUp={onKeyUp}\n role=\"presentation\"\n ref={ref}\n >\n {(title || headerContent) && (\n <div className={styles['page-overlay__title-wrapper']}>\n {title && (\n <h1 {...titleProps} className={styles['page-overlay__title']}>\n {title}\n </h1>\n )}\n {headerContent}\n {\n <span className={styles['page-overlay__close']}>\n <OverlayCloseButton aria-label={closeButtonAriaValueText} onClick={onClose} />\n </span>\n }\n </div>\n )}\n <form\n className={classNames(\n styles['page-overlay__content'],\n styles[`page-overlay__content--${contentBackgroundColor}`],\n {\n [styles['page-overlay--content-with-buttons']]: buttons,\n }\n )}\n onSubmit={onSubmit}\n noValidate={noValidate}\n ref={formRef}\n >\n <div className={styles['page-overlay__children']}>{children}</div>\n {buttons && (\n <div\n className={classNames(styles['page-overlay__buttons-bar'], {\n [styles['page-overlay__buttons-bar--shadow']]: isScrollable && !isScrolledToBottom,\n })}\n >\n {buttons}\n </div>\n )}\n </form>\n </div>\n </FocusScope>\n </>\n )}\n </Backdrop>\n </OverlayContainer>\n );\n}\n"],"names":["PageOverlay","buttons","children","isLoading","spinnerAriaValueText","closeButtonAriaValueText","isOpen","noValidate","onClose","onSubmit","title","headerContent","variant","contentBackgroundColor","ref","useRef","formRef","isScrollable","setIsScrollable","useState","isScrolledToBottom","setIsScrolledToBottom","dialogProps","titleProps","useDialog","modalProps","useModal","overlayProps","underlayProps","useOverlay","usePreventScroll","useEffect","formElement","checkScrollable","scrollHeight","clientHeight","scrollTop","handleScrollAndResize","timeoutId","onKeyUp","event","jsx","OverlayContainer","styles","Backdrop","Spinner","Fragment","FocusScope","jsxs","clsx","OverlayCloseButton","classNames"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as r } from "react/jsx-runtime";
2
- import { fn as t } from "../../index-BCvy9BiK.js";
2
+ import { fn as t } from "../../index-Dwqes6RH.js";
3
3
  import { PeriodSelector as e } from "./PeriodSelector.js";
4
4
  const i = "<PeriodSelector maxPeriods={} defaultValues={} label={} labelPosition={} required={} onChange={} />", m = {
5
5
  title: "Organisms/PeriodSelector",
@@ -1,5 +1,5 @@
1
1
  import { jsx as t } from "react/jsx-runtime";
2
- import { fn as a } from "../../index-BCvy9BiK.js";
2
+ import { fn as a } from "../../index-Dwqes6RH.js";
3
3
  import { RadioGroup as o } from "./RadioGroup.js";
4
4
  const l = `
5
5
  <RadioGroup label={label} options={options}
@@ -0,0 +1,25 @@
1
+ type ButtonProps = {
2
+ label: string;
3
+ value: string;
4
+ disabled?: boolean;
5
+ };
6
+ export interface RadioTabSelectorProps {
7
+ /** array with objects with label, value, disablestate */
8
+ buttons: ButtonProps[];
9
+ /** name of the radiogroup */
10
+ radioGroupName: string;
11
+ /** innitial value */
12
+ defaultValue?: string;
13
+ /** label takst */
14
+ label?: string;
15
+ /** 'top' | 'left' */
16
+ labelPosition?: 'top' | 'left';
17
+ /** show red star */
18
+ required?: boolean;
19
+ /** error text to display if set */
20
+ notValidatedText?: string;
21
+ /** The callback function that is invoked when the radio tab selector changes value. */
22
+ onSetValue: (value: string | null) => void;
23
+ }
24
+ export declare const RadioTabSelector: ({ buttons, radioGroupName, defaultValue, label, labelPosition, required, notValidatedText, onSetValue, }: RadioTabSelectorProps) => import("react/jsx-runtime").JSX.Element;
25
+ export {};
@@ -0,0 +1,89 @@
1
+ import { jsxs as n, jsx as o } from "react/jsx-runtime";
2
+ import { c as b } from "../../clsx-OuTLNxxd.js";
3
+ import { useState as h } from "react";
4
+ import "../Buttons/Button.js";
5
+ import "../Buttons/LinkButton.js";
6
+ import "@react-aria/button";
7
+ import "../Checkbox/Checkbox.js";
8
+ import { Label as v } from "../Label/Label.js";
9
+ import { FeedbackBox as g } from "../FeedbackBox/FeedbackBox.js";
10
+ import { ControlsButton as k } from "../ControlsButton/ControlsButton.js";
11
+ import "@react-aria/dialog";
12
+ import "@react-aria/focus";
13
+ import "@react-aria/overlays";
14
+ import "../OverlayCloseButton/OverlayCloseButton.js";
15
+ import "../GridRow/GridRow.js";
16
+ import "../IconButton/IconButton.js";
17
+ import "../Input/Input.js";
18
+ import "../InputField/InputField.js";
19
+ import "react-router";
20
+ import "../../TablePlugin-hxs9O_ox.js";
21
+ import "../RteEditor/Providers/LanguageProvider.js";
22
+ import "../RteEditor/Plugins/LinkPlugin/LinkContextMenu/LinkContextMenu.js";
23
+ import "../RteEditor/hooks/components/Flyout.js";
24
+ import "../../index-DllfJcv4.js";
25
+ import "../SelectListbox/SelectListbox.js";
26
+ import "../SelectListbox/SelectProvider.js";
27
+ import "../Sortable/components/SortableItem.js";
28
+ import "../../SortableProvider-B3_u0pKv.js";
29
+ import '../../assets/RadioTabSelector.css';const t = {
30
+ "radio-tab-selector-button-bar__container": "_radio-tab-selector-button-bar__container_a4wnc_1",
31
+ "radio-tab-selector-button-bar__container--label-left": "_radio-tab-selector-button-bar__container--label-left_a4wnc_6",
32
+ "radio-tab-selector-button-bar__container--label-top": "_radio-tab-selector-button-bar__container--label-top_a4wnc_12",
33
+ "radio-tab-selector-button-bar__row-container": "_radio-tab-selector-button-bar__row-container_a4wnc_18",
34
+ "radio-tab-selector-button-bar__row": "_radio-tab-selector-button-bar__row_a4wnc_18",
35
+ "radio-tab-selector-button-bar__row--not-validated": "_radio-tab-selector-button-bar__row--not-validated_a4wnc_35"
36
+ }, X = ({
37
+ buttons: l,
38
+ radioGroupName: c,
39
+ defaultValue: _,
40
+ label: i,
41
+ labelPosition: m = "top",
42
+ required: s = !1,
43
+ notValidatedText: a = "",
44
+ onSetValue: p
45
+ }) => {
46
+ const [d, u] = h(_ || null), w = (r) => {
47
+ u(r.target.value), p(r.target.value);
48
+ };
49
+ return /* @__PURE__ */ n(
50
+ "div",
51
+ {
52
+ className: b(
53
+ t["radio-tab-selector-button-bar__container"],
54
+ t[`radio-tab-selector-button-bar__container--label-${m}`]
55
+ ),
56
+ children: [
57
+ i && /* @__PURE__ */ o(v, { htmlFor: "", required: s, children: i }),
58
+ /* @__PURE__ */ n("div", { className: t["radio-tab-selector-button-bar__row-container"], children: [
59
+ /* @__PURE__ */ o(
60
+ "div",
61
+ {
62
+ className: b(t["radio-tab-selector-button-bar__row"], {
63
+ [t["radio-tab-selector-button-bar__row--not-validated"]]: a
64
+ }),
65
+ children: l.map(({ label: r, value: e, disabled: f }) => /* @__PURE__ */ o(
66
+ k,
67
+ {
68
+ type: "radio",
69
+ name: c,
70
+ label: r,
71
+ value: e,
72
+ checked: d === e,
73
+ disabled: f,
74
+ onSetValue: w
75
+ },
76
+ `${e}`
77
+ ))
78
+ }
79
+ ),
80
+ a !== "" && /* @__PURE__ */ o(g, { level: "error", feedback: a })
81
+ ] })
82
+ ]
83
+ }
84
+ );
85
+ };
86
+ export {
87
+ X as RadioTabSelector
88
+ };
89
+ //# sourceMappingURL=RadioTabSelector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioTabSelector.js","sources":["../../../src/components/RadioTabSelector/RadioTabSelector.tsx"],"sourcesContent":["import clsx from 'clsx';\r\nimport { useState } from 'react';\r\n\r\nimport type { ChangeEvent } from 'react';\r\n\r\nimport styles from './RadioTabSelector.module.css';\r\n\r\nimport { ControlsButton, FeedbackBox, Label } from 'components';\r\n\r\ntype ButtonProps = {\r\n label: string;\r\n value: string;\r\n disabled?: boolean;\r\n};\r\n\r\nexport interface RadioTabSelectorProps {\r\n /** array with objects with label, value, disablestate */\r\n buttons: ButtonProps[];\r\n /** name of the radiogroup */\r\n radioGroupName: string;\r\n /** innitial value */\r\n defaultValue?: string;\r\n /** label takst */\r\n label?: string;\r\n /** 'top' | 'left' */\r\n labelPosition?: 'top' | 'left';\r\n /** show red star */\r\n required?: boolean;\r\n /** error text to display if set */\r\n notValidatedText?: string;\r\n /** The callback function that is invoked when the radio tab selector changes value. */\r\n onSetValue: (value: string | null) => void;\r\n}\r\n\r\nexport const RadioTabSelector = ({\r\n buttons,\r\n radioGroupName,\r\n defaultValue,\r\n label,\r\n labelPosition = 'top',\r\n required = false,\r\n notValidatedText = '',\r\n onSetValue,\r\n}: RadioTabSelectorProps) => {\r\n const [currentValue, setCurrentValue] = useState<string | null>(defaultValue || null);\r\n\r\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\r\n setCurrentValue(event.target.value);\r\n onSetValue(event.target.value);\r\n };\r\n\r\n return (\r\n <div\r\n className={clsx(\r\n styles['radio-tab-selector-button-bar__container'],\r\n styles[`radio-tab-selector-button-bar__container--label-${labelPosition}`]\r\n )}\r\n >\r\n {label && (\r\n <Label htmlFor=\"\" required={required}>\r\n {label}\r\n </Label>\r\n )}\r\n <div className={styles['radio-tab-selector-button-bar__row-container']}>\r\n <div\r\n className={clsx(styles['radio-tab-selector-button-bar__row'], {\r\n [styles['radio-tab-selector-button-bar__row--not-validated']]: notValidatedText,\r\n })}\r\n >\r\n {buttons.map(({ label, value, disabled }) => (\r\n <ControlsButton\r\n type=\"radio\"\r\n name={radioGroupName}\r\n key={`${value}`}\r\n label={label}\r\n value={value}\r\n checked={currentValue === value}\r\n disabled={disabled}\r\n onSetValue={handleChange}\r\n />\r\n ))}\r\n </div>\r\n {notValidatedText !== '' && <FeedbackBox level=\"error\" feedback={notValidatedText} />}\r\n </div>\r\n </div>\r\n );\r\n};\r\n"],"names":["RadioTabSelector","buttons","radioGroupName","defaultValue","label","labelPosition","required","notValidatedText","onSetValue","currentValue","setCurrentValue","useState","handleChange","event","jsxs","clsx","styles","jsx","Label","value","disabled","ControlsButton","FeedbackBox"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCaA,IAAmB,CAAC;AAAA,EAC/B,SAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,cAAAC;AAAA,EACA,OAAAC;AAAA,EACA,eAAAC,IAAgB;AAAA,EAChB,UAAAC,IAAW;AAAA,EACX,kBAAAC,IAAmB;AAAA,EACnB,YAAAC;AACF,MAA6B;AAC3B,QAAM,CAACC,GAAcC,CAAe,IAAIC,EAAwBR,KAAgB,IAAI,GAE9ES,IAAe,CAACC,MAAyC;AAC7C,IAAAH,EAAAG,EAAM,OAAO,KAAK,GACvBL,EAAAK,EAAM,OAAO,KAAK;AAAA,EAC/B;AAGE,SAAA,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACTC,EAAO,0CAA0C;AAAA,QACjDA,EAAO,mDAAmDX,CAAa,EAAE;AAAA,MAC3E;AAAA,MAEC,UAAA;AAAA,QAAAD,KACE,gBAAAa,EAAAC,GAAA,EAAM,SAAQ,IAAG,UAAAZ,GACf,UACHF,GAAA;AAAA,QAED,gBAAAU,EAAA,OAAA,EAAI,WAAWE,EAAO,8CAA8C,GACnE,UAAA;AAAA,UAAA,gBAAAC;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAWF,EAAKC,EAAO,oCAAoC,GAAG;AAAA,gBAC5D,CAACA,EAAO,mDAAmD,CAAC,GAAGT;AAAA,cAAA,CAChE;AAAA,cAEA,UAAAN,EAAQ,IAAI,CAAC,EAAE,OAAAG,GAAO,OAAAe,GAAO,UAAAC,QAC5B,gBAAAH;AAAA,gBAACI;AAAA,gBAAA;AAAA,kBACC,MAAK;AAAA,kBACL,MAAMnB;AAAA,kBAEN,OAAOE;AAAAA,kBACP,OAAAe;AAAA,kBACA,SAASV,MAAiBU;AAAA,kBAC1B,UAAAC;AAAA,kBACA,YAAYR;AAAA,gBAAA;AAAA,gBALP,GAAGO,CAAK;AAAA,cAOhB,CAAA;AAAA,YAAA;AAAA,UACH;AAAA,UACCZ,MAAqB,MAAM,gBAAAU,EAACK,KAAY,OAAM,SAAQ,UAAUf,EAAkB,CAAA;AAAA,QAAA,EACrF,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACF;AAEJ;"}
@@ -0,0 +1,5 @@
1
+ import { Meta } from '@storybook/react';
2
+ import { RadioTabSelectorProps } from './RadioTabSelector';
3
+ declare const _default: Meta<RadioTabSelectorProps>;
4
+ export default _default;
5
+ export declare const RadioTabSelectorExample: import('@storybook/core/csf').AnnotatedStoryFn<import('@storybook/react').ReactRenderer, RadioTabSelectorProps>;
@@ -0,0 +1,60 @@
1
+ import { jsx as a } from "react/jsx-runtime";
2
+ import { fn as o } from "../../index-Dwqes6RH.js";
3
+ import { RadioTabSelector as e } from "./RadioTabSelector.js";
4
+ const l = "<RadioTabSelector radioButtons={} defaultValue={} label={} labelPosition={} required={} notValidatedText={} onSetValue={} />", u = {
5
+ title: "Molecules/RadioTabSelector",
6
+ component: e,
7
+ argTypes: {
8
+ radioButtons: {
9
+ table: {
10
+ disable: !0
11
+ }
12
+ },
13
+ defaultValue: {
14
+ table: {
15
+ disable: !0
16
+ }
17
+ },
18
+ label: {
19
+ control: "text"
20
+ },
21
+ labelPosition: {
22
+ control: "radio",
23
+ options: ["top", "left"]
24
+ },
25
+ required: {
26
+ control: "boolean"
27
+ },
28
+ notValidatedText: {
29
+ control: "text"
30
+ },
31
+ onSetValue: {
32
+ table: {
33
+ disable: !0
34
+ }
35
+ }
36
+ },
37
+ parameters: {
38
+ inspectComponent: e,
39
+ codeString: l
40
+ }
41
+ }, i = (t) => /* @__PURE__ */ a(e, { ...t }), r = i.bind({});
42
+ r.args = {
43
+ buttons: [
44
+ { label: "Digitaal", value: "digitaal" },
45
+ { label: "Schriftelijk", value: "schriftelijk" },
46
+ { label: "Presentatie", value: "presentatie" }
47
+ ],
48
+ defaultValue: "digitaal",
49
+ radioGroupName: "radio-group",
50
+ label: "Toetsvorm",
51
+ labelPosition: "top",
52
+ required: !0,
53
+ notValidatedText: "",
54
+ onSetValue: o()
55
+ };
56
+ export {
57
+ r as RadioTabSelectorExample,
58
+ u as default
59
+ };
60
+ //# sourceMappingURL=RadioTabSelector.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioTabSelector.stories.js","sources":["../../../src/components/RadioTabSelector/RadioTabSelector.stories.tsx"],"sourcesContent":["import { fn } from '@storybook/test';\r\n\r\nimport type { Meta, StoryFn } from '@storybook/react';\r\nimport type { RadioTabSelectorProps } from './RadioTabSelector'; // Already imported above\r\n\r\nimport { RadioTabSelector } from './RadioTabSelector';\r\n\r\nconst codeString =\r\n '<RadioTabSelector radioButtons={} defaultValue={} label={} labelPosition={} required={} notValidatedText={} onSetValue={} />';\r\n\r\n// eslint-disable-next-line import/no-default-export\r\nexport default {\r\n title: 'Molecules/RadioTabSelector',\r\n component: RadioTabSelector,\r\n argTypes: {\r\n radioButtons: {\r\n table: {\r\n disable: true,\r\n },\r\n },\r\n defaultValue: {\r\n table: {\r\n disable: true,\r\n },\r\n },\r\n label: {\r\n control: 'text',\r\n },\r\n labelPosition: {\r\n control: 'radio',\r\n options: ['top', 'left'],\r\n },\r\n required: {\r\n control: 'boolean',\r\n },\r\n notValidatedText: {\r\n control: 'text',\r\n },\r\n onSetValue: {\r\n table: {\r\n disable: true,\r\n },\r\n },\r\n },\r\n parameters: {\r\n inspectComponent: RadioTabSelector,\r\n codeString: codeString,\r\n },\r\n} as Meta<RadioTabSelectorProps>;\r\n\r\nconst Template: StoryFn<RadioTabSelectorProps> = (args) => <RadioTabSelector {...args} />;\r\n\r\nexport const RadioTabSelectorExample = Template.bind({});\r\nRadioTabSelectorExample.args = {\r\n buttons: [\r\n { label: 'Digitaal', value: 'digitaal' },\r\n { label: 'Schriftelijk', value: 'schriftelijk' },\r\n { label: 'Presentatie', value: 'presentatie' },\r\n ],\r\n defaultValue: 'digitaal',\r\n radioGroupName: 'radio-group',\r\n label: 'Toetsvorm',\r\n labelPosition: 'top',\r\n required: true,\r\n notValidatedText: '',\r\n onSetValue: fn(),\r\n};\r\n"],"names":["codeString","RadioTabSelector_stories","RadioTabSelector","Template","args","jsx","RadioTabSelectorExample","fn"],"mappings":";;;AAOA,MAAMA,IACJ,gIAGaC,IAAA;AAAA,EACb,OAAO;AAAA,EACP,WAAWC;AAAA,EACX,UAAU;AAAA,IACR,cAAc;AAAA,MACZ,OAAO;AAAA,QACL,SAAS;AAAA,MAAA;AAAA,IAEb;AAAA,IACA,cAAc;AAAA,MACZ,OAAO;AAAA,QACL,SAAS;AAAA,MAAA;AAAA,IAEb;AAAA,IACA,OAAO;AAAA,MACL,SAAS;AAAA,IACX;AAAA,IACA,eAAe;AAAA,MACb,SAAS;AAAA,MACT,SAAS,CAAC,OAAO,MAAM;AAAA,IACzB;AAAA,IACA,UAAU;AAAA,MACR,SAAS;AAAA,IACX;AAAA,IACA,kBAAkB;AAAA,MAChB,SAAS;AAAA,IACX;AAAA,IACA,YAAY;AAAA,MACV,OAAO;AAAA,QACL,SAAS;AAAA,MAAA;AAAA,IACX;AAAA,EAEJ;AAAA,EACA,YAAY;AAAA,IACV,kBAAkBA;AAAA,IAClB,YAAAF;AAAA,EAAA;AAEJ,GAEMG,IAA2C,CAACC,MAAU,gBAAAC,EAAAH,GAAA,EAAkB,GAAGE,GAAM,GAE1EE,IAA0BH,EAAS,KAAK,CAAE,CAAA;AACvDG,EAAwB,OAAO;AAAA,EAC7B,SAAS;AAAA,IACP,EAAE,OAAO,YAAY,OAAO,WAAW;AAAA,IACvC,EAAE,OAAO,gBAAgB,OAAO,eAAe;AAAA,IAC/C,EAAE,OAAO,eAAe,OAAO,cAAc;AAAA,EAC/C;AAAA,EACA,cAAc;AAAA,EACd,gBAAgB;AAAA,EAChB,OAAO;AAAA,EACP,eAAe;AAAA,EACf,UAAU;AAAA,EACV,kBAAkB;AAAA,EAClB,YAAYC,EAAG;AACjB;"}
@@ -0,0 +1 @@
1
+ export * from './RadioTabSelector';
@@ -0,0 +1,5 @@
1
+ import { RadioTabSelector as r } from "./RadioTabSelector.js";
2
+ export {
3
+ r as RadioTabSelector
4
+ };
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as a, jsxs as s } from "react/jsx-runtime";
2
- import { fn as i } from "../../index-BCvy9BiK.js";
2
+ import { fn as i } from "../../index-Dwqes6RH.js";
3
3
  import { SelectListbox as r } from "./SelectListbox.js";
4
4
  import * as e from "react";
5
5
  const d = ({
@@ -1,5 +1,5 @@
1
1
  import { jsx as e, jsxs as m, Fragment as i } from "react/jsx-runtime";
2
- import { fn as s } from "../../index-BCvy9BiK.js";
2
+ import { fn as s } from "../../index-Dwqes6RH.js";
3
3
  import { Sortable as o } from "./Sortable.js";
4
4
  import { InputField as c } from "../InputField/InputField.js";
5
5
  import { Icon as d } from "../Icon/Icon.js";
@@ -1,5 +1,5 @@
1
1
  import { jsx as t } from "react/jsx-runtime";
2
- import { fn as r } from "../../index-BCvy9BiK.js";
2
+ import { fn as r } from "../../index-Dwqes6RH.js";
3
3
  import { TextArea as e } from "./TextArea.js";
4
4
  const o = `
5
5
  <TextArea label={label} maxCharacters={maxCharacters} /> `, x = {
@@ -1,7 +1,7 @@
1
1
  import { jsx as a } from "react/jsx-runtime";
2
2
  import "../../index-BqLi4tOb.js";
3
3
  import { r as n, s as t, f as r } from "../../react.esm-CsMDid07.js";
4
- import { userEvent as s } from "../../index-BCvy9BiK.js";
4
+ import { userEvent as s } from "../../index-Dwqes6RH.js";
5
5
  import { TextArea as o } from "./TextArea.js";
6
6
  describe("TextArea", () => {
7
7
  it("should render correctly with label", () => {
@@ -1,5 +1,5 @@
1
1
  import { jsx as o } from "react/jsx-runtime";
2
- import { fn as l } from "../../index-BCvy9BiK.js";
2
+ import { fn as l } from "../../index-Dwqes6RH.js";
3
3
  import { ToggleSwitch as e } from "./ToggleSwitch.js";
4
4
  const n = `
5
5
  // Has all InputHTMLAttributes props available except "className" and "style"
@@ -1,5 +1,5 @@
1
1
  import { jsx as e } from "react/jsx-runtime";
2
- import { fn as n } from "../../index-BCvy9BiK.js";
2
+ import { fn as n } from "../../index-Dwqes6RH.js";
3
3
  import { VarIndicator as t } from "./VarIndicator.js";
4
4
  const o = {
5
5
  DRAFT: "Concept",
@@ -8,10 +8,10 @@ export * from './ButtonGroup';
8
8
  export * from './Buttons';
9
9
  export * from './Card';
10
10
  export * from './Checkbox';
11
- export * from './CheckboxButton';
12
11
  export * from './CheckboxButtonBar';
13
12
  export * from './CheckboxTree';
14
13
  export * from './Chip';
14
+ export * from './ControlsButton';
15
15
  export * from './Drawer';
16
16
  export * from './EmptyStateDataDisplay';
17
17
  export * from './FeedbackBar';
@@ -41,6 +41,7 @@ export * from './PeriodSelector';
41
41
  export * from './ProgrammeCard';
42
42
  export * from './RadioButton';
43
43
  export * from './RadioGroup';
44
+ export * from './RadioTabSelector';
44
45
  export * from './Repeater';
45
46
  export * from './RteEditor';
46
47
  export * from './SectionNotification';
@@ -7,13 +7,13 @@ import { Backdrop as c } from "./Backdrop/Backdrop.js";
7
7
  import { ButtonGroup as u } from "./ButtonGroup/ButtonGroup.js";
8
8
  import { Button as s } from "./Buttons/Button.js";
9
9
  import { LinkButton as b } from "./Buttons/LinkButton.js";
10
- import { MenuButton as C } from "./Buttons/MenuButton.js";
10
+ import { MenuButton as k } from "./Buttons/MenuButton.js";
11
11
  import { Card as M } from "./Card/Card.js";
12
12
  import { Checkbox as I } from "./Checkbox/Checkbox.js";
13
- import { CheckboxButton as h } from "./CheckboxButton/CheckboxButton.js";
14
- import { CheckboxButtonBar as P } from "./CheckboxButtonBar/CheckboxButtonBar.js";
15
- import { CheckboxTree as y } from "./CheckboxTree/CheckboxTree.js";
16
- import { Chip as v } from "./Chip/Chip.js";
13
+ import { CheckboxButtonBar as R } from "./CheckboxButtonBar/CheckboxButtonBar.js";
14
+ import { CheckboxTree as P } from "./CheckboxTree/CheckboxTree.js";
15
+ import { Chip as y } from "./Chip/Chip.js";
16
+ import { ControlsButton as T } from "./ControlsButton/ControlsButton.js";
17
17
  import { Drawer as w } from "./Drawer/Drawer.js";
18
18
  import { EmptyStateDataDisplay as O } from "./EmptyStateDataDisplay/EmptyStateDataDisplay.js";
19
19
  import { FeedbackBar as H } from "./FeedbackBar/FeedbackBar.js";
@@ -33,29 +33,30 @@ import { Label as no } from "./Label/Label.js";
33
33
  import { MenuLink as co } from "./MenuLink/MenuLink.js";
34
34
  import { MetaDataList as Bo } from "./MetaDataList/MetaDataList.js";
35
35
  import { ModalDialog as So } from "./ModalDialog/ModalDialog.js";
36
- import { M as ko } from "../TablePlugin-hxs9O_ox.js";
36
+ import { M as Co } from "../TablePlugin-hxs9O_ox.js";
37
37
  import { MultiSelectBox as Fo } from "./MultiSelectBox/MultiSelectBox.js";
38
38
  import { OverlayCloseButton as go } from "./OverlayCloseButton/OverlayCloseButton.js";
39
39
  import { OverlayStepBar as Lo } from "./OverlayStepBar/OverlayStepBar.js";
40
40
  import { PageOverlay as Ao } from "./PageOverlay/PageOverlay.js";
41
- import { Periods as Ro } from "./Periods/Periods.js";
41
+ import { Periods as ho } from "./Periods/Periods.js";
42
42
  import { PeriodSelector as Do } from "./PeriodSelector/PeriodSelector.js";
43
- import { ProgrammeCard as To } from "./ProgrammeCard/ProgrammeCard.js";
43
+ import { ProgrammeCard as vo } from "./ProgrammeCard/ProgrammeCard.js";
44
44
  import { RadioButton as Go } from "./RadioButton/RadioButton.js";
45
45
  import { RadioGroup as Eo } from "./RadioGroup/RadioGroup.js";
46
- import { Repeater as zo } from "./Repeater/Repeater.js";
47
- import { Rte as Vo, RteEditor as jo } from "./RteEditor/RteEditor.js";
48
- import { SectionNotification as Jo } from "./SectionNotification/SectionNotification.js";
49
- import { SelectListbox as Qo } from "./SelectListbox/SelectListbox.js";
50
- import { SelectProvider as Wo, useSelect as Xo } from "./SelectListbox/SelectProvider.js";
51
- import { Sortable as Zo } from "./Sortable/Sortable.js";
52
- import { Spinner as $o } from "./Spinner/Spinner.js";
53
- import { StatusBadge as rr } from "./StatusBadge/StatusBage.js";
54
- import { StatusPill as er } from "./StatusPill/StatusPill.js";
55
- import { TextArea as xr } from "./TextArea/TextArea.js";
56
- import { ToggleSwitch as fr } from "./ToggleSwitch/ToggleSwitch.js";
57
- import { Tooltip as ir } from "./Tooltip/Tooltip.js";
58
- import { VarIndicator as lr } from "./VarIndicator/VarIndicator.js";
46
+ import { RadioTabSelector as zo } from "./RadioTabSelector/RadioTabSelector.js";
47
+ import { Repeater as Vo } from "./Repeater/Repeater.js";
48
+ import { Rte as qo, RteEditor as Jo } from "./RteEditor/RteEditor.js";
49
+ import { SectionNotification as Qo } from "./SectionNotification/SectionNotification.js";
50
+ import { SelectListbox as Wo } from "./SelectListbox/SelectListbox.js";
51
+ import { SelectProvider as Yo, useSelect as Zo } from "./SelectListbox/SelectProvider.js";
52
+ import { Sortable as $o } from "./Sortable/Sortable.js";
53
+ import { Spinner as rr } from "./Spinner/Spinner.js";
54
+ import { StatusBadge as er } from "./StatusBadge/StatusBage.js";
55
+ import { StatusPill as xr } from "./StatusPill/StatusPill.js";
56
+ import { TextArea as fr } from "./TextArea/TextArea.js";
57
+ import { ToggleSwitch as ir } from "./ToggleSwitch/ToggleSwitch.js";
58
+ import { Tooltip as lr } from "./Tooltip/Tooltip.js";
59
+ import { VarIndicator as dr } from "./VarIndicator/VarIndicator.js";
59
60
  export {
60
61
  t as Accordion,
61
62
  p as AccordionCard,
@@ -67,10 +68,10 @@ export {
67
68
  u as ButtonGroup,
68
69
  M as Card,
69
70
  I as Checkbox,
70
- h as CheckboxButton,
71
- P as CheckboxButtonBar,
72
- y as CheckboxTree,
73
- v as Chip,
71
+ R as CheckboxButtonBar,
72
+ P as CheckboxTree,
73
+ y as Chip,
74
+ T as ControlsButton,
74
75
  w as Drawer,
75
76
  O as EmptyStateDataDisplay,
76
77
  H as FeedbackBar,
@@ -88,34 +89,35 @@ export {
88
89
  ao as InputField,
89
90
  no as Label,
90
91
  b as LinkButton,
91
- C as MenuButton,
92
+ k as MenuButton,
92
93
  co as MenuLink,
93
94
  Bo as MetaDataList,
94
95
  So as ModalDialog,
95
- ko as MultiSelect,
96
+ Co as MultiSelect,
96
97
  Fo as MultiSelectBox,
97
98
  go as OverlayCloseButton,
98
99
  Lo as OverlayStepBar,
99
100
  Ao as PageOverlay,
100
101
  Do as PeriodSelector,
101
- Ro as Periods,
102
- To as ProgrammeCard,
102
+ ho as Periods,
103
+ vo as ProgrammeCard,
103
104
  Go as RadioButton,
104
105
  Eo as RadioGroup,
105
- zo as Repeater,
106
- Vo as Rte,
107
- jo as RteEditor,
108
- Jo as SectionNotification,
109
- Qo as SelectListbox,
110
- Wo as SelectProvider,
111
- Zo as Sortable,
112
- $o as Spinner,
113
- rr as StatusBadge,
114
- er as StatusPill,
115
- xr as TextArea,
116
- fr as ToggleSwitch,
117
- ir as Tooltip,
118
- lr as VarIndicator,
119
- Xo as useSelect
106
+ zo as RadioTabSelector,
107
+ Vo as Repeater,
108
+ qo as Rte,
109
+ Jo as RteEditor,
110
+ Qo as SectionNotification,
111
+ Wo as SelectListbox,
112
+ Yo as SelectProvider,
113
+ $o as Sortable,
114
+ rr as Spinner,
115
+ er as StatusBadge,
116
+ xr as StatusPill,
117
+ fr as TextArea,
118
+ ir as ToggleSwitch,
119
+ lr as Tooltip,
120
+ dr as VarIndicator,
121
+ Zo as useSelect
120
122
  };
121
123
  //# 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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -14654,7 +14654,10 @@ var { buildQueries: z$, configure: G$, createEvent: W$, fireEvent: K$, findAllBy
14654
14654
  let a = rM(e);
14655
14655
  return r && a.mockName(r), a;
14656
14656
  }
14657
- if (Array.isArray(e)) return t++, e.map((a) => Zl(a, t));
14657
+ if (Array.isArray(e)) {
14658
+ t++;
14659
+ for (let a = 0; a < e.length; a++) e[a] = Zl(e[a], t);
14660
+ }
14658
14661
  if (typeof e == "object" && e.constructor === Object) {
14659
14662
  t++;
14660
14663
  for (let [a, o] of Object.entries(e)) (n = Object.getOwnPropertyDescriptor(e, a)) != null && n.writable && (e[a] = Zl(o, t, a));
@@ -14752,4 +14755,4 @@ export {
14752
14755
  l2 as waitForElementToBeRemoved,
14753
14756
  $$ as within
14754
14757
  };
14755
- //# sourceMappingURL=index-BCvy9BiK.js.map
14758
+ //# sourceMappingURL=index-Dwqes6RH.js.map