@epilot/zenith-react 0.1.0-next.0 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +95 -15
- package/dist/components/appearance-boundary/appearance-boundary.js +32 -34
- package/dist/components/appearance-boundary/appearance-boundary.js.map +1 -1
- package/dist/components/badge/badge.js +1 -1
- package/dist/components/badge/badge.js.map +1 -1
- package/dist/components/breadcrumb/breadcrumb.js +10 -10
- package/dist/components/breadcrumb/breadcrumb.js.map +1 -1
- package/dist/components/button/button.js +28 -28
- package/dist/components/button/button.js.map +1 -1
- package/dist/components/button-group/button-group.js.map +1 -1
- package/dist/components/callout/callout.js +13 -13
- package/dist/components/callout/callout.js.map +1 -1
- package/dist/components/card/card.js.map +1 -1
- package/dist/components/checkbox/checkbox.js +13 -13
- package/dist/components/checkbox/checkbox.js.map +1 -1
- package/dist/components/code-block/code-block.js +6 -6
- package/dist/components/code-block/code-block.js.map +1 -1
- package/dist/components/code-editor/code-editor.js +1 -1
- package/dist/components/code-editor/code-editor.js.map +1 -1
- package/dist/components/code-editor/indent.js.map +1 -1
- package/dist/components/command/command.js +7 -13
- package/dist/components/command/command.js.map +1 -1
- package/dist/components/data-table/data-table-body.js +120 -66
- package/dist/components/data-table/data-table-body.js.map +1 -1
- package/dist/components/data-table/data-table-column-header.js +7 -7
- package/dist/components/data-table/data-table-column-header.js.map +1 -1
- package/dist/components/data-table/data-table-column-order.js +277 -0
- package/dist/components/data-table/data-table-column-order.js.map +1 -0
- package/dist/components/data-table/data-table-content.js +72 -58
- package/dist/components/data-table/data-table-content.js.map +1 -1
- package/dist/components/data-table/data-table-context.js +8 -4
- package/dist/components/data-table/data-table-context.js.map +1 -1
- package/dist/components/data-table/data-table-footer.js +31 -0
- package/dist/components/data-table/data-table-footer.js.map +1 -0
- package/dist/components/data-table/data-table-header-draggable.js +151 -0
- package/dist/components/data-table/data-table-header-draggable.js.map +1 -0
- package/dist/components/data-table/data-table-header.js +130 -57
- package/dist/components/data-table/data-table-header.js.map +1 -1
- package/dist/components/data-table/data-table-resize-handle.js +137 -0
- package/dist/components/data-table/data-table-resize-handle.js.map +1 -0
- package/dist/components/data-table/data-table.js +184 -156
- package/dist/components/data-table/data-table.js.map +1 -1
- package/dist/components/data-table/hooks/use-data-table-virtualizer.js +9 -0
- package/dist/components/data-table/hooks/use-data-table-virtualizer.js.map +1 -0
- package/dist/components/date-range-picker/date-range-picker.js +197 -195
- package/dist/components/date-range-picker/date-range-picker.js.map +1 -1
- package/dist/components/date-time-picker/calendar.js +29 -29
- package/dist/components/date-time-picker/calendar.js.map +1 -1
- package/dist/components/date-time-picker/time-picker.js +55 -55
- package/dist/components/date-time-picker/time-picker.js.map +1 -1
- package/dist/components/density-provider/density-provider.js.map +1 -1
- package/dist/components/dialog/dialog.js +1 -1
- package/dist/components/dialog/dialog.js.map +1 -1
- package/dist/components/drawer/drawer.js +5 -5
- package/dist/components/drawer/drawer.js.map +1 -1
- package/dist/components/dropdown-menu/dropdown-menu.js +36 -36
- package/dist/components/dropdown-menu/dropdown-menu.js.map +1 -1
- package/dist/components/field/field-combobox.js +4 -4
- package/dist/components/field/field-combobox.js.map +1 -1
- package/dist/components/field/field.js +40 -40
- package/dist/components/field/field.js.map +1 -1
- package/dist/components/label/label.js +0 -28
- package/dist/components/label/label.js.map +1 -1
- package/dist/components/list/list.js +42 -52
- package/dist/components/list/list.js.map +1 -1
- package/dist/components/option-card/option-card.js +27 -25
- package/dist/components/option-card/option-card.js.map +1 -1
- package/dist/components/pill/pill.js +9 -9
- package/dist/components/pill/pill.js.map +1 -1
- package/dist/components/radio/radio.js +14 -14
- package/dist/components/radio/radio.js.map +1 -1
- package/dist/components/scroll-area/scroll-area.js +9 -9
- package/dist/components/scroll-area/scroll-area.js.map +1 -1
- package/dist/components/segmented-control/segmented-control.js +1 -1
- package/dist/components/segmented-control/segmented-control.js.map +1 -1
- package/dist/components/select/select.js +11 -11
- package/dist/components/select/select.js.map +1 -1
- package/dist/components/separator/separator.js.map +1 -1
- package/dist/components/skeleton/skeleton.js.map +1 -1
- package/dist/components/slot/compose-as-child.js.map +1 -1
- package/dist/components/spinner/spinner.js.map +1 -1
- package/dist/components/switch/switch.js +11 -11
- package/dist/components/switch/switch.js.map +1 -1
- package/dist/components/table/table-pagination.js +1 -1
- package/dist/components/table/table-pagination.js.map +1 -1
- package/dist/components/table/table.js +15 -15
- package/dist/components/table/table.js.map +1 -1
- package/dist/components/text/text.js +10 -1
- package/dist/components/text/text.js.map +1 -1
- package/dist/components/toast/toast.js +30 -32
- package/dist/components/toast/toast.js.map +1 -1
- package/dist/components/toggle/toggle.js +20 -20
- package/dist/components/toggle/toggle.js.map +1 -1
- package/dist/delivery/index.d.ts +10 -44
- package/dist/delivery/index.js +5 -9
- package/dist/index.d.ts +1994 -2272
- package/dist/index.js +133 -121
- package/dist/index.js.map +1 -1
- package/dist/lib/clear-button.js.map +1 -1
- package/dist/lib/code-highlight.js.map +1 -1
- package/dist/lib/code-tokens.js.map +1 -1
- package/dist/lib/pagination.js.map +1 -1
- package/dist/packages/tokens/dist/delivery/index.js +18 -48
- package/dist/packages/tokens/dist/delivery/index.js.map +1 -1
- package/dist/packages/tokens/dist/generated/core.generated.js +18 -0
- package/dist/packages/tokens/dist/generated/core.generated.js.map +1 -0
- package/dist/packages/tokens/dist/generated/palette.generated.js +5 -5
- package/dist/packages/tokens/dist/generated/palette.generated.js.map +1 -1
- package/dist/packages/tokens/dist/install.js +9 -9
- package/dist/packages/tokens/dist/install.js.map +1 -1
- package/dist/styles/document-context.js.map +1 -1
- package/dist/styles/make-styles.js.map +1 -1
- package/dist/tokens/core.meta.generated.js +2 -2
- package/dist/tokens/core.meta.generated.js.map +1 -1
- package/dist/tokens/index.d.ts +1029 -1104
- package/dist/tokens/index.js +1031 -1106
- package/dist/tokens/index.js.map +1 -1
- package/dist/tokens/palette.generated.js +2 -2
- package/dist/tokens/palette.generated.js.map +1 -1
- package/dist/tokens/use-palette-tokens.js.map +1 -1
- package/dist/tokens.json +605 -755
- package/dist/vendor/.bun/@dnd-kit_core@6.3.1_6f4b9a1cfb20c0ae/vendor/@dnd-kit/core/dist/core.esm.js +385 -340
- package/dist/vendor/.bun/@dnd-kit_core@6.3.1_6f4b9a1cfb20c0ae/vendor/@dnd-kit/core/dist/core.esm.js.map +1 -1
- package/dist/vendor/.bun/@dnd-kit_sortable@10.0.0_1d291640e1250bbe/vendor/@dnd-kit/sortable/dist/sortable.esm.js +344 -229
- package/dist/vendor/.bun/@dnd-kit_sortable@10.0.0_1d291640e1250bbe/vendor/@dnd-kit/sortable/dist/sortable.esm.js.map +1 -1
- package/dist/vendor/.bun/@dnd-kit_utilities@3.2.2_62547eec5a2188e3/vendor/@dnd-kit/utilities/dist/utilities.esm.js +1 -1
- package/dist/vendor/.bun/@tanstack_react-virtual@3.11.2_6f4b9a1cfb20c0ae/vendor/@tanstack/react-virtual/dist/esm/index.js +36 -0
- package/dist/vendor/.bun/@tanstack_react-virtual@3.11.2_6f4b9a1cfb20c0ae/vendor/@tanstack/react-virtual/dist/esm/index.js.map +1 -0
- package/dist/vendor/.bun/@tanstack_virtual-core@3.11.2/vendor/@tanstack/virtual-core/dist/esm/index.js +450 -0
- package/dist/vendor/.bun/@tanstack_virtual-core@3.11.2/vendor/@tanstack/virtual-core/dist/esm/index.js.map +1 -0
- package/dist/vendor/.bun/@tanstack_virtual-core@3.11.2/vendor/@tanstack/virtual-core/dist/esm/utils.js +50 -0
- package/dist/vendor/.bun/@tanstack_virtual-core@3.11.2/vendor/@tanstack/virtual-core/dist/esm/utils.js.map +1 -0
- package/package.json +5 -4
- package/scripts/migration-diagnostics-core.mjs +19 -90
- package/scripts/migration-diagnostics.mjs +1 -16
- package/scripts/migration-sweep.mjs +2 -12
- package/ADOPTING.md +0 -73
- package/dist/packages/tokens/dist/delivery/internal.js +0 -181
- package/dist/packages/tokens/dist/delivery/internal.js.map +0 -1
- package/dist/packages/tokens/dist/generated/core.meta.generated.js +0 -10
- package/dist/packages/tokens/dist/generated/core.meta.generated.js.map +0 -1
- package/dist/token-assets/core/5cd4072decf5df2a664f0b1d5f2ec250a3309101ded3056c1f87c8bbe3738d50.css +0 -22
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","sources":["../../../src/components/command/command.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { Command as CommandPrimitive } from \"cmdk\"\nimport { mergeClasses, shorthands } from \"@epilot/zenith-runtime/v1\"\n\nimport { SLOT_ATTR } from \"../../renderer/contract\"\nimport { makeZenithStyles } from \"../../styles/make-styles\"\nimport * as tokens from \"../../tokens\"\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogHeader,\n DialogTitle,\n} from \"../dialog/dialog\"\n\nconst SearchIcon = (props: React.SVGProps<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24px\"\n viewBox=\"0 -960 960 960\"\n width=\"24px\"\n fill=\"currentColor\"\n {...props}\n >\n <path d=\"M380-320q-109 0-184.5-75.5T120-580q0-109 75.5-184.5T380-840q109 0 184.5 75.5T640-580q0 44-14 83t-38 69l224 224q11 11 11 28t-11 28q-11 11-28 11t-28-11L532-372q-30 24-69 38t-83 14Zm0-80q75 0 127.5-52.5T560-580q0-75-52.5-127.5T380-760q-75 0-127.5 52.5T200-580q0 75 52.5 127.5T380-400Z\" />\n </svg>\n)\n\nconst useStyles = makeZenithStyles({\n root: {\n backgroundColor: tokens.body,\n color: tokens.grayA12,\n display: \"flex\",\n height: \"100%\",\n width: \"100%\",\n flexDirection: \"column\",\n overflowX: \"hidden\",\n overflowY: \"hidden\",\n ...shorthands.borderRadius(tokens.radiusMd),\n },\n inputWrapper: {\n display: \"flex\",\n alignItems: \"center\",\n ...shorthands.gap(tokens.spacingElement2),\n ...shorthands.borderBottom(\"1px\", \"solid\", tokens.grayA3),\n paddingLeft: tokens.spacingElement3,\n paddingRight: tokens.spacingElement3,\n },\n searchIcon: {\n width: \"1.25rem\",\n height: \"1.25rem\",\n flexShrink: 0,\n opacity: 0.5,\n },\n input: {\n height: \"3rem\",\n display: \"flex\",\n width: \"100%\",\n ...shorthands.borderRadius(tokens.radiusMd),\n backgroundColor: \"transparent\",\n paddingTop: tokens.spacingElement3,\n paddingBottom: tokens.spacingElement3,\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n outlineStyle: \"none\",\n \":focus-visible\": {\n outlineWidth: \"2px\",\n outlineStyle: \"solid\",\n // Inset (negative), not the outward +2px every other audited control uses: this input sits\n // flush against the top edge of the Command root, which clips overflow for its rounded\n // corners. An outward ring's top 4px (width + offset) render outside that clip box and are\n // cut off — confirmed by measuring the rendered outline rect against the clipping ancestor's\n // rect (second a11y review, §2). Insetting keeps the ring's outer edge at the input's own\n // border edge, so it doesn't extend past this ancestor's clip box in this layout (it is not\n // a universal guarantee against every possible ancestor — an ancestor that clips the input's\n // OWN box, not just what extends beyond it, would still hide it). No layout change either\n // way: outline never affects box model regardless of sign.\n outlineOffset: \"-2px\",\n outlineColor: tokens.semFocusRing,\n },\n \"::placeholder\": {\n color: tokens.grayA11,\n },\n \":disabled\": {\n cursor: \"not-allowed\",\n opacity: 0.5,\n },\n },\n list: {\n overflowX: \"hidden\",\n overflowY: \"auto\",\n scrollPaddingTop: tokens.spacingElement1,\n scrollPaddingBottom: tokens.spacingElement1,\n },\n empty: {\n paddingTop: \"1.5rem\",\n paddingBottom: \"1.5rem\",\n textAlign: \"center\",\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n color: tokens.grayA11,\n },\n group: {\n color: tokens.grayA12,\n overflowX: \"hidden\",\n overflowY: \"hidden\",\n ...shorthands.padding(tokens.spacingElement1),\n \"& [cmdk-group-heading]\": {\n color: tokens.grayA11,\n paddingLeft: tokens.spacingElement2,\n paddingRight: tokens.spacingElement2,\n paddingTop: \"0.375rem\",\n paddingBottom: \"0.375rem\",\n fontSize: tokens.textXs,\n lineHeight: tokens.leadingXs,\n fontWeight: tokens.fontWeightMedium,\n },\n },\n separator: {\n backgroundColor: tokens.semGraySoft,\n marginLeft: `calc(-1 * ${tokens.spacingElement1})`,\n marginRight: `calc(-1 * ${tokens.spacingElement1})`,\n height: \"1px\",\n },\n item: {\n position: \"relative\",\n display: \"flex\",\n cursor: \"default\",\n alignItems: \"center\",\n ...shorthands.gap(tokens.spacingElement2),\n ...shorthands.borderRadius(tokens.radiusSm),\n paddingLeft: tokens.spacingElement2,\n paddingRight: tokens.spacingElement2,\n paddingTop: \"0.375rem\",\n paddingBottom: \"0.375rem\",\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n outlineStyle: \"none\",\n userSelect: \"none\",\n color: tokens.grayA12,\n \"&[data-selected='true'], &[aria-selected='true']\": {\n backgroundColor: tokens.accentA3,\n },\n \":hover\": {\n backgroundColor: tokens.accentA3,\n },\n \"&[data-disabled='true'], &[aria-disabled='true']\": {\n pointerEvents: \"none\",\n opacity: 0.5,\n },\n \"& svg\": {\n pointerEvents: \"none\",\n flexShrink: 0,\n width: \"1rem\",\n height: \"1rem\",\n },\n \"& svg:not([class*='text-'])\": {\n color: tokens.grayA11,\n },\n },\n shortcut: {\n color: tokens.grayA11,\n marginLeft: \"auto\",\n fontSize: tokens.textXs,\n lineHeight: tokens.leadingXs,\n letterSpacing: \"0.1em\",\n },\n loading: {\n color: tokens.grayA11,\n },\n dialogContent: {\n overflowX: \"hidden\",\n overflowY: \"hidden\",\n ...shorthands.padding(0),\n },\n dialogCommand: {\n \"& [cmdk-group-heading]\": {\n color: tokens.grayA11,\n paddingLeft: tokens.spacingElement2,\n paddingRight: tokens.spacingElement2,\n fontWeight: tokens.fontWeightMedium,\n },\n [`& [${SLOT_ATTR}=\"command-input-wrapper\"]`]: {\n height: \"3rem\",\n },\n \"& [cmdk-group]\": {\n paddingLeft: tokens.spacingElement2,\n paddingRight: tokens.spacingElement2,\n },\n \"& [cmdk-item]\": {\n paddingLeft: tokens.spacingElement2,\n paddingRight: tokens.spacingElement2,\n paddingTop: tokens.spacingElement3,\n paddingBottom: tokens.spacingElement3,\n },\n \"& [cmdk-item] svg\": {\n width: \"1.25rem\",\n height: \"1.25rem\",\n },\n \"& [cmdk-input-wrapper] svg\": {\n width: \"1.25rem\",\n height: \"1.25rem\",\n },\n \"& [cmdk-input]\": {\n height: \"3rem\",\n },\n },\n srOnly: {\n position: \"absolute\",\n width: \"1px\",\n height: \"1px\",\n paddingTop: 0,\n paddingBottom: 0,\n paddingLeft: 0,\n paddingRight: 0,\n marginTop: \"-1px\",\n marginBottom: \"-1px\",\n marginLeft: \"-1px\",\n marginRight: \"-1px\",\n overflowX: \"hidden\",\n overflowY: \"hidden\",\n clip: \"rect(0, 0, 0, 0)\",\n whiteSpace: \"nowrap\",\n ...shorthands.borderWidth(0),\n },\n})\n\n/**\n * @internal not part of the 0.1 public API. Command is fully implemented and tested, but the barrel\n * never exported it and its only consumer is `field/field-combobox.tsx`, which builds its listbox\n * out of these pieces.\n *\n * This was a decision, not an oversight: a public Command is a surface nobody has reviewed as\n * public API, and exporting it after 0.1 is additive and non-breaking, whereas un-exporting it\n * would not be. Marked here rather than left unexported and unexplained so that\n * `public-surface.test.ts` records the classification instead of reporting the family as a gap, and\n * so the a11y and visual gates stop asking an internal for consumer-facing coverage.\n *\n * To make it public: delete this marker and export the family from `src/index.ts`. The gates will\n * then require a family test with an accessible query and a visual specimen, which is the review\n * this deferred.\n */\nexport type CommandProps = React.ComponentProps<typeof CommandPrimitive> & {\n \"data-slot\"?: string\n}\n\nexport const Command = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive>,\n CommandProps\n>(function Command(\n { className, \"data-slot\": dataSlot = \"command\", ...props },\n ref\n) {\n const styles = useStyles()\n\n return (\n <CommandPrimitive\n ref={ref}\n data-slot={dataSlot}\n {...{ [SLOT_ATTR]: dataSlot }}\n className={mergeClasses(styles.root, className)}\n {...props}\n />\n )\n})\n\nexport type CommandDialogProps = Omit<\n React.ComponentProps<typeof Dialog>,\n \"children\"\n> & {\n children?: React.ReactNode\n title?: string\n description?: string\n className?: string\n showCloseButton?: boolean\n}\n\nexport const CommandDialog = React.forwardRef<HTMLElement, CommandDialogProps>(\n function CommandDialog(\n {\n title = \"Command Palette\",\n description = \"Search for a command to run...\",\n children,\n className,\n showCloseButton = true,\n ...props\n },\n _ref\n ) {\n const styles = useStyles()\n\n return (\n <Dialog {...props}>\n <DialogHeader className={styles.srOnly}>\n <DialogTitle>{title}</DialogTitle>\n <DialogDescription>{description}</DialogDescription>\n </DialogHeader>\n <DialogContent\n className={mergeClasses(styles.dialogContent, className)}\n showCloseButton={showCloseButton}\n >\n <Command className={styles.dialogCommand}>{children}</Command>\n </DialogContent>\n </Dialog>\n )\n }\n)\n\nexport type CommandInputProps = React.ComponentProps<\n typeof CommandPrimitive.Input\n> & {\n wrapperClassName?: string\n}\n\nexport const CommandInput = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Input>,\n CommandInputProps\n>(function CommandInput({ className, wrapperClassName, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <div\n data-slot=\"command-input-wrapper\"\n {...{ [SLOT_ATTR]: \"command-input-wrapper\" }}\n className={mergeClasses(styles.inputWrapper, wrapperClassName)}\n >\n <SearchIcon className={styles.searchIcon} />\n <CommandPrimitive.Input\n ref={ref}\n data-slot=\"command-input\"\n {...{ [SLOT_ATTR]: \"command-input\" }}\n className={mergeClasses(styles.input, className)}\n {...props}\n />\n </div>\n )\n})\n\nexport type CommandListProps = React.ComponentProps<\n typeof CommandPrimitive.List\n>\n\nexport const CommandList = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.List>,\n CommandListProps\n>(function CommandList({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <CommandPrimitive.List\n ref={ref}\n data-slot=\"command-list\"\n {...{ [SLOT_ATTR]: \"command-list\" }}\n className={mergeClasses(styles.list, className)}\n {...props}\n />\n )\n})\n\nexport type CommandEmptyProps = React.ComponentProps<\n typeof CommandPrimitive.Empty\n>\n\nexport const CommandEmpty = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Empty>,\n CommandEmptyProps\n>(function CommandEmpty({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <CommandPrimitive.Empty\n ref={ref}\n data-slot=\"command-empty\"\n {...{ [SLOT_ATTR]: \"command-empty\" }}\n className={mergeClasses(styles.empty, className)}\n {...props}\n />\n )\n})\n\nexport type CommandGroupProps = React.ComponentProps<\n typeof CommandPrimitive.Group\n>\n\nexport const CommandGroup = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Group>,\n CommandGroupProps\n>(function CommandGroup({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <CommandPrimitive.Group\n ref={ref}\n data-slot=\"command-group\"\n {...{ [SLOT_ATTR]: \"command-group\" }}\n className={mergeClasses(styles.group, className)}\n {...props}\n />\n )\n})\n\nexport type CommandSeparatorProps = React.ComponentProps<\n typeof CommandPrimitive.Separator\n>\n\nexport const CommandSeparator = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Separator>,\n CommandSeparatorProps\n>(function CommandSeparator({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <CommandPrimitive.Separator\n ref={ref}\n data-slot=\"command-separator\"\n {...{ [SLOT_ATTR]: \"command-separator\" }}\n className={mergeClasses(styles.separator, className)}\n {...props}\n />\n )\n})\n\nexport type CommandItemProps = React.ComponentProps<\n typeof CommandPrimitive.Item\n>\n\nexport const CommandItem = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Item>,\n CommandItemProps\n>(function CommandItem({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <CommandPrimitive.Item\n ref={ref}\n data-slot=\"command-item\"\n {...{ [SLOT_ATTR]: \"command-item\" }}\n className={mergeClasses(styles.item, className)}\n {...props}\n />\n )\n})\n\nexport type CommandShortcutProps = React.ComponentProps<\"span\">\n\nexport const CommandShortcut = React.forwardRef<\n HTMLSpanElement,\n CommandShortcutProps\n>(function CommandShortcut({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <span\n ref={ref}\n data-slot=\"command-shortcut\"\n {...{ [SLOT_ATTR]: \"command-shortcut\" }}\n className={mergeClasses(styles.shortcut, className)}\n {...props}\n />\n )\n})\n\nexport type CommandLoadingProps = React.ComponentProps<\n typeof CommandPrimitive.Loading\n>\n\nexport const CommandLoading = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Loading>,\n CommandLoadingProps\n>(function CommandLoading({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <CommandPrimitive.Loading\n ref={ref}\n data-slot=\"command-loading\"\n {...{ [SLOT_ATTR]: \"command-loading\" }}\n className={mergeClasses(styles.loading, className)}\n {...props}\n />\n )\n})\n\nexport { Command as CommandRoot }\n"],"names":["SearchIcon","props","jsx","useStyles","makeZenithStyles","tokens.body","tokens.grayA12","shorthands","tokens.radiusMd","tokens.spacingElement2","tokens.grayA3","tokens.spacingElement3","tokens.textSm","tokens.leadingSm","tokens.semFocusRing","tokens.grayA11","tokens.spacingElement1","tokens.textXs","tokens.leadingXs","tokens.fontWeightMedium","tokens.semGraySoft","tokens.radiusSm","tokens.accentA3","SLOT_ATTR","Command","React","className","dataSlot","ref","styles","CommandPrimitive","mergeClasses","title","description","children","showCloseButton","_ref","jsxs","Dialog","DialogHeader","DialogTitle","DialogDescription","DialogContent","CommandInput","wrapperClassName","CommandList","CommandEmpty","CommandGroup","CommandSeparator","CommandItem","CommandLoading"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"command.js","sources":["../../../src/components/command/command.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { Command as CommandPrimitive } from \"cmdk\"\nimport { mergeClasses, shorthands } from \"@epilot/zenith-runtime/v1\"\n\nimport { SLOT_ATTR } from \"../../renderer/contract\"\nimport { makeZenithStyles } from \"../../styles/make-styles\"\nimport * as tokens from \"../../tokens\"\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogHeader,\n DialogTitle,\n} from \"../dialog/dialog\"\n\nconst SearchIcon = (props: React.SVGProps<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24px\"\n viewBox=\"0 -960 960 960\"\n width=\"24px\"\n fill=\"currentColor\"\n {...props}\n >\n <path d=\"M380-320q-109 0-184.5-75.5T120-580q0-109 75.5-184.5T380-840q109 0 184.5 75.5T640-580q0 44-14 83t-38 69l224 224q11 11 11 28t-11 28q-11 11-28 11t-28-11L532-372q-30 24-69 38t-83 14Zm0-80q75 0 127.5-52.5T560-580q0-75-52.5-127.5T380-760q-75 0-127.5 52.5T200-580q0 75 52.5 127.5T380-400Z\" />\n </svg>\n)\n\nconst useStyles = makeZenithStyles({\n root: {\n backgroundColor: tokens.body,\n color: tokens.grayA12,\n display: \"flex\",\n height: \"100%\",\n width: \"100%\",\n flexDirection: \"column\",\n overflowX: \"hidden\",\n overflowY: \"hidden\",\n ...shorthands.borderRadius(tokens.radiusMd),\n },\n inputWrapper: {\n display: \"flex\",\n alignItems: \"center\",\n ...shorthands.gap(tokens.spacingElement2),\n ...shorthands.borderBottom(\"1px\", \"solid\", tokens.grayA3),\n paddingLeft: tokens.spacingElement3,\n paddingRight: tokens.spacingElement3,\n },\n searchIcon: {\n width: \"1.25rem\",\n height: \"1.25rem\",\n flexShrink: 0,\n opacity: 0.5,\n },\n input: {\n height: \"3rem\",\n display: \"flex\",\n width: \"100%\",\n ...shorthands.borderRadius(tokens.radiusMd),\n backgroundColor: \"transparent\",\n paddingTop: tokens.spacingElement3,\n paddingBottom: tokens.spacingElement3,\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n outlineStyle: \"none\",\n \":focus-visible\": {\n outlineWidth: \"2px\",\n outlineStyle: \"solid\",\n // Inset (negative), not the outward +2px every other audited control uses: this input sits\n // flush against the top edge of the Command root, which clips overflow for its rounded\n // corners.\n outlineOffset: \"-2px\",\n outlineColor: tokens.focusRing,\n },\n \"::placeholder\": {\n color: tokens.grayA11,\n },\n \":disabled\": {\n cursor: \"not-allowed\",\n opacity: 0.5,\n },\n },\n list: {\n overflowX: \"hidden\",\n overflowY: \"auto\",\n scrollPaddingTop: tokens.spacingElement1,\n scrollPaddingBottom: tokens.spacingElement1,\n },\n empty: {\n paddingTop: \"1.5rem\",\n paddingBottom: \"1.5rem\",\n textAlign: \"center\",\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n color: tokens.grayA11,\n },\n group: {\n color: tokens.grayA12,\n overflowX: \"hidden\",\n overflowY: \"hidden\",\n ...shorthands.padding(tokens.spacingElement1),\n \"& [cmdk-group-heading]\": {\n color: tokens.grayA11,\n paddingLeft: tokens.spacingElement2,\n paddingRight: tokens.spacingElement2,\n paddingTop: \"0.375rem\",\n paddingBottom: \"0.375rem\",\n fontSize: tokens.textXs,\n lineHeight: tokens.leadingXs,\n fontWeight: tokens.fontWeightMedium,\n },\n },\n separator: {\n backgroundColor: tokens.graySoft,\n marginLeft: `calc(-1 * ${tokens.spacingElement1})`,\n marginRight: `calc(-1 * ${tokens.spacingElement1})`,\n height: \"1px\",\n },\n item: {\n position: \"relative\",\n display: \"flex\",\n cursor: \"default\",\n alignItems: \"center\",\n ...shorthands.gap(tokens.spacingElement2),\n ...shorthands.borderRadius(tokens.radiusSm),\n paddingLeft: tokens.spacingElement2,\n paddingRight: tokens.spacingElement2,\n paddingTop: \"0.375rem\",\n paddingBottom: \"0.375rem\",\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n outlineStyle: \"none\",\n userSelect: \"none\",\n color: tokens.grayA12,\n \"&[data-selected='true'], &[aria-selected='true']\": {\n backgroundColor: tokens.accentA3,\n },\n \":hover\": {\n backgroundColor: tokens.accentA3,\n },\n \"&[data-disabled='true'], &[aria-disabled='true']\": {\n pointerEvents: \"none\",\n opacity: 0.5,\n },\n \"& svg\": {\n pointerEvents: \"none\",\n flexShrink: 0,\n width: \"1rem\",\n height: \"1rem\",\n },\n \"& svg:not([class*='text-'])\": {\n color: tokens.grayA11,\n },\n },\n shortcut: {\n color: tokens.grayA11,\n marginLeft: \"auto\",\n fontSize: tokens.textXs,\n lineHeight: tokens.leadingXs,\n letterSpacing: \"0.1em\",\n },\n loading: {\n color: tokens.grayA11,\n },\n dialogContent: {\n overflowX: \"hidden\",\n overflowY: \"hidden\",\n ...shorthands.padding(0),\n },\n dialogCommand: {\n \"& [cmdk-group-heading]\": {\n color: tokens.grayA11,\n paddingLeft: tokens.spacingElement2,\n paddingRight: tokens.spacingElement2,\n fontWeight: tokens.fontWeightMedium,\n },\n [`& [${SLOT_ATTR}=\"command-input-wrapper\"]`]: {\n height: \"3rem\",\n },\n \"& [cmdk-group]\": {\n paddingLeft: tokens.spacingElement2,\n paddingRight: tokens.spacingElement2,\n },\n \"& [cmdk-item]\": {\n paddingLeft: tokens.spacingElement2,\n paddingRight: tokens.spacingElement2,\n paddingTop: tokens.spacingElement3,\n paddingBottom: tokens.spacingElement3,\n },\n \"& [cmdk-item] svg\": {\n width: \"1.25rem\",\n height: \"1.25rem\",\n },\n \"& [cmdk-input-wrapper] svg\": {\n width: \"1.25rem\",\n height: \"1.25rem\",\n },\n \"& [cmdk-input]\": {\n height: \"3rem\",\n },\n },\n srOnly: {\n position: \"absolute\",\n width: \"1px\",\n height: \"1px\",\n paddingTop: 0,\n paddingBottom: 0,\n paddingLeft: 0,\n paddingRight: 0,\n marginTop: \"-1px\",\n marginBottom: \"-1px\",\n marginLeft: \"-1px\",\n marginRight: \"-1px\",\n overflowX: \"hidden\",\n overflowY: \"hidden\",\n clip: \"rect(0, 0, 0, 0)\",\n whiteSpace: \"nowrap\",\n ...shorthands.borderWidth(0),\n },\n})\n\n/**\n * never exported it and its only consumer is `field/field-combobox.tsx`, which builds its listbox\n * out of these pieces. This was a decision, not an oversight: a public Command is a surface nobody\n * has reviewed as public API, and exporting it after 0.1 is additive and non-breaking, whereas un-\n * exporting it would not be.\n * @internal not part of the 0.1 public API. Command is fully implemented and tested, but the barrel\n */\nexport type CommandProps = React.ComponentProps<typeof CommandPrimitive> & {\n \"data-slot\"?: string\n}\n\nexport const Command = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive>,\n CommandProps\n>(function Command(\n { className, \"data-slot\": dataSlot = \"command\", ...props },\n ref\n) {\n const styles = useStyles()\n\n return (\n <CommandPrimitive\n ref={ref}\n data-slot={dataSlot}\n {...{ [SLOT_ATTR]: dataSlot }}\n className={mergeClasses(styles.root, className)}\n {...props}\n />\n )\n})\n\nexport type CommandDialogProps = Omit<\n React.ComponentProps<typeof Dialog>,\n \"children\"\n> & {\n children?: React.ReactNode\n title?: string\n description?: string\n className?: string\n showCloseButton?: boolean\n}\n\nexport const CommandDialog = React.forwardRef<HTMLElement, CommandDialogProps>(\n function CommandDialog(\n {\n title = \"Command Palette\",\n description = \"Search for a command to run...\",\n children,\n className,\n showCloseButton = true,\n ...props\n },\n _ref\n ) {\n const styles = useStyles()\n\n return (\n <Dialog {...props}>\n <DialogHeader className={styles.srOnly}>\n <DialogTitle>{title}</DialogTitle>\n <DialogDescription>{description}</DialogDescription>\n </DialogHeader>\n <DialogContent\n className={mergeClasses(styles.dialogContent, className)}\n showCloseButton={showCloseButton}\n >\n <Command className={styles.dialogCommand}>{children}</Command>\n </DialogContent>\n </Dialog>\n )\n }\n)\n\nexport type CommandInputProps = React.ComponentProps<\n typeof CommandPrimitive.Input\n> & {\n wrapperClassName?: string\n}\n\nexport const CommandInput = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Input>,\n CommandInputProps\n>(function CommandInput({ className, wrapperClassName, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <div\n data-slot=\"command-input-wrapper\"\n {...{ [SLOT_ATTR]: \"command-input-wrapper\" }}\n className={mergeClasses(styles.inputWrapper, wrapperClassName)}\n >\n <SearchIcon className={styles.searchIcon} />\n <CommandPrimitive.Input\n ref={ref}\n data-slot=\"command-input\"\n {...{ [SLOT_ATTR]: \"command-input\" }}\n className={mergeClasses(styles.input, className)}\n {...props}\n />\n </div>\n )\n})\n\nexport type CommandListProps = React.ComponentProps<\n typeof CommandPrimitive.List\n>\n\nexport const CommandList = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.List>,\n CommandListProps\n>(function CommandList({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <CommandPrimitive.List\n ref={ref}\n data-slot=\"command-list\"\n {...{ [SLOT_ATTR]: \"command-list\" }}\n className={mergeClasses(styles.list, className)}\n {...props}\n />\n )\n})\n\nexport type CommandEmptyProps = React.ComponentProps<\n typeof CommandPrimitive.Empty\n>\n\nexport const CommandEmpty = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Empty>,\n CommandEmptyProps\n>(function CommandEmpty({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <CommandPrimitive.Empty\n ref={ref}\n data-slot=\"command-empty\"\n {...{ [SLOT_ATTR]: \"command-empty\" }}\n className={mergeClasses(styles.empty, className)}\n {...props}\n />\n )\n})\n\nexport type CommandGroupProps = React.ComponentProps<\n typeof CommandPrimitive.Group\n>\n\nexport const CommandGroup = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Group>,\n CommandGroupProps\n>(function CommandGroup({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <CommandPrimitive.Group\n ref={ref}\n data-slot=\"command-group\"\n {...{ [SLOT_ATTR]: \"command-group\" }}\n className={mergeClasses(styles.group, className)}\n {...props}\n />\n )\n})\n\nexport type CommandSeparatorProps = React.ComponentProps<\n typeof CommandPrimitive.Separator\n>\n\nexport const CommandSeparator = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Separator>,\n CommandSeparatorProps\n>(function CommandSeparator({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <CommandPrimitive.Separator\n ref={ref}\n data-slot=\"command-separator\"\n {...{ [SLOT_ATTR]: \"command-separator\" }}\n className={mergeClasses(styles.separator, className)}\n {...props}\n />\n )\n})\n\nexport type CommandItemProps = React.ComponentProps<\n typeof CommandPrimitive.Item\n>\n\nexport const CommandItem = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Item>,\n CommandItemProps\n>(function CommandItem({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <CommandPrimitive.Item\n ref={ref}\n data-slot=\"command-item\"\n {...{ [SLOT_ATTR]: \"command-item\" }}\n className={mergeClasses(styles.item, className)}\n {...props}\n />\n )\n})\n\nexport type CommandShortcutProps = React.ComponentProps<\"span\">\n\nexport const CommandShortcut = React.forwardRef<\n HTMLSpanElement,\n CommandShortcutProps\n>(function CommandShortcut({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <span\n ref={ref}\n data-slot=\"command-shortcut\"\n {...{ [SLOT_ATTR]: \"command-shortcut\" }}\n className={mergeClasses(styles.shortcut, className)}\n {...props}\n />\n )\n})\n\nexport type CommandLoadingProps = React.ComponentProps<\n typeof CommandPrimitive.Loading\n>\n\nexport const CommandLoading = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Loading>,\n CommandLoadingProps\n>(function CommandLoading({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <CommandPrimitive.Loading\n ref={ref}\n data-slot=\"command-loading\"\n {...{ [SLOT_ATTR]: \"command-loading\" }}\n className={mergeClasses(styles.loading, className)}\n {...props}\n />\n )\n})\n\nexport { Command as CommandRoot }\n"],"names":["SearchIcon","props","jsx","useStyles","makeZenithStyles","tokens.body","tokens.grayA12","shorthands","tokens.radiusMd","tokens.spacingElement2","tokens.grayA3","tokens.spacingElement3","tokens.textSm","tokens.leadingSm","tokens.focusRing","tokens.grayA11","tokens.spacingElement1","tokens.textXs","tokens.leadingXs","tokens.fontWeightMedium","tokens.graySoft","tokens.radiusSm","tokens.accentA3","SLOT_ATTR","Command","React","className","dataSlot","ref","styles","CommandPrimitive","mergeClasses","title","description","children","showCloseButton","_ref","jsxs","Dialog","DialogHeader","DialogTitle","DialogDescription","DialogContent","CommandInput","wrapperClassName","CommandList","CommandEmpty","CommandGroup","CommandSeparator","CommandItem","CommandLoading"],"mappings":"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"}
|
|
@@ -1,84 +1,138 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import * as
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
1
|
+
import { jsx as t, jsxs as j } from "react/jsx-runtime";
|
|
2
|
+
import * as k from "react";
|
|
3
|
+
import { SLOT_ATTR as l, shorthands as h } from "@epilot/zenith-runtime/v1";
|
|
4
|
+
import { makeZenithStyles as A } from "../../styles/make-styles.js";
|
|
5
|
+
import { grayA11 as E } from "../../tokens/index.js";
|
|
6
|
+
import { TableBody as n, TableRow as R, TableCell as S } from "../table/table.js";
|
|
6
7
|
import { DataTableRow as v } from "./data-table-row.js";
|
|
7
|
-
import { DataTableLoading as
|
|
8
|
-
import { useDataTable as
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
const
|
|
8
|
+
import { DataTableLoading as H } from "./data-table-loading.js";
|
|
9
|
+
import { useDataTable as O } from "./hooks/use-data-table.js";
|
|
10
|
+
import { useDataTableVirtualizer as P } from "./hooks/use-data-table-virtualizer.js";
|
|
11
|
+
import { useDataTableContent as _ } from "./hooks/use-data-table-content.js";
|
|
12
|
+
const z = A({
|
|
12
13
|
stateCell: {
|
|
13
14
|
height: "12rem",
|
|
14
|
-
color:
|
|
15
|
+
color: E
|
|
16
|
+
},
|
|
17
|
+
paddingRow: {
|
|
18
|
+
...h.borderWidth(0),
|
|
19
|
+
"&:hover": {
|
|
20
|
+
backgroundColor: "transparent"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
paddingCell: {
|
|
24
|
+
...h.padding(0),
|
|
25
|
+
...h.borderWidth(0)
|
|
15
26
|
}
|
|
16
27
|
});
|
|
17
|
-
function
|
|
18
|
-
|
|
19
|
-
children: t
|
|
28
|
+
function C({ height: i, colSpan: a }) {
|
|
29
|
+
const e = z();
|
|
30
|
+
return /* @__PURE__ */ t(R, { noHover: !0, className: e.paddingRow, children: /* @__PURE__ */ t(
|
|
31
|
+
S,
|
|
32
|
+
{
|
|
33
|
+
colSpan: a,
|
|
34
|
+
className: e.paddingCell,
|
|
35
|
+
style: { height: i, padding: 0, border: 0 }
|
|
36
|
+
}
|
|
37
|
+
) });
|
|
38
|
+
}
|
|
39
|
+
function u({
|
|
40
|
+
colSpan: i,
|
|
41
|
+
children: a
|
|
20
42
|
}) {
|
|
21
|
-
const
|
|
22
|
-
return /* @__PURE__ */
|
|
43
|
+
const e = z();
|
|
44
|
+
return /* @__PURE__ */ t(R, { noHover: !0, children: /* @__PURE__ */ t(S, { colSpan: i, align: "center", className: e.stateCell, children: a }) });
|
|
23
45
|
}
|
|
24
|
-
const
|
|
25
|
-
className:
|
|
26
|
-
emptyState:
|
|
27
|
-
loadingState:
|
|
28
|
-
isLoading:
|
|
29
|
-
errorState:
|
|
30
|
-
isError:
|
|
31
|
-
},
|
|
32
|
-
|
|
33
|
-
|
|
46
|
+
const U = k.forwardRef(function({
|
|
47
|
+
className: a,
|
|
48
|
+
emptyState: e,
|
|
49
|
+
loadingState: x,
|
|
50
|
+
isLoading: V = !1,
|
|
51
|
+
errorState: p,
|
|
52
|
+
isError: f = !1
|
|
53
|
+
}, o) {
|
|
54
|
+
var T, D;
|
|
55
|
+
const { table: g } = O(), s = P(), m = _(), W = (m == null ? void 0 : m.spacerWidth) ?? 0, b = g.getRowModel().rows, d = g.getVisibleLeafColumns().length + (W > 0 ? 1 : 0);
|
|
56
|
+
if (process.env.NODE_ENV !== "production" && f && !p && console.warn(
|
|
34
57
|
"DataTableBody: isError is true but no errorState was provided. Please provide an errorState prop to display error content."
|
|
35
|
-
),
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
58
|
+
), f && p)
|
|
59
|
+
return /* @__PURE__ */ t(
|
|
60
|
+
n,
|
|
61
|
+
{
|
|
62
|
+
ref: o,
|
|
63
|
+
"data-slot": "data-table-body",
|
|
64
|
+
[l]: "data-table-body",
|
|
65
|
+
"data-fs-element": "DataTable-Body",
|
|
66
|
+
"data-state": "error",
|
|
67
|
+
className: a,
|
|
68
|
+
children: /* @__PURE__ */ t(u, { colSpan: d, children: p })
|
|
69
|
+
}
|
|
70
|
+
);
|
|
71
|
+
if (V)
|
|
72
|
+
return /* @__PURE__ */ t(
|
|
73
|
+
n,
|
|
74
|
+
{
|
|
75
|
+
ref: o,
|
|
76
|
+
"data-slot": "data-table-body",
|
|
77
|
+
[l]: "data-table-body",
|
|
78
|
+
"data-fs-element": "DataTable-Body",
|
|
79
|
+
"data-state": "loading",
|
|
80
|
+
className: a,
|
|
81
|
+
"aria-busy": "true",
|
|
82
|
+
children: /* @__PURE__ */ t(u, { colSpan: d, children: x ?? /* @__PURE__ */ t(H, {}) })
|
|
83
|
+
}
|
|
84
|
+
);
|
|
85
|
+
if (!b.length)
|
|
86
|
+
return /* @__PURE__ */ t(
|
|
87
|
+
n,
|
|
88
|
+
{
|
|
89
|
+
ref: o,
|
|
90
|
+
"data-slot": "data-table-body",
|
|
91
|
+
[l]: "data-table-body",
|
|
92
|
+
"data-fs-element": "DataTable-Body",
|
|
93
|
+
"data-state": "empty",
|
|
94
|
+
className: a,
|
|
95
|
+
children: /* @__PURE__ */ t(u, { colSpan: d, children: e })
|
|
96
|
+
}
|
|
97
|
+
);
|
|
98
|
+
if (s != null && s.virtualizer) {
|
|
99
|
+
const { virtualizer: r } = s, c = r.getVirtualItems(), L = r.getTotalSize(), w = ((T = c[0]) == null ? void 0 : T.start) ?? 0, B = L - (((D = c[c.length - 1]) == null ? void 0 : D.end) ?? 0);
|
|
100
|
+
return /* @__PURE__ */ j(
|
|
101
|
+
n,
|
|
102
|
+
{
|
|
103
|
+
ref: o,
|
|
104
|
+
"data-slot": "data-table-body",
|
|
105
|
+
[l]: "data-table-body",
|
|
106
|
+
"data-fs-element": "DataTable-Body",
|
|
107
|
+
className: a,
|
|
108
|
+
children: [
|
|
109
|
+
w > 0 && /* @__PURE__ */ t(C, { height: w, colSpan: d }),
|
|
110
|
+
c.map((y) => /* @__PURE__ */ t(
|
|
111
|
+
v,
|
|
112
|
+
{
|
|
113
|
+
row: b[y.index],
|
|
114
|
+
style: { height: `${y.size}px` }
|
|
115
|
+
},
|
|
116
|
+
b[y.index].id
|
|
117
|
+
)),
|
|
118
|
+
B > 0 && /* @__PURE__ */ t(C, { height: B, colSpan: d })
|
|
119
|
+
]
|
|
120
|
+
}
|
|
121
|
+
);
|
|
122
|
+
}
|
|
123
|
+
return /* @__PURE__ */ t(
|
|
124
|
+
n,
|
|
70
125
|
{
|
|
71
|
-
ref:
|
|
126
|
+
ref: o,
|
|
72
127
|
"data-slot": "data-table-body",
|
|
73
128
|
[l]: "data-table-body",
|
|
74
129
|
"data-fs-element": "DataTable-Body",
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
children: /* @__PURE__ */ a(i, { colSpan: s, children: r })
|
|
130
|
+
className: a,
|
|
131
|
+
children: b.map((r) => /* @__PURE__ */ t(v, { row: r }, r.id))
|
|
78
132
|
}
|
|
79
133
|
);
|
|
80
134
|
});
|
|
81
135
|
export {
|
|
82
|
-
|
|
136
|
+
U as DataTableBody
|
|
83
137
|
};
|
|
84
138
|
//# sourceMappingURL=data-table-body.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-table-body.js","sources":["../../../src/components/data-table/data-table-body.tsx"],"sourcesContent":["import * as React from \"react\"\nimport type { ReactNode } from \"react\"\n\nimport { SLOT_ATTR } from \"../../renderer/contract\"\nimport { makeZenithStyles } from \"../../styles/make-styles\"\nimport * as tokens from \"../../tokens\"\nimport { TableBody, TableRow, TableCell } from \"../table/table\"\nimport {
|
|
1
|
+
{"version":3,"file":"data-table-body.js","sources":["../../../src/components/data-table/data-table-body.tsx"],"sourcesContent":["import * as React from \"react\"\nimport type { ReactNode } from \"react\"\nimport { shorthands } from \"@epilot/zenith-runtime/v1\"\n\nimport { SLOT_ATTR } from \"../../renderer/contract\"\nimport { makeZenithStyles } from \"../../styles/make-styles\"\nimport * as tokens from \"../../tokens\"\nimport { TableBody, TableRow, TableCell } from \"../table/table\"\nimport {\n useDataTable,\n useDataTableContent,\n useDataTableVirtualizer,\n} from \"./hooks\"\nimport { DataTableRow } from \"./data-table-row\"\nimport { DataTableLoading } from \"./data-table-loading\"\n\nconst useStyles = makeZenithStyles({\n stateCell: {\n height: \"12rem\",\n color: tokens.grayA11,\n },\n paddingRow: {\n ...shorthands.borderWidth(0),\n \"&:hover\": {\n backgroundColor: \"transparent\",\n },\n },\n paddingCell: {\n ...shorthands.padding(0),\n ...shorthands.borderWidth(0),\n },\n})\n\nexport type DataTableBodyProps = {\n /** Additional class name */\n className?: string\n /** Custom empty state content */\n emptyState?: ReactNode\n /** Loading state content (shown when isLoading is true) */\n loadingState?: ReactNode\n /** Whether the table is in loading state */\n isLoading?: boolean\n /** Error state content (shown when isError is true) */\n errorState?: ReactNode\n /** Whether the table is in error state */\n isError?: boolean\n}\n\n/**\n * Internal component for padding rows in virtualized tables.\n */\nfunction PaddingRow({ height, colSpan }: { height: number; colSpan: number }) {\n const styles = useStyles()\n return (\n <TableRow noHover className={styles.paddingRow}>\n <TableCell\n colSpan={colSpan}\n className={styles.paddingCell}\n style={{ height, padding: 0, border: 0 }}\n />\n </TableRow>\n )\n}\n\n/**\n * Internal component for state display (loading/error/empty).\n */\nfunction DataTableStateDisplay({\n colSpan,\n children,\n}: {\n colSpan: number\n children?: ReactNode\n}) {\n const styles = useStyles()\n\n return (\n <TableRow noHover>\n <TableCell colSpan={colSpan} align=\"center\" className={styles.stateCell}>\n {children}\n </TableCell>\n </TableRow>\n )\n}\n\n/**\n * Renders the table body with rows.\n * Automatically handles virtualization when used within a DataTableContent with virtualization enabled.\n * Must be used within a DataTable component.\n */\nexport const DataTableBody = React.forwardRef<\n HTMLTableSectionElement,\n DataTableBodyProps\n>(function DataTableBody(\n {\n className,\n emptyState,\n loadingState,\n isLoading = false,\n errorState,\n isError = false,\n },\n ref\n) {\n const { table } = useDataTable()\n const virtualizerContext = useDataTableVirtualizer()\n const contentContext = useDataTableContent()\n const spacerWidth = contentContext?.spacerWidth ?? 0\n\n const rows = table.getRowModel().rows\n const visibleColumns = table.getVisibleLeafColumns()\n const colSpan = visibleColumns.length + (spacerWidth > 0 ? 1 : 0)\n\n // Warn if isError is true but no errorState is provided\n if (process.env.NODE_ENV !== \"production\" && isError && !errorState) {\n console.warn(\n \"DataTableBody: isError is true but no errorState was provided. \" +\n \"Please provide an errorState prop to display error content.\"\n )\n }\n\n // Priority: Error > Loading > Empty > Data\n\n // Error state\n if (isError && errorState) {\n return (\n <TableBody\n ref={ref}\n data-slot=\"data-table-body\"\n {...{ [SLOT_ATTR]: \"data-table-body\" }}\n data-fs-element=\"DataTable-Body\"\n data-state=\"error\"\n className={className}\n >\n <DataTableStateDisplay colSpan={colSpan}>\n {errorState}\n </DataTableStateDisplay>\n </TableBody>\n )\n }\n\n // Loading state\n if (isLoading) {\n return (\n <TableBody\n ref={ref}\n data-slot=\"data-table-body\"\n {...{ [SLOT_ATTR]: \"data-table-body\" }}\n data-fs-element=\"DataTable-Body\"\n data-state=\"loading\"\n className={className}\n aria-busy=\"true\"\n >\n <DataTableStateDisplay colSpan={colSpan}>\n {loadingState ?? <DataTableLoading />}\n </DataTableStateDisplay>\n </TableBody>\n )\n }\n\n // Empty state\n if (!rows.length) {\n return (\n <TableBody\n ref={ref}\n data-slot=\"data-table-body\"\n {...{ [SLOT_ATTR]: \"data-table-body\" }}\n data-fs-element=\"DataTable-Body\"\n data-state=\"empty\"\n className={className}\n >\n <DataTableStateDisplay colSpan={colSpan}>\n {emptyState}\n </DataTableStateDisplay>\n </TableBody>\n )\n }\n\n // Virtualized rendering\n if (virtualizerContext?.virtualizer) {\n const { virtualizer } = virtualizerContext\n const virtualRows = virtualizer.getVirtualItems()\n const totalSize = virtualizer.getTotalSize()\n const paddingTop = virtualRows[0]?.start ?? 0\n const paddingBottom =\n totalSize - (virtualRows[virtualRows.length - 1]?.end ?? 0)\n\n return (\n <TableBody\n ref={ref}\n data-slot=\"data-table-body\"\n {...{ [SLOT_ATTR]: \"data-table-body\" }}\n data-fs-element=\"DataTable-Body\"\n className={className}\n >\n {paddingTop > 0 && <PaddingRow height={paddingTop} colSpan={colSpan} />}\n {virtualRows.map((virtualRow) => (\n <DataTableRow\n key={rows[virtualRow.index].id}\n row={rows[virtualRow.index]}\n style={{ height: `${virtualRow.size}px` }}\n />\n ))}\n {paddingBottom > 0 && (\n <PaddingRow height={paddingBottom} colSpan={colSpan} />\n )}\n </TableBody>\n )\n }\n\n // Standard rendering\n return (\n <TableBody\n ref={ref}\n data-slot=\"data-table-body\"\n {...{ [SLOT_ATTR]: \"data-table-body\" }}\n data-fs-element=\"DataTable-Body\"\n className={className}\n >\n {rows.map((row) => (\n <DataTableRow key={row.id} row={row} />\n ))}\n </TableBody>\n )\n})\n"],"names":["useStyles","makeZenithStyles","tokens.grayA11","shorthands","PaddingRow","height","colSpan","styles","TableRow","jsx","TableCell","DataTableStateDisplay","children","DataTableBody","React","className","emptyState","loadingState","isLoading","errorState","isError","ref","table","useDataTable","virtualizerContext","useDataTableVirtualizer","contentContext","useDataTableContent","spacerWidth","rows","TableBody","SLOT_ATTR","DataTableLoading","virtualizer","virtualRows","totalSize","paddingTop","_a","paddingBottom","_b","jsxs","virtualRow","DataTableRow","row"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx as o, jsxs as n } from "react/jsx-runtime";
|
|
2
2
|
import * as l from "react";
|
|
3
|
-
import { mergeClasses as h, SLOT_ATTR as g, shorthands as
|
|
3
|
+
import { mergeClasses as h, SLOT_ATTR as g, shorthands as s } from "@epilot/zenith-runtime/v1";
|
|
4
4
|
import { makeZenithStyles as p } from "../../styles/make-styles.js";
|
|
5
|
-
import { accent11 as m, accentA8 as u,
|
|
5
|
+
import { accent11 as m, accentA8 as u, accentSoft as w, spacingElement1 as c, radiusLg as k } from "../../tokens/index.js";
|
|
6
6
|
const f = (e) => /* @__PURE__ */ n(
|
|
7
7
|
"svg",
|
|
8
8
|
{
|
|
@@ -62,9 +62,9 @@ const f = (e) => /* @__PURE__ */ n(
|
|
|
62
62
|
display: "inline-flex",
|
|
63
63
|
alignItems: "center",
|
|
64
64
|
gap: c,
|
|
65
|
-
...
|
|
66
|
-
...
|
|
67
|
-
...
|
|
65
|
+
...s.paddingBlock("0.125rem"),
|
|
66
|
+
...s.paddingInline(c),
|
|
67
|
+
...s.borderRadius(k),
|
|
68
68
|
cursor: "pointer",
|
|
69
69
|
transitionProperty: "color, background-color, border-color",
|
|
70
70
|
transitionDuration: "150ms",
|
|
@@ -103,8 +103,8 @@ function x({ column: e, title: t, className: a }, d) {
|
|
|
103
103
|
[g]: "data-table-column-header",
|
|
104
104
|
"data-fs-element": "DataTable-SortButton",
|
|
105
105
|
onClick: () => e.toggleSorting(),
|
|
106
|
-
onKeyDown: (
|
|
107
|
-
(
|
|
106
|
+
onKeyDown: (i) => {
|
|
107
|
+
(i.key === "Enter" || i.key === " ") && (i.preventDefault(), e.toggleSorting());
|
|
108
108
|
},
|
|
109
109
|
"aria-label": e.getIsSorted() === "asc" ? `${t}, sorted ascending. Click to sort descending.` : e.getIsSorted() === "desc" ? `${t}, sorted descending. Click to remove sorting.` : `${t}. Click to sort ascending.`,
|
|
110
110
|
className: h(r.button, a),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-table-column-header.js","sources":["../../../src/components/data-table/data-table-column-header.tsx"],"sourcesContent":["import * as React from \"react\"\nimport type { SVGProps } from \"react\"\nimport type { Column } from \"@tanstack/react-table\"\nimport { mergeClasses, shorthands } from \"@epilot/zenith-runtime/v1\"\n\nimport { SLOT_ATTR } from \"../../renderer/contract\"\nimport { makeZenithStyles } from \"../../styles/make-styles\"\nimport * as tokens from \"../../tokens\"\n\n// Sort icons\nconst IconArrowUp = (props: SVGProps<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n {...props}\n >\n <path d=\"m5 12 7-7 7 7\" />\n <path d=\"M12 19V5\" />\n </svg>\n)\n\nconst IconArrowDown = (props: SVGProps<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n {...props}\n >\n <path d=\"M12 5v14\" />\n <path d=\"m19 12-7 7-7-7\" />\n </svg>\n)\n\nconst IconArrowsSort = (props: SVGProps<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n {...props}\n >\n <path d=\"m7 15 5 5 5-5\" />\n <path d=\"m7 9 5-5 5 5\" />\n </svg>\n)\n\nconst useStyles = makeZenithStyles({\n button: {\n display: \"inline-flex\",\n alignItems: \"center\",\n gap: tokens.spacingElement1,\n ...shorthands.paddingBlock(\"0.125rem\"),\n ...shorthands.paddingInline(tokens.spacingElement1),\n ...shorthands.borderRadius(tokens.radiusLg),\n cursor: \"pointer\",\n transitionProperty: \"color, background-color, border-color\",\n transitionDuration: \"150ms\",\n \":hover\": {\n backgroundColor: tokens.
|
|
1
|
+
{"version":3,"file":"data-table-column-header.js","sources":["../../../src/components/data-table/data-table-column-header.tsx"],"sourcesContent":["import * as React from \"react\"\nimport type { SVGProps } from \"react\"\nimport type { Column } from \"@tanstack/react-table\"\nimport { mergeClasses, shorthands } from \"@epilot/zenith-runtime/v1\"\n\nimport { SLOT_ATTR } from \"../../renderer/contract\"\nimport { makeZenithStyles } from \"../../styles/make-styles\"\nimport * as tokens from \"../../tokens\"\n\n// Sort icons\nconst IconArrowUp = (props: SVGProps<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n {...props}\n >\n <path d=\"m5 12 7-7 7 7\" />\n <path d=\"M12 19V5\" />\n </svg>\n)\n\nconst IconArrowDown = (props: SVGProps<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n {...props}\n >\n <path d=\"M12 5v14\" />\n <path d=\"m19 12-7 7-7-7\" />\n </svg>\n)\n\nconst IconArrowsSort = (props: SVGProps<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n {...props}\n >\n <path d=\"m7 15 5 5 5-5\" />\n <path d=\"m7 9 5-5 5 5\" />\n </svg>\n)\n\nconst useStyles = makeZenithStyles({\n button: {\n display: \"inline-flex\",\n alignItems: \"center\",\n gap: tokens.spacingElement1,\n ...shorthands.paddingBlock(\"0.125rem\"),\n ...shorthands.paddingInline(tokens.spacingElement1),\n ...shorthands.borderRadius(tokens.radiusLg),\n cursor: \"pointer\",\n transitionProperty: \"color, background-color, border-color\",\n transitionDuration: \"150ms\",\n \":hover\": {\n backgroundColor: tokens.accentSoft,\n },\n \":focus-visible\": {\n outlineWidth: \"2px\",\n outlineStyle: \"solid\",\n outlineOffset: \"2px\",\n outlineColor: tokens.accentA8,\n },\n },\n iconActive: {\n width: \"1rem\",\n height: \"1rem\",\n color: tokens.accent11,\n flexShrink: 0,\n },\n iconUnsorted: {\n width: \"1rem\",\n height: \"1rem\",\n opacity: 0.4,\n flexShrink: 0,\n },\n})\n\nexport type DataTableColumnHeaderProps<TData = unknown, TValue = unknown> = {\n /** The column instance from Tanstack Table */\n column: Column<TData, TValue>\n /** The header title to display */\n title: string\n /** Additional class name */\n className?: string\n}\n\nfunction DataTableColumnHeaderInner<TData, TValue>(\n { column, title, className }: DataTableColumnHeaderProps<TData, TValue>,\n ref: React.ForwardedRef<HTMLSpanElement>\n) {\n const styles = useStyles()\n\n if (!column.getCanSort()) {\n return (\n <span ref={ref} className={className}>\n {title}\n </span>\n )\n }\n\n return (\n <span\n ref={ref}\n role=\"button\"\n tabIndex={0}\n data-slot=\"data-table-column-header\"\n {...{ [SLOT_ATTR]: \"data-table-column-header\" }}\n data-fs-element=\"DataTable-SortButton\"\n onClick={() => column.toggleSorting()}\n onKeyDown={(e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault()\n column.toggleSorting()\n }\n }}\n aria-label={\n column.getIsSorted() === \"asc\"\n ? `${title}, sorted ascending. Click to sort descending.`\n : column.getIsSorted() === \"desc\"\n ? `${title}, sorted descending. Click to remove sorting.`\n : `${title}. Click to sort ascending.`\n }\n className={mergeClasses(styles.button, className)}\n >\n {title}\n {column.getIsSorted() === \"asc\" && (\n <IconArrowUp className={styles.iconActive} />\n )}\n {column.getIsSorted() === \"desc\" && (\n <IconArrowDown className={styles.iconActive} />\n )}\n {!column.getIsSorted() && (\n <IconArrowsSort className={styles.iconUnsorted} />\n )}\n </span>\n )\n}\n\nexport const DataTableColumnHeader = React.forwardRef(\n DataTableColumnHeaderInner\n) as <TData = unknown, TValue = unknown>(\n props: DataTableColumnHeaderProps<TData, TValue> & {\n ref?: React.Ref<HTMLSpanElement>\n }\n) => React.ReactElement | null\n"],"names":["IconArrowUp","props","jsxs","jsx","IconArrowDown","IconArrowsSort","useStyles","makeZenithStyles","tokens.spacingElement1","shorthands","tokens.radiusLg","tokens.accentSoft","tokens.accentA8","tokens.accent11","DataTableColumnHeaderInner","column","title","className","ref","styles","SLOT_ATTR","e","mergeClasses","DataTableColumnHeader","React"],"mappings":"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"}
|