@bigbinary/neeto-atoms 1.0.26 → 1.0.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/dist/{DataTable-DYam_kUE.js → DataTable-pZm7R5rm.js} +41 -10
  2. package/dist/{DataTable-DYam_kUE.js.map → DataTable-pZm7R5rm.js.map} +1 -1
  3. package/dist/{DatePicker-RvdQv1LE.js → DatePicker-C5DROLCX.js} +36 -5
  4. package/dist/{DatePicker-RvdQv1LE.js.map → DatePicker-C5DROLCX.js.map} +1 -1
  5. package/dist/{TimePicker-C4x62jI1.js → TimePicker-2vhf5yYK.js} +5 -1
  6. package/dist/TimePicker-2vhf5yYK.js.map +1 -0
  7. package/dist/cjs/{DataTable-BBxgDBnO.js → DataTable-XA82zdPA.js} +41 -10
  8. package/dist/cjs/DataTable-XA82zdPA.js.map +1 -0
  9. package/dist/cjs/{DatePicker-CA113xZV.js → DatePicker-aFQ4yEf1.js} +36 -5
  10. package/dist/cjs/{DatePicker-CA113xZV.js.map → DatePicker-aFQ4yEf1.js.map} +1 -1
  11. package/dist/cjs/{TimePicker-Ba2FdT1O.js → TimePicker-DReL0GSv.js} +5 -1
  12. package/dist/cjs/TimePicker-DReL0GSv.js.map +1 -0
  13. package/dist/cjs/components/DataTable.js +11 -6
  14. package/dist/cjs/components/DataTable.js.map +1 -1
  15. package/dist/cjs/components/DatePicker.js +1 -1
  16. package/dist/cjs/components/TimePicker.js +1 -1
  17. package/dist/cjs/components/index.js +3 -3
  18. package/dist/cjs/index.js +3 -3
  19. package/dist/cjs/primitives/Table.js +2 -2
  20. package/dist/cjs/primitives/Table.js.map +1 -1
  21. package/dist/components/DataTable.js +11 -6
  22. package/dist/components/DataTable.js.map +1 -1
  23. package/dist/components/DatePicker/utils.d.ts +4 -0
  24. package/dist/components/DatePicker.js +1 -1
  25. package/dist/components/TimePicker.js +1 -1
  26. package/dist/components/index.js +3 -3
  27. package/dist/index.js +3 -3
  28. package/dist/primitives/Table.d.ts +2 -2
  29. package/dist/primitives/Table.js +2 -2
  30. package/dist/primitives/Table.js.map +1 -1
  31. package/package.json +1 -1
  32. package/dist/TimePicker-C4x62jI1.js.map +0 -1
  33. package/dist/cjs/DataTable-BBxgDBnO.js.map +0 -1
  34. package/dist/cjs/TimePicker-Ba2FdT1O.js.map +0 -1
