@gunkin/uiify 0.0.12-alpha → 0.0.13-alpha
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/dist/components/behavior.css +9 -6
- package/dist/components/behavior.css.map +1 -1
- package/dist/components/breadcrumb/Breadcrumb.d.ts.map +1 -1
- package/dist/components/breadcrumb/Breadcrumb.js +5 -4
- package/dist/components/breadcrumb/Breadcrumb.js.map +1 -1
- package/dist/components/carousel/CarouselMarkup.d.ts.map +1 -1
- package/dist/components/carousel/CarouselMarkup.js +2 -1
- package/dist/components/carousel/CarouselMarkup.js.map +1 -1
- package/dist/components/carousel/client/CarouselClientView.d.ts.map +1 -1
- package/dist/components/carousel/client/CarouselClientView.js +1 -0
- package/dist/components/carousel/client/CarouselClientView.js.map +1 -1
- package/dist/components/carousel/client/carousel-controller.d.ts.map +1 -1
- package/dist/components/carousel/client/carousel-controller.js +25 -4
- package/dist/components/carousel/client/carousel-controller.js.map +1 -1
- package/dist/components/carousel/client/carousel-observer.d.ts.map +1 -1
- package/dist/components/carousel/client/carousel-observer.js +40 -0
- package/dist/components/carousel/client/carousel-observer.js.map +1 -1
- package/dist/components/carousel/fade/fade-controller.d.ts.map +1 -1
- package/dist/components/carousel/fade/fade-controller.js +3 -0
- package/dist/components/carousel/fade/fade-controller.js.map +1 -1
- package/dist/components/carousel/types.d.ts +2 -0
- package/dist/components/carousel/types.d.ts.map +1 -1
- package/dist/components/checkbox/Checkbox.d.ts +1 -6
- package/dist/components/checkbox/Checkbox.d.ts.map +1 -1
- package/dist/components/checkbox/Checkbox.js +2 -52
- package/dist/components/checkbox/Checkbox.js.map +1 -1
- package/dist/components/drawer/Drawer.d.ts +1 -1
- package/dist/components/drawer/Drawer.d.ts.map +1 -1
- package/dist/components/drawer/Drawer.js +46 -9
- package/dist/components/drawer/Drawer.js.map +1 -1
- package/dist/components/drawer/DrawerNative.d.ts +8 -16
- package/dist/components/drawer/DrawerNative.d.ts.map +1 -1
- package/dist/components/drawer/DrawerNative.js +80 -34
- package/dist/components/drawer/DrawerNative.js.map +1 -1
- package/dist/components/drawer/drawer-store.d.ts +1 -1
- package/dist/components/drawer/drawer-store.d.ts.map +1 -1
- package/dist/components/drawer/drawer-store.js +7 -3
- package/dist/components/drawer/drawer-store.js.map +1 -1
- package/dist/components/drawer/index.d.ts +3 -3
- package/dist/components/drawer/index.d.ts.map +1 -1
- package/dist/components/drawer/index.js +9 -1
- package/dist/components/drawer/index.js.map +1 -1
- package/dist/components/drawer/types.d.ts +114 -3
- package/dist/components/drawer/types.d.ts.map +1 -1
- package/dist/components/dropdown-menu/DropdownMenu.d.ts.map +1 -1
- package/dist/components/dropdown-menu/DropdownMenu.js +1 -0
- package/dist/components/dropdown-menu/DropdownMenu.js.map +1 -1
- package/dist/components/enhance/dialog-dismiss.d.ts +1 -1
- package/dist/components/enhance/dialog-dismiss.d.ts.map +1 -1
- package/dist/components/enhance/dialog-dismiss.js +19 -10
- package/dist/components/enhance/dialog-dismiss.js.map +1 -1
- package/dist/components/enhance/internal/box-observer.d.ts +4 -0
- package/dist/components/enhance/internal/box-observer.d.ts.map +1 -0
- package/dist/components/enhance/internal/box-observer.js +32 -0
- package/dist/components/enhance/internal/box-observer.js.map +1 -0
- package/dist/components/enhance/sheet-swipe.d.ts.map +1 -1
- package/dist/components/enhance/sheet-swipe.js +42 -14
- package/dist/components/enhance/sheet-swipe.js.map +1 -1
- package/dist/components/enhance/types.d.ts +5 -0
- package/dist/components/enhance/types.d.ts.map +1 -0
- package/dist/components/field/Field.d.ts.map +1 -1
- package/dist/components/field/Field.js +1 -0
- package/dist/components/field/Field.js.map +1 -1
- package/dist/components/file-upload/FileUpload.d.ts +4 -7
- package/dist/components/file-upload/FileUpload.d.ts.map +1 -1
- package/dist/components/file-upload/FileUpload.js +28 -122
- package/dist/components/file-upload/FileUpload.js.map +1 -1
- package/dist/components/file-upload/FileUploadInput.d.ts +7 -0
- package/dist/components/file-upload/FileUploadInput.d.ts.map +1 -0
- package/dist/components/file-upload/FileUploadInput.js +60 -0
- package/dist/components/file-upload/FileUploadInput.js.map +1 -0
- package/dist/components/file-upload/FileUploadRoot.d.ts +8 -0
- package/dist/components/file-upload/FileUploadRoot.d.ts.map +1 -0
- package/dist/components/file-upload/FileUploadRoot.js +70 -0
- package/dist/components/file-upload/FileUploadRoot.js.map +1 -0
- package/dist/components/file-upload/file-upload-context.d.ts +3 -0
- package/dist/components/file-upload/file-upload-context.d.ts.map +1 -0
- package/dist/components/file-upload/file-upload-context.js +8 -0
- package/dist/components/file-upload/file-upload-context.js.map +1 -0
- package/dist/components/file-upload/index.d.ts +1 -1
- package/dist/components/file-upload/index.d.ts.map +1 -1
- package/dist/components/file-upload/index.js.map +1 -1
- package/dist/components/file-upload/types.d.ts +8 -10
- package/dist/components/file-upload/types.d.ts.map +1 -1
- package/dist/components/form/Form.d.ts.map +1 -1
- package/dist/components/form/Form.js +2 -1
- package/dist/components/form/Form.js.map +1 -1
- package/dist/components/hover-card/HoverCard.js +1 -1
- package/dist/components/hover-card/HoverCard.js.map +1 -1
- package/dist/components/index.d.ts +0 -1
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +0 -1
- package/dist/components/index.js.map +1 -1
- package/dist/components/input/Input.d.ts.map +1 -1
- package/dist/components/input/Input.js +1 -1
- package/dist/components/input/Input.js.map +1 -1
- package/dist/components/internal/choice-family/ChoiceGroup.js +1 -1
- package/dist/components/internal/choice-family/ChoiceGroup.js.map +1 -1
- package/dist/components/internal/choice-family/types.d.ts +3 -3
- package/dist/components/internal/choice-family/types.d.ts.map +1 -1
- package/dist/components/internal/native-check-control/NativeCheckControl.d.ts +7 -0
- package/dist/components/internal/native-check-control/NativeCheckControl.d.ts.map +1 -0
- package/dist/components/internal/native-check-control/NativeCheckControl.js +56 -0
- package/dist/components/internal/native-check-control/NativeCheckControl.js.map +1 -0
- package/dist/components/internal/native-check-control/types.d.ts +13 -0
- package/dist/components/internal/native-check-control/types.d.ts.map +1 -0
- package/dist/components/internal/native-check-control/types.js +1 -0
- package/dist/components/number-field/NumberField.d.ts.map +1 -1
- package/dist/components/number-field/NumberField.js +11 -2
- package/dist/components/number-field/NumberField.js.map +1 -1
- package/dist/components/number-field/format.d.ts +1 -0
- package/dist/components/number-field/format.d.ts.map +1 -1
- package/dist/components/number-field/format.js +18 -6
- package/dist/components/number-field/format.js.map +1 -1
- package/dist/components/popup/PopupParts.d.ts.map +1 -1
- package/dist/components/popup/PopupParts.js +2 -0
- package/dist/components/popup/PopupParts.js.map +1 -1
- package/dist/components/select/Select.d.ts.map +1 -1
- package/dist/components/select/Select.js +1 -1
- package/dist/components/select/Select.js.map +1 -1
- package/dist/components/skeleton/Skeleton.d.ts.map +1 -1
- package/dist/components/skeleton/Skeleton.js +14 -35
- package/dist/components/skeleton/Skeleton.js.map +1 -1
- package/dist/components/skeleton/types.d.ts +1 -8
- package/dist/components/skeleton/types.d.ts.map +1 -1
- package/dist/components/table/Table.d.ts +1 -40
- package/dist/components/table/Table.d.ts.map +1 -1
- package/dist/components/table/Table.js +9 -259
- package/dist/components/table/Table.js.map +1 -1
- package/dist/components/table/TableShell.d.ts +5 -1
- package/dist/components/table/TableShell.d.ts.map +1 -1
- package/dist/components/table/TableShell.js +63 -9
- package/dist/components/table/TableShell.js.map +1 -1
- package/dist/components/table/client/Table.d.ts +30 -0
- package/dist/components/table/client/Table.d.ts.map +1 -0
- package/dist/components/table/client/Table.js +135 -0
- package/dist/components/table/client/Table.js.map +1 -0
- package/dist/components/table/client/TableBody.d.ts +7 -0
- package/dist/components/table/client/TableBody.d.ts.map +1 -0
- package/dist/components/table/client/TableBody.js +35 -0
- package/dist/components/table/client/TableBody.js.map +1 -0
- package/dist/components/table/client/TableColumnHeader.d.ts +7 -0
- package/dist/components/table/client/TableColumnHeader.d.ts.map +1 -0
- package/dist/components/table/client/TableColumnHeader.js +69 -0
- package/dist/components/table/client/TableColumnHeader.js.map +1 -0
- package/dist/components/table/client/TableExpansion.d.ts +11 -0
- package/dist/components/table/client/TableExpansion.d.ts.map +1 -0
- package/dist/components/table/client/TableExpansion.js +43 -0
- package/dist/components/table/client/TableExpansion.js.map +1 -0
- package/dist/components/table/client/TableRow.d.ts +7 -0
- package/dist/components/table/client/TableRow.d.ts.map +1 -0
- package/dist/components/table/client/TableRow.js +95 -0
- package/dist/components/table/client/TableRow.js.map +1 -0
- package/dist/components/table/client/TableSelection.d.ts +11 -0
- package/dist/components/table/client/TableSelection.d.ts.map +1 -0
- package/dist/components/table/client/TableSelection.js +48 -0
- package/dist/components/table/client/TableSelection.js.map +1 -0
- package/dist/components/table/client/table-context.d.ts +3 -0
- package/dist/components/table/client/table-context.d.ts.map +1 -0
- package/dist/components/table/client/table-context.js +8 -0
- package/dist/components/table/client/table-context.js.map +1 -0
- package/dist/components/table/client.d.ts +4 -0
- package/dist/components/table/client.d.ts.map +1 -0
- package/dist/components/table/client.js +30 -0
- package/dist/components/table/client.js.map +1 -0
- package/dist/components/table/index.d.ts +2 -2
- package/dist/components/table/index.d.ts.map +1 -1
- package/dist/components/table/index.js +7 -7
- package/dist/components/table/index.js.map +1 -1
- package/dist/components/table/types.d.ts +42 -15
- package/dist/components/table/types.d.ts.map +1 -1
- package/dist/components/textarea/Textarea.d.ts.map +1 -1
- package/dist/components/textarea/Textarea.js +1 -1
- package/dist/components/textarea/Textarea.js.map +1 -1
- package/dist/components/tooltip/Tooltip.js +1 -1
- package/dist/components/tooltip/Tooltip.js.map +1 -1
- package/dist/components/virtual-scroll/VirtualScroll.d.ts.map +1 -1
- package/dist/components/virtual-scroll/VirtualScroll.js +54 -34
- package/dist/components/virtual-scroll/VirtualScroll.js.map +1 -1
- package/dist/components/virtual-scroll/types.d.ts +2 -2
- package/dist/components/virtual-scroll/types.d.ts.map +1 -1
- package/dist/components/virtual-scroll/types.js.map +1 -1
- package/dist/components/virtual-scroll/virtual-scroll-scroll.d.ts.map +1 -1
- package/dist/components/virtual-scroll/virtual-scroll-scroll.js +0 -1
- package/dist/components/virtual-scroll/virtual-scroll-scroll.js.map +1 -1
- package/dist/core/roving-focus.d.ts +2 -1
- package/dist/core/roving-focus.d.ts.map +1 -1
- package/dist/core/roving-focus.js.map +1 -1
- package/dist/core/use-popover.d.ts.map +1 -1
- package/dist/core/use-popover.js +6 -1
- package/dist/core/use-popover.js.map +1 -1
- package/dist/elements/choice/types.d.ts +1 -1
- package/dist/elements/choice/types.d.ts.map +1 -1
- package/dist/styles/index.css +1 -1
- package/dist/styles/tailwind.css +1 -0
- package/dist/styles/tokens.css +1 -1
- package/package.json +1 -1
- package/dist/components/drawer/client-types.d.ts +0 -99
- package/dist/components/drawer/client-types.d.ts.map +0 -1
- package/dist/components/drawer/client-types.js +0 -1
- package/dist/components/enhance/internal/read-box.d.ts +0 -3
- package/dist/components/enhance/internal/read-box.d.ts.map +0 -1
- package/dist/components/enhance/internal/read-box.js +0 -7
- package/dist/components/enhance/internal/read-box.js.map +0 -1
- package/dist/components/stepper/Stepper.d.ts +0 -7
- package/dist/components/stepper/Stepper.d.ts.map +0 -1
- package/dist/components/stepper/Stepper.js +0 -35
- package/dist/components/stepper/Stepper.js.map +0 -1
- package/dist/components/stepper/index.d.ts +0 -3
- package/dist/components/stepper/index.d.ts.map +0 -1
- package/dist/components/stepper/index.js +0 -5
- package/dist/components/stepper/index.js.map +0 -1
- package/dist/components/stepper/types.d.ts +0 -14
- package/dist/components/stepper/types.d.ts.map +0 -1
- package/dist/components/stepper.d.ts +0 -1
- package/dist/components/stepper.js +0 -1
- /package/dist/components/{stepper → enhance}/types.js +0 -0
- /package/dist/components/{stepper → enhance}/types.js.map +0 -0
- /package/dist/components/{drawer/client-types.js.map → internal/native-check-control/types.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/select/Select.tsx"],"sourcesContent":["import type { ElementType, ReactElement, SyntheticEvent } from \"react\";\nimport { composeEventHandlers } from \"@gunkin/uiify/core/compose-event-handlers\";\nimport { useRenderElement } from \"@gunkin/uiify/core/render\";\nimport type {\n SelectRootProps,\n SelectContentOwnProps,\n SelectItemProps,\n SelectGroupProps,\n SelectSeparatorProps,\n} from \"./types.js\";\n\nexport function SelectRoot<TAs extends ElementType = \"select\">(\n props: SelectRootProps<TAs>,\n): ReactElement | null {\n const {\n as,\n render,\n value,\n defaultValue,\n onValueChange,\n name,\n disabled = false,\n children: consumerChildren,\n ...consumerProps\n } = props as SelectRootProps<\"select\">;\n\n const isControlled = value !== undefined;\n\n const handleChange = (event: SyntheticEvent<HTMLSelectElement>): void => {\n onValueChange?.(event.currentTarget.value);\n };\n\n const consumerOnChange = (\n consumerProps as Record<string, unknown> & {\n onChange?: (event: SyntheticEvent<HTMLSelectElement>) => void;\n }\n ).onChange;\n\n return useRenderElement({\n as,\n defaultTag: \"select\",\n props: {\n ...consumerProps,\n children: consumerChildren,\n \"data-uiify-select\": \"\",\n \"data-disabled\": disabled ? \"\" : undefined,\n disabled: disabled || undefined,\n name,\n onChange: composeEventHandlers(consumerOnChange, handleChange),\n ...(isControlled ? { value } : defaultValue !== undefined ? { defaultValue } : {}),\n },\n render,\n state: { disabled },\n });\n}\n\nexport function SelectContent(props: SelectContentOwnProps): React.ReactNode {\n return props.children ?? null;\n}\n\nexport function SelectItem<TAs extends ElementType = \"option\">(\n props: SelectItemProps<TAs>,\n): ReactElement | null {\n const {\n as,\n render,\n children,\n disabled = false,\n value,\n ...consumerProps\n } = props as SelectItemProps<\"option\">;\n\n return useRenderElement({\n as,\n defaultTag: \"option\",\n props: {\n ...consumerProps,\n disabled: disabled || undefined,\n value,\n children,\n },\n render,\n state: { disabled },\n });\n}\n\nexport function SelectGroup<TAs extends ElementType = \"optgroup\">(\n props: SelectGroupProps<TAs>,\n): ReactElement | null {\n const { as, render, children, label, ...consumerProps } = props as SelectGroupProps<\"optgroup\">;\n\n return useRenderElement({\n as,\n defaultTag: \"optgroup\",\n props: {\n ...consumerProps,\n label,\n children,\n },\n render,\n state: { label },\n });\n}\nSelectGroup.displayName = \"SelectGroup\";\n\nexport function SelectSeparator<TAs extends ElementType = \"hr\">(\n props: SelectSeparatorProps<TAs>,\n): ReactElement | null {\n const { as, render, ...consumerProps } = props as SelectSeparatorProps<\"hr\">;\n\n return useRenderElement({\n as,\n defaultTag: \"hr\",\n props: { ...consumerProps, \"data-part\": \"separator\" },\n render,\n state: {},\n });\n}\nSelectSeparator.displayName = \"SelectSeparator\";\n\nexport const Select = {\n Content: SelectContent,\n Group: SelectGroup,\n Item: SelectItem,\n Root: SelectRoot,\n Separator: SelectSeparator,\n};\n"],"mappings":"AACA,SAAS,4BAA4B;AACrC,SAAS,wBAAwB;AAS1B,SAAS,WACd,OACqB;AACrB,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX,UAAU;AAAA,IACV,GAAG;AAAA,EACL,IAAI;AAEJ,QAAM,eAAe,UAAU;AAE/B,QAAM,eAAe,CAAC,UAAmD;AACvE,oBAAgB,MAAM,cAAc,KAAK;AAAA,EAC3C;AAEA,QAAM,mBACJ,cAGA;AAEF,SAAO,iBAAiB;AAAA,IACtB;AAAA,IACA,YAAY;AAAA,IACZ,OAAO;AAAA,MACL,GAAG;AAAA,MACH,UAAU;AAAA,MACV,qBAAqB;AAAA,MACrB,iBAAiB,WAAW,KAAK;AAAA,MACjC,UAAU,YAAY;AAAA,MACtB;AAAA,MACA,UAAU,qBAAqB,kBAAkB,YAAY;AAAA,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/select/Select.tsx"],"sourcesContent":["import type { ElementType, ReactElement, SyntheticEvent } from \"react\";\nimport { composeEventHandlers } from \"@gunkin/uiify/core/compose-event-handlers\";\nimport { useRenderElement } from \"@gunkin/uiify/core/render\";\nimport type {\n SelectRootProps,\n SelectContentOwnProps,\n SelectItemProps,\n SelectGroupProps,\n SelectSeparatorProps,\n} from \"./types.js\";\n\nexport function SelectRoot<TAs extends ElementType = \"select\">(\n props: SelectRootProps<TAs>,\n): ReactElement | null {\n const {\n as,\n render,\n value,\n defaultValue,\n onValueChange,\n name,\n disabled = false,\n children: consumerChildren,\n ...consumerProps\n } = props as SelectRootProps<\"select\">;\n\n const isControlled = value !== undefined;\n\n const handleChange = (event: SyntheticEvent<HTMLSelectElement>): void => {\n onValueChange?.(event.currentTarget.value);\n };\n\n const consumerOnChange = (\n consumerProps as Record<string, unknown> & {\n onChange?: (event: SyntheticEvent<HTMLSelectElement>) => void;\n }\n ).onChange;\n\n return useRenderElement({\n as,\n defaultTag: \"select\",\n props: {\n ...consumerProps,\n children: consumerChildren,\n \"data-uiify-select\": \"\",\n \"data-disabled\": disabled ? \"\" : undefined,\n disabled: disabled || undefined,\n name,\n onChange: onValueChange\n ? composeEventHandlers(consumerOnChange, handleChange)\n : consumerOnChange,\n ...(isControlled ? { value } : defaultValue !== undefined ? { defaultValue } : {}),\n },\n render,\n state: { disabled },\n });\n}\n\nexport function SelectContent(props: SelectContentOwnProps): React.ReactNode {\n return props.children ?? null;\n}\n\nexport function SelectItem<TAs extends ElementType = \"option\">(\n props: SelectItemProps<TAs>,\n): ReactElement | null {\n const {\n as,\n render,\n children,\n disabled = false,\n value,\n ...consumerProps\n } = props as SelectItemProps<\"option\">;\n\n return useRenderElement({\n as,\n defaultTag: \"option\",\n props: {\n ...consumerProps,\n disabled: disabled || undefined,\n value,\n children,\n },\n render,\n state: { disabled },\n });\n}\n\nexport function SelectGroup<TAs extends ElementType = \"optgroup\">(\n props: SelectGroupProps<TAs>,\n): ReactElement | null {\n const { as, render, children, label, ...consumerProps } = props as SelectGroupProps<\"optgroup\">;\n\n return useRenderElement({\n as,\n defaultTag: \"optgroup\",\n props: {\n ...consumerProps,\n label,\n children,\n },\n render,\n state: { label },\n });\n}\nSelectGroup.displayName = \"SelectGroup\";\n\nexport function SelectSeparator<TAs extends ElementType = \"hr\">(\n props: SelectSeparatorProps<TAs>,\n): ReactElement | null {\n const { as, render, ...consumerProps } = props as SelectSeparatorProps<\"hr\">;\n\n return useRenderElement({\n as,\n defaultTag: \"hr\",\n props: { ...consumerProps, \"data-part\": \"separator\" },\n render,\n state: {},\n });\n}\nSelectSeparator.displayName = \"SelectSeparator\";\n\nexport const Select = {\n Content: SelectContent,\n Group: SelectGroup,\n Item: SelectItem,\n Root: SelectRoot,\n Separator: SelectSeparator,\n};\n"],"mappings":"AACA,SAAS,4BAA4B;AACrC,SAAS,wBAAwB;AAS1B,SAAS,WACd,OACqB;AACrB,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX,UAAU;AAAA,IACV,GAAG;AAAA,EACL,IAAI;AAEJ,QAAM,eAAe,UAAU;AAE/B,QAAM,eAAe,CAAC,UAAmD;AACvE,oBAAgB,MAAM,cAAc,KAAK;AAAA,EAC3C;AAEA,QAAM,mBACJ,cAGA;AAEF,SAAO,iBAAiB;AAAA,IACtB;AAAA,IACA,YAAY;AAAA,IACZ,OAAO;AAAA,MACL,GAAG;AAAA,MACH,UAAU;AAAA,MACV,qBAAqB;AAAA,MACrB,iBAAiB,WAAW,KAAK;AAAA,MACjC,UAAU,YAAY;AAAA,MACtB;AAAA,MACA,UAAU,gBACN,qBAAqB,kBAAkB,YAAY,IACnD;AAAA,MACJ,GAAI,eAAe,EAAE,MAAM,IAAI,iBAAiB,SAAY,EAAE,aAAa,IAAI,CAAC;AAAA,IAClF;AAAA,IACA;AAAA,IACA,OAAO,EAAE,SAAS;AAAA,EACpB,CAAC;AACH;AAEO,SAAS,cAAc,OAA+C;AAC3E,SAAO,MAAM,YAAY;AAC3B;AAEO,SAAS,WACd,OACqB;AACrB,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX;AAAA,IACA,GAAG;AAAA,EACL,IAAI;AAEJ,SAAO,iBAAiB;AAAA,IACtB;AAAA,IACA,YAAY;AAAA,IACZ,OAAO;AAAA,MACL,GAAG;AAAA,MACH,UAAU,YAAY;AAAA,MACtB;AAAA,MACA;AAAA,IACF;AAAA,IACA;AAAA,IACA,OAAO,EAAE,SAAS;AAAA,EACpB,CAAC;AACH;AAEO,SAAS,YACd,OACqB;AACrB,QAAM,EAAE,IAAI,QAAQ,UAAU,OAAO,GAAG,cAAc,IAAI;AAE1D,SAAO,iBAAiB;AAAA,IACtB;AAAA,IACA,YAAY;AAAA,IACZ,OAAO;AAAA,MACL,GAAG;AAAA,MACH;AAAA,MACA;AAAA,IACF;AAAA,IACA;AAAA,IACA,OAAO,EAAE,MAAM;AAAA,EACjB,CAAC;AACH;AACA,YAAY,cAAc;AAEnB,SAAS,gBACd,OACqB;AACrB,QAAM,EAAE,IAAI,QAAQ,GAAG,cAAc,IAAI;AAEzC,SAAO,iBAAiB;AAAA,IACtB;AAAA,IACA,YAAY;AAAA,IACZ,OAAO,EAAE,GAAG,eAAe,aAAa,YAAY;AAAA,IACpD;AAAA,IACA,OAAO,CAAC;AAAA,EACV,CAAC;AACH;AACA,gBAAgB,cAAc;AAEvB,MAAM,SAAS;AAAA,EACpB,SAAS;AAAA,EACT,OAAO;AAAA,EACP,MAAM;AAAA,EACN,MAAM;AAAA,EACN,WAAW;AACb;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Skeleton.d.ts","sourceRoot":"","sources":["../../../src/components/skeleton/Skeleton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,WAAW,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAEtE,OAAO,KAAK,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"Skeleton.d.ts","sourceRoot":"","sources":["../../../src/components/skeleton/Skeleton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,WAAW,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAEtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAMhD,wBAAgB,QAAQ,CAAC,GAAG,SAAS,WAAW,GAAG,KAAK,EACtD,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,GACxB,YAAY,GAAG,IAAI,CAiCrB;yBAnCe,QAAQ"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import { jsx } from "react/jsx-runtime";
|
|
2
1
|
import { useRenderElement } from "@gunkin/uiify/core/render";
|
|
3
2
|
function toCssSize(value) {
|
|
4
|
-
if (value === void 0) return void 0;
|
|
5
3
|
return typeof value === "number" ? `${value}px` : value;
|
|
6
4
|
}
|
|
7
5
|
function Skeleton(props) {
|
|
@@ -12,52 +10,33 @@ function Skeleton(props) {
|
|
|
12
10
|
height,
|
|
13
11
|
loading = true,
|
|
14
12
|
width,
|
|
13
|
+
variant,
|
|
15
14
|
children,
|
|
16
15
|
...consumerProps
|
|
17
16
|
} = props;
|
|
18
|
-
|
|
19
|
-
return children;
|
|
20
|
-
}
|
|
21
|
-
return /* @__PURE__ */ jsx(
|
|
22
|
-
SkeletonLoading,
|
|
23
|
-
{
|
|
24
|
-
as,
|
|
25
|
-
circle,
|
|
26
|
-
elementProps: consumerProps,
|
|
27
|
-
height,
|
|
28
|
-
render,
|
|
29
|
-
width
|
|
30
|
-
}
|
|
31
|
-
);
|
|
32
|
-
}
|
|
33
|
-
Skeleton.displayName = "Skeleton";
|
|
34
|
-
function SkeletonLoading({
|
|
35
|
-
as,
|
|
36
|
-
circle,
|
|
37
|
-
elementProps,
|
|
38
|
-
height,
|
|
39
|
-
render,
|
|
40
|
-
width
|
|
41
|
-
}) {
|
|
42
|
-
const { style: consumerStyle, ...rest } = elementProps;
|
|
17
|
+
const style = consumerProps.style;
|
|
43
18
|
return useRenderElement({
|
|
44
19
|
as,
|
|
45
20
|
defaultTag: "div",
|
|
46
21
|
props: {
|
|
47
|
-
...
|
|
48
|
-
"aria-hidden": true,
|
|
22
|
+
...consumerProps,
|
|
23
|
+
"aria-hidden": loading ? true : void 0,
|
|
24
|
+
"data-uiify-skeleton": "",
|
|
49
25
|
"data-shape": circle ? "circle" : "rect",
|
|
50
|
-
"data-state": "loading",
|
|
26
|
+
"data-state": loading ? "loading" : "loaded",
|
|
27
|
+
...variant !== void 0 ? { "data-variant": variant } : {},
|
|
51
28
|
style: {
|
|
52
|
-
...
|
|
53
|
-
"--skeleton-
|
|
54
|
-
"--skeleton-
|
|
55
|
-
}
|
|
29
|
+
...style,
|
|
30
|
+
...width !== void 0 ? { "--uiify-skeleton-w": toCssSize(width) } : {},
|
|
31
|
+
...height !== void 0 ? { "--uiify-skeleton-h": toCssSize(height) } : {}
|
|
32
|
+
},
|
|
33
|
+
children: loading ? void 0 : children
|
|
56
34
|
},
|
|
57
35
|
render,
|
|
58
|
-
state: { loading
|
|
36
|
+
state: { loading }
|
|
59
37
|
});
|
|
60
38
|
}
|
|
39
|
+
Skeleton.displayName = "Skeleton";
|
|
61
40
|
export {
|
|
62
41
|
Skeleton
|
|
63
42
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/skeleton/Skeleton.tsx"],"sourcesContent":["import type { CSSProperties, ElementType, ReactElement } from \"react\";\nimport { useRenderElement } from \"@gunkin/uiify/core/render\";\nimport type { SkeletonProps
|
|
1
|
+
{"version":3,"sources":["../../../src/components/skeleton/Skeleton.tsx"],"sourcesContent":["import type { CSSProperties, ElementType, ReactElement } from \"react\";\nimport { useRenderElement } from \"@gunkin/uiify/core/render\";\nimport type { SkeletonProps } from \"./types.js\";\n\nfunction toCssSize(value: number | string | undefined): string | undefined {\n return typeof value === \"number\" ? `${value}px` : value;\n}\n\nexport function Skeleton<TAs extends ElementType = \"div\">(\n props: SkeletonProps<TAs>,\n): ReactElement | null {\n const {\n as,\n render,\n circle = false,\n height,\n loading = true,\n width,\n variant,\n children,\n ...consumerProps\n } = props as SkeletonProps<\"div\">;\n const style = (consumerProps as { style?: CSSProperties }).style;\n return useRenderElement({\n as,\n defaultTag: \"div\",\n props: {\n ...consumerProps,\n \"aria-hidden\": loading ? true : undefined,\n \"data-uiify-skeleton\": \"\",\n \"data-shape\": circle ? \"circle\" : \"rect\",\n \"data-state\": loading ? \"loading\" : \"loaded\",\n ...(variant !== undefined ? { \"data-variant\": variant } : {}),\n style: {\n ...style,\n ...(width !== undefined ? { \"--uiify-skeleton-w\": toCssSize(width) } : {}),\n ...(height !== undefined ? { \"--uiify-skeleton-h\": toCssSize(height) } : {}),\n } as CSSProperties,\n children: loading ? undefined : children,\n },\n render,\n state: { loading },\n });\n}\nSkeleton.displayName = \"Skeleton\";\n"],"mappings":"AACA,SAAS,wBAAwB;AAGjC,SAAS,UAAU,OAAwD;AACzE,SAAO,OAAO,UAAU,WAAW,GAAG,KAAK,OAAO;AACpD;AAEO,SAAS,SACd,OACqB;AACrB,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,IAAI;AACJ,QAAM,QAAS,cAA4C;AAC3D,SAAO,iBAAiB;AAAA,IACtB;AAAA,IACA,YAAY;AAAA,IACZ,OAAO;AAAA,MACL,GAAG;AAAA,MACH,eAAe,UAAU,OAAO;AAAA,MAChC,uBAAuB;AAAA,MACvB,cAAc,SAAS,WAAW;AAAA,MAClC,cAAc,UAAU,YAAY;AAAA,MACpC,GAAI,YAAY,SAAY,EAAE,gBAAgB,QAAQ,IAAI,CAAC;AAAA,MAC3D,OAAO;AAAA,QACL,GAAG;AAAA,QACH,GAAI,UAAU,SAAY,EAAE,sBAAsB,UAAU,KAAK,EAAE,IAAI,CAAC;AAAA,QACxE,GAAI,WAAW,SAAY,EAAE,sBAAsB,UAAU,MAAM,EAAE,IAAI,CAAC;AAAA,MAC5E;AAAA,MACA,UAAU,UAAU,SAAY;AAAA,IAClC;AAAA,IACA;AAAA,IACA,OAAO,EAAE,QAAQ;AAAA,EACnB,CAAC;AACH;AACA,SAAS,cAAc;","names":[]}
|
|
@@ -4,18 +4,11 @@ export interface SkeletonOwnProps {
|
|
|
4
4
|
readonly circle?: boolean;
|
|
5
5
|
readonly height?: number | string;
|
|
6
6
|
readonly loading?: boolean;
|
|
7
|
+
readonly variant?: "pulse" | "shimmer" | "none";
|
|
7
8
|
readonly width?: number | string;
|
|
8
9
|
readonly children?: ReactNode;
|
|
9
10
|
}
|
|
10
11
|
export type SkeletonProps<TAs extends ElementType = "div"> = RenderableProps<TAs, SkeletonOwnProps, {
|
|
11
12
|
loading: boolean;
|
|
12
13
|
}, HTMLElement>;
|
|
13
|
-
export interface SkeletonLoadingProps {
|
|
14
|
-
readonly as: ElementType | undefined;
|
|
15
|
-
readonly circle: boolean;
|
|
16
|
-
readonly elementProps: Record<string, unknown>;
|
|
17
|
-
readonly height: number | string | undefined;
|
|
18
|
-
readonly render: SkeletonProps<"div">["render"] | undefined;
|
|
19
|
-
readonly width: number | string | undefined;
|
|
20
|
-
}
|
|
21
14
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/skeleton/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;CAC/B;AAED,MAAM,MAAM,aAAa,CAAC,GAAG,SAAS,WAAW,GAAG,KAAK,IAAI,eAAe,CAC1E,GAAG,EACH,gBAAgB,EAChB;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,EACpB,WAAW,CACZ,CAAC
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/skeleton/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IAChD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;CAC/B;AAED,MAAM,MAAM,aAAa,CAAC,GAAG,SAAS,WAAW,GAAG,KAAK,IAAI,eAAe,CAC1E,GAAG,EACH,gBAAgB,EAChB;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,EACpB,WAAW,CACZ,CAAC"}
|
|
@@ -1,41 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
import { TableBody as TableBodyElement, TableCaption, TableCell, TableColumnHeader as TableColumnHeaderElement, TableHeader } from "./TableShell.js";
|
|
3
|
-
import type { TableRootProps, TableRowProps, TableRowSelectOwnProps } from "./types.js";
|
|
4
|
-
export type { SelectionMode, SortDescriptor } from "./types.js";
|
|
5
|
-
export { TableCaption, TableCell, TableHeader };
|
|
6
|
-
export declare function TableRoot<TAs extends ElementType = "table">(props: TableRootProps<TAs>): ReactElement | null;
|
|
7
|
-
export declare namespace TableRoot {
|
|
8
|
-
var displayName: string;
|
|
9
|
-
}
|
|
10
|
-
export declare function TableBody(props: React.ComponentProps<typeof TableBodyElement>): ReactElement | null;
|
|
11
|
-
export declare namespace TableBody {
|
|
12
|
-
var displayName: string;
|
|
13
|
-
}
|
|
14
|
-
export declare function TableRow(props: TableRowProps): ReactElement | null;
|
|
15
|
-
export declare namespace TableRow {
|
|
16
|
-
var displayName: string;
|
|
17
|
-
}
|
|
18
|
-
export declare function TableColumnHeader(props: React.ComponentProps<typeof TableColumnHeaderElement>): ReactElement | null;
|
|
19
|
-
export declare namespace TableColumnHeader {
|
|
20
|
-
var displayName: string;
|
|
21
|
-
}
|
|
22
|
-
export declare function TableSelectAll(): ReactElement;
|
|
23
|
-
export declare namespace TableSelectAll {
|
|
24
|
-
var displayName: string;
|
|
25
|
-
}
|
|
26
|
-
export declare function TableRowSelect({ rowId }: TableRowSelectOwnProps): ReactElement;
|
|
27
|
-
export declare namespace TableRowSelect {
|
|
28
|
-
var displayName: string;
|
|
29
|
-
}
|
|
30
|
-
export declare const Table: {
|
|
31
|
-
Body: typeof TableBody;
|
|
32
|
-
Caption: typeof TableCaption;
|
|
33
|
-
Cell: typeof TableCell;
|
|
34
|
-
ColumnHeader: typeof TableColumnHeader;
|
|
35
|
-
Header: typeof TableHeader;
|
|
36
|
-
Root: typeof TableRoot;
|
|
37
|
-
Row: typeof TableRow;
|
|
38
|
-
RowSelect: typeof TableRowSelect;
|
|
39
|
-
SelectAll: typeof TableSelectAll;
|
|
40
|
-
};
|
|
1
|
+
export { Table, TableRoot, TableBody, TableRow, TableColumnHeader, TableCaption, TableCell, TableHeader, TableFooter, TableRowHeader, } from "./TableShell.js";
|
|
41
2
|
//# sourceMappingURL=Table.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../src/components/table/Table.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../src/components/table/Table.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,SAAS,EACT,SAAS,EACT,QAAQ,EACR,iBAAiB,EACjB,YAAY,EACZ,SAAS,EACT,WAAW,EACX,WAAW,EACX,cAAc,GACf,MAAM,iBAAiB,CAAC"}
|
|
@@ -1,275 +1,25 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { jsx } from "react/jsx-runtime";
|
|
3
|
-
import { createElement, useCallback, useMemo, useRef, useSyncExternalStore } from "react";
|
|
4
|
-
import { useIsomorphicLayoutEffect } from "@gunkin/uiify/hooks";
|
|
5
|
-
import { createPartContext } from "@gunkin/uiify/core";
|
|
6
|
-
import { composeEventHandlers } from "@gunkin/uiify/core/compose-event-handlers";
|
|
7
|
-
import { RovingFocusItem, RovingFocusRoot } from "@gunkin/uiify/core/roving-focus";
|
|
8
|
-
import { useRenderElement } from "@gunkin/uiify/core/render";
|
|
9
|
-
import { Checkbox } from "../checkbox/Checkbox.js";
|
|
10
1
|
import {
|
|
11
|
-
|
|
2
|
+
Table,
|
|
3
|
+
TableRoot,
|
|
4
|
+
TableBody,
|
|
5
|
+
TableRow,
|
|
6
|
+
TableColumnHeader,
|
|
12
7
|
TableCaption,
|
|
13
8
|
TableCell,
|
|
14
|
-
TableColumnHeader as TableColumnHeaderElement,
|
|
15
9
|
TableHeader,
|
|
16
|
-
|
|
10
|
+
TableFooter,
|
|
11
|
+
TableRowHeader
|
|
17
12
|
} from "./TableShell.js";
|
|
18
|
-
import { createTableStore } from "./table-store.js";
|
|
19
|
-
const [TableProvider, useTableContext] = createPartContext("Table");
|
|
20
|
-
function TableRoot(props) {
|
|
21
|
-
const {
|
|
22
|
-
as,
|
|
23
|
-
render,
|
|
24
|
-
"aria-label": ariaLabel,
|
|
25
|
-
"aria-labelledby": ariaLabelledBy,
|
|
26
|
-
defaultSelectedKeys,
|
|
27
|
-
defaultSortDescriptor,
|
|
28
|
-
onSelectionChange,
|
|
29
|
-
onSortChange,
|
|
30
|
-
selectedKeys,
|
|
31
|
-
selectionBehavior,
|
|
32
|
-
selectionMode = "none",
|
|
33
|
-
sortDescriptor,
|
|
34
|
-
...consumerProps
|
|
35
|
-
} = props;
|
|
36
|
-
const storeRef = useRef(null);
|
|
37
|
-
storeRef.current ??= createTableStore({
|
|
38
|
-
selectionMode,
|
|
39
|
-
...defaultSelectedKeys !== void 0 ? { defaultSelectedKeys } : {},
|
|
40
|
-
...defaultSortDescriptor !== void 0 ? { defaultSortDescriptor } : {},
|
|
41
|
-
...onSelectionChange !== void 0 ? { onSelectionChange } : {},
|
|
42
|
-
...onSortChange !== void 0 ? { onSortChange } : {},
|
|
43
|
-
...selectedKeys !== void 0 ? { selectedKeys } : {},
|
|
44
|
-
...sortDescriptor !== void 0 ? { sortDescriptor } : {},
|
|
45
|
-
...selectionBehavior !== void 0 ? { selectionBehavior } : {}
|
|
46
|
-
});
|
|
47
|
-
const store = storeRef.current;
|
|
48
|
-
store.updateOptions({
|
|
49
|
-
...onSelectionChange !== void 0 ? { onSelectionChange } : {},
|
|
50
|
-
...onSortChange !== void 0 ? { onSortChange } : {},
|
|
51
|
-
...selectionBehavior !== void 0 ? { selectionBehavior } : {},
|
|
52
|
-
selectionMode
|
|
53
|
-
});
|
|
54
|
-
useIsomorphicLayoutEffect(() => {
|
|
55
|
-
if (selectedKeys !== void 0) store.syncSelectedKeys(selectedKeys);
|
|
56
|
-
}, [selectedKeys, store]);
|
|
57
|
-
useIsomorphicLayoutEffect(() => {
|
|
58
|
-
if (sortDescriptor !== void 0) store.syncSortDescriptor(sortDescriptor);
|
|
59
|
-
}, [sortDescriptor, store]);
|
|
60
|
-
const interactive = selectionMode !== "none";
|
|
61
|
-
const contextValue = useMemo(() => ({ interactive, store }), [interactive, store]);
|
|
62
|
-
const element = useRenderElement({
|
|
63
|
-
as,
|
|
64
|
-
defaultTag: "table",
|
|
65
|
-
props: {
|
|
66
|
-
...consumerProps,
|
|
67
|
-
"aria-label": ariaLabel,
|
|
68
|
-
"aria-labelledby": ariaLabelledBy,
|
|
69
|
-
role: interactive ? "grid" : void 0
|
|
70
|
-
},
|
|
71
|
-
render,
|
|
72
|
-
state: {}
|
|
73
|
-
});
|
|
74
|
-
return /* @__PURE__ */ jsx(TableProvider, { value: contextValue, children: element });
|
|
75
|
-
}
|
|
76
|
-
TableRoot.displayName = "TableRoot";
|
|
77
|
-
function TableBody(props) {
|
|
78
|
-
const { interactive } = useTableContext("Body");
|
|
79
|
-
const { as: _as, render: _render, children, ...consumerProps } = props;
|
|
80
|
-
if (!interactive) {
|
|
81
|
-
return /* @__PURE__ */ jsx(TableBodyElement, { ...props });
|
|
82
|
-
}
|
|
83
|
-
return /* @__PURE__ */ jsx(RovingFocusRoot, { as: "tbody", loop: true, orientation: "both", ...consumerProps, children });
|
|
84
|
-
}
|
|
85
|
-
TableBody.displayName = "TableBody";
|
|
86
|
-
function TableRow(props) {
|
|
87
|
-
const { disabled = false, id, as, render, ...consumerProps } = props;
|
|
88
|
-
const { interactive, store } = useTableContext("Row");
|
|
89
|
-
useIsomorphicLayoutEffect(() => store.registerRow(id), [id, store]);
|
|
90
|
-
useIsomorphicLayoutEffect(() => store.setRowDisabled(id, disabled), [id, disabled, store]);
|
|
91
|
-
const selected = useSyncExternalStore(
|
|
92
|
-
(listener) => store.subscribeRow(id, listener),
|
|
93
|
-
() => store.isRowSelected(id),
|
|
94
|
-
() => false
|
|
95
|
-
);
|
|
96
|
-
const { onClick: consumerOnClick, onKeyDown: consumerOnKeyDown } = consumerProps;
|
|
97
|
-
const handleClick = (event) => {
|
|
98
|
-
const target = event.target;
|
|
99
|
-
if (target?.closest("input, button, a, [role='checkbox']")) return;
|
|
100
|
-
store.toggleRow(id, {
|
|
101
|
-
disabled,
|
|
102
|
-
metaKey: event.metaKey || event.ctrlKey,
|
|
103
|
-
shiftKey: event.shiftKey
|
|
104
|
-
});
|
|
105
|
-
};
|
|
106
|
-
const handleKeyDown = (event) => {
|
|
107
|
-
if (event.key === " " && interactive) {
|
|
108
|
-
event.preventDefault();
|
|
109
|
-
store.toggleRow(id, { disabled });
|
|
110
|
-
}
|
|
111
|
-
};
|
|
112
|
-
if (interactive) {
|
|
113
|
-
return createElement(RovingFocusItem, {
|
|
114
|
-
disabled,
|
|
115
|
-
id,
|
|
116
|
-
render: (renderProps) => {
|
|
117
|
-
const { onKeyDown: rovingFocusOnKeyDown, ...restRenderProps } = renderProps;
|
|
118
|
-
const rowProps2 = {
|
|
119
|
-
...consumerProps,
|
|
120
|
-
...restRenderProps,
|
|
121
|
-
"aria-selected": selected,
|
|
122
|
-
disabled,
|
|
123
|
-
id,
|
|
124
|
-
selected,
|
|
125
|
-
onClick: composeEventHandlers(consumerOnClick, handleClick),
|
|
126
|
-
onKeyDown: composeEventHandlers(
|
|
127
|
-
rovingFocusOnKeyDown,
|
|
128
|
-
composeEventHandlers(consumerOnKeyDown, handleKeyDown)
|
|
129
|
-
)
|
|
130
|
-
};
|
|
131
|
-
if (render) {
|
|
132
|
-
return createElement(TableRowElement, { ...rowProps2, render });
|
|
133
|
-
}
|
|
134
|
-
return createElement(TableRowElement, {
|
|
135
|
-
...rowProps2,
|
|
136
|
-
...as !== void 0 ? { as } : {}
|
|
137
|
-
});
|
|
138
|
-
}
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
const rowProps = {
|
|
142
|
-
...consumerProps,
|
|
143
|
-
disabled,
|
|
144
|
-
id,
|
|
145
|
-
selected
|
|
146
|
-
};
|
|
147
|
-
if (render) {
|
|
148
|
-
return createElement(TableRowElement, { ...rowProps, render });
|
|
149
|
-
}
|
|
150
|
-
return createElement(TableRowElement, {
|
|
151
|
-
...rowProps,
|
|
152
|
-
...as !== void 0 ? { as } : {}
|
|
153
|
-
});
|
|
154
|
-
}
|
|
155
|
-
TableRow.displayName = "TableRow";
|
|
156
|
-
function ariaSortForColumn(descriptor, column) {
|
|
157
|
-
if (!descriptor || descriptor.column !== column) return void 0;
|
|
158
|
-
return descriptor.direction;
|
|
159
|
-
}
|
|
160
|
-
function TableColumnHeader(props) {
|
|
161
|
-
const { allowsSorting = false, id, onClick, as, render, ...rest } = props;
|
|
162
|
-
const { store } = useTableContext("ColumnHeader");
|
|
163
|
-
const sortDescriptor = useSyncExternalStore(
|
|
164
|
-
store.subscribeSort,
|
|
165
|
-
store.getSortSnapshot,
|
|
166
|
-
store.getServerSortSnapshot
|
|
167
|
-
);
|
|
168
|
-
const shared = {
|
|
169
|
-
...rest,
|
|
170
|
-
allowsSorting,
|
|
171
|
-
id,
|
|
172
|
-
sortDirection: allowsSorting ? ariaSortForColumn(sortDescriptor, id) ?? null : null
|
|
173
|
-
};
|
|
174
|
-
if (allowsSorting) {
|
|
175
|
-
if (render) {
|
|
176
|
-
return /* @__PURE__ */ jsx(
|
|
177
|
-
TableColumnHeaderElement,
|
|
178
|
-
{
|
|
179
|
-
...shared,
|
|
180
|
-
onClick: () => store.toggleSort(id),
|
|
181
|
-
render
|
|
182
|
-
}
|
|
183
|
-
);
|
|
184
|
-
}
|
|
185
|
-
return /* @__PURE__ */ jsx(
|
|
186
|
-
TableColumnHeaderElement,
|
|
187
|
-
{
|
|
188
|
-
...shared,
|
|
189
|
-
onClick: () => store.toggleSort(id),
|
|
190
|
-
...as !== void 0 ? { as } : {}
|
|
191
|
-
}
|
|
192
|
-
);
|
|
193
|
-
}
|
|
194
|
-
if (render) {
|
|
195
|
-
return /* @__PURE__ */ jsx(
|
|
196
|
-
TableColumnHeaderElement,
|
|
197
|
-
{
|
|
198
|
-
...shared,
|
|
199
|
-
...onClick !== void 0 ? { onClick } : {},
|
|
200
|
-
render
|
|
201
|
-
}
|
|
202
|
-
);
|
|
203
|
-
}
|
|
204
|
-
return /* @__PURE__ */ jsx(
|
|
205
|
-
TableColumnHeaderElement,
|
|
206
|
-
{
|
|
207
|
-
...shared,
|
|
208
|
-
...onClick !== void 0 ? { onClick } : {},
|
|
209
|
-
...as !== void 0 ? { as } : {}
|
|
210
|
-
}
|
|
211
|
-
);
|
|
212
|
-
}
|
|
213
|
-
TableColumnHeader.displayName = "TableColumnHeader";
|
|
214
|
-
function TableSelectAll() {
|
|
215
|
-
const { store } = useTableContext("SelectAll");
|
|
216
|
-
const selectionState = useSyncExternalStore(
|
|
217
|
-
store.subscribeSelection,
|
|
218
|
-
store.getSelectionState,
|
|
219
|
-
() => "none"
|
|
220
|
-
);
|
|
221
|
-
const checked = selectionState === "all" ? true : selectionState === "some" ? "indeterminate" : false;
|
|
222
|
-
const handleChange = useCallback(() => store.toggleSelectAll(), [store]);
|
|
223
|
-
return /* @__PURE__ */ jsx(
|
|
224
|
-
Checkbox,
|
|
225
|
-
{
|
|
226
|
-
id: "table-select-all",
|
|
227
|
-
label: "Select all rows",
|
|
228
|
-
checked,
|
|
229
|
-
onCheckedChange: handleChange
|
|
230
|
-
}
|
|
231
|
-
);
|
|
232
|
-
}
|
|
233
|
-
TableSelectAll.displayName = "TableSelectAll";
|
|
234
|
-
function TableRowSelect({ rowId }) {
|
|
235
|
-
const { store } = useTableContext("RowSelect");
|
|
236
|
-
const selected = useSyncExternalStore(
|
|
237
|
-
(listener) => store.subscribeRow(rowId, listener),
|
|
238
|
-
() => store.isRowSelected(rowId),
|
|
239
|
-
() => false
|
|
240
|
-
);
|
|
241
|
-
return /* @__PURE__ */ jsx(
|
|
242
|
-
Checkbox,
|
|
243
|
-
{
|
|
244
|
-
id: `table-row-${rowId}`,
|
|
245
|
-
label: "Select row",
|
|
246
|
-
checked: selected,
|
|
247
|
-
onCheckedChange: () => store.toggleRow(rowId)
|
|
248
|
-
}
|
|
249
|
-
);
|
|
250
|
-
}
|
|
251
|
-
TableRowSelect.displayName = "TableRowSelect";
|
|
252
|
-
const Table = {
|
|
253
|
-
Body: TableBody,
|
|
254
|
-
Caption: TableCaption,
|
|
255
|
-
Cell: TableCell,
|
|
256
|
-
ColumnHeader: TableColumnHeader,
|
|
257
|
-
Header: TableHeader,
|
|
258
|
-
Root: TableRoot,
|
|
259
|
-
Row: TableRow,
|
|
260
|
-
RowSelect: TableRowSelect,
|
|
261
|
-
SelectAll: TableSelectAll
|
|
262
|
-
};
|
|
263
13
|
export {
|
|
264
14
|
Table,
|
|
265
15
|
TableBody,
|
|
266
16
|
TableCaption,
|
|
267
17
|
TableCell,
|
|
268
18
|
TableColumnHeader,
|
|
19
|
+
TableFooter,
|
|
269
20
|
TableHeader,
|
|
270
21
|
TableRoot,
|
|
271
22
|
TableRow,
|
|
272
|
-
|
|
273
|
-
TableSelectAll
|
|
23
|
+
TableRowHeader
|
|
274
24
|
};
|
|
275
25
|
//# sourceMappingURL=Table.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/table/Table.tsx"],"sourcesContent":["\"use client\";\n\nimport { createElement, useCallback, useMemo, useRef, useSyncExternalStore } from \"react\";\nimport type { ElementType, KeyboardEvent, MouseEvent, ReactElement } from \"react\";\nimport { useIsomorphicLayoutEffect } from \"@gunkin/uiify/hooks\";\nimport { createPartContext } from \"@gunkin/uiify/core\";\nimport { composeEventHandlers } from \"@gunkin/uiify/core/compose-event-handlers\";\nimport { RovingFocusItem, RovingFocusRoot } from \"@gunkin/uiify/core/roving-focus\";\nimport { useRenderElement } from \"@gunkin/uiify/core/render\";\nimport { Checkbox } from \"../checkbox/Checkbox.js\";\nimport type { CheckedState } from \"../checkbox/types.js\";\nimport {\n TableBody as TableBodyElement,\n TableCaption,\n TableCell,\n TableColumnHeader as TableColumnHeaderElement,\n TableHeader,\n TableRow as TableRowElement,\n} from \"./TableShell.js\";\nimport { createTableStore } from \"./table-store.js\";\nimport type {\n SortDescriptor,\n TableContextValue,\n TableRootProps,\n TableRowProps,\n TableRowSelectOwnProps,\n TableStore,\n} from \"./types.js\";\n\nexport type { SelectionMode, SortDescriptor } from \"./types.js\";\n\nexport { TableCaption, TableCell, TableHeader };\n\nconst [TableProvider, useTableContext] = createPartContext<TableContextValue>(\"Table\");\n\nexport function TableRoot<TAs extends ElementType = \"table\">(\n props: TableRootProps<TAs>,\n): ReactElement | null {\n const {\n as,\n render,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n defaultSelectedKeys,\n defaultSortDescriptor,\n onSelectionChange,\n onSortChange,\n selectedKeys,\n selectionBehavior,\n selectionMode = \"none\",\n sortDescriptor,\n ...consumerProps\n } = props as TableRootProps<\"table\">;\n\n const storeRef = useRef<TableStore | null>(null);\n storeRef.current ??= createTableStore({\n selectionMode,\n ...(defaultSelectedKeys !== undefined ? { defaultSelectedKeys } : {}),\n ...(defaultSortDescriptor !== undefined ? { defaultSortDescriptor } : {}),\n ...(onSelectionChange !== undefined ? { onSelectionChange } : {}),\n ...(onSortChange !== undefined ? { onSortChange } : {}),\n ...(selectedKeys !== undefined ? { selectedKeys } : {}),\n ...(sortDescriptor !== undefined ? { sortDescriptor } : {}),\n ...(selectionBehavior !== undefined ? { selectionBehavior } : {}),\n });\n const store = storeRef.current;\n store.updateOptions({\n ...(onSelectionChange !== undefined ? { onSelectionChange } : {}),\n ...(onSortChange !== undefined ? { onSortChange } : {}),\n ...(selectionBehavior !== undefined ? { selectionBehavior } : {}),\n selectionMode,\n });\n\n useIsomorphicLayoutEffect(() => {\n if (selectedKeys !== undefined) store.syncSelectedKeys(selectedKeys);\n }, [selectedKeys, store]);\n useIsomorphicLayoutEffect(() => {\n if (sortDescriptor !== undefined) store.syncSortDescriptor(sortDescriptor);\n }, [sortDescriptor, store]);\n\n const interactive = selectionMode !== \"none\";\n const contextValue = useMemo(() => ({ interactive, store }), [interactive, store]);\n\n const element = useRenderElement({\n as,\n defaultTag: \"table\",\n props: {\n ...consumerProps,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n role: interactive ? \"grid\" : undefined,\n },\n render,\n state: {},\n });\n\n return <TableProvider value={contextValue}>{element}</TableProvider>;\n}\nTableRoot.displayName = \"TableRoot\";\n\nexport function TableBody(\n props: React.ComponentProps<typeof TableBodyElement>,\n): ReactElement | null {\n const { interactive } = useTableContext(\"Body\");\n const { as: _as, render: _render, children, ...consumerProps } = props;\n\n if (!interactive) {\n return <TableBodyElement {...props} />;\n }\n\n return (\n <RovingFocusRoot as=\"tbody\" loop orientation=\"both\" {...consumerProps}>\n {children}\n </RovingFocusRoot>\n );\n}\nTableBody.displayName = \"TableBody\";\n\nexport function TableRow(props: TableRowProps): ReactElement | null {\n const { disabled = false, id, as, render, ...consumerProps } = props;\n const { interactive, store } = useTableContext(\"Row\");\n useIsomorphicLayoutEffect(() => store.registerRow(id), [id, store]);\n useIsomorphicLayoutEffect(() => store.setRowDisabled(id, disabled), [id, disabled, store]);\n\n const selected = useSyncExternalStore(\n (listener) => store.subscribeRow(id, listener),\n () => store.isRowSelected(id),\n () => false,\n );\n\n const { onClick: consumerOnClick, onKeyDown: consumerOnKeyDown } = consumerProps as {\n onClick?: (event: MouseEvent<HTMLTableRowElement>) => void;\n onKeyDown?: (event: KeyboardEvent<HTMLTableRowElement>) => void;\n };\n\n const handleClick = (event: MouseEvent<HTMLTableRowElement>) => {\n const target = event.target as HTMLElement | null;\n if (target?.closest(\"input, button, a, [role='checkbox']\")) return;\n store.toggleRow(id, {\n disabled,\n metaKey: event.metaKey || event.ctrlKey,\n shiftKey: event.shiftKey,\n });\n };\n\n const handleKeyDown = (event: KeyboardEvent<HTMLTableRowElement>) => {\n if (event.key === \" \" && interactive) {\n event.preventDefault();\n store.toggleRow(id, { disabled });\n }\n };\n\n if (interactive) {\n return createElement(RovingFocusItem, {\n disabled,\n id,\n render: (renderProps: Record<string, unknown>) => {\n // T5 — three-way nested composition. `renderProps` is RovingFocusItem's own\n // fully-resolved props (id/aria-disabled/data-current/data-disabled/onFocus/\n // ref/tabIndex, plus its own `onKeyDown` for arrow-key roving + typeahead).\n // Chain innermost first: roving-focus's onKeyDown runs as the outer layer\n // (it never calls preventDefault() for Space), then the real consumer's\n // onKeyDown, then this row's own Space-toggle — preserving Space's today\n // double duty as both a typeahead character and the row-toggle key.\n const { onKeyDown: rovingFocusOnKeyDown, ...restRenderProps } = renderProps as Record<\n string,\n unknown\n > & { onKeyDown?: (event: KeyboardEvent<HTMLTableRowElement>) => void };\n\n const rowProps = {\n ...consumerProps,\n ...restRenderProps,\n \"aria-selected\": selected,\n disabled,\n id,\n selected,\n onClick: composeEventHandlers(consumerOnClick, handleClick),\n onKeyDown: composeEventHandlers(\n rovingFocusOnKeyDown,\n composeEventHandlers(consumerOnKeyDown, handleKeyDown),\n ),\n };\n\n if (render) {\n return createElement(TableRowElement, { ...rowProps, render });\n }\n return createElement(TableRowElement, {\n ...rowProps,\n ...(as !== undefined ? { as } : {}),\n });\n },\n });\n }\n\n const rowProps = {\n ...consumerProps,\n disabled,\n id,\n selected,\n };\n\n if (render) {\n return createElement(TableRowElement, { ...rowProps, render });\n }\n\n return createElement(TableRowElement, {\n ...rowProps,\n ...(as !== undefined ? { as } : {}),\n });\n}\nTableRow.displayName = \"TableRow\";\n\nfunction ariaSortForColumn(\n descriptor: SortDescriptor | null,\n column: string,\n): SortDescriptor[\"direction\"] | undefined {\n if (!descriptor || descriptor.column !== column) return undefined;\n return descriptor.direction;\n}\n\nexport function TableColumnHeader(\n props: React.ComponentProps<typeof TableColumnHeaderElement>,\n): ReactElement | null {\n const { allowsSorting = false, id, onClick, as, render, ...rest } = props;\n const { store } = useTableContext(\"ColumnHeader\");\n const sortDescriptor = useSyncExternalStore(\n store.subscribeSort,\n store.getSortSnapshot,\n store.getServerSortSnapshot,\n );\n\n const shared = {\n ...rest,\n allowsSorting,\n id,\n sortDirection: allowsSorting ? (ariaSortForColumn(sortDescriptor, id) ?? null) : null,\n };\n\n if (allowsSorting) {\n if (render) {\n return (\n <TableColumnHeaderElement\n {...shared}\n onClick={() => store.toggleSort(id)}\n render={render}\n />\n );\n }\n return (\n <TableColumnHeaderElement\n {...shared}\n onClick={() => store.toggleSort(id)}\n {...(as !== undefined ? { as } : {})}\n />\n );\n }\n\n if (render) {\n return (\n <TableColumnHeaderElement\n {...shared}\n {...(onClick !== undefined ? { onClick } : {})}\n render={render}\n />\n );\n }\n\n return (\n <TableColumnHeaderElement\n {...shared}\n {...(onClick !== undefined ? { onClick } : {})}\n {...(as !== undefined ? { as } : {})}\n />\n );\n}\nTableColumnHeader.displayName = \"TableColumnHeader\";\n\nexport function TableSelectAll(): ReactElement {\n const { store } = useTableContext(\"SelectAll\");\n const selectionState = useSyncExternalStore(\n store.subscribeSelection,\n store.getSelectionState,\n () => \"none\" as const,\n );\n const checked: CheckedState =\n selectionState === \"all\" ? true : selectionState === \"some\" ? \"indeterminate\" : false;\n\n const handleChange = useCallback(() => store.toggleSelectAll(), [store]);\n\n return (\n <Checkbox\n id=\"table-select-all\"\n label=\"Select all rows\"\n checked={checked}\n onCheckedChange={handleChange}\n />\n );\n}\nTableSelectAll.displayName = \"TableSelectAll\";\n\nexport function TableRowSelect({ rowId }: TableRowSelectOwnProps): ReactElement {\n const { store } = useTableContext(\"RowSelect\");\n const selected = useSyncExternalStore(\n (listener) => store.subscribeRow(rowId, listener),\n () => store.isRowSelected(rowId),\n () => false,\n );\n\n return (\n <Checkbox\n id={`table-row-${rowId}`}\n label=\"Select row\"\n checked={selected}\n onCheckedChange={() => store.toggleRow(rowId)}\n />\n );\n}\nTableRowSelect.displayName = \"TableRowSelect\";\n\nexport const Table = {\n Body: TableBody,\n Caption: TableCaption,\n Cell: TableCell,\n ColumnHeader: TableColumnHeader,\n Header: TableHeader,\n Root: TableRoot,\n Row: TableRow,\n RowSelect: TableRowSelect,\n SelectAll: TableSelectAll,\n};\n"],"mappings":"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","names":["rowProps"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/table/Table.tsx"],"sourcesContent":["export {\n Table,\n TableRoot,\n TableBody,\n TableRow,\n TableColumnHeader,\n TableCaption,\n TableCell,\n TableHeader,\n TableFooter,\n TableRowHeader,\n} from \"./TableShell.js\";\n"],"mappings":"AAAA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;","names":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ElementType, ReactElement } from "react";
|
|
2
|
-
import type { TableBodyProps, TableCaptionProps, TableCellProps, TableRowProps, TableColumnHeaderProps, TableHeaderProps, TableRootProps } from "./types.js";
|
|
2
|
+
import type { TableFooterProps, TableRowHeaderProps, TableBodyProps, TableCaptionProps, TableCellProps, TableRowProps, TableColumnHeaderProps, TableHeaderProps, TableRootProps } from "./types.js";
|
|
3
3
|
export type { SelectionMode, SortDescriptor } from "./types.js";
|
|
4
4
|
export declare function TableRoot<TAs extends ElementType = "table">(props: TableRootProps<TAs>): ReactElement | null;
|
|
5
5
|
export declare function TableHeader<TAs extends ElementType = "thead">(props: TableHeaderProps<TAs>): ReactElement | null;
|
|
@@ -8,7 +8,11 @@ export declare function TableRow<TAs extends ElementType = "tr">(props: TableRow
|
|
|
8
8
|
export declare function TableColumnHeader<TAs extends ElementType = "th">(props: TableColumnHeaderProps<TAs>): ReactElement | null;
|
|
9
9
|
export declare function TableCell<TAs extends ElementType = "td">(props: TableCellProps<TAs>): ReactElement | null;
|
|
10
10
|
export declare function TableCaption<TAs extends ElementType = "caption">(props: TableCaptionProps<TAs>): ReactElement | null;
|
|
11
|
+
export declare function TableFooter<TAs extends ElementType = "tfoot">(props: TableFooterProps<TAs>): ReactElement | null;
|
|
12
|
+
export declare function TableRowHeader<TAs extends ElementType = "th">(props: TableRowHeaderProps<TAs>): ReactElement | null;
|
|
11
13
|
export declare const Table: {
|
|
14
|
+
Footer: typeof TableFooter;
|
|
15
|
+
RowHeader: typeof TableRowHeader;
|
|
12
16
|
Body: typeof TableBody;
|
|
13
17
|
Caption: typeof TableCaption;
|
|
14
18
|
Cell: typeof TableCell;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableShell.d.ts","sourceRoot":"","sources":["../../../src/components/table/TableShell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAGvD,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,sBAAsB,EACtB,gBAAgB,EAChB,cAAc,EACf,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEhE,wBAAgB,SAAS,CAAC,GAAG,SAAS,WAAW,GAAG,OAAO,EACzD,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC,GACzB,YAAY,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"TableShell.d.ts","sourceRoot":"","sources":["../../../src/components/table/TableShell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAGvD,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,sBAAsB,EACtB,gBAAgB,EAChB,cAAc,EACf,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEhE,wBAAgB,SAAS,CAAC,GAAG,SAAS,WAAW,GAAG,OAAO,EACzD,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC,GACzB,YAAY,GAAG,IAAI,CA2BrB;AAED,wBAAgB,WAAW,CAAC,GAAG,SAAS,WAAW,GAAG,OAAO,EAC3D,KAAK,EAAE,gBAAgB,CAAC,GAAG,CAAC,GAC3B,YAAY,GAAG,IAAI,CASrB;AAED,wBAAgB,SAAS,CAAC,GAAG,SAAS,WAAW,GAAG,OAAO,EACzD,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC,GACzB,YAAY,GAAG,IAAI,CASrB;AAED,wBAAgB,QAAQ,CAAC,GAAG,SAAS,WAAW,GAAG,IAAI,EACrD,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,GACxB,YAAY,GAAG,IAAI,CA0BrB;AAED,wBAAgB,iBAAiB,CAAC,GAAG,SAAS,WAAW,GAAG,IAAI,EAC9D,KAAK,EAAE,sBAAsB,CAAC,GAAG,CAAC,GACjC,YAAY,GAAG,IAAI,CA+BrB;AAED,wBAAgB,SAAS,CAAC,GAAG,SAAS,WAAW,GAAG,IAAI,EACtD,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC,GACzB,YAAY,GAAG,IAAI,CAerB;AAED,wBAAgB,YAAY,CAAC,GAAG,SAAS,WAAW,GAAG,SAAS,EAC9D,KAAK,EAAE,iBAAiB,CAAC,GAAG,CAAC,GAC5B,YAAY,GAAG,IAAI,CASrB;AAED,wBAAgB,WAAW,CAAC,GAAG,SAAS,WAAW,GAAG,OAAO,EAC3D,KAAK,EAAE,gBAAgB,CAAC,GAAG,CAAC,GAC3B,YAAY,GAAG,IAAI,CASrB;AACD,wBAAgB,cAAc,CAAC,GAAG,SAAS,WAAW,GAAG,IAAI,EAC3D,KAAK,EAAE,mBAAmB,CAAC,GAAG,CAAC,GAC9B,YAAY,GAAG,IAAI,CAerB;AAED,eAAO,MAAM,KAAK;;;;;;;;;;CAUjB,CAAC"}
|