@abgov/react-components 6.11.0-dev.1 → 6.11.0-dev.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../libs/react-components/src/lib/accordion/accordion.tsx","../../../libs/react-components/src/lib/app-header/app-header.tsx","../../../libs/react-components/src/lib/app-header-menu/app-header-menu.tsx","../../../libs/react-components/src/lib/badge/badge.tsx","../../../libs/react-components/src/lib/block/block.tsx","../../../libs/react-components/src/lib/button/button.tsx","../../../libs/react-components/src/lib/button-group/button-group.tsx","../../../libs/react-components/src/lib/calendar/calendar.tsx","../../../libs/react-components/src/lib/callout/callout.tsx","../../../libs/react-components/src/lib/checkbox/checkbox.tsx","../../../libs/react-components/src/lib/checkbox-list/checkbox-list.tsx","../../../libs/react-components/src/lib/chip/chip.tsx","../../../libs/react-components/src/lib/circular-progress/circular-progress.tsx","../../../libs/react-components/src/lib/container/container.tsx","../../../libs/react-components/src/lib/data-grid/data-grid.tsx","../../../libs/react-components/src/lib/date-picker/date-picker.tsx","../../../libs/react-components/src/lib/details/details.tsx","../../../libs/react-components/src/lib/divider/divider.tsx","../../../libs/react-components/src/lib/drawer/drawer.tsx","../../../libs/react-components/src/lib/dropdown/dropdown.tsx","../../../libs/react-components/src/lib/dropdown/dropdown-item.tsx","../../../libs/react-components/src/lib/file-upload-card/file-upload-card.tsx","../../../libs/react-components/src/lib/file-upload-input/file-upload-input.tsx","../../../libs/react-components/src/lib/footer/footer.tsx","../../../libs/react-components/src/lib/footer-meta-section/footer-meta-section.tsx","../../../libs/react-components/src/lib/footer-nav-section/footer-nav-section.tsx","../../../libs/react-components/src/lib/form/fieldset.tsx","../../../libs/react-components/src/lib/form/public-form-page.tsx","../../../libs/react-components/src/lib/form/public-form-summary.tsx","../../../libs/react-components/src/lib/form/public-form.tsx","../../../libs/react-components/src/lib/form/public-subform.tsx","../../../libs/react-components/src/lib/form/public-subform-index.tsx","../../../libs/react-components/src/lib/form/task.tsx","../../../libs/react-components/src/lib/form/task-list.tsx","../../../libs/react-components/src/lib/form-item/form-item.tsx","../../../libs/react-components/src/lib/form-step/form-step.tsx","../../../libs/react-components/src/lib/form-stepper/form-stepper.tsx","../../../libs/react-components/src/lib/grid/grid.tsx","../../../libs/react-components/src/lib/hero-banner/hero-banner.tsx","../../../libs/react-components/src/lib/hero-banner/hero-banner-actions.tsx","../../../libs/react-components/src/lib/icon-button/icon-button.tsx","../../../libs/react-components/src/lib/icon/icon.tsx","../../../libs/react-components/src/lib/input/input.tsx","../../../libs/react-components/src/lib/linear-progress/linear-progress.tsx","../../../libs/react-components/src/lib/link/link.tsx","../../../libs/react-components/src/lib/link-button/link-button.tsx","../../../libs/react-components/src/lib/menu-button/menu-button.tsx","../../../libs/react-components/src/lib/menu-button/menu-action.tsx","../../../libs/react-components/src/lib/microsite-header/microsite-header.tsx","../../../libs/react-components/src/lib/modal/modal.tsx","../../../libs/react-components/src/lib/notification/notification.tsx","../../../libs/react-components/src/lib/one-column-layout/one-column-layout.tsx","../../../libs/react-components/src/lib/page-block/page-block.tsx","../../../libs/react-components/src/lib/pages/pages.tsx","../../../libs/react-components/src/lib/pagination/pagination.tsx","../../../libs/react-components/src/lib/popover/popover.tsx","../../../libs/react-components/src/lib/radio-group/radio.tsx","../../../libs/react-components/src/lib/radio-group/radio-group.tsx","../../../libs/react-components/src/lib/side-menu-group/side-menu-group.tsx","../../../libs/react-components/src/lib/side-menu-heading/side-menu-heading.tsx","../../../libs/react-components/src/lib/side-menu/side-menu.tsx","../../../libs/react-components/src/lib/skeleton/skeleton.tsx","../../../libs/react-components/src/lib/spacer/spacer.tsx","../../../libs/react-components/src/lib/spinner/spinner.tsx","../../../libs/react-components/src/lib/table/table.tsx","../../../libs/react-components/src/lib/table/table-sort-header.tsx","../../../libs/react-components/src/lib/tabs/tabs.tsx","../../../libs/react-components/src/lib/tab/tab.tsx","../../../libs/react-components/src/lib/temporary-notification-ctrl/temporary-notification-ctrl.tsx","../../../libs/react-components/src/lib/text/text.tsx","../../../libs/react-components/src/lib/textarea/textarea.tsx","../../../libs/react-components/src/lib/three-column-layout/three-column-layout.tsx","../../../libs/react-components/src/lib/tooltip/tooltip.tsx","../../../libs/react-components/src/lib/two-column-layout/two-column-layout.tsx","../../../libs/react-components/src/lib/filter-chip/filter-chip.tsx","../../../libs/common/src/lib/messaging/messaging.ts","../../../libs/common/src/lib/public-form-controller.ts","../../../libs/react-components/src/lib/use-public-form-controller.ts"],"sourcesContent":["import { ReactNode, useEffect, useRef, type JSX } from \"react\";\n\nimport type {\n GoabAccordionHeadingSize,\n GoabAccordionIconPosition,\n Margins, DataAttributes,\n} from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../common/extract-props\";\n\ninterface WCProps extends Margins {\n open?: string;\n headingsize?: GoabAccordionHeadingSize;\n heading: string;\n secondarytext?: string;\n headingContent?: ReactNode;\n maxwidth?: string;\n testid?: string;\n iconposition?: GoabAccordionIconPosition;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-accordion\": WCProps &\n React.HTMLAttributes<HTMLElement> & {\n ref: React.RefObject<HTMLElement | null>;\n };\n }\n }\n}\n\nexport interface GoabAccordionProps extends Margins, DataAttributes {\n open?: boolean;\n headingSize?: GoabAccordionHeadingSize;\n secondaryText?: string;\n heading: string;\n headingContent?: ReactNode;\n maxWidth?: string;\n testId?: string;\n iconPosition?: GoabAccordionIconPosition;\n onChange?: (open: boolean) => void;\n children?: ReactNode;\n}\n\nexport function GoabAccordion({\n open,\n onChange,\n headingContent,\n children,\n ...rest\n}: GoabAccordionProps): JSX.Element {\n const ref = useRef<HTMLElement>(null);\n\n const _props = transformProps<WCProps>(rest, lowercase);\n\n useEffect(() => {\n const element = ref.current;\n if (element && onChange) {\n const handler = (event: Event) => {\n const customEvent = event as CustomEvent;\n onChange?.(customEvent.detail.open);\n };\n element.addEventListener(\"_change\", handler);\n return () => {\n element.removeEventListener(\"_change\", handler);\n };\n }\n }, [onChange]);\n\n return (\n <goa-accordion\n ref={ref}\n open={open ? \"true\" : undefined}\n {..._props}\n >\n {headingContent && <div slot=\"headingcontent\">{headingContent}</div>}\n {children}\n </goa-accordion>\n );\n}\n\nexport default GoabAccordion;\n","import { useEffect, useRef, type JSX } from \"react\";\nimport { DataAttributes } from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../common/extract-props\";\n\ninterface WCProps {\n heading?: string;\n url?: string;\n maxcontentwidth?: string;\n fullmenubreakpoint?: number;\n hasmenuclickhandler?: 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-header\": WCProps & React.HTMLAttributes<HTMLElement> & {\n ref: React.RefObject<HTMLElement | null>;\n };\n }\n }\n}\n\nexport interface GoabAppHeaderProps extends DataAttributes {\n heading?: string;\n url?: string;\n maxContentWidth?: string;\n fullMenuBreakpoint?: number;\n children?: React.ReactNode;\n onMenuClick?: () => void;\n testId?: string;\n}\n\nexport function GoabAppHeader({\n onMenuClick,\n children,\n ...rest\n}: GoabAppHeaderProps): 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 (!onMenuClick) {\n return;\n }\n const current = el.current;\n const listener = () => {\n onMenuClick?.();\n };\n current.addEventListener(\"_menuClick\", listener);\n return () => {\n current.removeEventListener(\"_menuClick\", listener);\n };\n }, [el, onMenuClick]);\n\n return (\n <goa-app-header\n ref={el}\n hasmenuclickhandler={onMenuClick ? \"true\" : \"false\"}\n {..._props}\n >\n {children}\n </goa-app-header>\n );\n}\n\nexport default GoabAppHeader;\n","import { ReactNode } from \"react\";\nimport { DataAttributes, GoabIconType } from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../common/extract-props\";\n\ninterface WCProps {\n heading: string;\n leadingicon?: GoabIconType;\n testid?: string;\n}\n\n/* eslint-disable-next-line */\nexport interface GoabAppHeaderMenuProps extends DataAttributes {\n heading: string;\n leadingIcon?: GoabIconType;\n testId?: string;\n children?: ReactNode;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-app-header-menu\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport function GoabAppHeaderMenu({\n children,\n ...rest\n}: GoabAppHeaderMenuProps) {\n const _props = transformProps<WCProps>(rest, lowercase);\n\n return (\n <goa-app-header-menu {..._props}>\n {children}\n </goa-app-header-menu>\n );\n}\n\nexport default GoabAppHeaderMenu;\n","import {\n DataAttributes,\n GoabBadgeType,\n GoabIconType,\n Margins,\n} from \"@abgov/ui-components-common\";\nimport type { JSX } from \"react\";\nimport { transformProps, lowercase } from \"../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}\n\nexport interface GoabBadgeProps extends Margins, DataAttributes {\n type: GoabBadgeType;\n icon?: boolean;\n content?: string;\n testId?: string;\n ariaLabel?: string;\n iconType?: GoabIconType;\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 GoabBadge({ icon, iconType, ...rest }: GoabBadgeProps): JSX.Element {\n const _props = transformProps<WCProps>(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 />\n );\n}\n\n/**\n * @deprecated\n */\nexport function GoabInfoBadge({\n content,\n testId,\n icon,\n mt,\n mr,\n mb,\n ml,\n ariaLabel,\n}: GoabBadgeProps): JSX.Element {\n return (\n <GoabBadge\n type=\"information\"\n icon={icon}\n content={content}\n testId={testId}\n ariaLabel={ariaLabel}\n mt={mt}\n mr={mr}\n mb={mb}\n ml={ml}\n />\n );\n}\n\n/**\n * @deprecated\n */\nexport function GoabSuccessBadge({\n content,\n testId,\n icon,\n mt,\n mr,\n mb,\n ml,\n ariaLabel,\n}: GoabBadgeProps): JSX.Element {\n return (\n <GoabBadge\n type=\"success\"\n icon={icon}\n content={content}\n ariaLabel={ariaLabel}\n testId={testId}\n mt={mt}\n mr={mr}\n mb={mb}\n ml={ml}\n />\n );\n}\n\n/**\n * @deprecated\n */\nexport function GoabImportantBadge({\n content,\n testId,\n icon,\n mt,\n mr,\n mb,\n ml,\n ariaLabel,\n}: GoabBadgeProps): JSX.Element {\n return (\n <GoabBadge\n type=\"important\"\n icon={icon}\n content={content}\n testId={testId}\n ariaLabel={ariaLabel}\n mt={mt}\n mr={mr}\n mb={mb}\n ml={ml}\n />\n );\n}\n\n/**\n * @deprecated\n */\nexport function GoabEmergencyBadge({\n content,\n testId,\n icon,\n mt,\n mr,\n mb,\n ml,\n ariaLabel,\n}: GoabBadgeProps): JSX.Element {\n return (\n <GoabBadge\n type=\"emergency\"\n icon={icon}\n content={content}\n testId={testId}\n ariaLabel={ariaLabel}\n mt={mt}\n mr={mr}\n mb={mb}\n ml={ml}\n />\n );\n}\n","import {\n GoabBlockAlignment,\n GoabBlockDirection,\n Margins, DataAttributes,\n Spacing,\n} from \"@abgov/ui-components-common\";\nimport { ReactNode } from \"react\";\nimport { transformProps, kebab } from \"../common/extract-props\";\n\nexport interface WCProps extends Margins {\n gap?: Spacing;\n direction?: GoabBlockDirection;\n alignment?: GoabBlockAlignment;\n \"min-width\"?: string;\n \"max-width\"?: string;\n width?: 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-block\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\n/* eslint-disable-next-line */\nexport interface GoabBlockProps extends Margins, DataAttributes {\n gap?: Spacing;\n direction?: GoabBlockDirection;\n alignment?: GoabBlockAlignment;\n minWidth?: string;\n maxWidth?: string;\n width?: string;\n testId?: string;\n children?: ReactNode;\n}\n\nexport function GoabBlock({\n testId,\n children,\n ...rest\n}: GoabBlockProps) {\n const _props = transformProps<WCProps>(\n { testid: testId, ...rest },\n kebab\n );\n\n return (\n <goa-block {..._props}>\n {children}\n </goa-block>\n );\n}\n","import { ReactNode, useEffect, useRef, type JSX } from \"react\";\nimport {\n GoabButtonSize,\n GoabButtonType,\n GoabButtonVariant,\n GoabIconType,\n Margins, DataAttributes,\n} from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../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}\n\nexport interface GoabButtonProps 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 children?: ReactNode;\n}\n\nexport function GoabButton({\n disabled,\n onClick,\n actionArgs,\n actionArg,\n children,\n ...rest\n}: GoabButtonProps): 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 >\n {children}\n </goa-button>\n );\n}\n\nexport default GoabButton;\n","import {\n GoabButtonGroupAlignment,\n GoabButtonGroupGap,\n Margins, DataAttributes,\n} from \"@abgov/ui-components-common\";\n\nimport type { JSX } from \"react\";\nimport { transformProps, lowercase } from \"../common/extract-props\";\n\ninterface WCProps extends Margins {\n alignment: GoabButtonGroupAlignment;\n gap?: GoabButtonGroupGap;\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-button-group\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabButtonGroupProps extends Margins, DataAttributes {\n alignment: GoabButtonGroupAlignment;\n gap?: GoabButtonGroupGap;\n testId?: string;\n children?: React.ReactNode;\n}\n\nexport function GoabButtonGroup({\n children,\n ...rest\n}: GoabButtonGroupProps): JSX.Element {\n const _props = transformProps<WCProps>(rest, lowercase);\n\n return (\n <goa-button-group {..._props}>\n {children}\n </goa-button-group>\n );\n}\n\nexport default GoabButtonGroup;\n","import { useEffect, useRef, type JSX } from \"react\";\nimport { DataAttributes, GoabCalendarOnChangeDetail, Margins } from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../common/extract-props\";\n\ninterface WCProps extends Margins {\n name?: string;\n value?: string;\n min?: string;\n max?: string;\n testid?: string;\n}\n\nexport interface GoabCalendarProps extends Margins, DataAttributes {\n name?: string;\n value?: string;\n min?: string;\n max?: string;\n testId?: string;\n onChange: (details: GoabCalendarOnChangeDetail) => void;\n}\n\nexport function GoabCalendar({\n min,\n max,\n onChange,\n name,\n ...rest\n}: GoabCalendarProps): 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 {..._props}\n />\n );\n}\n\nexport default GoabCalendar;\n","import {\n GoabCalloutAriaLive,\n GoabCalloutSize,\n GoabCalloutType,\n GoabCalloutIconTheme,\n Margins, DataAttributes,\n} from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../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 testid?: string;\n}\n\nexport interface GoabCalloutProps extends Margins, DataAttributes {\n heading?: string;\n type?: GoabCalloutType;\n size?: GoabCalloutSize;\n iconTheme?: GoabCalloutIconTheme;\n maxWidth?: string;\n testId?: string;\n ariaLive?: GoabCalloutAriaLive;\n children?: React.ReactNode;\n}\n\nexport const GoabCallout = ({\n type = \"information\",\n iconTheme = \"outline\",\n size = \"large\",\n ariaLive = \"off\",\n children,\n ...rest\n}: GoabCalloutProps) => {\n const _props = transformProps<WCProps>(\n { type, icontheme: iconTheme, size, arialive: ariaLive, ...rest },\n lowercase\n );\n\n return (\n <goa-callout {..._props}>\n {children}\n </goa-callout>\n );\n};\n\nexport default GoabCallout;\n","import { DataAttributes, GoabCheckboxOnChangeDetail, Margins } from \"@abgov/ui-components-common\";\nimport { useEffect, useRef, type JSX } from \"react\";\nimport { transformProps, lowercase } from \"../common/extract-props\";\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}\n\n/* eslint-disable-next-line */\nexport interface GoabCheckboxProps 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 onChange?: (detail: GoabCheckboxOnChangeDetail) => void;\n}\n\n// legacy\nexport type Props = GoabCheckboxProps;\n\nexport function GoabCheckbox({\n error,\n checked,\n indeterminate,\n disabled,\n value,\n description,\n reveal,\n onChange,\n name,\n children,\n ...rest\n}: GoabCheckboxProps): 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 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 >\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 GoabCheckbox;\n","import {\n GoabCheckboxListOnChangeDetail,\n Margins\n} from \"@abgov/ui-components-common\";\nimport { useEffect, useRef, type JSX } from \"react\";\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-checkbox-list\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\ninterface WCProps extends Margins {\n ref: React.RefObject<HTMLElement | null>;\n name: string;\n value?: string[];\n disabled?: string;\n error?: string;\n testid?: string;\n maxwidth?: string;\n}\n\nexport interface GoabCheckboxListProps extends Margins {\n name: string;\n value?: string[];\n disabled?: boolean;\n error?: boolean;\n testId?: string;\n maxWidth?: string;\n children?: React.ReactNode;\n onChange?: (detail: GoabCheckboxListOnChangeDetail) => void;\n}\n\nexport function GoabCheckboxList({\n name,\n value = [],\n disabled,\n error,\n testId,\n maxWidth,\n children,\n onChange,\n mt,\n mr,\n mb,\n ml,\n}: GoabCheckboxListProps): JSX.Element {\n const el = useRef<HTMLElement>(null);\n\n useEffect(() => {\n if (!el.current) return;\n\n const current = el.current;\n const listener = (e: Event) => {\n try {\n const detail = (e as CustomEvent<GoabCheckboxListOnChangeDetail>).detail;\n onChange?.({ ...detail, event: e });\n } catch (error) {\n console.error(\"Error handling checkbox list change:\", error);\n }\n };\n\n try {\n current.addEventListener(\"_change\", listener);\n } catch (error) {\n console.error(\"Failed to attach checkbox list listener:\", error);\n }\n\n return () => {\n try {\n current.removeEventListener(\"_change\", listener);\n } catch (error) {\n console.error(\"Failed to remove checkbox list listener:\", error);\n }\n };\n }, [onChange]);\n\n return (\n <goa-checkbox-list\n ref={el}\n name={name}\n value={value}\n disabled={disabled ? \"true\" : undefined}\n error={error ? \"true\" : undefined}\n testid={testId}\n maxwidth={maxWidth}\n mt={mt}\n mr={mr}\n mb={mb}\n ml={ml}\n >\n {children}\n </goa-checkbox-list>\n );\n}\n\nexport default GoabCheckboxList;\n","import { DataAttributes, GoabChipTheme, GoabChipVariant, Margins } from \"@abgov/ui-components-common\";\nimport { useEffect, useRef } from \"react\";\nimport { transformProps, lowercase } from \"../common/extract-props\";\n\ninterface WCProps extends Margins {\n leadingicon?: string;\n icontheme?: GoabChipTheme;\n error?: string;\n deletable?: string;\n content: string;\n variant?: GoabChipVariant;\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-chip\": WCProps & React.HTMLAttributes<HTMLElement> & {\n ref: React.RefObject<HTMLElement | null>;\n };\n }\n }\n}\n\nexport interface GoabChipProps extends Margins, DataAttributes {\n onClick?: () => void;\n deletable?: boolean;\n leadingIcon?: string;\n iconTheme?: GoabChipTheme;\n error?: boolean;\n content: string;\n variant?: GoabChipVariant;\n testId?: string;\n}\n\nexport const GoabChip = ({\n error,\n deletable,\n onClick,\n ...rest\n}: GoabChipProps) => {\n const el = useRef<HTMLElement>(null);\n\n const _props = transformProps<WCProps>(rest, lowercase);\n\n useEffect(() => {\n if (!el.current) return;\n if (!onClick) 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-chip\n ref={el}\n error={error ? \"true\" : undefined}\n deletable={deletable ? \"true\" : undefined}\n {..._props}\n />\n );\n};\n\nexport default GoabChip;\n","import {\n GoabCircularProgressSize,\n GoabCircularProgressVariant,\n} from \"@abgov/ui-components-common\";\n\ninterface WCProps {\n variant?: GoabCircularProgressVariant;\n size?: GoabCircularProgressSize;\n message?: string;\n visible?: string;\n progress?: number;\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-circular-progress\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabCircularProgressProps {\n variant?: GoabCircularProgressVariant;\n size?: GoabCircularProgressSize;\n message?: string;\n visible?: boolean;\n progress?: number;\n testId?: string;\n}\n\nexport const GoabCircularProgress = ({\n visible,\n message,\n progress,\n variant,\n size,\n testId,\n}: GoabCircularProgressProps) => {\n return (\n <goa-circular-progress\n visible={visible ? \"true\" : undefined}\n message={message}\n progress={progress}\n variant={variant}\n size={size}\n testid={testId}\n />\n );\n};\n\nexport default GoabCircularProgress;\n","import {\n GoabContainerAccent,\n GoabContainerPadding,\n GoabContainerType,\n GoabContainerWidth,\n Margins, DataAttributes,\n} from \"@abgov/ui-components-common\";\nimport { ReactNode, type JSX } from \"react\";\nimport { transformProps, lowercase } from \"../common/extract-props\";\n\ninterface WCProps extends Margins {\n type?: GoabContainerType;\n accent?: GoabContainerAccent;\n padding?: GoabContainerPadding;\n width?: GoabContainerWidth;\n maxwidth?: string;\n minheight?: string;\n maxheight?: 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-container\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabContainerProps extends Margins, DataAttributes {\n accent?: GoabContainerAccent;\n type?: GoabContainerType;\n heading?: ReactNode;\n title?: ReactNode;\n padding?: GoabContainerPadding;\n actions?: ReactNode;\n children?: ReactNode;\n width?: GoabContainerWidth;\n maxWidth?: string;\n minHeight?: string;\n maxHeight?: string;\n testId?: string;\n}\n\nexport function GoabContainer({\n heading,\n title,\n actions,\n children,\n ...rest\n}: GoabContainerProps): JSX.Element {\n const _props = transformProps<WCProps>(rest, lowercase);\n\n const headingContent = heading || title;\n\n return (\n <goa-container {..._props}>\n {headingContent && <div slot=\"title\">{headingContent}</div>}\n {children}\n {actions && <div slot=\"actions\">{actions}</div>}\n </goa-container>\n );\n}\n\nexport default GoabContainer;\n","import React from \"react\";\n\ninterface WCProps {\n \"keyboard-icon-visibility\"?: \"visible\" | \"hidden\";\n \"keyboard-icon-position\"?: \"left\" | \"right\";\n \"keyboard-nav\"?: \"layout\" | \"table\";\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-data-grid\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabDataGridProps {\n keyboardIconVisibility?: \"visible\" | \"hidden\";\n keyboardIconPosition?: \"left\" | \"right\";\n keyboardNav: \"layout\" | \"table\";\n children?: React.ReactNode;\n}\n\nexport function GoabDataGrid({\n keyboardIconVisibility = \"visible\",\n keyboardIconPosition = \"left\",\n keyboardNav,\n children,\n}: GoabDataGridProps) {\n return (\n <goa-data-grid\n keyboard-icon-visibility={keyboardIconVisibility}\n keyboard-icon-position={keyboardIconPosition}\n keyboard-nav={keyboardNav}\n >\n {children}\n </goa-data-grid>\n );\n}\n\nexport default GoabDataGrid;\n","import { useEffect, useRef, type JSX } from \"react\";\nimport {\n GoabDatePickerInputType,\n GoabDatePickerOnChangeDetail,\n Margins, DataAttributes,\n} from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../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}\n\nexport interface GoabDatePickerProps 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 onChange?: (detail: GoabDatePickerOnChangeDetail) => void;\n}\n\nexport function GoabDatePicker({\n value,\n error,\n min,\n max,\n disabled,\n relative,\n onChange,\n ...rest\n}: GoabDatePickerProps): 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(\"Using a `Date` type for value is deprecated. Instead use a string of the format `yyyy-mm-dd`\")\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 {..._props}\n />\n );\n}\n\nexport default GoabDatePicker;\n","import { Margins, DataAttributes } from \"@abgov/ui-components-common\";\nimport { ReactNode } from \"react\";\nimport { transformProps, lowercase } from \"../common/extract-props\";\n\ninterface WCProps extends Margins {\n heading: string;\n open?: string;\n maxwidth?: 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-details\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\n/* eslint-disable-next-line */\nexport interface GoabDetailsProps extends Margins, DataAttributes {\n heading: string;\n open?: boolean;\n maxWidth?: string;\n testId?: string;\n children: ReactNode;\n}\n\nexport function GoabDetails({\n open,\n children,\n ...rest\n}: GoabDetailsProps) {\n const _props = transformProps<WCProps>(rest, lowercase);\n\n return (\n <goa-details\n open={open ? \"true\" : undefined}\n {..._props}\n >\n {children}\n </goa-details>\n );\n}\n\nexport default GoabDetails;\n","import { Margins } from \"@abgov/ui-components-common\";\n\ninterface WCProps extends Margins {\n testid?: string;\n}\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-divider\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabDividerProps extends Margins {\n testId?: string;\n}\n\nexport function GoabDivider(props: GoabDividerProps) {\n return (\n <goa-divider\n mt={props.mt}\n mr={props.mr}\n mb={props.mb}\n ml={props.ml}\n testid={props.testId}\n />\n );\n}\n\nexport default GoabDivider;\n","import { ReactNode, useEffect, useRef, type JSX } from \"react\";\nimport { GoabDrawerPosition, GoabDrawerSize } from \"@abgov/ui-components-common\";\n\nexport interface GoabDrawerProps {\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}\n\nexport function GoabDrawer({\n position,\n open,\n heading,\n maxSize,\n testId,\n actions,\n children,\n onClose,\n}: GoabDrawerProps): 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 >\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 GoabDrawer;\n","import {\n GoabDropdownOnChangeDetail,\n GoabIconType,\n Margins, DataAttributes,\n} from \"@abgov/ui-components-common\";\nimport { useEffect, useRef, type JSX } from \"react\";\nimport { transformProps, lowercase } from \"../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}\n\nexport interface GoabDropdownProps 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 /***\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 GoabDropdown({\n value,\n onChange,\n disabled,\n error,\n filterable,\n multiselect,\n native,\n relative,\n children,\n ...rest\n}: GoabDropdownProps): 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 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 >\n {children}\n </goa-dropdown>\n );\n}\n\nexport default GoabDropdown;\n","import { useEffect } from \"react\";\nimport { GoabDropdownItemMountType } from \"@abgov/ui-components-common\";\n\nexport interface GoabDropdownItemProps {\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 GoabDropdownOption(props: GoabDropdownItemProps) {\n useEffect(() => {\n console.warn(\"GoabDropdownOption is deprecated. Please use GoabDropdownItem\");\n }, []);\n\n return <GoabDropdownItem {...props} />;\n}\n\nexport function GoabDropdownItem({\n value,\n label,\n filter,\n name,\n mountType = \"append\",\n}: GoabDropdownItemProps) {\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 \"../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}\n\n/* eslint-disable-next-line */\nexport interface GoabFileUploadCardProps 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}\n\nexport function GoabFileUploadCard({\n onDelete,\n onCancel,\n filename,\n ...rest\n}: GoabFileUploadCardProps) {\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 (\n <goa-file-upload-card ref={el} {..._props} />\n );\n}\n\nexport default GoabFileUploadCard;\n","import {\n DataAttributes,\n GoabFileUploadInputOnSelectFileDetail,\n GoabFileUploadInputVariant,\n} from \"@abgov/ui-components-common\";\nimport { useEffect, useRef } from \"react\";\nimport { transformProps, lowercase } from \"../common/extract-props\";\n\ninterface WCProps {\n variant?: GoabFileUploadInputVariant;\n accept?: string;\n maxfilesize?: string;\n testid?: string;\n}\n\n/* eslint-disable-next-line */\nexport interface GoabFileUploadInputProps extends DataAttributes {\n variant?: GoabFileUploadInputVariant;\n accept?: string;\n maxFileSize?: string;\n testId?: string;\n onSelectFile: (detail: GoabFileUploadInputOnSelectFileDetail) => void;\n}\n\nexport function GoabFileUploadInput({\n onSelectFile,\n ...rest\n}: GoabFileUploadInputProps) {\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} />\n );\n}\n\nexport default GoabFileUploadInput;\n","import { ReactNode, type JSX } from \"react\";\nimport { DataAttributes } from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../common/extract-props\";\n\ninterface WCProps {\n maxcontentwidth?: string;\n testid?: string;\n url?: string;\n}\n\n/* eslint-disable-next-line */\nexport interface GoabAppFooterProps extends DataAttributes {\n maxContentWidth?: string;\n children?: ReactNode;\n testId?: string;\n url?: string;\n}\n\n// legacy name\nexport type FooterProps = GoabAppFooterProps;\n\nexport function GoabAppFooter({\n children,\n ...rest\n}: GoabAppFooterProps): JSX.Element {\n const _props = transformProps<WCProps>(rest, lowercase);\n\n return (\n <goa-app-footer {..._props}>\n {children}\n </goa-app-footer>\n );\n}\n\nexport default GoabAppFooter;\n","import { ReactNode } from \"react\";\nimport { DataAttributes } from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../common/extract-props\";\n\ninterface WCProps {\n testid?: string;\n}\n\n/* eslint-disable-next-line */\nexport interface GoabAppFooterMetaSectionProps extends DataAttributes {\n testId?: string;\n children?: ReactNode;\n}\n\nexport function GoabAppFooterMetaSection({\n children,\n ...rest\n}: GoabAppFooterMetaSectionProps) {\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 GoabAppFooterMetaSection;\n","import { ReactNode } from \"react\";\nimport { DataAttributes } from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../common/extract-props\";\n\ninterface WCProps {\n maxcolumncount?: number;\n heading?: string;\n testid?: string;\n}\n\n/* eslint-disable-next-line */\nexport interface GoabFooterNavSectionProps extends DataAttributes {\n maxColumnCount?: number;\n heading?: string;\n testId?: string;\n children?: ReactNode;\n}\n\nexport function GoabAppFooterNavSection({\n children,\n ...rest\n}: GoabFooterNavSectionProps) {\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 GoabAppFooterNavSection;\n","import { ReactNode, useEffect, useRef, type JSX } from \"react\";\nimport {\n DataAttributes,\n GoabFieldsetOnContinueDetail,\n GoabFormDispatchOn,\n} from \"@abgov/ui-components-common\";\nimport { transformProps, kebab } from \"../common/extract-props\";\n\ninterface WCProps {\n id?: string;\n \"section-title\"?: string;\n \"dispatch-on\"?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-fieldset\": WCProps & React.HTMLAttributes<HTMLElement> & {\n ref: React.RefObject<HTMLElement | null>;\n };\n }\n }\n}\n\ninterface GoabFieldsetProps extends DataAttributes {\n id?: string;\n sectionTitle?: string;\n dispatchOn?: GoabFormDispatchOn;\n onContinue?: (event: GoabFieldsetOnContinueDetail) => void;\n children: ReactNode;\n}\n\nexport function GoabFieldset({\n onContinue,\n children,\n ...rest\n}: GoabFieldsetProps): JSX.Element {\n const ref = useRef<HTMLElement>(null);\n\n const _props = transformProps<WCProps>(rest, kebab);\n\n useEffect(() => {\n if (!ref.current) return;\n const current = ref.current;\n\n const continueListener = (e: Event) => {\n const event = (e as CustomEvent<GoabFieldsetOnContinueDetail>).detail;\n return onContinue?.(event);\n };\n\n if (onContinue) {\n current.addEventListener(\"_continue\", continueListener);\n }\n\n return () => {\n if (onContinue) {\n current.removeEventListener(\"_continue\", continueListener);\n }\n };\n }, [ref, onContinue]);\n\n return (\n <goa-fieldset ref={ref} {..._props}>\n {children}\n </goa-fieldset>\n );\n}\n\nexport default GoabFieldset;\n","import { ReactNode, useEffect, useRef } from \"react\";\nimport {\n GoabPublicFormPageButtonVisibility,\n GoabPublicFormPageStep,\n Margins, DataAttributes,\n} from \"@abgov/ui-components-common\";\nimport { transformProps, kebab } from \"../common/extract-props\";\n\ninterface WCProps extends Margins {\n id?: string;\n heading?: string;\n \"sub-heading\"?: string;\n \"section-title\"?: string;\n \"back-url\"?: string;\n type?: string;\n \"button-text\"?: string;\n \"button-visibility\"?: string;\n \"summary-heading\"?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-public-form-page\": WCProps & React.HTMLAttributes<HTMLElement> & {\n ref: React.RefObject<HTMLElement | null>;\n };\n }\n }\n}\n\ninterface GoabPublicFormPageProps extends Margins, DataAttributes {\n id?: string;\n heading?: string;\n subHeading?: string;\n summaryHeading?: string;\n sectionTitle?: string;\n backUrl?: string;\n type?: GoabPublicFormPageStep;\n buttonText?: string;\n buttonVisibility?: GoabPublicFormPageButtonVisibility;\n /**\n * Triggered when the form page continues to the next step\n * @param event - The continue event details\n */\n onContinue?: (event: Event) => void;\n children: ReactNode;\n}\n\nexport function GoabPublicFormPage({\n onContinue,\n children,\n ...rest\n}: GoabPublicFormPageProps) {\n const ref = useRef<HTMLElement>(null);\n\n const _props = transformProps<WCProps>(rest, kebab);\n\n useEffect(() => {\n if (!ref.current) return;\n const current = ref.current;\n\n const continueListener = (e: Event) => {\n onContinue?.(e);\n };\n\n if (onContinue) {\n current.addEventListener(\"_continue\", continueListener);\n }\n\n return () => {\n if (onContinue) {\n current.removeEventListener(\"_continue\", continueListener);\n }\n };\n }, [ref, onContinue]);\n\n return (\n <goa-public-form-page ref={ref} {..._props}>\n {children}\n </goa-public-form-page>\n );\n}\n\nexport default GoabPublicFormPage;\n","import { DataAttributes } from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../common/extract-props\";\n\ninterface WCProps {\n heading?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-public-form-summary\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\ninterface GoabPublicFormSummaryProps extends DataAttributes {\n heading?: string;\n}\n\nexport function GoabPublicFormSummary({\n heading = \"\",\n ...rest\n}: GoabPublicFormSummaryProps) {\n const _props = transformProps<WCProps>(\n { heading, ...rest },\n lowercase\n );\n\n return (\n <goa-public-form-summary {..._props} />\n );\n}\n\nexport default GoabPublicFormSummary;\n","import { ReactNode, useRef, useLayoutEffect } from \"react\";\n\nimport {\n DataAttributes,\n GoabFormState,\n GoabPublicFormStatus,\n} from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../common/extract-props\";\n\ninterface WCProps {\n status?: string;\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-public-form\": WCProps & React.HTMLAttributes<HTMLElement> & {\n ref: React.RefObject<HTMLElement | null>;\n };\n }\n }\n}\n\ninterface GoabPublicFormProps extends DataAttributes {\n status?: GoabPublicFormStatus;\n name?: string;\n onInit?: (event: Event) => void;\n onComplete?: (event: GoabFormState) => void;\n onStateChange?: (event: GoabFormState) => void;\n children: ReactNode;\n}\n\nexport function GoabPublicForm({\n onInit,\n onComplete,\n onStateChange,\n children,\n ...rest\n}: GoabPublicFormProps) {\n const ref = useRef<HTMLElement>(null);\n const initialized = useRef(false);\n\n const _props = transformProps<WCProps>(rest, lowercase);\n\n // Use useLayoutEffect to set up listeners before the component mounts\n useLayoutEffect(() => {\n if (!ref.current) return;\n const current = ref.current;\n\n const initListener = (e: Event) => {\n onInit?.(e);\n };\n\n // First time initialization, add init listener immediately\n if (onInit && !initialized.current) {\n current.addEventListener(\"_init\", initListener);\n }\n\n const completeListener = (e: Event) => {\n const detail = (e as CustomEvent).detail;\n onComplete?.(detail);\n };\n\n const stateChangeListener = (e: Event) => {\n const detail = (e as CustomEvent).detail;\n onStateChange?.(detail.data);\n };\n\n if (onComplete) {\n current.addEventListener(\"_complete\", completeListener);\n }\n\n if (onStateChange) {\n current.addEventListener(\"_stateChange\", stateChangeListener);\n }\n\n return () => {\n if (onInit) {\n current.removeEventListener(\"_init\", initListener);\n }\n if (onComplete) {\n current.removeEventListener(\"_complete\", completeListener);\n }\n if (onStateChange) {\n current.removeEventListener(\"_stateChange\", stateChangeListener);\n }\n };\n }, [onInit, onComplete, onStateChange]);\n\n return (\n <goa-public-form ref={ref} {..._props}>\n {children}\n </goa-public-form>\n );\n}\n\nexport default GoabPublicForm;\n","import { ReactNode, useEffect, useRef } from \"react\";\nimport { Margins, DataAttributes } from \"@abgov/ui-components-common\";\nimport { transformProps, kebab } from \"../common/extract-props\";\n\ninterface WCProps extends Margins {\n id?: string;\n name?: string;\n \"continue-msg\"?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-public-subform\": WCProps & React.HTMLAttributes<HTMLElement> & {\n ref: React.RefObject<HTMLElement | null>;\n };\n }\n }\n}\n\ninterface GoabPublicSubformProps extends Margins, DataAttributes {\n id?: string;\n name?: string;\n continueMsg?: string;\n onInit?: (event: Event) => void;\n onStateChange?: (event: Event) => void;\n children: ReactNode;\n}\n\nexport function GoabPublicSubform({\n id = \"\",\n name = \"\",\n continueMsg = \"\",\n onInit,\n onStateChange,\n children,\n ...rest\n}: GoabPublicSubformProps) {\n const ref = useRef<HTMLElement>(null);\n\n const _props = transformProps<WCProps>(\n { id, name, \"continue-msg\": continueMsg, ...rest },\n kebab\n );\n\n useEffect(() => {\n if (!ref.current) return;\n const current = ref.current;\n\n const initListener = (e: Event) => {\n onInit?.(e);\n };\n\n const stateChangeListener = (e: Event) => {\n onStateChange?.(e);\n };\n\n if (onInit) {\n current.addEventListener(\"_init\", initListener);\n }\n if (onStateChange) {\n current.addEventListener(\"_stateChange\", stateChangeListener);\n }\n\n return () => {\n if (onInit) {\n current.removeEventListener(\"_init\", initListener);\n }\n if (onStateChange) {\n current.removeEventListener(\"_stateChange\", stateChangeListener);\n }\n };\n }, [ref, onInit, onStateChange]);\n\n return (\n <goa-public-subform ref={ref} {..._props}>\n {children}\n </goa-public-subform>\n );\n}\n\nexport default GoabPublicSubform;\n","import { ReactNode } from \"react\";\nimport { Margins, DataAttributes } from \"@abgov/ui-components-common\";\nimport { transformProps, kebab } from \"../common/extract-props\";\n\ninterface WCProps extends Margins {\n heading?: string;\n \"section-title\"?: string;\n \"action-button-text\"?: string;\n \"button-visibility\"?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-public-subform-index\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\ninterface GoabPublicSubformIndexProps extends Margins, DataAttributes {\n heading?: string;\n sectionTitle?: string;\n actionButtonText?: string;\n buttonVisibility?: \"visible\" | \"hidden\";\n children: ReactNode;\n}\n\nexport function GoabPublicSubformIndex({\n heading = \"\",\n sectionTitle = \"\",\n actionButtonText = \"\",\n buttonVisibility = \"hidden\",\n children,\n ...rest\n}: GoabPublicSubformIndexProps) {\n const _props = transformProps<WCProps>(\n { heading, \"section-title\": sectionTitle, \"action-button-text\": actionButtonText, \"button-visibility\": buttonVisibility, ...rest },\n kebab\n );\n\n return (\n <goa-public-subform-index slot=\"subform-index\" {..._props}>\n {children}\n </goa-public-subform-index>\n );\n}\n\nexport default GoabPublicSubformIndex;\n","import { ReactNode } from \"react\";\nimport { DataAttributes, GoabPublicFormTaskStatus } from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../common/extract-props\";\n\ninterface WCProps {\n status?: GoabPublicFormTaskStatus;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-public-form-task\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\ninterface GoabPublicFormTaskProps extends DataAttributes {\n status?: GoabPublicFormTaskStatus;\n children: ReactNode;\n}\n\nexport function GoabPublicFormTask({\n status = \"cannot-start\",\n children,\n ...rest\n}: GoabPublicFormTaskProps) {\n const _props = transformProps<WCProps>(\n { status, ...rest },\n lowercase\n );\n\n return <goa-public-form-task {..._props}>{children}</goa-public-form-task>;\n}\n\nexport default GoabPublicFormTask;\n","import { ReactNode } from \"react\";\nimport { Margins, DataAttributes } from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../common/extract-props\";\n\ninterface WCProps extends Margins {\n heading?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-public-form-task-list\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\ninterface GoabPublicFormTaskListProps extends Margins, DataAttributes {\n heading?: string;\n children: ReactNode;\n}\n\nexport function GoabPublicFormTaskList({\n children,\n ...rest\n}: GoabPublicFormTaskListProps) {\n const _props = transformProps<WCProps>(rest, lowercase);\n\n return (\n <goa-public-form-task-list {..._props}>\n {children}\n </goa-public-form-task-list>\n );\n}\n\nexport default GoabPublicFormTaskList;\n","import {\n GoabFormItemLabelSize,\n GoabFormItemRequirement,\n Margins, DataAttributes,\n} from \"@abgov/ui-components-common\";\n\nimport type { JSX } from \"react\";\nimport { transformProps, lowercase } from \"../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}\n\nexport interface GoabFormItemProps 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 /**\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 GoabFormItem({\n error,\n helpText,\n publicFormSummaryOrder,\n children,\n ...rest\n}: GoabFormItemProps): JSX.Element {\n const _props = transformProps<WCProps>(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 >\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 GoabFormItem;\n","import { GoabFormStepStatus } from \"@abgov/ui-components-common\";\n\ninterface WCProps {\n text: string;\n status?: GoabFormStepStatus;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-form-step\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabFormStepProps {\n text: string;\n status?: GoabFormStepStatus;\n}\n\nexport function GoabFormStep(props: GoabFormStepProps) {\n return <goa-form-step text={props.text} status={props.status} />;\n}\n\nexport default GoabFormStep;\n","import { GoabFormStepperOnChangeDetail, Margins } from \"@abgov/ui-components-common\";\nimport { ReactNode, useEffect, useRef } from \"react\";\n\ninterface WCProps extends Margins {\n ref?: React.RefObject<HTMLElement | null>;\n step?: number;\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-form-stepper\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabFormStepperProps extends Margins {\n step?: number;\n testId?: string;\n children?: ReactNode;\n onChange?: (detail: GoabFormStepperOnChangeDetail) => void;\n}\n\nexport function GoabFormStepper({\n testId,\n step,\n mt,\n mb,\n ml,\n mr,\n onChange,\n children,\n}: GoabFormStepperProps) {\n const ref = useRef<HTMLInputElement>(null);\n useEffect(() => {\n if (!ref.current) {\n return;\n }\n const current = ref.current;\n const changeListener = (e: unknown) => {\n const detail = (e as CustomEvent<GoabFormStepperOnChangeDetail>).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-form-stepper\n ref={ref}\n testid={testId}\n step={step}\n mt={mt}\n mr={mr}\n mb={mb}\n ml={ml}\n >\n {children}\n </goa-form-stepper>\n );\n}\n\nexport default GoabFormStepper;\n","import { Margins, Spacing } from \"@abgov/ui-components-common\";\n\nimport type { JSX } from \"react\";\n\ninterface WCProps extends Margins {\n gap?: Spacing;\n minchildwidth: 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-grid\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabGridProps extends Margins {\n gap?: Spacing;\n minChildWidth: string;\n testId?: string;\n children?: React.ReactNode;\n}\n\nexport function GoabGrid({\n gap,\n minChildWidth,\n mt,\n mr,\n mb,\n ml,\n testId,\n children,\n}: GoabGridProps): JSX.Element {\n return (\n <goa-grid\n gap={gap}\n minchildwidth={minChildWidth}\n mt={mt}\n mr={mr}\n mb={mb}\n ml={ml}\n testid={testId}\n >\n {children}\n </goa-grid>\n );\n}\n\nexport default GoabGrid;\n","import type { JSX } from \"react\";\ninterface WCProps {\n heading: string;\n backgroundurl?: string;\n minheight?: string;\n maxcontentwidth?: string;\n backgroundcolor?: string;\n textcolor?: 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-hero-banner\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabHeroBannerProps {\n heading: string;\n backgroundUrl?: string;\n minHeight?: string;\n testId?: string;\n children?: React.ReactNode;\n maxContentWidth?: string;\n backgroundColor?: string;\n textColor?: string;\n}\n\nexport function GoabHeroBanner({\n heading,\n backgroundUrl,\n minHeight,\n maxContentWidth,\n backgroundColor,\n textColor,\n children,\n testId,\n}: GoabHeroBannerProps): JSX.Element {\n return (\n <goa-hero-banner\n heading={heading}\n backgroundurl={backgroundUrl}\n minheight={minHeight}\n maxcontentwidth={maxContentWidth}\n backgroundcolor={backgroundColor}\n textcolor={textColor}\n testid={testId}\n >\n {children}\n </goa-hero-banner>\n );\n}\n\nexport default GoabHeroBanner;\n","import type { JSX } from \"react\";\nexport type GoabHeroBannerActionsType = {\n children?: React.ReactNode;\n};\n\nexport function GoabHeroBannerActions({\n children,\n}: GoabHeroBannerActionsType): JSX.Element {\n return <div slot=\"actions\">{children}</div>;\n}\n\nexport default GoabHeroBannerActions;\n","import {\n GoabIconButtonVariant,\n GoabIconSize,\n GoabIconType,\n Margins, DataAttributes,\n} from \"@abgov/ui-components-common\";\nimport { useEffect, useRef, type JSX, ReactNode } from \"react\";\nimport { transformProps, lowercase } from \"../common/extract-props\";\n\ninterface WCProps extends Margins {\n icon: GoabIconType;\n size?: GoabIconSize;\n variant?: GoabIconButtonVariant;\n title?: string;\n disabled?: string;\n arialabel?: string;\n action?: string;\n actionArgs?: string;\n actionArg?: 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-icon-button\": WCProps & React.HTMLAttributes<HTMLButtonElement> & {\n ref: React.RefObject<HTMLElement | null>;\n };\n }\n }\n}\n\nexport interface GoabIconButtonProps extends Margins, DataAttributes {\n icon: GoabIconType;\n size?: GoabIconSize;\n variant?: GoabIconButtonVariant;\n title?: string;\n disabled?: boolean;\n onClick?: () => void;\n testId?: string;\n ariaLabel?: string;\n action?: string;\n actionArgs?: Record<string, unknown>;\n actionArg?: string;\n children?: ReactNode;\n}\n\nexport function GoabIconButton({\n variant = \"color\",\n size = \"medium\",\n disabled,\n onClick,\n actionArgs,\n actionArg,\n children,\n ...rest\n}: GoabIconButtonProps): JSX.Element {\n const ref = useRef<HTMLElement>(null);\n\n const _props = transformProps<WCProps>(\n { variant, size, ...rest },\n lowercase\n );\n\n useEffect(() => {\n if (!ref.current) {\n return;\n }\n if (!onClick) {\n return;\n }\n const current = ref.current;\n const listener = () => {\n onClick?.();\n };\n\n current.addEventListener(\"_click\", listener);\n return () => {\n current.removeEventListener(\"_click\", listener);\n };\n }, [ref, onClick]);\n\n return (\n <goa-icon-button\n ref={ref}\n disabled={disabled ? \"true\" : undefined}\n action-arg={actionArg}\n action-args={JSON.stringify(actionArgs)}\n {..._props}\n >\n {children}\n </goa-icon-button>\n );\n}\n","import {\n GoabIconOverridesType,\n GoabIconSize,\n GoabIconTheme,\n GoabIconType,\n Margins, DataAttributes,\n} from \"@abgov/ui-components-common\";\n\nimport type { JSX } from \"react\";\nimport { transformProps, lowercase } from \"../common/extract-props\";\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\ninterface IonIconElement extends HTMLElement {}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-icon\": WCProps & React.HTMLAttributes<IonIconElement>;\n }\n }\n}\n\nexport interface GoabIconProps extends Margins, DataAttributes {\n type: GoabIconType | GoabIconOverridesType;\n size?: GoabIconSize;\n theme?: GoabIconTheme;\n inverted?: string | boolean; // TODO: Change type to only boolean\n fillColor?: string;\n opacity?: number;\n title?: string;\n ariaLabel?: string;\n testId?: string;\n}\n\ninterface WCProps extends Margins {\n type: GoabIconType | GoabIconOverridesType;\n theme?: GoabIconTheme;\n size?: GoabIconSize;\n inverted?: string;\n fillcolor?: string;\n opacity?: number;\n title?: string;\n arialabel?: string;\n testid?: string;\n}\n\nexport function GoabIcon({\n inverted,\n ...rest\n}: GoabIconProps): JSX.Element {\n const _props = transformProps<WCProps>(rest, lowercase);\n\n return (\n <goa-icon\n inverted={\n typeof inverted === \"boolean\" ? (inverted ? \"true\" : undefined) : inverted\n }\n {..._props}\n />\n );\n}\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 GoabInputType,\n Margins, DataAttributes,\n} from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../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\n // type=number\n min?: string | number;\n max?: string | number;\n step?: number;\n maxlength?: number;\n\n trailingiconarialabel?: string;\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}\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 GoabInputProps 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 GoabNumberInputProps 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 GoabDateInputProps 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 GoabInput({\n variant = \"goa\",\n textAlign = \"left\",\n focused,\n disabled,\n readonly,\n error,\n leadingContent,\n trailingContent,\n onTrailingIconClick,\n onChange,\n onFocus,\n onBlur,\n onKeyPress,\n ...rest\n}: GoabInputProps & { type?: GoabInputType }): JSX.Element {\n const ref = useRef<HTMLInputElement>(null);\n\n const _props = transformProps<WCProps>({ variant, textalign: textAlign, ...rest }, lowercase);\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 >\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 GoabInputText(props: GoabInputProps): JSX.Element {\n return <GoabInput {...props} type=\"text\" />;\n}\n\nexport function GoabInputPassword(props: GoabInputProps): JSX.Element {\n return <GoabInput {...props} type=\"password\" />;\n}\n\nexport function GoabInputDate({\n value,\n min = \"\",\n max = \"\",\n ...props\n}: GoabDateInputProps): JSX.Element {\n return (\n <GoabInput\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 GoabInputTime({\n value,\n min = \"\",\n max = \"\",\n ...props\n}: GoabInputProps): JSX.Element {\n return (\n <GoabInput\n {...props}\n onChange={onTimeChangeHandler(props.onChange)}\n value={value}\n type=\"time\"\n />\n );\n}\n\nexport function GoabInputDateTime({\n value,\n min = \"\",\n max = \"\",\n ...props\n}: GoabDateInputProps): JSX.Element {\n return (\n <GoabInput\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 GoabInputEmail(props: GoabInputProps): JSX.Element {\n return <GoabInput {...props} type=\"email\" />;\n}\n\nexport function GoabInputSearch(props: GoabInputProps): JSX.Element {\n return <GoabInput {...props} type=\"search\" trailingIcon=\"search\" />;\n}\n\nexport function GoabInputUrl(props: GoabInputProps): JSX.Element {\n return <GoabInput {...props} type=\"url\" />;\n}\n\nexport function GoabInputTel(props: GoabInputProps): JSX.Element {\n return <GoabInput {...props} type=\"tel\" />;\n}\n\nexport function GoabInputFile(props: GoabInputProps): 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 GoabInputMonth(props: GoabInputProps): JSX.Element {\n return <GoabInput {...props} type=\"month\" />;\n}\n\nexport function GoabInputNumber({\n min = Number.MIN_VALUE,\n max = Number.MAX_VALUE,\n value,\n textAlign = \"right\",\n ...props\n}: GoabNumberInputProps): 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 <GoabInput\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 GoabInputRange(props: GoabInputProps): JSX.Element {\n return <GoabInput {...props} type=\"range\" />;\n}\n\nexport default GoabInput;\n","interface WCProps {\n testid?: string;\n progress?: number | null;\n percentVisibility?: \"visible\" | \"hidden\" | undefined;\n ariaLabel?: string;\n ariaLabelledBy?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-linear-progress\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabLinearProgressProps {\n progress?: number | null;\n percentVisibility?: \"visible\" | \"hidden\" | undefined;\n ariaLabel?: string;\n ariaLabelledBy?: string;\n testId?: string;\n}\n\nexport const GoabLinearProgress = ({\n progress,\n percentVisibility,\n ariaLabel,\n ariaLabelledBy,\n testId,\n}: GoabLinearProgressProps) => {\n return (\n <goa-linear-progress\n progress={progress}\n percent-visibility={percentVisibility}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n testid={testId}\n ></goa-linear-progress>\n );\n};\n\nexport default GoabLinearProgress;\n","import { ReactNode } from \"react\";\nimport { GoabIconType, Margins, DataAttributes } from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../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}\n\ninterface GoabLinkProps extends Margins, DataAttributes {\n leadingIcon?: GoabIconType;\n trailingIcon?: GoabIconType;\n action?: string;\n actionArgs?: Record<string, unknown>;\n actionArg?: string;\n testId?: string;\n children: ReactNode;\n}\n\nexport function GoabLink({\n actionArgs,\n actionArg,\n children,\n ...rest\n}: GoabLinkProps) {\n const _props = transformProps<WCProps>(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 GoabLink;\n","import { ReactNode } from \"react\";\nimport { DataAttributes, GoabIconType, GoabLinkButtonType, Margins } from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../common/extract-props\";\n\ninterface WCProps extends Margins {\n type?: GoabLinkButtonType;\n leadingicon?: GoabIconType;\n trailingicon?: GoabIconType;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-link-button\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\ninterface GoALinkButtonProps extends Margins, DataAttributes {\n type?: GoabLinkButtonType;\n leadingIcon?: GoabIconType;\n trailingIcon?: GoabIconType;\n children: ReactNode;\n}\n\nexport function GoALinkButton({\n type = \"primary\",\n children,\n ...rest\n}: GoALinkButtonProps) {\n const _props = transformProps<WCProps>(\n { type, ...rest },\n lowercase\n );\n\n return (\n <goa-link-button {..._props}>\n {children}\n </goa-link-button>\n );\n}\n\nexport default GoALinkButton;\n","/**\n * @module GoabMenuButton\n *\n * This module defines the `GoabMenuButton` React component and related types,\n * which wraps a Web Component (`goa-menu-button`) with enhanced functionality for React applications.\n * It also includes TypeScript interfaces for improved type checking and development experience.\n */\n\nimport { DataAttributes, GoabButtonType, GoabIconType, GoabMenuButtonOnActionDetail } from \"@abgov/ui-components-common\";\nimport { ReactNode, type JSX, useRef, useEffect } from \"react\";\nimport { transformProps, kebab } from \"../common/extract-props\";\n\n/**\n * Props definition for the `goab-menu-button` Web Component.\n * @typedef {Object} WCProps\n *\n * @property {string} text - The text label to be displayed on the button.\n * @property {GoabButtonType} type - The button type, e.g., \"primary\", \"secondary\", etc.\n * @property {GoaIconType} leadingIcon - Optional leading icon appearing within the button.\n * @property {string} [testid] - A test identifier for automated testing purposes.\n * @property {React.RefObject<HTMLElement | null>} ref - A reference object pointing to the Web Component's DOM element.\n */\ninterface WCProps {\n text: string;\n type: GoabButtonType;\n \"max-width\"?: string,\n \"leading-icon\"?: GoabIconType;\n testid?: string;\n ref: React.RefObject<HTMLElement | null>;\n}\n\n/**\n * Extends React's `JSX` namespace to include the custom `goa-menu-button` Web Component.\n * The `goa-menu-button` supports additional React-specific props.\n */\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-menu-button\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\n/**\n * Props for the `GoabMenuButton` React component.\n *\n * @typedef {Object} GoabMenuButtonProps\n *\n * @property {string} text - The text label to display on the button.\n * @property {GoabButtonType} [type=\"primary\"] - The button type, e.g., \"primary\", \"secondary\". Defaults to \"primary\".\n * @property {GoaIconType} leadingIcon - Optional leading icon appearing within the button.\n * @property {string} [testId] - A test identifier for automated testing purposes.\n * @property {Function} [onAction] - Callback function invoked when an action event is emitted by the component.\n * @property {ReactNode} [children] - Optional child elements to be rendered inside the button.\n */\nexport interface GoabMenuButtonProps extends DataAttributes {\n text: string;\n type?: GoabButtonType;\n maxWidth?: string;\n leadingIcon?: GoabIconType;\n testId?: string;\n onAction?: (detail: GoabMenuButtonOnActionDetail) => void;\n children?: ReactNode;\n}\n\n/**\n * A React wrapper component for the `goa-menu-button` Web Component.\n *\n * This component provides seamless integration of the Web Component into a React application, including React-specific props and event handling.\n *\n * @function GoabMenuButton\n * @param {GoabMenuButtonProps} props - The props for the component.\n *\n * @returns {JSX.Element} A JSX element wrapping the `goa-menu-button` Web Component.\n *\n * @example\n * ```tsx\n * <GoabMenuButton\n * text=\"Example Button\"\n * type=\"secondary\"\n * onAction={(action) => console.log(`Action: ${action}`)}\n * >\n * <GoabMenuAction text=\"Option 1\" action=\"option1\" />\n * <GoabMenuAction text=\"Option 2\" action=\"option2\" />\n * <GoabMenuAction text=\"Option 3\" action=\"option3\" />\n * </GoabMenuButton>\n * ```\n */\nexport function GoabMenuButton({\n type = \"primary\",\n testId,\n onAction,\n children,\n ...rest\n}: GoabMenuButtonProps): 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 // Event listener for the \"_action\" event emitted by the Web Component.\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 <goa-menu-button {..._props} ref={el}>\n {children}\n </goa-menu-button>\n );\n}\n\nexport default GoabMenuButton;\n","import { DataAttributes, GoabIconType } from \"@abgov/ui-components-common\";\nimport type { JSX } from \"react\";\nimport { transformProps, lowercase } from \"../common/extract-props\";\n\ninterface WCProps {\n text: string;\n action: 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-menu-action\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabMenuActionProps extends DataAttributes {\n text: string;\n action: string;\n icon?: GoabIconType;\n testId?: string;\n}\n\nexport function GoabMenuAction(props: GoabMenuActionProps): 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 GoabMenuAction;\n","import { GoabLinkTarget, GoabServiceLevel } from \"@abgov/ui-components-common\";\n\nimport { useEffect, useRef, type JSX } from \"react\";\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-microsite-header\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\ninterface WCProps {\n type: GoabServiceLevel;\n version?: string;\n feedbackurl?: string;\n maxcontentwidth?: string;\n feedbackurltarget?: GoabLinkTarget;\n headerurltarget?: GoabLinkTarget;\n hasfeedbackhandler?: string;\n ref: React.RefObject<HTMLElement | null>;\n testid?: string;\n}\n\nexport interface GoabHeaderProps {\n type: GoabServiceLevel;\n version?: string | React.ReactNode;\n feedbackUrl?: string;\n testId?: string;\n maxContentWidth?: string;\n feedbackUrlTarget?: GoabLinkTarget;\n headerUrlTarget?: GoabLinkTarget;\n onFeedbackClick?: () => void;\n}\n\nexport function GoabMicrositeHeader({\n type,\n version,\n feedbackUrl,\n maxContentWidth,\n feedbackUrlTarget,\n headerUrlTarget,\n testId,\n onFeedbackClick,\n}: GoabHeaderProps): JSX.Element {\n const el = useRef<HTMLElement>(null);\n\n useEffect(() => {\n if (!el.current) {\n return;\n }\n if (!onFeedbackClick) {\n return;\n }\n const current = el.current;\n const listener = () => {\n onFeedbackClick();\n };\n\n current.addEventListener(\"_feedbackClick\", listener);\n return () => {\n current.removeEventListener(\"_feedbackClick\", listener);\n };\n }, [el, onFeedbackClick]);\n\n return (\n <goa-microsite-header\n ref={el}\n type={type}\n version={typeof version === \"string\" ? version : undefined}\n feedbackurl={feedbackUrl}\n testid={testId}\n maxcontentwidth={maxContentWidth}\n feedbackurltarget={feedbackUrlTarget}\n headerurltarget={headerUrlTarget}\n hasfeedbackhandler={onFeedbackClick ? \"true\" : \"false\"}\n >\n {version && typeof version !== \"string\" && <div slot=\"version\">{version}</div>}\n </goa-microsite-header>\n );\n}\n\nexport default GoabMicrositeHeader;\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\nexport interface GoabModalProps {\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 /**\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 GoabModal({\n heading,\n children,\n maxWidth,\n open,\n actions,\n transition,\n calloutVariant,\n onClose,\n testId,\n}: GoabModalProps): 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 >\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 GoabModal;\n","import { GoabAriaLiveType, GoabNotificationType } from \"@abgov/ui-components-common\";\nimport { useEffect, useRef } from \"react\";\n\nexport interface GoabNotificationProps {\n type?: GoabNotificationType;\n ariaLive?: GoabAriaLiveType;\n maxContentWidth?: string;\n children?: React.ReactNode;\n onDismiss?: () => void;\n testId?: string;\n}\n\nexport const GoabNotification = ({\n type = \"information\",\n ariaLive,\n maxContentWidth,\n children,\n testId,\n onDismiss,\n}: GoabNotificationProps) => {\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 >\n {children}\n </goa-notification>\n );\n};\n\nexport default GoabNotification;\n","import { ReactNode, type JSX } from \"react\";\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-one-column-layout\": React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabPageProps {\n children?: ReactNode;\n}\n\nexport type PageProps = GoabPageProps;\n\nexport function GoabOneColumnLayout(props: GoabPageProps): JSX.Element {\n return <goa-one-column-layout>{props.children}</goa-one-column-layout>;\n}\n\nexport default GoabOneColumnLayout;\n","import { GoabPageBlockSize } from \"@abgov/ui-components-common\";\nimport { ReactNode, type JSX } from \"react\";\n\ninterface WCProps {\n width?: GoabPageBlockSize;\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-page-block\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabPageBlockProps {\n width?: GoabPageBlockSize;\n testId?: string;\n children?: ReactNode;\n}\n\n// legacy name\nexport type PageBlockProps = GoabPageBlockProps;\n\nexport function GoabPageBlock(props: PageBlockProps): JSX.Element {\n return (\n <goa-page-block width={props.width} testid={props.testId}>\n {props.children}\n </goa-page-block>\n );\n}\n","import { Margins } from \"@abgov/ui-components-common\";\nimport { ReactNode, type JSX } from \"react\";\n\ninterface WCProps extends Margins {\n current?: number;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-pages\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\n/* eslint-disable-next-line */\nexport interface GoabPagesProps extends Margins {\n current?: number;\n children?: ReactNode;\n}\n\nexport function GoabPages(props: GoabPagesProps): JSX.Element {\n return (\n <goa-pages\n current={props.current}\n ml={props.ml}\n mr={props.mr}\n mt={props.mt}\n mb={props.mb}\n >\n {props.children}\n </goa-pages>\n );\n}\n\nexport default GoabPages;\n","import { GoabPaginationOnChangeDetail, Margins } from \"@abgov/ui-components-common\";\nimport { useEffect, useRef } from \"react\";\n\n/* eslint-disable-next-line */\nexport interface GoabPaginationProps 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}\n\n// legacy\nexport type PaginationProps = GoabPaginationProps;\n\nexport function GoabPagination({ onChange, ...props }: GoabPaginationProps) {\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 />\n );\n}\n\nexport default GoabPagination;\n","import { DataAttributes, GoabPopoverPosition, Margins } from \"@abgov/ui-components-common\";\nimport { ReactNode, type JSX } from \"react\";\nimport { transformProps, lowercase } from \"../common/extract-props\";\n\ninterface WCProps extends Margins {\n maxwidth?: string;\n minwidth?: string;\n padded?: string;\n position?: GoabPopoverPosition;\n relative?: 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-popover\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabPopoverProps extends Margins, DataAttributes {\n target?: ReactNode;\n testId?: string;\n maxWidth?: string;\n minWidth?: string;\n padded?: boolean;\n position?: GoabPopoverPosition;\n children: ReactNode;\n /***\n * @deprecated This property has no effect and will be removed in a future version\n */\n relative?: boolean;\n}\n\nexport function GoabPopover({\n target,\n padded,\n relative,\n children,\n ...rest\n}: GoabPopoverProps): JSX.Element {\n const _props = transformProps<WCProps>(rest, lowercase);\n\n return (\n <goa-popover\n padded={typeof padded === \"undefined\" ? undefined : padded ? \"true\" : \"false\"}\n relative={relative ? \"true\" : undefined}\n {..._props}\n >\n {children}\n {target && <div slot=\"target\">{target}</div>}\n </goa-popover>\n );\n}\n\nexport default GoabPopover;\n","import { Margins } from \"@abgov/ui-components-common\";\n\nimport type { JSX } from \"react\";\n\nexport interface GoabRadioItemProps 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 children?: React.ReactNode;\n ariaLabel?: string;\n}\n\nexport function GoabRadioItem({\n name,\n label,\n value,\n description,\n reveal,\n revealAriaLabel,\n maxWidth,\n disabled,\n checked,\n error,\n ariaLabel,\n children,\n mt,\n mr,\n mb,\n ml,\n}: GoabRadioItemProps): 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 arialabel={ariaLabel}\n revealarialabel={revealAriaLabel}\n mt={mt}\n mr={mr}\n mb={mb}\n ml={ml}\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 GoabRadioItem;\n","import { useEffect, useRef, type JSX } from \"react\";\nimport {\n GoabRadioGroupOnChangeDetail,\n GoabRadioGroupOrientation,\n Margins, DataAttributes,\n} from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../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}\n\nexport interface GoabRadioGroupProps extends Margins, DataAttributes {\n name: string;\n value?: string;\n id?: string;\n disabled?: boolean;\n orientation?: GoabRadioGroupOrientation;\n testId?: string;\n error?: boolean;\n ariaLabel?: string;\n children?: React.ReactNode;\n onChange?: (detail: GoabRadioGroupOnChangeDetail) => void;\n}\n\nexport function GoabRadioGroup({\n disabled,\n error,\n onChange,\n name,\n children,\n ...rest\n}: GoabRadioGroupProps): JSX.Element {\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 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 >\n {children}\n </goa-radio-group>\n );\n}\n\nexport default GoabRadioGroup;\n","import { ReactNode, type JSX } from \"react\";\nimport { GoabIconType, Margins } from \"@abgov/ui-components-common\";\n\n/* eslint-disable-next-line */\nexport interface GoabSideMenuGroupProps extends Margins {\n heading: string;\n icon?: GoabIconType;\n testId?: string;\n children?: ReactNode;\n}\n\nexport function GoabSideMenuGroup(props: GoabSideMenuGroupProps): JSX.Element {\n return (\n <goa-side-menu-group\n heading={props.heading}\n icon={props.icon}\n testid={props.testId}\n mt={props.mt}\n mr={props.mr}\n mb={props.mb}\n ml={props.ml}\n >\n {props.children}\n </goa-side-menu-group>\n );\n}\n\nexport default GoabSideMenuGroup;\n","import { GoabIconType } from \"@abgov/ui-components-common\";\nimport { ReactNode } from \"react\";\n\n/* eslint-disable-next-line */\nexport interface GoabSideMenuHeadingProps {\n meta?: ReactNode;\n testId?: string;\n icon?: GoabIconType;\n children?: ReactNode;\n}\n\nexport function GoabSideMenuHeading(props: GoabSideMenuHeadingProps) {\n return (\n <goa-side-menu-heading icon={props.icon} testid={props.testId}>\n {props.children}\n {props.meta && <span slot=\"meta\">{props.meta}</span>}\n </goa-side-menu-heading>\n );\n}\n\nexport default GoabSideMenuHeading;\n","import { ReactNode, type JSX } from \"react\";\n\n/* eslint-disable-next-line */\nexport interface GoabSideMenuProps {\n testId?: string;\n children: ReactNode;\n}\n\nexport function GoabSideMenu(props: GoabSideMenuProps): JSX.Element {\n return <goa-side-menu testid={props.testId}>{props.children}</goa-side-menu>;\n}\n\nexport default GoabSideMenu;\n","import { GoabSkeletonSize, GoabSkeletonType, Margins } from \"@abgov/ui-components-common\";\n\ninterface WCProps extends Margins {\n maxwidth?: string;\n size?: GoabSkeletonSize;\n linecount?: number;\n type: GoabSkeletonType;\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-skeleton\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabSkeletonProps extends Margins {\n maxWidth?: string;\n size?: GoabSkeletonSize;\n lineCount?: number;\n type: GoabSkeletonType;\n testId?: string;\n}\n\n// legacy name\nexport type SkeletonProps = GoabSkeletonProps;\n\nexport const GoabSkeleton = ({\n maxWidth,\n size,\n lineCount,\n type,\n testId,\n mt,\n mr,\n mb,\n ml,\n}: GoabSkeletonProps) => {\n return (\n <goa-skeleton\n maxwidth={maxWidth}\n linecount={lineCount}\n type={type}\n size={size}\n mt={mt}\n mr={mr}\n mb={mb}\n ml={ml}\n testid={testId}\n />\n );\n};\n\nexport default GoabSkeleton;\n","import {\n GoabSpacerHorizontalSpacing,\n GoabSpacerVerticalSpacing,\n} from \"@abgov/ui-components-common\";\n\n/* eslint-disable-next-line */\ninterface WCProps {\n hspacing?: GoabSpacerHorizontalSpacing;\n vspacing?: GoabSpacerVerticalSpacing;\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-spacer\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\n/* eslint-disable-next-line */\nexport interface GoabSpacerProps {\n hSpacing?: GoabSpacerHorizontalSpacing;\n vSpacing?: GoabSpacerVerticalSpacing;\n testId?: string;\n}\n\nexport function GoabSpacer(props: GoabSpacerProps) {\n return (\n <goa-spacer\n hspacing={props.hSpacing}\n vspacing={props.vSpacing}\n testid={props.testId}\n />\n );\n}\n\nexport default GoabSpacer;\n","import { GoabSpinnerSize, GoabSpinnerType } from \"@abgov/ui-components-common\";\n\nimport type { JSX } from \"react\";\n\ninterface WCProps {\n size: GoabSpinnerSize;\n type: GoabSpinnerType;\n invert?: string;\n progress?: number;\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-spinner\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabSpinnerProps {\n type: GoabSpinnerType;\n size: GoabSpinnerSize;\n invert?: boolean;\n progress?: number;\n testId?: string;\n}\n\nexport type SpinnerProps = GoabSpinnerProps;\n\nexport function GoabSpinner({\n type,\n size,\n progress,\n invert,\n testId,\n}: GoabSpinnerProps): JSX.Element {\n return (\n <goa-spinner\n type={type}\n size={size}\n progress={progress}\n invert={invert ? \"true\" : undefined}\n testid={testId}\n />\n );\n}\n\nexport default GoabSpinner;\n","import {\n GoabTableOnSortDetail,\n GoabTableVariant,\n Margins,\n} from \"@abgov/ui-components-common\";\nimport { ReactNode, useEffect, useRef } from \"react\";\n\n/* eslint-disable-next-line */\nexport interface GoabTableProps extends Margins {\n width?: string;\n onSort?: (detail: GoabTableOnSortDetail) => void;\n // stickyHeader?: boolean; TODO: enable this later\n variant?: GoabTableVariant;\n testId?: string;\n children?: ReactNode;\n}\n\n// legacy name\nexport type TableProps = GoabTableProps;\n\nexport function GoabTable({ onSort, ...props }: GoabTableProps) {\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 testid={props.testId}\n mt={props.mt}\n mb={props.mb}\n ml={props.ml}\n mr={props.mr}\n >\n <table style={{ width: \"100%\" }}>{props.children}</table>\n </goa-table>\n );\n}\n\nexport default GoabTable;\n","import { DataAttributes, GoabTableSortDirection } from \"@abgov/ui-components-common\";\n\nimport type { JSX } from \"react\";\nimport { transformProps, lowercase } from \"../common/extract-props\";\n\ninterface WCProps {\n name?: string;\n direction?: GoabTableSortDirection;\n}\n\n/* eslint-disable-next-line */\nexport interface GoabTableSortProps extends DataAttributes {\n name?: string;\n direction?: GoabTableSortDirection;\n children?: React.ReactNode;\n}\n\nexport function GoabTableSortHeader({\n children,\n ...rest\n}: GoabTableSortProps): JSX.Element {\n const _props = transformProps<WCProps>(rest, lowercase);\n\n return (\n <goa-table-sort-header {..._props}>\n {children}\n </goa-table-sort-header>\n );\n}\n\nexport default GoabTableSortHeader;\n","import React, { useEffect, useRef, type JSX } from \"react\";\nimport { GoabTabsOnChangeDetail, GoabTabsVariant } from \"@abgov/ui-components-common\";\n\nexport interface GoabTabsProps {\n initialTab?: number;\n children?: React.ReactNode;\n testId?: string;\n variant?: GoabTabsVariant;\n onChange?: (detail: GoabTabsOnChangeDetail) => void;\n}\n\nexport function GoabTabs({\n initialTab,\n children,\n testId,\n variant,\n onChange,\n}: GoabTabsProps): 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 ref={ref} initialtab={initialTab} testid={testId} variant={variant}>\n {children}\n </goa-tabs>\n );\n}\n\nexport default GoabTabs;\n","import type { JSX } from \"react\";\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 GoabTabItemProps {\n heading?: React.ReactNode;\n disabled?: boolean;\n children?: React.ReactNode;\n slug?: string;\n}\n\nexport function GoabTab({ heading, disabled, slug, children }: GoabTabItemProps): 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, { useRef } from \"react\";\nimport { transformProps, kebab } from \"../common/extract-props\";\n\ntype SnackbarVerticalPosition = \"top\" | \"bottom\";\ntype SnackbarHorizontalPosition = \"left\" | \"center\" | \"right\";\n\ninterface WCProps {\n \"vertical-position\"?: SnackbarVerticalPosition;\n \"horizontal-position\"?: SnackbarHorizontalPosition;\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-temp-notification-ctrl\": WCProps &\n React.HTMLAttributes<HTMLElement> & {\n ref: React.RefObject<HTMLElement | null>;\n };\n }\n }\n}\n\nexport interface GoabTemporaryNotificationCtrlProps {\n verticalPosition?: SnackbarVerticalPosition;\n horizontalPosition?: SnackbarHorizontalPosition;\n testId?: string;\n}\n\nexport const GoabTemporaryNotificationCtrl = ({\n verticalPosition = \"bottom\",\n horizontalPosition = \"center\",\n testId,\n ...rest\n}: GoabTemporaryNotificationCtrlProps) => {\n const el = useRef<HTMLElement>(null);\n\n const _props = transformProps<WCProps>(\n { \"vertical-position\": verticalPosition, \"horizontal-position\": horizontalPosition, ...rest },\n kebab\n );\n\n return (\n <goa-temp-notification-ctrl\n ref={el}\n {..._props}\n testid={testId}\n />\n );\n};\n\nexport default GoabTemporaryNotificationCtrl;\n","import { ReactNode, type JSX } from \"react\";\nimport {\n GoabTextMaxWidth,\n GoabTextHeadingElement,\n GoabTextTextElement,\n GoabTextSize,\n GoabTextColor,\n Margins, DataAttributes,\n} from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../common/extract-props\";\n\ninterface WCProps extends Margins {\n as?: GoabTextTextElement | GoabTextHeadingElement;\n size?: GoabTextSize;\n maxwidth?: GoabTextMaxWidth;\n color?: GoabTextColor;\n id?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-text\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\ninterface GoATextProps extends Margins, DataAttributes {\n /** @deprecated Please use 'tag' property instead */\n as?: GoabTextTextElement | GoabTextHeadingElement;\n tag?: GoabTextTextElement | GoabTextHeadingElement;\n size?: GoabTextSize;\n maxWidth?: GoabTextMaxWidth;\n color?: GoabTextColor;\n id?: string;\n children: ReactNode;\n}\n\nexport function GoabText({\n as,\n tag,\n children,\n ...rest\n}: GoATextProps): JSX.Element {\n const _props = transformProps<WCProps>(rest, lowercase);\n\n return (\n <goa-text\n as={tag || as}\n {..._props}\n >\n {children}\n </goa-text>\n );\n}\n\nexport default GoabText;\n","import {\n GoabTextAreaCountBy,\n GoabTextAreaOnChangeDetail,\n GoabTextAreaOnKeyPressDetail,\n GoabTextAreaOnBlurDetail,\n Margins, DataAttributes,\n} from \"@abgov/ui-components-common\";\nimport { useEffect, useRef, type JSX } from \"react\";\nimport { transformProps, lowercase } from \"../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}\n\nexport interface GoabTextAreaProps 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\n onChange?: (event: GoabTextAreaOnChangeDetail) => void;\n onKeyPress?: (event: GoabTextAreaOnKeyPressDetail) => void;\n onBlur?: (event: GoabTextAreaOnBlurDetail) => void;\n}\n\nexport function GoabTextArea({\n readOnly,\n disabled,\n error,\n onChange,\n onKeyPress,\n onBlur,\n ...rest\n}: GoabTextAreaProps): 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 {..._props}\n ></goa-textarea>\n );\n}\n\nexport default GoabTextArea;\n","import { ReactNode } from \"react\";\n\ninterface WCProps {\n leftcolumnwidth?: string;\n maxcontentwidth?: string;\n rightcolumnwidth?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-three-column-layout\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabThreeColumnLayoutProps {\n leftColumnWidth?: string;\n rightColumnWidth?: string;\n maxContentWidth?: string;\n header?: ReactNode;\n footer?: ReactNode;\n nav?: ReactNode;\n sidebar?: ReactNode; // DEPRECATED\n sideMenu?: ReactNode;\n children: ReactNode;\n}\n\nexport function GoabThreeColumnLayout(props: GoabThreeColumnLayoutProps) {\n return (\n <goa-three-column-layout\n leftcolumnwidth={props.leftColumnWidth}\n rightcolumnwidth={props.rightColumnWidth}\n maxcontentwidth={props.maxContentWidth}\n >\n {props.header && <div slot=\"header\">{props.header}</div>}\n {props.nav && <div slot=\"nav\">{props.nav}</div>}\n {props.sidebar && <div slot=\"side-menu\">{props.sidebar}</div>}\n {props.sideMenu && <div slot=\"side-menu\">{props.sideMenu}</div>}\n {props.children}\n {props.footer && <div slot=\"footer\">{props.footer}</div>}\n </goa-three-column-layout>\n );\n}\n\nexport default GoabThreeColumnLayout;\n","import {\n GoabTooltipHorizontalAlignment,\n GoabTooltipPosition,\n Margins, DataAttributes,\n} from \"@abgov/ui-components-common\";\nimport { ReactNode, type JSX } from \"react\";\nimport { transformProps, lowercase } from \"../common/extract-props\";\n\n/* eslint-disable-next-line */\ninterface WCProps extends Margins {\n position?: GoabTooltipPosition;\n content?: string;\n testid?: string;\n halign?: GoabTooltipHorizontalAlignment;\n maxwidth?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-tooltip\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\n/* eslint-disable-next-line */\nexport interface GoabTooltipProps extends Margins, DataAttributes {\n position?: GoabTooltipPosition;\n content?: string | ReactNode;\n hAlign?: GoabTooltipHorizontalAlignment;\n testId?: string;\n maxWidth?: string;\n children?: ReactNode;\n}\n\nexport function GoabTooltip({\n content,\n children,\n ...rest\n}: GoabTooltipProps): JSX.Element {\n const _props = transformProps<WCProps>(rest, lowercase);\n\n const isStringContent = typeof content === \"string\";\n\n return (\n <goa-tooltip\n content={isStringContent ? (content as string) : undefined}\n {..._props}\n >\n {!isStringContent && content && <div slot=\"content\">{content}</div>}\n {children}\n </goa-tooltip>\n );\n}\n\nexport default GoabTooltip;\n","import { ReactNode } from \"react\";\n\ninterface WCProps {\n navcolumnwidth?: string;\n maxcontentwidth?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-two-column-layout\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabTwoColumnLayoutProps {\n navColumnWidth?: string;\n maxContentWidth?: string;\n header: ReactNode;\n footer: ReactNode;\n nav: ReactNode;\n children: ReactNode;\n}\n\nexport function GoabTwoColumnLayout(props: GoabTwoColumnLayoutProps) {\n return (\n <goa-two-column-layout\n navcolumnwidth={props.navColumnWidth}\n maxcontentwidth={props.maxContentWidth}\n >\n {props.header && <div slot=\"header\">{props.header}</div>}\n {props.nav && <div slot=\"nav\">{props.nav}</div>}\n {props.children}\n {props.footer && <div slot=\"footer\">{props.footer}</div>}\n </goa-two-column-layout>\n );\n}\n\nexport default GoabTwoColumnLayout;\n","import { useEffect, useRef } from \"react\";\nimport { DataAttributes, GoabFilterChipTheme, Margins } from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../common/extract-props\";\n\ninterface WCProps extends Margins {\n icontheme: GoabFilterChipTheme;\n error?: string;\n content: string;\n testid?: string;\n}\n\nexport interface GoabFilterChipProps extends Margins, DataAttributes {\n onClick?: () => void;\n iconTheme?: GoabFilterChipTheme;\n error?: boolean;\n content: string;\n testId?: string;\n}\n\nexport const GoabFilterChip = ({\n iconTheme = \"outline\",\n error,\n onClick,\n ...rest\n}: GoabFilterChipProps) => {\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 {..._props}\n />\n );\n};\n\nexport default GoabFilterChip;\n","// Public helper function to dispatch messages\nexport function dispatch<T>(\n el: HTMLElement | Element | null | undefined,\n eventName: string,\n detail?: T,\n opts?: { bubbles?: boolean },\n) {\n if (!el) {\n console.error(\"dispatch element is null\");\n return;\n }\n el.dispatchEvent(\n new CustomEvent<T>(eventName, {\n composed: true,\n bubbles: opts?.bubbles,\n detail: detail,\n }),\n );\n}\n\n// Public helper function to relay messages\nexport function relay<T>(\n el: HTMLElement | Element | null | undefined,\n eventName: string,\n data?: T,\n opts?: { bubbles?: boolean },\n) {\n if (!el) {\n console.error(\"dispatch element is null\");\n return;\n }\n el.dispatchEvent(\n new CustomEvent<{ action: string; data?: T }>(\"msg\", {\n composed: true,\n bubbles: opts?.bubbles,\n detail: {\n action: eventName,\n data,\n },\n }),\n );\n}\n","import { FieldsetItemState, FieldValidator } from \"./validators\";\nimport {\n GoabFieldsetItemValue, GoabFormDispatchOn,\n} from \"./common\";\nimport { relay, dispatch } from \"./messaging/messaging\";\n\nexport type FormStatus = \"not-started\" | \"incomplete\" | \"complete\";\n\n// Public type to define the state of the form\nexport type AppState<T> = {\n uuid: string;\n form: Record<string, Fieldset<T>>;\n history: string[];\n editting: string;\n lastModified?: Date;\n status: FormStatus;\n currentFieldset?: { id: T; dispatchType: GoabFormDispatchOn };\n};\n\nexport type Fieldset<T> = {\n heading: string;\n data:\n | { type: \"details\"; fieldsets: Record<string, FieldsetItemState> }\n | { type: \"list\"; items: AppState<T>[] };\n};\n\nexport class PublicFormController<T> {\n state?: AppState<T> | AppState<T>[];\n _formData?: Record<string, string> = undefined;\n _formRef?: HTMLElement = undefined;\n private _isCompleting = false;\n\n constructor(private type: \"details\" | \"list\") {}\n\n // Obtain reference to the form element\n init(e: Event) {\n // FIXME: This condition should not be needed, but currently it is the only way to get things working\n if (this._formRef) {\n console.warn(\"init: form element has already been set\");\n return;\n }\n this._formRef = (e as CustomEvent).detail.el;\n\n this.state = {\n uuid: crypto.randomUUID(),\n form: {},\n history: [],\n editting: \"\",\n status: \"not-started\",\n };\n }\n\n initList(e: Event) {\n this._formRef = (e as CustomEvent).detail.el;\n this.state = [];\n }\n\n // Public method to allow for the initialization of the state\n initState(state?: string | AppState<T> | AppState<T>[], callback?: () => void) {\n relay(this._formRef, \"external::init:state\", state);\n\n if (typeof state === \"string\") {\n this.state = JSON.parse(state);\n } else if (!Array.isArray(state)) {\n this.state = state;\n }\n\n if (callback) {\n setTimeout(callback, 200);\n }\n }\n\n updateListState(e: Event) {\n const detail = (e as CustomEvent).detail;\n\n if (!Array.isArray(detail.data)) {\n return;\n }\n\n this.state = detail.data;\n }\n\n #updateObjectListState(detail: { data: AppState<T>[]; index: number; id: string }) {\n if (!Array.isArray(detail.data)) {\n return;\n }\n\n if (Array.isArray(this.state)) {\n return;\n }\n\n this.state = {\n ...this.state,\n form: {\n ...(this.state?.form || {}),\n [detail.id]: detail.data,\n },\n } as AppState<T>;\n }\n\n updateObjectState(e: Event) {\n if (Array.isArray(this.state)) {\n return;\n }\n\n const detail = (e as CustomEvent).detail;\n if (detail.type === \"list\") {\n // form state being updated with subform array data\n this.state = {\n ...this.state,\n form: { ...(this.state?.form || {}), [detail.id]: detail.data },\n } as AppState<T>;\n } else {\n // form state being updated with form data\n this.state = {\n ...this.state,\n ...detail.data,\n form: { ...(this.state?.form || {}), ...detail.data.form },\n history: detail.data.history,\n } as AppState<T>;\n }\n }\n\n getStateList(): Record<string, string>[] {\n if (!this.state) {\n return [];\n }\n if (!Array.isArray(this.state)) {\n console.warn(\n \"Utils:getStateList: unable to update the state of a non-multi form type\",\n this.state,\n );\n return [];\n }\n if (this.state.length === 0) {\n return [];\n }\n\n return this.state.map((s) => {\n return Object.values(s.form)\n .filter((item) => {\n return item?.data?.type === \"details\";\n })\n .map((item) => {\n return (item.data.type === \"details\" && item.data?.fieldsets) || {};\n })\n .reduce(\n (acc, item) => {\n for (const [key, value] of Object.entries(item)) {\n acc[key] = value.value;\n }\n return acc;\n },\n {} as Record<string, string>,\n );\n });\n }\n\n // getStateItems(group: string): Record<string, FieldsetItemState>[] {\n // if (Array.isArray(this.state)) {\n // console.error(\n // \"Utils:getStateItems: unable to update the state of a multi form type\",\n // );\n // return [];\n // }\n // if (!this.state) {\n // console.error(\"Utils:getStateItems: state has not yet been set\");\n // return [];\n // }\n //\n // const data = this.state.form[group].data;\n // if (data.type !== \"list\") {\n // return [];\n // }\n //\n // return data.items.;\n // }\n\n // Public method to allow for the retrieval of the state value\n getStateValue(group: string, key: string): string {\n if (Array.isArray(this.state)) {\n console.error(\"getStateValue: unable to update the state of a multi form type\");\n return \"\";\n }\n if (!this.state) {\n console.error(\"getStateValue: state has not yet been set\");\n return \"\";\n }\n\n const data = this.state.form[group].data;\n if (data.type !== \"details\") {\n return \"\";\n }\n\n return data.fieldsets[key].value;\n }\n\n // Public method to allow for the continuing to the next page\n continueTo(next: T | undefined) {\n if (!next) {\n console.error(\"continueTo [name] is undefined\");\n return;\n }\n // Relay the continue message to the form element which will\n // set the visibility of the fieldsets\n // FIXME: this makes a call to the subform instead of the form\n relay<{ next: T }>(this._formRef, \"external::continue\", { next });\n }\n\n // Public method to perform validation and send the appropriate messages to the form elements\n validate(\n e: Event,\n field: string,\n validators: FieldValidator[],\n options?: { grouped: boolean },\n ): [boolean, GoabFieldsetItemValue] {\n const { el, state, cancelled } = (e as CustomEvent).detail;\n const value = state?.[field]?.value;\n\n window.scrollTo({ top: 0, behavior: \"smooth\" });\n\n if (cancelled) {\n return [true, value];\n }\n\n for (const validator of validators) {\n const msg = validator(value);\n this.#dispatchError(el, field, msg, options);\n if (msg) {\n return [false, \"\"];\n }\n }\n return [true, value];\n }\n\n /**\n * Validates a group of fields ensuring that at least `minPassCount` of the items within the group\n * passes. This is useful in the scenario when n number fields are required out of n+m number of fields.\n *\n * @param {string[]} fields - An array of field names to be validated.\n * @param {Event} e - The event object associated with the validation trigger.\n * @param {FieldValidator[]} validators - An array of validator functions to apply to the fields.\n * @return {[number, Record<string, boolean>]} - Returns back the number of fields that passed and a record of the fields and their pass status.\n */\n validateGroup(\n e: Event,\n fields: string[],\n validators: FieldValidator[],\n ): [number, Record<string, boolean>] {\n let passCount = 0;\n const validGroups = {} as Record<string, boolean>;\n\n for (const field of fields) {\n const [_valid] = this.validate(e, field, validators, { grouped: true });\n if (_valid) {\n validGroups[field] = true;\n passCount++;\n }\n }\n\n return [passCount, validGroups];\n }\n\n edit(index: number) {\n relay(this._formRef, \"external::alter:state\", { index, operation: \"edit\" });\n }\n\n remove(index: number) {\n relay(this._formRef, \"external::alter:state\", {\n index,\n operation: \"remove\",\n });\n }\n\n /**\n * Completes the form and triggers the onComplete callback.\n * This method should be used when you want to complete a form without navigating to a summary page.\n *\n * @important Developers must validate the form before calling this method.\n *\n * @example\n * // Validate first, then complete\n * const [isValid] = this.validate(e, \"firstName\", [\n * requiredValidator(\"First name is required.\")\n * ]);\n * if (isValid) {\n * this.complete();\n * }\n * @returns void\n */\n complete() {\n if (!this._formRef) {\n console.error(\"complete: form ref is not set\");\n return;\n }\n\n if (this._isCompleting) {\n console.warn(\"complete: completion already in progress\");\n return;\n }\n\n this._isCompleting = true;\n relay(this._formRef, \"fieldset::submit\", null, { bubbles: true });\n this._isCompleting = false;\n }\n\n /**\n * Completes a subform and returns control to the parent form.\n * This method should be used when working with subforms that need to complete without a summary page.\n *\n * @important Developers must validate the subform before calling this method.\n *\n * @example\n * // Validate first, then complete the subform\n * const [isValid] = this._childFormController.validate(e, \"fullName\", [\n * requiredValidator(\"Please enter the dependent's full name.\")\n * ]);\n * if (isValid) {\n * this._childFormController.completeSubform();\n * }\n * @returns void\n */\n completeSubform() {\n if (!this._formRef) {\n console.error(\"completeSubform: form ref is not set\");\n return;\n }\n\n if (this._isCompleting) {\n console.warn(\"completeSubform: completion already in progress\");\n return;\n }\n // Capture form reference to avoid TypeScript undefined error in closures\n const formRef = this._formRef;\n\n // Set flag to prevent multiple calls\n this._isCompleting = true;\n\n const stateChangeHandler = (e: Event) => {\n formRef.removeEventListener('_stateChange', stateChangeHandler);\n\n // Now we know state is updated, safe to complete\n // The _formRef points to the inner form within the SubForm\n // We need to trigger the form's completion which will be caught by SubForm's onChildFormComplete\n dispatch(formRef, \"_complete\", {}, { bubbles: true });\n this._isCompleting = false;\n };\n\n formRef.addEventListener('_stateChange', stateChangeHandler);\n\n dispatch(formRef, \"_continue\", null, { bubbles: true });\n }\n\n // Private method to dispatch the error message to the form element\n #dispatchError(\n el: HTMLElement,\n name: string,\n msg: string,\n options?: { grouped: boolean },\n ) {\n el.dispatchEvent(\n new CustomEvent(\"msg\", {\n composed: true,\n detail: {\n action: \"external::set:error\",\n data: {\n name,\n msg,\n grouped: options?.grouped,\n },\n },\n }),\n );\n }\n\n // removes any data collected that doesn't correspond with the final history path\n clean(data: AppState<T>) {\n return data.history.reduce<Record<string, unknown>>((acc, fieldsetId) => {\n acc[fieldsetId] = data.form[fieldsetId];\n return acc;\n }, {});\n }\n}\n\n","import { useRef, useEffect, useState, useCallback } from 'react';\nimport {\n AppState,\n GoabFieldsetItemValue,\n FieldValidator, PublicFormController,\n} from \"@abgov/ui-components-common\";\n\nfunction usePublicFormController<T>(type: \"details\" | \"list\" = \"details\") {\n const controllerRef = useRef<PublicFormController<T>>(new PublicFormController<T>(type));\n const [state, setState] = useState<AppState<T> | AppState<T>[] | undefined>(undefined);\n\n useEffect(() => {\n // Create a proxy that updates React state when controller's state changes\n const originalStateGetter = Object.getOwnPropertyDescriptor(\n Object.getPrototypeOf(controllerRef.current),\n 'state'\n )?.get;\n\n const originalStateSetter = Object.getOwnPropertyDescriptor(\n Object.getPrototypeOf(controllerRef.current),\n 'state'\n )?.set;\n\n if (originalStateGetter && originalStateSetter) {\n Object.defineProperty(controllerRef.current, 'state', {\n get: function() {\n return originalStateGetter.call(this);\n },\n set: function(value) {\n originalStateSetter.call(this, value);\n setState(value);\n },\n configurable: true\n });\n }\n }, []);\n\n\n const init = useCallback((e: Event) => {\n if (!(e as CustomEvent).detail?.el) {\n console.error('El is null during initialization');\n return;\n }\n controllerRef.current.init(e);\n }, []);\n\n const initList = useCallback((e: Event) => {\n const customEvent = e as CustomEvent;\n if (!customEvent?.detail?.el) {\n console.error('El is null during list initialization');\n return;\n }\n controllerRef.current.initList(e);\n }, []);\n\n const initState = useCallback((state?: string | AppState<T> | AppState<T>[], callback?: () => void) => {\n if (!controllerRef.current._formRef) {\n console.error('Form ref not set.');\n return;\n }\n controllerRef.current.initState(state, callback);\n }, []);\n\n const continueTo = useCallback((next: T | undefined) => {\n controllerRef.current.continueTo(next);\n }, []);\n\n const validate = useCallback((\n e: Event,\n field: string,\n validators: FieldValidator[]\n ): [boolean, GoabFieldsetItemValue] => {\n return controllerRef.current.validate(e, field, validators);\n }, []);\n\n const getStateValue = useCallback((group: string, key: string): string => {\n return controllerRef.current.getStateValue(group, key);\n }, []);\n\n const getStateList = useCallback((): Record<string, string>[] => {\n return controllerRef.current.getStateList();\n }, []);\n\n const complete = useCallback(() => {\n controllerRef.current.complete();\n }, []);\n\n const completeSubform = useCallback(() => {\n controllerRef.current.completeSubform();\n }, []);\n\n return {\n state,\n init,\n initList,\n initState,\n continueTo,\n validate,\n getStateValue,\n getStateList,\n complete,\n completeSubform,\n controller: controllerRef.current\n };\n}\n\nexport { usePublicFormController };\n"],"names":["useRef","transformProps","lowercase","useEffect","jsxs","jsx","kebab","error","_a","useLayoutEffect","isValid","parseISO","format","value","useState","useCallback","state"],"mappings":";;;;;;;;;;;;;;;AA6CO,SAAS,cAAc;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAoC;AAClC,QAAM,MAAMA,MAAAA,OAAoB,IAAI;AAEpC,QAAM,SAASC,SAAAA,eAAwB,MAAMC,kBAAS;AAEtDC,QAAAA,UAAU,MAAM;AACd,UAAM,UAAU,IAAI;AACpB,QAAI,WAAW,UAAU;AACvB,YAAM,UAAU,CAAC,UAAiB;AAChC,cAAM,cAAc;AACpB,6CAAW,YAAY,OAAO;AAAA,MAChC;AACA,cAAQ,iBAAiB,WAAW,OAAO;AAC3C,aAAO,MAAM;AACX,gBAAQ,oBAAoB,WAAW,OAAO;AAAA,MAChD;AAAA,IACF;AAAA,EACF,GAAG,CAAC,QAAQ,CAAC;AAEb,SACEC,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,MAAM,OAAO,SAAS;AAAA,MACrB,GAAG;AAAA,MAEH,UAAA;AAAA,QAAA,kBAAkBC,2BAAAA,IAAC,OAAA,EAAI,MAAK,kBAAkB,UAAA,gBAAe;AAAA,QAC7D;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGP;AC9CO,SAAS,cAAc;AAAA,EAC5B;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAoC;AAClC,QAAM,KAAKL,MAAAA,OAAoB,IAAI;AAEnC,QAAM,SAASC,SAAAA,eAAwB,MAAMC,kBAAS;AAEtDC,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,GAAG,SAAS;AACf;AAAA,IACF;AACA,QAAI,CAAC,aAAa;AAChB;AAAA,IACF;AACA,UAAM,UAAU,GAAG;AACnB,UAAM,WAAW,MAAM;AACrB;AAAA,IACF;AACA,YAAQ,iBAAiB,cAAc,QAAQ;AAC/C,WAAO,MAAM;AACX,cAAQ,oBAAoB,cAAc,QAAQ;AAAA,IACpD;AAAA,EACF,GAAG,CAAC,IAAI,WAAW,CAAC;AAEpB,SACEE,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAK;AAAA,MACL,qBAAqB,cAAc,SAAS;AAAA,MAC3C,GAAG;AAAA,MAEH;AAAA,IAAA;AAAA,EAAA;AAGP;AC1CO,SAAS,kBAAkB;AAAA,EAChC;AAAA,EACA,GAAG;AACL,GAA2B;AACzB,QAAM,SAASJ,SAAAA,eAAwB,MAAMC,kBAAS;AAEtD,SACEG,2BAAAA,IAAC,uBAAA,EAAqB,GAAG,QACtB,SAAA,CACH;AAEJ;ACHA,SAAS,aAAa,MAAgB,UAA2C;AAE/E,MAAI,SAAS,QAAW;AACtB,WAAO,OAAO,SAAS;AAAA,EACzB;AAGA,SAAO,WAAW,SAAS;AAC7B;AAEO,SAAS,UAAU,EAAE,MAAM,UAAU,GAAG,QAAqC;AAClF,QAAM,SAASJ,SAAAA,eAAwB,MAAMC,kBAAS;AAEtD,SACEG,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MAEC,MAAM,aAAa,MAAM,QAAQ;AAAA,MACjC,UAAU;AAAA,MACT,GAAG;AAAA,IAAA;AAAA,EAAA;AAGV;AAKO,SAAS,cAAc;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAgC;AAC9B,SACEA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,EAAA;AAGN;AAKO,SAAS,iBAAiB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAgC;AAC9B,SACEA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,EAAA;AAGN;AAKO,SAAS,mBAAmB;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAgC;AAC9B,SACEA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,EAAA;AAGN;AAKO,SAAS,mBAAmB;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAgC;AAC9B,SACEA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,EAAA;AAGN;AChIO,SAAS,UAAU;AAAA,EACxB;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAmB;AACjB,QAAM,SAASJ,SAAAA;AAAAA,IACb,EAAE,QAAQ,QAAQ,GAAG,KAAA;AAAA,IACrBK,SAAAA;AAAAA,EAAA;AAGF,SACED,2BAAAA,IAAC,aAAA,EAAW,GAAG,QACZ,SAAA,CACH;AAEJ;ACfO,SAAS,WAAW;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAiC;AAC/B,QAAM,KAAKL,MAAAA,OAAoB,IAAI;AAEnC,QAAM,SAASC,SAAAA,eAAwB,MAAMC,kBAAS;AAEtDC,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,GAAG,SAAS;AACf;AAAA,IACF;AACA,QAAI,CAAC,SAAS;AACZ;AAAA,IACF;AACA,UAAM,UAAU,GAAG;AACnB,UAAM,WAAW,MAAM;AACrB;AAAA,IACF;AAEA,YAAQ,iBAAiB,UAAU,QAAQ;AAC3C,WAAO,MAAM;AACX,cAAQ,oBAAoB,UAAU,QAAQ;AAAA,IAChD;AAAA,EACF,GAAG,CAAC,IAAI,OAAO,CAAC;AAEhB,SACEE,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAK;AAAA,MACL,UAAU,WAAW,SAAS;AAAA,MAC9B,cAAY;AAAA,MACZ,eAAa,KAAK,UAAU,UAAU;AAAA,MACrC,GAAG;AAAA,MAEH;AAAA,IAAA;AAAA,EAAA;AAGP;AClDO,SAAS,gBAAgB;AAAA,EAC9B;AAAA,EACA,GAAG;AACL,GAAsC;AACpC,QAAM,SAASJ,SAAAA,eAAwB,MAAMC,kBAAS;AAEtD,SACEG,2BAAAA,IAAC,oBAAA,EAAkB,GAAG,QACnB,SAAA,CACH;AAEJ;ACrBO,SAAS,aAAa;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAmC;AACjC,QAAM,MAAML,MAAAA,OAAyB,IAAI;AAEzC,QAAM,SAASC,SAAAA,eAAwB,MAAMC,kBAAS;AAEtDC,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,IAAI,SAAS;AAChB;AAAA,IACF;AACA,UAAM,UAAU,IAAI;AACpB,UAAM,WAAW,CAAC,MAAa;AAC7B,eAAS;AAAA,QACP,MAAM,QAAQ;AAAA,QACd,OAAQ,EAAkB,OAAO;AAAA,MAAA,CAClC;AAAA,IACH;AACA,YAAQ,iBAAiB,WAAW,QAAQ;AAE5C,WAAO,MAAM;AACX,cAAQ,oBAAoB,WAAW,QAAQ;AAAA,IACjD;AAAA,EACF,GAAG,CAAA,CAAE;AAEL,SACEE,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,KAAK,OAAO;AAAA,MACZ,KAAK,OAAO;AAAA,MACX,GAAG;AAAA,IAAA;AAAA,EAAA;AAGV;AC7BO,MAAM,cAAc,CAAC;AAAA,EAC1B,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,OAAO;AAAA,EACP,WAAW;AAAA,EACX;AAAA,EACA,GAAG;AACL,MAAwB;AACtB,QAAM,SAASJ,SAAAA;AAAAA,IACb,EAAE,MAAM,WAAW,WAAW,MAAM,UAAU,UAAU,GAAG,KAAA;AAAA,IAC3DC,SAAAA;AAAAA,EAAA;AAGF,SACEG,2BAAAA,IAAC,eAAA,EAAa,GAAG,QACd,SAAA,CACH;AAEJ;ACJO,SAAS,aAAa;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAmC;AACjC,QAAM,KAAKL,MAAAA,OAAoB,IAAI;AAEnC,QAAM,SAASC,SAAAA,eAAwB,MAAMC,kBAAS;AAEtDC,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,GAAG,SAAS;AACf;AAAA,IACF;AACA,UAAM,UAAU,GAAG;AACnB,UAAM,WAAW,CAAC,MAAa;AAC7B,YAAM,SAAU,EAA8C;AAC9D,2CAAW,EAAE,GAAG,QAAQ,OAAO;IACjC;AAEA,YAAQ,iBAAiB,WAAW,QAAQ;AAE5C,WAAO,MAAM;AACX,cAAQ,oBAAoB,WAAW,QAAQ;AAAA,IACjD;AAAA,EACF,GAAG,CAAC,MAAM,QAAQ,CAAC;AAEnB,SACEC,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAK;AAAA,MACJ,GAAG;AAAA,MACJ;AAAA,MACA,OAAO,QAAQ,SAAS;AAAA,MACxB,SAAS,UAAU,SAAS;AAAA,MAC5B,eAAe,gBAAgB,SAAS;AAAA,MACxC,UAAU,WAAW,SAAS;AAAA,MAC9B,OAAO,OAAO,UAAU,YAAa,QAAQ,SAAS,SAAa;AAAA,MACnE,aAAa,OAAO,gBAAgB,WAAW,cAAc;AAAA,MAE5D,UAAA;AAAA,QAAA;AAAA,QACA,OAAO,gBAAgB,YAAY,8CACjC,OAAA,EAAI,MAAK,eAAe,UAAA,aAAY;AAAA,QAEtC,UAAUC,2BAAAA,IAAC,OAAA,EAAI,MAAK,UAAU,UAAA,OAAA,CAAO;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAG5C;AC7DO,SAAS,iBAAiB;AAAA,EAC/B;AAAA,EACA,QAAQ,CAAA;AAAA,EACR;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAuC;AACrC,QAAM,KAAKL,MAAAA,OAAoB,IAAI;AAEnCG,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,GAAG,QAAS;AAEjB,UAAM,UAAU,GAAG;AACnB,UAAM,WAAW,CAAC,MAAa;AAC7B,UAAI;AACF,cAAM,SAAU,EAAkD;AAClE,6CAAW,EAAE,GAAG,QAAQ,OAAO;MACjC,SAASI,QAAO;AACd,gBAAQ,MAAM,wCAAwCA,MAAK;AAAA,MAC7D;AAAA,IACF;AAEA,QAAI;AACF,cAAQ,iBAAiB,WAAW,QAAQ;AAAA,IAC9C,SAASA,QAAO;AACd,cAAQ,MAAM,4CAA4CA,MAAK;AAAA,IACjE;AAEA,WAAO,MAAM;AACX,UAAI;AACF,gBAAQ,oBAAoB,WAAW,QAAQ;AAAA,MACjD,SAASA,QAAO;AACd,gBAAQ,MAAM,4CAA4CA,MAAK;AAAA,MACjE;AAAA,IACF;AAAA,EACF,GAAG,CAAC,QAAQ,CAAC;AAEb,SACEF,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAK;AAAA,MACL;AAAA,MACA;AAAA,MACA,UAAU,WAAW,SAAS;AAAA,MAC9B,OAAO,QAAQ,SAAS;AAAA,MACxB,QAAQ;AAAA,MACR,UAAU;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MAEC;AAAA,IAAA;AAAA,EAAA;AAGP;AC7DO,MAAM,WAAW,CAAC;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAqB;AACnB,QAAM,KAAKL,MAAAA,OAAoB,IAAI;AAEnC,QAAM,SAASC,SAAAA,eAAwB,MAAMC,kBAAS;AAEtDC,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,GAAG,QAAS;AACjB,QAAI,CAAC,QAAS;AAEd,UAAM,UAAU,GAAG;AACnB,UAAM,WAAW,MAAM;AACrB;AAAA,IACF;AAEA,YAAQ,iBAAiB,UAAU,QAAQ;AAC3C,WAAO,MAAM;AACX,cAAQ,oBAAoB,UAAU,QAAQ;AAAA,IAChD;AAAA,EACF,GAAG,CAAC,IAAI,OAAO,CAAC;AAEhB,SACEE,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAK;AAAA,MACL,OAAO,QAAQ,SAAS;AAAA,MACxB,WAAW,YAAY,SAAS;AAAA,MAC/B,GAAG;AAAA,IAAA;AAAA,EAAA;AAGV;ACrCO,MAAM,uBAAuB,CAAC;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAiC;AAC/B,SACEA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,SAAS,UAAU,SAAS;AAAA,MAC5B;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAQ;AAAA,IAAA;AAAA,EAAA;AAGd;ACLO,SAAS,cAAc;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAoC;AAClC,QAAM,SAASJ,SAAAA,eAAwB,MAAMC,kBAAS;AAEtD,QAAM,iBAAiB,WAAW;AAElC,SACEE,2BAAAA,KAAC,iBAAA,EAAe,GAAG,QAChB,UAAA;AAAA,IAAA,kBAAkBC,2BAAAA,IAAC,OAAA,EAAI,MAAK,SAAS,UAAA,gBAAe;AAAA,IACpD;AAAA,IACA,WAAWA,2BAAAA,IAAC,OAAA,EAAI,MAAK,WAAW,UAAA,QAAA,CAAQ;AAAA,EAAA,GAC3C;AAEJ;ACvCO,SAAS,aAAa;AAAA,EAC3B,yBAAyB;AAAA,EACzB,uBAAuB;AAAA,EACvB;AAAA,EACA;AACF,GAAsB;AACpB,SACEA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,4BAA0B;AAAA,MAC1B,0BAAwB;AAAA,MACxB,gBAAc;AAAA,MAEb;AAAA,IAAA;AAAA,EAAA;AAGP;ACDO,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAqC;AACnC,QAAM,MAAML,MAAAA,OAAyB,IAAI;AAEzC,QAAM,SAASC,SAAAA,eAAwB,MAAMC,kBAAS;AAEtDC,QAAAA,UAAU,MAAM;AACd,QAAI,SAAS,OAAO,UAAU,UAAU;AACtC,cAAQ,KAAK,8FAA8F;AAAA,IAC7G;AAAA,EACF,GAAG,CAAA,CAAE;AAELA,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,IAAI,SAAS;AAChB;AAAA,IACF;AACA,UAAM,UAAU,IAAI;AAEpB,UAAM,eAAe,CAAC,MAAa;AACjC,YAAM,SAAU,EAAgD;AAChE,2CAAW,EAAE,GAAG,QAAQ,OAAO;IACjC;AAEA,QAAI,UAAU;AACZ,cAAQ,iBAAiB,WAAW,YAAY;AAAA,IAClD;AAEA,WAAO,MAAM;AACX,UAAI,UAAU;AACZ,gBAAQ,oBAAoB,WAAW,YAAY;AAAA,MACrD;AAAA,IACF;AAAA,EACF,GAAG,CAAC,QAAQ,CAAC;AAEb,QAAM,cAAc,CAAC,QAAmC;AACtD,QAAI,CAAC,IAAK,QAAO;AAEjB,QAAI,eAAe,MAAM;AACvB,aAAO,IAAI,YAAA;AAAA,IACb;AAEA,WAAO;AAAA,EACT;AAEA,SACEE,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,OAAO,YAAY,KAAK,KAAK;AAAA,MAC7B,OAAO,QAAQ,SAAS;AAAA,MACxB,UAAU,WAAW,SAAS;AAAA,MAC9B,KAAK,YAAY,GAAG,KAAK;AAAA,MACzB,KAAK,YAAY,GAAG,KAAK;AAAA,MACzB,UAAU,WAAW,SAAS;AAAA,MAC7B,GAAG;AAAA,IAAA;AAAA,EAAA;AAGV;ACzEO,SAAS,YAAY;AAAA,EAC1B;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAqB;AACnB,QAAM,SAASJ,SAAAA,eAAwB,MAAMC,kBAAS;AAEtD,SACEG,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAM,OAAO,SAAS;AAAA,MACrB,GAAG;AAAA,MAEH;AAAA,IAAA;AAAA,EAAA;AAGP;AC1BO,SAAS,YAAY,OAAyB;AACnD,SACEA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,IAAI,MAAM;AAAA,MACV,IAAI,MAAM;AAAA,MACV,IAAI,MAAM;AAAA,MACV,IAAI,MAAM;AAAA,MACV,QAAQ,MAAM;AAAA,IAAA;AAAA,EAAA;AAGpB;ACdO,SAAS,WAAW;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAiC;AAC/B,QAAM,KAAKL,MAAAA,OAAoB,IAAI;AAEnCG,QAAAA,UAAU,MAAM;;AACd,QAAI,EAAC,yBAAI,YAAW,CAAC,SAAS;AAC5B;AAAA,IACF;AACA,aAAG,YAAH,mBAAY,iBAAiB,UAAU;AACvC,WAAO,MAAM;;AACX,OAAAK,MAAA,GAAG,YAAH,gBAAAA,IAAY,oBAAoB,UAAU;AAAA,IAC5C;AAAA,EACF,GAAG,CAAC,IAAI,OAAO,CAAC;AAEhB,SACEJ,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAK;AAAA,MACL;AAAA,MACA,MAAM,OAAO,OAAO;AAAA,MACpB,SAAS,OAAO,YAAY,WAAW,UAAU;AAAA,MACjD,SAAS;AAAA,MACT,QAAQ;AAAA,MAEP,UAAA;AAAA,QAAA,WAAW,OAAO,YAAY,2CAAa,OAAA,EAAI,MAAK,WAAW,UAAA,SAAQ;AAAA,QACvE,WAAWC,2BAAAA,IAAC,OAAA,EAAI,MAAK,WAAW,UAAA,SAAQ;AAAA,QACxC;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGP;ACOA,SAAS,UAAU,OAA8C;AAC/D,MAAI,OAAO,UAAU,aAAa;AAChC,WAAO;AAAA,EACT;AACA,MAAI,OAAO,UAAU,UAAU;AAC7B,WAAO;AAAA,EACT;AACA,SAAO,KAAK,UAAU,KAAK;AAC7B;AAEO,SAAS,aAAa;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAmC;AACjC,QAAM,KAAKL,MAAAA,OAAoB,IAAI;AAEnC,QAAM,SAASC,SAAAA,eAAwB,MAAMC,kBAAS;AAEtDC,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,GAAG,SAAS;AACf;AAAA,IACF;AACA,UAAM,UAAU,GAAG;AACnB,UAAM,UAAU,CAAC,MAAa;AAC5B,YAAM,SAAU,EAA8C;AAC9D,2CAAW,EAAE,GAAG,QAAQ,OAAO;IACjC;AACA,QAAI,UAAU;AACZ,cAAQ,iBAAiB,WAAW,OAAO;AAAA,IAC7C;AACA,WAAO,MAAM;AACX,UAAI,UAAU;AACZ,gBAAQ,oBAAoB,WAAW,OAAO;AAAA,MAChD;AAAA,IACF;AAAA,EACF,GAAG,CAAC,IAAI,QAAQ,CAAC;AAEjB,SACEE,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAK;AAAA,MACL,OAAO,UAAU,KAAK;AAAA,MACtB,UAAU,WAAW,SAAS;AAAA,MAC9B,OAAO,QAAQ,SAAS;AAAA,MACxB,YAAY,aAAa,SAAS;AAAA,MAClC,aAAa,cAAc,SAAS;AAAA,MACpC,QAAQ,SAAS,SAAS;AAAA,MAC1B,UAAU,WAAW,SAAS;AAAA,MAC7B,GAAG;AAAA,MAEH;AAAA,IAAA;AAAA,EAAA;AAGP;ACvGO,SAAS,mBAAmB,OAA8B;AAC/DF,QAAAA,UAAU,MAAM;AACd,YAAQ,KAAK,+DAA+D;AAAA,EAC9E,GAAG,CAAA,CAAE;AAEL,SAAOE,+BAAC,kBAAA,EAAkB,GAAG,MAAA,CAAO;AACtC;AAEO,SAAS,iBAAiB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY;AACd,GAA0B;AACxB,SACEA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,OAAO;AAAA,IAAA;AAAA,EAAA;AAGb;ACTO,SAAS,mBAAmB;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAA4B;AAC1B,QAAM,KAAKL,MAAAA,OAAoB,IAAI;AAEnC,QAAM,SAASC,SAAAA,eAAwB,EAAE,UAAU,GAAG,KAAA,GAAQC,kBAAS;AAEvEC,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,GAAG,QAAS;AAEjB,UAAM,UAAU,GAAG;AACnB,UAAM,gBAAgB,CAAC,UAAiB,qCAAW,EAAE,UAAU;AAC/D,UAAM,gBAAgB,CAAC,UAAiB,qCAAW,EAAE,UAAU;AAC/D,YAAQ,iBAAiB,WAAW,aAAa;AACjD,YAAQ,iBAAiB,WAAW,aAAa;AACjD,WAAO,MAAM;AACX,cAAQ,oBAAoB,WAAW,aAAa;AACpD,cAAQ,oBAAoB,WAAW,aAAa;AAAA,IACtD;AAAA,EACF,GAAG,CAAC,IAAI,UAAU,UAAU,QAAQ,CAAC;AAErC,SACEE,2BAAAA,IAAC,wBAAA,EAAqB,KAAK,IAAK,GAAG,QAAQ;AAE/C;AChCO,SAAS,oBAAoB;AAAA,EAClC;AAAA,EACA,GAAG;AACL,GAA6B;AAC3B,QAAM,KAAKL,MAAAA,OAAoB,IAAI;AAEnC,QAAM,SAASC,SAAAA,eAAwB,MAAMC,kBAAS;AAEtDC,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,GAAG,QAAS;AAEjB,UAAM,UAAU,GAAG;AACnB,UAAM,UAAU,CAAC,MAAa;AAC5B,YAAM,SAAU,EAAyD;AACzE,mBAAa,EAAE,GAAG,QAAQ,OAAO,GAAG;AAAA,IACtC;AACA,YAAQ,iBAAiB,eAAe,OAAO;AAC/C,WAAO,MAAM;AACX,cAAQ,oBAAoB,eAAe,OAAO;AAAA,IACpD;AAAA,EACF,GAAG,CAAC,IAAI,YAAY,CAAC;AAErB,SACEE,2BAAAA,IAAC,yBAAA,EAAsB,KAAK,IAAK,GAAG,QAAQ;AAEhD;AC5BO,SAAS,cAAc;AAAA,EAC5B;AAAA,EACA,GAAG;AACL,GAAoC;AAClC,QAAM,SAASJ,SAAAA,eAAwB,MAAMC,kBAAS;AAEtD,SACEG,2BAAAA,IAAC,kBAAA,EAAgB,GAAG,QACjB,SAAA,CACH;AAEJ;AClBO,SAAS,yBAAyB;AAAA,EACvC;AAAA,EACA,GAAG;AACL,GAAkC;AAChC,QAAM,SAASJ,SAAAA,eAAwB,MAAMC,kBAAS;AAEtD,wCACG,+BAAA,EAA4B,MAAK,QAAQ,GAAG,QAC1C,UACH;AAEJ;ACPO,SAAS,wBAAwB;AAAA,EACtC;AAAA,EACA,GAAG;AACL,GAA8B;AAC5B,QAAM,SAASD,SAAAA,eAAwB,MAAMC,kBAAS;AAEtD,wCACG,8BAAA,EAA2B,MAAK,OAAO,GAAG,QACxC,UACH;AAEJ;ACIO,SAAS,aAAa;AAAA,EAC3B;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAmC;AACjC,QAAM,MAAMF,MAAAA,OAAoB,IAAI;AAEpC,QAAM,SAASC,SAAAA,eAAwB,MAAMK,cAAK;AAElDH,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,IAAI,QAAS;AAClB,UAAM,UAAU,IAAI;AAEpB,UAAM,mBAAmB,CAAC,MAAa;AACrC,YAAM,QAAS,EAAgD;AAC/D,aAAO,yCAAa;AAAA,IACtB;AAEA,QAAI,YAAY;AACd,cAAQ,iBAAiB,aAAa,gBAAgB;AAAA,IACxD;AAEA,WAAO,MAAM;AACX,UAAI,YAAY;AACd,gBAAQ,oBAAoB,aAAa,gBAAgB;AAAA,MAC3D;AAAA,IACF;AAAA,EACF,GAAG,CAAC,KAAK,UAAU,CAAC;AAEpB,SACEE,2BAAAA,IAAC,gBAAA,EAAa,KAAW,GAAG,QACzB,UACH;AAEJ;AClBO,SAAS,mBAAmB;AAAA,EACjC;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAA4B;AAC1B,QAAM,MAAML,MAAAA,OAAoB,IAAI;AAEpC,QAAM,SAASC,SAAAA,eAAwB,MAAMK,cAAK;AAElDH,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,IAAI,QAAS;AAClB,UAAM,UAAU,IAAI;AAEpB,UAAM,mBAAmB,CAAC,MAAa;AACrC,+CAAa;AAAA,IACf;AAEA,QAAI,YAAY;AACd,cAAQ,iBAAiB,aAAa,gBAAgB;AAAA,IACxD;AAEA,WAAO,MAAM;AACX,UAAI,YAAY;AACd,gBAAQ,oBAAoB,aAAa,gBAAgB;AAAA,MAC3D;AAAA,IACF;AAAA,EACF,GAAG,CAAC,KAAK,UAAU,CAAC;AAEpB,SACEE,2BAAAA,IAAC,wBAAA,EAAqB,KAAW,GAAG,QACjC,UACH;AAEJ;AC9DO,SAAS,sBAAsB;AAAA,EACpC,UAAU;AAAA,EACV,GAAG;AACL,GAA+B;AAC7B,QAAM,SAASJ,SAAAA;AAAAA,IACb,EAAE,SAAS,GAAG,KAAA;AAAA,IACdC,SAAAA;AAAAA,EAAA;AAGF,SACEG,+BAAC,2BAAA,EAAyB,GAAG,OAAA,CAAQ;AAEzC;ACEO,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAwB;AACtB,QAAM,MAAML,MAAAA,OAAoB,IAAI;AACpC,QAAM,cAAcA,MAAAA,OAAO,KAAK;AAEhC,QAAM,SAASC,SAAAA,eAAwB,MAAMC,kBAAS;AAGtDO,QAAAA,gBAAgB,MAAM;AACpB,QAAI,CAAC,IAAI,QAAS;AAClB,UAAM,UAAU,IAAI;AAEpB,UAAM,eAAe,CAAC,MAAa;AACjC,uCAAS;AAAA,IACX;AAGA,QAAI,UAAU,CAAC,YAAY,SAAS;AAClC,cAAQ,iBAAiB,SAAS,YAAY;AAAA,IAChD;AAEA,UAAM,mBAAmB,CAAC,MAAa;AACrC,YAAM,SAAU,EAAkB;AAClC,+CAAa;AAAA,IACf;AAEA,UAAM,sBAAsB,CAAC,MAAa;AACxC,YAAM,SAAU,EAAkB;AAClC,qDAAgB,OAAO;AAAA,IACzB;AAEA,QAAI,YAAY;AACd,cAAQ,iBAAiB,aAAa,gBAAgB;AAAA,IACxD;AAEA,QAAI,eAAe;AACjB,cAAQ,iBAAiB,gBAAgB,mBAAmB;AAAA,IAC9D;AAEA,WAAO,MAAM;AACX,UAAI,QAAQ;AACV,gBAAQ,oBAAoB,SAAS,YAAY;AAAA,MACnD;AACA,UAAI,YAAY;AACd,gBAAQ,oBAAoB,aAAa,gBAAgB;AAAA,MAC3D;AACA,UAAI,eAAe;AACjB,gBAAQ,oBAAoB,gBAAgB,mBAAmB;AAAA,MACjE;AAAA,IACF;AAAA,EACF,GAAG,CAAC,QAAQ,YAAY,aAAa,CAAC;AAEtC,SACEJ,2BAAAA,IAAC,mBAAA,EAAgB,KAAW,GAAG,QAC5B,UACH;AAEJ;AClEO,SAAS,kBAAkB;AAAA,EAChC,KAAK;AAAA,EACL,OAAO;AAAA,EACP,cAAc;AAAA,EACd;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAA2B;AACzB,QAAM,MAAML,MAAAA,OAAoB,IAAI;AAEpC,QAAM,SAASC,SAAAA;AAAAA,IACb,EAAE,IAAI,MAAM,gBAAgB,aAAa,GAAG,KAAA;AAAA,IAC5CK,SAAAA;AAAAA,EAAA;AAGFH,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,IAAI,QAAS;AAClB,UAAM,UAAU,IAAI;AAEpB,UAAM,eAAe,CAAC,MAAa;AACjC,uCAAS;AAAA,IACX;AAEA,UAAM,sBAAsB,CAAC,MAAa;AACxC,qDAAgB;AAAA,IAClB;AAEA,QAAI,QAAQ;AACV,cAAQ,iBAAiB,SAAS,YAAY;AAAA,IAChD;AACA,QAAI,eAAe;AACjB,cAAQ,iBAAiB,gBAAgB,mBAAmB;AAAA,IAC9D;AAEA,WAAO,MAAM;AACX,UAAI,QAAQ;AACV,gBAAQ,oBAAoB,SAAS,YAAY;AAAA,MACnD;AACA,UAAI,eAAe;AACjB,gBAAQ,oBAAoB,gBAAgB,mBAAmB;AAAA,MACjE;AAAA,IACF;AAAA,EACF,GAAG,CAAC,KAAK,QAAQ,aAAa,CAAC;AAE/B,SACEE,2BAAAA,IAAC,sBAAA,EAAmB,KAAW,GAAG,QAC/B,UACH;AAEJ;ACpDO,SAAS,uBAAuB;AAAA,EACrC,UAAU;AAAA,EACV,eAAe;AAAA,EACf,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB;AAAA,EACA,GAAG;AACL,GAAgC;AAC9B,QAAM,SAASJ,SAAAA;AAAAA,IACb,EAAE,SAAS,iBAAiB,cAAc,sBAAsB,kBAAkB,qBAAqB,kBAAkB,GAAG,KAAA;AAAA,IAC5HK,SAAAA;AAAAA,EAAA;AAGF,wCACG,4BAAA,EAAyB,MAAK,iBAAiB,GAAG,QAChD,UACH;AAEJ;ACxBO,SAAS,mBAAmB;AAAA,EACjC,SAAS;AAAA,EACT;AAAA,EACA,GAAG;AACL,GAA4B;AAC1B,QAAM,SAASL,SAAAA;AAAAA,IACb,EAAE,QAAQ,GAAG,KAAA;AAAA,IACbC,SAAAA;AAAAA,EAAA;AAGF,SAAOG,2BAAAA,IAAC,wBAAA,EAAsB,GAAG,QAAS,SAAA,CAAS;AACrD;ACXO,SAAS,uBAAuB;AAAA,EACrC;AAAA,EACA,GAAG;AACL,GAAgC;AAC9B,QAAM,SAASJ,SAAAA,eAAwB,MAAMC,kBAAS;AAEtD,SACEG,2BAAAA,IAAC,6BAAA,EAA2B,GAAG,QAC5B,SAAA,CACH;AAEJ;ACSO,SAAS,aAAa;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAmC;AACjC,QAAM,SAASJ,SAAAA,eAAwB,MAAMC,kBAAS;AAEtD,SACEE,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,OAAO,OAAO,UAAU,WAAW,QAAQ;AAAA,MAC3C,UAAU,OAAO,aAAa,WAAW,WAAW;AAAA,MACpD,6BAA2B;AAAA,MAC1B,GAAG;AAAA,MAEH,UAAA;AAAA,QAAA,SAAS,OAAO,UAAU,2CAAa,OAAA,EAAI,MAAK,SAAS,UAAA,OAAM;AAAA,QAC/D,YAAY,OAAO,aAAa,2CAAa,OAAA,EAAI,MAAK,YAAY,UAAA,UAAS;AAAA,QAC3E;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGP;AC1CO,SAAS,aAAa,OAA0B;AACrD,wCAAQ,iBAAA,EAAc,MAAM,MAAM,MAAM,QAAQ,MAAM,QAAQ;AAChE;ACEO,SAAS,gBAAgB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAyB;AACvB,QAAM,MAAMJ,MAAAA,OAAyB,IAAI;AACzCG,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,IAAI,SAAS;AAChB;AAAA,IACF;AACA,UAAM,UAAU,IAAI;AACpB,UAAM,iBAAiB,CAAC,MAAe;AACrC,YAAM,SAAU,EAAiD;AACjE,2CAAW;AAAA,IACb;AAEA,YAAQ,iBAAiB,WAAW,cAAc;AAClD,WAAO,MAAM;AACX,cAAQ,oBAAoB,WAAW,cAAc;AAAA,IACvD;AAAA,EACF,GAAG,CAAC,KAAK,QAAQ,CAAC;AAElB,SACEE,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,QAAQ;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MAEC;AAAA,IAAA;AAAA,EAAA;AAGP;ACvCO,SAAS,SAAS;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA+B;AAC7B,SACEA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,eAAe;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAQ;AAAA,MAEP;AAAA,IAAA;AAAA,EAAA;AAGP;AClBO,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAqC;AACnC,SACEA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,eAAe;AAAA,MACf,WAAW;AAAA,MACX,iBAAiB;AAAA,MACjB,iBAAiB;AAAA,MACjB,WAAW;AAAA,MACX,QAAQ;AAAA,MAEP;AAAA,IAAA;AAAA,EAAA;AAGP;ACjDO,SAAS,sBAAsB;AAAA,EACpC;AACF,GAA2C;AACzC,SAAOA,2BAAAA,IAAC,OAAA,EAAI,MAAK,WAAW,SAAA,CAAS;AACvC;ACuCO,SAAS,eAAe;AAAA,EAC7B,UAAU;AAAA,EACV,OAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAqC;AACnC,QAAM,MAAML,MAAAA,OAAoB,IAAI;AAEpC,QAAM,SAASC,SAAAA;AAAAA,IACb,EAAE,SAAS,MAAM,GAAG,KAAA;AAAA,IACpBC,SAAAA;AAAAA,EAAA;AAGFC,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,IAAI,SAAS;AAChB;AAAA,IACF;AACA,QAAI,CAAC,SAAS;AACZ;AAAA,IACF;AACA,UAAM,UAAU,IAAI;AACpB,UAAM,WAAW,MAAM;AACrB;AAAA,IACF;AAEA,YAAQ,iBAAiB,UAAU,QAAQ;AAC3C,WAAO,MAAM;AACX,cAAQ,oBAAoB,UAAU,QAAQ;AAAA,IAChD;AAAA,EACF,GAAG,CAAC,KAAK,OAAO,CAAC;AAEjB,SACEE,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,UAAU,WAAW,SAAS;AAAA,MAC9B,cAAY;AAAA,MACZ,eAAa,KAAK,UAAU,UAAU;AAAA,MACrC,GAAG;AAAA,MAEH;AAAA,IAAA;AAAA,EAAA;AAGP;AC/CO,SAAS,SAAS;AAAA,EACvB;AAAA,EACA,GAAG;AACL,GAA+B;AAC7B,QAAM,SAASJ,SAAAA,eAAwB,MAAMC,kBAAS;AAEtD,SACEG,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,UACE,OAAO,aAAa,YAAa,WAAW,SAAS,SAAa;AAAA,MAEnE,GAAG;AAAA,IAAA;AAAA,EAAA;AAGV;AC2DO,SAAS,UAAU;AAAA,EACxB,UAAU;AAAA,EACV,YAAY;AAAA,EACZ;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAA2D;AACzD,QAAM,MAAML,MAAAA,OAAyB,IAAI;AAEzC,QAAM,SAASC,SAAAA,eAAwB,EAAE,SAAS,WAAW,WAAW,GAAG,KAAA,GAAQC,kBAAS;AAE5FC,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,IAAI,SAAS;AAChB;AAAA,IACF;AACA,UAAM,UAAU,IAAI;AACpB,UAAM,iBAAiB,CAAC,MAAa;AACnC,YAAM,SAAU,EAA2C;AAC3D,2CAAW,EAAE,GAAG,QAAQ,OAAO;IACjC;AACA,UAAM,gBAAgB,MAAM;AAC1B;AAAA,IACF;AAEA,UAAM,gBAAgB,CAAC,MAAa;AAClC,YAAM,SAAU,EAA0C;AAC1D,yCAAU,EAAE,GAAG,QAAQ,OAAO;IAChC;AAEA,UAAM,eAAe,CAAC,MAAa;AACjC,YAAM,SAAU,EAAyC;AACzD,uCAAS,EAAE,GAAG,QAAQ,OAAO;IAC/B;AAEA,UAAM,mBAAmB,CAAC,MAAa;AACrC,YAAM,SAAU,EAA6C;AAC7D,+CAAa,EAAE,GAAG,QAAQ,OAAO;IACnC;AAEA,YAAQ,iBAAiB,WAAW,cAAc;AAClD,YAAQ,iBAAiB,sBAAsB,aAAa;AAC5D,YAAQ,iBAAiB,UAAU,aAAa;AAChD,YAAQ,iBAAiB,SAAS,YAAY;AAC9C,YAAQ,iBAAiB,aAAa,gBAAgB;AAEtD,WAAO,MAAM;AACX,cAAQ,oBAAoB,WAAW,cAAc;AACrD,cAAQ,oBAAoB,sBAAsB,aAAa;AAC/D,cAAQ,oBAAoB,UAAU,aAAa;AACnD,cAAQ,oBAAoB,SAAS,YAAY;AACjD,cAAQ,oBAAoB,aAAa,gBAAgB;AAAA,IAC3D;AAAA,EACF,GAAG,CAAC,KAAK,UAAU,qBAAqB,SAAS,QAAQ,UAAU,CAAC;AAEpE,SACEC,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACC,GAAG;AAAA,MACJ,SAAS,UAAU,SAAS;AAAA,MAC5B,UAAU,WAAW,SAAS;AAAA,MAC9B,UAAU,WAAW,SAAS;AAAA,MAC9B,OAAO,QAAQ,SAAS;AAAA,MACxB,yBAAyB,sBAAsB,SAAS;AAAA,MAEvD,UAAA;AAAA,QAAA,kBAAkBC,2BAAAA,IAAC,OAAA,EAAI,MAAK,kBAAkB,UAAA,gBAAe;AAAA,QAC7D,mBAAmBA,2BAAAA,IAAC,OAAA,EAAI,MAAK,mBAAmB,UAAA,gBAAA,CAAgB;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGvE;AAEA,MAAM,sBAAsB,CAAC,aAAkC;AAC7D,SAAO,CAAC,EAAE,MAAM,OAAO,YAAoD;AACzE,QAAI,CAAC,OAAO;AACV,2CAAW,EAAE,MAAM,OAAO,IAAI;AAC9B;AAAA,IACF;AAEA,QAAI,OAAO,UAAU,YAAYK,SAAAA,QAAQ,IAAI,KAAK,KAAK,CAAC,GAAG;AACzD,2CAAW,EAAE,MAAM,OAAOC,SAAAA,SAAS,KAAK,GAAG;AAC3C;AAAA,IACF;AAEA,QAAID,SAAAA,QAAQ,KAAK,GAAG;AAClB,2CAAW,EAAE,MAAM,OAAO,MAAA;AAC1B;AAAA,IACF;AAAA,EACF;AACF;AAEA,MAAM,sBAAsB,CAAC,aAAwB;AACnD,SAAO,CAAC,EAAE,MAAM,OAAO,YAAqC;AAC1D,QAAI,CAAC,OAAO;AACV,2CAAW,EAAE,MAAM,OAAO,IAAI;AAC9B;AAAA,IACF;AACA,yCAAW,EAAE,MAAM,OAAO,MAAA;AAAA,EAC5B;AACF;AAEA,SAAS,SAAS,OAAoC,OAAO,cAAsB;AACjF,MAAI,CAAC,OAAO;AACV,WAAO;AAAA,EACT;AACA,MAAI,OAAO,UAAU,UAAU;AAC7B,WAAOE,gBAAOD,SAAAA,SAAS,KAAK,GAAG,IAAI;AAAA,EACrC;AACA,MAAI,MAAM,mBAAkB,oBAAI,KAAK,CAAC,GAAE,eAAe;AACrD,WAAO;AAAA,EACT;AACA,SAAOC,SAAAA,OAAO,OAAO,IAAI;AAC3B;AAEO,SAAS,cAAc,OAAoC;AAChE,SAAOP,2BAAAA,IAAC,WAAA,EAAW,GAAG,OAAO,MAAK,QAAO;AAC3C;AAEO,SAAS,kBAAkB,OAAoC;AACpE,SAAOA,2BAAAA,IAAC,WAAA,EAAW,GAAG,OAAO,MAAK,YAAW;AAC/C;AAEO,SAAS,cAAc;AAAA,EAC5B;AAAA,EACA,MAAM;AAAA,EACN,MAAM;AAAA,EACN,GAAG;AACL,GAAoC;AAClC,SACEA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAG;AAAA,MACJ,MAAK;AAAA,MACL,UAAU,oBAAoB,MAAM,QAAQ;AAAA,MAC5C,KAAK,SAAS,GAAG;AAAA,MACjB,KAAK,SAAS,GAAG;AAAA,MACjB,OAAO,SAAS,KAAK;AAAA,IAAA;AAAA,EAAA;AAG3B;AAEO,SAAS,cAAc;AAAA,EAC5B;AAAA,EACA,MAAM;AAAA,EACN,MAAM;AAAA,EACN,GAAG;AACL,GAAgC;AAC9B,SACEA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAG;AAAA,MACJ,UAAU,oBAAoB,MAAM,QAAQ;AAAA,MAC5C;AAAA,MACA,MAAK;AAAA,IAAA;AAAA,EAAA;AAGX;AAEO,SAAS,kBAAkB;AAAA,EAChC;AAAA,EACA,MAAM;AAAA,EACN,MAAM;AAAA,EACN,GAAG;AACL,GAAoC;AAClC,SACEA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAG;AAAA,MACJ,UAAU,oBAAoB,MAAM,QAAQ;AAAA,MAC5C,OAAO,SAAS,OAAO,oBAAoB;AAAA,MAC3C,MAAK;AAAA,IAAA;AAAA,EAAA;AAGX;AAEO,SAAS,eAAe,OAAoC;AACjE,SAAOA,2BAAAA,IAAC,WAAA,EAAW,GAAG,OAAO,MAAK,SAAQ;AAC5C;AAEO,SAAS,gBAAgB,OAAoC;AAClE,wCAAQ,WAAA,EAAW,GAAG,OAAO,MAAK,UAAS,cAAa,UAAS;AACnE;AAEO,SAAS,aAAa,OAAoC;AAC/D,SAAOA,2BAAAA,IAAC,WAAA,EAAW,GAAG,OAAO,MAAK,OAAM;AAC1C;AAEO,SAAS,aAAa,OAAoC;AAC/D,SAAOA,2BAAAA,IAAC,WAAA,EAAW,GAAG,OAAO,MAAK,OAAM;AAC1C;AAEO,SAAS,cAAc,OAAoC;AAChE,SACEA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,IAAI,MAAM;AAAA,MACV,MAAM,MAAM;AAAA,MACZ,MAAK;AAAA,MACL,UAAU,CAAC;;AACT,2BAAM,aAAN,+BAAiB;AAAA,UACf,MAAM,EAAE,OAAO;AAAA,UACf,OAAO,EAAE,OAAO;AAAA,UAChB,OAAO,EAAE;AAAA,QAAA;AAAA;AAAA,MAGb,OAAO,EAAE,iBAAiB,SAAA;AAAA,IAAS;AAAA,EAAA;AAGzC;AAEO,SAAS,eAAe,OAAoC;AACjE,SAAOA,2BAAAA,IAAC,WAAA,EAAW,GAAG,OAAO,MAAK,SAAQ;AAC5C;AAEO,SAAS,gBAAgB;AAAA,EAC9B,MAAM,OAAO;AAAA,EACb,MAAM,OAAO;AAAA,EACb;AAAA,EACA,YAAY;AAAA,EACZ,GAAG;AACL,GAAsC;AACpC,QAAM,iBAAiB,CAAC,EAAE,MAAM,OAAAQ,QAAO,YAAqC;;AAC1E,gBAAM,aAAN,+BAAiB,EAAE,MAAM,OAAO,WAAWA,MAAK,GAAG;EACrD;AACA,QAAM,UAAU,CAAC,EAAE,MAAM,OAAAA,QAAO,YAAoC;;AAClE,gBAAM,YAAN,+BAAgB,EAAE,MAAM,OAAO,WAAWA,MAAK,GAAG;EACpD;AACA,QAAM,SAAS,CAAC,EAAE,MAAM,OAAAA,QAAO,YAAmC;;AAChE,gBAAM,WAAN,+BAAe,EAAE,MAAM,OAAO,WAAWA,MAAK,GAAG;EACnD;AACA,QAAM,aAAa,CAAC,EAAE,MAAM,OAAAA,QAAO,KAAK,YAAuC;;AAC7E,gBAAM,eAAN,+BAAmB,EAAE,MAAM,OAAO,WAAWA,MAAK,GAAG,KAAK,SAAS,GAAG,GAAG,MAAA;AAAA,EAC3E;AACA,SACER,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAG;AAAA,MACJ,UAAU;AAAA,MACV,KAAK,2BAAK;AAAA,MACV,KAAK,2BAAK;AAAA,MACV,OAAO,+BAAO;AAAA,MACd;AAAA,MACA;AAAA,MACA,MAAK;AAAA,MACL;AAAA,MACA;AAAA,IAAA;AAAA,EAAA;AAGN;AAEO,SAAS,eAAe,OAAoC;AACjE,SAAOA,2BAAAA,IAAC,WAAA,EAAW,GAAG,OAAO,MAAK,SAAQ;AAC5C;AC7VO,MAAM,qBAAqB,CAAC;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAA+B;AAC7B,SACEA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,sBAAoB;AAAA,MACpB,cAAY;AAAA,MACZ,mBAAiB;AAAA,MACjB,QAAQ;AAAA,IAAA;AAAA,EAAA;AAGd;AClBO,SAAS,SAAS;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAkB;AAChB,QAAM,SAASJ,SAAAA,eAAwB,MAAMC,kBAAS;AAEtD,SACEG,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,cAAY;AAAA,MACZ,eAAa,KAAK,UAAU,UAAU;AAAA,MACrC,GAAG;AAAA,MAEH;AAAA,IAAA;AAAA,EAAA;AAGP;ACdO,SAAS,cAAc;AAAA,EAC5B,OAAO;AAAA,EACP;AAAA,EACA,GAAG;AACL,GAAuB;AACrB,QAAM,SAASJ,SAAAA;AAAAA,IACb,EAAE,MAAM,GAAG,KAAA;AAAA,IACXC,SAAAA;AAAAA,EAAA;AAGF,SACEG,2BAAAA,IAAC,mBAAA,EAAiB,GAAG,QAClB,SAAA,CACH;AAEJ;ACgDO,SAAS,eAAe;AAAA,EAC7B,OAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAqC;AACnC,QAAM,KAAKL,MAAAA,OAAoB,IAAI;AAEnC,QAAM,SAASC,SAAAA;AAAAA,IACb,EAAE,MAAM,QAAQ,QAAQ,GAAG,KAAA;AAAA,IAC3BK,SAAAA;AAAAA,EAAA;AAGFH,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,GAAG,SAAS;AACf;AAAA,IACF;AACA,QAAI,CAAC,UAAU;AACb;AAAA,IACF;AACA,UAAM,UAAU,GAAG;AAGnB,UAAM,WAAW,CAAC,MAAa;AAC7B,YAAM,SAAU,EAAkB;AAClC,2CAAW;AAAA,IACb;AAEA,YAAQ,iBAAiB,WAAW,QAAQ;AAC5C,WAAO,MAAM;AACX,cAAQ,oBAAoB,WAAW,QAAQ;AAAA,IACjD;AAAA,EACF,GAAG,CAAC,IAAI,QAAQ,CAAC;AAEjB,wCACG,mBAAA,EAAiB,GAAG,QAAQ,KAAK,IAC/B,UACH;AAEJ;ACtGO,SAAS,eAAe,OAAyC;AACtE,QAAM,SAASF,SAAAA,eAAwB,OAAOC,kBAAS;AAEvD,SACEG,+BAAC,mBAAA,EAAiB,GAAG,OAAA,CAAQ;AAEjC;ACGO,SAAS,oBAAoB;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAiC;AAC/B,QAAM,KAAKL,MAAAA,OAAoB,IAAI;AAEnCG,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,GAAG,SAAS;AACf;AAAA,IACF;AACA,QAAI,CAAC,iBAAiB;AACpB;AAAA,IACF;AACA,UAAM,UAAU,GAAG;AACnB,UAAM,WAAW,MAAM;AACrB,sBAAA;AAAA,IACF;AAEA,YAAQ,iBAAiB,kBAAkB,QAAQ;AACnD,WAAO,MAAM;AACX,cAAQ,oBAAoB,kBAAkB,QAAQ;AAAA,IACxD;AAAA,EACF,GAAG,CAAC,IAAI,eAAe,CAAC;AAExB,SACEE,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAK;AAAA,MACL;AAAA,MACA,SAAS,OAAO,YAAY,WAAW,UAAU;AAAA,MACjD,aAAa;AAAA,MACb,QAAQ;AAAA,MACR,iBAAiB;AAAA,MACjB,mBAAmB;AAAA,MACnB,iBAAiB;AAAA,MACjB,oBAAoB,kBAAkB,SAAS;AAAA,MAE9C,UAAA,WAAW,OAAO,YAAY,2CAAa,OAAA,EAAI,MAAK,WAAW,UAAA,QAAA,CAAQ;AAAA,IAAA;AAAA,EAAA;AAG9E;ACzDO,SAAS,UAAU;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAgC;AAC9B,QAAM,KAAKL,MAAAA,OAAoB,IAAI;AAEnCG,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,GAAG,SAAS;AACf;AAAA,IACF;AACA,UAAM,UAAU,GAAG;AACnB,UAAM,WAAW,MAAM;AACrB;AAAA,IACF;AAEA,YAAQ,iBAAiB,UAAU,QAAQ;AAC3C,WAAO,MAAM;AACX,cAAQ,oBAAoB,UAAU,QAAQ;AAAA,IAChD;AAAA,EACF,GAAG,CAAC,IAAI,OAAO,CAAC;AAEhB,SACEC,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAK;AAAA,MACL,MAAM,OAAO,SAAS;AAAA,MACtB,UAAU,UAAU,SAAS;AAAA,MAC7B,SAAS,OAAO,YAAY,WAAW,UAAU;AAAA,MACjD,UAAU;AAAA,MACV;AAAA,MACA,gBAAgB;AAAA,MAChB,QAAQ;AAAA,MAEP,UAAA;AAAA,QAAA,WAAW,OAAO,YAAY,2CAAa,OAAA,EAAI,MAAK,WAAW,UAAA,SAAQ;AAAA,QACvE,WAAWC,2BAAAA,IAAC,OAAA,EAAI,MAAK,WAAW,UAAA,SAAQ;AAAA,QACxC;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGP;ACxDO,MAAM,mBAAmB,CAAC;AAAA,EAC/B,OAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAA6B;AAC3B,QAAM,KAAKL,MAAAA,OAAoB,IAAI;AAEnCG,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,GAAG,SAAS;AACf;AAAA,IACF;AACA,UAAM,UAAU,GAAG;AACnB,UAAM,WAAW,MAAM;AACrB;AAAA,IACF;AAEA,YAAQ,iBAAiB,YAAY,QAAQ;AAC7C,WAAO,MAAM;AACX,cAAQ,oBAAoB,YAAY,QAAQ;AAAA,IAClD;AAAA,EACF,GAAG,CAAC,IAAI,SAAS,CAAC;AAElB,SACEE,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAK;AAAA,MACL;AAAA,MACA,QAAQ;AAAA,MACR,iBAAiB;AAAA,MACjB,UAAU;AAAA,MAET;AAAA,IAAA;AAAA,EAAA;AAGP;AC/BO,SAAS,oBAAoB,OAAmC;AACrE,SAAOA,2BAAAA,IAAC,yBAAA,EAAuB,UAAA,MAAM,SAAA,CAAS;AAChD;ACOO,SAAS,cAAc,OAAoC;AAChE,SACEA,2BAAAA,IAAC,oBAAe,OAAO,MAAM,OAAO,QAAQ,MAAM,QAC/C,UAAA,MAAM,SAAA,CACT;AAEJ;ACVO,SAAS,UAAU,OAAoC;AAC5D,SACEA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,SAAS,MAAM;AAAA,MACf,IAAI,MAAM;AAAA,MACV,IAAI,MAAM;AAAA,MACV,IAAI,MAAM;AAAA,MACV,IAAI,MAAM;AAAA,MAET,UAAA,MAAM;AAAA,IAAA;AAAA,EAAA;AAGb;AClBO,SAAS,eAAe,EAAE,UAAU,GAAG,SAA8B;AAC1E,QAAM,MAAML,MAAAA,OAAoB,IAAI;AAEpCG,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,IAAI,SAAS;AAChB;AAAA,IACF;AACA,UAAM,UAAU,IAAI;AACpB,UAAM,iBAAiB,CAAC,MAAa;AACnC,YAAM,SAAU,EAAgD;AAChE,eAAS,MAAM;AAAA,IACjB;AAEA,YAAQ,iBAAiB,WAAW,cAAc;AAClD,WAAO,MAAM;AACX,cAAQ,oBAAoB,WAAW,cAAc;AAAA,IACvD;AAAA,EACF,GAAG,CAAC,KAAK,QAAQ,CAAC;AAElB,SACEE,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,WAAW,MAAM;AAAA,MACjB,cAAc,MAAM;AAAA,MACpB,YAAY,MAAM;AAAA,MAClB,SAAS,MAAM;AAAA,MACf,IAAI,MAAM;AAAA,MACV,IAAI,MAAM;AAAA,MACV,IAAI,MAAM;AAAA,MACV,IAAI,MAAM;AAAA,MACV,QAAQ,MAAM;AAAA,IAAA;AAAA,EAAA;AAGpB;ACbO,SAAS,YAAY;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAkC;AAChC,QAAM,SAASJ,SAAAA,eAAwB,MAAMC,kBAAS;AAEtD,SACEE,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,QAAQ,OAAO,WAAW,cAAc,SAAY,SAAS,SAAS;AAAA,MACtE,UAAU,WAAW,SAAS;AAAA,MAC7B,GAAG;AAAA,MAEH,UAAA;AAAA,QAAA;AAAA,QACA,UAAUC,2BAAAA,IAAC,OAAA,EAAI,MAAK,UAAU,UAAA,OAAA,CAAO;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAG5C;ACpCO,SAAS,cAAc;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAoC;AAClC,SACED,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA,aAAa,OAAO,gBAAgB,WAAW,cAAc;AAAA,MAC7D,UAAU;AAAA,MACV,OAAO,QAAQ,SAAS;AAAA,MACxB,UAAU,WAAW,SAAS;AAAA,MAC9B,SAAS,UAAU,SAAS;AAAA,MAC5B,WAAW;AAAA,MACX,iBAAiB;AAAA,MACjB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MAEC,UAAA;AAAA,QAAA,eAAe,OAAO,gBAAgB,2CACpC,OAAA,EAAI,MAAK,eAAe,UAAA,aAAY;AAAA,QAEtC,UAAUC,2BAAAA,IAAC,OAAA,EAAI,MAAK,UAAU,UAAA,QAAO;AAAA,QACrC;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGP;AC3BO,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAqC;AACnC,QAAM,KAAKL,MAAAA,OAAoB,IAAI;AAEnC,QAAM,SAASC,SAAAA,eAAwB,MAAMC,kBAAS;AAEtDC,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,GAAG,QAAS;AAEjB,UAAM,WAAW,CAAC,MAAa;AAC7B,YAAM,SAAU,EAAgD;AAChE,2CAAW,EAAE,GAAG,QAAQ,OAAO;IACjC;AAEA,UAAM,YAAY,GAAG;AACrB,QAAI,UAAU;AACZ,gBAAU,iBAAiB,WAAW,QAAQ;AAAA,IAChD;AAEA,WAAO,MAAM;AACX,UAAI,UAAU;AACZ,kBAAU,oBAAoB,WAAW,QAAQ;AAAA,MACnD;AAAA,IACF;AAAA,EACF,GAAG,CAAC,MAAM,QAAQ,CAAC;AAEnB,SACEE,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAK;AAAA,MACJ,GAAG;AAAA,MACJ;AAAA,MACA,UAAU,WAAW,SAAS;AAAA,MAC9B,OAAO,QAAQ,SAAS;AAAA,MAEvB;AAAA,IAAA;AAAA,EAAA;AAGP;AClEO,SAAS,kBAAkB,OAA4C;AAC5E,SACEA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,SAAS,MAAM;AAAA,MACf,MAAM,MAAM;AAAA,MACZ,QAAQ,MAAM;AAAA,MACd,IAAI,MAAM;AAAA,MACV,IAAI,MAAM;AAAA,MACV,IAAI,MAAM;AAAA,MACV,IAAI,MAAM;AAAA,MAET,UAAA,MAAM;AAAA,IAAA;AAAA,EAAA;AAGb;ACdO,SAAS,oBAAoB,OAAiC;AACnE,yCACG,yBAAA,EAAsB,MAAM,MAAM,MAAM,QAAQ,MAAM,QACpD,UAAA;AAAA,IAAA,MAAM;AAAA,IACN,MAAM,QAAQA,2BAAAA,IAAC,UAAK,MAAK,QAAQ,gBAAM,KAAA,CAAK;AAAA,EAAA,GAC/C;AAEJ;ACVO,SAAS,aAAa,OAAuC;AAClE,wCAAQ,iBAAA,EAAc,QAAQ,MAAM,QAAS,gBAAM,UAAS;AAC9D;ACoBO,MAAM,eAAe,CAAC;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAyB;AACvB,SACEA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,UAAU;AAAA,MACV,WAAW;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAQ;AAAA,IAAA;AAAA,EAAA;AAGd;AC1BO,SAAS,WAAW,OAAwB;AACjD,SACEA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,UAAU,MAAM;AAAA,MAChB,UAAU,MAAM;AAAA,MAChB,QAAQ,MAAM;AAAA,IAAA;AAAA,EAAA;AAGpB;ACLO,SAAS,YAAY;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAkC;AAChC,SACEA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAQ,SAAS,SAAS;AAAA,MAC1B,QAAQ;AAAA,IAAA;AAAA,EAAA;AAGd;AC3BO,SAAS,UAAU,EAAE,QAAQ,GAAG,SAAyB;AAC9D,QAAM,MAAML,MAAAA,OAAyB,IAAI;AACzCG,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,IAAI,SAAS;AAChB;AAAA,IACF;AACA,UAAM,UAAU,IAAI;AACpB,UAAM,eAAe,CAAC,MAAe;AACnC,YAAM,SAAU,EAAyC;AACzD,uCAAS;AAAA,IACX;AAEA,YAAQ,iBAAiB,SAAS,YAAY;AAC9C,WAAO,MAAM;AACX,cAAQ,oBAAoB,SAAS,YAAY;AAAA,IACnD;AAAA,EACF,GAAG,CAAC,KAAK,MAAM,CAAC;AAEhB,SACEE,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,OAAO,MAAM;AAAA,MAGb,SAAS,MAAM;AAAA,MACf,QAAQ,MAAM;AAAA,MACd,IAAI,MAAM;AAAA,MACV,IAAI,MAAM;AAAA,MACV,IAAI,MAAM;AAAA,MACV,IAAI,MAAM;AAAA,MAEV,UAAAA,2BAAAA,IAAC,WAAM,OAAO,EAAE,OAAO,UAAW,gBAAM,SAAA,CAAS;AAAA,IAAA;AAAA,EAAA;AAGvD;ACrCO,SAAS,oBAAoB;AAAA,EAClC;AAAA,EACA,GAAG;AACL,GAAoC;AAClC,QAAM,SAASJ,SAAAA,eAAwB,MAAMC,kBAAS;AAEtD,SACEG,2BAAAA,IAAC,yBAAA,EAAuB,GAAG,QACxB,SAAA,CACH;AAEJ;ACjBO,SAAS,SAAS;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA+B;AAC7B,QAAM,MAAML,MAAAA,OAAoB,IAAI;AAEpCG,QAAAA,UAAU,MAAM;AACd,UAAM,UAAU,IAAI;AACpB,QAAI,WAAW,UAAU;AACvB,YAAM,UAAU,CAAC,UAAiB;AAChC,cAAM,SAAU,MAA8C;AAC9D,iBAAS,MAAM;AAAA,MACjB;AACA,cAAQ,iBAAiB,WAAW,OAAO;AAC3C,aAAO,MAAM;AACX,gBAAQ,oBAAoB,WAAW,OAAO;AAAA,MAChD;AAAA,IACF;AAAA,EACF,GAAG,CAAC,QAAQ,CAAC;AAEb,SACEE,+BAAC,cAAS,KAAU,YAAY,YAAY,QAAQ,QAAQ,SACzD,UACH;AAEJ;AChBO,SAAS,QAAQ,EAAE,SAAS,UAAU,MAAM,YAA2C;AAC5F,SACED,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,UAAU,WAAW,SAAS;AAAA,MAC9B,SAAS,OAAO,YAAY,WAAW,UAAU;AAAA,MAEhD,UAAA;AAAA,QAAA,OAAO,YAAY,YAAYC,2BAAAA,IAAC,QAAA,EAAK,MAAK,WAAW,UAAA,SAAQ;AAAA,QAC7D;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGP;ACJO,MAAM,gCAAgC,CAAC;AAAA,EAC5C,mBAAmB;AAAA,EACnB,qBAAqB;AAAA,EACrB;AAAA,EACA,GAAG;AACL,MAA0C;AACxC,QAAM,KAAKL,MAAAA,OAAoB,IAAI;AAEnC,QAAM,SAASC,SAAAA;AAAAA,IACb,EAAE,qBAAqB,kBAAkB,uBAAuB,oBAAoB,GAAG,KAAA;AAAA,IACvFK,SAAAA;AAAAA,EAAA;AAGF,SACED,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAK;AAAA,MACJ,GAAG;AAAA,MACJ,QAAQ;AAAA,IAAA;AAAA,EAAA;AAGd;ACXO,SAAS,SAAS;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAA8B;AAC5B,QAAM,SAASJ,SAAAA,eAAwB,MAAMC,kBAAS;AAEtD,SACEG,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,IAAI,OAAO;AAAA,MACV,GAAG;AAAA,MAEH;AAAA,IAAA;AAAA,EAAA;AAGP;ACNO,SAAS,aAAa;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAmC;AACjC,QAAM,KAAKL,MAAAA,OAA4B,IAAI;AAE3C,QAAM,SAASC,SAAAA,eAAwB,MAAMC,kBAAS;AAEtDC,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,GAAG,SAAS;AACf;AAAA,IACF;AACA,UAAM,UAAU,GAAG;AAEnB,UAAM,iBAAgC,CAAC,MAAa;AAClD,YAAM,SAAU,EAA8C;AAC9D,2CAAW,EAAE,GAAG,QAAQ,OAAO;IACjC;AAEA,UAAM,mBAAmB,CAAC,MAAe;AACvC,YAAM,SAAU,EAAgD;AAChE,+CAAa,EAAE,GAAG,QAAQ,OAAO;IACnC;AAEA,UAAM,eAAe,CAAC,MAAe;AACnC,YAAM,SAAU,EAA4C;AAC5D,uCAAS,EAAE,GAAG,QAAQ,OAAO;IAC/B;AAEA,YAAQ,iBAAiB,WAAW,cAAc;AAClD,YAAQ,iBAAiB,aAAa,gBAAgB;AACtD,YAAQ,iBAAiB,SAAS,YAAY;AAE9C,WAAO,MAAM;AACX,cAAQ,oBAAoB,WAAW,cAAc;AACrD,cAAQ,oBAAoB,aAAa,gBAAgB;AACzD,cAAQ,oBAAoB,SAAS,YAAY;AAAA,IACnD;AAAA,EACF,GAAG,CAAC,IAAI,UAAU,YAAY,MAAM,CAAC;AAErC,SACEE,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAK;AAAA,MACL,UAAU,WAAW,SAAS;AAAA,MAC9B,UAAU,WAAW,SAAS;AAAA,MAC9B,OAAO,QAAQ,SAAS;AAAA,MACvB,GAAG;AAAA,IAAA;AAAA,EAAA;AAGV;AC1EO,SAAS,sBAAsB,OAAmC;AACvE,SACED,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,iBAAiB,MAAM;AAAA,MACvB,kBAAkB,MAAM;AAAA,MACxB,iBAAiB,MAAM;AAAA,MAEtB,UAAA;AAAA,QAAA,MAAM,UAAUC,2BAAAA,IAAC,OAAA,EAAI,MAAK,UAAU,gBAAM,QAAO;AAAA,QACjD,MAAM,OAAOA,2BAAAA,IAAC,SAAI,MAAK,OAAO,gBAAM,KAAI;AAAA,QACxC,MAAM,WAAWA,2BAAAA,IAAC,SAAI,MAAK,aAAa,gBAAM,SAAQ;AAAA,QACtD,MAAM,YAAYA,2BAAAA,IAAC,SAAI,MAAK,aAAa,gBAAM,UAAS;AAAA,QACxD,MAAM;AAAA,QACN,MAAM,UAAUA,2BAAAA,IAAC,SAAI,MAAK,UAAU,gBAAM,OAAA,CAAO;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGxD;ACRO,SAAS,YAAY;AAAA,EAC1B;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAkC;AAChC,QAAM,SAASJ,SAAAA,eAAwB,MAAMC,kBAAS;AAEtD,QAAM,kBAAkB,OAAO,YAAY;AAE3C,SACEE,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,SAAS,kBAAmB,UAAqB;AAAA,MAChD,GAAG;AAAA,MAEH,UAAA;AAAA,QAAA,CAAC,mBAAmB,WAAWC,2BAAAA,IAAC,OAAA,EAAI,MAAK,WAAW,UAAA,SAAQ;AAAA,QAC5D;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGP;AC7BO,SAAS,oBAAoB,OAAiC;AACnE,SACED,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,gBAAgB,MAAM;AAAA,MACtB,iBAAiB,MAAM;AAAA,MAEtB,UAAA;AAAA,QAAA,MAAM,UAAUC,2BAAAA,IAAC,OAAA,EAAI,MAAK,UAAU,gBAAM,QAAO;AAAA,QACjD,MAAM,OAAOA,2BAAAA,IAAC,SAAI,MAAK,OAAO,gBAAM,KAAI;AAAA,QACxC,MAAM;AAAA,QACN,MAAM,UAAUA,2BAAAA,IAAC,SAAI,MAAK,UAAU,gBAAM,OAAA,CAAO;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGxD;AClBO,MAAM,iBAAiB,CAAC;AAAA,EAC7B,YAAY;AAAA,EACZ;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAA2B;AACzB,QAAM,KAAKL,MAAAA,OAAoB,IAAI;AAEnC,QAAM,SAASC,SAAAA;AAAAA,IACb,EAAE,WAAW,WAAW,GAAG,KAAA;AAAA,IAC3BC,SAAAA;AAAAA,EAAA;AAGFC,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,GAAG,QAAS;AACjB,QAAI,CAAC,QAAS;AAEd,UAAM,UAAU,GAAG;AAEnB,YAAQ,iBAAiB,UAAU,OAAO;AAC1C,WAAO,MAAM;AACX,cAAQ,oBAAoB,UAAU,OAAQ;AAAA,IAChD;AAAA,EACF,GAAG,CAAC,IAAI,OAAO,CAAC;AAEhB,SACEE,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAK;AAAA,MACL,OAAO,QAAQ,SAAS;AAAA,MACvB,GAAG;AAAA,IAAA;AAAA,EAAA;AAGV;AClDO,SAAS,SACd,IACA,WACA,QACA,MACA;AACA,MAAI,CAAC,IAAI;AACP,YAAQ,MAAM,0BAA0B;AACxC;AAAA,EACF;AACA,KAAG;AAAA,IACD,IAAI,YAAe,WAAW;AAAA,MAC5B,UAAU;AAAA,MACV,SAAS,6BAAM;AAAA,MACf;AAAA,IAAA,CACD;AAAA,EAAA;AAEL;AAGO,SAAS,MACd,IACA,WACA,MACA,MACA;AACA,MAAI,CAAC,IAAI;AACP,YAAQ,MAAM,0BAA0B;AACxC;AAAA,EACF;AACA,KAAG;AAAA,IACD,IAAI,YAA0C,OAAO;AAAA,MACnD,UAAU;AAAA,MACV,SAAS,6BAAM;AAAA,MACf,QAAQ;AAAA,QACN,QAAQ;AAAA,QACR;AAAA,MAAA;AAAA,IACF,CACD;AAAA,EAAA;AAEL;ACfO,MAAM,qBAAwB;AAAA,EAMnC,YAAoB,MAA0B;AANzC;AACL;AACA;AACA;AACQ,yCAAgB;AAEJ,SAAA,OAAA;AAAA,EAA2B;AAAA;AAAA,EAG/C,KAAK,GAAU;AAEb,QAAI,KAAK,UAAU;AACjB,cAAQ,KAAK,yCAAyC;AACtD;AAAA,IACF;AACA,SAAK,WAAY,EAAkB,OAAO;AAE1C,SAAK,QAAQ;AAAA,MACX,MAAM,OAAO,WAAA;AAAA,MACb,MAAM,CAAA;AAAA,MACN,SAAS,CAAA;AAAA,MACT,UAAU;AAAA,MACV,QAAQ;AAAA,IAAA;AAAA,EAEZ;AAAA,EAEA,SAAS,GAAU;AACjB,SAAK,WAAY,EAAkB,OAAO;AAC1C,SAAK,QAAQ,CAAA;AAAA,EACf;AAAA;AAAA,EAGA,UAAU,OAA8C,UAAuB;AAC7E,UAAM,KAAK,UAAU,wBAAwB,KAAK;AAElD,QAAI,OAAO,UAAU,UAAU;AAC7B,WAAK,QAAQ,KAAK,MAAM,KAAK;AAAA,IAC/B,WAAW,CAAC,MAAM,QAAQ,KAAK,GAAG;AAChC,WAAK,QAAQ;AAAA,IACf;AAEA,QAAI,UAAU;AACZ,iBAAW,UAAU,GAAG;AAAA,IAC1B;AAAA,EACF;AAAA,EAEA,gBAAgB,GAAU;AACxB,UAAM,SAAU,EAAkB;AAElC,QAAI,CAAC,MAAM,QAAQ,OAAO,IAAI,GAAG;AAC/B;AAAA,IACF;AAEA,SAAK,QAAQ,OAAO;AAAA,EACtB;AAAA,EAoBA,kBAAkB,GAAU;;AAC1B,QAAI,MAAM,QAAQ,KAAK,KAAK,GAAG;AAC7B;AAAA,IACF;AAEA,UAAM,SAAU,EAAkB;AAClC,QAAI,OAAO,SAAS,QAAQ;AAE1B,WAAK,QAAQ;AAAA,QACX,GAAG,KAAK;AAAA,QACR,MAAM,EAAE,KAAI,UAAK,UAAL,mBAAY,SAAQ,CAAA,GAAK,CAAC,OAAO,EAAE,GAAG,OAAO,KAAA;AAAA,MAAK;AAAA,IAElE,OAAO;AAEL,WAAK,QAAQ;AAAA,QACX,GAAG,KAAK;AAAA,QACR,GAAG,OAAO;AAAA,QACV,MAAM,EAAE,KAAI,UAAK,UAAL,mBAAY,SAAQ,CAAA,GAAK,GAAG,OAAO,KAAK,KAAA;AAAA,QACpD,SAAS,OAAO,KAAK;AAAA,MAAA;AAAA,IAEzB;AAAA,EACF;AAAA,EAEA,eAAyC;AACvC,QAAI,CAAC,KAAK,OAAO;AACf,aAAO,CAAA;AAAA,IACT;AACA,QAAI,CAAC,MAAM,QAAQ,KAAK,KAAK,GAAG;AAC9B,cAAQ;AAAA,QACN;AAAA,QACA,KAAK;AAAA,MAAA;AAEP,aAAO,CAAA;AAAA,IACT;AACA,QAAI,KAAK,MAAM,WAAW,GAAG;AAC3B,aAAO,CAAA;AAAA,IACT;AAEA,WAAO,KAAK,MAAM,IAAI,CAAC,MAAM;AAC3B,aAAO,OAAO,OAAO,EAAE,IAAI,EACxB,OAAO,CAAC,SAAS;;AAChB,iBAAO,kCAAM,SAAN,mBAAY,UAAS;AAAA,MAC9B,CAAC,EACA,IAAI,CAAC,SAAS;;AACb,eAAQ,KAAK,KAAK,SAAS,eAAa,UAAK,SAAL,mBAAW,cAAc,CAAA;AAAA,MACnE,CAAC,EACA;AAAA,QACC,CAAC,KAAK,SAAS;AACb,qBAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,IAAI,GAAG;AAC/C,gBAAI,GAAG,IAAI,MAAM;AAAA,UACnB;AACA,iBAAO;AAAA,QACT;AAAA,QACA,CAAA;AAAA,MAAC;AAAA,IAEP,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAuBA,cAAc,OAAe,KAAqB;AAChD,QAAI,MAAM,QAAQ,KAAK,KAAK,GAAG;AAC7B,cAAQ,MAAM,gEAAgE;AAC9E,aAAO;AAAA,IACT;AACA,QAAI,CAAC,KAAK,OAAO;AACf,cAAQ,MAAM,2CAA2C;AACzD,aAAO;AAAA,IACT;AAEA,UAAM,OAAO,KAAK,MAAM,KAAK,KAAK,EAAE;AACpC,QAAI,KAAK,SAAS,WAAW;AAC3B,aAAO;AAAA,IACT;AAEA,WAAO,KAAK,UAAU,GAAG,EAAE;AAAA,EAC7B;AAAA;AAAA,EAGA,WAAW,MAAqB;AAC9B,QAAI,CAAC,MAAM;AACT,cAAQ,MAAM,gCAAgC;AAC9C;AAAA,IACF;AAIA,UAAmB,KAAK,UAAU,sBAAsB,EAAE,MAAM;AAAA,EAClE;AAAA;AAAA,EAGA,SACE,GACA,OACA,YACA,SACkC;;AAClC,UAAM,EAAE,IAAI,OAAO,UAAA,IAAe,EAAkB;AACpD,UAAM,SAAQ,oCAAQ,WAAR,mBAAgB;AAE9B,WAAO,SAAS,EAAE,KAAK,GAAG,UAAU,UAAU;AAE9C,QAAI,WAAW;AACb,aAAO,CAAC,MAAM,KAAK;AAAA,IACrB;AAEA,eAAW,aAAa,YAAY;AAClC,YAAM,MAAM,UAAU,KAAK;AAC3B,4BAAK,mDAAL,WAAoB,IAAI,OAAO,KAAK;AACpC,UAAI,KAAK;AACP,eAAO,CAAC,OAAO,EAAE;AAAA,MACnB;AAAA,IACF;AACA,WAAO,CAAC,MAAM,KAAK;AAAA,EACrB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,cACE,GACA,QACA,YACmC;AACnC,QAAI,YAAY;AAChB,UAAM,cAAc,CAAA;AAEpB,eAAW,SAAS,QAAQ;AAC1B,YAAM,CAAC,MAAM,IAAI,KAAK,SAAS,GAAG,OAAO,YAAY,EAAE,SAAS,MAAM;AACtE,UAAI,QAAQ;AACV,oBAAY,KAAK,IAAI;AACrB;AAAA,MACF;AAAA,IACF;AAEA,WAAO,CAAC,WAAW,WAAW;AAAA,EAChC;AAAA,EAEA,KAAK,OAAe;AAClB,UAAM,KAAK,UAAU,yBAAyB,EAAE,OAAO,WAAW,QAAQ;AAAA,EAC5E;AAAA,EAEA,OAAO,OAAe;AACpB,UAAM,KAAK,UAAU,yBAAyB;AAAA,MAC5C;AAAA,MACA,WAAW;AAAA,IAAA,CACZ;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkBA,WAAW;AACT,QAAI,CAAC,KAAK,UAAU;AAClB,cAAQ,MAAM,+BAA+B;AAC7C;AAAA,IACF;AAEA,QAAI,KAAK,eAAe;AACtB,cAAQ,KAAK,0CAA0C;AACvD;AAAA,IACF;AAEA,SAAK,gBAAgB;AACrB,UAAM,KAAK,UAAU,oBAAoB,MAAM,EAAE,SAAS,MAAM;AAChE,SAAK,gBAAgB;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkBA,kBAAkB;AAChB,QAAI,CAAC,KAAK,UAAU;AAClB,cAAQ,MAAM,sCAAsC;AACpD;AAAA,IACF;AAEA,QAAI,KAAK,eAAe;AACtB,cAAQ,KAAK,iDAAiD;AAC9D;AAAA,IACF;AAEA,UAAM,UAAU,KAAK;AAGrB,SAAK,gBAAgB;AAErB,UAAM,qBAAqB,CAAC,MAAa;AACvC,cAAQ,oBAAoB,gBAAgB,kBAAkB;AAK9D,eAAS,SAAS,aAAa,CAAA,GAAI,EAAE,SAAS,MAAM;AACpD,WAAK,gBAAgB;AAAA,IACvB;AAEA,YAAQ,iBAAiB,gBAAgB,kBAAkB;AAE3D,aAAS,SAAS,aAAa,MAAM,EAAE,SAAS,MAAM;AAAA,EACxD;AAAA;AAAA,EAyBA,MAAM,MAAmB;AACvB,WAAO,KAAK,QAAQ,OAAgC,CAAC,KAAK,eAAe;AACvE,UAAI,UAAU,IAAI,KAAK,KAAK,UAAU;AACtC,aAAO;AAAA,IACT,GAAG,CAAA,CAAE;AAAA,EACP;AACF;AApWO;AAwDL,oCAAuB,QAA4D;;AACjF,MAAI,CAAC,MAAM,QAAQ,OAAO,IAAI,GAAG;AAC/B;AAAA,EACF;AAEA,MAAI,MAAM,QAAQ,KAAK,KAAK,GAAG;AAC7B;AAAA,EACF;AAEA,OAAK,QAAQ;AAAA,IACX,GAAG,KAAK;AAAA,IACR,MAAM;AAAA,MACJ,KAAI,UAAK,UAAL,mBAAY,SAAQ,CAAA;AAAA,MACxB,CAAC,OAAO,EAAE,GAAG,OAAO;AAAA,IAAA;AAAA,EACtB;AAEJ;AAAA;AAgQA,mBAAA,SACE,IACA,MACA,KACA,SACA;AACA,KAAG;AAAA,IACD,IAAI,YAAY,OAAO;AAAA,MACrB,UAAU;AAAA,MACV,QAAQ;AAAA,QACN,QAAQ;AAAA,QACR,MAAM;AAAA,UACJ;AAAA,UACA;AAAA,UACA,SAAS,mCAAS;AAAA,QAAA;AAAA,MACpB;AAAA,IACF,CACD;AAAA,EAAA;AAEL;AC9WF,SAAS,wBAA2B,OAA2B,WAAW;AACxE,QAAM,gBAAgBL,MAAAA,OAAgC,IAAI,qBAAwB,IAAI,CAAC;AACvF,QAAM,CAAC,OAAO,QAAQ,IAAIc,MAAAA,SAAkD,MAAS;AAErFX,QAAAA,UAAU,MAAM;;AAEd,UAAM,uBAAsB,YAAO;AAAA,MACjC,OAAO,eAAe,cAAc,OAAO;AAAA,MAC3C;AAAA,IAAA,MAF0B,mBAGzB;AAEH,UAAM,uBAAsB,YAAO;AAAA,MACjC,OAAO,eAAe,cAAc,OAAO;AAAA,MAC3C;AAAA,IAAA,MAF0B,mBAGzB;AAEH,QAAI,uBAAuB,qBAAqB;AAC9C,aAAO,eAAe,cAAc,SAAS,SAAS;AAAA,QACpD,KAAK,WAAW;AACd,iBAAO,oBAAoB,KAAK,IAAI;AAAA,QACtC;AAAA,QACA,KAAK,SAAS,OAAO;AACnB,8BAAoB,KAAK,MAAM,KAAK;AACpC,mBAAS,KAAK;AAAA,QAChB;AAAA,QACA,cAAc;AAAA,MAAA,CACf;AAAA,IACH;AAAA,EACF,GAAG,CAAA,CAAE;AAGL,QAAM,OAAOY,kBAAY,CAAC,MAAa;;AACrC,QAAI,GAAE,OAAkB,WAAlB,mBAA0B,KAAI;AAClC,cAAQ,MAAM,kCAAkC;AAChD;AAAA,IACF;AACA,kBAAc,QAAQ,KAAK,CAAC;AAAA,EAC9B,GAAG,CAAA,CAAE;AAEL,QAAM,WAAWA,kBAAY,CAAC,MAAa;;AACzC,UAAM,cAAc;AACpB,QAAI,GAAC,gDAAa,WAAb,mBAAqB,KAAI;AAC5B,cAAQ,MAAM,uCAAuC;AACrD;AAAA,IACF;AACA,kBAAc,QAAQ,SAAS,CAAC;AAAA,EAClC,GAAG,CAAA,CAAE;AAEL,QAAM,YAAYA,MAAAA,YAAY,CAACC,QAA8C,aAA0B;AACrG,QAAI,CAAC,cAAc,QAAQ,UAAU;AACnC,cAAQ,MAAM,mBAAmB;AACjC;AAAA,IACF;AACA,kBAAc,QAAQ,UAAUA,QAAO,QAAQ;AAAA,EACjD,GAAG,CAAA,CAAE;AAEL,QAAM,aAAaD,kBAAY,CAAC,SAAwB;AACtD,kBAAc,QAAQ,WAAW,IAAI;AAAA,EACvC,GAAG,CAAA,CAAE;AAEL,QAAM,WAAWA,MAAAA,YAAY,CAC3B,GACA,OACA,eACqC;AACrC,WAAO,cAAc,QAAQ,SAAS,GAAG,OAAO,UAAU;AAAA,EAC5D,GAAG,CAAA,CAAE;AAEL,QAAM,gBAAgBA,MAAAA,YAAY,CAAC,OAAe,QAAwB;AACxE,WAAO,cAAc,QAAQ,cAAc,OAAO,GAAG;AAAA,EACvD,GAAG,CAAA,CAAE;AAEL,QAAM,eAAeA,MAAAA,YAAY,MAAgC;AAC/D,WAAO,cAAc,QAAQ,aAAA;AAAA,EAC/B,GAAG,CAAA,CAAE;AAEL,QAAM,WAAWA,MAAAA,YAAY,MAAM;AACjC,kBAAc,QAAQ,SAAA;AAAA,EACxB,GAAG,CAAA,CAAE;AAEL,QAAM,kBAAkBA,MAAAA,YAAY,MAAM;AACxC,kBAAc,QAAQ,gBAAA;AAAA,EACxB,GAAG,CAAA,CAAE;AAEL,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,YAAY,cAAc;AAAA,EAAA;AAE9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../libs/react-components/src/lib/accordion/accordion.tsx","../../../libs/react-components/src/lib/app-header/app-header.tsx","../../../libs/react-components/src/lib/app-header-menu/app-header-menu.tsx","../../../libs/react-components/src/lib/badge/badge.tsx","../../../libs/react-components/src/lib/block/block.tsx","../../../libs/react-components/src/lib/button/button.tsx","../../../libs/react-components/src/lib/button-group/button-group.tsx","../../../libs/react-components/src/lib/calendar/calendar.tsx","../../../libs/react-components/src/lib/callout/callout.tsx","../../../libs/react-components/src/lib/checkbox/checkbox.tsx","../../../libs/react-components/src/lib/checkbox-list/checkbox-list.tsx","../../../libs/react-components/src/lib/chip/chip.tsx","../../../libs/react-components/src/lib/circular-progress/circular-progress.tsx","../../../libs/react-components/src/lib/container/container.tsx","../../../libs/react-components/src/lib/data-grid/data-grid.tsx","../../../libs/react-components/src/lib/date-picker/date-picker.tsx","../../../libs/react-components/src/lib/details/details.tsx","../../../libs/react-components/src/lib/divider/divider.tsx","../../../libs/react-components/src/lib/drawer/drawer.tsx","../../../libs/react-components/src/lib/dropdown/dropdown.tsx","../../../libs/react-components/src/lib/dropdown/dropdown-item.tsx","../../../libs/react-components/src/lib/file-upload-card/file-upload-card.tsx","../../../libs/react-components/src/lib/file-upload-input/file-upload-input.tsx","../../../libs/react-components/src/lib/footer/footer.tsx","../../../libs/react-components/src/lib/footer-meta-section/footer-meta-section.tsx","../../../libs/react-components/src/lib/footer-nav-section/footer-nav-section.tsx","../../../libs/react-components/src/lib/form/fieldset.tsx","../../../libs/react-components/src/lib/form/public-form-page.tsx","../../../libs/react-components/src/lib/form/public-form-summary.tsx","../../../libs/react-components/src/lib/form/public-form.tsx","../../../libs/react-components/src/lib/form/public-subform.tsx","../../../libs/react-components/src/lib/form/public-subform-index.tsx","../../../libs/react-components/src/lib/form/task.tsx","../../../libs/react-components/src/lib/form/task-list.tsx","../../../libs/react-components/src/lib/form-item/form-item.tsx","../../../libs/react-components/src/lib/form-step/form-step.tsx","../../../libs/react-components/src/lib/form-stepper/form-stepper.tsx","../../../libs/react-components/src/lib/grid/grid.tsx","../../../libs/react-components/src/lib/hero-banner/hero-banner.tsx","../../../libs/react-components/src/lib/hero-banner/hero-banner-actions.tsx","../../../libs/react-components/src/lib/icon-button/icon-button.tsx","../../../libs/react-components/src/lib/icon/icon.tsx","../../../libs/react-components/src/lib/input/input.tsx","../../../libs/react-components/src/lib/linear-progress/linear-progress.tsx","../../../libs/react-components/src/lib/link/link.tsx","../../../libs/react-components/src/lib/link-button/link-button.tsx","../../../libs/react-components/src/lib/menu-button/menu-button.tsx","../../../libs/react-components/src/lib/menu-button/menu-action.tsx","../../../libs/react-components/src/lib/microsite-header/microsite-header.tsx","../../../libs/react-components/src/lib/modal/modal.tsx","../../../libs/react-components/src/lib/notification/notification.tsx","../../../libs/react-components/src/lib/one-column-layout/one-column-layout.tsx","../../../libs/react-components/src/lib/page-block/page-block.tsx","../../../libs/react-components/src/lib/pages/pages.tsx","../../../libs/react-components/src/lib/pagination/pagination.tsx","../../../libs/react-components/src/lib/popover/popover.tsx","../../../libs/react-components/src/lib/push-drawer/push-drawer.tsx","../../../libs/react-components/src/lib/radio-group/radio.tsx","../../../libs/react-components/src/lib/radio-group/radio-group.tsx","../../../libs/react-components/src/lib/side-menu-group/side-menu-group.tsx","../../../libs/react-components/src/lib/side-menu-heading/side-menu-heading.tsx","../../../libs/react-components/src/lib/side-menu/side-menu.tsx","../../../libs/react-components/src/lib/skeleton/skeleton.tsx","../../../libs/react-components/src/lib/spacer/spacer.tsx","../../../libs/react-components/src/lib/spinner/spinner.tsx","../../../libs/react-components/src/lib/table/table.tsx","../../../libs/react-components/src/lib/table/table-sort-header.tsx","../../../libs/react-components/src/lib/tabs/tabs.tsx","../../../libs/react-components/src/lib/tab/tab.tsx","../../../libs/react-components/src/lib/temporary-notification-ctrl/temporary-notification-ctrl.tsx","../../../libs/react-components/src/lib/text/text.tsx","../../../libs/react-components/src/lib/textarea/textarea.tsx","../../../libs/react-components/src/lib/three-column-layout/three-column-layout.tsx","../../../libs/react-components/src/lib/tooltip/tooltip.tsx","../../../libs/react-components/src/lib/two-column-layout/two-column-layout.tsx","../../../libs/react-components/src/lib/filter-chip/filter-chip.tsx","../../../libs/common/src/lib/messaging/messaging.ts","../../../libs/common/src/lib/public-form-controller.ts","../../../libs/react-components/src/lib/use-public-form-controller.ts"],"sourcesContent":["import { ReactNode, useEffect, useRef, type JSX } from \"react\";\n\nimport type {\n GoabAccordionHeadingSize,\n GoabAccordionIconPosition,\n Margins, DataAttributes,\n} from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../common/extract-props\";\n\ninterface WCProps extends Margins {\n open?: string;\n headingsize?: GoabAccordionHeadingSize;\n heading: string;\n secondarytext?: string;\n headingContent?: ReactNode;\n maxwidth?: string;\n testid?: string;\n iconposition?: GoabAccordionIconPosition;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-accordion\": WCProps &\n React.HTMLAttributes<HTMLElement> & {\n ref: React.RefObject<HTMLElement | null>;\n };\n }\n }\n}\n\nexport interface GoabAccordionProps extends Margins, DataAttributes {\n open?: boolean;\n headingSize?: GoabAccordionHeadingSize;\n secondaryText?: string;\n heading: string;\n headingContent?: ReactNode;\n maxWidth?: string;\n testId?: string;\n iconPosition?: GoabAccordionIconPosition;\n onChange?: (open: boolean) => void;\n children?: ReactNode;\n}\n\nexport function GoabAccordion({\n open,\n onChange,\n headingContent,\n children,\n ...rest\n}: GoabAccordionProps): JSX.Element {\n const ref = useRef<HTMLElement>(null);\n\n const _props = transformProps<WCProps>(rest, lowercase);\n\n useEffect(() => {\n const element = ref.current;\n if (element && onChange) {\n const handler = (event: Event) => {\n const customEvent = event as CustomEvent;\n onChange?.(customEvent.detail.open);\n };\n element.addEventListener(\"_change\", handler);\n return () => {\n element.removeEventListener(\"_change\", handler);\n };\n }\n }, [onChange]);\n\n return (\n <goa-accordion\n ref={ref}\n open={open ? \"true\" : undefined}\n {..._props}\n >\n {headingContent && <div slot=\"headingcontent\">{headingContent}</div>}\n {children}\n </goa-accordion>\n );\n}\n\nexport default GoabAccordion;\n","import { useEffect, useRef, type JSX } from \"react\";\nimport { DataAttributes } from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../common/extract-props\";\n\ninterface WCProps {\n heading?: string;\n url?: string;\n maxcontentwidth?: string;\n fullmenubreakpoint?: number;\n hasmenuclickhandler?: 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-header\": WCProps & React.HTMLAttributes<HTMLElement> & {\n ref: React.RefObject<HTMLElement | null>;\n };\n }\n }\n}\n\nexport interface GoabAppHeaderProps extends DataAttributes {\n heading?: string;\n url?: string;\n maxContentWidth?: string;\n fullMenuBreakpoint?: number;\n children?: React.ReactNode;\n onMenuClick?: () => void;\n testId?: string;\n}\n\nexport function GoabAppHeader({\n onMenuClick,\n children,\n ...rest\n}: GoabAppHeaderProps): 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 (!onMenuClick) {\n return;\n }\n const current = el.current;\n const listener = () => {\n onMenuClick?.();\n };\n current.addEventListener(\"_menuClick\", listener);\n return () => {\n current.removeEventListener(\"_menuClick\", listener);\n };\n }, [el, onMenuClick]);\n\n return (\n <goa-app-header\n ref={el}\n hasmenuclickhandler={onMenuClick ? \"true\" : \"false\"}\n {..._props}\n >\n {children}\n </goa-app-header>\n );\n}\n\nexport default GoabAppHeader;\n","import { ReactNode } from \"react\";\nimport { DataAttributes, GoabIconType } from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../common/extract-props\";\n\ninterface WCProps {\n heading: string;\n leadingicon?: GoabIconType;\n testid?: string;\n}\n\n/* eslint-disable-next-line */\nexport interface GoabAppHeaderMenuProps extends DataAttributes {\n heading: string;\n leadingIcon?: GoabIconType;\n testId?: string;\n children?: ReactNode;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-app-header-menu\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport function GoabAppHeaderMenu({\n children,\n ...rest\n}: GoabAppHeaderMenuProps) {\n const _props = transformProps<WCProps>(rest, lowercase);\n\n return (\n <goa-app-header-menu {..._props}>\n {children}\n </goa-app-header-menu>\n );\n}\n\nexport default GoabAppHeaderMenu;\n","import {\n DataAttributes,\n GoabBadgeType,\n GoabIconType,\n Margins,\n} from \"@abgov/ui-components-common\";\nimport type { JSX } from \"react\";\nimport { transformProps, lowercase } from \"../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}\n\nexport interface GoabBadgeProps extends Margins, DataAttributes {\n type: GoabBadgeType;\n icon?: boolean;\n content?: string;\n testId?: string;\n ariaLabel?: string;\n iconType?: GoabIconType;\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 GoabBadge({ icon, iconType, ...rest }: GoabBadgeProps): JSX.Element {\n const _props = transformProps<WCProps>(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 />\n );\n}\n\n/**\n * @deprecated\n */\nexport function GoabInfoBadge({\n content,\n testId,\n icon,\n mt,\n mr,\n mb,\n ml,\n ariaLabel,\n}: GoabBadgeProps): JSX.Element {\n return (\n <GoabBadge\n type=\"information\"\n icon={icon}\n content={content}\n testId={testId}\n ariaLabel={ariaLabel}\n mt={mt}\n mr={mr}\n mb={mb}\n ml={ml}\n />\n );\n}\n\n/**\n * @deprecated\n */\nexport function GoabSuccessBadge({\n content,\n testId,\n icon,\n mt,\n mr,\n mb,\n ml,\n ariaLabel,\n}: GoabBadgeProps): JSX.Element {\n return (\n <GoabBadge\n type=\"success\"\n icon={icon}\n content={content}\n ariaLabel={ariaLabel}\n testId={testId}\n mt={mt}\n mr={mr}\n mb={mb}\n ml={ml}\n />\n );\n}\n\n/**\n * @deprecated\n */\nexport function GoabImportantBadge({\n content,\n testId,\n icon,\n mt,\n mr,\n mb,\n ml,\n ariaLabel,\n}: GoabBadgeProps): JSX.Element {\n return (\n <GoabBadge\n type=\"important\"\n icon={icon}\n content={content}\n testId={testId}\n ariaLabel={ariaLabel}\n mt={mt}\n mr={mr}\n mb={mb}\n ml={ml}\n />\n );\n}\n\n/**\n * @deprecated\n */\nexport function GoabEmergencyBadge({\n content,\n testId,\n icon,\n mt,\n mr,\n mb,\n ml,\n ariaLabel,\n}: GoabBadgeProps): JSX.Element {\n return (\n <GoabBadge\n type=\"emergency\"\n icon={icon}\n content={content}\n testId={testId}\n ariaLabel={ariaLabel}\n mt={mt}\n mr={mr}\n mb={mb}\n ml={ml}\n />\n );\n}\n","import {\n GoabBlockAlignment,\n GoabBlockDirection,\n Margins, DataAttributes,\n Spacing,\n} from \"@abgov/ui-components-common\";\nimport { ReactNode } from \"react\";\nimport { transformProps, kebab } from \"../common/extract-props\";\n\nexport interface WCProps extends Margins {\n gap?: Spacing;\n direction?: GoabBlockDirection;\n alignment?: GoabBlockAlignment;\n \"min-width\"?: string;\n \"max-width\"?: string;\n width?: 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-block\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\n/* eslint-disable-next-line */\nexport interface GoabBlockProps extends Margins, DataAttributes {\n gap?: Spacing;\n direction?: GoabBlockDirection;\n alignment?: GoabBlockAlignment;\n minWidth?: string;\n maxWidth?: string;\n width?: string;\n testId?: string;\n children?: ReactNode;\n}\n\nexport function GoabBlock({\n testId,\n children,\n ...rest\n}: GoabBlockProps) {\n const _props = transformProps<WCProps>(\n { testid: testId, ...rest },\n kebab\n );\n\n return (\n <goa-block {..._props}>\n {children}\n </goa-block>\n );\n}\n","import { ReactNode, useEffect, useRef, type JSX } from \"react\";\nimport {\n GoabButtonSize,\n GoabButtonType,\n GoabButtonVariant,\n GoabIconType,\n Margins, DataAttributes,\n} from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../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}\n\nexport interface GoabButtonProps 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 children?: ReactNode;\n}\n\nexport function GoabButton({\n disabled,\n onClick,\n actionArgs,\n actionArg,\n children,\n ...rest\n}: GoabButtonProps): 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 >\n {children}\n </goa-button>\n );\n}\n\nexport default GoabButton;\n","import {\n GoabButtonGroupAlignment,\n GoabButtonGroupGap,\n Margins, DataAttributes,\n} from \"@abgov/ui-components-common\";\n\nimport type { JSX } from \"react\";\nimport { transformProps, lowercase } from \"../common/extract-props\";\n\ninterface WCProps extends Margins {\n alignment: GoabButtonGroupAlignment;\n gap?: GoabButtonGroupGap;\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-button-group\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabButtonGroupProps extends Margins, DataAttributes {\n alignment: GoabButtonGroupAlignment;\n gap?: GoabButtonGroupGap;\n testId?: string;\n children?: React.ReactNode;\n}\n\nexport function GoabButtonGroup({\n children,\n ...rest\n}: GoabButtonGroupProps): JSX.Element {\n const _props = transformProps<WCProps>(rest, lowercase);\n\n return (\n <goa-button-group {..._props}>\n {children}\n </goa-button-group>\n );\n}\n\nexport default GoabButtonGroup;\n","import { useEffect, useRef, type JSX } from \"react\";\nimport { DataAttributes, GoabCalendarOnChangeDetail, Margins } from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../common/extract-props\";\n\ninterface WCProps extends Margins {\n name?: string;\n value?: string;\n min?: string;\n max?: string;\n testid?: string;\n}\n\nexport interface GoabCalendarProps extends Margins, DataAttributes {\n name?: string;\n value?: string;\n min?: string;\n max?: string;\n testId?: string;\n onChange: (details: GoabCalendarOnChangeDetail) => void;\n}\n\nexport function GoabCalendar({\n min,\n max,\n onChange,\n name,\n ...rest\n}: GoabCalendarProps): 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 {..._props}\n />\n );\n}\n\nexport default GoabCalendar;\n","import {\n GoabCalloutAriaLive,\n GoabCalloutSize,\n GoabCalloutType,\n GoabCalloutIconTheme,\n Margins, DataAttributes,\n} from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../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 testid?: string;\n}\n\nexport interface GoabCalloutProps extends Margins, DataAttributes {\n heading?: string;\n type?: GoabCalloutType;\n size?: GoabCalloutSize;\n iconTheme?: GoabCalloutIconTheme;\n maxWidth?: string;\n testId?: string;\n ariaLive?: GoabCalloutAriaLive;\n children?: React.ReactNode;\n}\n\nexport const GoabCallout = ({\n type = \"information\",\n iconTheme = \"outline\",\n size = \"large\",\n ariaLive = \"off\",\n children,\n ...rest\n}: GoabCalloutProps) => {\n const _props = transformProps<WCProps>(\n { type, icontheme: iconTheme, size, arialive: ariaLive, ...rest },\n lowercase\n );\n\n return (\n <goa-callout {..._props}>\n {children}\n </goa-callout>\n );\n};\n\nexport default GoabCallout;\n","import { DataAttributes, GoabCheckboxOnChangeDetail, Margins } from \"@abgov/ui-components-common\";\nimport { useEffect, useRef, type JSX } from \"react\";\nimport { transformProps, lowercase } from \"../common/extract-props\";\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}\n\n/* eslint-disable-next-line */\nexport interface GoabCheckboxProps 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 onChange?: (detail: GoabCheckboxOnChangeDetail) => void;\n}\n\n// legacy\nexport type Props = GoabCheckboxProps;\n\nexport function GoabCheckbox({\n error,\n checked,\n indeterminate,\n disabled,\n value,\n description,\n reveal,\n onChange,\n name,\n children,\n ...rest\n}: GoabCheckboxProps): 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 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 >\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 GoabCheckbox;\n","import {\n GoabCheckboxListOnChangeDetail,\n Margins\n} from \"@abgov/ui-components-common\";\nimport { useEffect, useRef, type JSX } from \"react\";\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-checkbox-list\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\ninterface WCProps extends Margins {\n ref: React.RefObject<HTMLElement | null>;\n name: string;\n value?: string[];\n disabled?: string;\n error?: string;\n testid?: string;\n maxwidth?: string;\n}\n\nexport interface GoabCheckboxListProps extends Margins {\n name: string;\n value?: string[];\n disabled?: boolean;\n error?: boolean;\n testId?: string;\n maxWidth?: string;\n children?: React.ReactNode;\n onChange?: (detail: GoabCheckboxListOnChangeDetail) => void;\n}\n\nexport function GoabCheckboxList({\n name,\n value = [],\n disabled,\n error,\n testId,\n maxWidth,\n children,\n onChange,\n mt,\n mr,\n mb,\n ml,\n}: GoabCheckboxListProps): JSX.Element {\n const el = useRef<HTMLElement>(null);\n\n useEffect(() => {\n if (!el.current) return;\n\n const current = el.current;\n const listener = (e: Event) => {\n try {\n const detail = (e as CustomEvent<GoabCheckboxListOnChangeDetail>).detail;\n onChange?.({ ...detail, event: e });\n } catch (error) {\n console.error(\"Error handling checkbox list change:\", error);\n }\n };\n\n try {\n current.addEventListener(\"_change\", listener);\n } catch (error) {\n console.error(\"Failed to attach checkbox list listener:\", error);\n }\n\n return () => {\n try {\n current.removeEventListener(\"_change\", listener);\n } catch (error) {\n console.error(\"Failed to remove checkbox list listener:\", error);\n }\n };\n }, [onChange]);\n\n return (\n <goa-checkbox-list\n ref={el}\n name={name}\n value={value}\n disabled={disabled ? \"true\" : undefined}\n error={error ? \"true\" : undefined}\n testid={testId}\n maxwidth={maxWidth}\n mt={mt}\n mr={mr}\n mb={mb}\n ml={ml}\n >\n {children}\n </goa-checkbox-list>\n );\n}\n\nexport default GoabCheckboxList;\n","import { DataAttributes, GoabChipTheme, GoabChipVariant, Margins } from \"@abgov/ui-components-common\";\nimport { useEffect, useRef } from \"react\";\nimport { transformProps, lowercase } from \"../common/extract-props\";\n\ninterface WCProps extends Margins {\n leadingicon?: string;\n icontheme?: GoabChipTheme;\n error?: string;\n deletable?: string;\n content: string;\n variant?: GoabChipVariant;\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-chip\": WCProps & React.HTMLAttributes<HTMLElement> & {\n ref: React.RefObject<HTMLElement | null>;\n };\n }\n }\n}\n\nexport interface GoabChipProps extends Margins, DataAttributes {\n onClick?: () => void;\n deletable?: boolean;\n leadingIcon?: string;\n iconTheme?: GoabChipTheme;\n error?: boolean;\n content: string;\n variant?: GoabChipVariant;\n testId?: string;\n}\n\nexport const GoabChip = ({\n error,\n deletable,\n onClick,\n ...rest\n}: GoabChipProps) => {\n const el = useRef<HTMLElement>(null);\n\n const _props = transformProps<WCProps>(rest, lowercase);\n\n useEffect(() => {\n if (!el.current) return;\n if (!onClick) 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-chip\n ref={el}\n error={error ? \"true\" : undefined}\n deletable={deletable ? \"true\" : undefined}\n {..._props}\n />\n );\n};\n\nexport default GoabChip;\n","import {\n GoabCircularProgressSize,\n GoabCircularProgressVariant,\n} from \"@abgov/ui-components-common\";\n\ninterface WCProps {\n variant?: GoabCircularProgressVariant;\n size?: GoabCircularProgressSize;\n message?: string;\n visible?: string;\n progress?: number;\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-circular-progress\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabCircularProgressProps {\n variant?: GoabCircularProgressVariant;\n size?: GoabCircularProgressSize;\n message?: string;\n visible?: boolean;\n progress?: number;\n testId?: string;\n}\n\nexport const GoabCircularProgress = ({\n visible,\n message,\n progress,\n variant,\n size,\n testId,\n}: GoabCircularProgressProps) => {\n return (\n <goa-circular-progress\n visible={visible ? \"true\" : undefined}\n message={message}\n progress={progress}\n variant={variant}\n size={size}\n testid={testId}\n />\n );\n};\n\nexport default GoabCircularProgress;\n","import {\n GoabContainerAccent,\n GoabContainerPadding,\n GoabContainerType,\n GoabContainerWidth,\n Margins, DataAttributes,\n} from \"@abgov/ui-components-common\";\nimport { ReactNode, type JSX } from \"react\";\nimport { transformProps, lowercase } from \"../common/extract-props\";\n\ninterface WCProps extends Margins {\n type?: GoabContainerType;\n accent?: GoabContainerAccent;\n padding?: GoabContainerPadding;\n width?: GoabContainerWidth;\n maxwidth?: string;\n minheight?: string;\n maxheight?: 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-container\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabContainerProps extends Margins, DataAttributes {\n accent?: GoabContainerAccent;\n type?: GoabContainerType;\n heading?: ReactNode;\n title?: ReactNode;\n padding?: GoabContainerPadding;\n actions?: ReactNode;\n children?: ReactNode;\n width?: GoabContainerWidth;\n maxWidth?: string;\n minHeight?: string;\n maxHeight?: string;\n testId?: string;\n}\n\nexport function GoabContainer({\n heading,\n title,\n actions,\n children,\n ...rest\n}: GoabContainerProps): JSX.Element {\n const _props = transformProps<WCProps>(rest, lowercase);\n\n const headingContent = heading || title;\n\n return (\n <goa-container {..._props}>\n {headingContent && <div slot=\"title\">{headingContent}</div>}\n {children}\n {actions && <div slot=\"actions\">{actions}</div>}\n </goa-container>\n );\n}\n\nexport default GoabContainer;\n","import React from \"react\";\n\ninterface WCProps {\n \"keyboard-icon-visibility\"?: \"visible\" | \"hidden\";\n \"keyboard-icon-position\"?: \"left\" | \"right\";\n \"keyboard-nav\"?: \"layout\" | \"table\";\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-data-grid\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabDataGridProps {\n keyboardIconVisibility?: \"visible\" | \"hidden\";\n keyboardIconPosition?: \"left\" | \"right\";\n keyboardNav: \"layout\" | \"table\";\n children?: React.ReactNode;\n}\n\nexport function GoabDataGrid({\n keyboardIconVisibility = \"visible\",\n keyboardIconPosition = \"left\",\n keyboardNav,\n children,\n}: GoabDataGridProps) {\n return (\n <goa-data-grid\n keyboard-icon-visibility={keyboardIconVisibility}\n keyboard-icon-position={keyboardIconPosition}\n keyboard-nav={keyboardNav}\n >\n {children}\n </goa-data-grid>\n );\n}\n\nexport default GoabDataGrid;\n","import { useEffect, useRef, type JSX } from \"react\";\nimport {\n GoabDatePickerInputType,\n GoabDatePickerOnChangeDetail,\n Margins, DataAttributes,\n} from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../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}\n\nexport interface GoabDatePickerProps 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 onChange?: (detail: GoabDatePickerOnChangeDetail) => void;\n}\n\nexport function GoabDatePicker({\n value,\n error,\n min,\n max,\n disabled,\n relative,\n onChange,\n ...rest\n}: GoabDatePickerProps): 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(\"Using a `Date` type for value is deprecated. Instead use a string of the format `yyyy-mm-dd`\")\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 {..._props}\n />\n );\n}\n\nexport default GoabDatePicker;\n","import { Margins, DataAttributes } from \"@abgov/ui-components-common\";\nimport { ReactNode } from \"react\";\nimport { transformProps, lowercase } from \"../common/extract-props\";\n\ninterface WCProps extends Margins {\n heading: string;\n open?: string;\n maxwidth?: 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-details\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\n/* eslint-disable-next-line */\nexport interface GoabDetailsProps extends Margins, DataAttributes {\n heading: string;\n open?: boolean;\n maxWidth?: string;\n testId?: string;\n children: ReactNode;\n}\n\nexport function GoabDetails({\n open,\n children,\n ...rest\n}: GoabDetailsProps) {\n const _props = transformProps<WCProps>(rest, lowercase);\n\n return (\n <goa-details\n open={open ? \"true\" : undefined}\n {..._props}\n >\n {children}\n </goa-details>\n );\n}\n\nexport default GoabDetails;\n","import { Margins } from \"@abgov/ui-components-common\";\n\ninterface WCProps extends Margins {\n testid?: string;\n}\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-divider\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabDividerProps extends Margins {\n testId?: string;\n}\n\nexport function GoabDivider(props: GoabDividerProps) {\n return (\n <goa-divider\n mt={props.mt}\n mr={props.mr}\n mb={props.mb}\n ml={props.ml}\n testid={props.testId}\n />\n );\n}\n\nexport default GoabDivider;\n","import { ReactNode, useEffect, useRef, type JSX } from \"react\";\nimport { GoabDrawerPosition, GoabDrawerSize } from \"@abgov/ui-components-common\";\n\nexport interface GoabDrawerProps {\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}\n\nexport function GoabDrawer({\n position,\n open,\n heading,\n maxSize,\n testId,\n actions,\n children,\n onClose,\n}: GoabDrawerProps): 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 >\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 GoabDrawer;\n","import {\n GoabDropdownOnChangeDetail,\n GoabIconType,\n Margins, DataAttributes,\n} from \"@abgov/ui-components-common\";\nimport { useEffect, useRef, type JSX } from \"react\";\nimport { transformProps, lowercase } from \"../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}\n\nexport interface GoabDropdownProps 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 /***\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 GoabDropdown({\n value,\n onChange,\n disabled,\n error,\n filterable,\n multiselect,\n native,\n relative,\n children,\n ...rest\n}: GoabDropdownProps): 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 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 >\n {children}\n </goa-dropdown>\n );\n}\n\nexport default GoabDropdown;\n","import { useEffect } from \"react\";\nimport { GoabDropdownItemMountType } from \"@abgov/ui-components-common\";\n\nexport interface GoabDropdownItemProps {\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 GoabDropdownOption(props: GoabDropdownItemProps) {\n useEffect(() => {\n console.warn(\"GoabDropdownOption is deprecated. Please use GoabDropdownItem\");\n }, []);\n\n return <GoabDropdownItem {...props} />;\n}\n\nexport function GoabDropdownItem({\n value,\n label,\n filter,\n name,\n mountType = \"append\",\n}: GoabDropdownItemProps) {\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 \"../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}\n\n/* eslint-disable-next-line */\nexport interface GoabFileUploadCardProps 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}\n\nexport function GoabFileUploadCard({\n onDelete,\n onCancel,\n filename,\n ...rest\n}: GoabFileUploadCardProps) {\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 (\n <goa-file-upload-card ref={el} {..._props} />\n );\n}\n\nexport default GoabFileUploadCard;\n","import {\n DataAttributes,\n GoabFileUploadInputOnSelectFileDetail,\n GoabFileUploadInputVariant,\n} from \"@abgov/ui-components-common\";\nimport { useEffect, useRef } from \"react\";\nimport { transformProps, lowercase } from \"../common/extract-props\";\n\ninterface WCProps {\n variant?: GoabFileUploadInputVariant;\n accept?: string;\n maxfilesize?: string;\n testid?: string;\n}\n\n/* eslint-disable-next-line */\nexport interface GoabFileUploadInputProps extends DataAttributes {\n variant?: GoabFileUploadInputVariant;\n accept?: string;\n maxFileSize?: string;\n testId?: string;\n onSelectFile: (detail: GoabFileUploadInputOnSelectFileDetail) => void;\n}\n\nexport function GoabFileUploadInput({\n onSelectFile,\n ...rest\n}: GoabFileUploadInputProps) {\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} />\n );\n}\n\nexport default GoabFileUploadInput;\n","import { ReactNode, type JSX } from \"react\";\nimport { DataAttributes } from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../common/extract-props\";\n\ninterface WCProps {\n maxcontentwidth?: string;\n testid?: string;\n url?: string;\n}\n\n/* eslint-disable-next-line */\nexport interface GoabAppFooterProps extends DataAttributes {\n maxContentWidth?: string;\n children?: ReactNode;\n testId?: string;\n url?: string;\n}\n\n// legacy name\nexport type FooterProps = GoabAppFooterProps;\n\nexport function GoabAppFooter({\n children,\n ...rest\n}: GoabAppFooterProps): JSX.Element {\n const _props = transformProps<WCProps>(rest, lowercase);\n\n return (\n <goa-app-footer {..._props}>\n {children}\n </goa-app-footer>\n );\n}\n\nexport default GoabAppFooter;\n","import { ReactNode } from \"react\";\nimport { DataAttributes } from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../common/extract-props\";\n\ninterface WCProps {\n testid?: string;\n}\n\n/* eslint-disable-next-line */\nexport interface GoabAppFooterMetaSectionProps extends DataAttributes {\n testId?: string;\n children?: ReactNode;\n}\n\nexport function GoabAppFooterMetaSection({\n children,\n ...rest\n}: GoabAppFooterMetaSectionProps) {\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 GoabAppFooterMetaSection;\n","import { ReactNode } from \"react\";\nimport { DataAttributes } from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../common/extract-props\";\n\ninterface WCProps {\n maxcolumncount?: number;\n heading?: string;\n testid?: string;\n}\n\n/* eslint-disable-next-line */\nexport interface GoabFooterNavSectionProps extends DataAttributes {\n maxColumnCount?: number;\n heading?: string;\n testId?: string;\n children?: ReactNode;\n}\n\nexport function GoabAppFooterNavSection({\n children,\n ...rest\n}: GoabFooterNavSectionProps) {\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 GoabAppFooterNavSection;\n","import { ReactNode, useEffect, useRef, type JSX } from \"react\";\nimport {\n DataAttributes,\n GoabFieldsetOnContinueDetail,\n GoabFormDispatchOn,\n} from \"@abgov/ui-components-common\";\nimport { transformProps, kebab } from \"../common/extract-props\";\n\ninterface WCProps {\n id?: string;\n \"section-title\"?: string;\n \"dispatch-on\"?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-fieldset\": WCProps & React.HTMLAttributes<HTMLElement> & {\n ref: React.RefObject<HTMLElement | null>;\n };\n }\n }\n}\n\ninterface GoabFieldsetProps extends DataAttributes {\n id?: string;\n sectionTitle?: string;\n dispatchOn?: GoabFormDispatchOn;\n onContinue?: (event: GoabFieldsetOnContinueDetail) => void;\n children: ReactNode;\n}\n\nexport function GoabFieldset({\n onContinue,\n children,\n ...rest\n}: GoabFieldsetProps): JSX.Element {\n const ref = useRef<HTMLElement>(null);\n\n const _props = transformProps<WCProps>(rest, kebab);\n\n useEffect(() => {\n if (!ref.current) return;\n const current = ref.current;\n\n const continueListener = (e: Event) => {\n const event = (e as CustomEvent<GoabFieldsetOnContinueDetail>).detail;\n return onContinue?.(event);\n };\n\n if (onContinue) {\n current.addEventListener(\"_continue\", continueListener);\n }\n\n return () => {\n if (onContinue) {\n current.removeEventListener(\"_continue\", continueListener);\n }\n };\n }, [ref, onContinue]);\n\n return (\n <goa-fieldset ref={ref} {..._props}>\n {children}\n </goa-fieldset>\n );\n}\n\nexport default GoabFieldset;\n","import { ReactNode, useEffect, useRef } from \"react\";\nimport {\n GoabPublicFormPageButtonVisibility,\n GoabPublicFormPageStep,\n Margins, DataAttributes,\n} from \"@abgov/ui-components-common\";\nimport { transformProps, kebab } from \"../common/extract-props\";\n\ninterface WCProps extends Margins {\n id?: string;\n heading?: string;\n \"sub-heading\"?: string;\n \"section-title\"?: string;\n \"back-url\"?: string;\n type?: string;\n \"button-text\"?: string;\n \"button-visibility\"?: string;\n \"summary-heading\"?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-public-form-page\": WCProps & React.HTMLAttributes<HTMLElement> & {\n ref: React.RefObject<HTMLElement | null>;\n };\n }\n }\n}\n\ninterface GoabPublicFormPageProps extends Margins, DataAttributes {\n id?: string;\n heading?: string;\n subHeading?: string;\n summaryHeading?: string;\n sectionTitle?: string;\n backUrl?: string;\n type?: GoabPublicFormPageStep;\n buttonText?: string;\n buttonVisibility?: GoabPublicFormPageButtonVisibility;\n /**\n * Triggered when the form page continues to the next step\n * @param event - The continue event details\n */\n onContinue?: (event: Event) => void;\n children: ReactNode;\n}\n\nexport function GoabPublicFormPage({\n onContinue,\n children,\n ...rest\n}: GoabPublicFormPageProps) {\n const ref = useRef<HTMLElement>(null);\n\n const _props = transformProps<WCProps>(rest, kebab);\n\n useEffect(() => {\n if (!ref.current) return;\n const current = ref.current;\n\n const continueListener = (e: Event) => {\n onContinue?.(e);\n };\n\n if (onContinue) {\n current.addEventListener(\"_continue\", continueListener);\n }\n\n return () => {\n if (onContinue) {\n current.removeEventListener(\"_continue\", continueListener);\n }\n };\n }, [ref, onContinue]);\n\n return (\n <goa-public-form-page ref={ref} {..._props}>\n {children}\n </goa-public-form-page>\n );\n}\n\nexport default GoabPublicFormPage;\n","import { DataAttributes } from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../common/extract-props\";\n\ninterface WCProps {\n heading?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-public-form-summary\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\ninterface GoabPublicFormSummaryProps extends DataAttributes {\n heading?: string;\n}\n\nexport function GoabPublicFormSummary({\n heading = \"\",\n ...rest\n}: GoabPublicFormSummaryProps) {\n const _props = transformProps<WCProps>(\n { heading, ...rest },\n lowercase\n );\n\n return (\n <goa-public-form-summary {..._props} />\n );\n}\n\nexport default GoabPublicFormSummary;\n","import { ReactNode, useRef, useLayoutEffect } from \"react\";\n\nimport {\n DataAttributes,\n GoabFormState,\n GoabPublicFormStatus,\n} from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../common/extract-props\";\n\ninterface WCProps {\n status?: string;\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-public-form\": WCProps & React.HTMLAttributes<HTMLElement> & {\n ref: React.RefObject<HTMLElement | null>;\n };\n }\n }\n}\n\ninterface GoabPublicFormProps extends DataAttributes {\n status?: GoabPublicFormStatus;\n name?: string;\n onInit?: (event: Event) => void;\n onComplete?: (event: GoabFormState) => void;\n onStateChange?: (event: GoabFormState) => void;\n children: ReactNode;\n}\n\nexport function GoabPublicForm({\n onInit,\n onComplete,\n onStateChange,\n children,\n ...rest\n}: GoabPublicFormProps) {\n const ref = useRef<HTMLElement>(null);\n const initialized = useRef(false);\n\n const _props = transformProps<WCProps>(rest, lowercase);\n\n // Use useLayoutEffect to set up listeners before the component mounts\n useLayoutEffect(() => {\n if (!ref.current) return;\n const current = ref.current;\n\n const initListener = (e: Event) => {\n onInit?.(e);\n };\n\n // First time initialization, add init listener immediately\n if (onInit && !initialized.current) {\n current.addEventListener(\"_init\", initListener);\n }\n\n const completeListener = (e: Event) => {\n const detail = (e as CustomEvent).detail;\n onComplete?.(detail);\n };\n\n const stateChangeListener = (e: Event) => {\n const detail = (e as CustomEvent).detail;\n onStateChange?.(detail.data);\n };\n\n if (onComplete) {\n current.addEventListener(\"_complete\", completeListener);\n }\n\n if (onStateChange) {\n current.addEventListener(\"_stateChange\", stateChangeListener);\n }\n\n return () => {\n if (onInit) {\n current.removeEventListener(\"_init\", initListener);\n }\n if (onComplete) {\n current.removeEventListener(\"_complete\", completeListener);\n }\n if (onStateChange) {\n current.removeEventListener(\"_stateChange\", stateChangeListener);\n }\n };\n }, [onInit, onComplete, onStateChange]);\n\n return (\n <goa-public-form ref={ref} {..._props}>\n {children}\n </goa-public-form>\n );\n}\n\nexport default GoabPublicForm;\n","import { ReactNode, useEffect, useRef } from \"react\";\nimport { Margins, DataAttributes } from \"@abgov/ui-components-common\";\nimport { transformProps, kebab } from \"../common/extract-props\";\n\ninterface WCProps extends Margins {\n id?: string;\n name?: string;\n \"continue-msg\"?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-public-subform\": WCProps & React.HTMLAttributes<HTMLElement> & {\n ref: React.RefObject<HTMLElement | null>;\n };\n }\n }\n}\n\ninterface GoabPublicSubformProps extends Margins, DataAttributes {\n id?: string;\n name?: string;\n continueMsg?: string;\n onInit?: (event: Event) => void;\n onStateChange?: (event: Event) => void;\n children: ReactNode;\n}\n\nexport function GoabPublicSubform({\n id = \"\",\n name = \"\",\n continueMsg = \"\",\n onInit,\n onStateChange,\n children,\n ...rest\n}: GoabPublicSubformProps) {\n const ref = useRef<HTMLElement>(null);\n\n const _props = transformProps<WCProps>(\n { id, name, \"continue-msg\": continueMsg, ...rest },\n kebab\n );\n\n useEffect(() => {\n if (!ref.current) return;\n const current = ref.current;\n\n const initListener = (e: Event) => {\n onInit?.(e);\n };\n\n const stateChangeListener = (e: Event) => {\n onStateChange?.(e);\n };\n\n if (onInit) {\n current.addEventListener(\"_init\", initListener);\n }\n if (onStateChange) {\n current.addEventListener(\"_stateChange\", stateChangeListener);\n }\n\n return () => {\n if (onInit) {\n current.removeEventListener(\"_init\", initListener);\n }\n if (onStateChange) {\n current.removeEventListener(\"_stateChange\", stateChangeListener);\n }\n };\n }, [ref, onInit, onStateChange]);\n\n return (\n <goa-public-subform ref={ref} {..._props}>\n {children}\n </goa-public-subform>\n );\n}\n\nexport default GoabPublicSubform;\n","import { ReactNode } from \"react\";\nimport { Margins, DataAttributes } from \"@abgov/ui-components-common\";\nimport { transformProps, kebab } from \"../common/extract-props\";\n\ninterface WCProps extends Margins {\n heading?: string;\n \"section-title\"?: string;\n \"action-button-text\"?: string;\n \"button-visibility\"?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-public-subform-index\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\ninterface GoabPublicSubformIndexProps extends Margins, DataAttributes {\n heading?: string;\n sectionTitle?: string;\n actionButtonText?: string;\n buttonVisibility?: \"visible\" | \"hidden\";\n children: ReactNode;\n}\n\nexport function GoabPublicSubformIndex({\n heading = \"\",\n sectionTitle = \"\",\n actionButtonText = \"\",\n buttonVisibility = \"hidden\",\n children,\n ...rest\n}: GoabPublicSubformIndexProps) {\n const _props = transformProps<WCProps>(\n { heading, \"section-title\": sectionTitle, \"action-button-text\": actionButtonText, \"button-visibility\": buttonVisibility, ...rest },\n kebab\n );\n\n return (\n <goa-public-subform-index slot=\"subform-index\" {..._props}>\n {children}\n </goa-public-subform-index>\n );\n}\n\nexport default GoabPublicSubformIndex;\n","import { ReactNode } from \"react\";\nimport { DataAttributes, GoabPublicFormTaskStatus } from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../common/extract-props\";\n\ninterface WCProps {\n status?: GoabPublicFormTaskStatus;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-public-form-task\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\ninterface GoabPublicFormTaskProps extends DataAttributes {\n status?: GoabPublicFormTaskStatus;\n children: ReactNode;\n}\n\nexport function GoabPublicFormTask({\n status = \"cannot-start\",\n children,\n ...rest\n}: GoabPublicFormTaskProps) {\n const _props = transformProps<WCProps>(\n { status, ...rest },\n lowercase\n );\n\n return <goa-public-form-task {..._props}>{children}</goa-public-form-task>;\n}\n\nexport default GoabPublicFormTask;\n","import { ReactNode } from \"react\";\nimport { Margins, DataAttributes } from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../common/extract-props\";\n\ninterface WCProps extends Margins {\n heading?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-public-form-task-list\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\ninterface GoabPublicFormTaskListProps extends Margins, DataAttributes {\n heading?: string;\n children: ReactNode;\n}\n\nexport function GoabPublicFormTaskList({\n children,\n ...rest\n}: GoabPublicFormTaskListProps) {\n const _props = transformProps<WCProps>(rest, lowercase);\n\n return (\n <goa-public-form-task-list {..._props}>\n {children}\n </goa-public-form-task-list>\n );\n}\n\nexport default GoabPublicFormTaskList;\n","import {\n GoabFormItemLabelSize,\n GoabFormItemRequirement,\n Margins, DataAttributes,\n} from \"@abgov/ui-components-common\";\n\nimport type { JSX } from \"react\";\nimport { transformProps, lowercase } from \"../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}\n\nexport interface GoabFormItemProps 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 /**\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 GoabFormItem({\n error,\n helpText,\n publicFormSummaryOrder,\n children,\n ...rest\n}: GoabFormItemProps): JSX.Element {\n const _props = transformProps<WCProps>(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 >\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 GoabFormItem;\n","import { GoabFormStepStatus } from \"@abgov/ui-components-common\";\n\ninterface WCProps {\n text: string;\n status?: GoabFormStepStatus;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-form-step\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabFormStepProps {\n text: string;\n status?: GoabFormStepStatus;\n}\n\nexport function GoabFormStep(props: GoabFormStepProps) {\n return <goa-form-step text={props.text} status={props.status} />;\n}\n\nexport default GoabFormStep;\n","import { GoabFormStepperOnChangeDetail, Margins } from \"@abgov/ui-components-common\";\nimport { ReactNode, useEffect, useRef } from \"react\";\n\ninterface WCProps extends Margins {\n ref?: React.RefObject<HTMLElement | null>;\n step?: number;\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-form-stepper\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabFormStepperProps extends Margins {\n step?: number;\n testId?: string;\n children?: ReactNode;\n onChange?: (detail: GoabFormStepperOnChangeDetail) => void;\n}\n\nexport function GoabFormStepper({\n testId,\n step,\n mt,\n mb,\n ml,\n mr,\n onChange,\n children,\n}: GoabFormStepperProps) {\n const ref = useRef<HTMLInputElement>(null);\n useEffect(() => {\n if (!ref.current) {\n return;\n }\n const current = ref.current;\n const changeListener = (e: unknown) => {\n const detail = (e as CustomEvent<GoabFormStepperOnChangeDetail>).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-form-stepper\n ref={ref}\n testid={testId}\n step={step}\n mt={mt}\n mr={mr}\n mb={mb}\n ml={ml}\n >\n {children}\n </goa-form-stepper>\n );\n}\n\nexport default GoabFormStepper;\n","import { Margins, Spacing } from \"@abgov/ui-components-common\";\n\nimport type { JSX } from \"react\";\n\ninterface WCProps extends Margins {\n gap?: Spacing;\n minchildwidth: 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-grid\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabGridProps extends Margins {\n gap?: Spacing;\n minChildWidth: string;\n testId?: string;\n children?: React.ReactNode;\n}\n\nexport function GoabGrid({\n gap,\n minChildWidth,\n mt,\n mr,\n mb,\n ml,\n testId,\n children,\n}: GoabGridProps): JSX.Element {\n return (\n <goa-grid\n gap={gap}\n minchildwidth={minChildWidth}\n mt={mt}\n mr={mr}\n mb={mb}\n ml={ml}\n testid={testId}\n >\n {children}\n </goa-grid>\n );\n}\n\nexport default GoabGrid;\n","import type { JSX } from \"react\";\ninterface WCProps {\n heading: string;\n backgroundurl?: string;\n minheight?: string;\n maxcontentwidth?: string;\n backgroundcolor?: string;\n textcolor?: 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-hero-banner\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabHeroBannerProps {\n heading: string;\n backgroundUrl?: string;\n minHeight?: string;\n testId?: string;\n children?: React.ReactNode;\n maxContentWidth?: string;\n backgroundColor?: string;\n textColor?: string;\n}\n\nexport function GoabHeroBanner({\n heading,\n backgroundUrl,\n minHeight,\n maxContentWidth,\n backgroundColor,\n textColor,\n children,\n testId,\n}: GoabHeroBannerProps): JSX.Element {\n return (\n <goa-hero-banner\n heading={heading}\n backgroundurl={backgroundUrl}\n minheight={minHeight}\n maxcontentwidth={maxContentWidth}\n backgroundcolor={backgroundColor}\n textcolor={textColor}\n testid={testId}\n >\n {children}\n </goa-hero-banner>\n );\n}\n\nexport default GoabHeroBanner;\n","import type { JSX } from \"react\";\nexport type GoabHeroBannerActionsType = {\n children?: React.ReactNode;\n};\n\nexport function GoabHeroBannerActions({\n children,\n}: GoabHeroBannerActionsType): JSX.Element {\n return <div slot=\"actions\">{children}</div>;\n}\n\nexport default GoabHeroBannerActions;\n","import {\n GoabIconButtonVariant,\n GoabIconSize,\n GoabIconType,\n Margins, DataAttributes,\n} from \"@abgov/ui-components-common\";\nimport { useEffect, useRef, type JSX, ReactNode } from \"react\";\nimport { transformProps, lowercase } from \"../common/extract-props\";\n\ninterface WCProps extends Margins {\n icon: GoabIconType;\n size?: GoabIconSize;\n variant?: GoabIconButtonVariant;\n title?: string;\n disabled?: string;\n arialabel?: string;\n action?: string;\n actionArgs?: string;\n actionArg?: 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-icon-button\": WCProps & React.HTMLAttributes<HTMLButtonElement> & {\n ref: React.RefObject<HTMLElement | null>;\n };\n }\n }\n}\n\nexport interface GoabIconButtonProps extends Margins, DataAttributes {\n icon: GoabIconType;\n size?: GoabIconSize;\n variant?: GoabIconButtonVariant;\n title?: string;\n disabled?: boolean;\n onClick?: () => void;\n testId?: string;\n ariaLabel?: string;\n action?: string;\n actionArgs?: Record<string, unknown>;\n actionArg?: string;\n children?: ReactNode;\n}\n\nexport function GoabIconButton({\n variant = \"color\",\n size = \"medium\",\n disabled,\n onClick,\n actionArgs,\n actionArg,\n children,\n ...rest\n}: GoabIconButtonProps): JSX.Element {\n const ref = useRef<HTMLElement>(null);\n\n const _props = transformProps<WCProps>(\n { variant, size, ...rest },\n lowercase\n );\n\n useEffect(() => {\n if (!ref.current) {\n return;\n }\n if (!onClick) {\n return;\n }\n const current = ref.current;\n const listener = () => {\n onClick?.();\n };\n\n current.addEventListener(\"_click\", listener);\n return () => {\n current.removeEventListener(\"_click\", listener);\n };\n }, [ref, onClick]);\n\n return (\n <goa-icon-button\n ref={ref}\n disabled={disabled ? \"true\" : undefined}\n action-arg={actionArg}\n action-args={JSON.stringify(actionArgs)}\n {..._props}\n >\n {children}\n </goa-icon-button>\n );\n}\n","import {\n GoabIconOverridesType,\n GoabIconSize,\n GoabIconTheme,\n GoabIconType,\n Margins, DataAttributes,\n} from \"@abgov/ui-components-common\";\n\nimport type { JSX } from \"react\";\nimport { transformProps, lowercase } from \"../common/extract-props\";\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\ninterface IonIconElement extends HTMLElement {}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-icon\": WCProps & React.HTMLAttributes<IonIconElement>;\n }\n }\n}\n\nexport interface GoabIconProps extends Margins, DataAttributes {\n type: GoabIconType | GoabIconOverridesType;\n size?: GoabIconSize;\n theme?: GoabIconTheme;\n inverted?: string | boolean; // TODO: Change type to only boolean\n fillColor?: string;\n opacity?: number;\n title?: string;\n ariaLabel?: string;\n testId?: string;\n}\n\ninterface WCProps extends Margins {\n type: GoabIconType | GoabIconOverridesType;\n theme?: GoabIconTheme;\n size?: GoabIconSize;\n inverted?: string;\n fillcolor?: string;\n opacity?: number;\n title?: string;\n arialabel?: string;\n testid?: string;\n}\n\nexport function GoabIcon({\n inverted,\n ...rest\n}: GoabIconProps): JSX.Element {\n const _props = transformProps<WCProps>(rest, lowercase);\n\n return (\n <goa-icon\n inverted={\n typeof inverted === \"boolean\" ? (inverted ? \"true\" : undefined) : inverted\n }\n {..._props}\n />\n );\n}\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 GoabInputType,\n Margins, DataAttributes,\n} from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../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\n // type=number\n min?: string | number;\n max?: string | number;\n step?: number;\n maxlength?: number;\n\n trailingiconarialabel?: string;\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}\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 GoabInputProps 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 GoabNumberInputProps 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 GoabDateInputProps 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 GoabInput({\n variant = \"goa\",\n textAlign = \"left\",\n focused,\n disabled,\n readonly,\n error,\n leadingContent,\n trailingContent,\n onTrailingIconClick,\n onChange,\n onFocus,\n onBlur,\n onKeyPress,\n ...rest\n}: GoabInputProps & { type?: GoabInputType }): JSX.Element {\n const ref = useRef<HTMLInputElement>(null);\n\n const _props = transformProps<WCProps>({ variant, textalign: textAlign, ...rest }, lowercase);\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 >\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 GoabInputText(props: GoabInputProps): JSX.Element {\n return <GoabInput {...props} type=\"text\" />;\n}\n\nexport function GoabInputPassword(props: GoabInputProps): JSX.Element {\n return <GoabInput {...props} type=\"password\" />;\n}\n\nexport function GoabInputDate({\n value,\n min = \"\",\n max = \"\",\n ...props\n}: GoabDateInputProps): JSX.Element {\n return (\n <GoabInput\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 GoabInputTime({\n value,\n min = \"\",\n max = \"\",\n ...props\n}: GoabInputProps): JSX.Element {\n return (\n <GoabInput\n {...props}\n onChange={onTimeChangeHandler(props.onChange)}\n value={value}\n type=\"time\"\n />\n );\n}\n\nexport function GoabInputDateTime({\n value,\n min = \"\",\n max = \"\",\n ...props\n}: GoabDateInputProps): JSX.Element {\n return (\n <GoabInput\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 GoabInputEmail(props: GoabInputProps): JSX.Element {\n return <GoabInput {...props} type=\"email\" />;\n}\n\nexport function GoabInputSearch(props: GoabInputProps): JSX.Element {\n return <GoabInput {...props} type=\"search\" trailingIcon=\"search\" />;\n}\n\nexport function GoabInputUrl(props: GoabInputProps): JSX.Element {\n return <GoabInput {...props} type=\"url\" />;\n}\n\nexport function GoabInputTel(props: GoabInputProps): JSX.Element {\n return <GoabInput {...props} type=\"tel\" />;\n}\n\nexport function GoabInputFile(props: GoabInputProps): 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 GoabInputMonth(props: GoabInputProps): JSX.Element {\n return <GoabInput {...props} type=\"month\" />;\n}\n\nexport function GoabInputNumber({\n min = Number.MIN_VALUE,\n max = Number.MAX_VALUE,\n value,\n textAlign = \"right\",\n ...props\n}: GoabNumberInputProps): 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 <GoabInput\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 GoabInputRange(props: GoabInputProps): JSX.Element {\n return <GoabInput {...props} type=\"range\" />;\n}\n\nexport default GoabInput;\n","interface WCProps {\n testid?: string;\n progress?: number | null;\n percentVisibility?: \"visible\" | \"hidden\" | undefined;\n ariaLabel?: string;\n ariaLabelledBy?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-linear-progress\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabLinearProgressProps {\n progress?: number | null;\n percentVisibility?: \"visible\" | \"hidden\" | undefined;\n ariaLabel?: string;\n ariaLabelledBy?: string;\n testId?: string;\n}\n\nexport const GoabLinearProgress = ({\n progress,\n percentVisibility,\n ariaLabel,\n ariaLabelledBy,\n testId,\n}: GoabLinearProgressProps) => {\n return (\n <goa-linear-progress\n progress={progress}\n percent-visibility={percentVisibility}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n testid={testId}\n ></goa-linear-progress>\n );\n};\n\nexport default GoabLinearProgress;\n","import { ReactNode } from \"react\";\nimport { GoabIconType, Margins, DataAttributes } from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../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}\n\ninterface GoabLinkProps extends Margins, DataAttributes {\n leadingIcon?: GoabIconType;\n trailingIcon?: GoabIconType;\n action?: string;\n actionArgs?: Record<string, unknown>;\n actionArg?: string;\n testId?: string;\n children: ReactNode;\n}\n\nexport function GoabLink({\n actionArgs,\n actionArg,\n children,\n ...rest\n}: GoabLinkProps) {\n const _props = transformProps<WCProps>(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 GoabLink;\n","import { ReactNode } from \"react\";\nimport { DataAttributes, GoabIconType, GoabLinkButtonType, Margins } from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../common/extract-props\";\n\ninterface WCProps extends Margins {\n type?: GoabLinkButtonType;\n leadingicon?: GoabIconType;\n trailingicon?: GoabIconType;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-link-button\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\ninterface GoALinkButtonProps extends Margins, DataAttributes {\n type?: GoabLinkButtonType;\n leadingIcon?: GoabIconType;\n trailingIcon?: GoabIconType;\n children: ReactNode;\n}\n\nexport function GoALinkButton({\n type = \"primary\",\n children,\n ...rest\n}: GoALinkButtonProps) {\n const _props = transformProps<WCProps>(\n { type, ...rest },\n lowercase\n );\n\n return (\n <goa-link-button {..._props}>\n {children}\n </goa-link-button>\n );\n}\n\nexport default GoALinkButton;\n","/**\n * @module GoabMenuButton\n *\n * This module defines the `GoabMenuButton` React component and related types,\n * which wraps a Web Component (`goa-menu-button`) with enhanced functionality for React applications.\n * It also includes TypeScript interfaces for improved type checking and development experience.\n */\n\nimport { DataAttributes, GoabButtonType, GoabIconType, GoabMenuButtonOnActionDetail } from \"@abgov/ui-components-common\";\nimport { ReactNode, type JSX, useRef, useEffect } from \"react\";\nimport { transformProps, kebab } from \"../common/extract-props\";\n\n/**\n * Props definition for the `goab-menu-button` Web Component.\n * @typedef {Object} WCProps\n *\n * @property {string} text - The text label to be displayed on the button.\n * @property {GoabButtonType} type - The button type, e.g., \"primary\", \"secondary\", etc.\n * @property {GoaIconType} leadingIcon - Optional leading icon appearing within the button.\n * @property {string} [testid] - A test identifier for automated testing purposes.\n * @property {React.RefObject<HTMLElement | null>} ref - A reference object pointing to the Web Component's DOM element.\n */\ninterface WCProps {\n text: string;\n type: GoabButtonType;\n \"max-width\"?: string,\n \"leading-icon\"?: GoabIconType;\n testid?: string;\n ref: React.RefObject<HTMLElement | null>;\n}\n\n/**\n * Extends React's `JSX` namespace to include the custom `goa-menu-button` Web Component.\n * The `goa-menu-button` supports additional React-specific props.\n */\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-menu-button\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\n/**\n * Props for the `GoabMenuButton` React component.\n *\n * @typedef {Object} GoabMenuButtonProps\n *\n * @property {string} text - The text label to display on the button.\n * @property {GoabButtonType} [type=\"primary\"] - The button type, e.g., \"primary\", \"secondary\". Defaults to \"primary\".\n * @property {GoaIconType} leadingIcon - Optional leading icon appearing within the button.\n * @property {string} [testId] - A test identifier for automated testing purposes.\n * @property {Function} [onAction] - Callback function invoked when an action event is emitted by the component.\n * @property {ReactNode} [children] - Optional child elements to be rendered inside the button.\n */\nexport interface GoabMenuButtonProps extends DataAttributes {\n text: string;\n type?: GoabButtonType;\n maxWidth?: string;\n leadingIcon?: GoabIconType;\n testId?: string;\n onAction?: (detail: GoabMenuButtonOnActionDetail) => void;\n children?: ReactNode;\n}\n\n/**\n * A React wrapper component for the `goa-menu-button` Web Component.\n *\n * This component provides seamless integration of the Web Component into a React application, including React-specific props and event handling.\n *\n * @function GoabMenuButton\n * @param {GoabMenuButtonProps} props - The props for the component.\n *\n * @returns {JSX.Element} A JSX element wrapping the `goa-menu-button` Web Component.\n *\n * @example\n * ```tsx\n * <GoabMenuButton\n * text=\"Example Button\"\n * type=\"secondary\"\n * onAction={(action) => console.log(`Action: ${action}`)}\n * >\n * <GoabMenuAction text=\"Option 1\" action=\"option1\" />\n * <GoabMenuAction text=\"Option 2\" action=\"option2\" />\n * <GoabMenuAction text=\"Option 3\" action=\"option3\" />\n * </GoabMenuButton>\n * ```\n */\nexport function GoabMenuButton({\n type = \"primary\",\n testId,\n onAction,\n children,\n ...rest\n}: GoabMenuButtonProps): 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 // Event listener for the \"_action\" event emitted by the Web Component.\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 <goa-menu-button {..._props} ref={el}>\n {children}\n </goa-menu-button>\n );\n}\n\nexport default GoabMenuButton;\n","import { DataAttributes, GoabIconType } from \"@abgov/ui-components-common\";\nimport type { JSX } from \"react\";\nimport { transformProps, lowercase } from \"../common/extract-props\";\n\ninterface WCProps {\n text: string;\n action: 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-menu-action\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabMenuActionProps extends DataAttributes {\n text: string;\n action: string;\n icon?: GoabIconType;\n testId?: string;\n}\n\nexport function GoabMenuAction(props: GoabMenuActionProps): 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 GoabMenuAction;\n","import { GoabLinkTarget, GoabServiceLevel } from \"@abgov/ui-components-common\";\n\nimport { useEffect, useRef, type JSX } from \"react\";\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-microsite-header\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\ninterface WCProps {\n type: GoabServiceLevel;\n version?: string;\n feedbackurl?: string;\n maxcontentwidth?: string;\n feedbackurltarget?: GoabLinkTarget;\n headerurltarget?: GoabLinkTarget;\n hasfeedbackhandler?: string;\n ref: React.RefObject<HTMLElement | null>;\n testid?: string;\n}\n\nexport interface GoabHeaderProps {\n type: GoabServiceLevel;\n version?: string | React.ReactNode;\n feedbackUrl?: string;\n testId?: string;\n maxContentWidth?: string;\n feedbackUrlTarget?: GoabLinkTarget;\n headerUrlTarget?: GoabLinkTarget;\n onFeedbackClick?: () => void;\n}\n\nexport function GoabMicrositeHeader({\n type,\n version,\n feedbackUrl,\n maxContentWidth,\n feedbackUrlTarget,\n headerUrlTarget,\n testId,\n onFeedbackClick,\n}: GoabHeaderProps): JSX.Element {\n const el = useRef<HTMLElement>(null);\n\n useEffect(() => {\n if (!el.current) {\n return;\n }\n if (!onFeedbackClick) {\n return;\n }\n const current = el.current;\n const listener = () => {\n onFeedbackClick();\n };\n\n current.addEventListener(\"_feedbackClick\", listener);\n return () => {\n current.removeEventListener(\"_feedbackClick\", listener);\n };\n }, [el, onFeedbackClick]);\n\n return (\n <goa-microsite-header\n ref={el}\n type={type}\n version={typeof version === \"string\" ? version : undefined}\n feedbackurl={feedbackUrl}\n testid={testId}\n maxcontentwidth={maxContentWidth}\n feedbackurltarget={feedbackUrlTarget}\n headerurltarget={headerUrlTarget}\n hasfeedbackhandler={onFeedbackClick ? \"true\" : \"false\"}\n >\n {version && typeof version !== \"string\" && <div slot=\"version\">{version}</div>}\n </goa-microsite-header>\n );\n}\n\nexport default GoabMicrositeHeader;\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\nexport interface GoabModalProps {\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 /**\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 GoabModal({\n heading,\n children,\n maxWidth,\n open,\n actions,\n transition,\n calloutVariant,\n onClose,\n testId,\n}: GoabModalProps): 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 >\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 GoabModal;\n","import { GoabAriaLiveType, GoabNotificationType } from \"@abgov/ui-components-common\";\nimport { useEffect, useRef } from \"react\";\n\nexport interface GoabNotificationProps {\n type?: GoabNotificationType;\n ariaLive?: GoabAriaLiveType;\n maxContentWidth?: string;\n children?: React.ReactNode;\n onDismiss?: () => void;\n testId?: string;\n}\n\nexport const GoabNotification = ({\n type = \"information\",\n ariaLive,\n maxContentWidth,\n children,\n testId,\n onDismiss,\n}: GoabNotificationProps) => {\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 >\n {children}\n </goa-notification>\n );\n};\n\nexport default GoabNotification;\n","import { ReactNode, type JSX } from \"react\";\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-one-column-layout\": React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabPageProps {\n children?: ReactNode;\n}\n\nexport type PageProps = GoabPageProps;\n\nexport function GoabOneColumnLayout(props: GoabPageProps): JSX.Element {\n return <goa-one-column-layout>{props.children}</goa-one-column-layout>;\n}\n\nexport default GoabOneColumnLayout;\n","import { GoabPageBlockSize } from \"@abgov/ui-components-common\";\nimport { ReactNode, type JSX } from \"react\";\n\ninterface WCProps {\n width?: GoabPageBlockSize;\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-page-block\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabPageBlockProps {\n width?: GoabPageBlockSize;\n testId?: string;\n children?: ReactNode;\n}\n\n// legacy name\nexport type PageBlockProps = GoabPageBlockProps;\n\nexport function GoabPageBlock(props: PageBlockProps): JSX.Element {\n return (\n <goa-page-block width={props.width} testid={props.testId}>\n {props.children}\n </goa-page-block>\n );\n}\n","import { Margins } from \"@abgov/ui-components-common\";\nimport { ReactNode, type JSX } from \"react\";\n\ninterface WCProps extends Margins {\n current?: number;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-pages\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\n/* eslint-disable-next-line */\nexport interface GoabPagesProps extends Margins {\n current?: number;\n children?: ReactNode;\n}\n\nexport function GoabPages(props: GoabPagesProps): JSX.Element {\n return (\n <goa-pages\n current={props.current}\n ml={props.ml}\n mr={props.mr}\n mt={props.mt}\n mb={props.mb}\n >\n {props.children}\n </goa-pages>\n );\n}\n\nexport default GoabPages;\n","import { GoabPaginationOnChangeDetail, Margins } from \"@abgov/ui-components-common\";\nimport { useEffect, useRef } from \"react\";\n\n/* eslint-disable-next-line */\nexport interface GoabPaginationProps 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}\n\n// legacy\nexport type PaginationProps = GoabPaginationProps;\n\nexport function GoabPagination({ onChange, ...props }: GoabPaginationProps) {\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 />\n );\n}\n\nexport default GoabPagination;\n","import { DataAttributes, GoabPopoverPosition, Margins } from \"@abgov/ui-components-common\";\nimport { ReactNode, type JSX } from \"react\";\nimport { transformProps, lowercase } from \"../common/extract-props\";\n\ninterface WCProps extends Margins {\n maxwidth?: string;\n minwidth?: string;\n padded?: string;\n position?: GoabPopoverPosition;\n relative?: 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-popover\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabPopoverProps extends Margins, DataAttributes {\n target?: ReactNode;\n testId?: string;\n maxWidth?: string;\n minWidth?: string;\n padded?: boolean;\n position?: GoabPopoverPosition;\n children: ReactNode;\n /***\n * @deprecated This property has no effect and will be removed in a future version\n */\n relative?: boolean;\n}\n\nexport function GoabPopover({\n target,\n padded,\n relative,\n children,\n ...rest\n}: GoabPopoverProps): JSX.Element {\n const _props = transformProps<WCProps>(rest, lowercase);\n\n return (\n <goa-popover\n padded={typeof padded === \"undefined\" ? undefined : padded ? \"true\" : \"false\"}\n relative={relative ? \"true\" : undefined}\n {..._props}\n >\n {children}\n {target && <div slot=\"target\">{target}</div>}\n </goa-popover>\n );\n}\n\nexport default GoabPopover;\n","import { ReactNode, useEffect, useRef } from \"react\";\n\ninterface WCProps {\n open?: boolean;\n testid?: string;\n heading?: string;\n width?: string;\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-push-drawer\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabPushDrawerProps {\n testid?: string;\n open?: boolean;\n heading?: string;\n width?: string;\n actions?: ReactNode | undefined;\n children: ReactNode;\n onClose: () => void;\n}\n\nexport function GoabPushDrawer({\n testid,\n open,\n heading,\n width,\n actions,\n children,\n onClose,\n}: GoabPushDrawerProps) {\n // console.log(\"GoabPushDrawer:\", testId, open, heading);\n const el = useRef<HTMLElement>(null);\n\n useEffect(() => {\n const elCurrent = el?.current;\n if (!elCurrent || !onClose) {\n return;\n }\n elCurrent.addEventListener(\"_close\", onClose);\n return () => {\n elCurrent.removeEventListener(\"_close\", onClose);\n };\n }, [el, onClose]);\n\n return (\n <goa-push-drawer\n ref={el}\n testid={testid}\n open={open ?? false}\n heading={typeof heading === \"string\" ? heading : undefined}\n width={width}\n >\n {heading && typeof heading !== \"string\" && <div slot=\"heading\">{heading}</div>}\n {actions && <div slot=\"actions\">{actions}</div>}\n {children}\n </goa-push-drawer>\n );\n}\n\nexport default GoabPushDrawer;\n","import { Margins } from \"@abgov/ui-components-common\";\n\nimport type { JSX } from \"react\";\n\nexport interface GoabRadioItemProps 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 children?: React.ReactNode;\n ariaLabel?: string;\n}\n\nexport function GoabRadioItem({\n name,\n label,\n value,\n description,\n reveal,\n revealAriaLabel,\n maxWidth,\n disabled,\n checked,\n error,\n ariaLabel,\n children,\n mt,\n mr,\n mb,\n ml,\n}: GoabRadioItemProps): 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 arialabel={ariaLabel}\n revealarialabel={revealAriaLabel}\n mt={mt}\n mr={mr}\n mb={mb}\n ml={ml}\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 GoabRadioItem;\n","import { useEffect, useRef, type JSX } from \"react\";\nimport {\n GoabRadioGroupOnChangeDetail,\n GoabRadioGroupOrientation,\n Margins, DataAttributes,\n} from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../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}\n\nexport interface GoabRadioGroupProps extends Margins, DataAttributes {\n name: string;\n value?: string;\n id?: string;\n disabled?: boolean;\n orientation?: GoabRadioGroupOrientation;\n testId?: string;\n error?: boolean;\n ariaLabel?: string;\n children?: React.ReactNode;\n onChange?: (detail: GoabRadioGroupOnChangeDetail) => void;\n}\n\nexport function GoabRadioGroup({\n disabled,\n error,\n onChange,\n name,\n children,\n ...rest\n}: GoabRadioGroupProps): JSX.Element {\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 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 >\n {children}\n </goa-radio-group>\n );\n}\n\nexport default GoabRadioGroup;\n","import { ReactNode, type JSX } from \"react\";\nimport { GoabIconType, Margins } from \"@abgov/ui-components-common\";\n\n/* eslint-disable-next-line */\nexport interface GoabSideMenuGroupProps extends Margins {\n heading: string;\n icon?: GoabIconType;\n testId?: string;\n children?: ReactNode;\n}\n\nexport function GoabSideMenuGroup(props: GoabSideMenuGroupProps): JSX.Element {\n return (\n <goa-side-menu-group\n heading={props.heading}\n icon={props.icon}\n testid={props.testId}\n mt={props.mt}\n mr={props.mr}\n mb={props.mb}\n ml={props.ml}\n >\n {props.children}\n </goa-side-menu-group>\n );\n}\n\nexport default GoabSideMenuGroup;\n","import { GoabIconType } from \"@abgov/ui-components-common\";\nimport { ReactNode } from \"react\";\n\n/* eslint-disable-next-line */\nexport interface GoabSideMenuHeadingProps {\n meta?: ReactNode;\n testId?: string;\n icon?: GoabIconType;\n children?: ReactNode;\n}\n\nexport function GoabSideMenuHeading(props: GoabSideMenuHeadingProps) {\n return (\n <goa-side-menu-heading icon={props.icon} testid={props.testId}>\n {props.children}\n {props.meta && <span slot=\"meta\">{props.meta}</span>}\n </goa-side-menu-heading>\n );\n}\n\nexport default GoabSideMenuHeading;\n","import { ReactNode, type JSX } from \"react\";\n\n/* eslint-disable-next-line */\nexport interface GoabSideMenuProps {\n testId?: string;\n children: ReactNode;\n}\n\nexport function GoabSideMenu(props: GoabSideMenuProps): JSX.Element {\n return <goa-side-menu testid={props.testId}>{props.children}</goa-side-menu>;\n}\n\nexport default GoabSideMenu;\n","import { GoabSkeletonSize, GoabSkeletonType, Margins } from \"@abgov/ui-components-common\";\n\ninterface WCProps extends Margins {\n maxwidth?: string;\n size?: GoabSkeletonSize;\n linecount?: number;\n type: GoabSkeletonType;\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-skeleton\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabSkeletonProps extends Margins {\n maxWidth?: string;\n size?: GoabSkeletonSize;\n lineCount?: number;\n type: GoabSkeletonType;\n testId?: string;\n}\n\n// legacy name\nexport type SkeletonProps = GoabSkeletonProps;\n\nexport const GoabSkeleton = ({\n maxWidth,\n size,\n lineCount,\n type,\n testId,\n mt,\n mr,\n mb,\n ml,\n}: GoabSkeletonProps) => {\n return (\n <goa-skeleton\n maxwidth={maxWidth}\n linecount={lineCount}\n type={type}\n size={size}\n mt={mt}\n mr={mr}\n mb={mb}\n ml={ml}\n testid={testId}\n />\n );\n};\n\nexport default GoabSkeleton;\n","import {\n GoabSpacerHorizontalSpacing,\n GoabSpacerVerticalSpacing,\n} from \"@abgov/ui-components-common\";\n\n/* eslint-disable-next-line */\ninterface WCProps {\n hspacing?: GoabSpacerHorizontalSpacing;\n vspacing?: GoabSpacerVerticalSpacing;\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-spacer\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\n/* eslint-disable-next-line */\nexport interface GoabSpacerProps {\n hSpacing?: GoabSpacerHorizontalSpacing;\n vSpacing?: GoabSpacerVerticalSpacing;\n testId?: string;\n}\n\nexport function GoabSpacer(props: GoabSpacerProps) {\n return (\n <goa-spacer\n hspacing={props.hSpacing}\n vspacing={props.vSpacing}\n testid={props.testId}\n />\n );\n}\n\nexport default GoabSpacer;\n","import { GoabSpinnerSize, GoabSpinnerType } from \"@abgov/ui-components-common\";\n\nimport type { JSX } from \"react\";\n\ninterface WCProps {\n size: GoabSpinnerSize;\n type: GoabSpinnerType;\n invert?: string;\n progress?: number;\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-spinner\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabSpinnerProps {\n type: GoabSpinnerType;\n size: GoabSpinnerSize;\n invert?: boolean;\n progress?: number;\n testId?: string;\n}\n\nexport type SpinnerProps = GoabSpinnerProps;\n\nexport function GoabSpinner({\n type,\n size,\n progress,\n invert,\n testId,\n}: GoabSpinnerProps): JSX.Element {\n return (\n <goa-spinner\n type={type}\n size={size}\n progress={progress}\n invert={invert ? \"true\" : undefined}\n testid={testId}\n />\n );\n}\n\nexport default GoabSpinner;\n","import {\n GoabTableOnSortDetail,\n GoabTableVariant,\n Margins,\n} from \"@abgov/ui-components-common\";\nimport { ReactNode, useEffect, useRef } from \"react\";\n\n/* eslint-disable-next-line */\nexport interface GoabTableProps extends Margins {\n width?: string;\n onSort?: (detail: GoabTableOnSortDetail) => void;\n // stickyHeader?: boolean; TODO: enable this later\n variant?: GoabTableVariant;\n testId?: string;\n children?: ReactNode;\n}\n\n// legacy name\nexport type TableProps = GoabTableProps;\n\nexport function GoabTable({ onSort, ...props }: GoabTableProps) {\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 testid={props.testId}\n mt={props.mt}\n mb={props.mb}\n ml={props.ml}\n mr={props.mr}\n >\n <table style={{ width: \"100%\" }}>{props.children}</table>\n </goa-table>\n );\n}\n\nexport default GoabTable;\n","import { DataAttributes, GoabTableSortDirection } from \"@abgov/ui-components-common\";\n\nimport type { JSX } from \"react\";\nimport { transformProps, lowercase } from \"../common/extract-props\";\n\ninterface WCProps {\n name?: string;\n direction?: GoabTableSortDirection;\n}\n\n/* eslint-disable-next-line */\nexport interface GoabTableSortProps extends DataAttributes {\n name?: string;\n direction?: GoabTableSortDirection;\n children?: React.ReactNode;\n}\n\nexport function GoabTableSortHeader({\n children,\n ...rest\n}: GoabTableSortProps): JSX.Element {\n const _props = transformProps<WCProps>(rest, lowercase);\n\n return (\n <goa-table-sort-header {..._props}>\n {children}\n </goa-table-sort-header>\n );\n}\n\nexport default GoabTableSortHeader;\n","import React, { useEffect, useRef, type JSX } from \"react\";\nimport { GoabTabsOnChangeDetail, GoabTabsVariant } from \"@abgov/ui-components-common\";\n\nexport interface GoabTabsProps {\n initialTab?: number;\n children?: React.ReactNode;\n testId?: string;\n variant?: GoabTabsVariant;\n onChange?: (detail: GoabTabsOnChangeDetail) => void;\n}\n\nexport function GoabTabs({\n initialTab,\n children,\n testId,\n variant,\n onChange,\n}: GoabTabsProps): 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 ref={ref} initialtab={initialTab} testid={testId} variant={variant}>\n {children}\n </goa-tabs>\n );\n}\n\nexport default GoabTabs;\n","import type { JSX } from \"react\";\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 GoabTabItemProps {\n heading?: React.ReactNode;\n disabled?: boolean;\n children?: React.ReactNode;\n slug?: string;\n}\n\nexport function GoabTab({ heading, disabled, slug, children }: GoabTabItemProps): 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, { useRef } from \"react\";\nimport { transformProps, kebab } from \"../common/extract-props\";\n\ntype SnackbarVerticalPosition = \"top\" | \"bottom\";\ntype SnackbarHorizontalPosition = \"left\" | \"center\" | \"right\";\n\ninterface WCProps {\n \"vertical-position\"?: SnackbarVerticalPosition;\n \"horizontal-position\"?: SnackbarHorizontalPosition;\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-temp-notification-ctrl\": WCProps &\n React.HTMLAttributes<HTMLElement> & {\n ref: React.RefObject<HTMLElement | null>;\n };\n }\n }\n}\n\nexport interface GoabTemporaryNotificationCtrlProps {\n verticalPosition?: SnackbarVerticalPosition;\n horizontalPosition?: SnackbarHorizontalPosition;\n testId?: string;\n}\n\nexport const GoabTemporaryNotificationCtrl = ({\n verticalPosition = \"bottom\",\n horizontalPosition = \"center\",\n testId,\n ...rest\n}: GoabTemporaryNotificationCtrlProps) => {\n const el = useRef<HTMLElement>(null);\n\n const _props = transformProps<WCProps>(\n { \"vertical-position\": verticalPosition, \"horizontal-position\": horizontalPosition, ...rest },\n kebab\n );\n\n return (\n <goa-temp-notification-ctrl\n ref={el}\n {..._props}\n testid={testId}\n />\n );\n};\n\nexport default GoabTemporaryNotificationCtrl;\n","import { ReactNode, type JSX } from \"react\";\nimport {\n GoabTextMaxWidth,\n GoabTextHeadingElement,\n GoabTextTextElement,\n GoabTextSize,\n GoabTextColor,\n Margins, DataAttributes,\n} from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../common/extract-props\";\n\ninterface WCProps extends Margins {\n as?: GoabTextTextElement | GoabTextHeadingElement;\n size?: GoabTextSize;\n maxwidth?: GoabTextMaxWidth;\n color?: GoabTextColor;\n id?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-text\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\ninterface GoATextProps extends Margins, DataAttributes {\n /** @deprecated Please use 'tag' property instead */\n as?: GoabTextTextElement | GoabTextHeadingElement;\n tag?: GoabTextTextElement | GoabTextHeadingElement;\n size?: GoabTextSize;\n maxWidth?: GoabTextMaxWidth;\n color?: GoabTextColor;\n id?: string;\n children: ReactNode;\n}\n\nexport function GoabText({\n as,\n tag,\n children,\n ...rest\n}: GoATextProps): JSX.Element {\n const _props = transformProps<WCProps>(rest, lowercase);\n\n return (\n <goa-text\n as={tag || as}\n {..._props}\n >\n {children}\n </goa-text>\n );\n}\n\nexport default GoabText;\n","import {\n GoabTextAreaCountBy,\n GoabTextAreaOnChangeDetail,\n GoabTextAreaOnKeyPressDetail,\n GoabTextAreaOnBlurDetail,\n Margins, DataAttributes,\n} from \"@abgov/ui-components-common\";\nimport { useEffect, useRef, type JSX } from \"react\";\nimport { transformProps, lowercase } from \"../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}\n\nexport interface GoabTextAreaProps 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\n onChange?: (event: GoabTextAreaOnChangeDetail) => void;\n onKeyPress?: (event: GoabTextAreaOnKeyPressDetail) => void;\n onBlur?: (event: GoabTextAreaOnBlurDetail) => void;\n}\n\nexport function GoabTextArea({\n readOnly,\n disabled,\n error,\n onChange,\n onKeyPress,\n onBlur,\n ...rest\n}: GoabTextAreaProps): 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 {..._props}\n ></goa-textarea>\n );\n}\n\nexport default GoabTextArea;\n","import { ReactNode } from \"react\";\n\ninterface WCProps {\n leftcolumnwidth?: string;\n maxcontentwidth?: string;\n rightcolumnwidth?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-three-column-layout\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabThreeColumnLayoutProps {\n leftColumnWidth?: string;\n rightColumnWidth?: string;\n maxContentWidth?: string;\n header?: ReactNode;\n footer?: ReactNode;\n nav?: ReactNode;\n sidebar?: ReactNode; // DEPRECATED\n sideMenu?: ReactNode;\n children: ReactNode;\n}\n\nexport function GoabThreeColumnLayout(props: GoabThreeColumnLayoutProps) {\n return (\n <goa-three-column-layout\n leftcolumnwidth={props.leftColumnWidth}\n rightcolumnwidth={props.rightColumnWidth}\n maxcontentwidth={props.maxContentWidth}\n >\n {props.header && <div slot=\"header\">{props.header}</div>}\n {props.nav && <div slot=\"nav\">{props.nav}</div>}\n {props.sidebar && <div slot=\"side-menu\">{props.sidebar}</div>}\n {props.sideMenu && <div slot=\"side-menu\">{props.sideMenu}</div>}\n {props.children}\n {props.footer && <div slot=\"footer\">{props.footer}</div>}\n </goa-three-column-layout>\n );\n}\n\nexport default GoabThreeColumnLayout;\n","import {\n GoabTooltipHorizontalAlignment,\n GoabTooltipPosition,\n Margins, DataAttributes,\n} from \"@abgov/ui-components-common\";\nimport { ReactNode, type JSX } from \"react\";\nimport { transformProps, lowercase } from \"../common/extract-props\";\n\n/* eslint-disable-next-line */\ninterface WCProps extends Margins {\n position?: GoabTooltipPosition;\n content?: string;\n testid?: string;\n halign?: GoabTooltipHorizontalAlignment;\n maxwidth?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-tooltip\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\n/* eslint-disable-next-line */\nexport interface GoabTooltipProps extends Margins, DataAttributes {\n position?: GoabTooltipPosition;\n content?: string | ReactNode;\n hAlign?: GoabTooltipHorizontalAlignment;\n testId?: string;\n maxWidth?: string;\n children?: ReactNode;\n}\n\nexport function GoabTooltip({\n content,\n children,\n ...rest\n}: GoabTooltipProps): JSX.Element {\n const _props = transformProps<WCProps>(rest, lowercase);\n\n const isStringContent = typeof content === \"string\";\n\n return (\n <goa-tooltip\n content={isStringContent ? (content as string) : undefined}\n {..._props}\n >\n {!isStringContent && content && <div slot=\"content\">{content}</div>}\n {children}\n </goa-tooltip>\n );\n}\n\nexport default GoabTooltip;\n","import { ReactNode } from \"react\";\n\ninterface WCProps {\n navcolumnwidth?: string;\n maxcontentwidth?: string;\n}\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n \"goa-two-column-layout\": WCProps & React.HTMLAttributes<HTMLElement>;\n }\n }\n}\n\nexport interface GoabTwoColumnLayoutProps {\n navColumnWidth?: string;\n maxContentWidth?: string;\n header: ReactNode;\n footer: ReactNode;\n nav: ReactNode;\n children: ReactNode;\n}\n\nexport function GoabTwoColumnLayout(props: GoabTwoColumnLayoutProps) {\n return (\n <goa-two-column-layout\n navcolumnwidth={props.navColumnWidth}\n maxcontentwidth={props.maxContentWidth}\n >\n {props.header && <div slot=\"header\">{props.header}</div>}\n {props.nav && <div slot=\"nav\">{props.nav}</div>}\n {props.children}\n {props.footer && <div slot=\"footer\">{props.footer}</div>}\n </goa-two-column-layout>\n );\n}\n\nexport default GoabTwoColumnLayout;\n","import { useEffect, useRef } from \"react\";\nimport { DataAttributes, GoabFilterChipTheme, Margins } from \"@abgov/ui-components-common\";\nimport { transformProps, lowercase } from \"../common/extract-props\";\n\ninterface WCProps extends Margins {\n icontheme: GoabFilterChipTheme;\n error?: string;\n content: string;\n testid?: string;\n}\n\nexport interface GoabFilterChipProps extends Margins, DataAttributes {\n onClick?: () => void;\n iconTheme?: GoabFilterChipTheme;\n error?: boolean;\n content: string;\n testId?: string;\n}\n\nexport const GoabFilterChip = ({\n iconTheme = \"outline\",\n error,\n onClick,\n ...rest\n}: GoabFilterChipProps) => {\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 {..._props}\n />\n );\n};\n\nexport default GoabFilterChip;\n","// Public helper function to dispatch messages\nexport function dispatch<T>(\n el: HTMLElement | Element | null | undefined,\n eventName: string,\n detail?: T,\n opts?: { bubbles?: boolean },\n) {\n if (!el) {\n console.error(\"dispatch element is null\");\n return;\n }\n el.dispatchEvent(\n new CustomEvent<T>(eventName, {\n composed: true,\n bubbles: opts?.bubbles,\n detail: detail,\n }),\n );\n}\n\n// Public helper function to relay messages\nexport function relay<T>(\n el: HTMLElement | Element | null | undefined,\n eventName: string,\n data?: T,\n opts?: { bubbles?: boolean },\n) {\n if (!el) {\n console.error(\"dispatch element is null\");\n return;\n }\n el.dispatchEvent(\n new CustomEvent<{ action: string; data?: T }>(\"msg\", {\n composed: true,\n bubbles: opts?.bubbles,\n detail: {\n action: eventName,\n data,\n },\n }),\n );\n}\n","import { FieldsetItemState, FieldValidator } from \"./validators\";\nimport {\n GoabFieldsetItemValue, GoabFormDispatchOn,\n} from \"./common\";\nimport { relay, dispatch } from \"./messaging/messaging\";\n\nexport type FormStatus = \"not-started\" | \"incomplete\" | \"complete\";\n\n// Public type to define the state of the form\nexport type AppState<T> = {\n uuid: string;\n form: Record<string, Fieldset<T>>;\n history: string[];\n editting: string;\n lastModified?: Date;\n status: FormStatus;\n currentFieldset?: { id: T; dispatchType: GoabFormDispatchOn };\n};\n\nexport type Fieldset<T> = {\n heading: string;\n data:\n | { type: \"details\"; fieldsets: Record<string, FieldsetItemState> }\n | { type: \"list\"; items: AppState<T>[] };\n};\n\nexport class PublicFormController<T> {\n state?: AppState<T> | AppState<T>[];\n _formData?: Record<string, string> = undefined;\n _formRef?: HTMLElement = undefined;\n private _isCompleting = false;\n\n constructor(private type: \"details\" | \"list\") {}\n\n // Obtain reference to the form element\n init(e: Event) {\n // FIXME: This condition should not be needed, but currently it is the only way to get things working\n if (this._formRef) {\n console.warn(\"init: form element has already been set\");\n return;\n }\n this._formRef = (e as CustomEvent).detail.el;\n\n this.state = {\n uuid: crypto.randomUUID(),\n form: {},\n history: [],\n editting: \"\",\n status: \"not-started\",\n };\n }\n\n initList(e: Event) {\n this._formRef = (e as CustomEvent).detail.el;\n this.state = [];\n }\n\n // Public method to allow for the initialization of the state\n initState(state?: string | AppState<T> | AppState<T>[], callback?: () => void) {\n relay(this._formRef, \"external::init:state\", state);\n\n if (typeof state === \"string\") {\n this.state = JSON.parse(state);\n } else if (!Array.isArray(state)) {\n this.state = state;\n }\n\n if (callback) {\n setTimeout(callback, 200);\n }\n }\n\n updateListState(e: Event) {\n const detail = (e as CustomEvent).detail;\n\n if (!Array.isArray(detail.data)) {\n return;\n }\n\n this.state = detail.data;\n }\n\n #updateObjectListState(detail: { data: AppState<T>[]; index: number; id: string }) {\n if (!Array.isArray(detail.data)) {\n return;\n }\n\n if (Array.isArray(this.state)) {\n return;\n }\n\n this.state = {\n ...this.state,\n form: {\n ...(this.state?.form || {}),\n [detail.id]: detail.data,\n },\n } as AppState<T>;\n }\n\n updateObjectState(e: Event) {\n if (Array.isArray(this.state)) {\n return;\n }\n\n const detail = (e as CustomEvent).detail;\n if (detail.type === \"list\") {\n // form state being updated with subform array data\n this.state = {\n ...this.state,\n form: { ...(this.state?.form || {}), [detail.id]: detail.data },\n } as AppState<T>;\n } else {\n // form state being updated with form data\n this.state = {\n ...this.state,\n ...detail.data,\n form: { ...(this.state?.form || {}), ...detail.data.form },\n history: detail.data.history,\n } as AppState<T>;\n }\n }\n\n getStateList(): Record<string, string>[] {\n if (!this.state) {\n return [];\n }\n if (!Array.isArray(this.state)) {\n console.warn(\n \"Utils:getStateList: unable to update the state of a non-multi form type\",\n this.state,\n );\n return [];\n }\n if (this.state.length === 0) {\n return [];\n }\n\n return this.state.map((s) => {\n return Object.values(s.form)\n .filter((item) => {\n return item?.data?.type === \"details\";\n })\n .map((item) => {\n return (item.data.type === \"details\" && item.data?.fieldsets) || {};\n })\n .reduce(\n (acc, item) => {\n for (const [key, value] of Object.entries(item)) {\n acc[key] = value.value;\n }\n return acc;\n },\n {} as Record<string, string>,\n );\n });\n }\n\n // getStateItems(group: string): Record<string, FieldsetItemState>[] {\n // if (Array.isArray(this.state)) {\n // console.error(\n // \"Utils:getStateItems: unable to update the state of a multi form type\",\n // );\n // return [];\n // }\n // if (!this.state) {\n // console.error(\"Utils:getStateItems: state has not yet been set\");\n // return [];\n // }\n //\n // const data = this.state.form[group].data;\n // if (data.type !== \"list\") {\n // return [];\n // }\n //\n // return data.items.;\n // }\n\n // Public method to allow for the retrieval of the state value\n getStateValue(group: string, key: string): string {\n if (Array.isArray(this.state)) {\n console.error(\"getStateValue: unable to update the state of a multi form type\");\n return \"\";\n }\n if (!this.state) {\n console.error(\"getStateValue: state has not yet been set\");\n return \"\";\n }\n\n const data = this.state.form[group].data;\n if (data.type !== \"details\") {\n return \"\";\n }\n\n return data.fieldsets[key].value;\n }\n\n // Public method to allow for the continuing to the next page\n continueTo(next: T | undefined) {\n if (!next) {\n console.error(\"continueTo [name] is undefined\");\n return;\n }\n // Relay the continue message to the form element which will\n // set the visibility of the fieldsets\n // FIXME: this makes a call to the subform instead of the form\n relay<{ next: T }>(this._formRef, \"external::continue\", { next });\n }\n\n // Public method to perform validation and send the appropriate messages to the form elements\n validate(\n e: Event,\n field: string,\n validators: FieldValidator[],\n options?: { grouped: boolean },\n ): [boolean, GoabFieldsetItemValue] {\n const { el, state, cancelled } = (e as CustomEvent).detail;\n const value = state?.[field]?.value;\n\n window.scrollTo({ top: 0, behavior: \"smooth\" });\n\n if (cancelled) {\n return [true, value];\n }\n\n for (const validator of validators) {\n const msg = validator(value);\n this.#dispatchError(el, field, msg, options);\n if (msg) {\n return [false, \"\"];\n }\n }\n return [true, value];\n }\n\n /**\n * Validates a group of fields ensuring that at least `minPassCount` of the items within the group\n * passes. This is useful in the scenario when n number fields are required out of n+m number of fields.\n *\n * @param {string[]} fields - An array of field names to be validated.\n * @param {Event} e - The event object associated with the validation trigger.\n * @param {FieldValidator[]} validators - An array of validator functions to apply to the fields.\n * @return {[number, Record<string, boolean>]} - Returns back the number of fields that passed and a record of the fields and their pass status.\n */\n validateGroup(\n e: Event,\n fields: string[],\n validators: FieldValidator[],\n ): [number, Record<string, boolean>] {\n let passCount = 0;\n const validGroups = {} as Record<string, boolean>;\n\n for (const field of fields) {\n const [_valid] = this.validate(e, field, validators, { grouped: true });\n if (_valid) {\n validGroups[field] = true;\n passCount++;\n }\n }\n\n return [passCount, validGroups];\n }\n\n edit(index: number) {\n relay(this._formRef, \"external::alter:state\", { index, operation: \"edit\" });\n }\n\n remove(index: number) {\n relay(this._formRef, \"external::alter:state\", {\n index,\n operation: \"remove\",\n });\n }\n\n /**\n * Completes the form and triggers the onComplete callback.\n * This method should be used when you want to complete a form without navigating to a summary page.\n *\n * @important Developers must validate the form before calling this method.\n *\n * @example\n * // Validate first, then complete\n * const [isValid] = this.validate(e, \"firstName\", [\n * requiredValidator(\"First name is required.\")\n * ]);\n * if (isValid) {\n * this.complete();\n * }\n * @returns void\n */\n complete() {\n if (!this._formRef) {\n console.error(\"complete: form ref is not set\");\n return;\n }\n\n if (this._isCompleting) {\n console.warn(\"complete: completion already in progress\");\n return;\n }\n\n this._isCompleting = true;\n relay(this._formRef, \"fieldset::submit\", null, { bubbles: true });\n this._isCompleting = false;\n }\n\n /**\n * Completes a subform and returns control to the parent form.\n * This method should be used when working with subforms that need to complete without a summary page.\n *\n * @important Developers must validate the subform before calling this method.\n *\n * @example\n * // Validate first, then complete the subform\n * const [isValid] = this._childFormController.validate(e, \"fullName\", [\n * requiredValidator(\"Please enter the dependent's full name.\")\n * ]);\n * if (isValid) {\n * this._childFormController.completeSubform();\n * }\n * @returns void\n */\n completeSubform() {\n if (!this._formRef) {\n console.error(\"completeSubform: form ref is not set\");\n return;\n }\n\n if (this._isCompleting) {\n console.warn(\"completeSubform: completion already in progress\");\n return;\n }\n // Capture form reference to avoid TypeScript undefined error in closures\n const formRef = this._formRef;\n\n // Set flag to prevent multiple calls\n this._isCompleting = true;\n\n const stateChangeHandler = (e: Event) => {\n formRef.removeEventListener('_stateChange', stateChangeHandler);\n\n // Now we know state is updated, safe to complete\n // The _formRef points to the inner form within the SubForm\n // We need to trigger the form's completion which will be caught by SubForm's onChildFormComplete\n dispatch(formRef, \"_complete\", {}, { bubbles: true });\n this._isCompleting = false;\n };\n\n formRef.addEventListener('_stateChange', stateChangeHandler);\n\n dispatch(formRef, \"_continue\", null, { bubbles: true });\n }\n\n // Private method to dispatch the error message to the form element\n #dispatchError(\n el: HTMLElement,\n name: string,\n msg: string,\n options?: { grouped: boolean },\n ) {\n el.dispatchEvent(\n new CustomEvent(\"msg\", {\n composed: true,\n detail: {\n action: \"external::set:error\",\n data: {\n name,\n msg,\n grouped: options?.grouped,\n },\n },\n }),\n );\n }\n\n // removes any data collected that doesn't correspond with the final history path\n clean(data: AppState<T>) {\n return data.history.reduce<Record<string, unknown>>((acc, fieldsetId) => {\n acc[fieldsetId] = data.form[fieldsetId];\n return acc;\n }, {});\n }\n}\n\n","import { useRef, useEffect, useState, useCallback } from 'react';\nimport {\n AppState,\n GoabFieldsetItemValue,\n FieldValidator, PublicFormController,\n} from \"@abgov/ui-components-common\";\n\nfunction usePublicFormController<T>(type: \"details\" | \"list\" = \"details\") {\n const controllerRef = useRef<PublicFormController<T>>(new PublicFormController<T>(type));\n const [state, setState] = useState<AppState<T> | AppState<T>[] | undefined>(undefined);\n\n useEffect(() => {\n // Create a proxy that updates React state when controller's state changes\n const originalStateGetter = Object.getOwnPropertyDescriptor(\n Object.getPrototypeOf(controllerRef.current),\n 'state'\n )?.get;\n\n const originalStateSetter = Object.getOwnPropertyDescriptor(\n Object.getPrototypeOf(controllerRef.current),\n 'state'\n )?.set;\n\n if (originalStateGetter && originalStateSetter) {\n Object.defineProperty(controllerRef.current, 'state', {\n get: function() {\n return originalStateGetter.call(this);\n },\n set: function(value) {\n originalStateSetter.call(this, value);\n setState(value);\n },\n configurable: true\n });\n }\n }, []);\n\n\n const init = useCallback((e: Event) => {\n if (!(e as CustomEvent).detail?.el) {\n console.error('El is null during initialization');\n return;\n }\n controllerRef.current.init(e);\n }, []);\n\n const initList = useCallback((e: Event) => {\n const customEvent = e as CustomEvent;\n if (!customEvent?.detail?.el) {\n console.error('El is null during list initialization');\n return;\n }\n controllerRef.current.initList(e);\n }, []);\n\n const initState = useCallback((state?: string | AppState<T> | AppState<T>[], callback?: () => void) => {\n if (!controllerRef.current._formRef) {\n console.error('Form ref not set.');\n return;\n }\n controllerRef.current.initState(state, callback);\n }, []);\n\n const continueTo = useCallback((next: T | undefined) => {\n controllerRef.current.continueTo(next);\n }, []);\n\n const validate = useCallback((\n e: Event,\n field: string,\n validators: FieldValidator[]\n ): [boolean, GoabFieldsetItemValue] => {\n return controllerRef.current.validate(e, field, validators);\n }, []);\n\n const getStateValue = useCallback((group: string, key: string): string => {\n return controllerRef.current.getStateValue(group, key);\n }, []);\n\n const getStateList = useCallback((): Record<string, string>[] => {\n return controllerRef.current.getStateList();\n }, []);\n\n const complete = useCallback(() => {\n controllerRef.current.complete();\n }, []);\n\n const completeSubform = useCallback(() => {\n controllerRef.current.completeSubform();\n }, []);\n\n return {\n state,\n init,\n initList,\n initState,\n continueTo,\n validate,\n getStateValue,\n getStateList,\n complete,\n completeSubform,\n controller: controllerRef.current\n };\n}\n\nexport { usePublicFormController };\n"],"names":["useRef","transformProps","lowercase","useEffect","jsxs","jsx","kebab","error","_a","useLayoutEffect","isValid","parseISO","format","value","useState","useCallback","state"],"mappings":";;;;;;;;;;;;;;;AA6CO,SAAS,cAAc;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAoC;AAClC,QAAM,MAAMA,MAAAA,OAAoB,IAAI;AAEpC,QAAM,SAASC,SAAAA,eAAwB,MAAMC,kBAAS;AAEtDC,QAAAA,UAAU,MAAM;AACd,UAAM,UAAU,IAAI;AACpB,QAAI,WAAW,UAAU;AACvB,YAAM,UAAU,CAAC,UAAiB;AAChC,cAAM,cAAc;AACpB,6CAAW,YAAY,OAAO;AAAA,MAChC;AACA,cAAQ,iBAAiB,WAAW,OAAO;AAC3C,aAAO,MAAM;AACX,gBAAQ,oBAAoB,WAAW,OAAO;AAAA,MAChD;AAAA,IACF;AAAA,EACF,GAAG,CAAC,QAAQ,CAAC;AAEb,SACEC,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,MAAM,OAAO,SAAS;AAAA,MACrB,GAAG;AAAA,MAEH,UAAA;AAAA,QAAA,kBAAkBC,2BAAAA,IAAC,OAAA,EAAI,MAAK,kBAAkB,UAAA,gBAAe;AAAA,QAC7D;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGP;AC9CO,SAAS,cAAc;AAAA,EAC5B;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAoC;AAClC,QAAM,KAAKL,MAAAA,OAAoB,IAAI;AAEnC,QAAM,SAASC,SAAAA,eAAwB,MAAMC,kBAAS;AAEtDC,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,GAAG,SAAS;AACf;AAAA,IACF;AACA,QAAI,CAAC,aAAa;AAChB;AAAA,IACF;AACA,UAAM,UAAU,GAAG;AACnB,UAAM,WAAW,MAAM;AACrB;AAAA,IACF;AACA,YAAQ,iBAAiB,cAAc,QAAQ;AAC/C,WAAO,MAAM;AACX,cAAQ,oBAAoB,cAAc,QAAQ;AAAA,IACpD;AAAA,EACF,GAAG,CAAC,IAAI,WAAW,CAAC;AAEpB,SACEE,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAK;AAAA,MACL,qBAAqB,cAAc,SAAS;AAAA,MAC3C,GAAG;AAAA,MAEH;AAAA,IAAA;AAAA,EAAA;AAGP;AC1CO,SAAS,kBAAkB;AAAA,EAChC;AAAA,EACA,GAAG;AACL,GAA2B;AACzB,QAAM,SAASJ,SAAAA,eAAwB,MAAMC,kBAAS;AAEtD,SACEG,2BAAAA,IAAC,uBAAA,EAAqB,GAAG,QACtB,SAAA,CACH;AAEJ;ACHA,SAAS,aAAa,MAAgB,UAA2C;AAE/E,MAAI,SAAS,QAAW;AACtB,WAAO,OAAO,SAAS;AAAA,EACzB;AAGA,SAAO,WAAW,SAAS;AAC7B;AAEO,SAAS,UAAU,EAAE,MAAM,UAAU,GAAG,QAAqC;AAClF,QAAM,SAASJ,SAAAA,eAAwB,MAAMC,kBAAS;AAEtD,SACEG,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MAEC,MAAM,aAAa,MAAM,QAAQ;AAAA,MACjC,UAAU;AAAA,MACT,GAAG;AAAA,IAAA;AAAA,EAAA;AAGV;AAKO,SAAS,cAAc;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAgC;AAC9B,SACEA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,EAAA;AAGN;AAKO,SAAS,iBAAiB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAgC;AAC9B,SACEA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,EAAA;AAGN;AAKO,SAAS,mBAAmB;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAgC;AAC9B,SACEA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,EAAA;AAGN;AAKO,SAAS,mBAAmB;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAgC;AAC9B,SACEA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,EAAA;AAGN;AChIO,SAAS,UAAU;AAAA,EACxB;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAmB;AACjB,QAAM,SAASJ,SAAAA;AAAAA,IACb,EAAE,QAAQ,QAAQ,GAAG,KAAA;AAAA,IACrBK,SAAAA;AAAAA,EAAA;AAGF,SACED,2BAAAA,IAAC,aAAA,EAAW,GAAG,QACZ,SAAA,CACH;AAEJ;ACfO,SAAS,WAAW;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAiC;AAC/B,QAAM,KAAKL,MAAAA,OAAoB,IAAI;AAEnC,QAAM,SAASC,SAAAA,eAAwB,MAAMC,kBAAS;AAEtDC,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,GAAG,SAAS;AACf;AAAA,IACF;AACA,QAAI,CAAC,SAAS;AACZ;AAAA,IACF;AACA,UAAM,UAAU,GAAG;AACnB,UAAM,WAAW,MAAM;AACrB;AAAA,IACF;AAEA,YAAQ,iBAAiB,UAAU,QAAQ;AAC3C,WAAO,MAAM;AACX,cAAQ,oBAAoB,UAAU,QAAQ;AAAA,IAChD;AAAA,EACF,GAAG,CAAC,IAAI,OAAO,CAAC;AAEhB,SACEE,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAK;AAAA,MACL,UAAU,WAAW,SAAS;AAAA,MAC9B,cAAY;AAAA,MACZ,eAAa,KAAK,UAAU,UAAU;AAAA,MACrC,GAAG;AAAA,MAEH;AAAA,IAAA;AAAA,EAAA;AAGP;AClDO,SAAS,gBAAgB;AAAA,EAC9B;AAAA,EACA,GAAG;AACL,GAAsC;AACpC,QAAM,SAASJ,SAAAA,eAAwB,MAAMC,kBAAS;AAEtD,SACEG,2BAAAA,IAAC,oBAAA,EAAkB,GAAG,QACnB,SAAA,CACH;AAEJ;ACrBO,SAAS,aAAa;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAmC;AACjC,QAAM,MAAML,MAAAA,OAAyB,IAAI;AAEzC,QAAM,SAASC,SAAAA,eAAwB,MAAMC,kBAAS;AAEtDC,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,IAAI,SAAS;AAChB;AAAA,IACF;AACA,UAAM,UAAU,IAAI;AACpB,UAAM,WAAW,CAAC,MAAa;AAC7B,eAAS;AAAA,QACP,MAAM,QAAQ;AAAA,QACd,OAAQ,EAAkB,OAAO;AAAA,MAAA,CAClC;AAAA,IACH;AACA,YAAQ,iBAAiB,WAAW,QAAQ;AAE5C,WAAO,MAAM;AACX,cAAQ,oBAAoB,WAAW,QAAQ;AAAA,IACjD;AAAA,EACF,GAAG,CAAA,CAAE;AAEL,SACEE,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,KAAK,OAAO;AAAA,MACZ,KAAK,OAAO;AAAA,MACX,GAAG;AAAA,IAAA;AAAA,EAAA;AAGV;AC7BO,MAAM,cAAc,CAAC;AAAA,EAC1B,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,OAAO;AAAA,EACP,WAAW;AAAA,EACX;AAAA,EACA,GAAG;AACL,MAAwB;AACtB,QAAM,SAASJ,SAAAA;AAAAA,IACb,EAAE,MAAM,WAAW,WAAW,MAAM,UAAU,UAAU,GAAG,KAAA;AAAA,IAC3DC,SAAAA;AAAAA,EAAA;AAGF,SACEG,2BAAAA,IAAC,eAAA,EAAa,GAAG,QACd,SAAA,CACH;AAEJ;ACJO,SAAS,aAAa;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAmC;AACjC,QAAM,KAAKL,MAAAA,OAAoB,IAAI;AAEnC,QAAM,SAASC,SAAAA,eAAwB,MAAMC,kBAAS;AAEtDC,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,GAAG,SAAS;AACf;AAAA,IACF;AACA,UAAM,UAAU,GAAG;AACnB,UAAM,WAAW,CAAC,MAAa;AAC7B,YAAM,SAAU,EAA8C;AAC9D,2CAAW,EAAE,GAAG,QAAQ,OAAO;IACjC;AAEA,YAAQ,iBAAiB,WAAW,QAAQ;AAE5C,WAAO,MAAM;AACX,cAAQ,oBAAoB,WAAW,QAAQ;AAAA,IACjD;AAAA,EACF,GAAG,CAAC,MAAM,QAAQ,CAAC;AAEnB,SACEC,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAK;AAAA,MACJ,GAAG;AAAA,MACJ;AAAA,MACA,OAAO,QAAQ,SAAS;AAAA,MACxB,SAAS,UAAU,SAAS;AAAA,MAC5B,eAAe,gBAAgB,SAAS;AAAA,MACxC,UAAU,WAAW,SAAS;AAAA,MAC9B,OAAO,OAAO,UAAU,YAAa,QAAQ,SAAS,SAAa;AAAA,MACnE,aAAa,OAAO,gBAAgB,WAAW,cAAc;AAAA,MAE5D,UAAA;AAAA,QAAA;AAAA,QACA,OAAO,gBAAgB,YAAY,8CACjC,OAAA,EAAI,MAAK,eAAe,UAAA,aAAY;AAAA,QAEtC,UAAUC,2BAAAA,IAAC,OAAA,EAAI,MAAK,UAAU,UAAA,OAAA,CAAO;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAG5C;AC7DO,SAAS,iBAAiB;AAAA,EAC/B;AAAA,EACA,QAAQ,CAAA;AAAA,EACR;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAuC;AACrC,QAAM,KAAKL,MAAAA,OAAoB,IAAI;AAEnCG,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,GAAG,QAAS;AAEjB,UAAM,UAAU,GAAG;AACnB,UAAM,WAAW,CAAC,MAAa;AAC7B,UAAI;AACF,cAAM,SAAU,EAAkD;AAClE,6CAAW,EAAE,GAAG,QAAQ,OAAO;MACjC,SAASI,QAAO;AACd,gBAAQ,MAAM,wCAAwCA,MAAK;AAAA,MAC7D;AAAA,IACF;AAEA,QAAI;AACF,cAAQ,iBAAiB,WAAW,QAAQ;AAAA,IAC9C,SAASA,QAAO;AACd,cAAQ,MAAM,4CAA4CA,MAAK;AAAA,IACjE;AAEA,WAAO,MAAM;AACX,UAAI;AACF,gBAAQ,oBAAoB,WAAW,QAAQ;AAAA,MACjD,SAASA,QAAO;AACd,gBAAQ,MAAM,4CAA4CA,MAAK;AAAA,MACjE;AAAA,IACF;AAAA,EACF,GAAG,CAAC,QAAQ,CAAC;AAEb,SACEF,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAK;AAAA,MACL;AAAA,MACA;AAAA,MACA,UAAU,WAAW,SAAS;AAAA,MAC9B,OAAO,QAAQ,SAAS;AAAA,MACxB,QAAQ;AAAA,MACR,UAAU;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MAEC;AAAA,IAAA;AAAA,EAAA;AAGP;AC7DO,MAAM,WAAW,CAAC;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAqB;AACnB,QAAM,KAAKL,MAAAA,OAAoB,IAAI;AAEnC,QAAM,SAASC,SAAAA,eAAwB,MAAMC,kBAAS;AAEtDC,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,GAAG,QAAS;AACjB,QAAI,CAAC,QAAS;AAEd,UAAM,UAAU,GAAG;AACnB,UAAM,WAAW,MAAM;AACrB;AAAA,IACF;AAEA,YAAQ,iBAAiB,UAAU,QAAQ;AAC3C,WAAO,MAAM;AACX,cAAQ,oBAAoB,UAAU,QAAQ;AAAA,IAChD;AAAA,EACF,GAAG,CAAC,IAAI,OAAO,CAAC;AAEhB,SACEE,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAK;AAAA,MACL,OAAO,QAAQ,SAAS;AAAA,MACxB,WAAW,YAAY,SAAS;AAAA,MAC/B,GAAG;AAAA,IAAA;AAAA,EAAA;AAGV;ACrCO,MAAM,uBAAuB,CAAC;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAiC;AAC/B,SACEA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,SAAS,UAAU,SAAS;AAAA,MAC5B;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAQ;AAAA,IAAA;AAAA,EAAA;AAGd;ACLO,SAAS,cAAc;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAoC;AAClC,QAAM,SAASJ,SAAAA,eAAwB,MAAMC,kBAAS;AAEtD,QAAM,iBAAiB,WAAW;AAElC,SACEE,2BAAAA,KAAC,iBAAA,EAAe,GAAG,QAChB,UAAA;AAAA,IAAA,kBAAkBC,2BAAAA,IAAC,OAAA,EAAI,MAAK,SAAS,UAAA,gBAAe;AAAA,IACpD;AAAA,IACA,WAAWA,2BAAAA,IAAC,OAAA,EAAI,MAAK,WAAW,UAAA,QAAA,CAAQ;AAAA,EAAA,GAC3C;AAEJ;ACvCO,SAAS,aAAa;AAAA,EAC3B,yBAAyB;AAAA,EACzB,uBAAuB;AAAA,EACvB;AAAA,EACA;AACF,GAAsB;AACpB,SACEA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,4BAA0B;AAAA,MAC1B,0BAAwB;AAAA,MACxB,gBAAc;AAAA,MAEb;AAAA,IAAA;AAAA,EAAA;AAGP;ACDO,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAqC;AACnC,QAAM,MAAML,MAAAA,OAAyB,IAAI;AAEzC,QAAM,SAASC,SAAAA,eAAwB,MAAMC,kBAAS;AAEtDC,QAAAA,UAAU,MAAM;AACd,QAAI,SAAS,OAAO,UAAU,UAAU;AACtC,cAAQ,KAAK,8FAA8F;AAAA,IAC7G;AAAA,EACF,GAAG,CAAA,CAAE;AAELA,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,IAAI,SAAS;AAChB;AAAA,IACF;AACA,UAAM,UAAU,IAAI;AAEpB,UAAM,eAAe,CAAC,MAAa;AACjC,YAAM,SAAU,EAAgD;AAChE,2CAAW,EAAE,GAAG,QAAQ,OAAO;IACjC;AAEA,QAAI,UAAU;AACZ,cAAQ,iBAAiB,WAAW,YAAY;AAAA,IAClD;AAEA,WAAO,MAAM;AACX,UAAI,UAAU;AACZ,gBAAQ,oBAAoB,WAAW,YAAY;AAAA,MACrD;AAAA,IACF;AAAA,EACF,GAAG,CAAC,QAAQ,CAAC;AAEb,QAAM,cAAc,CAAC,QAAmC;AACtD,QAAI,CAAC,IAAK,QAAO;AAEjB,QAAI,eAAe,MAAM;AACvB,aAAO,IAAI,YAAA;AAAA,IACb;AAEA,WAAO;AAAA,EACT;AAEA,SACEE,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,OAAO,YAAY,KAAK,KAAK;AAAA,MAC7B,OAAO,QAAQ,SAAS;AAAA,MACxB,UAAU,WAAW,SAAS;AAAA,MAC9B,KAAK,YAAY,GAAG,KAAK;AAAA,MACzB,KAAK,YAAY,GAAG,KAAK;AAAA,MACzB,UAAU,WAAW,SAAS;AAAA,MAC7B,GAAG;AAAA,IAAA;AAAA,EAAA;AAGV;ACzEO,SAAS,YAAY;AAAA,EAC1B;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAqB;AACnB,QAAM,SAASJ,SAAAA,eAAwB,MAAMC,kBAAS;AAEtD,SACEG,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAM,OAAO,SAAS;AAAA,MACrB,GAAG;AAAA,MAEH;AAAA,IAAA;AAAA,EAAA;AAGP;AC1BO,SAAS,YAAY,OAAyB;AACnD,SACEA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,IAAI,MAAM;AAAA,MACV,IAAI,MAAM;AAAA,MACV,IAAI,MAAM;AAAA,MACV,IAAI,MAAM;AAAA,MACV,QAAQ,MAAM;AAAA,IAAA;AAAA,EAAA;AAGpB;ACdO,SAAS,WAAW;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAiC;AAC/B,QAAM,KAAKL,MAAAA,OAAoB,IAAI;AAEnCG,QAAAA,UAAU,MAAM;;AACd,QAAI,EAAC,yBAAI,YAAW,CAAC,SAAS;AAC5B;AAAA,IACF;AACA,aAAG,YAAH,mBAAY,iBAAiB,UAAU;AACvC,WAAO,MAAM;;AACX,OAAAK,MAAA,GAAG,YAAH,gBAAAA,IAAY,oBAAoB,UAAU;AAAA,IAC5C;AAAA,EACF,GAAG,CAAC,IAAI,OAAO,CAAC;AAEhB,SACEJ,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAK;AAAA,MACL;AAAA,MACA,MAAM,OAAO,OAAO;AAAA,MACpB,SAAS,OAAO,YAAY,WAAW,UAAU;AAAA,MACjD,SAAS;AAAA,MACT,QAAQ;AAAA,MAEP,UAAA;AAAA,QAAA,WAAW,OAAO,YAAY,2CAAa,OAAA,EAAI,MAAK,WAAW,UAAA,SAAQ;AAAA,QACvE,WAAWC,2BAAAA,IAAC,OAAA,EAAI,MAAK,WAAW,UAAA,SAAQ;AAAA,QACxC;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGP;ACOA,SAAS,UAAU,OAA8C;AAC/D,MAAI,OAAO,UAAU,aAAa;AAChC,WAAO;AAAA,EACT;AACA,MAAI,OAAO,UAAU,UAAU;AAC7B,WAAO;AAAA,EACT;AACA,SAAO,KAAK,UAAU,KAAK;AAC7B;AAEO,SAAS,aAAa;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAmC;AACjC,QAAM,KAAKL,MAAAA,OAAoB,IAAI;AAEnC,QAAM,SAASC,SAAAA,eAAwB,MAAMC,kBAAS;AAEtDC,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,GAAG,SAAS;AACf;AAAA,IACF;AACA,UAAM,UAAU,GAAG;AACnB,UAAM,UAAU,CAAC,MAAa;AAC5B,YAAM,SAAU,EAA8C;AAC9D,2CAAW,EAAE,GAAG,QAAQ,OAAO;IACjC;AACA,QAAI,UAAU;AACZ,cAAQ,iBAAiB,WAAW,OAAO;AAAA,IAC7C;AACA,WAAO,MAAM;AACX,UAAI,UAAU;AACZ,gBAAQ,oBAAoB,WAAW,OAAO;AAAA,MAChD;AAAA,IACF;AAAA,EACF,GAAG,CAAC,IAAI,QAAQ,CAAC;AAEjB,SACEE,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAK;AAAA,MACL,OAAO,UAAU,KAAK;AAAA,MACtB,UAAU,WAAW,SAAS;AAAA,MAC9B,OAAO,QAAQ,SAAS;AAAA,MACxB,YAAY,aAAa,SAAS;AAAA,MAClC,aAAa,cAAc,SAAS;AAAA,MACpC,QAAQ,SAAS,SAAS;AAAA,MAC1B,UAAU,WAAW,SAAS;AAAA,MAC7B,GAAG;AAAA,MAEH;AAAA,IAAA;AAAA,EAAA;AAGP;ACvGO,SAAS,mBAAmB,OAA8B;AAC/DF,QAAAA,UAAU,MAAM;AACd,YAAQ,KAAK,+DAA+D;AAAA,EAC9E,GAAG,CAAA,CAAE;AAEL,SAAOE,+BAAC,kBAAA,EAAkB,GAAG,MAAA,CAAO;AACtC;AAEO,SAAS,iBAAiB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY;AACd,GAA0B;AACxB,SACEA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,OAAO;AAAA,IAAA;AAAA,EAAA;AAGb;ACTO,SAAS,mBAAmB;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAA4B;AAC1B,QAAM,KAAKL,MAAAA,OAAoB,IAAI;AAEnC,QAAM,SAASC,SAAAA,eAAwB,EAAE,UAAU,GAAG,KAAA,GAAQC,kBAAS;AAEvEC,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,GAAG,QAAS;AAEjB,UAAM,UAAU,GAAG;AACnB,UAAM,gBAAgB,CAAC,UAAiB,qCAAW,EAAE,UAAU;AAC/D,UAAM,gBAAgB,CAAC,UAAiB,qCAAW,EAAE,UAAU;AAC/D,YAAQ,iBAAiB,WAAW,aAAa;AACjD,YAAQ,iBAAiB,WAAW,aAAa;AACjD,WAAO,MAAM;AACX,cAAQ,oBAAoB,WAAW,aAAa;AACpD,cAAQ,oBAAoB,WAAW,aAAa;AAAA,IACtD;AAAA,EACF,GAAG,CAAC,IAAI,UAAU,UAAU,QAAQ,CAAC;AAErC,SACEE,2BAAAA,IAAC,wBAAA,EAAqB,KAAK,IAAK,GAAG,QAAQ;AAE/C;AChCO,SAAS,oBAAoB;AAAA,EAClC;AAAA,EACA,GAAG;AACL,GAA6B;AAC3B,QAAM,KAAKL,MAAAA,OAAoB,IAAI;AAEnC,QAAM,SAASC,SAAAA,eAAwB,MAAMC,kBAAS;AAEtDC,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,GAAG,QAAS;AAEjB,UAAM,UAAU,GAAG;AACnB,UAAM,UAAU,CAAC,MAAa;AAC5B,YAAM,SAAU,EAAyD;AACzE,mBAAa,EAAE,GAAG,QAAQ,OAAO,GAAG;AAAA,IACtC;AACA,YAAQ,iBAAiB,eAAe,OAAO;AAC/C,WAAO,MAAM;AACX,cAAQ,oBAAoB,eAAe,OAAO;AAAA,IACpD;AAAA,EACF,GAAG,CAAC,IAAI,YAAY,CAAC;AAErB,SACEE,2BAAAA,IAAC,yBAAA,EAAsB,KAAK,IAAK,GAAG,QAAQ;AAEhD;AC5BO,SAAS,cAAc;AAAA,EAC5B;AAAA,EACA,GAAG;AACL,GAAoC;AAClC,QAAM,SAASJ,SAAAA,eAAwB,MAAMC,kBAAS;AAEtD,SACEG,2BAAAA,IAAC,kBAAA,EAAgB,GAAG,QACjB,SAAA,CACH;AAEJ;AClBO,SAAS,yBAAyB;AAAA,EACvC;AAAA,EACA,GAAG;AACL,GAAkC;AAChC,QAAM,SAASJ,SAAAA,eAAwB,MAAMC,kBAAS;AAEtD,wCACG,+BAAA,EAA4B,MAAK,QAAQ,GAAG,QAC1C,UACH;AAEJ;ACPO,SAAS,wBAAwB;AAAA,EACtC;AAAA,EACA,GAAG;AACL,GAA8B;AAC5B,QAAM,SAASD,SAAAA,eAAwB,MAAMC,kBAAS;AAEtD,wCACG,8BAAA,EAA2B,MAAK,OAAO,GAAG,QACxC,UACH;AAEJ;ACIO,SAAS,aAAa;AAAA,EAC3B;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAmC;AACjC,QAAM,MAAMF,MAAAA,OAAoB,IAAI;AAEpC,QAAM,SAASC,SAAAA,eAAwB,MAAMK,cAAK;AAElDH,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,IAAI,QAAS;AAClB,UAAM,UAAU,IAAI;AAEpB,UAAM,mBAAmB,CAAC,MAAa;AACrC,YAAM,QAAS,EAAgD;AAC/D,aAAO,yCAAa;AAAA,IACtB;AAEA,QAAI,YAAY;AACd,cAAQ,iBAAiB,aAAa,gBAAgB;AAAA,IACxD;AAEA,WAAO,MAAM;AACX,UAAI,YAAY;AACd,gBAAQ,oBAAoB,aAAa,gBAAgB;AAAA,MAC3D;AAAA,IACF;AAAA,EACF,GAAG,CAAC,KAAK,UAAU,CAAC;AAEpB,SACEE,2BAAAA,IAAC,gBAAA,EAAa,KAAW,GAAG,QACzB,UACH;AAEJ;AClBO,SAAS,mBAAmB;AAAA,EACjC;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAA4B;AAC1B,QAAM,MAAML,MAAAA,OAAoB,IAAI;AAEpC,QAAM,SAASC,SAAAA,eAAwB,MAAMK,cAAK;AAElDH,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,IAAI,QAAS;AAClB,UAAM,UAAU,IAAI;AAEpB,UAAM,mBAAmB,CAAC,MAAa;AACrC,+CAAa;AAAA,IACf;AAEA,QAAI,YAAY;AACd,cAAQ,iBAAiB,aAAa,gBAAgB;AAAA,IACxD;AAEA,WAAO,MAAM;AACX,UAAI,YAAY;AACd,gBAAQ,oBAAoB,aAAa,gBAAgB;AAAA,MAC3D;AAAA,IACF;AAAA,EACF,GAAG,CAAC,KAAK,UAAU,CAAC;AAEpB,SACEE,2BAAAA,IAAC,wBAAA,EAAqB,KAAW,GAAG,QACjC,UACH;AAEJ;AC9DO,SAAS,sBAAsB;AAAA,EACpC,UAAU;AAAA,EACV,GAAG;AACL,GAA+B;AAC7B,QAAM,SAASJ,SAAAA;AAAAA,IACb,EAAE,SAAS,GAAG,KAAA;AAAA,IACdC,SAAAA;AAAAA,EAAA;AAGF,SACEG,+BAAC,2BAAA,EAAyB,GAAG,OAAA,CAAQ;AAEzC;ACEO,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAwB;AACtB,QAAM,MAAML,MAAAA,OAAoB,IAAI;AACpC,QAAM,cAAcA,MAAAA,OAAO,KAAK;AAEhC,QAAM,SAASC,SAAAA,eAAwB,MAAMC,kBAAS;AAGtDO,QAAAA,gBAAgB,MAAM;AACpB,QAAI,CAAC,IAAI,QAAS;AAClB,UAAM,UAAU,IAAI;AAEpB,UAAM,eAAe,CAAC,MAAa;AACjC,uCAAS;AAAA,IACX;AAGA,QAAI,UAAU,CAAC,YAAY,SAAS;AAClC,cAAQ,iBAAiB,SAAS,YAAY;AAAA,IAChD;AAEA,UAAM,mBAAmB,CAAC,MAAa;AACrC,YAAM,SAAU,EAAkB;AAClC,+CAAa;AAAA,IACf;AAEA,UAAM,sBAAsB,CAAC,MAAa;AACxC,YAAM,SAAU,EAAkB;AAClC,qDAAgB,OAAO;AAAA,IACzB;AAEA,QAAI,YAAY;AACd,cAAQ,iBAAiB,aAAa,gBAAgB;AAAA,IACxD;AAEA,QAAI,eAAe;AACjB,cAAQ,iBAAiB,gBAAgB,mBAAmB;AAAA,IAC9D;AAEA,WAAO,MAAM;AACX,UAAI,QAAQ;AACV,gBAAQ,oBAAoB,SAAS,YAAY;AAAA,MACnD;AACA,UAAI,YAAY;AACd,gBAAQ,oBAAoB,aAAa,gBAAgB;AAAA,MAC3D;AACA,UAAI,eAAe;AACjB,gBAAQ,oBAAoB,gBAAgB,mBAAmB;AAAA,MACjE;AAAA,IACF;AAAA,EACF,GAAG,CAAC,QAAQ,YAAY,aAAa,CAAC;AAEtC,SACEJ,2BAAAA,IAAC,mBAAA,EAAgB,KAAW,GAAG,QAC5B,UACH;AAEJ;AClEO,SAAS,kBAAkB;AAAA,EAChC,KAAK;AAAA,EACL,OAAO;AAAA,EACP,cAAc;AAAA,EACd;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAA2B;AACzB,QAAM,MAAML,MAAAA,OAAoB,IAAI;AAEpC,QAAM,SAASC,SAAAA;AAAAA,IACb,EAAE,IAAI,MAAM,gBAAgB,aAAa,GAAG,KAAA;AAAA,IAC5CK,SAAAA;AAAAA,EAAA;AAGFH,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,IAAI,QAAS;AAClB,UAAM,UAAU,IAAI;AAEpB,UAAM,eAAe,CAAC,MAAa;AACjC,uCAAS;AAAA,IACX;AAEA,UAAM,sBAAsB,CAAC,MAAa;AACxC,qDAAgB;AAAA,IAClB;AAEA,QAAI,QAAQ;AACV,cAAQ,iBAAiB,SAAS,YAAY;AAAA,IAChD;AACA,QAAI,eAAe;AACjB,cAAQ,iBAAiB,gBAAgB,mBAAmB;AAAA,IAC9D;AAEA,WAAO,MAAM;AACX,UAAI,QAAQ;AACV,gBAAQ,oBAAoB,SAAS,YAAY;AAAA,MACnD;AACA,UAAI,eAAe;AACjB,gBAAQ,oBAAoB,gBAAgB,mBAAmB;AAAA,MACjE;AAAA,IACF;AAAA,EACF,GAAG,CAAC,KAAK,QAAQ,aAAa,CAAC;AAE/B,SACEE,2BAAAA,IAAC,sBAAA,EAAmB,KAAW,GAAG,QAC/B,UACH;AAEJ;ACpDO,SAAS,uBAAuB;AAAA,EACrC,UAAU;AAAA,EACV,eAAe;AAAA,EACf,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB;AAAA,EACA,GAAG;AACL,GAAgC;AAC9B,QAAM,SAASJ,SAAAA;AAAAA,IACb,EAAE,SAAS,iBAAiB,cAAc,sBAAsB,kBAAkB,qBAAqB,kBAAkB,GAAG,KAAA;AAAA,IAC5HK,SAAAA;AAAAA,EAAA;AAGF,wCACG,4BAAA,EAAyB,MAAK,iBAAiB,GAAG,QAChD,UACH;AAEJ;ACxBO,SAAS,mBAAmB;AAAA,EACjC,SAAS;AAAA,EACT;AAAA,EACA,GAAG;AACL,GAA4B;AAC1B,QAAM,SAASL,SAAAA;AAAAA,IACb,EAAE,QAAQ,GAAG,KAAA;AAAA,IACbC,SAAAA;AAAAA,EAAA;AAGF,SAAOG,2BAAAA,IAAC,wBAAA,EAAsB,GAAG,QAAS,SAAA,CAAS;AACrD;ACXO,SAAS,uBAAuB;AAAA,EACrC;AAAA,EACA,GAAG;AACL,GAAgC;AAC9B,QAAM,SAASJ,SAAAA,eAAwB,MAAMC,kBAAS;AAEtD,SACEG,2BAAAA,IAAC,6BAAA,EAA2B,GAAG,QAC5B,SAAA,CACH;AAEJ;ACSO,SAAS,aAAa;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAmC;AACjC,QAAM,SAASJ,SAAAA,eAAwB,MAAMC,kBAAS;AAEtD,SACEE,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,OAAO,OAAO,UAAU,WAAW,QAAQ;AAAA,MAC3C,UAAU,OAAO,aAAa,WAAW,WAAW;AAAA,MACpD,6BAA2B;AAAA,MAC1B,GAAG;AAAA,MAEH,UAAA;AAAA,QAAA,SAAS,OAAO,UAAU,2CAAa,OAAA,EAAI,MAAK,SAAS,UAAA,OAAM;AAAA,QAC/D,YAAY,OAAO,aAAa,2CAAa,OAAA,EAAI,MAAK,YAAY,UAAA,UAAS;AAAA,QAC3E;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGP;AC1CO,SAAS,aAAa,OAA0B;AACrD,wCAAQ,iBAAA,EAAc,MAAM,MAAM,MAAM,QAAQ,MAAM,QAAQ;AAChE;ACEO,SAAS,gBAAgB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAyB;AACvB,QAAM,MAAMJ,MAAAA,OAAyB,IAAI;AACzCG,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,IAAI,SAAS;AAChB;AAAA,IACF;AACA,UAAM,UAAU,IAAI;AACpB,UAAM,iBAAiB,CAAC,MAAe;AACrC,YAAM,SAAU,EAAiD;AACjE,2CAAW;AAAA,IACb;AAEA,YAAQ,iBAAiB,WAAW,cAAc;AAClD,WAAO,MAAM;AACX,cAAQ,oBAAoB,WAAW,cAAc;AAAA,IACvD;AAAA,EACF,GAAG,CAAC,KAAK,QAAQ,CAAC;AAElB,SACEE,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,QAAQ;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MAEC;AAAA,IAAA;AAAA,EAAA;AAGP;ACvCO,SAAS,SAAS;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA+B;AAC7B,SACEA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,eAAe;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAQ;AAAA,MAEP;AAAA,IAAA;AAAA,EAAA;AAGP;AClBO,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAqC;AACnC,SACEA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,eAAe;AAAA,MACf,WAAW;AAAA,MACX,iBAAiB;AAAA,MACjB,iBAAiB;AAAA,MACjB,WAAW;AAAA,MACX,QAAQ;AAAA,MAEP;AAAA,IAAA;AAAA,EAAA;AAGP;ACjDO,SAAS,sBAAsB;AAAA,EACpC;AACF,GAA2C;AACzC,SAAOA,2BAAAA,IAAC,OAAA,EAAI,MAAK,WAAW,SAAA,CAAS;AACvC;ACuCO,SAAS,eAAe;AAAA,EAC7B,UAAU;AAAA,EACV,OAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAqC;AACnC,QAAM,MAAML,MAAAA,OAAoB,IAAI;AAEpC,QAAM,SAASC,SAAAA;AAAAA,IACb,EAAE,SAAS,MAAM,GAAG,KAAA;AAAA,IACpBC,SAAAA;AAAAA,EAAA;AAGFC,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,IAAI,SAAS;AAChB;AAAA,IACF;AACA,QAAI,CAAC,SAAS;AACZ;AAAA,IACF;AACA,UAAM,UAAU,IAAI;AACpB,UAAM,WAAW,MAAM;AACrB;AAAA,IACF;AAEA,YAAQ,iBAAiB,UAAU,QAAQ;AAC3C,WAAO,MAAM;AACX,cAAQ,oBAAoB,UAAU,QAAQ;AAAA,IAChD;AAAA,EACF,GAAG,CAAC,KAAK,OAAO,CAAC;AAEjB,SACEE,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,UAAU,WAAW,SAAS;AAAA,MAC9B,cAAY;AAAA,MACZ,eAAa,KAAK,UAAU,UAAU;AAAA,MACrC,GAAG;AAAA,MAEH;AAAA,IAAA;AAAA,EAAA;AAGP;AC/CO,SAAS,SAAS;AAAA,EACvB;AAAA,EACA,GAAG;AACL,GAA+B;AAC7B,QAAM,SAASJ,SAAAA,eAAwB,MAAMC,kBAAS;AAEtD,SACEG,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,UACE,OAAO,aAAa,YAAa,WAAW,SAAS,SAAa;AAAA,MAEnE,GAAG;AAAA,IAAA;AAAA,EAAA;AAGV;AC2DO,SAAS,UAAU;AAAA,EACxB,UAAU;AAAA,EACV,YAAY;AAAA,EACZ;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAA2D;AACzD,QAAM,MAAML,MAAAA,OAAyB,IAAI;AAEzC,QAAM,SAASC,SAAAA,eAAwB,EAAE,SAAS,WAAW,WAAW,GAAG,KAAA,GAAQC,kBAAS;AAE5FC,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,IAAI,SAAS;AAChB;AAAA,IACF;AACA,UAAM,UAAU,IAAI;AACpB,UAAM,iBAAiB,CAAC,MAAa;AACnC,YAAM,SAAU,EAA2C;AAC3D,2CAAW,EAAE,GAAG,QAAQ,OAAO;IACjC;AACA,UAAM,gBAAgB,MAAM;AAC1B;AAAA,IACF;AAEA,UAAM,gBAAgB,CAAC,MAAa;AAClC,YAAM,SAAU,EAA0C;AAC1D,yCAAU,EAAE,GAAG,QAAQ,OAAO;IAChC;AAEA,UAAM,eAAe,CAAC,MAAa;AACjC,YAAM,SAAU,EAAyC;AACzD,uCAAS,EAAE,GAAG,QAAQ,OAAO;IAC/B;AAEA,UAAM,mBAAmB,CAAC,MAAa;AACrC,YAAM,SAAU,EAA6C;AAC7D,+CAAa,EAAE,GAAG,QAAQ,OAAO;IACnC;AAEA,YAAQ,iBAAiB,WAAW,cAAc;AAClD,YAAQ,iBAAiB,sBAAsB,aAAa;AAC5D,YAAQ,iBAAiB,UAAU,aAAa;AAChD,YAAQ,iBAAiB,SAAS,YAAY;AAC9C,YAAQ,iBAAiB,aAAa,gBAAgB;AAEtD,WAAO,MAAM;AACX,cAAQ,oBAAoB,WAAW,cAAc;AACrD,cAAQ,oBAAoB,sBAAsB,aAAa;AAC/D,cAAQ,oBAAoB,UAAU,aAAa;AACnD,cAAQ,oBAAoB,SAAS,YAAY;AACjD,cAAQ,oBAAoB,aAAa,gBAAgB;AAAA,IAC3D;AAAA,EACF,GAAG,CAAC,KAAK,UAAU,qBAAqB,SAAS,QAAQ,UAAU,CAAC;AAEpE,SACEC,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACC,GAAG;AAAA,MACJ,SAAS,UAAU,SAAS;AAAA,MAC5B,UAAU,WAAW,SAAS;AAAA,MAC9B,UAAU,WAAW,SAAS;AAAA,MAC9B,OAAO,QAAQ,SAAS;AAAA,MACxB,yBAAyB,sBAAsB,SAAS;AAAA,MAEvD,UAAA;AAAA,QAAA,kBAAkBC,2BAAAA,IAAC,OAAA,EAAI,MAAK,kBAAkB,UAAA,gBAAe;AAAA,QAC7D,mBAAmBA,2BAAAA,IAAC,OAAA,EAAI,MAAK,mBAAmB,UAAA,gBAAA,CAAgB;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGvE;AAEA,MAAM,sBAAsB,CAAC,aAAkC;AAC7D,SAAO,CAAC,EAAE,MAAM,OAAO,YAAoD;AACzE,QAAI,CAAC,OAAO;AACV,2CAAW,EAAE,MAAM,OAAO,IAAI;AAC9B;AAAA,IACF;AAEA,QAAI,OAAO,UAAU,YAAYK,SAAAA,QAAQ,IAAI,KAAK,KAAK,CAAC,GAAG;AACzD,2CAAW,EAAE,MAAM,OAAOC,SAAAA,SAAS,KAAK,GAAG;AAC3C;AAAA,IACF;AAEA,QAAID,SAAAA,QAAQ,KAAK,GAAG;AAClB,2CAAW,EAAE,MAAM,OAAO,MAAA;AAC1B;AAAA,IACF;AAAA,EACF;AACF;AAEA,MAAM,sBAAsB,CAAC,aAAwB;AACnD,SAAO,CAAC,EAAE,MAAM,OAAO,YAAqC;AAC1D,QAAI,CAAC,OAAO;AACV,2CAAW,EAAE,MAAM,OAAO,IAAI;AAC9B;AAAA,IACF;AACA,yCAAW,EAAE,MAAM,OAAO,MAAA;AAAA,EAC5B;AACF;AAEA,SAAS,SAAS,OAAoC,OAAO,cAAsB;AACjF,MAAI,CAAC,OAAO;AACV,WAAO;AAAA,EACT;AACA,MAAI,OAAO,UAAU,UAAU;AAC7B,WAAOE,gBAAOD,SAAAA,SAAS,KAAK,GAAG,IAAI;AAAA,EACrC;AACA,MAAI,MAAM,mBAAkB,oBAAI,KAAK,CAAC,GAAE,eAAe;AACrD,WAAO;AAAA,EACT;AACA,SAAOC,SAAAA,OAAO,OAAO,IAAI;AAC3B;AAEO,SAAS,cAAc,OAAoC;AAChE,SAAOP,2BAAAA,IAAC,WAAA,EAAW,GAAG,OAAO,MAAK,QAAO;AAC3C;AAEO,SAAS,kBAAkB,OAAoC;AACpE,SAAOA,2BAAAA,IAAC,WAAA,EAAW,GAAG,OAAO,MAAK,YAAW;AAC/C;AAEO,SAAS,cAAc;AAAA,EAC5B;AAAA,EACA,MAAM;AAAA,EACN,MAAM;AAAA,EACN,GAAG;AACL,GAAoC;AAClC,SACEA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAG;AAAA,MACJ,MAAK;AAAA,MACL,UAAU,oBAAoB,MAAM,QAAQ;AAAA,MAC5C,KAAK,SAAS,GAAG;AAAA,MACjB,KAAK,SAAS,GAAG;AAAA,MACjB,OAAO,SAAS,KAAK;AAAA,IAAA;AAAA,EAAA;AAG3B;AAEO,SAAS,cAAc;AAAA,EAC5B;AAAA,EACA,MAAM;AAAA,EACN,MAAM;AAAA,EACN,GAAG;AACL,GAAgC;AAC9B,SACEA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAG;AAAA,MACJ,UAAU,oBAAoB,MAAM,QAAQ;AAAA,MAC5C;AAAA,MACA,MAAK;AAAA,IAAA;AAAA,EAAA;AAGX;AAEO,SAAS,kBAAkB;AAAA,EAChC;AAAA,EACA,MAAM;AAAA,EACN,MAAM;AAAA,EACN,GAAG;AACL,GAAoC;AAClC,SACEA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAG;AAAA,MACJ,UAAU,oBAAoB,MAAM,QAAQ;AAAA,MAC5C,OAAO,SAAS,OAAO,oBAAoB;AAAA,MAC3C,MAAK;AAAA,IAAA;AAAA,EAAA;AAGX;AAEO,SAAS,eAAe,OAAoC;AACjE,SAAOA,2BAAAA,IAAC,WAAA,EAAW,GAAG,OAAO,MAAK,SAAQ;AAC5C;AAEO,SAAS,gBAAgB,OAAoC;AAClE,wCAAQ,WAAA,EAAW,GAAG,OAAO,MAAK,UAAS,cAAa,UAAS;AACnE;AAEO,SAAS,aAAa,OAAoC;AAC/D,SAAOA,2BAAAA,IAAC,WAAA,EAAW,GAAG,OAAO,MAAK,OAAM;AAC1C;AAEO,SAAS,aAAa,OAAoC;AAC/D,SAAOA,2BAAAA,IAAC,WAAA,EAAW,GAAG,OAAO,MAAK,OAAM;AAC1C;AAEO,SAAS,cAAc,OAAoC;AAChE,SACEA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,IAAI,MAAM;AAAA,MACV,MAAM,MAAM;AAAA,MACZ,MAAK;AAAA,MACL,UAAU,CAAC;;AACT,2BAAM,aAAN,+BAAiB;AAAA,UACf,MAAM,EAAE,OAAO;AAAA,UACf,OAAO,EAAE,OAAO;AAAA,UAChB,OAAO,EAAE;AAAA,QAAA;AAAA;AAAA,MAGb,OAAO,EAAE,iBAAiB,SAAA;AAAA,IAAS;AAAA,EAAA;AAGzC;AAEO,SAAS,eAAe,OAAoC;AACjE,SAAOA,2BAAAA,IAAC,WAAA,EAAW,GAAG,OAAO,MAAK,SAAQ;AAC5C;AAEO,SAAS,gBAAgB;AAAA,EAC9B,MAAM,OAAO;AAAA,EACb,MAAM,OAAO;AAAA,EACb;AAAA,EACA,YAAY;AAAA,EACZ,GAAG;AACL,GAAsC;AACpC,QAAM,iBAAiB,CAAC,EAAE,MAAM,OAAAQ,QAAO,YAAqC;;AAC1E,gBAAM,aAAN,+BAAiB,EAAE,MAAM,OAAO,WAAWA,MAAK,GAAG;EACrD;AACA,QAAM,UAAU,CAAC,EAAE,MAAM,OAAAA,QAAO,YAAoC;;AAClE,gBAAM,YAAN,+BAAgB,EAAE,MAAM,OAAO,WAAWA,MAAK,GAAG;EACpD;AACA,QAAM,SAAS,CAAC,EAAE,MAAM,OAAAA,QAAO,YAAmC;;AAChE,gBAAM,WAAN,+BAAe,EAAE,MAAM,OAAO,WAAWA,MAAK,GAAG;EACnD;AACA,QAAM,aAAa,CAAC,EAAE,MAAM,OAAAA,QAAO,KAAK,YAAuC;;AAC7E,gBAAM,eAAN,+BAAmB,EAAE,MAAM,OAAO,WAAWA,MAAK,GAAG,KAAK,SAAS,GAAG,GAAG,MAAA;AAAA,EAC3E;AACA,SACER,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAG;AAAA,MACJ,UAAU;AAAA,MACV,KAAK,2BAAK;AAAA,MACV,KAAK,2BAAK;AAAA,MACV,OAAO,+BAAO;AAAA,MACd;AAAA,MACA;AAAA,MACA,MAAK;AAAA,MACL;AAAA,MACA;AAAA,IAAA;AAAA,EAAA;AAGN;AAEO,SAAS,eAAe,OAAoC;AACjE,SAAOA,2BAAAA,IAAC,WAAA,EAAW,GAAG,OAAO,MAAK,SAAQ;AAC5C;AC7VO,MAAM,qBAAqB,CAAC;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAA+B;AAC7B,SACEA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,sBAAoB;AAAA,MACpB,cAAY;AAAA,MACZ,mBAAiB;AAAA,MACjB,QAAQ;AAAA,IAAA;AAAA,EAAA;AAGd;AClBO,SAAS,SAAS;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAkB;AAChB,QAAM,SAASJ,SAAAA,eAAwB,MAAMC,kBAAS;AAEtD,SACEG,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,cAAY;AAAA,MACZ,eAAa,KAAK,UAAU,UAAU;AAAA,MACrC,GAAG;AAAA,MAEH;AAAA,IAAA;AAAA,EAAA;AAGP;ACdO,SAAS,cAAc;AAAA,EAC5B,OAAO;AAAA,EACP;AAAA,EACA,GAAG;AACL,GAAuB;AACrB,QAAM,SAASJ,SAAAA;AAAAA,IACb,EAAE,MAAM,GAAG,KAAA;AAAA,IACXC,SAAAA;AAAAA,EAAA;AAGF,SACEG,2BAAAA,IAAC,mBAAA,EAAiB,GAAG,QAClB,SAAA,CACH;AAEJ;ACgDO,SAAS,eAAe;AAAA,EAC7B,OAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAqC;AACnC,QAAM,KAAKL,MAAAA,OAAoB,IAAI;AAEnC,QAAM,SAASC,SAAAA;AAAAA,IACb,EAAE,MAAM,QAAQ,QAAQ,GAAG,KAAA;AAAA,IAC3BK,SAAAA;AAAAA,EAAA;AAGFH,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,GAAG,SAAS;AACf;AAAA,IACF;AACA,QAAI,CAAC,UAAU;AACb;AAAA,IACF;AACA,UAAM,UAAU,GAAG;AAGnB,UAAM,WAAW,CAAC,MAAa;AAC7B,YAAM,SAAU,EAAkB;AAClC,2CAAW;AAAA,IACb;AAEA,YAAQ,iBAAiB,WAAW,QAAQ;AAC5C,WAAO,MAAM;AACX,cAAQ,oBAAoB,WAAW,QAAQ;AAAA,IACjD;AAAA,EACF,GAAG,CAAC,IAAI,QAAQ,CAAC;AAEjB,wCACG,mBAAA,EAAiB,GAAG,QAAQ,KAAK,IAC/B,UACH;AAEJ;ACtGO,SAAS,eAAe,OAAyC;AACtE,QAAM,SAASF,SAAAA,eAAwB,OAAOC,kBAAS;AAEvD,SACEG,+BAAC,mBAAA,EAAiB,GAAG,OAAA,CAAQ;AAEjC;ACGO,SAAS,oBAAoB;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAiC;AAC/B,QAAM,KAAKL,MAAAA,OAAoB,IAAI;AAEnCG,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,GAAG,SAAS;AACf;AAAA,IACF;AACA,QAAI,CAAC,iBAAiB;AACpB;AAAA,IACF;AACA,UAAM,UAAU,GAAG;AACnB,UAAM,WAAW,MAAM;AACrB,sBAAA;AAAA,IACF;AAEA,YAAQ,iBAAiB,kBAAkB,QAAQ;AACnD,WAAO,MAAM;AACX,cAAQ,oBAAoB,kBAAkB,QAAQ;AAAA,IACxD;AAAA,EACF,GAAG,CAAC,IAAI,eAAe,CAAC;AAExB,SACEE,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAK;AAAA,MACL;AAAA,MACA,SAAS,OAAO,YAAY,WAAW,UAAU;AAAA,MACjD,aAAa;AAAA,MACb,QAAQ;AAAA,MACR,iBAAiB;AAAA,MACjB,mBAAmB;AAAA,MACnB,iBAAiB;AAAA,MACjB,oBAAoB,kBAAkB,SAAS;AAAA,MAE9C,UAAA,WAAW,OAAO,YAAY,2CAAa,OAAA,EAAI,MAAK,WAAW,UAAA,QAAA,CAAQ;AAAA,IAAA;AAAA,EAAA;AAG9E;ACzDO,SAAS,UAAU;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAgC;AAC9B,QAAM,KAAKL,MAAAA,OAAoB,IAAI;AAEnCG,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,GAAG,SAAS;AACf;AAAA,IACF;AACA,UAAM,UAAU,GAAG;AACnB,UAAM,WAAW,MAAM;AACrB;AAAA,IACF;AAEA,YAAQ,iBAAiB,UAAU,QAAQ;AAC3C,WAAO,MAAM;AACX,cAAQ,oBAAoB,UAAU,QAAQ;AAAA,IAChD;AAAA,EACF,GAAG,CAAC,IAAI,OAAO,CAAC;AAEhB,SACEC,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAK;AAAA,MACL,MAAM,OAAO,SAAS;AAAA,MACtB,UAAU,UAAU,SAAS;AAAA,MAC7B,SAAS,OAAO,YAAY,WAAW,UAAU;AAAA,MACjD,UAAU;AAAA,MACV;AAAA,MACA,gBAAgB;AAAA,MAChB,QAAQ;AAAA,MAEP,UAAA;AAAA,QAAA,WAAW,OAAO,YAAY,2CAAa,OAAA,EAAI,MAAK,WAAW,UAAA,SAAQ;AAAA,QACvE,WAAWC,2BAAAA,IAAC,OAAA,EAAI,MAAK,WAAW,UAAA,SAAQ;AAAA,QACxC;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGP;ACxDO,MAAM,mBAAmB,CAAC;AAAA,EAC/B,OAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAA6B;AAC3B,QAAM,KAAKL,MAAAA,OAAoB,IAAI;AAEnCG,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,GAAG,SAAS;AACf;AAAA,IACF;AACA,UAAM,UAAU,GAAG;AACnB,UAAM,WAAW,MAAM;AACrB;AAAA,IACF;AAEA,YAAQ,iBAAiB,YAAY,QAAQ;AAC7C,WAAO,MAAM;AACX,cAAQ,oBAAoB,YAAY,QAAQ;AAAA,IAClD;AAAA,EACF,GAAG,CAAC,IAAI,SAAS,CAAC;AAElB,SACEE,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAK;AAAA,MACL;AAAA,MACA,QAAQ;AAAA,MACR,iBAAiB;AAAA,MACjB,UAAU;AAAA,MAET;AAAA,IAAA;AAAA,EAAA;AAGP;AC/BO,SAAS,oBAAoB,OAAmC;AACrE,SAAOA,2BAAAA,IAAC,yBAAA,EAAuB,UAAA,MAAM,SAAA,CAAS;AAChD;ACOO,SAAS,cAAc,OAAoC;AAChE,SACEA,2BAAAA,IAAC,oBAAe,OAAO,MAAM,OAAO,QAAQ,MAAM,QAC/C,UAAA,MAAM,SAAA,CACT;AAEJ;ACVO,SAAS,UAAU,OAAoC;AAC5D,SACEA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,SAAS,MAAM;AAAA,MACf,IAAI,MAAM;AAAA,MACV,IAAI,MAAM;AAAA,MACV,IAAI,MAAM;AAAA,MACV,IAAI,MAAM;AAAA,MAET,UAAA,MAAM;AAAA,IAAA;AAAA,EAAA;AAGb;AClBO,SAAS,eAAe,EAAE,UAAU,GAAG,SAA8B;AAC1E,QAAM,MAAML,MAAAA,OAAoB,IAAI;AAEpCG,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,IAAI,SAAS;AAChB;AAAA,IACF;AACA,UAAM,UAAU,IAAI;AACpB,UAAM,iBAAiB,CAAC,MAAa;AACnC,YAAM,SAAU,EAAgD;AAChE,eAAS,MAAM;AAAA,IACjB;AAEA,YAAQ,iBAAiB,WAAW,cAAc;AAClD,WAAO,MAAM;AACX,cAAQ,oBAAoB,WAAW,cAAc;AAAA,IACvD;AAAA,EACF,GAAG,CAAC,KAAK,QAAQ,CAAC;AAElB,SACEE,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,WAAW,MAAM;AAAA,MACjB,cAAc,MAAM;AAAA,MACpB,YAAY,MAAM;AAAA,MAClB,SAAS,MAAM;AAAA,MACf,IAAI,MAAM;AAAA,MACV,IAAI,MAAM;AAAA,MACV,IAAI,MAAM;AAAA,MACV,IAAI,MAAM;AAAA,MACV,QAAQ,MAAM;AAAA,IAAA;AAAA,EAAA;AAGpB;ACbO,SAAS,YAAY;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAkC;AAChC,QAAM,SAASJ,SAAAA,eAAwB,MAAMC,kBAAS;AAEtD,SACEE,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,QAAQ,OAAO,WAAW,cAAc,SAAY,SAAS,SAAS;AAAA,MACtE,UAAU,WAAW,SAAS;AAAA,MAC7B,GAAG;AAAA,MAEH,UAAA;AAAA,QAAA;AAAA,QACA,UAAUC,2BAAAA,IAAC,OAAA,EAAI,MAAK,UAAU,UAAA,OAAA,CAAO;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAG5C;AC3BO,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAwB;AAEtB,QAAM,KAAKL,MAAAA,OAAoB,IAAI;AAEnCG,QAAAA,UAAU,MAAM;AACd,UAAM,YAAY,yBAAI;AACtB,QAAI,CAAC,aAAa,CAAC,SAAS;AAC1B;AAAA,IACF;AACA,cAAU,iBAAiB,UAAU,OAAO;AAC5C,WAAO,MAAM;AACX,gBAAU,oBAAoB,UAAU,OAAO;AAAA,IACjD;AAAA,EACF,GAAG,CAAC,IAAI,OAAO,CAAC;AAEhB,SACEC,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAK;AAAA,MACL;AAAA,MACA,MAAM,QAAQ;AAAA,MACd,SAAS,OAAO,YAAY,WAAW,UAAU;AAAA,MACjD;AAAA,MAEC,UAAA;AAAA,QAAA,WAAW,OAAO,YAAY,2CAAa,OAAA,EAAI,MAAK,WAAW,UAAA,SAAQ;AAAA,QACvE,WAAWC,2BAAAA,IAAC,OAAA,EAAI,MAAK,WAAW,UAAA,SAAQ;AAAA,QACxC;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGP;AC7CO,SAAS,cAAc;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAoC;AAClC,SACED,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA,aAAa,OAAO,gBAAgB,WAAW,cAAc;AAAA,MAC7D,UAAU;AAAA,MACV,OAAO,QAAQ,SAAS;AAAA,MACxB,UAAU,WAAW,SAAS;AAAA,MAC9B,SAAS,UAAU,SAAS;AAAA,MAC5B,WAAW;AAAA,MACX,iBAAiB;AAAA,MACjB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MAEC,UAAA;AAAA,QAAA,eAAe,OAAO,gBAAgB,2CACpC,OAAA,EAAI,MAAK,eAAe,UAAA,aAAY;AAAA,QAEtC,UAAUC,2BAAAA,IAAC,OAAA,EAAI,MAAK,UAAU,UAAA,QAAO;AAAA,QACrC;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGP;AC3BO,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAqC;AACnC,QAAM,KAAKL,MAAAA,OAAoB,IAAI;AAEnC,QAAM,SAASC,SAAAA,eAAwB,MAAMC,kBAAS;AAEtDC,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,GAAG,QAAS;AAEjB,UAAM,WAAW,CAAC,MAAa;AAC7B,YAAM,SAAU,EAAgD;AAChE,2CAAW,EAAE,GAAG,QAAQ,OAAO;IACjC;AAEA,UAAM,YAAY,GAAG;AACrB,QAAI,UAAU;AACZ,gBAAU,iBAAiB,WAAW,QAAQ;AAAA,IAChD;AAEA,WAAO,MAAM;AACX,UAAI,UAAU;AACZ,kBAAU,oBAAoB,WAAW,QAAQ;AAAA,MACnD;AAAA,IACF;AAAA,EACF,GAAG,CAAC,MAAM,QAAQ,CAAC;AAEnB,SACEE,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAK;AAAA,MACJ,GAAG;AAAA,MACJ;AAAA,MACA,UAAU,WAAW,SAAS;AAAA,MAC9B,OAAO,QAAQ,SAAS;AAAA,MAEvB;AAAA,IAAA;AAAA,EAAA;AAGP;AClEO,SAAS,kBAAkB,OAA4C;AAC5E,SACEA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,SAAS,MAAM;AAAA,MACf,MAAM,MAAM;AAAA,MACZ,QAAQ,MAAM;AAAA,MACd,IAAI,MAAM;AAAA,MACV,IAAI,MAAM;AAAA,MACV,IAAI,MAAM;AAAA,MACV,IAAI,MAAM;AAAA,MAET,UAAA,MAAM;AAAA,IAAA;AAAA,EAAA;AAGb;ACdO,SAAS,oBAAoB,OAAiC;AACnE,yCACG,yBAAA,EAAsB,MAAM,MAAM,MAAM,QAAQ,MAAM,QACpD,UAAA;AAAA,IAAA,MAAM;AAAA,IACN,MAAM,QAAQA,2BAAAA,IAAC,UAAK,MAAK,QAAQ,gBAAM,KAAA,CAAK;AAAA,EAAA,GAC/C;AAEJ;ACVO,SAAS,aAAa,OAAuC;AAClE,wCAAQ,iBAAA,EAAc,QAAQ,MAAM,QAAS,gBAAM,UAAS;AAC9D;ACoBO,MAAM,eAAe,CAAC;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAyB;AACvB,SACEA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,UAAU;AAAA,MACV,WAAW;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAQ;AAAA,IAAA;AAAA,EAAA;AAGd;AC1BO,SAAS,WAAW,OAAwB;AACjD,SACEA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,UAAU,MAAM;AAAA,MAChB,UAAU,MAAM;AAAA,MAChB,QAAQ,MAAM;AAAA,IAAA;AAAA,EAAA;AAGpB;ACLO,SAAS,YAAY;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAkC;AAChC,SACEA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAQ,SAAS,SAAS;AAAA,MAC1B,QAAQ;AAAA,IAAA;AAAA,EAAA;AAGd;AC3BO,SAAS,UAAU,EAAE,QAAQ,GAAG,SAAyB;AAC9D,QAAM,MAAML,MAAAA,OAAyB,IAAI;AACzCG,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,IAAI,SAAS;AAChB;AAAA,IACF;AACA,UAAM,UAAU,IAAI;AACpB,UAAM,eAAe,CAAC,MAAe;AACnC,YAAM,SAAU,EAAyC;AACzD,uCAAS;AAAA,IACX;AAEA,YAAQ,iBAAiB,SAAS,YAAY;AAC9C,WAAO,MAAM;AACX,cAAQ,oBAAoB,SAAS,YAAY;AAAA,IACnD;AAAA,EACF,GAAG,CAAC,KAAK,MAAM,CAAC;AAEhB,SACEE,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,OAAO,MAAM;AAAA,MAGb,SAAS,MAAM;AAAA,MACf,QAAQ,MAAM;AAAA,MACd,IAAI,MAAM;AAAA,MACV,IAAI,MAAM;AAAA,MACV,IAAI,MAAM;AAAA,MACV,IAAI,MAAM;AAAA,MAEV,UAAAA,2BAAAA,IAAC,WAAM,OAAO,EAAE,OAAO,UAAW,gBAAM,SAAA,CAAS;AAAA,IAAA;AAAA,EAAA;AAGvD;ACrCO,SAAS,oBAAoB;AAAA,EAClC;AAAA,EACA,GAAG;AACL,GAAoC;AAClC,QAAM,SAASJ,SAAAA,eAAwB,MAAMC,kBAAS;AAEtD,SACEG,2BAAAA,IAAC,yBAAA,EAAuB,GAAG,QACxB,SAAA,CACH;AAEJ;ACjBO,SAAS,SAAS;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA+B;AAC7B,QAAM,MAAML,MAAAA,OAAoB,IAAI;AAEpCG,QAAAA,UAAU,MAAM;AACd,UAAM,UAAU,IAAI;AACpB,QAAI,WAAW,UAAU;AACvB,YAAM,UAAU,CAAC,UAAiB;AAChC,cAAM,SAAU,MAA8C;AAC9D,iBAAS,MAAM;AAAA,MACjB;AACA,cAAQ,iBAAiB,WAAW,OAAO;AAC3C,aAAO,MAAM;AACX,gBAAQ,oBAAoB,WAAW,OAAO;AAAA,MAChD;AAAA,IACF;AAAA,EACF,GAAG,CAAC,QAAQ,CAAC;AAEb,SACEE,+BAAC,cAAS,KAAU,YAAY,YAAY,QAAQ,QAAQ,SACzD,UACH;AAEJ;AChBO,SAAS,QAAQ,EAAE,SAAS,UAAU,MAAM,YAA2C;AAC5F,SACED,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,UAAU,WAAW,SAAS;AAAA,MAC9B,SAAS,OAAO,YAAY,WAAW,UAAU;AAAA,MAEhD,UAAA;AAAA,QAAA,OAAO,YAAY,YAAYC,2BAAAA,IAAC,QAAA,EAAK,MAAK,WAAW,UAAA,SAAQ;AAAA,QAC7D;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGP;ACJO,MAAM,gCAAgC,CAAC;AAAA,EAC5C,mBAAmB;AAAA,EACnB,qBAAqB;AAAA,EACrB;AAAA,EACA,GAAG;AACL,MAA0C;AACxC,QAAM,KAAKL,MAAAA,OAAoB,IAAI;AAEnC,QAAM,SAASC,SAAAA;AAAAA,IACb,EAAE,qBAAqB,kBAAkB,uBAAuB,oBAAoB,GAAG,KAAA;AAAA,IACvFK,SAAAA;AAAAA,EAAA;AAGF,SACED,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAK;AAAA,MACJ,GAAG;AAAA,MACJ,QAAQ;AAAA,IAAA;AAAA,EAAA;AAGd;ACXO,SAAS,SAAS;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAA8B;AAC5B,QAAM,SAASJ,SAAAA,eAAwB,MAAMC,kBAAS;AAEtD,SACEG,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,IAAI,OAAO;AAAA,MACV,GAAG;AAAA,MAEH;AAAA,IAAA;AAAA,EAAA;AAGP;ACNO,SAAS,aAAa;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAmC;AACjC,QAAM,KAAKL,MAAAA,OAA4B,IAAI;AAE3C,QAAM,SAASC,SAAAA,eAAwB,MAAMC,kBAAS;AAEtDC,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,GAAG,SAAS;AACf;AAAA,IACF;AACA,UAAM,UAAU,GAAG;AAEnB,UAAM,iBAAgC,CAAC,MAAa;AAClD,YAAM,SAAU,EAA8C;AAC9D,2CAAW,EAAE,GAAG,QAAQ,OAAO;IACjC;AAEA,UAAM,mBAAmB,CAAC,MAAe;AACvC,YAAM,SAAU,EAAgD;AAChE,+CAAa,EAAE,GAAG,QAAQ,OAAO;IACnC;AAEA,UAAM,eAAe,CAAC,MAAe;AACnC,YAAM,SAAU,EAA4C;AAC5D,uCAAS,EAAE,GAAG,QAAQ,OAAO;IAC/B;AAEA,YAAQ,iBAAiB,WAAW,cAAc;AAClD,YAAQ,iBAAiB,aAAa,gBAAgB;AACtD,YAAQ,iBAAiB,SAAS,YAAY;AAE9C,WAAO,MAAM;AACX,cAAQ,oBAAoB,WAAW,cAAc;AACrD,cAAQ,oBAAoB,aAAa,gBAAgB;AACzD,cAAQ,oBAAoB,SAAS,YAAY;AAAA,IACnD;AAAA,EACF,GAAG,CAAC,IAAI,UAAU,YAAY,MAAM,CAAC;AAErC,SACEE,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAK;AAAA,MACL,UAAU,WAAW,SAAS;AAAA,MAC9B,UAAU,WAAW,SAAS;AAAA,MAC9B,OAAO,QAAQ,SAAS;AAAA,MACvB,GAAG;AAAA,IAAA;AAAA,EAAA;AAGV;AC1EO,SAAS,sBAAsB,OAAmC;AACvE,SACED,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,iBAAiB,MAAM;AAAA,MACvB,kBAAkB,MAAM;AAAA,MACxB,iBAAiB,MAAM;AAAA,MAEtB,UAAA;AAAA,QAAA,MAAM,UAAUC,2BAAAA,IAAC,OAAA,EAAI,MAAK,UAAU,gBAAM,QAAO;AAAA,QACjD,MAAM,OAAOA,2BAAAA,IAAC,SAAI,MAAK,OAAO,gBAAM,KAAI;AAAA,QACxC,MAAM,WAAWA,2BAAAA,IAAC,SAAI,MAAK,aAAa,gBAAM,SAAQ;AAAA,QACtD,MAAM,YAAYA,2BAAAA,IAAC,SAAI,MAAK,aAAa,gBAAM,UAAS;AAAA,QACxD,MAAM;AAAA,QACN,MAAM,UAAUA,2BAAAA,IAAC,SAAI,MAAK,UAAU,gBAAM,OAAA,CAAO;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGxD;ACRO,SAAS,YAAY;AAAA,EAC1B;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAkC;AAChC,QAAM,SAASJ,SAAAA,eAAwB,MAAMC,kBAAS;AAEtD,QAAM,kBAAkB,OAAO,YAAY;AAE3C,SACEE,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,SAAS,kBAAmB,UAAqB;AAAA,MAChD,GAAG;AAAA,MAEH,UAAA;AAAA,QAAA,CAAC,mBAAmB,WAAWC,2BAAAA,IAAC,OAAA,EAAI,MAAK,WAAW,UAAA,SAAQ;AAAA,QAC5D;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGP;AC7BO,SAAS,oBAAoB,OAAiC;AACnE,SACED,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,gBAAgB,MAAM;AAAA,MACtB,iBAAiB,MAAM;AAAA,MAEtB,UAAA;AAAA,QAAA,MAAM,UAAUC,2BAAAA,IAAC,OAAA,EAAI,MAAK,UAAU,gBAAM,QAAO;AAAA,QACjD,MAAM,OAAOA,2BAAAA,IAAC,SAAI,MAAK,OAAO,gBAAM,KAAI;AAAA,QACxC,MAAM;AAAA,QACN,MAAM,UAAUA,2BAAAA,IAAC,SAAI,MAAK,UAAU,gBAAM,OAAA,CAAO;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGxD;AClBO,MAAM,iBAAiB,CAAC;AAAA,EAC7B,YAAY;AAAA,EACZ;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAA2B;AACzB,QAAM,KAAKL,MAAAA,OAAoB,IAAI;AAEnC,QAAM,SAASC,SAAAA;AAAAA,IACb,EAAE,WAAW,WAAW,GAAG,KAAA;AAAA,IAC3BC,SAAAA;AAAAA,EAAA;AAGFC,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,GAAG,QAAS;AACjB,QAAI,CAAC,QAAS;AAEd,UAAM,UAAU,GAAG;AAEnB,YAAQ,iBAAiB,UAAU,OAAO;AAC1C,WAAO,MAAM;AACX,cAAQ,oBAAoB,UAAU,OAAQ;AAAA,IAChD;AAAA,EACF,GAAG,CAAC,IAAI,OAAO,CAAC;AAEhB,SACEE,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAK;AAAA,MACL,OAAO,QAAQ,SAAS;AAAA,MACvB,GAAG;AAAA,IAAA;AAAA,EAAA;AAGV;AClDO,SAAS,SACd,IACA,WACA,QACA,MACA;AACA,MAAI,CAAC,IAAI;AACP,YAAQ,MAAM,0BAA0B;AACxC;AAAA,EACF;AACA,KAAG;AAAA,IACD,IAAI,YAAe,WAAW;AAAA,MAC5B,UAAU;AAAA,MACV,SAAS,6BAAM;AAAA,MACf;AAAA,IAAA,CACD;AAAA,EAAA;AAEL;AAGO,SAAS,MACd,IACA,WACA,MACA,MACA;AACA,MAAI,CAAC,IAAI;AACP,YAAQ,MAAM,0BAA0B;AACxC;AAAA,EACF;AACA,KAAG;AAAA,IACD,IAAI,YAA0C,OAAO;AAAA,MACnD,UAAU;AAAA,MACV,SAAS,6BAAM;AAAA,MACf,QAAQ;AAAA,QACN,QAAQ;AAAA,QACR;AAAA,MAAA;AAAA,IACF,CACD;AAAA,EAAA;AAEL;ACfO,MAAM,qBAAwB;AAAA,EAMnC,YAAoB,MAA0B;AANzC;AACL;AACA;AACA;AACQ,yCAAgB;AAEJ,SAAA,OAAA;AAAA,EAA2B;AAAA;AAAA,EAG/C,KAAK,GAAU;AAEb,QAAI,KAAK,UAAU;AACjB,cAAQ,KAAK,yCAAyC;AACtD;AAAA,IACF;AACA,SAAK,WAAY,EAAkB,OAAO;AAE1C,SAAK,QAAQ;AAAA,MACX,MAAM,OAAO,WAAA;AAAA,MACb,MAAM,CAAA;AAAA,MACN,SAAS,CAAA;AAAA,MACT,UAAU;AAAA,MACV,QAAQ;AAAA,IAAA;AAAA,EAEZ;AAAA,EAEA,SAAS,GAAU;AACjB,SAAK,WAAY,EAAkB,OAAO;AAC1C,SAAK,QAAQ,CAAA;AAAA,EACf;AAAA;AAAA,EAGA,UAAU,OAA8C,UAAuB;AAC7E,UAAM,KAAK,UAAU,wBAAwB,KAAK;AAElD,QAAI,OAAO,UAAU,UAAU;AAC7B,WAAK,QAAQ,KAAK,MAAM,KAAK;AAAA,IAC/B,WAAW,CAAC,MAAM,QAAQ,KAAK,GAAG;AAChC,WAAK,QAAQ;AAAA,IACf;AAEA,QAAI,UAAU;AACZ,iBAAW,UAAU,GAAG;AAAA,IAC1B;AAAA,EACF;AAAA,EAEA,gBAAgB,GAAU;AACxB,UAAM,SAAU,EAAkB;AAElC,QAAI,CAAC,MAAM,QAAQ,OAAO,IAAI,GAAG;AAC/B;AAAA,IACF;AAEA,SAAK,QAAQ,OAAO;AAAA,EACtB;AAAA,EAoBA,kBAAkB,GAAU;;AAC1B,QAAI,MAAM,QAAQ,KAAK,KAAK,GAAG;AAC7B;AAAA,IACF;AAEA,UAAM,SAAU,EAAkB;AAClC,QAAI,OAAO,SAAS,QAAQ;AAE1B,WAAK,QAAQ;AAAA,QACX,GAAG,KAAK;AAAA,QACR,MAAM,EAAE,KAAI,UAAK,UAAL,mBAAY,SAAQ,CAAA,GAAK,CAAC,OAAO,EAAE,GAAG,OAAO,KAAA;AAAA,MAAK;AAAA,IAElE,OAAO;AAEL,WAAK,QAAQ;AAAA,QACX,GAAG,KAAK;AAAA,QACR,GAAG,OAAO;AAAA,QACV,MAAM,EAAE,KAAI,UAAK,UAAL,mBAAY,SAAQ,CAAA,GAAK,GAAG,OAAO,KAAK,KAAA;AAAA,QACpD,SAAS,OAAO,KAAK;AAAA,MAAA;AAAA,IAEzB;AAAA,EACF;AAAA,EAEA,eAAyC;AACvC,QAAI,CAAC,KAAK,OAAO;AACf,aAAO,CAAA;AAAA,IACT;AACA,QAAI,CAAC,MAAM,QAAQ,KAAK,KAAK,GAAG;AAC9B,cAAQ;AAAA,QACN;AAAA,QACA,KAAK;AAAA,MAAA;AAEP,aAAO,CAAA;AAAA,IACT;AACA,QAAI,KAAK,MAAM,WAAW,GAAG;AAC3B,aAAO,CAAA;AAAA,IACT;AAEA,WAAO,KAAK,MAAM,IAAI,CAAC,MAAM;AAC3B,aAAO,OAAO,OAAO,EAAE,IAAI,EACxB,OAAO,CAAC,SAAS;;AAChB,iBAAO,kCAAM,SAAN,mBAAY,UAAS;AAAA,MAC9B,CAAC,EACA,IAAI,CAAC,SAAS;;AACb,eAAQ,KAAK,KAAK,SAAS,eAAa,UAAK,SAAL,mBAAW,cAAc,CAAA;AAAA,MACnE,CAAC,EACA;AAAA,QACC,CAAC,KAAK,SAAS;AACb,qBAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,IAAI,GAAG;AAC/C,gBAAI,GAAG,IAAI,MAAM;AAAA,UACnB;AACA,iBAAO;AAAA,QACT;AAAA,QACA,CAAA;AAAA,MAAC;AAAA,IAEP,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAuBA,cAAc,OAAe,KAAqB;AAChD,QAAI,MAAM,QAAQ,KAAK,KAAK,GAAG;AAC7B,cAAQ,MAAM,gEAAgE;AAC9E,aAAO;AAAA,IACT;AACA,QAAI,CAAC,KAAK,OAAO;AACf,cAAQ,MAAM,2CAA2C;AACzD,aAAO;AAAA,IACT;AAEA,UAAM,OAAO,KAAK,MAAM,KAAK,KAAK,EAAE;AACpC,QAAI,KAAK,SAAS,WAAW;AAC3B,aAAO;AAAA,IACT;AAEA,WAAO,KAAK,UAAU,GAAG,EAAE;AAAA,EAC7B;AAAA;AAAA,EAGA,WAAW,MAAqB;AAC9B,QAAI,CAAC,MAAM;AACT,cAAQ,MAAM,gCAAgC;AAC9C;AAAA,IACF;AAIA,UAAmB,KAAK,UAAU,sBAAsB,EAAE,MAAM;AAAA,EAClE;AAAA;AAAA,EAGA,SACE,GACA,OACA,YACA,SACkC;;AAClC,UAAM,EAAE,IAAI,OAAO,UAAA,IAAe,EAAkB;AACpD,UAAM,SAAQ,oCAAQ,WAAR,mBAAgB;AAE9B,WAAO,SAAS,EAAE,KAAK,GAAG,UAAU,UAAU;AAE9C,QAAI,WAAW;AACb,aAAO,CAAC,MAAM,KAAK;AAAA,IACrB;AAEA,eAAW,aAAa,YAAY;AAClC,YAAM,MAAM,UAAU,KAAK;AAC3B,4BAAK,mDAAL,WAAoB,IAAI,OAAO,KAAK;AACpC,UAAI,KAAK;AACP,eAAO,CAAC,OAAO,EAAE;AAAA,MACnB;AAAA,IACF;AACA,WAAO,CAAC,MAAM,KAAK;AAAA,EACrB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,cACE,GACA,QACA,YACmC;AACnC,QAAI,YAAY;AAChB,UAAM,cAAc,CAAA;AAEpB,eAAW,SAAS,QAAQ;AAC1B,YAAM,CAAC,MAAM,IAAI,KAAK,SAAS,GAAG,OAAO,YAAY,EAAE,SAAS,MAAM;AACtE,UAAI,QAAQ;AACV,oBAAY,KAAK,IAAI;AACrB;AAAA,MACF;AAAA,IACF;AAEA,WAAO,CAAC,WAAW,WAAW;AAAA,EAChC;AAAA,EAEA,KAAK,OAAe;AAClB,UAAM,KAAK,UAAU,yBAAyB,EAAE,OAAO,WAAW,QAAQ;AAAA,EAC5E;AAAA,EAEA,OAAO,OAAe;AACpB,UAAM,KAAK,UAAU,yBAAyB;AAAA,MAC5C;AAAA,MACA,WAAW;AAAA,IAAA,CACZ;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkBA,WAAW;AACT,QAAI,CAAC,KAAK,UAAU;AAClB,cAAQ,MAAM,+BAA+B;AAC7C;AAAA,IACF;AAEA,QAAI,KAAK,eAAe;AACtB,cAAQ,KAAK,0CAA0C;AACvD;AAAA,IACF;AAEA,SAAK,gBAAgB;AACrB,UAAM,KAAK,UAAU,oBAAoB,MAAM,EAAE,SAAS,MAAM;AAChE,SAAK,gBAAgB;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkBA,kBAAkB;AAChB,QAAI,CAAC,KAAK,UAAU;AAClB,cAAQ,MAAM,sCAAsC;AACpD;AAAA,IACF;AAEA,QAAI,KAAK,eAAe;AACtB,cAAQ,KAAK,iDAAiD;AAC9D;AAAA,IACF;AAEA,UAAM,UAAU,KAAK;AAGrB,SAAK,gBAAgB;AAErB,UAAM,qBAAqB,CAAC,MAAa;AACvC,cAAQ,oBAAoB,gBAAgB,kBAAkB;AAK9D,eAAS,SAAS,aAAa,CAAA,GAAI,EAAE,SAAS,MAAM;AACpD,WAAK,gBAAgB;AAAA,IACvB;AAEA,YAAQ,iBAAiB,gBAAgB,kBAAkB;AAE3D,aAAS,SAAS,aAAa,MAAM,EAAE,SAAS,MAAM;AAAA,EACxD;AAAA;AAAA,EAyBA,MAAM,MAAmB;AACvB,WAAO,KAAK,QAAQ,OAAgC,CAAC,KAAK,eAAe;AACvE,UAAI,UAAU,IAAI,KAAK,KAAK,UAAU;AACtC,aAAO;AAAA,IACT,GAAG,CAAA,CAAE;AAAA,EACP;AACF;AApWO;AAwDL,oCAAuB,QAA4D;;AACjF,MAAI,CAAC,MAAM,QAAQ,OAAO,IAAI,GAAG;AAC/B;AAAA,EACF;AAEA,MAAI,MAAM,QAAQ,KAAK,KAAK,GAAG;AAC7B;AAAA,EACF;AAEA,OAAK,QAAQ;AAAA,IACX,GAAG,KAAK;AAAA,IACR,MAAM;AAAA,MACJ,KAAI,UAAK,UAAL,mBAAY,SAAQ,CAAA;AAAA,MACxB,CAAC,OAAO,EAAE,GAAG,OAAO;AAAA,IAAA;AAAA,EACtB;AAEJ;AAAA;AAgQA,mBAAA,SACE,IACA,MACA,KACA,SACA;AACA,KAAG;AAAA,IACD,IAAI,YAAY,OAAO;AAAA,MACrB,UAAU;AAAA,MACV,QAAQ;AAAA,QACN,QAAQ;AAAA,QACR,MAAM;AAAA,UACJ;AAAA,UACA;AAAA,UACA,SAAS,mCAAS;AAAA,QAAA;AAAA,MACpB;AAAA,IACF,CACD;AAAA,EAAA;AAEL;AC9WF,SAAS,wBAA2B,OAA2B,WAAW;AACxE,QAAM,gBAAgBL,MAAAA,OAAgC,IAAI,qBAAwB,IAAI,CAAC;AACvF,QAAM,CAAC,OAAO,QAAQ,IAAIc,MAAAA,SAAkD,MAAS;AAErFX,QAAAA,UAAU,MAAM;;AAEd,UAAM,uBAAsB,YAAO;AAAA,MACjC,OAAO,eAAe,cAAc,OAAO;AAAA,MAC3C;AAAA,IAAA,MAF0B,mBAGzB;AAEH,UAAM,uBAAsB,YAAO;AAAA,MACjC,OAAO,eAAe,cAAc,OAAO;AAAA,MAC3C;AAAA,IAAA,MAF0B,mBAGzB;AAEH,QAAI,uBAAuB,qBAAqB;AAC9C,aAAO,eAAe,cAAc,SAAS,SAAS;AAAA,QACpD,KAAK,WAAW;AACd,iBAAO,oBAAoB,KAAK,IAAI;AAAA,QACtC;AAAA,QACA,KAAK,SAAS,OAAO;AACnB,8BAAoB,KAAK,MAAM,KAAK;AACpC,mBAAS,KAAK;AAAA,QAChB;AAAA,QACA,cAAc;AAAA,MAAA,CACf;AAAA,IACH;AAAA,EACF,GAAG,CAAA,CAAE;AAGL,QAAM,OAAOY,kBAAY,CAAC,MAAa;;AACrC,QAAI,GAAE,OAAkB,WAAlB,mBAA0B,KAAI;AAClC,cAAQ,MAAM,kCAAkC;AAChD;AAAA,IACF;AACA,kBAAc,QAAQ,KAAK,CAAC;AAAA,EAC9B,GAAG,CAAA,CAAE;AAEL,QAAM,WAAWA,kBAAY,CAAC,MAAa;;AACzC,UAAM,cAAc;AACpB,QAAI,GAAC,gDAAa,WAAb,mBAAqB,KAAI;AAC5B,cAAQ,MAAM,uCAAuC;AACrD;AAAA,IACF;AACA,kBAAc,QAAQ,SAAS,CAAC;AAAA,EAClC,GAAG,CAAA,CAAE;AAEL,QAAM,YAAYA,MAAAA,YAAY,CAACC,QAA8C,aAA0B;AACrG,QAAI,CAAC,cAAc,QAAQ,UAAU;AACnC,cAAQ,MAAM,mBAAmB;AACjC;AAAA,IACF;AACA,kBAAc,QAAQ,UAAUA,QAAO,QAAQ;AAAA,EACjD,GAAG,CAAA,CAAE;AAEL,QAAM,aAAaD,kBAAY,CAAC,SAAwB;AACtD,kBAAc,QAAQ,WAAW,IAAI;AAAA,EACvC,GAAG,CAAA,CAAE;AAEL,QAAM,WAAWA,MAAAA,YAAY,CAC3B,GACA,OACA,eACqC;AACrC,WAAO,cAAc,QAAQ,SAAS,GAAG,OAAO,UAAU;AAAA,EAC5D,GAAG,CAAA,CAAE;AAEL,QAAM,gBAAgBA,MAAAA,YAAY,CAAC,OAAe,QAAwB;AACxE,WAAO,cAAc,QAAQ,cAAc,OAAO,GAAG;AAAA,EACvD,GAAG,CAAA,CAAE;AAEL,QAAM,eAAeA,MAAAA,YAAY,MAAgC;AAC/D,WAAO,cAAc,QAAQ,aAAA;AAAA,EAC/B,GAAG,CAAA,CAAE;AAEL,QAAM,WAAWA,MAAAA,YAAY,MAAM;AACjC,kBAAc,QAAQ,SAAA;AAAA,EACxB,GAAG,CAAA,CAAE;AAEL,QAAM,kBAAkBA,MAAAA,YAAY,MAAM;AACxC,kBAAc,QAAQ,gBAAA;AAAA,EACxB,GAAG,CAAA,CAAE;AAEL,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,YAAY,cAAc;AAAA,EAAA;AAE9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}