@@ -38,6 +38,10 @@ const TimePicker = forwardRef(({ value, onChange, format = "24", showSeconds = f
38
38
  return null;
39
39
  if (value instanceof Date)
40
40
  return dateToTimeValue(value);
41
+ if (typeof value.toDate ===
42
+ "function") {
43
+ return dateToTimeValue(value.toDate());
44
+ }
41
45
  return {
42
46
  hours: value.hours,
43
47
  minutes: value.minutes,
@@ -139,4 +143,4 @@ const TimePicker = forwardRef(({ value, onChange, format = "24", showSeconds = f
139
143
  TimePicker.displayName = "TimePicker";
140
144
 
141
145
  export { TimePicker as T };
142
- //# sourceMappingURL=TimePicker-C4x62jI1.js.map
146
+ //# sourceMappingURL=TimePicker-2vhf5yYK.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimePicker-2vhf5yYK.js","sources":["../node_modules/lucide-react/dist/esm/icons/clock.js","../src/components/TimePicker/TimePicker.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.577.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"path\", { d: \"M12 6v6l4 2\", key: \"mmk7yg\" }]\n];\nconst Clock = createLucideIcon(\"clock\", __iconNode);\n\nexport { __iconNode, Clock as default };\n//# sourceMappingURL=clock.js.map\n","import React, {\n forwardRef,\n useCallback,\n useEffect,\n useId,\n useRef,\n useState,\n} from \"react\";\n\nimport { Clock, X } from \"lucide-react\";\nimport { Popover, PopoverAnchor, PopoverContent } from \"src/primitives/Popover\";\nimport {\n Field,\n FieldLabel,\n FieldContent,\n FieldDescription,\n FieldError,\n} from \"src/primitives/Field\";\nimport { cn } from \"src/shadcn/lib/utils\";\n\nimport { TimePickerPanel } from \"./TimePickerPanel\";\nimport type { TimePickerProps, TimeValue } from \"./types\";\nimport { dateToTimeValue, padNumber, parseTimeString, to12Hour } from \"./utils\";\n\nconst SIZE_CONFIG = {\n small: { trigger: \"h-7 text-xs\", icon: \"size-3.5\" },\n medium: { trigger: \"h-8 text-sm\", icon: \"size-4\" },\n large: { trigger: \"h-10 text-sm\", icon: \"size-4\" },\n} as const;\n\nconst TimePicker = forwardRef<HTMLDivElement, TimePickerProps>(\n (\n {\n value,\n onChange,\n format = \"24\",\n showSeconds = false,\n minuteStep = 1,\n secondStep = 1,\n disabled = false,\n placeholder,\n label,\n error,\n helpText,\n size = \"medium\",\n required = false,\n timezone,\n labelProps,\n className,\n },\n ref\n ) => {\n const generatedId = useId();\n const errorId = `error_${generatedId}`;\n const helpTextId = `helpText_${generatedId}`;\n const containerRef = useRef<HTMLDivElement>(null);\n const popoverContentId = useRef(\n `timepicker-popover-${generatedId}`\n ).current;\n\n const [open, setOpen] = useState(false);\n\n const getInitialTime = useCallback((): TimeValue | null => {\n if (!value) return null;\n if (value instanceof Date) return dateToTimeValue(value);\n if (\n typeof (value as unknown as { toDate?: () => Date }).toDate ===\n \"function\"\n ) {\n return dateToTimeValue(\n (value as unknown as { toDate: () => Date }).toDate()\n );\n }\n\n return {\n hours: (value as TimeValue).hours,\n minutes: (value as TimeValue).minutes,\n seconds: (value as TimeValue).seconds ?? 0,\n };\n }, [value]);\n\n const [internalTime, setInternalTime] = useState<TimeValue | null>(\n getInitialTime\n );\n const [inputText, setInputText] = useState(\"\");\n\n const formatTimeDisplay = useCallback(\n (time: TimeValue | null): string => {\n if (!time) return \"\";\n\n if (format === \"12\") {\n const { hour12, period } = to12Hour(time.hours);\n const parts = [padNumber(hour12), padNumber(time.minutes)];\n if (showSeconds) parts.push(padNumber(time.seconds ?? 0));\n\n return `${parts.join(\":\")} ${period}`;\n }\n\n const parts = [padNumber(time.hours), padNumber(time.minutes)];\n if (showSeconds) parts.push(padNumber(time.seconds ?? 0));\n\n return parts.join(\":\");\n },\n [format, showSeconds]\n );\n\n useEffect(() => {\n const newTime = getInitialTime();\n setInternalTime(newTime);\n setInputText(formatTimeDisplay(newTime));\n }, [getInitialTime, formatTimeDisplay]);\n\n // Close on outside click\n useEffect(() => {\n if (!open) return;\n\n const handlePointerDown = (e: PointerEvent) => {\n const target = e.target as HTMLElement;\n if (containerRef.current?.contains(target)) return;\n\n const popoverEl = document.getElementById(popoverContentId);\n if (popoverEl?.contains(target)) return;\n\n setOpen(false);\n setInputText(formatTimeDisplay(internalTime));\n };\n\n document.addEventListener(\"pointerdown\", handlePointerDown);\n\n return () =>\n document.removeEventListener(\"pointerdown\", handlePointerDown);\n }, [open, internalTime, formatTimeDisplay]);\n\n const defaultPlaceholder = showSeconds\n ? format === \"12\"\n ? \"hh:mm:ss AA\"\n : \"HH:mm:ss\"\n : format === \"12\"\n ? \"hh:mm AA\"\n : \"HH:mm\";\n\n const handlePanelChange = (time: TimeValue) => {\n setInternalTime(time);\n setInputText(formatTimeDisplay(time));\n onChange?.(time);\n };\n\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const text = e.target.value;\n setInputText(text);\n\n const parsed = parseTimeString(text, format);\n if (parsed) {\n setInternalTime(parsed);\n onChange?.(parsed);\n }\n };\n\n const handleInputKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === \"Enter\") {\n setInputText(formatTimeDisplay(internalTime));\n setOpen(false);\n } else if (e.key === \"Escape\") {\n setInputText(formatTimeDisplay(internalTime));\n setOpen(false);\n }\n };\n\n const handleInputFocus = () => {\n if (!open) setOpen(true);\n };\n\n const handleClear = (e: React.MouseEvent) => {\n e.stopPropagation();\n e.preventDefault();\n setInternalTime(null);\n setInputText(\"\");\n onChange?.({ hours: 0, minutes: 0, seconds: 0 });\n };\n\n const hasField = !!(label || error || helpText);\n const sizeConfig = SIZE_CONFIG[size];\n\n const ariaDescribedBy =\n [error ? errorId : null, helpText ? helpTextId : null]\n .filter(Boolean)\n .join(\" \") || undefined;\n\n const triggerContent = (\n <Popover open={open}>\n <PopoverAnchor asChild>\n <div\n ref={containerRef}\n className={cn(\n \"relative flex w-full items-center gap-2 rounded-md border border-input bg-background pe-8 ps-3\",\n \"focus-within:ring-2 focus-within:ring-ring focus-within:ring-offset-2\",\n disabled && \"cursor-not-allowed opacity-50\",\n !!error && \"border-destructive ring-destructive/20 ring-3\",\n sizeConfig.trigger,\n !hasField && className\n )}\n >\n {timezone ? (\n <span className=\"shrink-0 rounded bg-muted px-1.5 py-0.5 text-xs text-muted-foreground\">\n {timezone.toUpperCase()}\n </span>\n ) : (\n <Clock\n className={cn(\n \"shrink-0 text-muted-foreground\",\n sizeConfig.icon\n )}\n />\n )}\n <input\n type=\"text\"\n disabled={disabled}\n aria-label={label || \"Pick a time\"}\n aria-describedby={ariaDescribedBy}\n aria-invalid={!!error || undefined}\n placeholder={placeholder ?? defaultPlaceholder}\n value={inputText}\n onChange={handleInputChange}\n onKeyDown={handleInputKeyDown}\n onFocus={handleInputFocus}\n className={cn(\n \"min-w-0 flex-1 bg-transparent outline-none placeholder:text-muted-foreground\",\n \"disabled:cursor-not-allowed\",\n sizeConfig.trigger.split(\" \").find(c => c.startsWith(\"text-\"))\n )}\n />\n <button\n type=\"button\"\n onPointerDown={e => e.preventDefault()}\n onClick={handleClear}\n className={cn(\n \"absolute inset-y-0 end-2 flex items-center text-muted-foreground hover:text-foreground focus:outline-none\",\n !(inputText && !disabled) && \"invisible\"\n )}\n aria-label=\"Clear time\"\n tabIndex={-1}\n >\n <X className={sizeConfig.icon} />\n </button>\n </div>\n </PopoverAnchor>\n {open && (\n <PopoverContent\n id={popoverContentId}\n className=\"w-auto p-0\"\n align=\"start\"\n onOpenAutoFocus={e => e.preventDefault()}\n onCloseAutoFocus={e => e.preventDefault()}\n onPointerDownOutside={e => e.preventDefault()}\n onInteractOutside={e => e.preventDefault()}\n >\n <TimePickerPanel\n value={internalTime ?? undefined}\n onChange={handlePanelChange}\n format={format}\n showSeconds={showSeconds}\n minuteStep={minuteStep}\n secondStep={secondStep}\n disabled={disabled}\n />\n </PopoverContent>\n )}\n </Popover>\n );\n\n if (!hasField) {\n return (\n <div ref={ref} className={className}>\n {triggerContent}\n </div>\n );\n }\n\n return (\n <Field\n ref={ref}\n data-disabled={disabled || undefined}\n data-invalid={!!error || undefined}\n className={className}\n >\n {label && (\n <FieldLabel\n {...(labelProps as React.ComponentProps<typeof FieldLabel>)}\n >\n {label}\n {required && (\n <span aria-hidden=\"true\" className=\"text-destructive\">\n *\n </span>\n )}\n </FieldLabel>\n )}\n <FieldContent>\n {triggerContent}\n {!!error && <FieldError id={errorId}>{error}</FieldError>}\n {helpText && (\n <FieldDescription id={helpTextId}>{helpText}</FieldDescription>\n )}\n </FieldContent>\n </Field>\n );\n }\n);\n\nTimePicker.displayName = \"TimePicker\";\n\nexport { TimePicker };\n"],"names":["_jsxs","_jsx"],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;;;AAIA,MAAM,UAAU,GAAG;AACnB,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;AAC5D,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,aAAa,EAAE,GAAG,EAAE,QAAQ,EAAE;AAC9C,CAAC;AACD,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,EAAE,UAAU,CAAC;;ACWnD,MAAM,WAAW,GAAG;IAClB,KAAK,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE;IACnD,MAAM,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE;IAClD,KAAK,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE;CAC1C;AAEV,MAAM,UAAU,GAAG,UAAU,CAC3B,CACE,EACE,KAAK,EACL,QAAQ,EACR,MAAM,GAAG,IAAI,EACb,WAAW,GAAG,KAAK,EACnB,UAAU,GAAG,CAAC,EACd,UAAU,GAAG,CAAC,EACd,QAAQ,GAAG,KAAK,EAChB,WAAW,EACX,KAAK,EACL,KAAK,EACL,QAAQ,EACR,IAAI,GAAG,QAAQ,EACf,QAAQ,GAAG,KAAK,EAChB,QAAQ,EACR,UAAU,EACV,SAAS,GACV,EACD,GAAG,KACD;AACF,IAAA,MAAM,WAAW,GAAG,KAAK,EAAE;AAC3B,IAAA,MAAM,OAAO,GAAG,CAAA,MAAA,EAAS,WAAW,EAAE;AACtC,IAAA,MAAM,UAAU,GAAG,CAAA,SAAA,EAAY,WAAW,EAAE;AAC5C,IAAA,MAAM,YAAY,GAAG,MAAM,CAAiB,IAAI,CAAC;IACjD,MAAM,gBAAgB,GAAG,MAAM,CAC7B,CAAA,mBAAA,EAAsB,WAAW,CAAA,CAAE,CACpC,CAAC,OAAO;IAET,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;AAEvC,IAAA,MAAM,cAAc,GAAG,WAAW,CAAC,MAAuB;AACxD,QAAA,IAAI,CAAC,KAAK;AAAE,YAAA,OAAO,IAAI;QACvB,IAAI,KAAK,YAAY,IAAI;AAAE,YAAA,OAAO,eAAe,CAAC,KAAK,CAAC;QACxD,IACE,OAAQ,KAA4C,CAAC,MAAM;AAC3D,YAAA,UAAU,EACV;AACA,YAAA,OAAO,eAAe,CACnB,KAA2C,CAAC,MAAM,EAAE,CACtD;QACH;QAEA,OAAO;YACL,KAAK,EAAG,KAAmB,CAAC,KAAK;YACjC,OAAO,EAAG,KAAmB,CAAC,OAAO;AACrC,YAAA,OAAO,EAAG,KAAmB,CAAC,OAAO,IAAI,CAAC;SAC3C;AACH,IAAA,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IAEX,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAC9C,cAAc,CACf;IACD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC;AAE9C,IAAA,MAAM,iBAAiB,GAAG,WAAW,CACnC,CAAC,IAAsB,KAAY;AACjC,QAAA,IAAI,CAAC,IAAI;AAAE,YAAA,OAAO,EAAE;AAEpB,QAAA,IAAI,MAAM,KAAK,IAAI,EAAE;AACnB,YAAA,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;AAC/C,YAAA,MAAM,KAAK,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC1D,YAAA,IAAI,WAAW;AAAE,gBAAA,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;YAEzD,OAAO,CAAA,EAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA,CAAA,EAAI,MAAM,CAAA,CAAE;QACvC;AAEA,QAAA,MAAM,KAAK,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC9D,QAAA,IAAI,WAAW;AAAE,YAAA,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;AAEzD,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;AACxB,IAAA,CAAC,EACD,CAAC,MAAM,EAAE,WAAW,CAAC,CACtB;IAED,SAAS,CAAC,MAAK;AACb,QAAA,MAAM,OAAO,GAAG,cAAc,EAAE;QAChC,eAAe,CAAC,OAAO,CAAC;AACxB,QAAA,YAAY,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;AAC1C,IAAA,CAAC,EAAE,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;;IAGvC,SAAS,CAAC,MAAK;AACb,QAAA,IAAI,CAAC,IAAI;YAAE;AAEX,QAAA,MAAM,iBAAiB,GAAG,CAAC,CAAe,KAAI;AAC5C,YAAA,MAAM,MAAM,GAAG,CAAC,CAAC,MAAqB;AACtC,YAAA,IAAI,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC;gBAAE;YAE5C,MAAM,SAAS,GAAG,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC;AAC3D,YAAA,IAAI,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC;gBAAE;YAEjC,OAAO,CAAC,KAAK,CAAC;AACd,YAAA,YAAY,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;AAC/C,QAAA,CAAC;AAED,QAAA,QAAQ,CAAC,gBAAgB,CAAC,aAAa,EAAE,iBAAiB,CAAC;QAE3D,OAAO,MACL,QAAQ,CAAC,mBAAmB,CAAC,aAAa,EAAE,iBAAiB,CAAC;IAClE,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,iBAAiB,CAAC,CAAC;IAE3C,MAAM,kBAAkB,GAAG;UACvB,MAAM,KAAK;AACX,cAAE;AACF,cAAE;UACF,MAAM,KAAK;AACX,cAAE;cACA,OAAO;AAEb,IAAA,MAAM,iBAAiB,GAAG,CAAC,IAAe,KAAI;QAC5C,eAAe,CAAC,IAAI,CAAC;AACrB,QAAA,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;AACrC,QAAA,QAAQ,GAAG,IAAI,CAAC;AAClB,IAAA,CAAC;AAED,IAAA,MAAM,iBAAiB,GAAG,CAAC,CAAsC,KAAI;AACnE,QAAA,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK;QAC3B,YAAY,CAAC,IAAI,CAAC;QAElB,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC;QAC5C,IAAI,MAAM,EAAE;YACV,eAAe,CAAC,MAAM,CAAC;AACvB,YAAA,QAAQ,GAAG,MAAM,CAAC;QACpB;AACF,IAAA,CAAC;AAED,IAAA,MAAM,kBAAkB,GAAG,CAAC,CAAwC,KAAI;AACtE,QAAA,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE;AACrB,YAAA,YAAY,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;YAC7C,OAAO,CAAC,KAAK,CAAC;QAChB;AAAO,aAAA,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE;AAC7B,YAAA,YAAY,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;YAC7C,OAAO,CAAC,KAAK,CAAC;QAChB;AACF,IAAA,CAAC;IAED,MAAM,gBAAgB,GAAG,MAAK;AAC5B,QAAA,IAAI,CAAC,IAAI;YAAE,OAAO,CAAC,IAAI,CAAC;AAC1B,IAAA,CAAC;AAED,IAAA,MAAM,WAAW,GAAG,CAAC,CAAmB,KAAI;QAC1C,CAAC,CAAC,eAAe,EAAE;QACnB,CAAC,CAAC,cAAc,EAAE;QAClB,eAAe,CAAC,IAAI,CAAC;QACrB,YAAY,CAAC,EAAE,CAAC;AAChB,QAAA,QAAQ,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;AAClD,IAAA,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,EAAE,KAAK,IAAI,KAAK,IAAI,QAAQ,CAAC;AAC/C,IAAA,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC;IAEpC,MAAM,eAAe,GACnB,CAAC,KAAK,GAAG,OAAO,GAAG,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,IAAI;SAClD,MAAM,CAAC,OAAO;AACd,SAAA,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS;AAE3B,IAAA,MAAM,cAAc,IAClBA,IAAA,CAAC,OAAO,IAAC,IAAI,EAAE,IAAI,EAAA,QAAA,EAAA,CACjBC,IAAC,aAAa,EAAA,EAAC,OAAO,EAAA,IAAA,EAAA,QAAA,EACpBD,cACE,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,EAAE,CACX,gGAAgG,EAChG,uEAAuE,EACvE,QAAQ,IAAI,+BAA+B,EAC3C,CAAC,CAAC,KAAK,IAAI,+CAA+C,EAC1D,UAAU,CAAC,OAAO,EAClB,CAAC,QAAQ,IAAI,SAAS,CACvB,EAAA,QAAA,EAAA,CAEA,QAAQ,IACPC,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,uEAAuE,EAAA,QAAA,EACpF,QAAQ,CAAC,WAAW,EAAE,EAAA,CAClB,KAEPA,GAAA,CAAC,KAAK,IACJ,SAAS,EAAE,EAAE,CACX,gCAAgC,EAChC,UAAU,CAAC,IAAI,CAChB,EAAA,CACD,CACH,EACDA,GAAA,CAAA,OAAA,EAAA,EACE,IAAI,EAAC,MAAM,EACX,QAAQ,EAAE,QAAQ,EAAA,YAAA,EACN,KAAK,IAAI,aAAa,EAAA,kBAAA,EAChB,eAAe,EAAA,cAAA,EACnB,CAAC,CAAC,KAAK,IAAI,SAAS,EAClC,WAAW,EAAE,WAAW,IAAI,kBAAkB,EAC9C,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,iBAAiB,EAC3B,SAAS,EAAE,kBAAkB,EAC7B,OAAO,EAAE,gBAAgB,EACzB,SAAS,EAAE,EAAE,CACX,8EAA8E,EAC9E,6BAA6B,EAC7B,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAC/D,EAAA,CACD,EACFA,gBACE,IAAI,EAAC,QAAQ,EACb,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,EACtC,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,EAAE,CACX,2GAA2G,EAC3G,EAAE,SAAS,IAAI,CAAC,QAAQ,CAAC,IAAI,WAAW,CACzC,EAAA,YAAA,EACU,YAAY,EACvB,QAAQ,EAAE,EAAE,EAAA,QAAA,EAEZA,GAAA,CAAC,CAAC,EAAA,EAAC,SAAS,EAAE,UAAU,CAAC,IAAI,EAAA,CAAI,EAAA,CAC1B,CAAA,EAAA,CACL,GACQ,EACf,IAAI,KACHA,IAAC,cAAc,EAAA,EACb,EAAE,EAAE,gBAAgB,EACpB,SAAS,EAAC,YAAY,EACtB,KAAK,EAAC,OAAO,EACb,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,EACxC,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,EACzC,oBAAoB,EAAE,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,EAC7C,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,EAAA,QAAA,EAE1CA,GAAA,CAAC,eAAe,EAAA,EACd,KAAK,EAAE,YAAY,IAAI,SAAS,EAChC,QAAQ,EAAE,iBAAiB,EAC3B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EAAA,CAClB,EAAA,CACa,CAClB,CAAA,EAAA,CACO,CACX;IAED,IAAI,CAAC,QAAQ,EAAE;AACb,QAAA,QACEA,GAAA,CAAA,KAAA,EAAA,EAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAA,QAAA,EAChC,cAAc,EAAA,CACX;IAEV;AAEA,IAAA,QACED,IAAA,CAAC,KAAK,EAAA,EACJ,GAAG,EAAE,GAAG,EAAA,eAAA,EACO,QAAQ,IAAI,SAAS,EAAA,cAAA,EACtB,CAAC,CAAC,KAAK,IAAI,SAAS,EAClC,SAAS,EAAE,SAAS,aAEnB,KAAK,KACJA,IAAA,CAAC,UAAU,EAAA,EAAA,GACJ,UAAsD,EAAA,QAAA,EAAA,CAE1D,KAAK,EACL,QAAQ,KACPC,GAAA,CAAA,MAAA,EAAA,EAAA,aAAA,EAAkB,MAAM,EAAC,SAAS,EAAC,kBAAkB,EAAA,QAAA,EAAA,GAAA,EAAA,CAE9C,CACR,CAAA,EAAA,CACU,CACd,EACDD,IAAA,CAAC,YAAY,EAAA,EAAA,QAAA,EAAA,CACV,cAAc,EACd,CAAC,CAAC,KAAK,IAAIC,IAAC,UAAU,EAAA,EAAC,EAAE,EAAE,OAAO,EAAA,QAAA,EAAG,KAAK,GAAc,EACxD,QAAQ,KACPA,GAAA,CAAC,gBAAgB,EAAA,EAAC,EAAE,EAAE,UAAU,YAAG,QAAQ,EAAA,CAAoB,CAChE,CAAA,EAAA,CACY,CAAA,EAAA,CACT;AAEZ,CAAC;AAGH,UAAU,CAAC,WAAW,GAAG,YAAY;;;;","x_google_ignoreList":[0]}
@@ -10,6 +10,7 @@ var primitives_Spinner = require('./primitives/Spinner.js');
10
10
  var createLucideIcon = require('./createLucideIcon-D0tRgV6l.js');
11
11
  var primitives_Button = require('./primitives/Button.js');
12
12
  var primitives_Pagination = require('./primitives/Pagination.js');
13
+ var Button = require('./Button-Bt_AElge.js');
13
14
  var primitives_DropdownMenu = require('./primitives/DropdownMenu.js');
14
15
  var ellipsis = require('./ellipsis-4aubOI2n.js');
15
16
  var check = require('./check-BQgcDXys.js');
@@ -3324,7 +3325,7 @@ const useTablePagination = ({ totalCount = 0, pageSize = DEFAULT_PAGE_SIZE, curr
3324
3325
 
3325
3326
  const SelectionCheckbox = ({ checked, onCheckedChange, ariaLabel, }) => {
3326
3327
  const { t } = reactI18next.useTranslation();
3327
- return (jsxRuntime.jsx("div", { className: "flex items-center justify-center", children: jsxRuntime.jsx(primitives_Checkbox.Checkbox, { checked: checked, onCheckedChange: onCheckedChange, "aria-label": ariaLabel ?? t("neetoatoms.dataTable.selectRow", "Select row") }) }));
3328
+ return (jsxRuntime.jsx("div", { className: "flex w-full items-center justify-center", children: jsxRuntime.jsx(primitives_Checkbox.Checkbox, { checked: checked, onCheckedChange: onCheckedChange, "aria-label": ariaLabel ?? t("neetoatoms.dataTable.selectRow", "Select row") }) }));
3328
3329
  };
3329
3330
 
3330
3331
  const useTableSelection = ({ enableRowSelection, selectedRowKeys, onRowSelect, data, getRowId, }) => {
@@ -3374,7 +3375,7 @@ const useTableSelection = ({ enableRowSelection, selectedRowKeys, onRowSelect, d
3374
3375
  onCheckedChange: value => row.toggleSelected(!!value),
3375
3376
  ariaLabel: "Select row",
3376
3377
  }),
3377
- size: 40,
3378
+ size: 56,
3378
3379
  enableSorting: false,
3379
3380
  enableResizing: false,
3380
3381
  };
@@ -3559,7 +3560,7 @@ const BulkSelectCallout = ({ bulkSelectAllRowsProps, isAllPageRowsSelected, isBu
3559
3560
  if (!isAllPageRowsSelected && !isBulkAllSelected)
3560
3561
  return null;
3561
3562
  const { selectAllRowMessage, selectAllRowButtonLabel, allRowsSelectedMessage, clearSelectionButtonLabel, } = bulkSelectAllRowsProps;
3562
- return (jsxRuntime.jsx("div", { className: "mb-2 flex items-center justify-center gap-1 rounded-lg bg-primary/10 px-4 py-1.5 text-sm text-primary", children: isBulkAllSelected ? (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("span", { children: allRowsSelectedMessage ?? selectAllRowMessage }), jsxRuntime.jsx(primitives_Button.Button, { variant: "link", onClick: onClearBulkSelection, children: clearSelectionButtonLabel ?? "Clear selection" })] })) : (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("span", { children: selectAllRowMessage }), jsxRuntime.jsx(primitives_Button.Button, { variant: "link", onClick: onBulkSelectAll, children: selectAllRowButtonLabel })] })) }));
3563
+ return (jsxRuntime.jsx("div", { className: "mb-2 flex items-center justify-center gap-1 rounded-sm bg-primary/10 px-4 py-1.5 text-sm text-primary", children: isBulkAllSelected ? (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("span", { children: allRowsSelectedMessage ?? selectAllRowMessage }), jsxRuntime.jsx(primitives_Button.Button, { variant: "link", onClick: onClearBulkSelection, children: clearSelectionButtonLabel ?? "Clear selection" })] })) : (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("span", { children: selectAllRowMessage }), jsxRuntime.jsx(primitives_Button.Button, { variant: "link", onClick: onBulkSelectAll, children: selectAllRowButtonLabel })] })) }));
3563
3564
  };
