@abgov/react-components 6.11.0-dev.4 → 6.11.0-dev.6

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.
@@ -1 +1 @@
1
- {"version":3,"file":"experimental.js","sources":["../../../libs/react-components/src/experimental/badge/badge.tsx","../../../libs/react-components/src/experimental/button/button.tsx","../../../libs/react-components/src/experimental/calendar/calendar.tsx","../../../libs/react-components/src/experimental/callout/callout.tsx","../../../libs/react-components/src/experimental/checkbox/checkbox.tsx","../../../libs/react-components/src/experimental/date-picker/date-picker.tsx","../../../libs/react-components/src/experimental/drawer/drawer.tsx","../../../libs/react-components/src/experimental/dropdown/dropdown.tsx","../../../libs/react-components/src/experimental/dropdown/dropdown-item.tsx","../../../libs/react-components/src/experimental/file-upload-card/file-upload-card.tsx","../../../libs/react-components/src/experimental/file-upload-input/file-upload-input.tsx","../../../libs/react-components/src/experimental/filter-chip/filter-chip.tsx","../../../libs/react-components/src/experimental/form-item/form-item.tsx","../../../libs/react-components/src/experimental/footer/footer.tsx","../../../libs/react-components/src/experimental/footer-meta-section/footer-meta-section.tsx","../../../libs/react-components/src/experimental/footer-nav-section/footer-nav-section.tsx","../../../libs/react-components/src/experimental/input/input.tsx","../../../libs/react-components/src/experimental/link/link.tsx","../../../libs/react-components/src/experimental/modal/modal.tsx","../../../libs/react-components/src/experimental/notification/notification.tsx","../../../libs/react-components/src/experimental/pagination/pagination.tsx","../../../libs/react-components/src/experimental/radio-group/radio.tsx","../../../libs/react-components/src/experimental/radio-group/radio-group.tsx","../../../libs/react-components/src/experimental/side-menu/side-menu.tsx","../../../libs/react-components/src/experimental/side-menu-group/side-menu-group.tsx","../../../libs/react-components/src/experimental/side-menu-heading/side-menu-heading.tsx","../../../libs/react-components/src/experimental/table/table.tsx","../../../libs/react-components/src/experimental/table/table-sort-header.tsx","../../../libs/react-components/src/experimental/tabs/tabs.tsx","../../../libs/react-components/src/experimental/textarea/textarea.tsx","../../../libs/react-components/src/experimental/work-side-menu/work-side-menu.tsx","../../../libs/react-components/src/experimental/work-side-menu-item/work-side-menu-item.tsx","../../../libs/react-components/src/experimental/work-side-menu-group/work-side-menu-group.tsx"],"sourcesContent":["import {\n DataAttributes,\n GoabBadgeEmphasis,\n GoabBadgeSize,\n GoabBadgeType,\n GoabxBadgeType,\n GoabIconType,\n Margins,\n} from \"@abgov/ui-components-common\";\nimport type { JSX } from \"react\";\nimport { transformProps, lowercase } from \"../../lib/common/extract-props\";\n\ninterface WCProps extends Margins {\n type: GoabBadgeType;\n icon?: string;\n content?: string;\n arialabel?: string;\n testid?: string;\n icontype?: GoabIconType;\n size?: GoabBadgeSize;\n emphasis?: GoabBadgeEmphasis;\n version?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-badge\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabxBadgeProps extends Margins, DataAttributes {\n type: GoabxBadgeType;\n icon?: boolean;\n content?: string;\n testId?: string;\n ariaLabel?: string;\n iconType?: GoabIconType;\n size?: GoabBadgeSize;\n emphasis?: GoabBadgeEmphasis;\n version?: string;\n}\n\n/**\n * Determines the icon display logic for the badge component.\n * Priority order:\n * 1. icon={true} - always show icon, starting with default\n * 2. icon={false} - always hide icon (overrides iconType)\n * 3. iconType provided - show custom icon\n * 4. default/no icon or iconType set - hide icon\n */\nfunction getIconValue(icon?: boolean, iconType?: GoabIconType): \"true\" | \"false\" {\n // Explicit icon prop takes precedence\n if (icon !== undefined) {\n return icon ? \"true\" : \"false\";\n }\n\n // Show custom icon if iconType is provided\n return iconType ? \"true\" : \"false\";\n}\n\nexport function GoabxBadge({\n icon,\n iconType,\n size = \"medium\",\n emphasis = \"strong\",\n version = \"2\",\n ...rest\n}: GoabxBadgeProps): JSX.Element {\n const _props = transformProps<WCProps>({ size, emphasis, ...rest }, lowercase);\n\n return (\n <goa-badge\n // Handle icon display priority: explicit icon prop takes precedence over iconType\n icon={getIconValue(icon, iconType)}\n icontype={iconType}\n {..._props}\n version={version}\n size={size}\n emphasis={emphasis}\n />\n );\n}\n","import { ReactNode, useEffect, useRef, type JSX } from \"react\";\nimport {\n GoabButtonSize,\n GoabButtonType,\n GoabButtonVariant,\n GoabIconType,\n Margins,\n DataAttributes,\n} from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../../lib/common/extract-props\";\n\ninterface WCProps extends Margins {\n type?: GoabButtonType;\n size?: GoabButtonSize;\n variant?: GoabButtonVariant;\n disabled?: string;\n leadingicon?: string;\n trailingicon?: string;\n width?: string;\n testid?: string;\n action?: string;\n actionArgs?: string;\n actionArg?: string;\n version?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-button\": WCProps &\n React.HTMLAttributes<HTMLElement> & {\n ref: React.RefObject<HTMLElement | null>;\n };\n }\n }\n}\n\nexport interface GoabxButtonProps extends Margins, DataAttributes {\n type?: GoabButtonType;\n size?: GoabButtonSize;\n variant?: GoabButtonVariant;\n disabled?: boolean;\n leadingIcon?: GoabIconType;\n trailingIcon?: GoabIconType;\n width?: string;\n onClick?: () => void;\n testId?: string;\n action?: string;\n actionArgs?: Record<string, unknown>;\n actionArg?: string;\n version?: string;\n children?: ReactNode;\n}\n\nexport function GoabxButton({\n disabled,\n onClick,\n actionArgs,\n actionArg,\n children,\n version = \"2\",\n ...rest\n}: GoabxButtonProps): JSX.Element {\n const el = useRef<HTMLElement>(null);\n\n const _props = transformProps<WCProps>(rest, lowercase);\n\n useEffect(() => {\n if (!el.current) {\n return;\n }\n if (!onClick) {\n return;\n }\n const current = el.current;\n const listener = () => {\n onClick?.();\n };\n\n current.addEventListener(\"_click\", listener);\n return () => {\n current.removeEventListener(\"_click\", listener);\n };\n }, [el, onClick]);\n\n return (\n <goa-button\n ref={el}\n disabled={disabled ? \"true\" : undefined}\n action-arg={actionArg}\n action-args={JSON.stringify(actionArgs)}\n {..._props}\n version={version}\n >\n {children}\n </goa-button>\n );\n}\n\nexport default GoabxButton;\n","import { useEffect, useRef, type JSX } from \"react\";\nimport {\n DataAttributes,\n GoabCalendarOnChangeDetail,\n Margins,\n} from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../../lib/common/extract-props\";\n\ninterface WCProps extends Margins {\n name?: string;\n value?: string;\n min?: string;\n max?: string;\n testid?: string;\n version?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-calendar\": WCProps &\n React.HTMLAttributes<HTMLElement> & {\n ref: React.RefObject<HTMLElement | null>;\n };\n }\n }\n}\nexport interface GoabxCalendarProps extends Margins, DataAttributes {\n name?: string;\n value?: string;\n min?: string;\n max?: string;\n testId?: string;\n version?: string;\n onChange: (details: GoabCalendarOnChangeDetail) => void;\n}\n\nexport function GoabxCalendar({\n min,\n max,\n onChange,\n name,\n version = \"2\",\n ...rest\n}: GoabxCalendarProps): JSX.Element {\n const ref = useRef<HTMLInputElement>(null);\n\n const _props = transformProps<WCProps>(rest, lowercase);\n\n useEffect(() => {\n if (!ref.current) {\n return;\n }\n const current = ref.current;\n const listener = (e: Event) => {\n onChange({\n name: name || \"\",\n value: (e as CustomEvent).detail.value,\n });\n };\n current.addEventListener(\"_change\", listener);\n\n return () => {\n current.removeEventListener(\"_change\", listener);\n };\n }, []);\n\n return (\n <goa-calendar\n ref={ref}\n name={name}\n min={min || undefined}\n max={max || undefined}\n version={version}\n {..._props}\n />\n );\n}\n\nexport default GoabxCalendar;\n","import {\n GoabCalloutAriaLive,\n GoabCalloutEmphasis,\n GoabCalloutSize,\n GoabCalloutType,\n GoabCalloutIconTheme,\n Margins, DataAttributes,\n} from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../../lib/common/extract-props\";\n\ninterface WCProps extends Margins {\n heading?: string;\n type?: GoabCalloutType;\n size?: GoabCalloutSize;\n arialive?: GoabCalloutAriaLive;\n maxwidth?: string;\n icontheme?: GoabCalloutIconTheme;\n emphasis?: GoabCalloutEmphasis;\n testid?: string;\n version?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-callout\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabxCalloutProps extends Margins, DataAttributes {\n heading?: string;\n type?: GoabCalloutType;\n size?: GoabCalloutSize;\n iconTheme?: GoabCalloutIconTheme;\n emphasis?: GoabCalloutEmphasis;\n maxWidth?: string;\n testId?: string;\n ariaLive?: GoabCalloutAriaLive;\n version?: string;\n children?: React.ReactNode;\n}\n\nexport const GoabxCallout = ({\n type = \"information\",\n iconTheme = \"outline\",\n size = \"large\",\n ariaLive = \"off\",\n emphasis = \"medium\",\n children,\n version = \"2\",\n ...rest\n}: GoabxCalloutProps) => {\n const _props = transformProps<WCProps>(\n { type, icontheme: iconTheme, size, arialive: ariaLive, emphasis, ...rest },\n lowercase\n );\n\n return (\n <goa-callout {..._props} version={version}>\n {children}\n </goa-callout>\n );\n};\n\nexport default GoabxCallout;\n","import {\n DataAttributes,\n GoabCheckboxOnChangeDetail,\n GoabCheckboxSize,\n Margins,\n} from \"@abgov/ui-components-common\";\nimport { useEffect, useRef, type JSX } from \"react\";\nimport { transformProps, lowercase } from \"../../lib/common/extract-props\";\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-checkbox\": WCProps & React.HTMLAttributes<HTMLElement> & {\n ref: React.RefObject<HTMLElement | null>;\n };\n }\n }\n}\n\ninterface WCProps extends Margins {\n id?: string;\n name: string;\n checked?: string;\n indeterminate?: string;\n disabled?: string;\n error?: string;\n text?: string;\n value?: string | number;\n arialabel?: string;\n description?: string | React.ReactNode;\n reveal?: React.ReactNode;\n revealarialabel?: string;\n maxwidth?: string;\n testid?: string;\n size?: GoabCheckboxSize;\n version?: string;\n}\n\n/* eslint-disable-next-line */\nexport interface GoabxCheckboxProps extends Margins, DataAttributes {\n id?: string;\n name: string;\n checked?: boolean;\n indeterminate?: boolean;\n disabled?: boolean;\n error?: boolean;\n text?: string;\n value?: string | number | boolean;\n children?: React.ReactNode;\n testId?: string;\n ariaLabel?: string;\n description?: string | React.ReactNode;\n reveal?: React.ReactNode;\n revealAriaLabel?: string;\n maxWidth?: string;\n size?: GoabCheckboxSize;\n version?: string;\n onChange?: (detail: GoabCheckboxOnChangeDetail) => void;\n}\n\n// legacy\nexport type Props = GoabxCheckboxProps;\n\nexport function GoabxCheckbox({\n error,\n checked,\n indeterminate,\n disabled,\n value,\n description,\n reveal,\n onChange,\n name,\n children,\n size = \"default\",\n version = \"2\",\n ...rest\n}: GoabxCheckboxProps): JSX.Element {\n const el = useRef<HTMLElement>(null);\n\n const _props = transformProps<WCProps>({ size, ...rest }, lowercase);\n\n useEffect(() => {\n if (!el.current) {\n return;\n }\n const current = el.current;\n const listener = (e: Event) => {\n const detail = (e as CustomEvent<GoabCheckboxOnChangeDetail>).detail;\n onChange?.({ ...detail, event: e });\n };\n\n current.addEventListener(\"_change\", listener);\n\n return () => {\n current.removeEventListener(\"_change\", listener);\n };\n }, [name, onChange]);\n\n return (\n <goa-checkbox\n ref={el}\n {..._props}\n name={name}\n error={error ? \"true\" : undefined}\n checked={checked ? \"true\" : undefined}\n indeterminate={indeterminate ? \"true\" : undefined}\n disabled={disabled ? \"true\" : undefined}\n value={typeof value === \"boolean\" ? (value ? \"true\" : undefined) : value}\n description={typeof description === \"string\" ? description : undefined}\n version={version}\n >\n {children}\n {typeof description !== \"string\" && description && (\n <div slot=\"description\">{description}</div>\n )}\n {reveal && <div slot=\"reveal\">{reveal}</div>}\n </goa-checkbox>\n );\n}\n\nexport default GoabxCheckbox;\n","import { useEffect, useRef, type JSX } from \"react\";\nimport {\n GoabDatePickerInputType,\n GoabDatePickerOnChangeDetail,\n Margins,\n DataAttributes,\n} from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../../lib/common/extract-props\";\n\ninterface WCProps extends Margins {\n name?: string;\n value?: string;\n error?: string;\n min?: string;\n max?: string;\n type?: string;\n relative?: string;\n disabled?: string;\n testid?: string;\n width?: string;\n version?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-date-picker\": WCProps &\n React.HTMLAttributes<HTMLElement> & {\n ref: React.RefObject<HTMLElement | null>;\n };\n }\n }\n}\n\nexport interface GoabxDatePickerProps extends Margins, DataAttributes {\n name?: string;\n value?: Date | string | undefined;\n error?: boolean;\n min?: Date | string;\n max?: Date | string;\n type?: GoabDatePickerInputType;\n testId?: string;\n /***\n * @deprecated This property has no effect and will be removed in a future version\n */\n relative?: boolean;\n disabled?: boolean;\n width?: string;\n version?: string;\n onChange?: (detail: GoabDatePickerOnChangeDetail) => void;\n}\n\nexport function GoabxDatePicker({\n value,\n error,\n min,\n max,\n disabled,\n relative,\n version = \"2\",\n onChange,\n ...rest\n}: GoabxDatePickerProps): JSX.Element {\n const ref = useRef<HTMLInputElement>(null);\n\n const _props = transformProps<WCProps>(rest, lowercase);\n\n useEffect(() => {\n if (value && typeof value !== \"string\") {\n console.warn(\n \"Using a `Date` type for value is deprecated. Instead use a string of the format `yyyy-mm-dd`\",\n );\n }\n }, []);\n\n useEffect(() => {\n if (!ref.current) {\n return;\n }\n const current = ref.current;\n\n const handleChange = (e: Event) => {\n const detail = (e as CustomEvent<GoabDatePickerOnChangeDetail>).detail;\n onChange?.({ ...detail, event: e });\n };\n\n if (onChange) {\n current.addEventListener(\"_change\", handleChange);\n }\n\n return () => {\n if (onChange) {\n current.removeEventListener(\"_change\", handleChange);\n }\n };\n }, [onChange]);\n\n const formatValue = (val: Date | string | undefined) => {\n if (!val) return \"\";\n\n if (val instanceof Date) {\n return val.toISOString();\n }\n\n return val;\n };\n\n return (\n <goa-date-picker\n ref={ref}\n value={formatValue(value) || undefined}\n error={error ? \"true\" : undefined}\n disabled={disabled ? \"true\" : undefined}\n min={formatValue(min) || undefined}\n max={formatValue(max) || undefined}\n relative={relative ? \"true\" : undefined}\n version={version}\n {..._props}\n />\n );\n}\n\nexport default GoabxDatePicker;\n","import { ReactNode, useEffect, useRef, type JSX } from \"react\";\nimport { GoabDrawerPosition, GoabDrawerSize } from \"@abgov/ui-components-common\";\n\ninterface WCProps {\n position: GoabDrawerPosition;\n open?: boolean;\n heading?: string;\n maxsize?: GoabDrawerSize;\n testid?: string;\n ref: React.RefObject<HTMLElement | null>;\n version?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-drawer\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabxDrawerProps {\n position: GoabDrawerPosition;\n open?: boolean;\n heading?: string | ReactNode;\n maxSize?: GoabDrawerSize;\n testId?: string;\n actions?: ReactNode;\n children: ReactNode;\n onClose: () => void;\n version?: string;\n}\n\nexport function GoabxDrawer({\n position,\n open,\n heading,\n maxSize,\n testId,\n actions,\n children,\n onClose,\n version = \"2\",\n}: GoabxDrawerProps): JSX.Element {\n const el = useRef<HTMLElement>(null);\n\n useEffect(() => {\n if (!el?.current || !onClose) {\n return;\n }\n el.current?.addEventListener(\"_close\", onClose);\n return () => {\n el.current?.removeEventListener(\"_close\", onClose);\n };\n }, [el, onClose]);\n\n return (\n <goa-drawer\n ref={el}\n position={position}\n open={open ? true : undefined}\n heading={typeof heading === \"string\" ? heading : undefined}\n maxsize={maxSize}\n testid={testId}\n version={version}\n >\n {heading && typeof heading !== \"string\" && <div slot=\"heading\">{heading}</div>}\n {actions && <div slot=\"actions\">{actions}</div>}\n {children}\n </goa-drawer>\n );\n}\n\nexport default GoabxDrawer;\n","import {\n GoabDropdownOnChangeDetail,\n GoabDropdownSize,\n GoabIconType,\n Margins, DataAttributes,\n} from \"@abgov/ui-components-common\";\nimport { useEffect, useRef, type JSX } from \"react\";\nimport { transformProps, lowercase } from \"../../lib/common/extract-props\";\n\ninterface WCProps extends Margins {\n arialabel?: string;\n arialabelledby?: string;\n disabled?: string;\n error?: string;\n filterable?: string;\n leadingicon?: string;\n maxheight?: string;\n multiselect?: string;\n name?: string;\n native?: string;\n placeholder?: string;\n value?: string;\n width?: string;\n maxwidth?: string;\n relative?: string;\n id?: string;\n autocomplete?: string;\n testid?: string;\n size?: GoabDropdownSize;\n version?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n // eslint-disable-next-line @typescript-eslint/no-empty-interface\n interface IntrinsicElements {\n \"goa-dropdown\": WCProps & React.HTMLAttributes<HTMLElement> & {\n ref: React.RefObject<HTMLElement | null>;\n };\n }\n }\n}\n\nexport interface GoabxDropdownProps extends Margins, DataAttributes {\n name?: string;\n value?: string[] | string;\n onChange?: (detail: GoabDropdownOnChangeDetail) => void;\n\n // optional\n ariaLabel?: string;\n ariaLabelledBy?: string;\n id?: string;\n children?: React.ReactNode;\n disabled?: boolean;\n error?: boolean;\n filterable?: boolean;\n leadingIcon?: GoabIconType;\n maxHeight?: string;\n multiselect?: boolean;\n native?: boolean;\n placeholder?: string;\n testId?: string;\n width?: string;\n maxWidth?: string;\n autoComplete?: string;\n size?: GoabDropdownSize;\n version?: string;\n /***\n * @deprecated This property has no effect and will be removed in a future version\n */\n relative?: boolean;\n}\n\nfunction stringify(value: string | string[] | undefined): string {\n if (typeof value === \"undefined\") {\n return \"\";\n }\n if (typeof value === \"string\") {\n return value;\n }\n return JSON.stringify(value);\n}\n\nexport function GoabxDropdown({\n value,\n onChange,\n disabled,\n error,\n filterable,\n multiselect,\n native,\n relative,\n children,\n size = \"default\",\n version = \"2\",\n ...rest\n}: GoabxDropdownProps): JSX.Element {\n const el = useRef<HTMLElement>(null);\n\n const _props = transformProps<WCProps>({ size, ...rest }, lowercase);\n\n useEffect(() => {\n if (!el.current) {\n return;\n }\n const current = el.current;\n const handler = (e: Event) => {\n const detail = (e as CustomEvent<GoabDropdownOnChangeDetail>).detail;\n onChange?.({ ...detail, event: e });\n };\n if (onChange) {\n current.addEventListener(\"_change\", handler);\n }\n return () => {\n if (onChange) {\n current.removeEventListener(\"_change\", handler);\n }\n };\n }, [el, onChange]);\n\n return (\n <goa-dropdown\n ref={el}\n value={stringify(value)}\n disabled={disabled ? \"true\" : undefined}\n error={error ? \"true\" : undefined}\n filterable={filterable ? \"true\" : undefined}\n multiselect={multiselect ? \"true\" : undefined}\n native={native ? \"true\" : undefined}\n relative={relative ? \"true\" : undefined}\n {..._props}\n version={version}\n >\n {children}\n </goa-dropdown>\n );\n}\n\nexport default GoabxDropdown;\n","import { useEffect } from \"react\";\nimport { GoabDropdownItemMountType } from \"@abgov/ui-components-common\";\n\ninterface WCProps {\n value: string;\n label?: string;\n filter?: string;\n mount?: GoabDropdownItemMountType;\n\n // @deprecated\n name?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-dropdown-item\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabxDropdownItemProps {\n value: string;\n label?: string;\n filter?: string;\n testId?: string;\n mountType?: GoabDropdownItemMountType;\n\n // @deprecated\n name?: string;\n}\n\nexport function GoabxDropdownOption(props: GoabxDropdownItemProps) {\n useEffect(() => {\n console.warn(\"GoabxDropdownOption is deprecated. Please use GoabxDropdownItem\");\n }, []);\n\n return <GoabxDropdownItem {...props} />;\n}\n\nexport function GoabxDropdownItem({\n value,\n label,\n filter,\n name,\n mountType = \"append\",\n}: GoabxDropdownItemProps) {\n return (\n <goa-dropdown-item\n value={value}\n label={label}\n filter={filter}\n name={name}\n mount={mountType}\n />\n );\n}\n","import {\n DataAttributes,\n GoabFileUploadOnCancelDetail,\n GoabFileUploadOnDeleteDetail,\n} from \"@abgov/ui-components-common\";\nimport { useEffect, useRef } from \"react\";\nimport { transformProps, lowercase } from \"../../lib/common/extract-props\";\n\ninterface WCProps {\n filename: string;\n size: number;\n type?: string;\n progress?: number;\n error?: string;\n testid?: string;\n version?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-file-upload-card\": WCProps &\n React.HTMLAttributes<HTMLElement> & {\n ref: React.RefObject<HTMLElement | null>;\n };\n }\n }\n}\n\n/* eslint-disable-next-line */\nexport interface GoabxFileUploadCardProps extends DataAttributes {\n filename: string;\n size: number;\n type?: string;\n progress?: number;\n testId?: string;\n error?: string;\n onDelete?: (detail: GoabFileUploadOnDeleteDetail) => void;\n onCancel?: (detail: GoabFileUploadOnCancelDetail) => void;\n version?: string;\n}\n\nexport function GoabxFileUploadCard({\n onDelete,\n onCancel,\n filename,\n version = \"2\",\n ...rest\n}: GoabxFileUploadCardProps) {\n const el = useRef<HTMLElement>(null);\n\n const _props = transformProps<WCProps>({ filename, ...rest }, lowercase);\n\n useEffect(() => {\n if (!el.current) return;\n\n const current = el.current;\n const deleteHandler = (event: Event) => onDelete?.({ filename, event });\n const cancelHandler = (event: Event) => onCancel?.({ filename, event });\n current.addEventListener(\"_delete\", deleteHandler);\n current.addEventListener(\"_cancel\", cancelHandler);\n return () => {\n current.removeEventListener(\"_delete\", deleteHandler);\n current.removeEventListener(\"_cancel\", cancelHandler);\n };\n }, [el, onDelete, onCancel, filename]);\n\n return <goa-file-upload-card ref={el} {..._props} version={version} />;\n}\n\nexport default GoabxFileUploadCard;\n","import {\n DataAttributes,\n GoabFileUploadInputOnSelectFileDetail,\n GoabFileUploadInputVariant,\n} from \"@abgov/ui-components-common\";\nimport { useEffect, useRef } from \"react\";\nimport { transformProps, lowercase } from \"../../lib/common/extract-props\";\n\ninterface WCProps {\n variant?: GoabFileUploadInputVariant;\n accept?: string;\n maxfilesize?: string;\n testid?: string;\n version?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-file-upload-input\": WCProps & React.HTMLAttributes<HTMLElement> & {\n ref: React.RefObject<HTMLElement | null>;\n };\n }\n }\n}\n\n/* eslint-disable-next-line */\nexport interface GoabxFileUploadInputProps extends DataAttributes {\n variant?: GoabFileUploadInputVariant;\n accept?: string;\n maxFileSize?: string;\n testId?: string;\n onSelectFile: (detail: GoabFileUploadInputOnSelectFileDetail) => void;\n version?: string;\n}\n\nexport function GoabxFileUploadInput({\n onSelectFile,\n version = \"2\",\n ...rest\n}: GoabxFileUploadInputProps) {\n const el = useRef<HTMLElement>(null);\n\n const _props = transformProps<WCProps>(rest, lowercase);\n\n useEffect(() => {\n if (!el.current) return;\n\n const current = el.current;\n const handler = (e: Event) => {\n const detail = (e as CustomEvent<GoabFileUploadInputOnSelectFileDetail>).detail;\n onSelectFile({ ...detail, event: e });\n };\n current.addEventListener(\"_selectFile\", handler);\n return () => {\n current.removeEventListener(\"_selectFile\", handler);\n };\n }, [el, onSelectFile]);\n\n return (\n <goa-file-upload-input ref={el} {..._props} version={version} />\n );\n}\n\nexport default GoabxFileUploadInput;\n","import { useEffect, useRef } from \"react\";\nimport {\n DataAttributes,\n GoabFilterChipTheme,\n GoabIconType,\n Margins,\n} from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../../lib/common/extract-props\";\n\ninterface WCProps extends Margins {\n icontheme: GoabFilterChipTheme;\n error?: string;\n content: string;\n secondarytext?: string;\n leadingicon?: GoabIconType;\n testid?: string;\n version?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-filter-chip\": WCProps & React.HTMLAttributes<HTMLElement> & {\n ref: React.RefObject<HTMLElement | null>;\n };\n }\n }\n}\n\nexport interface GoabxFilterChipProps extends Margins, DataAttributes {\n onClick?: () => void;\n iconTheme?: GoabFilterChipTheme;\n error?: boolean;\n content: string;\n secondaryText?: string;\n leadingIcon?: GoabIconType;\n testId?: string;\n version?: string;\n}\n\nexport const GoabxFilterChip = ({\n iconTheme = \"outline\",\n error,\n onClick,\n version = \"2\",\n ...rest\n}: GoabxFilterChipProps) => {\n const el = useRef<HTMLElement>(null);\n\n const _props = transformProps<WCProps>(\n { icontheme: iconTheme, ...rest },\n lowercase\n );\n\n useEffect(() => {\n if (!el.current) return;\n if (!onClick) return;\n\n const current = el.current;\n\n current.addEventListener(\"_click\", onClick);\n return () => {\n current.removeEventListener(\"_click\", onClick!);\n };\n }, [el, onClick]);\n\n return (\n <goa-filter-chip\n ref={el}\n error={error ? \"true\" : undefined}\n version={version}\n {..._props}\n />\n );\n};\n\nexport default GoabxFilterChip;\n","import {\n GoabFormItemLabelSize,\n GoabFormItemRequirement,\n GoabFormItemType,\n Margins, DataAttributes,\n} from \"@abgov/ui-components-common\";\n\nimport type { JSX } from \"react\";\nimport { transformProps, lowercase } from \"../../lib/common/extract-props\";\n\ninterface WCProps extends Margins {\n label?: string;\n labelsize?: GoabFormItemLabelSize;\n requirement?: GoabFormItemRequirement;\n error?: string;\n helptext?: string;\n maxwidth?: string;\n \"public-form-summary-order\"?: number;\n name?: string;\n id?: string;\n testid?: string;\n type?: GoabFormItemType;\n version?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-form-item\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabxFormItemProps extends Margins, DataAttributes {\n label?: string;\n labelSize?: GoabFormItemLabelSize;\n requirement?: GoabFormItemRequirement;\n error?: string | React.ReactNode;\n helpText?: string | React.ReactNode;\n maxWidth?: string;\n type?: GoabFormItemType;\n version?: string;\n /**\n * Public form: to arrange fields in the summary\n */\n publicFormSummaryOrder?: number;\n /**\n * Public form: allow to override the label value within the form-summary to provide a shorter description of the value\n */\n name?: string;\n children?: React.ReactNode;\n testId?: string;\n id?: string;\n}\n\nexport function GoabxFormItem({\n error,\n helpText,\n publicFormSummaryOrder,\n children,\n type = \"\",\n version = \"2\",\n ...rest\n}: GoabxFormItemProps): JSX.Element {\n const _props = transformProps<WCProps>({ type, ...rest }, lowercase);\n\n return (\n <goa-form-item\n error={typeof error === \"string\" ? error : undefined}\n helptext={typeof helpText === \"string\" ? helpText : undefined}\n public-form-summary-order={publicFormSummaryOrder}\n {..._props}\n version={version}\n >\n {error && typeof error !== \"string\" && <div slot=\"error\">{error}</div>}\n {helpText && typeof helpText !== \"string\" && <div slot=\"helptext\">{helpText}</div>}\n {children}\n </goa-form-item>\n );\n}\n\nexport default GoabxFormItem;\n","import { ReactNode, type JSX } from \"react\";\nimport { DataAttributes } from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../../lib/common/extract-props\";\n\ninterface WCProps {\n maxcontentwidth?: string;\n testid?: string;\n url?: string;\n version?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-app-footer\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\n/* eslint-disable-next-line */\nexport interface GoabxAppFooterProps extends DataAttributes {\n maxContentWidth?: string;\n children?: ReactNode;\n testId?: string;\n url?: string;\n version?: string;\n}\n\nexport function GoabxAppFooter({ children, ...rest }: GoabxAppFooterProps): JSX.Element {\n const _props = transformProps<WCProps>(rest, lowercase);\n\n return (\n <goa-app-footer {..._props} version={\"2\"}>\n {children}\n </goa-app-footer>\n );\n}\n\nexport default GoabxAppFooter;\n","import { ReactNode } from \"react\";\nimport { DataAttributes } from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../../lib/common/extract-props\";\n\ninterface WCProps {\n testid?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-app-footer-meta-section\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\n/* eslint-disable-next-line */\nexport interface GoabxAppFooterMetaSectionProps extends DataAttributes {\n testId?: string;\n children?: ReactNode;\n}\n\nexport function GoabxAppFooterMetaSection({\n children,\n ...rest\n}: GoabxAppFooterMetaSectionProps) {\n const _props = transformProps<WCProps>(rest, lowercase);\n\n return (\n <goa-app-footer-meta-section slot=\"meta\" {..._props}>\n {children}\n </goa-app-footer-meta-section>\n );\n}\n\nexport default GoabxAppFooterMetaSection;\n","import { ReactNode } from \"react\";\nimport { DataAttributes } from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../../lib/common/extract-props\";\n\ninterface WCProps {\n maxcolumncount?: number;\n heading?: string;\n testid?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-app-footer-nav-section\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\n/* eslint-disable-next-line */\nexport interface GoabxFooterNavSectionProps extends DataAttributes {\n maxColumnCount?: number;\n heading?: string;\n testId?: string;\n children?: ReactNode;\n}\n\nexport function GoabxAppFooterNavSection({\n children,\n ...rest\n}: GoabxFooterNavSectionProps) {\n const _props = transformProps<WCProps>(rest, lowercase);\n\n return (\n <goa-app-footer-nav-section slot=\"nav\" {..._props}>\n {children}\n </goa-app-footer-nav-section>\n );\n}\n\nexport default GoabxAppFooterNavSection;\n","import { useEffect, useRef, type JSX } from \"react\";\nimport { format, isValid, parseISO } from \"date-fns\";\nimport {\n GoabAutoCapitalize,\n GoabDate,\n GoabIconType,\n GoabInputOnBlurDetail,\n GoabInputOnChangeDetail,\n GoabInputOnFocusDetail,\n GoabInputOnKeyPressDetail,\n GoabInputSize,\n GoabInputType,\n Margins, DataAttributes,\n} from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../../lib/common/extract-props\";\n\nexport interface IgnoreMe {\n ignore: string;\n}\n\ninterface WCProps extends Margins {\n type?: GoabInputType;\n name: string;\n value?: string;\n id?: string;\n autocapitalize?: GoabAutoCapitalize;\n autocomplete?: string;\n debounce?: number;\n placeholder?: string;\n leadingicon?: string;\n trailingicon?: string;\n variant: string;\n disabled?: string;\n error?: string;\n readonly?: string;\n focused?: string;\n handletrailingiconclick: string;\n width?: string;\n prefix?: string;\n suffix?: string;\n arialabel?: string;\n testid?: string;\n textalign?: string;\n size?: GoabInputSize;\n\n // type=number\n min?: string | number;\n max?: string | number;\n step?: number;\n maxlength?: number;\n\n trailingiconarialabel?: string;\n version?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-input\": WCProps & React.HTMLAttributes<HTMLInputElement> & {\n ref?: React.RefObject<HTMLInputElement | null>;\n };\n }\n }\n}\n\ninterface BaseProps extends Margins, DataAttributes {\n // required\n name: string;\n\n // optional\n id?: string;\n debounce?: number;\n disabled?: boolean;\n autoCapitalize?: GoabAutoCapitalize;\n autoComplete?: string;\n placeholder?: string;\n leadingIcon?: GoabIconType;\n trailingIcon?: GoabIconType;\n onTrailingIconClick?: () => void;\n variant?: \"goa\" | \"bare\";\n focused?: boolean;\n readonly?: boolean;\n error?: boolean;\n width?: string;\n prefix?: string;\n suffix?: string;\n testId?: string;\n ariaLabel?: string;\n leadingContent?: React.ReactNode;\n trailingContent?: React.ReactNode;\n maxLength?: number;\n trailingIconAriaLabel?: string;\n textAlign?: \"left\" | \"right\";\n size?: GoabInputSize;\n version?: string;\n}\n\ntype OnChange<T = string> = (detail: GoabInputOnChangeDetail<T>) => void;\ntype OnFocus<T = string> = (detail: GoabInputOnFocusDetail<T>) => void;\ntype OnBlur<T = string> = (detail: GoabInputOnBlurDetail<T>) => void;\ntype OnKeyPress<T = string> = (detail: GoabInputOnKeyPressDetail<T>) => void;\n\nexport interface GoabxInputProps extends BaseProps {\n onChange?: OnChange<string>;\n value?: string;\n min?: number | string;\n max?: number | string;\n step?: number;\n onFocus?: OnFocus<string>;\n onBlur?: OnBlur<string>;\n onKeyPress?: OnKeyPress<string>;\n}\n\ninterface GoabxNumberInputProps extends BaseProps {\n onChange?: OnChange<number>;\n value?: number;\n min?: number;\n max?: number;\n step?: number;\n onFocus?: OnFocus<number>;\n onBlur?: OnBlur<number>;\n onKeyPress?: OnKeyPress<number>;\n}\n\ninterface GoabxDateInputProps extends BaseProps {\n onChange?: OnChange<GoabDate>;\n value?: GoabDate;\n min?: GoabDate;\n max?: GoabDate;\n step?: number;\n onFocus?: OnFocus<GoabDate>;\n onBlur?: OnBlur<GoabDate>;\n onKeyPress?: OnKeyPress<GoabDate>;\n}\n\nexport function GoabxInput({\n variant = \"goa\",\n textAlign = \"left\",\n size = \"default\",\n focused,\n disabled,\n readonly,\n error,\n leadingContent,\n trailingContent,\n onTrailingIconClick,\n onChange,\n onFocus,\n onBlur,\n onKeyPress,\n version = \"2\",\n ...rest\n}: GoabxInputProps & { type?: GoabInputType }): JSX.Element {\n const ref = useRef<HTMLInputElement>(null);\n\n const _props = transformProps<WCProps>(\n { variant, textalign: textAlign, size, ...rest },\n lowercase\n );\n\n useEffect(() => {\n if (!ref.current) {\n return;\n }\n const current = ref.current;\n const changeListener = (e: Event) => {\n const detail = (e as CustomEvent<GoabInputOnChangeDetail>).detail;\n onChange?.({ ...detail, event: e });\n };\n const clickListener = () => {\n onTrailingIconClick?.();\n };\n\n const focusListener = (e: Event) => {\n const detail = (e as CustomEvent<GoabInputOnFocusDetail>).detail;\n onFocus?.({ ...detail, event: e });\n };\n\n const blurListener = (e: Event) => {\n const detail = (e as CustomEvent<GoabInputOnBlurDetail>).detail;\n onBlur?.({ ...detail, event: e });\n };\n\n const keypressListener = (e: Event) => {\n const detail = (e as CustomEvent<GoabInputOnKeyPressDetail>).detail;\n onKeyPress?.({ ...detail, event: e });\n };\n\n current.addEventListener(\"_change\", changeListener);\n current.addEventListener(\"_trailingIconClick\", clickListener);\n current.addEventListener(\"_focus\", focusListener);\n current.addEventListener(\"_blur\", blurListener);\n current.addEventListener(\"_keyPress\", keypressListener);\n\n return () => {\n current.removeEventListener(\"_change\", changeListener);\n current.removeEventListener(\"_trailingIconClick\", clickListener);\n current.removeEventListener(\"_focus\", focusListener);\n current.removeEventListener(\"_blur\", blurListener);\n current.removeEventListener(\"_keyPress\", keypressListener);\n };\n }, [ref, onChange, onTrailingIconClick, onFocus, onBlur, onKeyPress]);\n\n return (\n <goa-input\n ref={ref}\n {..._props}\n focused={focused ? \"true\" : undefined}\n disabled={disabled ? \"true\" : undefined}\n readonly={readonly ? \"true\" : undefined}\n error={error ? \"true\" : undefined}\n handletrailingiconclick={onTrailingIconClick ? \"true\" : \"false\"}\n version={version}\n >\n {leadingContent && <div slot=\"leadingContent\">{leadingContent}</div>}\n {trailingContent && <div slot=\"trailingContent\">{trailingContent}</div>}\n </goa-input>\n );\n}\n\nconst onDateChangeHandler = (onChange?: OnChange<GoabDate>) => {\n return ({ name, value, event }: GoabInputOnChangeDetail<string | Date>) => {\n if (!value) {\n onChange?.({ name, value: \"\", event });\n return;\n }\n // valid string date\n if (typeof value === \"string\" && isValid(new Date(value))) {\n onChange?.({ name, value: parseISO(value), event });\n return;\n }\n // valid date\n if (isValid(value)) {\n onChange?.({ name, value, event });\n return;\n }\n };\n};\n\nconst onTimeChangeHandler = (onChange?: OnChange) => {\n return ({ name, value, event }: GoabInputOnChangeDetail) => {\n if (!value) {\n onChange?.({ name, value: \"\", event });\n return;\n }\n onChange?.({ name, value, event });\n };\n};\n\nfunction toString(value: GoabDate | null | undefined, tmpl = \"yyyy-MM-dd\"): string {\n if (!value) {\n return \"\";\n }\n if (typeof value === \"string\") {\n return format(parseISO(value), tmpl);\n }\n if (value.toISOString() === new Date(0).toISOString()) {\n return \"\";\n }\n return format(value, tmpl);\n}\n\nexport function GoabxInputText(props: GoabxInputProps): JSX.Element {\n return <GoabxInput {...props} type=\"text\" />;\n}\n\nexport function GoabxInputPassword(props: GoabxInputProps): JSX.Element {\n return <GoabxInput {...props} type=\"password\" />;\n}\n\nexport function GoabxInputDate({\n value,\n min = \"\",\n max = \"\",\n ...props\n}: GoabxDateInputProps): JSX.Element {\n return (\n <GoabxInput\n {...props}\n type=\"date\"\n onChange={onDateChangeHandler(props.onChange)}\n min={toString(min)}\n max={toString(max)}\n value={toString(value)}\n />\n );\n}\n\nexport function GoabxInputTime({\n value,\n min = \"\",\n max = \"\",\n ...props\n}: GoabxInputProps): JSX.Element {\n return (\n <GoabxInput\n {...props}\n onChange={onTimeChangeHandler(props.onChange)}\n value={value}\n type=\"time\"\n />\n );\n}\n\nexport function GoabxInputDateTime({\n value,\n min = \"\",\n max = \"\",\n ...props\n}: GoabxDateInputProps): JSX.Element {\n return (\n <GoabxInput\n {...props}\n onChange={onDateChangeHandler(props.onChange)}\n value={toString(value, \"yyyy-MM-dd'T'HH:mm\")}\n type=\"datetime-local\"\n />\n );\n}\n\nexport function GoabxInputEmail(props: GoabxInputProps): JSX.Element {\n return <GoabxInput {...props} type=\"email\" />;\n}\n\nexport function GoabxInputSearch(props: GoabxInputProps): JSX.Element {\n return <GoabxInput {...props} type=\"search\" trailingIcon=\"search\" />;\n}\n\nexport function GoabxInputUrl(props: GoabxInputProps): JSX.Element {\n return <GoabxInput {...props} type=\"url\" />;\n}\n\nexport function GoabxInputTel(props: GoabxInputProps): JSX.Element {\n return <GoabxInput {...props} type=\"tel\" />;\n}\n\nexport function GoabxInputFile(props: GoabxInputProps): JSX.Element {\n return (\n <input\n id={props.id}\n name={props.name}\n type=\"file\"\n onChange={(e) =>\n props.onChange?.({\n name: e.target.name,\n value: e.target.value,\n event: e.nativeEvent,\n })\n }\n style={{ backgroundColor: \"revert\" }}\n />\n );\n}\n\nexport function GoabxInputMonth(props: GoabxInputProps): JSX.Element {\n return <GoabxInput {...props} type=\"month\" />;\n}\n\nexport function GoabxInputNumber({\n min = Number.MIN_VALUE,\n max = Number.MAX_VALUE,\n value,\n textAlign = \"right\",\n ...props\n}: GoabxNumberInputProps): JSX.Element {\n const onNumberChange = ({ name, value, event }: GoabInputOnChangeDetail) => {\n props.onChange?.({ name, value: parseFloat(value), event });\n };\n const onFocus = ({ name, value, event }: GoabInputOnFocusDetail) => {\n props.onFocus?.({ name, value: parseFloat(value), event });\n };\n const onBlur = ({ name, value, event }: GoabInputOnBlurDetail) => {\n props.onBlur?.({ name, value: parseFloat(value), event });\n };\n const onKeyPress = ({ name, value, key, event }: GoabInputOnKeyPressDetail) => {\n props.onKeyPress?.({ name, value: parseFloat(value), key: parseInt(key), event });\n };\n return (\n <GoabxInput\n {...props}\n onChange={onNumberChange}\n min={min?.toString()}\n max={max?.toString()}\n value={value?.toString()}\n onFocus={onFocus}\n onBlur={onBlur}\n type=\"number\"\n onKeyPress={onKeyPress}\n textAlign={textAlign}\n />\n );\n}\n\nexport function GoabxInputRange(props: GoabxInputProps): JSX.Element {\n return <GoabxInput {...props} type=\"range\" />;\n}\n\nexport default GoabxInput;\n","import { ReactNode } from \"react\";\nimport {\n GoabIconType,\n GoabLinkColor,\n GoabLinkSize,\n Margins,\n DataAttributes,\n} from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../../lib/common/extract-props\";\n\ninterface WCProps extends Margins {\n leadingicon?: GoabIconType;\n trailingicon?: GoabIconType;\n action?: string;\n actionArgs?: string;\n actionArg?: string;\n testid?: string;\n color?: GoabLinkColor;\n size?: GoabLinkSize;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-link\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\ninterface GoabxLinkProps extends Margins, DataAttributes {\n leadingIcon?: GoabIconType;\n trailingIcon?: GoabIconType;\n action?: string;\n actionArgs?: Record<string, unknown>;\n actionArg?: string;\n color?: GoabLinkColor;\n size?: GoabLinkSize;\n testId?: string;\n children: ReactNode;\n}\n\nexport function GoabxLink({\n actionArgs,\n actionArg,\n color = \"interactive\",\n size = \"medium\",\n children,\n ...rest\n}: GoabxLinkProps) {\n const _props = transformProps<WCProps>({ color, size, ...rest }, lowercase);\n\n return (\n <goa-link\n action-arg={actionArg}\n action-args={JSON.stringify(actionArgs)}\n {..._props}\n >\n {children}\n </goa-link>\n );\n}\n\nexport default GoabxLink;\n","import {\n GoabModalCalloutVariant,\n GoabModalRole,\n GoabModalTransition,\n} from \"@abgov/ui-components-common\";\nimport { ReactElement, ReactNode, RefObject, useEffect, useRef, type JSX } from \"react\";\n\ninterface WCProps {\n ref: RefObject<HTMLElement | null>;\n heading?: ReactNode;\n open?: string;\n maxwidth?: string;\n closable: string;\n /**\n * @deprecated The role property is deprecated and will be removed in a future version.\n * The modal will always use role=\"dialog\".\n */\n role?: GoabModalRole;\n transition?: GoabModalTransition;\n calloutvariant?: GoabModalCalloutVariant;\n testid?: string;\n version?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-modal\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabxModalProps {\n heading?: ReactNode;\n maxWidth?: string;\n actions?: ReactElement<any>;\n onClose?: () => void;\n transition?: GoabModalTransition;\n children?: ReactNode;\n open?: boolean;\n calloutVariant?: GoabModalCalloutVariant;\n testId?: string;\n version?: string;\n /**\n * @deprecated The role property is deprecated and will be removed in a future version.\n * The modal will always use role=\"dialog\".\n */\n role?: GoabModalRole;\n}\n\nexport function GoabxModal({\n heading,\n children,\n maxWidth,\n open,\n actions,\n transition,\n calloutVariant,\n onClose,\n testId,\n version = \"2\",\n}: GoabxModalProps): JSX.Element {\n const el = useRef<HTMLElement>(null);\n\n useEffect(() => {\n if (!el.current) {\n return;\n }\n const current = el.current;\n const listener = () => {\n onClose?.();\n };\n\n current.addEventListener(\"_close\", listener);\n return () => {\n current.removeEventListener(\"_close\", listener);\n };\n }, [el, onClose]);\n\n return (\n <goa-modal\n ref={el}\n open={open ? \"true\" : undefined}\n closable={onClose ? \"true\" : \"false\"}\n heading={typeof heading === \"string\" ? heading : undefined}\n maxwidth={maxWidth}\n transition={transition}\n calloutvariant={calloutVariant}\n testid={testId}\n version={version}\n >\n {heading && typeof heading !== \"string\" && <div slot=\"heading\">{heading}</div>}\n {actions && <div slot=\"actions\">{actions}</div>}\n {children}\n </goa-modal>\n );\n}\n\nexport default GoabxModal;\n","import {\n GoabAriaLiveType,\n GoabNotificationEmphasis,\n GoabNotificationType,\n} from \"@abgov/ui-components-common\";\nimport { useEffect, useRef } from \"react\";\n\ninterface WCProps {\n ref: React.RefObject<HTMLElement | null>;\n type: GoabNotificationType;\n maxcontentwidth?: string;\n arialive?: GoabAriaLiveType;\n testid?: string;\n emphasis?: GoabNotificationEmphasis;\n compact?: string;\n version?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-notification\": WCProps & React.HTMLAttributes<HTMLButtonElement>;\n }\n }\n}\n\nexport interface GoabxNotificationProps {\n type?: GoabNotificationType;\n ariaLive?: GoabAriaLiveType;\n maxContentWidth?: string;\n emphasis?: GoabNotificationEmphasis;\n compact?: boolean;\n children?: React.ReactNode;\n onDismiss?: () => void;\n testId?: string;\n version?: string;\n}\n\nexport const GoabxNotification = ({\n type = \"information\",\n emphasis = \"high\",\n compact,\n ariaLive,\n maxContentWidth,\n children,\n testId,\n onDismiss,\n version = \"2\",\n}: GoabxNotificationProps) => {\n const el = useRef<HTMLElement>(null);\n\n useEffect(() => {\n if (!el.current) {\n return;\n }\n const current = el.current;\n const listener = () => {\n onDismiss?.();\n };\n\n current.addEventListener(\"_dismiss\", listener);\n return () => {\n current.removeEventListener(\"_dismiss\", listener);\n };\n }, [el, onDismiss]);\n\n return (\n <goa-notification\n ref={el}\n type={type}\n testid={testId}\n maxcontentwidth={maxContentWidth}\n arialive={ariaLive}\n emphasis={emphasis}\n compact={compact ? \"true\" : undefined}\n version={version}\n >\n {children}\n </goa-notification>\n );\n};\n\nexport default GoabxNotification;\n","import { GoabPaginationOnChangeDetail, Margins } from \"@abgov/ui-components-common\";\nimport { useEffect, useRef } from \"react\";\n\ninterface WCProps extends Margins {\n ref?: React.RefObject<HTMLElement | null>;\n itemcount: number;\n perpagecount?: number;\n pagenumber: number;\n variant?: \"all\" | \"links-only\";\n testid?: string;\n version?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-pagination\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\n/* eslint-disable-next-line */\nexport interface GoabxPaginationProps extends Margins {\n itemCount: number;\n perPageCount?: number;\n pageNumber: number;\n variant?: \"all\" | \"links-only\";\n onChange: (detail: GoabPaginationOnChangeDetail) => void;\n testId?: string;\n version?: string;\n}\n\n// legacy\nexport type PaginationProps = GoabxPaginationProps;\n\nexport function GoabxPagination({\n onChange,\n version = \"2\",\n ...props\n}: GoabxPaginationProps) {\n const ref = useRef<HTMLElement>(null);\n\n useEffect(() => {\n if (!ref.current) {\n return;\n }\n const current = ref.current;\n const changeListener = (e: Event) => {\n const detail = (e as CustomEvent<GoabPaginationOnChangeDetail>).detail;\n onChange(detail);\n };\n\n current.addEventListener(\"_change\", changeListener);\n return () => {\n current.removeEventListener(\"_change\", changeListener);\n };\n }, [ref, onChange]);\n\n return (\n <goa-pagination\n ref={ref}\n itemcount={props.itemCount}\n perpagecount={props.perPageCount}\n pagenumber={props.pageNumber}\n variant={props.variant}\n mt={props.mt}\n mb={props.mb}\n ml={props.ml}\n mr={props.mr}\n testid={props.testId}\n version={version}\n />\n );\n}\n\nexport default GoabxPagination;\n","import { Margins } from \"@abgov/ui-components-common\";\n\nimport type { JSX } from \"react\";\n\ninterface WCProps extends Margins {\n name?: string;\n value?: string;\n description?: string | React.ReactNode;\n reveal?: React.ReactNode;\n revealarialabel?: string;\n label?: string;\n maxwidth?: string;\n disabled?: string;\n checked?: string;\n error?: string;\n arialabel?: string;\n compact?: string;\n version?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-radio-item\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabxRadioItemProps extends Margins {\n value?: string;\n label?: string;\n name?: string;\n description?: string | React.ReactNode;\n reveal?: React.ReactNode;\n revealAriaLabel?: string;\n maxWidth?: string;\n disabled?: boolean;\n checked?: boolean;\n error?: boolean;\n compact?: boolean;\n children?: React.ReactNode;\n ariaLabel?: string;\n version?: string;\n}\n\nexport function GoabxRadioItem({\n name,\n label,\n value,\n description,\n reveal,\n revealAriaLabel,\n maxWidth,\n disabled,\n checked,\n error,\n compact,\n ariaLabel,\n children,\n version = \"2\",\n mt,\n mr,\n mb,\n ml,\n}: GoabxRadioItemProps): JSX.Element {\n return (\n <goa-radio-item\n name={name}\n label={label}\n value={value}\n description={typeof description === \"string\" ? description : undefined}\n maxwidth={maxWidth}\n error={error ? \"true\" : undefined}\n disabled={disabled ? \"true\" : undefined}\n checked={checked ? \"true\" : undefined}\n compact={compact ? \"true\" : undefined}\n arialabel={ariaLabel}\n revealarialabel={revealAriaLabel}\n mt={mt}\n mr={mr}\n mb={mb}\n ml={ml}\n version={version}\n >\n {description && typeof description !== \"string\" && (\n <div slot=\"description\">{description}</div>\n )}\n {reveal && <div slot=\"reveal\">{reveal}</div>}\n {children}\n </goa-radio-item>\n );\n}\n\nexport default GoabxRadioItem;\n","import { useEffect, useRef, type JSX } from \"react\";\nimport {\n GoabRadioGroupOnChangeDetail,\n GoabRadioGroupOrientation,\n GoabRadioGroupSize,\n Margins, DataAttributes,\n} from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../../lib/common/extract-props\";\n\nexport * from \"./radio\";\n\ninterface WCProps extends Margins {\n name: string;\n value?: string;\n id?: string;\n orientation?: GoabRadioGroupOrientation;\n disabled?: string;\n error?: string;\n arialabel?: string;\n testid?: string;\n size?: GoabRadioGroupSize;\n version?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-radio-group\": WCProps & React.HTMLAttributes<HTMLElement> & {\n ref: React.RefObject<HTMLElement | null>;\n };\n }\n }\n}\n\nexport interface GoabxRadioGroupProps extends Margins, DataAttributes {\n name: string;\n value?: string;\n id?: string;\n disabled?: boolean;\n orientation?: GoabRadioGroupOrientation;\n size?: GoabRadioGroupSize;\n testId?: string;\n error?: boolean;\n ariaLabel?: string;\n children?: React.ReactNode;\n version?: string;\n onChange?: (detail: GoabRadioGroupOnChangeDetail) => void;\n}\n\nexport function GoabxRadioGroup({\n disabled,\n error,\n onChange,\n name,\n children,\n size = \"default\",\n version = \"2\",\n ...rest\n}: GoabxRadioGroupProps): JSX.Element {\n const el = useRef<HTMLElement>(null);\n\n const _props = transformProps<WCProps>({ size, ...rest }, lowercase);\n\n useEffect(() => {\n if (!el.current) return;\n\n const listener = (e: Event) => {\n const detail = (e as CustomEvent<GoabRadioGroupOnChangeDetail>).detail;\n onChange?.({ ...detail, event: e });\n };\n\n const currentEl = el.current;\n if (onChange) {\n currentEl.addEventListener(\"_change\", listener);\n }\n\n return () => {\n if (onChange) {\n currentEl.removeEventListener(\"_change\", listener);\n }\n };\n }, [name, onChange]);\n\n return (\n <goa-radio-group\n ref={el}\n {..._props}\n name={name}\n disabled={disabled ? \"true\" : undefined}\n error={error ? \"true\" : undefined}\n version={version}\n >\n {children}\n </goa-radio-group>\n );\n}\n\nexport default GoabxRadioGroup;\n","import { ReactNode, type JSX } from \"react\";\n\ninterface WCProps {\n testid?: string;\n version?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-side-menu\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\n/* eslint-disable-next-line */\nexport interface GoabxSideMenuProps {\n testId?: string;\n children: ReactNode;\n version?: string;\n}\n\nexport function GoabxSideMenu({\n testId,\n children,\n version = \"2\",\n}: GoabxSideMenuProps): JSX.Element {\n return (\n <goa-side-menu testid={testId} version={version}>\n {children}\n </goa-side-menu>\n );\n}\n\nexport default GoabxSideMenu;\n","import { ReactNode, type JSX } from \"react\";\nimport { GoabIconType, Margins } from \"@abgov/ui-components-common\";\n\ninterface WCProps extends Margins {\n heading: string;\n icon?: GoabIconType;\n testid?: string;\n version?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-side-menu-group\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\n/* eslint-disable-next-line */\nexport interface GoabxSideMenuGroupProps extends Margins {\n heading: string;\n icon?: GoabIconType;\n testId?: string;\n children?: ReactNode;\n version?: string;\n}\n\nexport function GoabxSideMenuGroup({\n heading,\n icon,\n testId,\n children,\n mt,\n mr,\n mb,\n ml,\n version = \"2\",\n}: GoabxSideMenuGroupProps): JSX.Element {\n return (\n <goa-side-menu-group\n heading={heading}\n icon={icon}\n testid={testId}\n mt={mt}\n mr={mr}\n mb={mb}\n ml={ml}\n version={version}\n >\n {children}\n </goa-side-menu-group>\n );\n}\n\nexport default GoabxSideMenuGroup;\n","import { GoabIconType } from \"@abgov/ui-components-common\";\nimport { ReactNode } from \"react\";\n\ninterface WCProps {\n testid?: string;\n icon?: GoabIconType;\n version?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-side-menu-heading\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\n/* eslint-disable-next-line */\nexport interface GoabxSideMenuHeadingProps {\n meta?: ReactNode;\n testId?: string;\n icon?: GoabIconType;\n children?: ReactNode;\n version?: string;\n}\n\nexport function GoabxSideMenuHeading({\n meta,\n testId,\n icon,\n children,\n version = \"2\",\n}: GoabxSideMenuHeadingProps) {\n return (\n <goa-side-menu-heading icon={icon} testid={testId} version={version}>\n {children}\n {meta && <span slot=\"meta\">{meta}</span>}\n </goa-side-menu-heading>\n );\n}\n\nexport default GoabxSideMenuHeading;\n","import {\n GoabTableOnSortDetail,\n GoabTableVariant,\n Margins,\n} from \"@abgov/ui-components-common\";\nimport { ReactNode, useEffect, useRef } from \"react\";\n\ninterface WCProps extends Margins {\n ref?: React.RefObject<HTMLElement | null>;\n width?: string;\n stickyheader?: string;\n variant?: GoabTableVariant;\n testid?: string;\n striped?: string;\n version?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-table\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\n/* eslint-disable-next-line */\nexport interface GoabxTableProps extends Margins {\n width?: string;\n onSort?: (detail: GoabTableOnSortDetail) => void;\n // stickyHeader?: boolean; TODO: enable this later\n variant?: GoabTableVariant;\n striped?: boolean;\n testId?: string;\n version?: string;\n children?: ReactNode;\n}\n\n// legacy name\nexport type TableProps = GoabxTableProps;\n\nexport function GoabxTable({ onSort, version = \"2\", ...props }: GoabxTableProps) {\n const ref = useRef<HTMLTableElement>(null);\n useEffect(() => {\n if (!ref.current) {\n return;\n }\n const current = ref.current;\n const sortListener = (e: unknown) => {\n const detail = (e as CustomEvent<GoabTableOnSortDetail>).detail;\n onSort?.(detail);\n };\n\n current.addEventListener(\"_sort\", sortListener);\n return () => {\n current.removeEventListener(\"_sort\", sortListener);\n };\n }, [ref, onSort]);\n\n return (\n <goa-table\n ref={ref}\n width={props.width}\n // TODO: Enable this later if needed\n // stickyheader={props.stickyHeader ? \"true\" : undefined}\n variant={props.variant}\n striped={props.striped ? \"true\" : undefined}\n testid={props.testId}\n mt={props.mt}\n mb={props.mb}\n ml={props.ml}\n mr={props.mr}\n version={version}\n >\n <table style={{ width: \"100%\" }}>{props.children}</table>\n </goa-table>\n );\n}\n\nexport default GoabxTable;\n","import { DataAttributes, GoabTableSortDirection } from \"@abgov/ui-components-common\";\n\nimport type { JSX } from \"react\";\nimport { transformProps, lowercase } from \"../../lib/common/extract-props\";\n\ninterface WCProps {\n name?: string;\n direction?: GoabTableSortDirection;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-table-sort-header\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\n/* eslint-disable-next-line */\nexport interface GoabxTableSortProps extends DataAttributes {\n name?: string;\n direction?: GoabTableSortDirection;\n children?: React.ReactNode;\n}\n\nexport function GoabxTableSortHeader({\n children,\n ...rest\n}: GoabxTableSortProps): JSX.Element {\n const _props = transformProps<WCProps>(rest, lowercase);\n\n return <goa-table-sort-header {..._props}>{children}</goa-table-sort-header>;\n}\n\nexport default GoabxTableSortHeader;\n","import React, { useEffect, useRef, type JSX } from \"react\";\nimport { GoabTabsOnChangeDetail, GoabTabsVariant } from \"@abgov/ui-components-common\";\n\ninterface WCProps {\n initialtab?: number;\n ref: React.RefObject<HTMLElement | null>;\n onChange?: (tab: number) => void;\n testid?: string;\n variant?: GoabTabsVariant;\n version?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-tabs\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabxTabsProps {\n initialTab?: number;\n children?: React.ReactNode;\n testId?: string;\n variant?: GoabTabsVariant;\n onChange?: (detail: GoabTabsOnChangeDetail) => void;\n version?: string;\n}\n\nexport function GoabxTabs({\n initialTab,\n children,\n testId,\n onChange,\n variant,\n version = \"2\",\n}: GoabxTabsProps): JSX.Element {\n const ref = useRef<HTMLElement>(null);\n\n useEffect(() => {\n const element = ref.current;\n if (element && onChange) {\n const handler = (event: Event) => {\n const detail = (event as CustomEvent<GoabTabsOnChangeDetail>).detail;\n onChange(detail);\n };\n element.addEventListener(\"_change\", handler);\n return () => {\n element.removeEventListener(\"_change\", handler);\n };\n }\n }, [onChange]);\n\n return (\n <goa-tabs\n ref={ref}\n initialtab={initialTab}\n testid={testId}\n variant={variant}\n version={version}\n >\n {children}\n </goa-tabs>\n );\n}\n\nexport default GoabxTabs;\n","import {\n GoabTextAreaCountBy,\n GoabTextAreaOnChangeDetail,\n GoabTextAreaOnKeyPressDetail,\n GoabTextAreaOnBlurDetail,\n GoabTextAreaSize,\n Margins,\n DataAttributes,\n} from \"@abgov/ui-components-common\";\nimport { useEffect, useRef, type JSX } from \"react\";\nimport { transformProps, lowercase } from \"../../lib/common/extract-props\";\n\ninterface WCProps extends Margins {\n name: string;\n value?: string;\n placeholder?: string;\n rows?: number;\n error?: string;\n readOnly?: string;\n disabled?: string;\n width?: string;\n maxwidth?: string;\n arialabel?: string;\n countby?: GoabTextAreaCountBy;\n maxcount?: number;\n autocomplete?: string;\n testid?: string;\n size?: GoabTextAreaSize;\n version?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-textarea\": WCProps &\n React.HTMLAttributes<HTMLElement> & {\n ref: React.Ref<HTMLTextAreaElement>;\n };\n }\n }\n}\n\nexport interface GoabxTextAreaProps extends Margins, DataAttributes {\n name: string;\n value?: string;\n id?: string;\n placeholder?: string;\n rows?: number;\n error?: boolean;\n readOnly?: boolean;\n disabled?: boolean;\n width?: string;\n maxWidth?: string;\n testId?: string;\n ariaLabel?: string;\n countBy?: GoabTextAreaCountBy;\n maxCount?: number;\n autoComplete?: string;\n size?: GoabTextAreaSize;\n version?: string;\n\n onChange?: (event: GoabTextAreaOnChangeDetail) => void;\n onKeyPress?: (event: GoabTextAreaOnKeyPressDetail) => void;\n onBlur?: (event: GoabTextAreaOnBlurDetail) => void;\n}\n\nexport function GoabxTextArea({\n readOnly,\n disabled,\n error,\n onChange,\n onKeyPress,\n onBlur,\n version = \"2\",\n ...rest\n}: GoabxTextAreaProps): JSX.Element {\n const el = useRef<HTMLTextAreaElement>(null);\n\n const _props = transformProps<WCProps>(rest, lowercase);\n\n useEffect(() => {\n if (!el.current) {\n return;\n }\n const current = el.current;\n\n const changeListener: EventListener = (e: Event) => {\n const detail = (e as CustomEvent<GoabTextAreaOnChangeDetail>).detail;\n onChange?.({ ...detail, event: e });\n };\n\n const keypressListener = (e: unknown) => {\n const detail = (e as CustomEvent<GoabTextAreaOnKeyPressDetail>).detail;\n onKeyPress?.({ ...detail, event: e as Event });\n };\n\n const blurListener = (e: unknown) => {\n const detail = (e as CustomEvent<GoabTextAreaOnBlurDetail>).detail;\n onBlur?.({ ...detail, event: e as Event });\n };\n\n current.addEventListener(\"_change\", changeListener);\n current.addEventListener(\"_keyPress\", keypressListener);\n current.addEventListener(\"_blur\", blurListener);\n\n return () => {\n current.removeEventListener(\"_change\", changeListener);\n current.removeEventListener(\"_keyPress\", keypressListener);\n current.removeEventListener(\"_blur\", blurListener);\n };\n }, [el, onChange, onKeyPress, onBlur]);\n\n return (\n <goa-textarea\n ref={el}\n readOnly={readOnly ? \"true\" : undefined}\n disabled={disabled ? \"true\" : undefined}\n error={error ? \"true\" : undefined}\n version={version}\n {..._props}\n ></goa-textarea>\n );\n}\n\nexport default GoabxTextArea;\n","import { ReactNode, useEffect, useRef, type JSX } from \"react\";\n\ninterface WCProps {\n heading: string;\n url: string;\n \"user-name\"?: string;\n \"user-secondary-text\"?: string;\n testid?: string;\n primaryContent?: ReactNode;\n secondaryContent?: ReactNode;\n accountContent?: ReactNode;\n open?: boolean;\n ref: React.RefObject<HTMLElement | null>;\n}\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-work-side-menu\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\n/* eslint-disable-next-line */\nexport interface GoabWorkSideMenuProps {\n heading: string;\n url: string;\n userName?: string;\n userSecondaryText?: string;\n testId?: string;\n primaryContent?: ReactNode;\n secondaryContent?: ReactNode;\n accountContent?: ReactNode;\n open?: boolean;\n onToggle?: () => void;\n}\n\nexport function GoabxWorkSideMenu({\n heading,\n url,\n userName,\n userSecondaryText,\n testId,\n primaryContent,\n secondaryContent,\n accountContent,\n open,\n onToggle,\n}: GoabWorkSideMenuProps): JSX.Element {\n const el = useRef<HTMLElement>(null);\n\n useEffect(() => {\n if (!el?.current || !onToggle) {\n return;\n }\n el.current?.addEventListener(\"_toggle\", onToggle);\n return () => {\n el.current?.removeEventListener(\"_toggle\", onToggle);\n };\n }, [el, onToggle]);\n return (\n <goa-work-side-menu\n ref={el}\n heading={heading}\n url={url}\n user-name={userName}\n user-secondary-text={userSecondaryText}\n open={open ? true : false}\n testid={testId}\n >\n {primaryContent && <div slot=\"primary\">{primaryContent}</div>}\n {secondaryContent && <div slot=\"secondary\">{secondaryContent}</div>}\n {accountContent && <div slot=\"account\">{accountContent}</div>}\n </goa-work-side-menu>\n );\n}\n\nexport default GoabxWorkSideMenu;\n","import { type JSX } from \"react\";\nimport { GoabWorkSideMenuItemType } from \"@abgov/ui-components-common\";\ninterface WCProps {\n label: string;\n url: string;\n badge?: string;\n current?: string;\n divider?: string;\n icon?: string;\n testid?: string;\n type?: GoabWorkSideMenuItemType;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-work-side-menu-item\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabWorkSideMenuItemProps {\n label: string;\n url: string;\n badge?: string;\n current?: boolean;\n divider?: boolean;\n icon?: string;\n testId?: string;\n type?: GoabWorkSideMenuItemType;\n children?: React.ReactNode;\n}\n\nexport function GoabxWorkSideMenuItem(props: GoabWorkSideMenuItemProps): JSX.Element {\n return (\n <goa-work-side-menu-item\n label={props.label}\n url={props.url}\n badge={props.badge}\n current={props.current ? \"true\" : undefined}\n divider={props.divider ? \"true\" : undefined}\n icon={props.icon}\n testid={props.testId}\n type={props.type}\n >\n {props.children}\n </goa-work-side-menu-item>\n );\n}\n\nexport default GoabxWorkSideMenuItem;\n","import { type JSX } from \"react\";\nimport { GoabIconType } from \"@abgov/ui-components-common\";\n\ninterface WCProps {\n heading: string;\n icon: GoabIconType;\n testid?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-work-side-menu-group\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabWorkSideMenuGroupProps {\n heading: string;\n icon: GoabIconType;\n testId?: string;\n children?: React.ReactNode;\n}\n\nexport function GoabxWorkSideMenuGroup(props: GoabWorkSideMenuGroupProps): JSX.Element {\n return (\n <goa-work-side-menu-group\n heading={props.heading}\n icon={props.icon}\n testid={props.testId}\n >\n {props.children}\n </goa-work-side-menu-group>\n );\n}\n\nexport default GoabxWorkSideMenuGroup;\n"],"names":["transformProps","lowercase","jsx","useRef","useEffect","jsxs","_a","isValid","parseISO","format","value"],"mappings":"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"}
1
+ {"version":3,"file":"experimental.js","sources":["../../../libs/react-components/src/experimental/badge/badge.tsx","../../../libs/react-components/src/experimental/button/button.tsx","../../../libs/react-components/src/experimental/calendar/calendar.tsx","../../../libs/react-components/src/experimental/callout/callout.tsx","../../../libs/react-components/src/experimental/checkbox/checkbox.tsx","../../../libs/react-components/src/experimental/date-picker/date-picker.tsx","../../../libs/react-components/src/experimental/drawer/drawer.tsx","../../../libs/react-components/src/experimental/dropdown/dropdown.tsx","../../../libs/react-components/src/experimental/dropdown/dropdown-item.tsx","../../../libs/react-components/src/experimental/file-upload-card/file-upload-card.tsx","../../../libs/react-components/src/experimental/file-upload-input/file-upload-input.tsx","../../../libs/react-components/src/experimental/filter-chip/filter-chip.tsx","../../../libs/react-components/src/experimental/form-item/form-item.tsx","../../../libs/react-components/src/experimental/footer/footer.tsx","../../../libs/react-components/src/experimental/footer-meta-section/footer-meta-section.tsx","../../../libs/react-components/src/experimental/footer-nav-section/footer-nav-section.tsx","../../../libs/react-components/src/experimental/input/input.tsx","../../../libs/react-components/src/experimental/link/link.tsx","../../../libs/react-components/src/experimental/menu-action/menu-action.tsx","../../../libs/react-components/src/experimental/menu-button/menu-button.tsx","../../../libs/react-components/src/experimental/modal/modal.tsx","../../../libs/react-components/src/experimental/notification/notification.tsx","../../../libs/react-components/src/experimental/pagination/pagination.tsx","../../../libs/react-components/src/experimental/radio-group/radio.tsx","../../../libs/react-components/src/experimental/radio-group/radio-group.tsx","../../../libs/react-components/src/experimental/side-menu/side-menu.tsx","../../../libs/react-components/src/experimental/side-menu-group/side-menu-group.tsx","../../../libs/react-components/src/experimental/side-menu-heading/side-menu-heading.tsx","../../../libs/react-components/src/experimental/table/table.tsx","../../../libs/react-components/src/experimental/table/table-sort-header.tsx","../../../libs/react-components/src/experimental/tab/tab.tsx","../../../libs/react-components/src/experimental/tabs/tabs.tsx","../../../libs/react-components/src/experimental/textarea/textarea.tsx","../../../libs/react-components/src/experimental/work-side-menu/work-side-menu.tsx","../../../libs/react-components/src/experimental/work-side-menu-item/work-side-menu-item.tsx","../../../libs/react-components/src/experimental/work-side-menu-group/work-side-menu-group.tsx"],"sourcesContent":["import {\n DataAttributes,\n GoabBadgeEmphasis,\n GoabBadgeSize,\n GoabBadgeType,\n GoabxBadgeType,\n GoabIconType,\n Margins,\n} from \"@abgov/ui-components-common\";\nimport type { JSX } from \"react\";\nimport { transformProps, lowercase } from \"../../lib/common/extract-props\";\n\ninterface WCProps extends Margins {\n type: GoabBadgeType;\n icon?: string;\n content?: string;\n arialabel?: string;\n testid?: string;\n icontype?: GoabIconType;\n size?: GoabBadgeSize;\n emphasis?: GoabBadgeEmphasis;\n version?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-badge\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabxBadgeProps extends Margins, DataAttributes {\n type: GoabxBadgeType;\n icon?: boolean;\n content?: string;\n testId?: string;\n ariaLabel?: string;\n iconType?: GoabIconType;\n size?: GoabBadgeSize;\n emphasis?: GoabBadgeEmphasis;\n version?: string;\n}\n\n/**\n * Determines the icon display logic for the badge component.\n * Priority order:\n * 1. icon={true} - always show icon, starting with default\n * 2. icon={false} - always hide icon (overrides iconType)\n * 3. iconType provided - show custom icon\n * 4. default/no icon or iconType set - hide icon\n */\nfunction getIconValue(icon?: boolean, iconType?: GoabIconType): \"true\" | \"false\" {\n // Explicit icon prop takes precedence\n if (icon !== undefined) {\n return icon ? \"true\" : \"false\";\n }\n\n // Show custom icon if iconType is provided\n return iconType ? \"true\" : \"false\";\n}\n\nexport function GoabxBadge({\n icon,\n iconType,\n size = \"medium\",\n emphasis = \"strong\",\n version = \"2\",\n ...rest\n}: GoabxBadgeProps): JSX.Element {\n const _props = transformProps<WCProps>({ size, emphasis, ...rest }, lowercase);\n\n return (\n <goa-badge\n // Handle icon display priority: explicit icon prop takes precedence over iconType\n icon={getIconValue(icon, iconType)}\n icontype={iconType}\n {..._props}\n version={version}\n size={size}\n emphasis={emphasis}\n />\n );\n}\n","import { ReactNode, useEffect, useRef, type JSX } from \"react\";\nimport {\n GoabButtonSize,\n GoabButtonType,\n GoabButtonVariant,\n GoabIconType,\n Margins,\n DataAttributes,\n} from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../../lib/common/extract-props\";\n\ninterface WCProps extends Margins {\n type?: GoabButtonType;\n size?: GoabButtonSize;\n variant?: GoabButtonVariant;\n disabled?: string;\n leadingicon?: string;\n trailingicon?: string;\n width?: string;\n testid?: string;\n action?: string;\n actionArgs?: string;\n actionArg?: string;\n version?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-button\": WCProps &\n React.HTMLAttributes<HTMLElement> & {\n ref: React.RefObject<HTMLElement | null>;\n };\n }\n }\n}\n\nexport interface GoabxButtonProps extends Margins, DataAttributes {\n type?: GoabButtonType;\n size?: GoabButtonSize;\n variant?: GoabButtonVariant;\n disabled?: boolean;\n leadingIcon?: GoabIconType;\n trailingIcon?: GoabIconType;\n width?: string;\n onClick?: () => void;\n testId?: string;\n action?: string;\n actionArgs?: Record<string, unknown>;\n actionArg?: string;\n version?: string;\n children?: ReactNode;\n}\n\nexport function GoabxButton({\n disabled,\n onClick,\n actionArgs,\n actionArg,\n children,\n version = \"2\",\n ...rest\n}: GoabxButtonProps): JSX.Element {\n const el = useRef<HTMLElement>(null);\n\n const _props = transformProps<WCProps>(rest, lowercase);\n\n useEffect(() => {\n if (!el.current) {\n return;\n }\n if (!onClick) {\n return;\n }\n const current = el.current;\n const listener = () => {\n onClick?.();\n };\n\n current.addEventListener(\"_click\", listener);\n return () => {\n current.removeEventListener(\"_click\", listener);\n };\n }, [el, onClick]);\n\n return (\n <goa-button\n ref={el}\n disabled={disabled ? \"true\" : undefined}\n action-arg={actionArg}\n action-args={JSON.stringify(actionArgs)}\n {..._props}\n version={version}\n >\n {children}\n </goa-button>\n );\n}\n\nexport default GoabxButton;\n","import { useEffect, useRef, type JSX } from \"react\";\nimport {\n DataAttributes,\n GoabCalendarOnChangeDetail,\n Margins,\n} from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../../lib/common/extract-props\";\n\ninterface WCProps extends Margins {\n name?: string;\n value?: string;\n min?: string;\n max?: string;\n testid?: string;\n version?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-calendar\": WCProps &\n React.HTMLAttributes<HTMLElement> & {\n ref: React.RefObject<HTMLElement | null>;\n };\n }\n }\n}\nexport interface GoabxCalendarProps extends Margins, DataAttributes {\n name?: string;\n value?: string;\n min?: string;\n max?: string;\n testId?: string;\n version?: string;\n onChange: (details: GoabCalendarOnChangeDetail) => void;\n}\n\nexport function GoabxCalendar({\n min,\n max,\n onChange,\n name,\n version = \"2\",\n ...rest\n}: GoabxCalendarProps): JSX.Element {\n const ref = useRef<HTMLInputElement>(null);\n\n const _props = transformProps<WCProps>(rest, lowercase);\n\n useEffect(() => {\n if (!ref.current) {\n return;\n }\n const current = ref.current;\n const listener = (e: Event) => {\n onChange({\n name: name || \"\",\n value: (e as CustomEvent).detail.value,\n });\n };\n current.addEventListener(\"_change\", listener);\n\n return () => {\n current.removeEventListener(\"_change\", listener);\n };\n }, []);\n\n return (\n <goa-calendar\n ref={ref}\n name={name}\n min={min || undefined}\n max={max || undefined}\n version={version}\n {..._props}\n />\n );\n}\n\nexport default GoabxCalendar;\n","import {\n GoabCalloutAriaLive,\n GoabCalloutEmphasis,\n GoabCalloutSize,\n GoabCalloutType,\n GoabCalloutIconTheme,\n Margins, DataAttributes,\n} from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../../lib/common/extract-props\";\n\ninterface WCProps extends Margins {\n heading?: string;\n type?: GoabCalloutType;\n size?: GoabCalloutSize;\n arialive?: GoabCalloutAriaLive;\n maxwidth?: string;\n icontheme?: GoabCalloutIconTheme;\n emphasis?: GoabCalloutEmphasis;\n testid?: string;\n version?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-callout\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabxCalloutProps extends Margins, DataAttributes {\n heading?: string;\n type?: GoabCalloutType;\n size?: GoabCalloutSize;\n iconTheme?: GoabCalloutIconTheme;\n emphasis?: GoabCalloutEmphasis;\n maxWidth?: string;\n testId?: string;\n ariaLive?: GoabCalloutAriaLive;\n version?: string;\n children?: React.ReactNode;\n}\n\nexport const GoabxCallout = ({\n type = \"information\",\n iconTheme = \"outline\",\n size = \"large\",\n ariaLive = \"off\",\n emphasis = \"medium\",\n children,\n version = \"2\",\n ...rest\n}: GoabxCalloutProps) => {\n const _props = transformProps<WCProps>(\n { type, icontheme: iconTheme, size, arialive: ariaLive, emphasis, ...rest },\n lowercase\n );\n\n return (\n <goa-callout {..._props} version={version}>\n {children}\n </goa-callout>\n );\n};\n\nexport default GoabxCallout;\n","import {\n DataAttributes,\n GoabCheckboxOnChangeDetail,\n GoabCheckboxSize,\n Margins,\n} from \"@abgov/ui-components-common\";\nimport { useEffect, useRef, type JSX } from \"react\";\nimport { transformProps, lowercase } from \"../../lib/common/extract-props\";\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-checkbox\": WCProps & React.HTMLAttributes<HTMLElement> & {\n ref: React.RefObject<HTMLElement | null>;\n };\n }\n }\n}\n\ninterface WCProps extends Margins {\n id?: string;\n name: string;\n checked?: string;\n indeterminate?: string;\n disabled?: string;\n error?: string;\n text?: string;\n value?: string | number;\n arialabel?: string;\n description?: string | React.ReactNode;\n reveal?: React.ReactNode;\n revealarialabel?: string;\n maxwidth?: string;\n testid?: string;\n size?: GoabCheckboxSize;\n version?: string;\n}\n\n/* eslint-disable-next-line */\nexport interface GoabxCheckboxProps extends Margins, DataAttributes {\n id?: string;\n name: string;\n checked?: boolean;\n indeterminate?: boolean;\n disabled?: boolean;\n error?: boolean;\n text?: string;\n value?: string | number | boolean;\n children?: React.ReactNode;\n testId?: string;\n ariaLabel?: string;\n description?: string | React.ReactNode;\n reveal?: React.ReactNode;\n revealAriaLabel?: string;\n maxWidth?: string;\n size?: GoabCheckboxSize;\n version?: string;\n onChange?: (detail: GoabCheckboxOnChangeDetail) => void;\n}\n\n// legacy\nexport type Props = GoabxCheckboxProps;\n\nexport function GoabxCheckbox({\n error,\n checked,\n indeterminate,\n disabled,\n value,\n description,\n reveal,\n onChange,\n name,\n children,\n size = \"default\",\n version = \"2\",\n ...rest\n}: GoabxCheckboxProps): JSX.Element {\n const el = useRef<HTMLElement>(null);\n\n const _props = transformProps<WCProps>({ size, ...rest }, lowercase);\n\n useEffect(() => {\n if (!el.current) {\n return;\n }\n const current = el.current;\n const listener = (e: Event) => {\n const detail = (e as CustomEvent<GoabCheckboxOnChangeDetail>).detail;\n onChange?.({ ...detail, event: e });\n };\n\n current.addEventListener(\"_change\", listener);\n\n return () => {\n current.removeEventListener(\"_change\", listener);\n };\n }, [name, onChange]);\n\n return (\n <goa-checkbox\n ref={el}\n {..._props}\n name={name}\n error={error ? \"true\" : undefined}\n checked={checked ? \"true\" : undefined}\n indeterminate={indeterminate ? \"true\" : undefined}\n disabled={disabled ? \"true\" : undefined}\n value={typeof value === \"boolean\" ? (value ? \"true\" : undefined) : value}\n description={typeof description === \"string\" ? description : undefined}\n version={version}\n >\n {children}\n {typeof description !== \"string\" && description && (\n <div slot=\"description\">{description}</div>\n )}\n {reveal && <div slot=\"reveal\">{reveal}</div>}\n </goa-checkbox>\n );\n}\n\nexport default GoabxCheckbox;\n","import { useEffect, useRef, type JSX } from \"react\";\nimport {\n GoabDatePickerInputType,\n GoabDatePickerOnChangeDetail,\n Margins,\n DataAttributes,\n} from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../../lib/common/extract-props\";\n\ninterface WCProps extends Margins {\n name?: string;\n value?: string;\n error?: string;\n min?: string;\n max?: string;\n type?: string;\n relative?: string;\n disabled?: string;\n testid?: string;\n width?: string;\n version?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-date-picker\": WCProps &\n React.HTMLAttributes<HTMLElement> & {\n ref: React.RefObject<HTMLElement | null>;\n };\n }\n }\n}\n\nexport interface GoabxDatePickerProps extends Margins, DataAttributes {\n name?: string;\n value?: Date | string | undefined;\n error?: boolean;\n min?: Date | string;\n max?: Date | string;\n type?: GoabDatePickerInputType;\n testId?: string;\n /***\n * @deprecated This property has no effect and will be removed in a future version\n */\n relative?: boolean;\n disabled?: boolean;\n width?: string;\n version?: string;\n onChange?: (detail: GoabDatePickerOnChangeDetail) => void;\n}\n\nexport function GoabxDatePicker({\n value,\n error,\n min,\n max,\n disabled,\n relative,\n version = \"2\",\n onChange,\n ...rest\n}: GoabxDatePickerProps): JSX.Element {\n const ref = useRef<HTMLInputElement>(null);\n\n const _props = transformProps<WCProps>(rest, lowercase);\n\n useEffect(() => {\n if (value && typeof value !== \"string\") {\n console.warn(\n \"Using a `Date` type for value is deprecated. Instead use a string of the format `yyyy-mm-dd`\",\n );\n }\n }, []);\n\n useEffect(() => {\n if (!ref.current) {\n return;\n }\n const current = ref.current;\n\n const handleChange = (e: Event) => {\n const detail = (e as CustomEvent<GoabDatePickerOnChangeDetail>).detail;\n onChange?.({ ...detail, event: e });\n };\n\n if (onChange) {\n current.addEventListener(\"_change\", handleChange);\n }\n\n return () => {\n if (onChange) {\n current.removeEventListener(\"_change\", handleChange);\n }\n };\n }, [onChange]);\n\n const formatValue = (val: Date | string | undefined) => {\n if (!val) return \"\";\n\n if (val instanceof Date) {\n return val.toISOString();\n }\n\n return val;\n };\n\n return (\n <goa-date-picker\n ref={ref}\n value={formatValue(value) || undefined}\n error={error ? \"true\" : undefined}\n disabled={disabled ? \"true\" : undefined}\n min={formatValue(min) || undefined}\n max={formatValue(max) || undefined}\n relative={relative ? \"true\" : undefined}\n version={version}\n {..._props}\n />\n );\n}\n\nexport default GoabxDatePicker;\n","import { ReactNode, useEffect, useRef, type JSX } from \"react\";\nimport { GoabDrawerPosition, GoabDrawerSize } from \"@abgov/ui-components-common\";\n\ninterface WCProps {\n position: GoabDrawerPosition;\n open?: boolean;\n heading?: string;\n maxsize?: GoabDrawerSize;\n testid?: string;\n ref: React.RefObject<HTMLElement | null>;\n version?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-drawer\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabxDrawerProps {\n position: GoabDrawerPosition;\n open?: boolean;\n heading?: string | ReactNode;\n maxSize?: GoabDrawerSize;\n testId?: string;\n actions?: ReactNode;\n children: ReactNode;\n onClose: () => void;\n version?: string;\n}\n\nexport function GoabxDrawer({\n position,\n open,\n heading,\n maxSize,\n testId,\n actions,\n children,\n onClose,\n version = \"2\",\n}: GoabxDrawerProps): JSX.Element {\n const el = useRef<HTMLElement>(null);\n\n useEffect(() => {\n if (!el?.current || !onClose) {\n return;\n }\n el.current?.addEventListener(\"_close\", onClose);\n return () => {\n el.current?.removeEventListener(\"_close\", onClose);\n };\n }, [el, onClose]);\n\n return (\n <goa-drawer\n ref={el}\n position={position}\n open={open ? true : undefined}\n heading={typeof heading === \"string\" ? heading : undefined}\n maxsize={maxSize}\n testid={testId}\n version={version}\n >\n {heading && typeof heading !== \"string\" && <div slot=\"heading\">{heading}</div>}\n {actions && <div slot=\"actions\">{actions}</div>}\n {children}\n </goa-drawer>\n );\n}\n\nexport default GoabxDrawer;\n","import {\n GoabDropdownOnChangeDetail,\n GoabDropdownSize,\n GoabIconType,\n Margins, DataAttributes,\n} from \"@abgov/ui-components-common\";\nimport { useEffect, useRef, type JSX } from \"react\";\nimport { transformProps, lowercase } from \"../../lib/common/extract-props\";\n\ninterface WCProps extends Margins {\n arialabel?: string;\n arialabelledby?: string;\n disabled?: string;\n error?: string;\n filterable?: string;\n leadingicon?: string;\n maxheight?: string;\n multiselect?: string;\n name?: string;\n native?: string;\n placeholder?: string;\n value?: string;\n width?: string;\n maxwidth?: string;\n relative?: string;\n id?: string;\n autocomplete?: string;\n testid?: string;\n size?: GoabDropdownSize;\n version?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n // eslint-disable-next-line @typescript-eslint/no-empty-interface\n interface IntrinsicElements {\n \"goa-dropdown\": WCProps & React.HTMLAttributes<HTMLElement> & {\n ref: React.RefObject<HTMLElement | null>;\n };\n }\n }\n}\n\nexport interface GoabxDropdownProps extends Margins, DataAttributes {\n name?: string;\n value?: string[] | string;\n onChange?: (detail: GoabDropdownOnChangeDetail) => void;\n\n // optional\n ariaLabel?: string;\n ariaLabelledBy?: string;\n id?: string;\n children?: React.ReactNode;\n disabled?: boolean;\n error?: boolean;\n filterable?: boolean;\n leadingIcon?: GoabIconType;\n maxHeight?: string;\n multiselect?: boolean;\n native?: boolean;\n placeholder?: string;\n testId?: string;\n width?: string;\n maxWidth?: string;\n autoComplete?: string;\n size?: GoabDropdownSize;\n version?: string;\n /***\n * @deprecated This property has no effect and will be removed in a future version\n */\n relative?: boolean;\n}\n\nfunction stringify(value: string | string[] | undefined): string {\n if (typeof value === \"undefined\") {\n return \"\";\n }\n if (typeof value === \"string\") {\n return value;\n }\n return JSON.stringify(value);\n}\n\nexport function GoabxDropdown({\n value,\n onChange,\n disabled,\n error,\n filterable,\n multiselect,\n native,\n relative,\n children,\n size = \"default\",\n version = \"2\",\n ...rest\n}: GoabxDropdownProps): JSX.Element {\n const el = useRef<HTMLElement>(null);\n\n const _props = transformProps<WCProps>({ size, ...rest }, lowercase);\n\n useEffect(() => {\n if (!el.current) {\n return;\n }\n const current = el.current;\n const handler = (e: Event) => {\n const detail = (e as CustomEvent<GoabDropdownOnChangeDetail>).detail;\n onChange?.({ ...detail, event: e });\n };\n if (onChange) {\n current.addEventListener(\"_change\", handler);\n }\n return () => {\n if (onChange) {\n current.removeEventListener(\"_change\", handler);\n }\n };\n }, [el, onChange]);\n\n return (\n <goa-dropdown\n ref={el}\n value={stringify(value)}\n disabled={disabled ? \"true\" : undefined}\n error={error ? \"true\" : undefined}\n filterable={filterable ? \"true\" : undefined}\n multiselect={multiselect ? \"true\" : undefined}\n native={native ? \"true\" : undefined}\n relative={relative ? \"true\" : undefined}\n {..._props}\n version={version}\n >\n {children}\n </goa-dropdown>\n );\n}\n\nexport default GoabxDropdown;\n","import { useEffect } from \"react\";\nimport { GoabDropdownItemMountType } from \"@abgov/ui-components-common\";\n\ninterface WCProps {\n value: string;\n label?: string;\n filter?: string;\n mount?: GoabDropdownItemMountType;\n\n // @deprecated\n name?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-dropdown-item\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabxDropdownItemProps {\n value: string;\n label?: string;\n filter?: string;\n testId?: string;\n mountType?: GoabDropdownItemMountType;\n\n // @deprecated\n name?: string;\n}\n\nexport function GoabxDropdownOption(props: GoabxDropdownItemProps) {\n useEffect(() => {\n console.warn(\"GoabxDropdownOption is deprecated. Please use GoabxDropdownItem\");\n }, []);\n\n return <GoabxDropdownItem {...props} />;\n}\n\nexport function GoabxDropdownItem({\n value,\n label,\n filter,\n name,\n mountType = \"append\",\n}: GoabxDropdownItemProps) {\n return (\n <goa-dropdown-item\n value={value}\n label={label}\n filter={filter}\n name={name}\n mount={mountType}\n />\n );\n}\n","import {\n DataAttributes,\n GoabFileUploadOnCancelDetail,\n GoabFileUploadOnDeleteDetail,\n} from \"@abgov/ui-components-common\";\nimport { useEffect, useRef } from \"react\";\nimport { transformProps, lowercase } from \"../../lib/common/extract-props\";\n\ninterface WCProps {\n filename: string;\n size: number;\n type?: string;\n progress?: number;\n error?: string;\n testid?: string;\n version?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-file-upload-card\": WCProps &\n React.HTMLAttributes<HTMLElement> & {\n ref: React.RefObject<HTMLElement | null>;\n };\n }\n }\n}\n\n/* eslint-disable-next-line */\nexport interface GoabxFileUploadCardProps extends DataAttributes {\n filename: string;\n size: number;\n type?: string;\n progress?: number;\n testId?: string;\n error?: string;\n onDelete?: (detail: GoabFileUploadOnDeleteDetail) => void;\n onCancel?: (detail: GoabFileUploadOnCancelDetail) => void;\n version?: string;\n}\n\nexport function GoabxFileUploadCard({\n onDelete,\n onCancel,\n filename,\n version = \"2\",\n ...rest\n}: GoabxFileUploadCardProps) {\n const el = useRef<HTMLElement>(null);\n\n const _props = transformProps<WCProps>({ filename, ...rest }, lowercase);\n\n useEffect(() => {\n if (!el.current) return;\n\n const current = el.current;\n const deleteHandler = (event: Event) => onDelete?.({ filename, event });\n const cancelHandler = (event: Event) => onCancel?.({ filename, event });\n current.addEventListener(\"_delete\", deleteHandler);\n current.addEventListener(\"_cancel\", cancelHandler);\n return () => {\n current.removeEventListener(\"_delete\", deleteHandler);\n current.removeEventListener(\"_cancel\", cancelHandler);\n };\n }, [el, onDelete, onCancel, filename]);\n\n return <goa-file-upload-card ref={el} {..._props} version={version} />;\n}\n\nexport default GoabxFileUploadCard;\n","import {\n DataAttributes,\n GoabFileUploadInputOnSelectFileDetail,\n GoabFileUploadInputVariant,\n} from \"@abgov/ui-components-common\";\nimport { useEffect, useRef } from \"react\";\nimport { transformProps, lowercase } from \"../../lib/common/extract-props\";\n\ninterface WCProps {\n variant?: GoabFileUploadInputVariant;\n accept?: string;\n maxfilesize?: string;\n testid?: string;\n version?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-file-upload-input\": WCProps & React.HTMLAttributes<HTMLElement> & {\n ref: React.RefObject<HTMLElement | null>;\n };\n }\n }\n}\n\n/* eslint-disable-next-line */\nexport interface GoabxFileUploadInputProps extends DataAttributes {\n variant?: GoabFileUploadInputVariant;\n accept?: string;\n maxFileSize?: string;\n testId?: string;\n onSelectFile: (detail: GoabFileUploadInputOnSelectFileDetail) => void;\n version?: string;\n}\n\nexport function GoabxFileUploadInput({\n onSelectFile,\n version = \"2\",\n ...rest\n}: GoabxFileUploadInputProps) {\n const el = useRef<HTMLElement>(null);\n\n const _props = transformProps<WCProps>(rest, lowercase);\n\n useEffect(() => {\n if (!el.current) return;\n\n const current = el.current;\n const handler = (e: Event) => {\n const detail = (e as CustomEvent<GoabFileUploadInputOnSelectFileDetail>).detail;\n onSelectFile({ ...detail, event: e });\n };\n current.addEventListener(\"_selectFile\", handler);\n return () => {\n current.removeEventListener(\"_selectFile\", handler);\n };\n }, [el, onSelectFile]);\n\n return (\n <goa-file-upload-input ref={el} {..._props} version={version} />\n );\n}\n\nexport default GoabxFileUploadInput;\n","import { useEffect, useRef } from \"react\";\nimport {\n DataAttributes,\n GoabFilterChipTheme,\n GoabIconType,\n Margins,\n} from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../../lib/common/extract-props\";\n\ninterface WCProps extends Margins {\n icontheme: GoabFilterChipTheme;\n error?: string;\n content: string;\n secondarytext?: string;\n leadingicon?: GoabIconType;\n testid?: string;\n version?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-filter-chip\": WCProps & React.HTMLAttributes<HTMLElement> & {\n ref: React.RefObject<HTMLElement | null>;\n };\n }\n }\n}\n\nexport interface GoabxFilterChipProps extends Margins, DataAttributes {\n onClick?: () => void;\n iconTheme?: GoabFilterChipTheme;\n error?: boolean;\n content: string;\n secondaryText?: string;\n leadingIcon?: GoabIconType;\n testId?: string;\n version?: string;\n}\n\nexport const GoabxFilterChip = ({\n iconTheme = \"outline\",\n error,\n onClick,\n version = \"2\",\n ...rest\n}: GoabxFilterChipProps) => {\n const el = useRef<HTMLElement>(null);\n\n const _props = transformProps<WCProps>(\n { icontheme: iconTheme, ...rest },\n lowercase\n );\n\n useEffect(() => {\n if (!el.current) return;\n if (!onClick) return;\n\n const current = el.current;\n\n current.addEventListener(\"_click\", onClick);\n return () => {\n current.removeEventListener(\"_click\", onClick!);\n };\n }, [el, onClick]);\n\n return (\n <goa-filter-chip\n ref={el}\n error={error ? \"true\" : undefined}\n version={version}\n {..._props}\n />\n );\n};\n\nexport default GoabxFilterChip;\n","import {\n GoabFormItemLabelSize,\n GoabFormItemRequirement,\n GoabFormItemType,\n Margins, DataAttributes,\n} from \"@abgov/ui-components-common\";\n\nimport type { JSX } from \"react\";\nimport { transformProps, lowercase } from \"../../lib/common/extract-props\";\n\ninterface WCProps extends Margins {\n label?: string;\n labelsize?: GoabFormItemLabelSize;\n requirement?: GoabFormItemRequirement;\n error?: string;\n helptext?: string;\n maxwidth?: string;\n \"public-form-summary-order\"?: number;\n name?: string;\n id?: string;\n testid?: string;\n type?: GoabFormItemType;\n version?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-form-item\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabxFormItemProps extends Margins, DataAttributes {\n label?: string;\n labelSize?: GoabFormItemLabelSize;\n requirement?: GoabFormItemRequirement;\n error?: string | React.ReactNode;\n helpText?: string | React.ReactNode;\n maxWidth?: string;\n type?: GoabFormItemType;\n version?: string;\n /**\n * Public form: to arrange fields in the summary\n */\n publicFormSummaryOrder?: number;\n /**\n * Public form: allow to override the label value within the form-summary to provide a shorter description of the value\n */\n name?: string;\n children?: React.ReactNode;\n testId?: string;\n id?: string;\n}\n\nexport function GoabxFormItem({\n error,\n helpText,\n publicFormSummaryOrder,\n children,\n type = \"\",\n version = \"2\",\n ...rest\n}: GoabxFormItemProps): JSX.Element {\n const _props = transformProps<WCProps>({ type, ...rest }, lowercase);\n\n return (\n <goa-form-item\n error={typeof error === \"string\" ? error : undefined}\n helptext={typeof helpText === \"string\" ? helpText : undefined}\n public-form-summary-order={publicFormSummaryOrder}\n {..._props}\n version={version}\n >\n {error && typeof error !== \"string\" && <div slot=\"error\">{error}</div>}\n {helpText && typeof helpText !== \"string\" && <div slot=\"helptext\">{helpText}</div>}\n {children}\n </goa-form-item>\n );\n}\n\nexport default GoabxFormItem;\n","import { ReactNode, type JSX } from \"react\";\nimport { DataAttributes } from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../../lib/common/extract-props\";\n\ninterface WCProps {\n maxcontentwidth?: string;\n testid?: string;\n url?: string;\n version?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-app-footer\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\n/* eslint-disable-next-line */\nexport interface GoabxAppFooterProps extends DataAttributes {\n maxContentWidth?: string;\n children?: ReactNode;\n testId?: string;\n url?: string;\n version?: string;\n}\n\nexport function GoabxAppFooter({ children, ...rest }: GoabxAppFooterProps): JSX.Element {\n const _props = transformProps<WCProps>(rest, lowercase);\n\n return (\n <goa-app-footer {..._props} version={\"2\"}>\n {children}\n </goa-app-footer>\n );\n}\n\nexport default GoabxAppFooter;\n","import { ReactNode } from \"react\";\nimport { DataAttributes } from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../../lib/common/extract-props\";\n\ninterface WCProps {\n testid?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-app-footer-meta-section\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\n/* eslint-disable-next-line */\nexport interface GoabxAppFooterMetaSectionProps extends DataAttributes {\n testId?: string;\n children?: ReactNode;\n}\n\nexport function GoabxAppFooterMetaSection({\n children,\n ...rest\n}: GoabxAppFooterMetaSectionProps) {\n const _props = transformProps<WCProps>(rest, lowercase);\n\n return (\n <goa-app-footer-meta-section slot=\"meta\" {..._props}>\n {children}\n </goa-app-footer-meta-section>\n );\n}\n\nexport default GoabxAppFooterMetaSection;\n","import { ReactNode } from \"react\";\nimport { DataAttributes } from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../../lib/common/extract-props\";\n\ninterface WCProps {\n maxcolumncount?: number;\n heading?: string;\n testid?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-app-footer-nav-section\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\n/* eslint-disable-next-line */\nexport interface GoabxFooterNavSectionProps extends DataAttributes {\n maxColumnCount?: number;\n heading?: string;\n testId?: string;\n children?: ReactNode;\n}\n\nexport function GoabxAppFooterNavSection({\n children,\n ...rest\n}: GoabxFooterNavSectionProps) {\n const _props = transformProps<WCProps>(rest, lowercase);\n\n return (\n <goa-app-footer-nav-section slot=\"nav\" {..._props}>\n {children}\n </goa-app-footer-nav-section>\n );\n}\n\nexport default GoabxAppFooterNavSection;\n","import { useEffect, useRef, type JSX } from \"react\";\nimport { format, isValid, parseISO } from \"date-fns\";\nimport {\n GoabAutoCapitalize,\n GoabDate,\n GoabIconType,\n GoabInputOnBlurDetail,\n GoabInputOnChangeDetail,\n GoabInputOnFocusDetail,\n GoabInputOnKeyPressDetail,\n GoabInputSize,\n GoabInputType,\n Margins, DataAttributes,\n} from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../../lib/common/extract-props\";\n\nexport interface IgnoreMe {\n ignore: string;\n}\n\ninterface WCProps extends Margins {\n type?: GoabInputType;\n name: string;\n value?: string;\n id?: string;\n autocapitalize?: GoabAutoCapitalize;\n autocomplete?: string;\n debounce?: number;\n placeholder?: string;\n leadingicon?: string;\n trailingicon?: string;\n variant: string;\n disabled?: string;\n error?: string;\n readonly?: string;\n focused?: string;\n handletrailingiconclick: string;\n width?: string;\n prefix?: string;\n suffix?: string;\n arialabel?: string;\n testid?: string;\n textalign?: string;\n size?: GoabInputSize;\n\n // type=number\n min?: string | number;\n max?: string | number;\n step?: number;\n maxlength?: number;\n\n trailingiconarialabel?: string;\n version?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-input\": WCProps & React.HTMLAttributes<HTMLInputElement> & {\n ref?: React.RefObject<HTMLInputElement | null>;\n };\n }\n }\n}\n\ninterface BaseProps extends Margins, DataAttributes {\n // required\n name: string;\n\n // optional\n id?: string;\n debounce?: number;\n disabled?: boolean;\n autoCapitalize?: GoabAutoCapitalize;\n autoComplete?: string;\n placeholder?: string;\n leadingIcon?: GoabIconType;\n trailingIcon?: GoabIconType;\n onTrailingIconClick?: () => void;\n variant?: \"goa\" | \"bare\";\n focused?: boolean;\n readonly?: boolean;\n error?: boolean;\n width?: string;\n prefix?: string;\n suffix?: string;\n testId?: string;\n ariaLabel?: string;\n leadingContent?: React.ReactNode;\n trailingContent?: React.ReactNode;\n maxLength?: number;\n trailingIconAriaLabel?: string;\n textAlign?: \"left\" | \"right\";\n size?: GoabInputSize;\n version?: string;\n}\n\ntype OnChange<T = string> = (detail: GoabInputOnChangeDetail<T>) => void;\ntype OnFocus<T = string> = (detail: GoabInputOnFocusDetail<T>) => void;\ntype OnBlur<T = string> = (detail: GoabInputOnBlurDetail<T>) => void;\ntype OnKeyPress<T = string> = (detail: GoabInputOnKeyPressDetail<T>) => void;\n\nexport interface GoabxInputProps extends BaseProps {\n onChange?: OnChange<string>;\n value?: string;\n min?: number | string;\n max?: number | string;\n step?: number;\n onFocus?: OnFocus<string>;\n onBlur?: OnBlur<string>;\n onKeyPress?: OnKeyPress<string>;\n}\n\ninterface GoabxNumberInputProps extends BaseProps {\n onChange?: OnChange<number>;\n value?: number;\n min?: number;\n max?: number;\n step?: number;\n onFocus?: OnFocus<number>;\n onBlur?: OnBlur<number>;\n onKeyPress?: OnKeyPress<number>;\n}\n\ninterface GoabxDateInputProps extends BaseProps {\n onChange?: OnChange<GoabDate>;\n value?: GoabDate;\n min?: GoabDate;\n max?: GoabDate;\n step?: number;\n onFocus?: OnFocus<GoabDate>;\n onBlur?: OnBlur<GoabDate>;\n onKeyPress?: OnKeyPress<GoabDate>;\n}\n\nexport function GoabxInput({\n variant = \"goa\",\n textAlign = \"left\",\n size = \"default\",\n focused,\n disabled,\n readonly,\n error,\n leadingContent,\n trailingContent,\n onTrailingIconClick,\n onChange,\n onFocus,\n onBlur,\n onKeyPress,\n version = \"2\",\n ...rest\n}: GoabxInputProps & { type?: GoabInputType }): JSX.Element {\n const ref = useRef<HTMLInputElement>(null);\n\n const _props = transformProps<WCProps>(\n { variant, textalign: textAlign, size, ...rest },\n lowercase\n );\n\n useEffect(() => {\n if (!ref.current) {\n return;\n }\n const current = ref.current;\n const changeListener = (e: Event) => {\n const detail = (e as CustomEvent<GoabInputOnChangeDetail>).detail;\n onChange?.({ ...detail, event: e });\n };\n const clickListener = () => {\n onTrailingIconClick?.();\n };\n\n const focusListener = (e: Event) => {\n const detail = (e as CustomEvent<GoabInputOnFocusDetail>).detail;\n onFocus?.({ ...detail, event: e });\n };\n\n const blurListener = (e: Event) => {\n const detail = (e as CustomEvent<GoabInputOnBlurDetail>).detail;\n onBlur?.({ ...detail, event: e });\n };\n\n const keypressListener = (e: Event) => {\n const detail = (e as CustomEvent<GoabInputOnKeyPressDetail>).detail;\n onKeyPress?.({ ...detail, event: e });\n };\n\n current.addEventListener(\"_change\", changeListener);\n current.addEventListener(\"_trailingIconClick\", clickListener);\n current.addEventListener(\"_focus\", focusListener);\n current.addEventListener(\"_blur\", blurListener);\n current.addEventListener(\"_keyPress\", keypressListener);\n\n return () => {\n current.removeEventListener(\"_change\", changeListener);\n current.removeEventListener(\"_trailingIconClick\", clickListener);\n current.removeEventListener(\"_focus\", focusListener);\n current.removeEventListener(\"_blur\", blurListener);\n current.removeEventListener(\"_keyPress\", keypressListener);\n };\n }, [ref, onChange, onTrailingIconClick, onFocus, onBlur, onKeyPress]);\n\n return (\n <goa-input\n ref={ref}\n {..._props}\n focused={focused ? \"true\" : undefined}\n disabled={disabled ? \"true\" : undefined}\n readonly={readonly ? \"true\" : undefined}\n error={error ? \"true\" : undefined}\n handletrailingiconclick={onTrailingIconClick ? \"true\" : \"false\"}\n version={version}\n >\n {leadingContent && <div slot=\"leadingContent\">{leadingContent}</div>}\n {trailingContent && <div slot=\"trailingContent\">{trailingContent}</div>}\n </goa-input>\n );\n}\n\nconst onDateChangeHandler = (onChange?: OnChange<GoabDate>) => {\n return ({ name, value, event }: GoabInputOnChangeDetail<string | Date>) => {\n if (!value) {\n onChange?.({ name, value: \"\", event });\n return;\n }\n // valid string date\n if (typeof value === \"string\" && isValid(new Date(value))) {\n onChange?.({ name, value: parseISO(value), event });\n return;\n }\n // valid date\n if (isValid(value)) {\n onChange?.({ name, value, event });\n return;\n }\n };\n};\n\nconst onTimeChangeHandler = (onChange?: OnChange) => {\n return ({ name, value, event }: GoabInputOnChangeDetail) => {\n if (!value) {\n onChange?.({ name, value: \"\", event });\n return;\n }\n onChange?.({ name, value, event });\n };\n};\n\nfunction toString(value: GoabDate | null | undefined, tmpl = \"yyyy-MM-dd\"): string {\n if (!value) {\n return \"\";\n }\n if (typeof value === \"string\") {\n return format(parseISO(value), tmpl);\n }\n if (value.toISOString() === new Date(0).toISOString()) {\n return \"\";\n }\n return format(value, tmpl);\n}\n\nexport function GoabxInputText(props: GoabxInputProps): JSX.Element {\n return <GoabxInput {...props} type=\"text\" />;\n}\n\nexport function GoabxInputPassword(props: GoabxInputProps): JSX.Element {\n return <GoabxInput {...props} type=\"password\" />;\n}\n\nexport function GoabxInputDate({\n value,\n min = \"\",\n max = \"\",\n ...props\n}: GoabxDateInputProps): JSX.Element {\n return (\n <GoabxInput\n {...props}\n type=\"date\"\n onChange={onDateChangeHandler(props.onChange)}\n min={toString(min)}\n max={toString(max)}\n value={toString(value)}\n />\n );\n}\n\nexport function GoabxInputTime({\n value,\n min = \"\",\n max = \"\",\n ...props\n}: GoabxInputProps): JSX.Element {\n return (\n <GoabxInput\n {...props}\n onChange={onTimeChangeHandler(props.onChange)}\n value={value}\n type=\"time\"\n />\n );\n}\n\nexport function GoabxInputDateTime({\n value,\n min = \"\",\n max = \"\",\n ...props\n}: GoabxDateInputProps): JSX.Element {\n return (\n <GoabxInput\n {...props}\n onChange={onDateChangeHandler(props.onChange)}\n value={toString(value, \"yyyy-MM-dd'T'HH:mm\")}\n type=\"datetime-local\"\n />\n );\n}\n\nexport function GoabxInputEmail(props: GoabxInputProps): JSX.Element {\n return <GoabxInput {...props} type=\"email\" />;\n}\n\nexport function GoabxInputSearch(props: GoabxInputProps): JSX.Element {\n return <GoabxInput {...props} type=\"search\" trailingIcon=\"search\" />;\n}\n\nexport function GoabxInputUrl(props: GoabxInputProps): JSX.Element {\n return <GoabxInput {...props} type=\"url\" />;\n}\n\nexport function GoabxInputTel(props: GoabxInputProps): JSX.Element {\n return <GoabxInput {...props} type=\"tel\" />;\n}\n\nexport function GoabxInputFile(props: GoabxInputProps): JSX.Element {\n return (\n <input\n id={props.id}\n name={props.name}\n type=\"file\"\n onChange={(e) =>\n props.onChange?.({\n name: e.target.name,\n value: e.target.value,\n event: e.nativeEvent,\n })\n }\n style={{ backgroundColor: \"revert\" }}\n />\n );\n}\n\nexport function GoabxInputMonth(props: GoabxInputProps): JSX.Element {\n return <GoabxInput {...props} type=\"month\" />;\n}\n\nexport function GoabxInputNumber({\n min = Number.MIN_VALUE,\n max = Number.MAX_VALUE,\n value,\n textAlign = \"right\",\n ...props\n}: GoabxNumberInputProps): JSX.Element {\n const onNumberChange = ({ name, value, event }: GoabInputOnChangeDetail) => {\n props.onChange?.({ name, value: parseFloat(value), event });\n };\n const onFocus = ({ name, value, event }: GoabInputOnFocusDetail) => {\n props.onFocus?.({ name, value: parseFloat(value), event });\n };\n const onBlur = ({ name, value, event }: GoabInputOnBlurDetail) => {\n props.onBlur?.({ name, value: parseFloat(value), event });\n };\n const onKeyPress = ({ name, value, key, event }: GoabInputOnKeyPressDetail) => {\n props.onKeyPress?.({ name, value: parseFloat(value), key: parseInt(key), event });\n };\n return (\n <GoabxInput\n {...props}\n onChange={onNumberChange}\n min={min?.toString()}\n max={max?.toString()}\n value={value?.toString()}\n onFocus={onFocus}\n onBlur={onBlur}\n type=\"number\"\n onKeyPress={onKeyPress}\n textAlign={textAlign}\n />\n );\n}\n\nexport function GoabxInputRange(props: GoabxInputProps): JSX.Element {\n return <GoabxInput {...props} type=\"range\" />;\n}\n\nexport default GoabxInput;\n","import { ReactNode } from \"react\";\nimport {\n GoabIconType,\n GoabLinkColor,\n GoabLinkSize,\n Margins,\n DataAttributes,\n} from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../../lib/common/extract-props\";\n\ninterface WCProps extends Margins {\n leadingicon?: GoabIconType;\n trailingicon?: GoabIconType;\n action?: string;\n actionArgs?: string;\n actionArg?: string;\n testid?: string;\n color?: GoabLinkColor;\n size?: GoabLinkSize;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-link\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\ninterface GoabxLinkProps extends Margins, DataAttributes {\n leadingIcon?: GoabIconType;\n trailingIcon?: GoabIconType;\n action?: string;\n actionArgs?: Record<string, unknown>;\n actionArg?: string;\n color?: GoabLinkColor;\n size?: GoabLinkSize;\n testId?: string;\n children: ReactNode;\n}\n\nexport function GoabxLink({\n actionArgs,\n actionArg,\n color = \"interactive\",\n size = \"medium\",\n children,\n ...rest\n}: GoabxLinkProps) {\n const _props = transformProps<WCProps>({ color, size, ...rest }, lowercase);\n\n return (\n <goa-link\n action-arg={actionArg}\n action-args={JSON.stringify(actionArgs)}\n {..._props}\n >\n {children}\n </goa-link>\n );\n}\n\nexport default GoabxLink;\n","import { DataAttributes, GoabIconType } from \"@abgov/ui-components-common\";\nimport type { JSX } from \"react\";\nimport { transformProps, lowercase } from \"../../lib/common/extract-props\";\n\ninterface WCProps {\n text: string;\n action: string;\n icon?: GoabIconType;\n testid?: string;\n}\n\n\nexport interface GoabxMenuActionProps extends DataAttributes {\n text: string;\n action: string;\n icon?: GoabIconType;\n testId?: string;\n}\n\nexport function GoabxMenuAction(props: GoabxMenuActionProps): JSX.Element {\n const _props = transformProps<WCProps>(props, lowercase);\n\n return (\n <goa-menu-action {..._props}></goa-menu-action>\n );\n}\n\nexport default GoabxMenuAction;\n","import { DataAttributes, GoabButtonSize, GoabButtonType, GoabButtonVariant, GoabIconType, GoabMenuButtonOnActionDetail } from \"@abgov/ui-components-common\";\nimport { ReactNode, type JSX, useRef, useEffect } from \"react\";\nimport { transformProps, kebab } from \"../../lib/common/extract-props\";\n\ninterface WCProps {\n text?: string;\n type: GoabButtonType;\n size?: GoabButtonSize;\n variant?: GoabButtonVariant;\n \"max-width\"?: string;\n \"leading-icon\"?: GoabIconType;\n \"aria-label\"?: string;\n testid?: string;\n ref: React.RefObject<HTMLElement | null>;\n}\n\nexport interface GoabxMenuButtonProps extends DataAttributes {\n text?: string;\n type?: GoabButtonType;\n size?: GoabButtonSize;\n variant?: GoabButtonVariant;\n maxWidth?: string;\n leadingIcon?: GoabIconType;\n ariaLabel?: string;\n testId?: string;\n onAction?: (detail: GoabMenuButtonOnActionDetail) => void;\n children?: ReactNode;\n}\n\nexport function GoabxMenuButton({\n type = \"primary\",\n testId,\n onAction,\n children,\n ...rest\n}: GoabxMenuButtonProps): JSX.Element {\n const el = useRef<HTMLElement>(null);\n\n const _props = transformProps<WCProps>(\n { type, testid: testId, ...rest },\n kebab\n );\n\n useEffect(() => {\n if (!el.current) {\n return;\n }\n if (!onAction) {\n return;\n }\n const current = el.current;\n\n const listener = (e: Event) => {\n const detail = (e as CustomEvent).detail as GoabMenuButtonOnActionDetail;\n onAction?.(detail);\n };\n\n current.addEventListener(\"_action\", listener);\n return () => {\n current.removeEventListener(\"_action\", listener);\n };\n }, [el, onAction]);\n\n return (\n // @ts-expect-error - stable WCProps requires text, but experimental supports icon-only mode\n <goa-menu-button {..._props} version=\"2\" ref={el}>\n {children}\n </goa-menu-button>\n );\n}\n\nexport default GoabxMenuButton;\n","import {\n GoabModalCalloutVariant,\n GoabModalRole,\n GoabModalTransition,\n} from \"@abgov/ui-components-common\";\nimport { ReactElement, ReactNode, RefObject, useEffect, useRef, type JSX } from \"react\";\n\ninterface WCProps {\n ref: RefObject<HTMLElement | null>;\n heading?: ReactNode;\n open?: string;\n maxwidth?: string;\n closable: string;\n /**\n * @deprecated The role property is deprecated and will be removed in a future version.\n * The modal will always use role=\"dialog\".\n */\n role?: GoabModalRole;\n transition?: GoabModalTransition;\n calloutvariant?: GoabModalCalloutVariant;\n testid?: string;\n version?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-modal\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabxModalProps {\n heading?: ReactNode;\n maxWidth?: string;\n actions?: ReactElement<any>;\n onClose?: () => void;\n transition?: GoabModalTransition;\n children?: ReactNode;\n open?: boolean;\n calloutVariant?: GoabModalCalloutVariant;\n testId?: string;\n version?: string;\n /**\n * @deprecated The role property is deprecated and will be removed in a future version.\n * The modal will always use role=\"dialog\".\n */\n role?: GoabModalRole;\n}\n\nexport function GoabxModal({\n heading,\n children,\n maxWidth,\n open,\n actions,\n transition,\n calloutVariant,\n onClose,\n testId,\n version = \"2\",\n}: GoabxModalProps): JSX.Element {\n const el = useRef<HTMLElement>(null);\n\n useEffect(() => {\n if (!el.current) {\n return;\n }\n const current = el.current;\n const listener = () => {\n onClose?.();\n };\n\n current.addEventListener(\"_close\", listener);\n return () => {\n current.removeEventListener(\"_close\", listener);\n };\n }, [el, onClose]);\n\n return (\n <goa-modal\n ref={el}\n open={open ? \"true\" : undefined}\n closable={onClose ? \"true\" : \"false\"}\n heading={typeof heading === \"string\" ? heading : undefined}\n maxwidth={maxWidth}\n transition={transition}\n calloutvariant={calloutVariant}\n testid={testId}\n version={version}\n >\n {heading && typeof heading !== \"string\" && <div slot=\"heading\">{heading}</div>}\n {actions && <div slot=\"actions\">{actions}</div>}\n {children}\n </goa-modal>\n );\n}\n\nexport default GoabxModal;\n","import {\n GoabAriaLiveType,\n GoabNotificationEmphasis,\n GoabNotificationType,\n} from \"@abgov/ui-components-common\";\nimport { useEffect, useRef } from \"react\";\n\ninterface WCProps {\n ref: React.RefObject<HTMLElement | null>;\n type: GoabNotificationType;\n maxcontentwidth?: string;\n arialive?: GoabAriaLiveType;\n testid?: string;\n emphasis?: GoabNotificationEmphasis;\n compact?: string;\n version?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-notification\": WCProps & React.HTMLAttributes<HTMLButtonElement>;\n }\n }\n}\n\nexport interface GoabxNotificationProps {\n type?: GoabNotificationType;\n ariaLive?: GoabAriaLiveType;\n maxContentWidth?: string;\n emphasis?: GoabNotificationEmphasis;\n compact?: boolean;\n children?: React.ReactNode;\n onDismiss?: () => void;\n testId?: string;\n version?: string;\n}\n\nexport const GoabxNotification = ({\n type = \"information\",\n emphasis = \"high\",\n compact,\n ariaLive,\n maxContentWidth,\n children,\n testId,\n onDismiss,\n version = \"2\",\n}: GoabxNotificationProps) => {\n const el = useRef<HTMLElement>(null);\n\n useEffect(() => {\n if (!el.current) {\n return;\n }\n const current = el.current;\n const listener = () => {\n onDismiss?.();\n };\n\n current.addEventListener(\"_dismiss\", listener);\n return () => {\n current.removeEventListener(\"_dismiss\", listener);\n };\n }, [el, onDismiss]);\n\n return (\n <goa-notification\n ref={el}\n type={type}\n testid={testId}\n maxcontentwidth={maxContentWidth}\n arialive={ariaLive}\n emphasis={emphasis}\n compact={compact ? \"true\" : undefined}\n version={version}\n >\n {children}\n </goa-notification>\n );\n};\n\nexport default GoabxNotification;\n","import { GoabPaginationOnChangeDetail, Margins } from \"@abgov/ui-components-common\";\nimport { useEffect, useRef } from \"react\";\n\ninterface WCProps extends Margins {\n ref?: React.RefObject<HTMLElement | null>;\n itemcount: number;\n perpagecount?: number;\n pagenumber: number;\n variant?: \"all\" | \"links-only\";\n testid?: string;\n version?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-pagination\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\n/* eslint-disable-next-line */\nexport interface GoabxPaginationProps extends Margins {\n itemCount: number;\n perPageCount?: number;\n pageNumber: number;\n variant?: \"all\" | \"links-only\";\n onChange: (detail: GoabPaginationOnChangeDetail) => void;\n testId?: string;\n version?: string;\n}\n\n// legacy\nexport type PaginationProps = GoabxPaginationProps;\n\nexport function GoabxPagination({\n onChange,\n version = \"2\",\n ...props\n}: GoabxPaginationProps) {\n const ref = useRef<HTMLElement>(null);\n\n useEffect(() => {\n if (!ref.current) {\n return;\n }\n const current = ref.current;\n const changeListener = (e: Event) => {\n const detail = (e as CustomEvent<GoabPaginationOnChangeDetail>).detail;\n onChange(detail);\n };\n\n current.addEventListener(\"_change\", changeListener);\n return () => {\n current.removeEventListener(\"_change\", changeListener);\n };\n }, [ref, onChange]);\n\n return (\n <goa-pagination\n ref={ref}\n itemcount={props.itemCount}\n perpagecount={props.perPageCount}\n pagenumber={props.pageNumber}\n variant={props.variant}\n mt={props.mt}\n mb={props.mb}\n ml={props.ml}\n mr={props.mr}\n testid={props.testId}\n version={version}\n />\n );\n}\n\nexport default GoabxPagination;\n","import { Margins } from \"@abgov/ui-components-common\";\n\nimport type { JSX } from \"react\";\n\ninterface WCProps extends Margins {\n name?: string;\n value?: string;\n description?: string | React.ReactNode;\n reveal?: React.ReactNode;\n revealarialabel?: string;\n label?: string;\n maxwidth?: string;\n disabled?: string;\n checked?: string;\n error?: string;\n arialabel?: string;\n compact?: string;\n version?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-radio-item\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabxRadioItemProps extends Margins {\n value?: string;\n label?: string;\n name?: string;\n description?: string | React.ReactNode;\n reveal?: React.ReactNode;\n revealAriaLabel?: string;\n maxWidth?: string;\n disabled?: boolean;\n checked?: boolean;\n error?: boolean;\n compact?: boolean;\n children?: React.ReactNode;\n ariaLabel?: string;\n version?: string;\n}\n\nexport function GoabxRadioItem({\n name,\n label,\n value,\n description,\n reveal,\n revealAriaLabel,\n maxWidth,\n disabled,\n checked,\n error,\n compact,\n ariaLabel,\n children,\n version = \"2\",\n mt,\n mr,\n mb,\n ml,\n}: GoabxRadioItemProps): JSX.Element {\n return (\n <goa-radio-item\n name={name}\n label={label}\n value={value}\n description={typeof description === \"string\" ? description : undefined}\n maxwidth={maxWidth}\n error={error ? \"true\" : undefined}\n disabled={disabled ? \"true\" : undefined}\n checked={checked ? \"true\" : undefined}\n compact={compact ? \"true\" : undefined}\n arialabel={ariaLabel}\n revealarialabel={revealAriaLabel}\n mt={mt}\n mr={mr}\n mb={mb}\n ml={ml}\n version={version}\n >\n {description && typeof description !== \"string\" && (\n <div slot=\"description\">{description}</div>\n )}\n {reveal && <div slot=\"reveal\">{reveal}</div>}\n {children}\n </goa-radio-item>\n );\n}\n\nexport default GoabxRadioItem;\n","import { useEffect, useRef, type JSX } from \"react\";\nimport {\n GoabRadioGroupOnChangeDetail,\n GoabRadioGroupOrientation,\n GoabRadioGroupSize,\n Margins, DataAttributes,\n} from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../../lib/common/extract-props\";\n\nexport * from \"./radio\";\n\ninterface WCProps extends Margins {\n name: string;\n value?: string;\n id?: string;\n orientation?: GoabRadioGroupOrientation;\n disabled?: string;\n error?: string;\n arialabel?: string;\n testid?: string;\n size?: GoabRadioGroupSize;\n version?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-radio-group\": WCProps & React.HTMLAttributes<HTMLElement> & {\n ref: React.RefObject<HTMLElement | null>;\n };\n }\n }\n}\n\nexport interface GoabxRadioGroupProps extends Margins, DataAttributes {\n name: string;\n value?: string;\n id?: string;\n disabled?: boolean;\n orientation?: GoabRadioGroupOrientation;\n size?: GoabRadioGroupSize;\n testId?: string;\n error?: boolean;\n ariaLabel?: string;\n children?: React.ReactNode;\n version?: string;\n onChange?: (detail: GoabRadioGroupOnChangeDetail) => void;\n}\n\nexport function GoabxRadioGroup({\n disabled,\n error,\n onChange,\n name,\n children,\n size = \"default\",\n version = \"2\",\n ...rest\n}: GoabxRadioGroupProps): JSX.Element {\n const el = useRef<HTMLElement>(null);\n\n const _props = transformProps<WCProps>({ size, ...rest }, lowercase);\n\n useEffect(() => {\n if (!el.current) return;\n\n const listener = (e: Event) => {\n const detail = (e as CustomEvent<GoabRadioGroupOnChangeDetail>).detail;\n onChange?.({ ...detail, event: e });\n };\n\n const currentEl = el.current;\n if (onChange) {\n currentEl.addEventListener(\"_change\", listener);\n }\n\n return () => {\n if (onChange) {\n currentEl.removeEventListener(\"_change\", listener);\n }\n };\n }, [name, onChange]);\n\n return (\n <goa-radio-group\n ref={el}\n {..._props}\n name={name}\n disabled={disabled ? \"true\" : undefined}\n error={error ? \"true\" : undefined}\n version={version}\n >\n {children}\n </goa-radio-group>\n );\n}\n\nexport default GoabxRadioGroup;\n","import { ReactNode, type JSX } from \"react\";\n\ninterface WCProps {\n testid?: string;\n version?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-side-menu\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\n/* eslint-disable-next-line */\nexport interface GoabxSideMenuProps {\n testId?: string;\n children: ReactNode;\n version?: string;\n}\n\nexport function GoabxSideMenu({\n testId,\n children,\n version = \"2\",\n}: GoabxSideMenuProps): JSX.Element {\n return (\n <goa-side-menu testid={testId} version={version}>\n {children}\n </goa-side-menu>\n );\n}\n\nexport default GoabxSideMenu;\n","import { ReactNode, type JSX } from \"react\";\nimport { GoabIconType, Margins } from \"@abgov/ui-components-common\";\n\ninterface WCProps extends Margins {\n heading: string;\n icon?: GoabIconType;\n testid?: string;\n version?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-side-menu-group\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\n/* eslint-disable-next-line */\nexport interface GoabxSideMenuGroupProps extends Margins {\n heading: string;\n icon?: GoabIconType;\n testId?: string;\n children?: ReactNode;\n version?: string;\n}\n\nexport function GoabxSideMenuGroup({\n heading,\n icon,\n testId,\n children,\n mt,\n mr,\n mb,\n ml,\n version = \"2\",\n}: GoabxSideMenuGroupProps): JSX.Element {\n return (\n <goa-side-menu-group\n heading={heading}\n icon={icon}\n testid={testId}\n mt={mt}\n mr={mr}\n mb={mb}\n ml={ml}\n version={version}\n >\n {children}\n </goa-side-menu-group>\n );\n}\n\nexport default GoabxSideMenuGroup;\n","import { GoabIconType } from \"@abgov/ui-components-common\";\nimport { ReactNode } from \"react\";\n\ninterface WCProps {\n testid?: string;\n icon?: GoabIconType;\n version?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-side-menu-heading\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\n/* eslint-disable-next-line */\nexport interface GoabxSideMenuHeadingProps {\n meta?: ReactNode;\n testId?: string;\n icon?: GoabIconType;\n children?: ReactNode;\n version?: string;\n}\n\nexport function GoabxSideMenuHeading({\n meta,\n testId,\n icon,\n children,\n version = \"2\",\n}: GoabxSideMenuHeadingProps) {\n return (\n <goa-side-menu-heading icon={icon} testid={testId} version={version}>\n {children}\n {meta && <span slot=\"meta\">{meta}</span>}\n </goa-side-menu-heading>\n );\n}\n\nexport default GoabxSideMenuHeading;\n","import {\n GoabTableOnSortDetail,\n GoabTableVariant,\n Margins,\n} from \"@abgov/ui-components-common\";\nimport { ReactNode, useEffect, useRef } from \"react\";\n\ninterface WCProps extends Margins {\n ref?: React.RefObject<HTMLElement | null>;\n width?: string;\n stickyheader?: string;\n variant?: GoabTableVariant;\n testid?: string;\n striped?: string;\n version?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-table\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\n/* eslint-disable-next-line */\nexport interface GoabxTableProps extends Margins {\n width?: string;\n onSort?: (detail: GoabTableOnSortDetail) => void;\n // stickyHeader?: boolean; TODO: enable this later\n variant?: GoabTableVariant;\n striped?: boolean;\n testId?: string;\n version?: string;\n children?: ReactNode;\n}\n\n// legacy name\nexport type TableProps = GoabxTableProps;\n\nexport function GoabxTable({ onSort, version = \"2\", ...props }: GoabxTableProps) {\n const ref = useRef<HTMLTableElement>(null);\n useEffect(() => {\n if (!ref.current) {\n return;\n }\n const current = ref.current;\n const sortListener = (e: unknown) => {\n const detail = (e as CustomEvent<GoabTableOnSortDetail>).detail;\n onSort?.(detail);\n };\n\n current.addEventListener(\"_sort\", sortListener);\n return () => {\n current.removeEventListener(\"_sort\", sortListener);\n };\n }, [ref, onSort]);\n\n return (\n <goa-table\n ref={ref}\n width={props.width}\n // TODO: Enable this later if needed\n // stickyheader={props.stickyHeader ? \"true\" : undefined}\n variant={props.variant}\n striped={props.striped ? \"true\" : undefined}\n testid={props.testId}\n mt={props.mt}\n mb={props.mb}\n ml={props.ml}\n mr={props.mr}\n version={version}\n >\n <table style={{ width: \"100%\" }}>{props.children}</table>\n </goa-table>\n );\n}\n\nexport default GoabxTable;\n","import { DataAttributes, GoabTableSortDirection } from \"@abgov/ui-components-common\";\n\nimport type { JSX } from \"react\";\nimport { transformProps, lowercase } from \"../../lib/common/extract-props\";\n\ninterface WCProps {\n name?: string;\n direction?: GoabTableSortDirection;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-table-sort-header\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\n/* eslint-disable-next-line */\nexport interface GoabxTableSortProps extends DataAttributes {\n name?: string;\n direction?: GoabTableSortDirection;\n children?: React.ReactNode;\n}\n\nexport function GoabxTableSortHeader({\n children,\n ...rest\n}: GoabxTableSortProps): JSX.Element {\n const _props = transformProps<WCProps>(rest, lowercase);\n\n return <goa-table-sort-header {..._props}>{children}</goa-table-sort-header>;\n}\n\nexport default GoabxTableSortHeader;\n","import type { JSX } from \"react\";\n\ninterface WCProps {\n heading?: React.ReactNode;\n disabled?: string;\n slug?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-tab\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabxTabItemProps {\n heading?: React.ReactNode;\n disabled?: boolean;\n children?: React.ReactNode;\n slug?: string;\n}\n\nexport function GoabxTab({ heading, disabled, slug, children }: GoabxTabItemProps): JSX.Element {\n return (\n <goa-tab\n slug={slug}\n disabled={disabled ? \"true\" : undefined}\n heading={typeof heading === \"string\" ? heading : undefined}\n >\n {typeof heading !== \"string\" && <span slot=\"heading\">{heading}</span>}\n {children}\n </goa-tab>\n );\n}\n","import React, { useEffect, useRef, type JSX } from \"react\";\nimport { GoabTabsOnChangeDetail, GoabTabsOrientation, GoabTabsVariant } from \"@abgov/ui-components-common\";\n\ninterface WCProps {\n initialtab?: number;\n ref: React.RefObject<HTMLElement | null>;\n onChange?: (tab: number) => void;\n testid?: string;\n variant?: GoabTabsVariant;\n version?: string;\n orientation?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-tabs\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabxTabsProps {\n initialTab?: number;\n children?: React.ReactNode;\n testId?: string;\n variant?: GoabTabsVariant;\n /** Tab layout orientation. \"auto\" stacks vertically on mobile (default), \"horizontal\" keeps horizontal on all screen sizes. */\n orientation?: GoabTabsOrientation;\n onChange?: (detail: GoabTabsOnChangeDetail) => void;\n}\n\nexport function GoabxTabs({\n initialTab,\n children,\n testId,\n onChange,\n variant,\n orientation,\n}: GoabxTabsProps): JSX.Element {\n const ref = useRef<HTMLElement>(null);\n\n useEffect(() => {\n const element = ref.current;\n if (element && onChange) {\n const handler = (event: Event) => {\n const detail = (event as CustomEvent<GoabTabsOnChangeDetail>).detail;\n onChange(detail);\n };\n element.addEventListener(\"_change\", handler);\n return () => {\n element.removeEventListener(\"_change\", handler);\n };\n }\n }, [onChange]);\n\n return (\n <goa-tabs\n ref={ref}\n initialtab={initialTab}\n testid={testId}\n variant={variant}\n version=\"2\"\n orientation={orientation}\n >\n {children}\n </goa-tabs>\n );\n}\n\nexport default GoabxTabs;\n","import {\n GoabTextAreaCountBy,\n GoabTextAreaOnChangeDetail,\n GoabTextAreaOnKeyPressDetail,\n GoabTextAreaOnBlurDetail,\n GoabTextAreaSize,\n Margins,\n DataAttributes,\n} from \"@abgov/ui-components-common\";\nimport { useEffect, useRef, type JSX } from \"react\";\nimport { transformProps, lowercase } from \"../../lib/common/extract-props\";\n\ninterface WCProps extends Margins {\n name: string;\n value?: string;\n placeholder?: string;\n rows?: number;\n error?: string;\n readOnly?: string;\n disabled?: string;\n width?: string;\n maxwidth?: string;\n arialabel?: string;\n countby?: GoabTextAreaCountBy;\n maxcount?: number;\n autocomplete?: string;\n testid?: string;\n size?: GoabTextAreaSize;\n version?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-textarea\": WCProps &\n React.HTMLAttributes<HTMLElement> & {\n ref: React.Ref<HTMLTextAreaElement>;\n };\n }\n }\n}\n\nexport interface GoabxTextAreaProps extends Margins, DataAttributes {\n name: string;\n value?: string;\n id?: string;\n placeholder?: string;\n rows?: number;\n error?: boolean;\n readOnly?: boolean;\n disabled?: boolean;\n width?: string;\n maxWidth?: string;\n testId?: string;\n ariaLabel?: string;\n countBy?: GoabTextAreaCountBy;\n maxCount?: number;\n autoComplete?: string;\n size?: GoabTextAreaSize;\n version?: string;\n\n onChange?: (event: GoabTextAreaOnChangeDetail) => void;\n onKeyPress?: (event: GoabTextAreaOnKeyPressDetail) => void;\n onBlur?: (event: GoabTextAreaOnBlurDetail) => void;\n}\n\nexport function GoabxTextArea({\n readOnly,\n disabled,\n error,\n onChange,\n onKeyPress,\n onBlur,\n version = \"2\",\n ...rest\n}: GoabxTextAreaProps): JSX.Element {\n const el = useRef<HTMLTextAreaElement>(null);\n\n const _props = transformProps<WCProps>(rest, lowercase);\n\n useEffect(() => {\n if (!el.current) {\n return;\n }\n const current = el.current;\n\n const changeListener: EventListener = (e: Event) => {\n const detail = (e as CustomEvent<GoabTextAreaOnChangeDetail>).detail;\n onChange?.({ ...detail, event: e });\n };\n\n const keypressListener = (e: unknown) => {\n const detail = (e as CustomEvent<GoabTextAreaOnKeyPressDetail>).detail;\n onKeyPress?.({ ...detail, event: e as Event });\n };\n\n const blurListener = (e: unknown) => {\n const detail = (e as CustomEvent<GoabTextAreaOnBlurDetail>).detail;\n onBlur?.({ ...detail, event: e as Event });\n };\n\n current.addEventListener(\"_change\", changeListener);\n current.addEventListener(\"_keyPress\", keypressListener);\n current.addEventListener(\"_blur\", blurListener);\n\n return () => {\n current.removeEventListener(\"_change\", changeListener);\n current.removeEventListener(\"_keyPress\", keypressListener);\n current.removeEventListener(\"_blur\", blurListener);\n };\n }, [el, onChange, onKeyPress, onBlur]);\n\n return (\n <goa-textarea\n ref={el}\n readOnly={readOnly ? \"true\" : undefined}\n disabled={disabled ? \"true\" : undefined}\n error={error ? \"true\" : undefined}\n version={version}\n {..._props}\n ></goa-textarea>\n );\n}\n\nexport default GoabxTextArea;\n","import { ReactNode, useEffect, useRef, type JSX } from \"react\";\n\ninterface WCProps {\n heading: string;\n url: string;\n \"user-name\"?: string;\n \"user-secondary-text\"?: string;\n testid?: string;\n primaryContent?: ReactNode;\n secondaryContent?: ReactNode;\n accountContent?: ReactNode;\n open?: boolean;\n ref: React.RefObject<HTMLElement | null>;\n}\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-work-side-menu\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\n/* eslint-disable-next-line */\nexport interface GoabWorkSideMenuProps {\n heading: string;\n url: string;\n userName?: string;\n userSecondaryText?: string;\n testId?: string;\n primaryContent?: ReactNode;\n secondaryContent?: ReactNode;\n accountContent?: ReactNode;\n open?: boolean;\n onToggle?: () => void;\n}\n\nexport function GoabxWorkSideMenu({\n heading,\n url,\n userName,\n userSecondaryText,\n testId,\n primaryContent,\n secondaryContent,\n accountContent,\n open,\n onToggle,\n}: GoabWorkSideMenuProps): JSX.Element {\n const el = useRef<HTMLElement>(null);\n\n useEffect(() => {\n if (!el?.current || !onToggle) {\n return;\n }\n el.current?.addEventListener(\"_toggle\", onToggle);\n return () => {\n el.current?.removeEventListener(\"_toggle\", onToggle);\n };\n }, [el, onToggle]);\n return (\n <goa-work-side-menu\n ref={el}\n heading={heading}\n url={url}\n user-name={userName}\n user-secondary-text={userSecondaryText}\n open={open ? true : false}\n testid={testId}\n >\n {primaryContent && <div slot=\"primary\">{primaryContent}</div>}\n {secondaryContent && <div slot=\"secondary\">{secondaryContent}</div>}\n {accountContent && <div slot=\"account\">{accountContent}</div>}\n </goa-work-side-menu>\n );\n}\n\nexport default GoabxWorkSideMenu;\n","import { type JSX } from \"react\";\nimport { GoabWorkSideMenuItemType } from \"@abgov/ui-components-common\";\ninterface WCProps {\n label: string;\n url: string;\n badge?: string;\n current?: string;\n divider?: string;\n icon?: string;\n testid?: string;\n type?: GoabWorkSideMenuItemType;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-work-side-menu-item\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabWorkSideMenuItemProps {\n label: string;\n url: string;\n badge?: string;\n current?: boolean;\n divider?: boolean;\n icon?: string;\n testId?: string;\n type?: GoabWorkSideMenuItemType;\n children?: React.ReactNode;\n}\n\nexport function GoabxWorkSideMenuItem(props: GoabWorkSideMenuItemProps): JSX.Element {\n return (\n <goa-work-side-menu-item\n label={props.label}\n url={props.url}\n badge={props.badge}\n current={props.current ? \"true\" : undefined}\n divider={props.divider ? \"true\" : undefined}\n icon={props.icon}\n testid={props.testId}\n type={props.type}\n >\n {props.children}\n </goa-work-side-menu-item>\n );\n}\n\nexport default GoabxWorkSideMenuItem;\n","import { type JSX } from \"react\";\nimport { GoabIconType } from \"@abgov/ui-components-common\";\n\ninterface WCProps {\n heading: string;\n icon: GoabIconType;\n testid?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-work-side-menu-group\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabWorkSideMenuGroupProps {\n heading: string;\n icon: GoabIconType;\n testId?: string;\n children?: React.ReactNode;\n}\n\nexport function GoabxWorkSideMenuGroup(props: GoabWorkSideMenuGroupProps): JSX.Element {\n return (\n <goa-work-side-menu-group\n heading={props.heading}\n icon={props.icon}\n testid={props.testId}\n >\n {props.children}\n </goa-work-side-menu-group>\n );\n}\n\nexport default GoabxWorkSideMenuGroup;\n"],"names":["transformProps","lowercase","jsx","useRef","useEffect","jsxs","_a","isValid","parseISO","format","value","kebab"],"mappings":"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"}
package/experimental.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
- import { t as transformProps, l as lowercase, f as format, p as parseISO, i as isValid } from "./parseISO-BHUUf1QW.mjs";
2
+ import { t as transformProps, l as lowercase, f as format, p as parseISO, i as isValid, k as kebab } from "./parseISO-BHUUf1QW.mjs";
3
3
  import { useRef, useEffect } from "react";