3564
3565
 
3565
3566
  const DataTablePagination = ({ currentPage, pageCount, onPageChange, }) => {
@@ -3601,7 +3602,7 @@ const HeaderCellMenu = ({ column, enableAddColumn, enableColumnFreeze, isColumnP
3601
3602
  moreActions.length > 0;
3602
3603
  if (!hasAnyAction)
3603
3604
  return null;
3604
- return (jsxRuntime.jsx("div", { onClick: e => e.stopPropagation(), children: jsxRuntime.jsxs(primitives_DropdownMenu.DropdownMenu, { children: [jsxRuntime.jsx(primitives_DropdownMenu.DropdownMenuTrigger, { asChild: true, children: jsxRuntime.jsx(primitives_Button.Button, { variant: "ghost", size: "icon", className: "ml-1 size-7 shrink-0 text-muted-foreground data-[state=open]:bg-muted", "data-testid": "column-menu-button", children: jsxRuntime.jsx(ellipsis.Ellipsis, { className: "size-4" }) }) }), jsxRuntime.jsxs(primitives_DropdownMenu.DropdownMenuContent, { align: "start", className: "w-48", children: [isSortable && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs(primitives_DropdownMenu.DropdownMenuItem, { "data-testid": "ascending-column-menu-button", onClick: () => onSort?.(column.id, false), children: [jsxRuntime.jsx(ArrowUp, { className: "mr-2 size-4" }), "Ascending", currentSort === "asc" && (jsxRuntime.jsx(check.Check, { className: "ml-auto size-4 text-primary" }))] }), jsxRuntime.jsxs(primitives_DropdownMenu.DropdownMenuItem, { "data-testid": "descending-column-menu-button", onClick: () => onSort?.(column.id, true), children: [jsxRuntime.jsx(ArrowDown, { className: "mr-2 size-4" }), "Descending", currentSort === "desc" && (jsxRuntime.jsx(check.Check, { className: "ml-auto size-4 text-primary" }))] })] })), enableAddColumn && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs(primitives_DropdownMenu.DropdownMenuItem, { "data-testid": "insert-right-column-menu-button", onClick: () => onAddColumn?.(columnIndex + 1), children: [jsxRuntime.jsx(Plus, { className: "mr-2 size-4" }), "Insert column right"] }), jsxRuntime.jsxs(primitives_DropdownMenu.DropdownMenuItem, { "data-testid": "insert-left-column-menu-button", onClick: () => onAddColumn?.(columnIndex), children: [jsxRuntime.jsx(Plus, { className: "mr-2 size-4" }), "Insert column left"] })] })), isHidable && onHideColumn && (jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsxs(primitives_DropdownMenu.DropdownMenuItem, { "data-testid": "hide-column-menu-button", onClick: () => onHideColumn(column.id), children: [jsxRuntime.jsx(EyeOff, { className: "mr-2 size-4" }), "Hide column"] }) })), isDeletable && onDeleteColumn && (jsxRuntime.jsxs(primitives_DropdownMenu.DropdownMenuItem, { "data-testid": "delete-column-menu-button", onClick: () => onDeleteColumn(column.id), children: [jsxRuntime.jsx(Trash2, { className: "mr-2 size-4" }), "Delete column"] })), enableColumnFreeze && onTogglePin && (jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsxs(primitives_DropdownMenu.DropdownMenuItem, { "data-testid": "freeze-unfreeze-column-menu-button", onClick: () => onTogglePin(column.id), children: [jsxRuntime.jsx(Pin, { className: "mr-2 size-4" }), isColumnPinned ? "Unfreeze column" : "Freeze column"] }) })), onMoveColumn && (canMoveLeft || canMoveRight) && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [canMoveLeft && (jsxRuntime.jsxs(primitives_DropdownMenu.DropdownMenuItem, { "data-testid": "move-column-left-menu-button", onClick: () => onMoveColumn(column.id, -1), children: [jsxRuntime.jsx(MoveLeft, { className: "mr-2 size-4" }), "Move column left"] })), canMoveRight && (jsxRuntime.jsxs(primitives_DropdownMenu.DropdownMenuItem, { "data-testid": "move-column-right-menu-button", onClick: () => onMoveColumn(column.id, 1), children: [jsxRuntime.jsx(MoveRight, { className: "mr-2 size-4" }), "Move column right"] }))] })), moreActions.length > 0 && (jsxRuntime.jsx(jsxRuntime.Fragment, { children: moreActions.map(action => {
3605
+ return (jsxRuntime.jsx("div", { onClick: e => e.stopPropagation(), children: jsxRuntime.jsxs(primitives_DropdownMenu.DropdownMenu, { children: [jsxRuntime.jsx(primitives_DropdownMenu.DropdownMenuTrigger, { asChild: true, children: jsxRuntime.jsx(Button.Button, { variant: "ghost", size: "icon", icon: ellipsis.Ellipsis, "data-testid": "column-menu-button" }) }), jsxRuntime.jsxs(primitives_DropdownMenu.DropdownMenuContent, { align: "start", className: "w-48", children: [isSortable && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs(primitives_DropdownMenu.DropdownMenuItem, { "data-testid": "ascending-column-menu-button", onClick: () => onSort?.(column.id, false), children: [jsxRuntime.jsx(ArrowUp, { className: "mr-2 size-4" }), "Ascending", currentSort === "asc" && (jsxRuntime.jsx(check.Check, { className: "ml-auto size-4 text-primary" }))] }), jsxRuntime.jsxs(primitives_DropdownMenu.DropdownMenuItem, { "data-testid": "descending-column-menu-button", onClick: () => onSort?.(column.id, true), children: [jsxRuntime.jsx(ArrowDown, { className: "mr-2 size-4" }), "Descending", currentSort === "desc" && (jsxRuntime.jsx(check.Check, { className: "ml-auto size-4 text-primary" }))] })] })), enableAddColumn && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs(primitives_DropdownMenu.DropdownMenuItem, { "data-testid": "insert-right-column-menu-button", onClick: () => onAddColumn?.(columnIndex + 1), children: [jsxRuntime.jsx(Plus, { className: "mr-2 size-4" }), "Insert column right"] }), jsxRuntime.jsxs(primitives_DropdownMenu.DropdownMenuItem, { "data-testid": "insert-left-column-menu-button", onClick: () => onAddColumn?.(columnIndex), children: [jsxRuntime.jsx(Plus, { className: "mr-2 size-4" }), "Insert column left"] })] })), isHidable && onHideColumn && (jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsxs(primitives_DropdownMenu.DropdownMenuItem, { "data-testid": "hide-column-menu-button", onClick: () => onHideColumn(column.id), children: [jsxRuntime.jsx(EyeOff, { className: "mr-2 size-4" }), "Hide column"] }) })), isDeletable && onDeleteColumn && (jsxRuntime.jsxs(primitives_DropdownMenu.DropdownMenuItem, { "data-testid": "delete-column-menu-button", onClick: () => onDeleteColumn(column.id), children: [jsxRuntime.jsx(Trash2, { className: "mr-2 size-4" }), "Delete column"] })), enableColumnFreeze && onTogglePin && (jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsxs(primitives_DropdownMenu.DropdownMenuItem, { "data-testid": "freeze-unfreeze-column-menu-button", onClick: () => onTogglePin(column.id), children: [jsxRuntime.jsx(Pin, { className: "mr-2 size-4" }), isColumnPinned ? "Unfreeze column" : "Freeze column"] }) })), onMoveColumn && (canMoveLeft || canMoveRight) && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [canMoveLeft && (jsxRuntime.jsxs(primitives_DropdownMenu.DropdownMenuItem, { "data-testid": "move-column-left-menu-button", onClick: () => onMoveColumn(column.id, -1), children: [jsxRuntime.jsx(MoveLeft, { className: "mr-2 size-4" }), "Move column left"] })), canMoveRight && (jsxRuntime.jsxs(primitives_DropdownMenu.DropdownMenuItem, { "data-testid": "move-column-right-menu-button", onClick: () => onMoveColumn(column.id, 1), children: [jsxRuntime.jsx(MoveRight, { className: "mr-2 size-4" }), "Move column right"] }))] })), moreActions.length > 0 && (jsxRuntime.jsx(jsxRuntime.Fragment, { children: moreActions.map(action => {
3605
3606
  const ActionIcon = action.icon;
3606
3607
  return (jsxRuntime.jsxs(primitives_DropdownMenu.DropdownMenuItem, { "data-testid": `${action.type}-column-menu-button`, onClick: () => onMoreActionClick?.(action.type, column.id), children: [ActionIcon && jsxRuntime.jsx(ActionIcon, { className: "mr-2 size-4" }), action.label] }, action.type));
3607
3608
  }) }))] })] }) }));
@@ -3740,6 +3741,32 @@ const DataTable = ({ columns, data, getRowId: getRowIdProp, sorting: sortingProp
3740
3741
  table.toggleAllPageRowsSelected(false);
3741
3742
  onRowSelect?.([], []);
3742
3743
  };
3744
+ const scrollContainerRef = React.useRef(null);
3745
+ const [scrollState, setScrollState] = React.useState({
3746
+ scrolledStart: false,
3747
+ scrolledEnd: false,
3748
+ });
3749
+ React.useEffect(() => {
3750
+ const el = scrollContainerRef.current;
3751
+ if (!el)
3752
+ return;
3753
+ const update = () => {
3754
+ const { scrollLeft, scrollWidth, clientWidth } = el;
3755
+ const maxScroll = scrollWidth - clientWidth;
3756
+ setScrollState({
3757
+ scrolledStart: scrollLeft > 0,
3758
+ scrolledEnd: scrollLeft < maxScroll - 1,
3759
+ });
3760
+ };
3761
+ update();
3762
+ el.addEventListener("scroll", update, { passive: true });
3763
+ const resizeObserver = new ResizeObserver(update);
3764
+ resizeObserver.observe(el);
3765
+ return () => {
3766
+ el.removeEventListener("scroll", update);
3767
+ resizeObserver.disconnect();
3768
+ };
3769
+ }, []);
3743
3770
  const handleSort = (columnId, desc) => {
3744
3771
  const isSameSort = sorting.length > 0 &&
3745
3772
  sorting[0].id === columnId &&
@@ -3751,7 +3778,7 @@ const DataTable = ({ columns, data, getRowId: getRowIdProp, sorting: sortingProp
3751
3778
  onSortingChange([{ id: columnId, desc }]);
3752
3779
  }
3753
3780
  };
3754
- return (jsxRuntime.jsxs("div", { className: utils.cn("relative flex min-h-0 w-full flex-col", className), children: [loading && jsxRuntime.jsx(LoadingOverlay, {}), (showSelectAllCallout || showAllSelectedCallout) && (jsxRuntime.jsx(BulkSelectCallout, { bulkSelectAllRowsProps: bulkSelectAllRowsProps, isAllPageRowsSelected: isAllPageRowsSelected, isBulkAllSelected: bulkSelectedAllRows, onBulkSelectAll: handleBulkSelectAll, onClearBulkSelection: handleClearBulkSelection })), jsxRuntime.jsx("div", { className: utils.cn("min-h-0 flex-1 overflow-auto", bordered && "rounded-lg border"), children: jsxRuntime.jsxs(primitives_Table.Table, { children: [jsxRuntime.jsx(primitives_Table.TableHeader, { className: "sticky top-0 z-20 bg-muted", children: table.getHeaderGroups().map(headerGroup => {
3781
+ return (jsxRuntime.jsxs("div", { className: utils.cn("relative flex min-h-0 w-full flex-col", className), children: [loading && jsxRuntime.jsx(LoadingOverlay, {}), (showSelectAllCallout || showAllSelectedCallout) && (jsxRuntime.jsx(BulkSelectCallout, { bulkSelectAllRowsProps: bulkSelectAllRowsProps, isAllPageRowsSelected: isAllPageRowsSelected, isBulkAllSelected: bulkSelectedAllRows, onBulkSelectAll: handleBulkSelectAll, onClearBulkSelection: handleClearBulkSelection })), jsxRuntime.jsx("div", { ref: scrollContainerRef, "data-scrolled-start": scrollState.scrolledStart || undefined, "data-scrolled-end": scrollState.scrolledEnd || undefined, className: utils.cn("group/scroll min-h-0 flex-1 overflow-auto", bordered && "rounded-lg border"), children: jsxRuntime.jsxs(primitives_Table.Table, { children: [jsxRuntime.jsx(primitives_Table.TableHeader, { className: "sticky top-0 z-20 bg-muted", children: table.getHeaderGroups().map(headerGroup => {
3755
3782
  const dataHeaders = headerGroup.headers.filter(h => h.column.id !== "_selection");
3756
3783
  const totalDataSize = dataHeaders.reduce((sum, h) => sum + h.getSize(), 0);
3757
3784
  return (jsxRuntime.jsx(primitives_Table.TableRow, { className: "hover:bg-muted", children: headerGroup.headers.map((header, headerIndex) => {
@@ -3759,7 +3786,9 @@ const DataTable = ({ columns, data, getRowId: getRowIdProp, sorting: sortingProp
3759
3786
  const isSelectionCol = header.column.id === "_selection";
3760
3787
  const columnIndexInData = dataHeaders.findIndex(h => h.id === header.id);
3761
3788
  return (jsxRuntime.jsxs(primitives_Table.TableHead, { className: utils.cn("group/head relative", header.column.getCanSort() &&
3762
- "cursor-pointer select-none", isPinned && "sticky z-10 bg-muted"), style: {
3789
+ "cursor-pointer select-none", isSelectionCol && "!pe-2", isPinned && "sticky z-10 bg-muted", isPinned === "left" &&
3790
+ "after:pointer-events-none after:absolute after:inset-y-0 after:-right-2 after:w-2 after:bg-gradient-to-r after:from-black/6 after:to-transparent after:opacity-0 after:transition-opacity after:duration-200 after:content-[''] group-data-[scrolled-start]/scroll:after:opacity-100 dark:after:from-white/6", isPinned === "right" &&
3791
+ "before:pointer-events-none before:absolute before:inset-y-0 before:-left-2 before:w-2 before:bg-gradient-to-l before:from-black/6 before:to-transparent before:opacity-0 before:transition-opacity before:duration-200 before:content-[''] group-data-[scrolled-end]/scroll:before:opacity-100 dark:before:from-white/6"), style: {
3763
3792
  width: selectionColumn && isSelectionCol
3764
3793
  ? 0
3765
3794
  : selectionColumn
@@ -3784,13 +3813,15 @@ const DataTable = ({ columns, data, getRowId: getRowIdProp, sorting: sortingProp
3784
3813
  ? (colId, dir) => moveColumn(colId, dir)
3785
3814
  : undefined, onMoreActionClick: onMoreActionClick }))] })), enableColumnResize && jsxRuntime.jsx(ResizeHandle, { header: header })] }, header.id));
3786
3815
  }) }, headerGroup.id));
3787
- }) }), jsxRuntime.jsx(primitives_Table.TableBody, { className: loading ? "opacity-50" : undefined, children: table.getRowModel().rows.length > 0 ? (table.getRowModel().rows.map(row => (jsxRuntime.jsx(primitives_Table.TableRow, { "data-state": row.getIsSelected() ? "selected" : undefined, className: utils.cn("group", allowRowClick && onRowClick && "cursor-pointer"), onClick: allowRowClick && onRowClick
3816
+ }) }), jsxRuntime.jsx(primitives_Table.TableBody, { className: loading ? "opacity-50" : undefined, children: table.getRowModel().rows.length > 0 ? (table.getRowModel().rows.map(row => (jsxRuntime.jsx(primitives_Table.TableRow, { "data-state": row.getIsSelected() ? "selected" : undefined, className: utils.cn("group data-[state=selected]:bg-info", allowRowClick && onRowClick && "cursor-pointer"), onClick: allowRowClick && onRowClick
3788
3817
  ? event => onRowClick(event, row.original, row.index)
3789
3818
  : undefined, children: row.getVisibleCells().map(cell => {
3790
3819
  const isPinned = cell.column.getIsPinned();
3791
3820
  const isSelCell = cell.column.id === "_selection";
3792
- return (jsxRuntime.jsx(primitives_Table.TableCell, { className: utils.cn(isPinned &&
3793
- "sticky z-10 bg-background group-hover:bg-muted/50 group-data-[state=selected]:bg-muted"), style: {
3821
+ return (jsxRuntime.jsx(primitives_Table.TableCell, { className: utils.cn(isSelCell && "!pe-2", isPinned &&
3822
+ "sticky z-10 bg-background group-hover:bg-muted/50 group-data-[state=selected]:bg-info", isPinned === "left" &&
3823
+ "after:pointer-events-none after:absolute after:inset-y-0 after:-right-2 after:w-2 after:bg-gradient-to-r after:from-black/6 after:to-transparent after:opacity-0 after:transition-opacity after:duration-200 after:content-[''] group-data-[scrolled-start]/scroll:after:opacity-100 dark:after:from-white/6", isPinned === "right" &&
3824
+ "before:pointer-events-none before:absolute before:inset-y-0 before:-left-2 before:w-2 before:bg-gradient-to-l before:from-black/6 before:to-transparent before:opacity-0 before:transition-opacity before:duration-200 before:content-[''] group-data-[scrolled-end]/scroll:before:opacity-100 dark:before:from-white/6"), style: {
3794
3825
  width: selectionColumn && isSelCell
3795
3826
  ? 0
3796
3827
  : cell.column.getSize(),
@@ -3818,4 +3849,4 @@ exports.useColumnVisibility = useColumnVisibility;
3818
3849
  exports.useTablePagination = useTablePagination;
3819
3850
  exports.useTableSelection = useTableSelection;
3820
3851
  exports.useTableSort = useTableSort;
3821
- //# sourceMappingURL=DataTable-BBxgDBnO.js.map
3852
+ //# sourceMappingURL=DataTable-XA82zdPA.js.map