4
4
  function getIconValue(icon, iconType) {
5
5
  if (icon !== void 0) {
@@ -744,6 +744,44 @@ function GoabxLink({
744
744
  }
745
745
  );
746
746
  }
747
+ function GoabxMenuAction(props) {
748
+ const _props = transformProps(props, lowercase);
749
+ return /* @__PURE__ */ jsx("goa-menu-action", { ..._props });
750
+ }
751
+ function GoabxMenuButton({
752
+ type = "primary",
753
+ testId,
754
+ onAction,
755
+ children,
756
+ ...rest
757
+ }) {
758
+ const el = useRef(null);
759
+ const _props = transformProps(
760
+ { type, testid: testId, ...rest },
761
+ kebab
762
+ );
763
+ useEffect(() => {
764
+ if (!el.current) {
765
+ return;
766
+ }
767
+ if (!onAction) {
768
+ return;
769
+ }
770
+ const current = el.current;
771
+ const listener = (e) => {
772
+ const detail = e.detail;
773
+ onAction == null ? void 0 : onAction(detail);
774
+ };
775
+ current.addEventListener("_action", listener);
776
+ return () => {
777
+ current.removeEventListener("_action", listener);
778
+ };
779
+ }, [el, onAction]);
780
+ return (
781
+ // @ts-expect-error - stable WCProps requires text, but experimental supports icon-only mode
782
+ /* @__PURE__ */ jsx("goa-menu-button", { ..._props, version: "2", ref: el, children })
783
+ );
784
+ }
747
785
  function GoabxModal({
748
786
  heading,
749
787
  children,
@@ -1040,13 +1078,27 @@ function GoabxTableSortHeader({
1040
1078
  const _props = transformProps(rest, lowercase);
1041
1079
  return /* @__PURE__ */ jsx("goa-table-sort-header", { ..._props, children });
1042
1080
  }
1081
+ function GoabxTab({ heading, disabled, slug, children }) {
1082
+ return /* @__PURE__ */ jsxs(
1083
+ "goa-tab",
1084
+ {
1085
+ slug,
1086
+ disabled: disabled ? "true" : void 0,
1087
+ heading: typeof heading === "string" ? heading : void 0,
1088
+ children: [
1089
+ typeof heading !== "string" && /* @__PURE__ */ jsx("span", { slot: "heading", children: heading }),
1090
+ children
1091
+ ]
1092
+ }
1093
+ );
1094
+ }
1043
1095
  function GoabxTabs({
1044
1096
  initialTab,
1045
1097
  children,
1046
1098
  testId,
1047
1099
  onChange,
1048
1100
  variant,
1049
- version = "2"
1101
+ orientation
1050
1102
  }) {
1051
1103
  const ref = useRef(null);
1052
1104
  useEffect(() => {
@@ -1069,7 +1121,8 @@ function GoabxTabs({
1069
1121
  initialtab: initialTab,
1070
1122
  testid: testId,
1071
1123
  variant,
1072
- version,
1124
+ version: "2",
1125
+ orientation,
1073
1126
  children
1074
1127
  }
1075
1128
  );
@@ -1226,6 +1279,8 @@ export {
1226
1279
  GoabxInputTime,
1227
1280
  GoabxInputUrl,
1228
1281
  GoabxLink,
1282
+ GoabxMenuAction,
1283
+ GoabxMenuButton,
1229
1284
  GoabxModal,
1230
1285
  GoabxNotification,
1231
1286
  GoabxPagination,
@@ -1234,6 +1289,7 @@ export {
1234
1289
  GoabxSideMenu,
1235
1290
  GoabxSideMenuGroup,
1236
1291
  GoabxSideMenuHeading,
1292
+ GoabxTab,
1237
1293
  GoabxTable,
1238
1294
  GoabxTableSortHeader,
1239
1295
  GoabxTabs,