@cryptlex/web-components 3.8.1 → 3.8.2

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 (100) hide show
  1. package/dist/components/data-table/column-picker.es.js.map +1 -1
  2. package/dist/components/data-table/data-table.es.js.map +1 -1
  3. package/dist/components/data-table/table-commons.es.js.map +1 -1
  4. package/dist/components/data-table/table-content.es.js.map +1 -1
  5. package/dist/components/data-table/table-utils/createTableFetchFn.es.js.map +1 -1
  6. package/dist/components/data-table/table-utils/string.es.js.map +1 -1
  7. package/dist/components/inputs/country-select.es.js.map +1 -1
  8. package/dist/components/inputs/multi-select.es.js.map +1 -1
  9. package/dist/components/inputs/search-input.es.js.map +1 -1
  10. package/dist/components/inputs/select.es.js.map +1 -1
  11. package/dist/components/key-value-card/key-value-card.es.js.map +1 -1
  12. package/dist/components/ui/copy-button.es.js.map +1 -1
  13. package/dist/components/ui/sheet.es.js +59 -55
  14. package/dist/components/ui/sheet.es.js.map +1 -1
  15. package/dist/components/ui/sidebar.es.js.map +1 -1
  16. package/dist/components/ui/static-data-table.es.js.map +1 -1
  17. package/dist/hooks/use-mobile.es.js.map +1 -1
  18. package/dist/node_modules/.pnpm/@date-fns_tz@1.2.0/node_modules/@date-fns/tz/date/index.es.js.map +1 -1
  19. package/dist/node_modules/.pnpm/@date-fns_tz@1.2.0/node_modules/@date-fns/tz/date/mini.es.js.map +1 -1
  20. package/dist/node_modules/.pnpm/@date-fns_tz@1.2.0/node_modules/@date-fns/tz/tzOffset/index.es.js.map +1 -1
  21. package/dist/node_modules/.pnpm/@floating-ui_core@1.7.2/node_modules/@floating-ui/core/dist/floating-ui.core.es.js.map +1 -1
  22. package/dist/node_modules/.pnpm/@floating-ui_dom@1.7.2/node_modules/@floating-ui/dom/dist/floating-ui.dom.es.js.map +1 -1
  23. package/dist/node_modules/.pnpm/@floating-ui_react-dom@2.1.4_react-dom@19.1.0_react@19.1.0/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.es.js.map +1 -1
  24. package/dist/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.es.js.map +1 -1
  25. package/dist/node_modules/.pnpm/@radix-ui_primitive@1.1.2/node_modules/@radix-ui/primitive/dist/index.es.js.map +1 -1
  26. package/dist/node_modules/.pnpm/@radix-ui_react-accordion@1.2.11_@types_react-dom@19.1.0_@types_react@19.1.0_react-dom@19.1.0_react@19.1.0/node_modules/@radix-ui/react-accordion/dist/index.es.js.map +1 -1
  27. package/dist/node_modules/.pnpm/@radix-ui_react-collapsible@1.1.11_@types_react-dom@19.1.0_@types_react@19.1.0_react-dom@19.1.0_react@19.1.0/node_modules/@radix-ui/react-collapsible/dist/index.es.js.map +1 -1
  28. package/dist/node_modules/.pnpm/@radix-ui_react-collection@1.1.7_@types_react-dom@19.1.0_@types_react@19.1.0_react-dom@19.1.0_react@19.1.0/node_modules/@radix-ui/react-collection/dist/index.es.js.map +1 -1
  29. package/dist/node_modules/.pnpm/@radix-ui_react-compose-refs@1.1.2_@types_react@19.1.0_react@19.1.0/node_modules/@radix-ui/react-compose-refs/dist/index.es.js.map +1 -1
  30. package/dist/node_modules/.pnpm/@radix-ui_react-context@1.1.2_@types_react@19.1.0_react@19.1.0/node_modules/@radix-ui/react-context/dist/index.es.js.map +1 -1
  31. package/dist/node_modules/.pnpm/@radix-ui_react-dialog@1.1.14_@types_react-dom@19.1.0_@types_react@19.1.0_react-dom@19.1.0_react@19.1.0/node_modules/@radix-ui/react-dialog/dist/index.es.js.map +1 -1
  32. package/dist/node_modules/.pnpm/@radix-ui_react-dismissable-layer@1.1.10_@types_react-dom@19.1.0_@types_react@19.1.0_react-dom@19.1.0_react@19.1.0/node_modules/@radix-ui/react-dismissable-layer/dist/index.es.js.map +1 -1
  33. package/dist/node_modules/.pnpm/@radix-ui_react-dropdown-menu@2.1.15_@types_react-dom@19.1.0_@types_react@19.1.0_react-dom@19.1.0_react@19.1.0/node_modules/@radix-ui/react-dropdown-menu/dist/index.es.js.map +1 -1
  34. package/dist/node_modules/.pnpm/@radix-ui_react-focus-guards@1.1.2_@types_react@19.1.0_react@19.1.0/node_modules/@radix-ui/react-focus-guards/dist/index.es.js.map +1 -1
  35. package/dist/node_modules/.pnpm/@radix-ui_react-focus-scope@1.1.7_@types_react-dom@19.1.0_@types_react@19.1.0_react-dom@19.1.0_react@19.1.0/node_modules/@radix-ui/react-focus-scope/dist/index.es.js.map +1 -1
  36. package/dist/node_modules/.pnpm/@radix-ui_react-id@1.1.1_@types_react@19.1.0_react@19.1.0/node_modules/@radix-ui/react-id/dist/index.es.js.map +1 -1
  37. package/dist/node_modules/.pnpm/@radix-ui_react-label@2.1.7_@types_react-dom@19.1.0_@types_react@19.1.0_react-dom@19.1.0_react@19.1.0/node_modules/@radix-ui/react-label/dist/index.es.js.map +1 -1
  38. package/dist/node_modules/.pnpm/@radix-ui_react-menu@2.1.15_@types_react-dom@19.1.0_@types_react@19.1.0_react-dom@19.1.0_react@19.1.0/node_modules/@radix-ui/react-menu/dist/index.es.js.map +1 -1
  39. package/dist/node_modules/.pnpm/@radix-ui_react-popover@1.1.14_@types_react-dom@19.1.0_@types_react@19.1.0_react-dom@19.1.0_react@19.1.0/node_modules/@radix-ui/react-popover/dist/index.es.js.map +1 -1
  40. package/dist/node_modules/.pnpm/@radix-ui_react-popper@1.2.7_@types_react-dom@19.1.0_@types_react@19.1.0_react-dom@19.1.0_react@19.1.0/node_modules/@radix-ui/react-popper/dist/index.es.js.map +1 -1
  41. package/dist/node_modules/.pnpm/@radix-ui_react-presence@1.1.4_@types_react-dom@19.1.0_@types_react@19.1.0_react-dom@19.1.0_react@19.1.0/node_modules/@radix-ui/react-presence/dist/index.es.js.map +1 -1
  42. package/dist/node_modules/.pnpm/@radix-ui_react-primitive@2.1.3_@types_react-dom@19.1.0_@types_react@19.1.0_react-dom@19.1.0_react@19.1.0/node_modules/@radix-ui/react-primitive/dist/index.es.js.map +1 -1
  43. package/dist/node_modules/.pnpm/@radix-ui_react-radio-group@1.3.7_@types_react-dom@19.1.0_@types_react@19.1.0_react-dom@19.1.0_react@19.1.0/node_modules/@radix-ui/react-radio-group/dist/index.es.js.map +1 -1
  44. package/dist/node_modules/.pnpm/@radix-ui_react-roving-focus@1.1.10_@types_react-dom@19.1.0_@types_react@19.1.0_react-dom@19.1.0_react@19.1.0/node_modules/@radix-ui/react-roving-focus/dist/index.es.js.map +1 -1
  45. package/dist/node_modules/.pnpm/@radix-ui_react-slot@1.2.3_@types_react@19.1.0_react@19.1.0/node_modules/@radix-ui/react-slot/dist/index.es.js.map +1 -1
  46. package/dist/node_modules/.pnpm/@radix-ui_react-tabs@1.1.12_@types_react-dom@19.1.0_@types_react@19.1.0_react-dom@19.1.0_react@19.1.0/node_modules/@radix-ui/react-tabs/dist/index.es.js.map +1 -1
  47. package/dist/node_modules/.pnpm/@radix-ui_react-tooltip@1.2.7_@types_react-dom@19.1.0_@types_react@19.1.0_react-dom@19.1.0_react@19.1.0/node_modules/@radix-ui/react-tooltip/dist/index.es.js.map +1 -1
  48. package/dist/node_modules/.pnpm/@radix-ui_react-use-callback-ref@1.1.1_@types_react@19.1.0_react@19.1.0/node_modules/@radix-ui/react-use-callback-ref/dist/index.es.js.map +1 -1
  49. package/dist/node_modules/.pnpm/@radix-ui_react-use-controllable-state@1.2.2_@types_react@19.1.0_react@19.1.0/node_modules/@radix-ui/react-use-controllable-state/dist/index.es.js.map +1 -1
  50. package/dist/node_modules/.pnpm/@radix-ui_react-use-escape-keydown@1.1.1_@types_react@19.1.0_react@19.1.0/node_modules/@radix-ui/react-use-escape-keydown/dist/index.es.js.map +1 -1
  51. package/dist/node_modules/.pnpm/@radix-ui_react-use-size@1.1.1_@types_react@19.1.0_react@19.1.0/node_modules/@radix-ui/react-use-size/dist/index.es.js.map +1 -1
  52. package/dist/node_modules/.pnpm/aria-hidden@1.2.6/node_modules/aria-hidden/dist/es2015/index.es.js.map +1 -1
  53. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/_lib/buildFormatLongFn.es.js.map +1 -1
  54. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/_lib/buildLocalizeFn.es.js.map +1 -1
  55. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/_lib/buildMatchFn.es.js.map +1 -1
  56. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/_lib/buildMatchPatternFn.es.js.map +1 -1
  57. package/dist/node_modules/.pnpm/react-day-picker@9.7.0_react@19.1.0/node_modules/react-day-picker/dist/esm/DayPicker.es.js.map +1 -1
  58. package/dist/node_modules/.pnpm/react-day-picker@9.7.0_react@19.1.0/node_modules/react-day-picker/dist/esm/classes/CalendarDay.es.js.map +1 -1
  59. package/dist/node_modules/.pnpm/react-day-picker@9.7.0_react@19.1.0/node_modules/react-day-picker/dist/esm/classes/CalendarMonth.es.js.map +1 -1
  60. package/dist/node_modules/.pnpm/react-day-picker@9.7.0_react@19.1.0/node_modules/react-day-picker/dist/esm/classes/CalendarWeek.es.js.map +1 -1
  61. package/dist/node_modules/.pnpm/react-day-picker@9.7.0_react@19.1.0/node_modules/react-day-picker/dist/esm/classes/DateLib.es.js.map +1 -1
  62. package/dist/node_modules/.pnpm/react-day-picker@9.7.0_react@19.1.0/node_modules/react-day-picker/dist/esm/components/DayButton.es.js.map +1 -1
  63. package/dist/node_modules/.pnpm/react-day-picker@9.7.0_react@19.1.0/node_modules/react-day-picker/dist/esm/components/Nav.es.js.map +1 -1
  64. package/dist/node_modules/.pnpm/react-day-picker@9.7.0_react@19.1.0/node_modules/react-day-picker/dist/esm/helpers/calculateFocusTarget.es.js.map +1 -1
  65. package/dist/node_modules/.pnpm/react-day-picker@9.7.0_react@19.1.0/node_modules/react-day-picker/dist/esm/helpers/createGetModifiers.es.js.map +1 -1
  66. package/dist/node_modules/.pnpm/react-day-picker@9.7.0_react@19.1.0/node_modules/react-day-picker/dist/esm/helpers/getDataAttributes.es.js.map +1 -1
  67. package/dist/node_modules/.pnpm/react-day-picker@9.7.0_react@19.1.0/node_modules/react-day-picker/dist/esm/helpers/getDates.es.js.map +1 -1
  68. package/dist/node_modules/.pnpm/react-day-picker@9.7.0_react@19.1.0/node_modules/react-day-picker/dist/esm/helpers/getDays.es.js.map +1 -1
  69. package/dist/node_modules/.pnpm/react-day-picker@9.7.0_react@19.1.0/node_modules/react-day-picker/dist/esm/helpers/getDisplayMonths.es.js.map +1 -1
  70. package/dist/node_modules/.pnpm/react-day-picker@9.7.0_react@19.1.0/node_modules/react-day-picker/dist/esm/helpers/getInitialMonth.es.js.map +1 -1
  71. package/dist/node_modules/.pnpm/react-day-picker@9.7.0_react@19.1.0/node_modules/react-day-picker/dist/esm/helpers/getMonthOptions.es.js.map +1 -1
  72. package/dist/node_modules/.pnpm/react-day-picker@9.7.0_react@19.1.0/node_modules/react-day-picker/dist/esm/helpers/getMonths.es.js.map +1 -1
  73. package/dist/node_modules/.pnpm/react-day-picker@9.7.0_react@19.1.0/node_modules/react-day-picker/dist/esm/helpers/getStyleForModifiers.es.js.map +1 -1
  74. package/dist/node_modules/.pnpm/react-day-picker@9.7.0_react@19.1.0/node_modules/react-day-picker/dist/esm/helpers/getWeekdays.es.js.map +1 -1
  75. package/dist/node_modules/.pnpm/react-day-picker@9.7.0_react@19.1.0/node_modules/react-day-picker/dist/esm/helpers/getYearOptions.es.js.map +1 -1
  76. package/dist/node_modules/.pnpm/react-day-picker@9.7.0_react@19.1.0/node_modules/react-day-picker/dist/esm/selection/useMulti.es.js.map +1 -1
  77. package/dist/node_modules/.pnpm/react-day-picker@9.7.0_react@19.1.0/node_modules/react-day-picker/dist/esm/selection/useRange.es.js.map +1 -1
  78. package/dist/node_modules/.pnpm/react-day-picker@9.7.0_react@19.1.0/node_modules/react-day-picker/dist/esm/selection/useSingle.es.js.map +1 -1
  79. package/dist/node_modules/.pnpm/react-day-picker@9.7.0_react@19.1.0/node_modules/react-day-picker/dist/esm/useAnimation.es.js.map +1 -1
  80. package/dist/node_modules/.pnpm/react-day-picker@9.7.0_react@19.1.0/node_modules/react-day-picker/dist/esm/useCalendar.es.js.map +1 -1
  81. package/dist/node_modules/.pnpm/react-day-picker@9.7.0_react@19.1.0/node_modules/react-day-picker/dist/esm/useFocus.es.js.map +1 -1
  82. package/dist/node_modules/.pnpm/react-day-picker@9.7.0_react@19.1.0/node_modules/react-day-picker/dist/esm/utils/addToRange.es.js.map +1 -1
  83. package/dist/node_modules/.pnpm/react-day-picker@9.7.0_react@19.1.0/node_modules/react-day-picker/dist/esm/utils/dateMatchModifiers.es.js.map +1 -1
  84. package/dist/node_modules/.pnpm/react-day-picker@9.7.0_react@19.1.0/node_modules/react-day-picker/dist/esm/utils/rangeContainsDayOfWeek.es.js.map +1 -1
  85. package/dist/node_modules/.pnpm/react-day-picker@9.7.0_react@19.1.0/node_modules/react-day-picker/dist/esm/utils/rangeContainsModifiers.es.js.map +1 -1
  86. package/dist/node_modules/.pnpm/react-remove-scroll-bar@2.3.8_@types_react@19.1.0_react@19.1.0/node_modules/react-remove-scroll-bar/dist/es2015/component.es.js.map +1 -1
  87. package/dist/node_modules/.pnpm/react-remove-scroll-bar@2.3.8_@types_react@19.1.0_react@19.1.0/node_modules/react-remove-scroll-bar/dist/es2015/utils.es.js.map +1 -1
  88. package/dist/node_modules/.pnpm/react-remove-scroll@2.7.1_@types_react@19.1.0_react@19.1.0/node_modules/react-remove-scroll/dist/es2015/Combination.es.js.map +1 -1
  89. package/dist/node_modules/.pnpm/react-remove-scroll@2.7.1_@types_react@19.1.0_react@19.1.0/node_modules/react-remove-scroll/dist/es2015/SideEffect.es.js.map +1 -1
  90. package/dist/node_modules/.pnpm/react-remove-scroll@2.7.1_@types_react@19.1.0_react@19.1.0/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.es.js.map +1 -1
  91. package/dist/node_modules/.pnpm/react-remove-scroll@2.7.1_@types_react@19.1.0_react@19.1.0/node_modules/react-remove-scroll/dist/es2015/handleScroll.es.js.map +1 -1
  92. package/dist/node_modules/.pnpm/react-style-singleton@2.2.3_@types_react@19.1.0_react@19.1.0/node_modules/react-style-singleton/dist/es2015/component.es.js.map +1 -1
  93. package/dist/node_modules/.pnpm/react-style-singleton@2.2.3_@types_react@19.1.0_react@19.1.0/node_modules/react-style-singleton/dist/es2015/hook.es.js.map +1 -1
  94. package/dist/node_modules/.pnpm/react-style-singleton@2.2.3_@types_react@19.1.0_react@19.1.0/node_modules/react-style-singleton/dist/es2015/singleton.es.js.map +1 -1
  95. package/dist/node_modules/.pnpm/tslib@2.8.1/node_modules/tslib/tslib.es6.es.js.map +1 -1
  96. package/dist/node_modules/.pnpm/use-callback-ref@1.3.3_@types_react@19.1.0_react@19.1.0/node_modules/use-callback-ref/dist/es2015/useMergeRef.es.js.map +1 -1
  97. package/dist/node_modules/.pnpm/use-callback-ref@1.3.3_@types_react@19.1.0_react@19.1.0/node_modules/use-callback-ref/dist/es2015/useRef.es.js.map +1 -1
  98. package/dist/node_modules/.pnpm/use-sidecar@1.1.3_@types_react@19.1.0_react@19.1.0/node_modules/use-sidecar/dist/es2015/medium.es.js.map +1 -1
  99. package/dist/utils/index.es.js.map +1 -1
  100. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"sheet.es.js","sources":["../../../lib/components/ui/sheet.tsx"],"sourcesContent":["\"use client\";\nimport * as SheetPrimitive from \"@radix-ui/react-dialog\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport type * as React from \"react\";\n\nimport { cn } from \"@/utils\";\nimport { Cross } from \"lucide-react\";\n\nexport const Sheet = SheetPrimitive.Root;\nexport const SheetTrigger = SheetPrimitive.Trigger;\nexport const SheetClose = SheetPrimitive.Close;\nexport const SheetPortal = SheetPrimitive.Portal;\n\nexport function SheetOverlay({\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof SheetPrimitive.Overlay>) {\n\treturn (\n\t\t<SheetPrimitive.Overlay\n\t\t\tclassName={cn(\n\t\t\t\t\"fixed inset-0 z-50 bg-background/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nconst sheetVariants = cva(\n\t\"fixed z-50 gap-4 bg-background p-4 transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500 data-[state=open]:animate-in data-[state=closed]:animate-out\",\n\t{\n\t\tvariants: {\n\t\t\tside: {\n\t\t\t\ttop: \"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top\",\n\t\t\t\tbottom:\n\t\t\t\t\t\"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom\",\n\t\t\t\tleft: \"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm\",\n\t\t\t\tright:\n\t\t\t\t\t\"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm\",\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tside: \"right\",\n\t\t},\n\t},\n);\n\ninterface SheetContentProps\n\textends React.ComponentProps<typeof SheetPrimitive.Content>,\n\tVariantProps<typeof sheetVariants> { }\n\nexport function SheetContent({\n\tside = \"right\",\n\tclassName,\n\tchildren,\n\t...props\n}: SheetContentProps) {\n\treturn (\n\t\t<SheetPortal>\n\t\t\t<SheetOverlay />\n\t\t\t<SheetPrimitive.Content\n\t\t\t\tclassName={cn(sheetVariants({ side }), className)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t{/* TODO (mudasirpandith) Close button should be in document flow not absolutely positioned */}\n\t\t\t\t<SheetPrimitive.Close className=\"absolute right-4 top-4 opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-hidden focus:ring-1 focus:ring-ring disabled:pointer-events-none data-[state=open]:bg-secondary\">\n\t\t\t\t\t<Cross className=\"size-icon\" />\n\t\t\t\t\t<span className=\"sr-only\">Close</span>\n\t\t\t\t</SheetPrimitive.Close>\n\t\t\t\t{children}\n\t\t\t</SheetPrimitive.Content>\n\t\t</SheetPortal>\n\t);\n}\n\nexport function SheetHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\n\t\t\t\t\"flex flex-col space-y-2 text-center sm:text-left\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport function SheetFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\n\t\t\t\t\"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport function SheetTitle({\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof SheetPrimitive.Title>) {\n\treturn (\n\t\t<SheetPrimitive.Title\n\t\t\tclassName={cn(\"h3 font-semibold text-foreground\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport function SheetDescription({\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof SheetPrimitive.Description>) {\n\treturn (\n\t\t<SheetPrimitive.Description\n\t\t\tclassName={cn(\"body text-muted-foreground\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n"],"names":["Sheet","SheetPrimitive.Root","SheetTrigger","SheetPrimitive.Trigger","SheetClose","SheetPrimitive.Close","SheetPortal","SheetPrimitive.Portal","SheetOverlay","className","props","jsx","SheetPrimitive.Overlay","cn","sheetVariants","cva","SheetContent","side","children","jsxs","SheetPrimitive.Content","Cross","SheetHeader","SheetFooter","SheetTitle","SheetPrimitive.Title","SheetDescription","SheetPrimitive.Description"],"mappings":";;;;;;AAQO,MAAMA,IAAQC,GACRC,IAAeC,GACfC,IAAaC,GACbC,IAAcC;AAEpB,SAASC,EAAa;AAAA,EAC5B,WAAAC;AAAA,EACA,GAAGC;AACJ,GAAwD;AACvD,SACC,gBAAAC;AAAA,IAACC;AAAAA,IAAA;AAAA,MACA,WAAWC;AAAA,QACV;AAAA,QACAJ;AAAA,MAAA;AAAA,MAEA,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGP;AAEA,MAAMI,IAAgBC;AAAA,EACrB;AAAA,EACA;AAAA,IACC,UAAU;AAAA,MACT,MAAM;AAAA,QACL,KAAK;AAAA,QACL,QACC;AAAA,QACD,MAAM;AAAA,QACN,OACC;AAAA,MAAA;AAAA,IACF;AAAA,IAED,iBAAiB;AAAA,MAChB,MAAM;AAAA,IAAA;AAAA,EACP;AAEF;AAMO,SAASC,EAAa;AAAA,EAC5B,MAAAC,IAAO;AAAA,EACP,WAAAR;AAAA,EACA,UAAAS;AAAA,EACA,GAAGR;AACJ,GAAsB;AACrB,2BACEJ,GAAA,EACA,UAAA;AAAA,IAAA,gBAAAK,EAACH,GAAA,EAAa;AAAA,IACd,gBAAAW;AAAA,MAACC;AAAAA,MAAA;AAAA,QACA,WAAWP,EAAGC,EAAc,EAAE,MAAAG,EAAA,CAAM,GAAGR,CAAS;AAAA,QAC/C,GAAGC;AAAA,QAGJ,UAAA;AAAA,UAAA,gBAAAS,EAACd,GAAA,EAAqB,WAAU,+MAC/B,UAAA;AAAA,YAAA,gBAAAM,EAACU,GAAA,EAAM,WAAU,YAAA,CAAY;AAAA,YAC7B,gBAAAV,EAAC,QAAA,EAAK,WAAU,WAAU,UAAA,QAAA,CAAK;AAAA,UAAA,GAChC;AAAA,UACCO;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,GACD;AAEF;AAEO,SAASI,EAAY,EAAE,WAAAb,GAAW,GAAGC,KAAsC;AACjF,SACC,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,WAAWE;AAAA,QACV;AAAA,QACAJ;AAAA,MAAA;AAAA,MAEA,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGP;AAEO,SAASa,EAAY,EAAE,WAAAd,GAAW,GAAGC,KAAsC;AACjF,SACC,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,WAAWE;AAAA,QACV;AAAA,QACAJ;AAAA,MAAA;AAAA,MAEA,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGP;AAEO,SAASc,EAAW;AAAA,EAC1B,WAAAf;AAAA,EACA,GAAGC;AACJ,GAAsD;AACrD,SACC,gBAAAC;AAAA,IAACc;AAAAA,IAAA;AAAA,MACA,WAAWZ,EAAG,oCAAoCJ,CAAS;AAAA,MAC1D,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGP;AAEO,SAASgB,EAAiB;AAAA,EAChC,WAAAjB;AAAA,EACA,GAAGC;AACJ,GAA4D;AAC3D,SACC,gBAAAC;AAAA,IAACgB;AAAAA,IAAA;AAAA,MACA,WAAWd,EAAG,8BAA8BJ,CAAS;AAAA,MACpD,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGP;"}
1
+ {"version":3,"file":"sheet.es.js","sources":["../../../lib/components/ui/sheet.tsx"],"sourcesContent":["\"use client\";\nimport * as SheetPrimitive from \"@radix-ui/react-dialog\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport type * as React from \"react\";\n\nimport { cn } from \"@/utils\";\nimport { X } from \"lucide-react\";\n\nexport const Sheet = SheetPrimitive.Root;\nexport const SheetTrigger = SheetPrimitive.Trigger;\nexport const SheetClose = SheetPrimitive.Close;\nexport const SheetPortal = SheetPrimitive.Portal;\n\nexport function SheetOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Overlay>) {\n return (\n <SheetPrimitive.Overlay\n className={cn(\n \"fixed inset-0 z-50 bg-background/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n className\n )}\n {...props}\n />\n );\n}\n\nconst sheetVariants = cva(\n \"fixed z-50 gap-4 bg-background p-4 transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500 data-[state=open]:animate-in data-[state=closed]:animate-out\",\n {\n variants: {\n side: {\n top: \"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top\",\n bottom:\n \"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom\",\n left: \"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm\",\n right:\n \"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm\",\n },\n },\n defaultVariants: {\n side: \"right\",\n },\n }\n);\n\ninterface SheetContentProps\n extends React.ComponentProps<typeof SheetPrimitive.Content>,\n VariantProps<typeof sheetVariants> {}\n\nexport function SheetContent({\n side = \"right\",\n className,\n children,\n ...props\n}: SheetContentProps) {\n return (\n <SheetPortal>\n <SheetOverlay />\n <SheetPrimitive.Content\n className={cn(sheetVariants({ side }), className)}\n {...props}\n >\n {children}\n </SheetPrimitive.Content>\n </SheetPortal>\n );\n}\nexport function SheetHeader({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n className={cn(\"flex justify-between items-start\", className)}\n {...props}\n >\n <div className=\"flex flex-col space-y-2 text-left\">{props.children}</div>\n <SheetPrimitive.Close className=\"btn\">\n <X className=\"size-icon\" />\n <span className=\"sr-only\">Close</span>\n </SheetPrimitive.Close>\n </div>\n );\n}\n\nexport function SheetFooter({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n className={cn(\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\n className\n )}\n {...props}\n />\n );\n}\n\nexport function SheetTitle({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Title>) {\n return (\n <SheetPrimitive.Title\n className={cn(\"h3 font-semibold text-foreground\", className)}\n {...props}\n />\n );\n}\n\nexport function SheetDescription({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Description>) {\n return (\n <SheetPrimitive.Description\n className={cn(\"body text-muted-foreground\", className)}\n {...props}\n />\n );\n}\n"],"names":["Sheet","SheetPrimitive.Root","SheetTrigger","SheetPrimitive.Trigger","SheetClose","SheetPrimitive.Close","SheetPortal","SheetPrimitive.Portal","SheetOverlay","className","props","jsx","SheetPrimitive.Overlay","cn","sheetVariants","cva","SheetContent","side","children","SheetPrimitive.Content","SheetHeader","jsxs","X","SheetFooter","SheetTitle","SheetPrimitive.Title","SheetDescription","SheetPrimitive.Description"],"mappings":";;;;;;AAQO,MAAMA,IAAQC,GACRC,IAAeC,GACfC,IAAaC,GACbC,IAAcC;AAEpB,SAASC,EAAa;AAAA,EAC3B,WAAAC;AAAA,EACA,GAAGC;AACL,GAAwD;AACtD,SACE,gBAAAC;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACT;AAAA,QACAJ;AAAA,MAAA;AAAA,MAED,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,MAAMI,IAAgBC;AAAA,EACpB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,MAAM;AAAA,QACJ,KAAK;AAAA,QACL,QACE;AAAA,QACF,MAAM;AAAA,QACN,OACE;AAAA,MAAA;AAAA,IACJ;AAAA,IAEF,iBAAiB;AAAA,MACf,MAAM;AAAA,IAAA;AAAA,EACR;AAEJ;AAMO,SAASC,EAAa;AAAA,EAC3B,MAAAC,IAAO;AAAA,EACP,WAAAR;AAAA,EACA,UAAAS;AAAA,EACA,GAAGR;AACL,GAAsB;AACpB,2BACGJ,GAAA,EACC,UAAA;AAAA,IAAA,gBAAAK,EAACH,GAAA,EAAa;AAAA,IACd,gBAAAG;AAAA,MAACQ;AAAAA,MAAA;AAAA,QACC,WAAWN,EAAGC,EAAc,EAAE,MAAAG,EAAA,CAAM,GAAGR,CAAS;AAAA,QAC/C,GAAGC;AAAA,QAEH,UAAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,EACH,GACF;AAEJ;AACO,SAASE,EAAY;AAAA,EAC1B,WAAAX;AAAA,EACA,GAAGC;AACL,GAAgC;AAC9B,SACE,gBAAAW;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWR,EAAG,oCAAoCJ,CAAS;AAAA,MAC1D,GAAGC;AAAA,MAEJ,UAAA;AAAA,QAAA,gBAAAC,EAAC,OAAA,EAAI,WAAU,qCAAqC,UAAAD,EAAM,UAAS;AAAA,QACnE,gBAAAW,EAAChB,GAAA,EAAqB,WAAU,OAC9B,UAAA;AAAA,UAAA,gBAAAM,EAACW,GAAA,EAAE,WAAU,YAAA,CAAY;AAAA,UACzB,gBAAAX,EAAC,QAAA,EAAK,WAAU,WAAU,UAAA,QAAA,CAAK;AAAA,QAAA,EAAA,CACjC;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN;AAEO,SAASY,EAAY;AAAA,EAC1B,WAAAd;AAAA,EACA,GAAGC;AACL,GAAgC;AAC9B,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWE;AAAA,QACT;AAAA,QACAJ;AAAA,MAAA;AAAA,MAED,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;AAEO,SAASc,EAAW;AAAA,EACzB,WAAAf;AAAA,EACA,GAAGC;AACL,GAAsD;AACpD,SACE,gBAAAC;AAAA,IAACc;AAAAA,IAAA;AAAA,MACC,WAAWZ,EAAG,oCAAoCJ,CAAS;AAAA,MAC1D,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;AAEO,SAASgB,EAAiB;AAAA,EAC/B,WAAAjB;AAAA,EACA,GAAGC;AACL,GAA4D;AAC1D,SACE,gBAAAC;AAAA,IAACgB;AAAAA,IAAA;AAAA,MACC,WAAWd,EAAG,8BAA8BJ,CAAS;AAAA,MACpD,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;"}
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar.es.js","sources":["../../../lib/components/ui/sidebar.tsx"],"sourcesContent":["\"use client\"\n\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { PanelLeft } from \"lucide-react\"\nimport * as React from \"react\"\n\nimport { Button } from \"@/components/ui/button\"\nimport {\n\tSheet,\n\tSheetContent,\n\tSheetDescription,\n\tSheetHeader,\n\tSheetTitle,\n} from \"@/components/ui/sheet\"\nimport { Skeleton } from \"@/components/ui/skeleton\"\nimport {\n\tTooltip,\n\tTooltipContent,\n\tTooltipProvider,\n\tTooltipTrigger,\n} from \"@/components/ui/tooltip\"\nimport { useIsMobile } from \"@/hooks/use-mobile\"\nimport { cn } from \"@/utils\"\n\n// TODO use tailwind variables\nconst SIDEBAR_WIDTH = \"16rem\"\nconst SIDEBAR_WIDTH_MOBILE = \"18rem\"\nconst SIDEBAR_WIDTH_ICON = \"3rem\"\nconst SIDEBAR_KEYBOARD_SHORTCUT = \"b\"\n\ntype SidebarContextProps = {\n\tstate: \"expanded\" | \"collapsed\"\n\topen: boolean\n\tsetOpen: (open: boolean) => void\n\topenMobile: boolean\n\tsetOpenMobile: (open: boolean) => void\n\tisMobile: boolean\n\ttoggleSidebar: () => void\n}\n\nexport const SidebarContext = React.createContext<SidebarContextProps | null>(null)\n\nexport function useSidebar() {\n\tconst context = React.useContext(SidebarContext)\n\tif (!context) {\n\t\tthrow new Error(\"useSidebar must be used within a SidebarProvider.\")\n\t}\n\n\treturn context\n}\n\nexport function SidebarProvider(\n\t{\n\t\tdefaultOpen = true,\n\t\topen: openProp,\n\t\tonOpenChange: setOpenProp,\n\t\tclassName,\n\t\tstyle,\n\t\tchildren,\n\t\t...props\n\t}: React.ComponentProps<'div'> & {\n\t\tdefaultOpen?: boolean\n\t\topen?: boolean\n\t\tonOpenChange?: (open: boolean) => void\n\t}) {\n\tconst isMobile = useIsMobile()\n\tconst [openMobile, setOpenMobile] = React.useState(false)\n\n\t// This is the internal state of the sidebar.\n\t// We use openProp and setOpenProp for control from outside the component.\n\tconst [_open, _setOpen] = React.useState(defaultOpen)\n\tconst open = openProp ?? _open\n\tconst setOpen = React.useCallback(\n\t\t(value: boolean | ((value: boolean) => boolean)) => {\n\t\t\tconst openState = typeof value === \"function\" ? value(open) : value\n\t\t\tif (setOpenProp) {\n\t\t\t\tsetOpenProp(openState)\n\t\t\t} else {\n\t\t\t\t_setOpen(openState)\n\t\t\t}\n\n\t\t\t// TODO, use different model for persistence\n\t\t\t// This sets the cookie to keep the sidebar state.\n\t\t\t// document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`\n\t\t},\n\t\t[setOpenProp, open]\n\t)\n\n\t// Helper to toggle the sidebar.\n\tconst toggleSidebar = React.useCallback(() => {\n\t\treturn isMobile\n\t\t\t? setOpenMobile((open) => !open)\n\t\t\t: setOpen((open) => !open)\n\t}, [isMobile, setOpen, setOpenMobile])\n\n\t// Adds a keyboard shortcut to toggle the sidebar.\n\tReact.useEffect(() => {\n\t\tconst handleKeyDown = (event: KeyboardEvent) => {\n\t\t\tif (\n\t\t\t\tevent.key === SIDEBAR_KEYBOARD_SHORTCUT &&\n\t\t\t\t(event.metaKey || event.ctrlKey)\n\t\t\t) {\n\t\t\t\tevent.preventDefault()\n\t\t\t\ttoggleSidebar()\n\t\t\t}\n\t\t}\n\n\t\twindow.addEventListener(\"keydown\", handleKeyDown)\n\t\treturn () => window.removeEventListener(\"keydown\", handleKeyDown)\n\t}, [toggleSidebar])\n\n\t// We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\n\t// This makes it easier to style the sidebar with Tailwind classes.\n\tconst state = open ? \"expanded\" : \"collapsed\"\n\n\tconst contextValue = React.useMemo<SidebarContextProps>(\n\t\t() => ({\n\t\t\tstate,\n\t\t\topen,\n\t\t\tsetOpen,\n\t\t\tisMobile,\n\t\t\topenMobile,\n\t\t\tsetOpenMobile,\n\t\t\ttoggleSidebar,\n\t\t}),\n\t\t[state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]\n\t)\n\n\treturn (\n\t\t<SidebarContext.Provider value={contextValue}>\n\t\t\t<TooltipProvider delayDuration={0}>\n\t\t\t\t<div\n\t\t\t\t\tstyle={\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"--sidebar-width\": SIDEBAR_WIDTH,\n\t\t\t\t\t\t\t\"--sidebar-width-icon\": SIDEBAR_WIDTH_ICON,\n\t\t\t\t\t\t\t...style,\n\t\t\t\t\t\t} as React.CSSProperties\n\t\t\t\t\t}\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\"group/sidebar-wrapper flex w-full has-[[data-variant=inset]]:bg-sidebar\",\n\t\t\t\t\t\tclassName\n\t\t\t\t\t)}\n\t\t\t\t\t{...props}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t</TooltipProvider>\n\t\t</SidebarContext.Provider>\n\t)\n}\n\n\nexport function Sidebar(\n\t{\n\t\tside = \"left\",\n\t\tvariant = \"sidebar\",\n\t\tcollapsible = \"offcanvas\",\n\t\tclassName,\n\t\tchildren,\n\t\t...props\n\t}: React.ComponentProps<\"div\"> & {\n\t\tside?: \"left\" | \"right\"\n\t\tvariant?: \"sidebar\" | \"floating\" | \"inset\"\n\t\tcollapsible?: \"offcanvas\" | \"icon\" | \"none\"\n\t}\n) {\n\tconst { isMobile, state, openMobile, setOpenMobile } = useSidebar()\n\n\tif (collapsible === \"none\") {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"flex h-full w-[--sidebar-width] flex-col bg-sidebar text-sidebar-foreground\",\n\t\t\t\t\tclassName\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t)\n\t}\n\n\tif (isMobile) {\n\t\treturn (\n\t\t\t<Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\n\t\t\t\t<SheetContent\n\t\t\t\t\tdata-sidebar=\"sidebar\"\n\t\t\t\t\tdata-mobile=\"true\"\n\t\t\t\t\tclassName=\"w-[--sidebar-width] bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden\"\n\t\t\t\t\tstyle={\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"--sidebar-width\": SIDEBAR_WIDTH_MOBILE,\n\t\t\t\t\t\t} as React.CSSProperties\n\t\t\t\t\t}\n\t\t\t\t\tside={side}\n\t\t\t\t>\n\t\t\t\t\t<SheetHeader className=\"sr-only\">\n\t\t\t\t\t\t<SheetTitle>Sidebar</SheetTitle>\n\t\t\t\t\t\t<SheetDescription>Displays the mobile sidebar.</SheetDescription>\n\t\t\t\t\t</SheetHeader>\n\t\t\t\t\t<div className=\"flex h-full w-full flex-col\">{children}</div>\n\t\t\t\t</SheetContent>\n\t\t\t</Sheet>\n\t\t)\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"group peer hidden text-sidebar-foreground md:block\"\n\t\t\tdata-state={state}\n\t\t\tdata-collapsible={state === \"collapsed\" ? collapsible : \"\"}\n\t\t\tdata-variant={variant}\n\t\t\tdata-side={side}\n\t\t>\n\t\t\t{/* This is what handles the sidebar gap on desktop */}\n\t\t\t<div\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"relative w-(--sidebar-width) bg-sidebar transition-[width] duration-200 ease-linear\",\n\t\t\t\t\t\"group-data-[collapsible=offcanvas]:w-0\",\n\t\t\t\t\t\"group-data-[side=right]:rotate-180\",\n\t\t\t\t\tvariant === \"floating\" || variant === \"inset\"\n\t\t\t\t\t\t? \"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]\"\n\t\t\t\t\t\t: \"group-data-[collapsible=icon]:w-[--sidebar-width-icon]\"\n\t\t\t\t)}\n\t\t\t/>\n\t\t\t<div\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"absolute z-10 hidden w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex\",\n\t\t\t\t\tside === \"left\"\n\t\t\t\t\t\t? \"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]\"\n\t\t\t\t\t\t: \"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]\",\n\t\t\t\t\t// Adjust the padding for floating and inset variants.\n\t\t\t\t\tvariant === \"floating\" || variant === \"inset\"\n\t\t\t\t\t\t? \"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]\"\n\t\t\t\t\t\t: \"group-data-[collapsible=icon]:w-[--sidebar-width-icon] group-data-[side=left]:border-r group-data-[side=right]:border-l\",\n\t\t\t\t\tclassName\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tdata-sidebar=\"sidebar\"\n\t\t\t\t\tclassName=\"flex h-full w-full flex-col bg-sidebar group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow\"\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\n\n\nexport function SidebarTrigger({ className, onClick, ...props }: React.ComponentProps<typeof Button>) {\n\tconst { toggleSidebar } = useSidebar()\n\n\treturn (\n\t\t<Button\n\t\t\tdata-sidebar=\"trigger\"\n\t\t\tvariant=\"ghost\"\n\t\t\tsize=\"icon\"\n\t\t\tonClick={(event) => {\n\t\t\t\tonClick?.(event)\n\t\t\t\ttoggleSidebar()\n\t\t\t}}\n\t\t\t{...props}\n\t\t>\n\t\t\t<PanelLeft />\n\t\t\t<span className=\"sr-only\">Toggle Sidebar</span>\n\t\t</Button>\n\t)\n}\n\n// TODO, evaluate if we need this??\nexport const SidebarRail = React.forwardRef<\n\tHTMLButtonElement,\n\tReact.ComponentProps<\"button\">\n>(({ className, ...props }, ref) => {\n\tconst { toggleSidebar } = useSidebar()\n\n\treturn (\n\t\t<button\n\t\t\tref={ref}\n\t\t\tdata-sidebar=\"rail\"\n\t\t\taria-label=\"Toggle Sidebar\"\n\t\t\ttabIndex={-1}\n\t\t\tonClick={toggleSidebar}\n\t\t\ttitle=\"Toggle Sidebar\"\n\t\t\tclassName={cn(\n\t\t\t\t\"absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex\",\n\t\t\t\t\"[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize\",\n\t\t\t\t\"[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize\",\n\t\t\t\t\"group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-sidebar\",\n\t\t\t\t\"[[data-side=left][data-collapsible=offcanvas]_&]:-right-2\",\n\t\t\t\t\"[[data-side=right][data-collapsible=offcanvas]_&]:-left-2\",\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n})\nSidebarRail.displayName = \"SidebarRail\"\n\nexport function SidebarInset({ className, ...props }: React.ComponentProps<'main'>) {\n\treturn (\n\t\t<main\n\t\t\tclassName={cn(\n\t\t\t\t\"relative flex w-full flex-1 flex-col bg-background\",\n\t\t\t\t\"md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow\",\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\n\nexport function SidebarHeader({ className, ...props }: React.ComponentProps<'div'>) {\n\treturn (\n\t\t<div\n\n\t\t\tdata-sidebar=\"header\"\n\t\t\tclassName={cn(\"flex flex-col gap-2 p-2\", className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nexport function SidebarFooter({ className, ...props }: React.ComponentProps<'div'>) {\n\treturn (\n\t\t<div\n\t\t\tdata-sidebar=\"footer\"\n\t\t\tclassName={cn(\"flex flex-col gap-2 p-2\", className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nexport function SidebarContent({ className, ...props }: React.ComponentProps<'div'>) {\n\treturn (\n\t\t<div\n\t\t\tdata-sidebar=\"content\"\n\t\t\tclassName={cn(\n\t\t\t\t\"flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden\",\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nexport function SidebarGroup({ className, ...props }: React.ComponentProps<'div'>) {\n\treturn (\n\t\t<div\n\t\t\tdata-sidebar=\"group\"\n\t\t\tclassName={cn(\"relative flex w-full min-w-0 flex-col p-2\", className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\n\nexport function SidebarGroupLabel({ className, asChild = false, ...props }: React.ComponentProps<\"div\"> & { asChild?: boolean }) {\n\tconst Comp = asChild ? Slot : \"div\"\n\n\treturn (\n\t\t<Comp\n\t\t\tdata-sidebar=\"group-label\"\n\t\t\tclassName={cn(\n\t\t\t\t\"flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 outline-none ring-sidebar-ring transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0\",\n\t\t\t\t\"group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0\",\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\nexport function SidebarGroupAction({ className, asChild = false, ...props }: React.ComponentProps<\"button\"> & { asChild?: boolean }) {\n\tconst Comp = asChild ? Slot : \"button\"\n\n\treturn (\n\t\t<Comp\n\t\t\tdata-sidebar=\"group-action\"\n\t\t\tclassName={cn(\n\t\t\t\t\"absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0\",\n\t\t\t\t// Increases the hit area of the button on mobile.\n\t\t\t\t\"after:absolute after:-inset-2 after:md:hidden\",\n\t\t\t\t\"group-data-[collapsible=icon]:hidden\",\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nexport function SidebarGroupContent({ className, ...props }: React.ComponentProps<'div'>) {\n\treturn (\n\t\t<div\n\t\t\tdata-sidebar=\"group-content\"\n\t\t\tclassName={cn(\"w-full text-sm\", className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nexport function SidebarMenu({ className, ...props }: React.ComponentProps<'ul'>) {\n\treturn (\n\t\t<ul\n\t\t\tdata-sidebar=\"menu\"\n\t\t\tclassName={cn(\"flex w-full min-w-0 flex-col gap-1\", className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nexport function SidebarMenuItem({ className, ...props }: React.ComponentProps<'li'>) {\n\treturn (\n\t\t<li\n\t\t\tdata-sidebar=\"menu-item\"\n\t\t\tclassName={cn(\"group/menu-item relative list-none\", className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\n\n\n\n/// TODO fix positioning\nexport function SidebarMenuAction({ className, asChild = false, showOnHover = false, ...props }: React.ComponentProps<\"button\"> & {\n\tasChild?: boolean\n\tshowOnHover?: boolean\n}) {\n\tconst Comp = asChild ? Slot : \"button\"\n\n\treturn (\n\t\t<Comp\n\t\t\tdata-sidebar=\"menu-action\"\n\t\t\tclassName={cn(\n\t\t\t\t\"absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 peer-hover/menu-button:text-sidebar-accent-foreground [&>svg]:size-4 [&>svg]:shrink-0\",\n\t\t\t\t// Increases the hit area of the button on mobile.\n\t\t\t\t\"after:absolute after:-inset-2 after:md:hidden\",\n\t\t\t\t\"peer-data-[size=sm]/menu-button:top-1\",\n\t\t\t\t\"peer-data-[size=default]/menu-button:top-1.5\",\n\t\t\t\t\"peer-data-[size=lg]/menu-button:top-2.5\",\n\t\t\t\t\"group-data-[collapsible=icon]:hidden\",\n\t\t\t\tshowOnHover &&\n\t\t\t\t\"group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground md:opacity-0\",\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nexport function SidebarMenuBadge({ className, ...props }: React.ComponentProps<'div'>) {\n\treturn (\n\t\t<div\n\t\t\tdata-sidebar=\"menu-badge\"\n\t\t\tclassName={cn(\n\t\t\t\t\"pointer-events-none absolute right-1 flex h-5 min-w-5 select-none items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums text-sidebar-foreground\",\n\t\t\t\t\"peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground\",\n\t\t\t\t\"peer-data-[size=sm]/menu-button:top-1\",\n\t\t\t\t\"peer-data-[size=default]/menu-button:top-1.5\",\n\t\t\t\t\"peer-data-[size=lg]/menu-button:top-2.5\",\n\t\t\t\t\"group-data-[collapsible=icon]:hidden\",\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nexport function SidebarMenuSkeleton({ className, showIcon = false, ...props }: React.ComponentProps<\"div\"> & {\n\tshowIcon?: boolean\n}) {\n\t// Random width between 50 to 90%.\n\tconst width = React.useMemo(() => {\n\t\treturn `${Math.floor(Math.random() * 40) + 50}%`\n\t}, [])\n\n\treturn (\n\t\t<div\n\t\t\tdata-sidebar=\"menu-skeleton\"\n\t\t\tclassName={cn(\"flex h-8 items-center gap-2 rounded-md px-2\", className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{showIcon && (\n\t\t\t\t<Skeleton\n\t\t\t\t\tclassName=\"size-4 rounded-md\"\n\t\t\t\t\tdata-sidebar=\"menu-skeleton-icon\"\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t<Skeleton\n\t\t\t\tclassName=\"h-4 max-w-[--skeleton-width] flex-1\"\n\t\t\t\tdata-sidebar=\"menu-skeleton-text\"\n\t\t\t\tstyle={\n\t\t\t\t\t{\n\t\t\t\t\t\t\"--skeleton-width\": width,\n\t\t\t\t\t} as React.CSSProperties\n\t\t\t\t}\n\t\t\t/>\n\t\t</div>\n\t)\n}\n\nexport function SidebarMenuSub({ className, ...props }: React.ComponentProps<'ul'>) {\n\treturn (\n\t\t<ul\n\t\t\tdata-sidebar=\"menu-sub\"\n\t\t\tclassName={cn(\n\t\t\t\t\"mx-2 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2\",\n\t\t\t\t\"group-data-[collapsible=icon]:hidden\",\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nexport function SidebarMenuSubItem({ className, ...props }: React.ComponentProps<'li'>) { return <li className={cn(\"list-none ms-0\", className)} {...props} /> }\n\n// Common interaction logic for SidebarMenuButton and SidebarMenuSubButton\nconst Cs_SidebarButton = \"flex w-full items-center gap-2 truncate p-2 text-sm btn btn-ghost h-input text-sidebar-accent data-[active=true]:bg-sidebar-primary/20 data-[active=true]:font-medium data-[active=true]:text-sidebar-primary [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0\";\nexport function SidebarMenuButton\n\t(\n\t\t{\n\t\t\tasChild = false,\n\t\t\tisActive = false,\n\t\t\ttooltip,\n\t\t\tclassName,\n\t\t\t...props\n\t\t}: React.ComponentProps<\"button\"> & {\n\t\t\tasChild?: boolean\n\t\t\tisActive?: boolean\n\t\t\ttooltip?: React.ComponentProps<typeof TooltipContent>\n\t\t}\n\t) {\n\tconst Comp = asChild ? Slot : \"button\"\n\tconst { isMobile, state } = useSidebar()\n\n\tconst button = (\n\t\t<Comp\n\t\t\tdata-sidebar=\"menu-button\"\n\t\t\tdata-active={isActive}\n\t\t\tclassName={cn(\n\t\t\t\t\"peer/menu-button group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 group-data-[collapsible=icon]:!size-icon group-data-[collapsible=icon]:!p-2 \",\n\t\t\t\tCs_SidebarButton,\n\t\t\t\tclassName)}\n\t\t\t{...props}\n\t\t/>\n\t)\n\n\tif (!tooltip) {\n\t\treturn button\n\t}\n\n\treturn (\n\t\t<Tooltip>\n\t\t\t<TooltipTrigger asChild>{button}</TooltipTrigger>\n\t\t\t<TooltipContent\n\t\t\t\tside=\"right\"\n\t\t\t\talign=\"center\"\n\t\t\t\thidden={state !== \"collapsed\" || isMobile}\n\t\t\t\t{...tooltip}\n\t\t\t/>\n\t\t</Tooltip>\n\t)\n}\n\nexport function SidebarMenuSubButton({ asChild = false, isActive, className, ...props }: React.ComponentProps<'a'> & {\n\tasChild?: boolean\n\tisActive?: boolean\n}) {\n\tconst Comp = asChild ? Slot : \"a\"\n\n\treturn (\n\t\t<Comp\n\t\t\tdata-sidebar=\"menu-sub-button\"\n\t\t\tdata-active={isActive}\n\t\t\tclassName={cn(\n\t\t\t\t\"-translate-x-px [&>svg]:text-sidebar-accent-foreground\",\n\t\t\t\t\"group-data-[collapsible=icon]:hidden\",\n\t\t\t\tCs_SidebarButton,\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n// TODO, standardize heights here"],"names":["SIDEBAR_WIDTH","SIDEBAR_WIDTH_MOBILE","SIDEBAR_WIDTH_ICON","SIDEBAR_KEYBOARD_SHORTCUT","SidebarContext","React","useSidebar","context","SidebarProvider","defaultOpen","openProp","setOpenProp","className","style","children","props","isMobile","useIsMobile","openMobile","setOpenMobile","_open","_setOpen","open","setOpen","value","openState","toggleSidebar","handleKeyDown","event","state","contextValue","jsx","TooltipProvider","cn","Sidebar","side","variant","collapsible","Sheet","jsxs","SheetContent","SheetHeader","SheetTitle","SheetDescription","SidebarTrigger","onClick","Button","PanelLeft","SidebarRail","ref","SidebarInset","SidebarHeader","SidebarFooter","SidebarContent","SidebarGroup","SidebarGroupLabel","asChild","Slot","SidebarGroupAction","SidebarGroupContent","SidebarMenu","SidebarMenuItem","SidebarMenuAction","showOnHover","SidebarMenuBadge","SidebarMenuSkeleton","showIcon","width","Skeleton","SidebarMenuSub","SidebarMenuSubItem","Cs_SidebarButton","SidebarMenuButton","isActive","tooltip","Comp","button","Tooltip","TooltipTrigger","TooltipContent","SidebarMenuSubButton"],"mappings":"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"}
1
+ {"version":3,"file":"sidebar.es.js","sources":["../../../lib/components/ui/sidebar.tsx"],"sourcesContent":["\"use client\"\n\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { PanelLeft } from \"lucide-react\"\nimport * as React from \"react\"\n\nimport { Button } from \"@/components/ui/button\"\nimport {\n\tSheet,\n\tSheetContent,\n\tSheetDescription,\n\tSheetHeader,\n\tSheetTitle,\n} from \"@/components/ui/sheet\"\nimport { Skeleton } from \"@/components/ui/skeleton\"\nimport {\n\tTooltip,\n\tTooltipContent,\n\tTooltipProvider,\n\tTooltipTrigger,\n} from \"@/components/ui/tooltip\"\nimport { useIsMobile } from \"@/hooks/use-mobile\"\nimport { cn } from \"@/utils\"\n\n// TODO use tailwind variables\nconst SIDEBAR_WIDTH = \"16rem\"\nconst SIDEBAR_WIDTH_MOBILE = \"18rem\"\nconst SIDEBAR_WIDTH_ICON = \"3rem\"\nconst SIDEBAR_KEYBOARD_SHORTCUT = \"b\"\n\ntype SidebarContextProps = {\n\tstate: \"expanded\" | \"collapsed\"\n\topen: boolean\n\tsetOpen: (open: boolean) => void\n\topenMobile: boolean\n\tsetOpenMobile: (open: boolean) => void\n\tisMobile: boolean\n\ttoggleSidebar: () => void\n}\n\nexport const SidebarContext = React.createContext<SidebarContextProps | null>(null)\n\nexport function useSidebar() {\n\tconst context = React.useContext(SidebarContext)\n\tif (!context) {\n\t\tthrow new Error(\"useSidebar must be used within a SidebarProvider.\")\n\t}\n\n\treturn context\n}\n\nexport function SidebarProvider(\n\t{\n\t\tdefaultOpen = true,\n\t\topen: openProp,\n\t\tonOpenChange: setOpenProp,\n\t\tclassName,\n\t\tstyle,\n\t\tchildren,\n\t\t...props\n\t}: React.ComponentProps<'div'> & {\n\t\tdefaultOpen?: boolean\n\t\topen?: boolean\n\t\tonOpenChange?: (open: boolean) => void\n\t}) {\n\tconst isMobile = useIsMobile()\n\tconst [openMobile, setOpenMobile] = React.useState(false)\n\n\t// This is the internal state of the sidebar.\n\t// We use openProp and setOpenProp for control from outside the component.\n\tconst [_open, _setOpen] = React.useState(defaultOpen)\n\tconst open = openProp ?? _open\n\tconst setOpen = React.useCallback(\n\t\t(value: boolean | ((value: boolean) => boolean)) => {\n\t\t\tconst openState = typeof value === \"function\" ? value(open) : value\n\t\t\tif (setOpenProp) {\n\t\t\t\tsetOpenProp(openState)\n\t\t\t} else {\n\t\t\t\t_setOpen(openState)\n\t\t\t}\n\n\t\t\t// TODO, use different model for persistence\n\t\t\t// This sets the cookie to keep the sidebar state.\n\t\t\t// document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`\n\t\t},\n\t\t[setOpenProp, open]\n\t)\n\n\t// Helper to toggle the sidebar.\n\tconst toggleSidebar = React.useCallback(() => {\n\t\treturn isMobile\n\t\t\t? setOpenMobile((open) => !open)\n\t\t\t: setOpen((open) => !open)\n\t}, [isMobile, setOpen, setOpenMobile])\n\n\t// Adds a keyboard shortcut to toggle the sidebar.\n\tReact.useEffect(() => {\n\t\tconst handleKeyDown = (event: KeyboardEvent) => {\n\t\t\tif (\n\t\t\t\tevent.key === SIDEBAR_KEYBOARD_SHORTCUT &&\n\t\t\t\t(event.metaKey || event.ctrlKey)\n\t\t\t) {\n\t\t\t\tevent.preventDefault()\n\t\t\t\ttoggleSidebar()\n\t\t\t}\n\t\t}\n\n\t\twindow.addEventListener(\"keydown\", handleKeyDown)\n\t\treturn () => window.removeEventListener(\"keydown\", handleKeyDown)\n\t}, [toggleSidebar])\n\n\t// We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\n\t// This makes it easier to style the sidebar with Tailwind classes.\n\tconst state = open ? \"expanded\" : \"collapsed\"\n\n\tconst contextValue = React.useMemo<SidebarContextProps>(\n\t\t() => ({\n\t\t\tstate,\n\t\t\topen,\n\t\t\tsetOpen,\n\t\t\tisMobile,\n\t\t\topenMobile,\n\t\t\tsetOpenMobile,\n\t\t\ttoggleSidebar,\n\t\t}),\n\t\t[state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]\n\t)\n\n\treturn (\n\t\t<SidebarContext.Provider value={contextValue}>\n\t\t\t<TooltipProvider delayDuration={0}>\n\t\t\t\t<div\n\t\t\t\t\tstyle={\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"--sidebar-width\": SIDEBAR_WIDTH,\n\t\t\t\t\t\t\t\"--sidebar-width-icon\": SIDEBAR_WIDTH_ICON,\n\t\t\t\t\t\t\t...style,\n\t\t\t\t\t\t} as React.CSSProperties\n\t\t\t\t\t}\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\"group/sidebar-wrapper flex w-full has-[[data-variant=inset]]:bg-sidebar\",\n\t\t\t\t\t\tclassName\n\t\t\t\t\t)}\n\t\t\t\t\t{...props}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t</TooltipProvider>\n\t\t</SidebarContext.Provider>\n\t)\n}\n\n\nexport function Sidebar(\n\t{\n\t\tside = \"left\",\n\t\tvariant = \"sidebar\",\n\t\tcollapsible = \"offcanvas\",\n\t\tclassName,\n\t\tchildren,\n\t\t...props\n\t}: React.ComponentProps<\"div\"> & {\n\t\tside?: \"left\" | \"right\"\n\t\tvariant?: \"sidebar\" | \"floating\" | \"inset\"\n\t\tcollapsible?: \"offcanvas\" | \"icon\" | \"none\"\n\t}\n) {\n\tconst { isMobile, state, openMobile, setOpenMobile } = useSidebar()\n\n\tif (collapsible === \"none\") {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"flex h-full w-[--sidebar-width] flex-col bg-sidebar text-sidebar-foreground\",\n\t\t\t\t\tclassName\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t)\n\t}\n\n\tif (isMobile) {\n\t\treturn (\n\t\t\t<Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\n\t\t\t\t<SheetContent\n\t\t\t\t\tdata-sidebar=\"sidebar\"\n\t\t\t\t\tdata-mobile=\"true\"\n\t\t\t\t\tclassName=\"w-[--sidebar-width] bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden\"\n\t\t\t\t\tstyle={\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"--sidebar-width\": SIDEBAR_WIDTH_MOBILE,\n\t\t\t\t\t\t} as React.CSSProperties\n\t\t\t\t\t}\n\t\t\t\t\tside={side}\n\t\t\t\t>\n\t\t\t\t\t<SheetHeader className=\"sr-only\">\n\t\t\t\t\t\t<SheetTitle>Sidebar</SheetTitle>\n\t\t\t\t\t\t<SheetDescription>Displays the mobile sidebar.</SheetDescription>\n\t\t\t\t\t</SheetHeader>\n\t\t\t\t\t<div className=\"flex h-full w-full flex-col\">{children}</div>\n\t\t\t\t</SheetContent>\n\t\t\t</Sheet>\n\t\t)\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"group peer hidden text-sidebar-foreground md:block\"\n\t\t\tdata-state={state}\n\t\t\tdata-collapsible={state === \"collapsed\" ? collapsible : \"\"}\n\t\t\tdata-variant={variant}\n\t\t\tdata-side={side}\n\t\t>\n\t\t\t{/* This is what handles the sidebar gap on desktop */}\n\t\t\t<div\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"relative w-(--sidebar-width) bg-sidebar transition-[width] duration-200 ease-linear\",\n\t\t\t\t\t\"group-data-[collapsible=offcanvas]:w-0\",\n\t\t\t\t\t\"group-data-[side=right]:rotate-180\",\n\t\t\t\t\tvariant === \"floating\" || variant === \"inset\"\n\t\t\t\t\t\t? \"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]\"\n\t\t\t\t\t\t: \"group-data-[collapsible=icon]:w-[--sidebar-width-icon]\"\n\t\t\t\t)}\n\t\t\t/>\n\t\t\t<div\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"absolute z-10 hidden w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex\",\n\t\t\t\t\tside === \"left\"\n\t\t\t\t\t\t? \"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]\"\n\t\t\t\t\t\t: \"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]\",\n\t\t\t\t\t// Adjust the padding for floating and inset variants.\n\t\t\t\t\tvariant === \"floating\" || variant === \"inset\"\n\t\t\t\t\t\t? \"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]\"\n\t\t\t\t\t\t: \"group-data-[collapsible=icon]:w-[--sidebar-width-icon] group-data-[side=left]:border-r group-data-[side=right]:border-l\",\n\t\t\t\t\tclassName\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tdata-sidebar=\"sidebar\"\n\t\t\t\t\tclassName=\"flex h-full w-full flex-col bg-sidebar group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow\"\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\n\n\nexport function SidebarTrigger({ className, onClick, ...props }: React.ComponentProps<typeof Button>) {\n\tconst { toggleSidebar } = useSidebar()\n\n\treturn (\n\t\t<Button\n\t\t\tdata-sidebar=\"trigger\"\n\t\t\tvariant=\"ghost\"\n\t\t\tsize=\"icon\"\n\t\t\tonClick={(event) => {\n\t\t\t\tonClick?.(event)\n\t\t\t\ttoggleSidebar()\n\t\t\t}}\n\t\t\t{...props}\n\t\t>\n\t\t\t<PanelLeft />\n\t\t\t<span className=\"sr-only\">Toggle Sidebar</span>\n\t\t</Button>\n\t)\n}\n\n// TODO, evaluate if we need this??\nexport const SidebarRail = React.forwardRef<\n\tHTMLButtonElement,\n\tReact.ComponentProps<\"button\">\n>(({ className, ...props }, ref) => {\n\tconst { toggleSidebar } = useSidebar()\n\n\treturn (\n\t\t<button\n\t\t\tref={ref}\n\t\t\tdata-sidebar=\"rail\"\n\t\t\taria-label=\"Toggle Sidebar\"\n\t\t\ttabIndex={-1}\n\t\t\tonClick={toggleSidebar}\n\t\t\ttitle=\"Toggle Sidebar\"\n\t\t\tclassName={cn(\n\t\t\t\t\"absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex\",\n\t\t\t\t\"[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize\",\n\t\t\t\t\"[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize\",\n\t\t\t\t\"group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-sidebar\",\n\t\t\t\t\"[[data-side=left][data-collapsible=offcanvas]_&]:-right-2\",\n\t\t\t\t\"[[data-side=right][data-collapsible=offcanvas]_&]:-left-2\",\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n})\nSidebarRail.displayName = \"SidebarRail\"\n\nexport function SidebarInset({ className, ...props }: React.ComponentProps<'main'>) {\n\treturn (\n\t\t<main\n\t\t\tclassName={cn(\n\t\t\t\t\"relative flex w-full flex-1 flex-col bg-background\",\n\t\t\t\t\"md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow\",\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\n\nexport function SidebarHeader({ className, ...props }: React.ComponentProps<'div'>) {\n\treturn (\n\t\t<div\n\n\t\t\tdata-sidebar=\"header\"\n\t\t\tclassName={cn(\"flex flex-col gap-2 p-2\", className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nexport function SidebarFooter({ className, ...props }: React.ComponentProps<'div'>) {\n\treturn (\n\t\t<div\n\t\t\tdata-sidebar=\"footer\"\n\t\t\tclassName={cn(\"flex flex-col gap-2 p-2\", className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nexport function SidebarContent({ className, ...props }: React.ComponentProps<'div'>) {\n\treturn (\n\t\t<div\n\t\t\tdata-sidebar=\"content\"\n\t\t\tclassName={cn(\n\t\t\t\t\"flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden\",\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nexport function SidebarGroup({ className, ...props }: React.ComponentProps<'div'>) {\n\treturn (\n\t\t<div\n\t\t\tdata-sidebar=\"group\"\n\t\t\tclassName={cn(\"relative flex w-full min-w-0 flex-col p-2\", className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\n\nexport function SidebarGroupLabel({ className, asChild = false, ...props }: React.ComponentProps<\"div\"> & { asChild?: boolean }) {\n\tconst Comp = asChild ? Slot : \"div\"\n\n\treturn (\n\t\t<Comp\n\t\t\tdata-sidebar=\"group-label\"\n\t\t\tclassName={cn(\n\t\t\t\t\"flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 outline-none ring-sidebar-ring transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0\",\n\t\t\t\t\"group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0\",\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\nexport function SidebarGroupAction({ className, asChild = false, ...props }: React.ComponentProps<\"button\"> & { asChild?: boolean }) {\n\tconst Comp = asChild ? Slot : \"button\"\n\n\treturn (\n\t\t<Comp\n\t\t\tdata-sidebar=\"group-action\"\n\t\t\tclassName={cn(\n\t\t\t\t\"absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0\",\n\t\t\t\t// Increases the hit area of the button on mobile.\n\t\t\t\t\"after:absolute after:-inset-2 after:md:hidden\",\n\t\t\t\t\"group-data-[collapsible=icon]:hidden\",\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nexport function SidebarGroupContent({ className, ...props }: React.ComponentProps<'div'>) {\n\treturn (\n\t\t<div\n\t\t\tdata-sidebar=\"group-content\"\n\t\t\tclassName={cn(\"w-full text-sm\", className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nexport function SidebarMenu({ className, ...props }: React.ComponentProps<'ul'>) {\n\treturn (\n\t\t<ul\n\t\t\tdata-sidebar=\"menu\"\n\t\t\tclassName={cn(\"flex w-full min-w-0 flex-col gap-1\", className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nexport function SidebarMenuItem({ className, ...props }: React.ComponentProps<'li'>) {\n\treturn (\n\t\t<li\n\t\t\tdata-sidebar=\"menu-item\"\n\t\t\tclassName={cn(\"group/menu-item relative list-none\", className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\n\n\n\n/// TODO fix positioning\nexport function SidebarMenuAction({ className, asChild = false, showOnHover = false, ...props }: React.ComponentProps<\"button\"> & {\n\tasChild?: boolean\n\tshowOnHover?: boolean\n}) {\n\tconst Comp = asChild ? Slot : \"button\"\n\n\treturn (\n\t\t<Comp\n\t\t\tdata-sidebar=\"menu-action\"\n\t\t\tclassName={cn(\n\t\t\t\t\"absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 peer-hover/menu-button:text-sidebar-accent-foreground [&>svg]:size-4 [&>svg]:shrink-0\",\n\t\t\t\t// Increases the hit area of the button on mobile.\n\t\t\t\t\"after:absolute after:-inset-2 after:md:hidden\",\n\t\t\t\t\"peer-data-[size=sm]/menu-button:top-1\",\n\t\t\t\t\"peer-data-[size=default]/menu-button:top-1.5\",\n\t\t\t\t\"peer-data-[size=lg]/menu-button:top-2.5\",\n\t\t\t\t\"group-data-[collapsible=icon]:hidden\",\n\t\t\t\tshowOnHover &&\n\t\t\t\t\"group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground md:opacity-0\",\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nexport function SidebarMenuBadge({ className, ...props }: React.ComponentProps<'div'>) {\n\treturn (\n\t\t<div\n\t\t\tdata-sidebar=\"menu-badge\"\n\t\t\tclassName={cn(\n\t\t\t\t\"pointer-events-none absolute right-1 flex h-5 min-w-5 select-none items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums text-sidebar-foreground\",\n\t\t\t\t\"peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground\",\n\t\t\t\t\"peer-data-[size=sm]/menu-button:top-1\",\n\t\t\t\t\"peer-data-[size=default]/menu-button:top-1.5\",\n\t\t\t\t\"peer-data-[size=lg]/menu-button:top-2.5\",\n\t\t\t\t\"group-data-[collapsible=icon]:hidden\",\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nexport function SidebarMenuSkeleton({ className, showIcon = false, ...props }: React.ComponentProps<\"div\"> & {\n\tshowIcon?: boolean\n}) {\n\t// Random width between 50 to 90%.\n\tconst width = React.useMemo(() => {\n\t\treturn `${Math.floor(Math.random() * 40) + 50}%`\n\t}, [])\n\n\treturn (\n\t\t<div\n\t\t\tdata-sidebar=\"menu-skeleton\"\n\t\t\tclassName={cn(\"flex h-8 items-center gap-2 rounded-md px-2\", className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{showIcon && (\n\t\t\t\t<Skeleton\n\t\t\t\t\tclassName=\"size-4 rounded-md\"\n\t\t\t\t\tdata-sidebar=\"menu-skeleton-icon\"\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t<Skeleton\n\t\t\t\tclassName=\"h-4 max-w-[--skeleton-width] flex-1\"\n\t\t\t\tdata-sidebar=\"menu-skeleton-text\"\n\t\t\t\tstyle={\n\t\t\t\t\t{\n\t\t\t\t\t\t\"--skeleton-width\": width,\n\t\t\t\t\t} as React.CSSProperties\n\t\t\t\t}\n\t\t\t/>\n\t\t</div>\n\t)\n}\n\nexport function SidebarMenuSub({ className, ...props }: React.ComponentProps<'ul'>) {\n\treturn (\n\t\t<ul\n\t\t\tdata-sidebar=\"menu-sub\"\n\t\t\tclassName={cn(\n\t\t\t\t\"mx-2 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2\",\n\t\t\t\t\"group-data-[collapsible=icon]:hidden\",\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nexport function SidebarMenuSubItem({ className, ...props }: React.ComponentProps<'li'>) { return <li className={cn(\"list-none ms-0\", className)} {...props} /> }\n\n// Common interaction logic for SidebarMenuButton and SidebarMenuSubButton\nconst Cs_SidebarButton = \"flex w-full items-center gap-2 truncate p-2 text-sm btn btn-ghost h-input text-sidebar-accent data-[active=true]:bg-sidebar-primary/20 data-[active=true]:font-medium data-[active=true]:text-sidebar-primary [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0\";\nexport function SidebarMenuButton\n\t(\n\t\t{\n\t\t\tasChild = false,\n\t\t\tisActive = false,\n\t\t\ttooltip,\n\t\t\tclassName,\n\t\t\t...props\n\t\t}: React.ComponentProps<\"button\"> & {\n\t\t\tasChild?: boolean\n\t\t\tisActive?: boolean\n\t\t\ttooltip?: React.ComponentProps<typeof TooltipContent>\n\t\t}\n\t) {\n\tconst Comp = asChild ? Slot : \"button\"\n\tconst { isMobile, state } = useSidebar()\n\n\tconst button = (\n\t\t<Comp\n\t\t\tdata-sidebar=\"menu-button\"\n\t\t\tdata-active={isActive}\n\t\t\tclassName={cn(\n\t\t\t\t\"peer/menu-button group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 group-data-[collapsible=icon]:!size-icon group-data-[collapsible=icon]:!p-2 \",\n\t\t\t\tCs_SidebarButton,\n\t\t\t\tclassName)}\n\t\t\t{...props}\n\t\t/>\n\t)\n\n\tif (!tooltip) {\n\t\treturn button\n\t}\n\n\treturn (\n\t\t<Tooltip>\n\t\t\t<TooltipTrigger asChild>{button}</TooltipTrigger>\n\t\t\t<TooltipContent\n\t\t\t\tside=\"right\"\n\t\t\t\talign=\"center\"\n\t\t\t\thidden={state !== \"collapsed\" || isMobile}\n\t\t\t\t{...tooltip}\n\t\t\t/>\n\t\t</Tooltip>\n\t)\n}\n\nexport function SidebarMenuSubButton({ asChild = false, isActive, className, ...props }: React.ComponentProps<'a'> & {\n\tasChild?: boolean\n\tisActive?: boolean\n}) {\n\tconst Comp = asChild ? Slot : \"a\"\n\n\treturn (\n\t\t<Comp\n\t\t\tdata-sidebar=\"menu-sub-button\"\n\t\t\tdata-active={isActive}\n\t\t\tclassName={cn(\n\t\t\t\t\"-translate-x-px [&>svg]:text-sidebar-accent-foreground\",\n\t\t\t\t\"group-data-[collapsible=icon]:hidden\",\n\t\t\t\tCs_SidebarButton,\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n// TODO, standardize heights here"],"names":["SIDEBAR_WIDTH","SIDEBAR_WIDTH_MOBILE","SIDEBAR_WIDTH_ICON","SIDEBAR_KEYBOARD_SHORTCUT","SidebarContext","React","useSidebar","context","SidebarProvider","defaultOpen","openProp","setOpenProp","className","style","children","props","isMobile","useIsMobile","openMobile","setOpenMobile","_open","_setOpen","open","setOpen","value","openState","toggleSidebar","handleKeyDown","event","state","contextValue","jsx","TooltipProvider","cn","Sidebar","side","variant","collapsible","Sheet","jsxs","SheetContent","SheetHeader","SheetTitle","SheetDescription","SidebarTrigger","onClick","Button","PanelLeft","SidebarRail","ref","SidebarInset","SidebarHeader","SidebarFooter","SidebarContent","SidebarGroup","SidebarGroupLabel","asChild","Slot","SidebarGroupAction","SidebarGroupContent","SidebarMenu","SidebarMenuItem","SidebarMenuAction","showOnHover","SidebarMenuBadge","SidebarMenuSkeleton","showIcon","width","Skeleton","SidebarMenuSub","SidebarMenuSubItem","Cs_SidebarButton","SidebarMenuButton","isActive","tooltip","Comp","button","Tooltip","TooltipTrigger","TooltipContent","SidebarMenuSubButton"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"static-data-table.es.js","sources":["../../../lib/components/ui/static-data-table.tsx"],"sourcesContent":["import {\n\tgetResourceDisplayName,\n\tgetValueFromData,\n} from \"@/components/data-table\";\nimport { Badge } from \"@/components/ui/badge\";\nimport {\n\tTable,\n\tTableBody,\n\tTableCell,\n\tTableHead,\n\tTableHeader,\n\tTableRow,\n} from \"@/components/ui/table\";\n\nexport interface StaticDataTableProps<T> {\n\taccessors: (keyof T)[];\n\tdata: T[];\n\taffectedData?: T[];\n}\n\nexport function StaticDataTable<T>({\n\taccessors,\n\tdata,\n\taffectedData,\n}: StaticDataTableProps<T>) {\n\treturn (\n\t\t<Table className=\"bg-card border\">\n\t\t\t<TableHeader className=\"sticky top-0 z-10\">\n\t\t\t\t<TableRow>\n\t\t\t\t\t{accessors.map((accessor) => (\n\t\t\t\t\t\t<TableHead key={String(accessor)} className=\"py-2\">\n\t\t\t\t\t\t\t{getResourceDisplayName(String(accessor), \"admin-portal\")}\n\t\t\t\t\t\t</TableHead>\n\t\t\t\t\t))}\n\t\t\t\t\t{affectedData && <TableCell className=\"py-2\">Affected</TableCell>}\n\t\t\t\t</TableRow>\n\t\t\t</TableHeader>\n\t\t\t<TableBody>\n\t\t\t\t{data.map((item, index) => (\n\t\t\t\t\t<TableRow key={index}>\n\t\t\t\t\t\t{accessors.map((accessor) => {\n\t\t\t\t\t\t\tconst value = item[accessor];\n\t\t\t\t\t\t\t// Handle arrays (e.g., userGroups) with badges\n\t\t\t\t\t\t\tif (Array.isArray(value)) {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<TableCell key={String(accessor)}>\n\t\t\t\t\t\t\t\t\t\t{value.map((subItem, subIndex) => (\n\t\t\t\t\t\t\t\t\t\t\t<Badge key={subIndex}>{subItem?.name || subItem}</Badge>\n\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t</TableCell>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// Handle other data types\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<TableCell key={String(accessor)}>\n\t\t\t\t\t\t\t\t\t{getValueFromData(item, accessor)}\n\t\t\t\t\t\t\t\t</TableCell>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t\t{affectedData && (\n\t\t\t\t\t\t\t<TableCell>\n\t\t\t\t\t\t\t\t{affectedData.includes(item) ? (\n\t\t\t\t\t\t\t\t\t<span className=\"text-success-foreground\">✔</span>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<span className=\"text-destructive-foreground\">✖</span>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</TableCell>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</TableRow>\n\t\t\t\t))}\n\t\t\t</TableBody>\n\t\t</Table>\n\t);\n}\n"],"names":["StaticDataTable","accessors","data","affectedData","jsxs","Table","jsx","TableHeader","TableRow","accessor","TableHead","getResourceDisplayName","TableCell","TableBody","item","index","value","subItem","subIndex","Badge","getValueFromData"],"mappings":";;;;AAoBO,SAASA,EAAmB;AAAA,EAClC,WAAAC;AAAA,EACA,MAAAC;AAAA,EACA,cAAAC;AACD,GAA4B;AAC3B,SACC,gBAAAC,EAACC,GAAA,EAAM,WAAU,kBAChB,UAAA;AAAA,IAAA,gBAAAC,EAACC,GAAA,EAAY,WAAU,qBACtB,UAAA,gBAAAH,EAACI,GAAA,EACC,UAAA;AAAA,MAAAP,EAAU,IAAI,CAACQ,MACf,gBAAAH,EAACI,GAAA,EAAiC,WAAU,QAC1C,UAAAC,EAAuB,OAAOF,CAAQ,GAAG,cAAc,EAAA,GADzC,OAAOA,CAAQ,CAE/B,CACA;AAAA,MACAN,KAAgB,gBAAAG,EAACM,GAAA,EAAU,WAAU,QAAO,UAAA,WAAA,CAAQ;AAAA,IAAA,EAAA,CACtD,EAAA,CACD;AAAA,IACA,gBAAAN,EAACO,KACC,UAAAX,EAAK,IAAI,CAACY,GAAMC,wBACfP,GAAA,EACC,UAAA;AAAA,MAAAP,EAAU,IAAI,CAACQ,MAAa;AAC5B,cAAMO,IAAQF,EAAKL,CAAQ;AAE3B,eAAI,MAAM,QAAQO,CAAK,sBAEpBJ,GAAA,EACC,UAAAI,EAAM,IAAI,CAACC,GAASC,MACpB,gBAAAZ,EAACa,GAAA,EAAsB,WAAAF,KAAA,gBAAAA,EAAS,SAAQA,EAAA,GAA5BC,CAAoC,CAChD,EAAA,GAHc,OAAOT,CAAQ,CAI/B,IAKD,gBAAAH,EAACM,KACC,UAAAQ,EAAiBN,GAAML,CAAQ,EAAA,GADjB,OAAOA,CAAQ,CAE/B;AAAA,MAAA,CAED;AAAA,MACAN,KACA,gBAAAG,EAACM,GAAA,EACC,YAAa,SAASE,CAAI,IAC1B,gBAAAR,EAAC,QAAA,EAAK,WAAU,2BAA0B,eAAC,IAE3C,gBAAAA,EAAC,UAAK,WAAU,+BAA8B,eAAC,EAAA,CAEjD;AAAA,IAAA,EAAA,GA3BaS,CA6Bf,CACA,EAAA,CACF;AAAA,EAAA,GACD;AAEF;"}
1
+ {"version":3,"file":"static-data-table.es.js","sources":["../../../lib/components/ui/static-data-table.tsx"],"sourcesContent":["import {\n\tgetResourceDisplayName,\n\tgetValueFromData,\n} from \"@/components/data-table\";\nimport { Badge } from \"@/components/ui/badge\";\nimport {\n\tTable,\n\tTableBody,\n\tTableCell,\n\tTableHead,\n\tTableHeader,\n\tTableRow,\n} from \"@/components/ui/table\";\n\nexport interface StaticDataTableProps<T> {\n\taccessors: (keyof T)[];\n\tdata: T[];\n\taffectedData?: T[];\n}\n\nexport function StaticDataTable<T>({\n\taccessors,\n\tdata,\n\taffectedData,\n}: StaticDataTableProps<T>) {\n\treturn (\n\t\t<Table className=\"bg-card border\">\n\t\t\t<TableHeader className=\"sticky top-0 z-10\">\n\t\t\t\t<TableRow>\n\t\t\t\t\t{accessors.map((accessor) => (\n\t\t\t\t\t\t<TableHead key={String(accessor)} className=\"py-2\">\n\t\t\t\t\t\t\t{getResourceDisplayName(String(accessor), \"admin-portal\")}\n\t\t\t\t\t\t</TableHead>\n\t\t\t\t\t))}\n\t\t\t\t\t{affectedData && <TableCell className=\"py-2\">Affected</TableCell>}\n\t\t\t\t</TableRow>\n\t\t\t</TableHeader>\n\t\t\t<TableBody>\n\t\t\t\t{data.map((item, index) => (\n\t\t\t\t\t<TableRow key={index}>\n\t\t\t\t\t\t{accessors.map((accessor) => {\n\t\t\t\t\t\t\tconst value = item[accessor];\n\t\t\t\t\t\t\t// Handle arrays (e.g., userGroups) with badges\n\t\t\t\t\t\t\tif (Array.isArray(value)) {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<TableCell key={String(accessor)}>\n\t\t\t\t\t\t\t\t\t\t{value.map((subItem, subIndex) => (\n\t\t\t\t\t\t\t\t\t\t\t<Badge key={subIndex}>{subItem?.name || subItem}</Badge>\n\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t</TableCell>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// Handle other data types\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<TableCell key={String(accessor)}>\n\t\t\t\t\t\t\t\t\t{getValueFromData(item, accessor)}\n\t\t\t\t\t\t\t\t</TableCell>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t\t{affectedData && (\n\t\t\t\t\t\t\t<TableCell>\n\t\t\t\t\t\t\t\t{affectedData.includes(item) ? (\n\t\t\t\t\t\t\t\t\t<span className=\"text-success-foreground\">✔</span>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<span className=\"text-destructive-foreground\">✖</span>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</TableCell>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</TableRow>\n\t\t\t\t))}\n\t\t\t</TableBody>\n\t\t</Table>\n\t);\n}\n"],"names":["StaticDataTable","accessors","data","affectedData","jsxs","Table","jsx","TableHeader","TableRow","accessor","TableHead","getResourceDisplayName","TableCell","TableBody","item","index","value","subItem","subIndex","Badge","getValueFromData"],"mappings":";;;;AAoBO,SAASA,EAAmB;AAAA,EAClC,WAAAC;AAAA,EACA,MAAAC;AAAA,EACA,cAAAC;AACD,GAA4B;AAC3B,SACC,gBAAAC,EAACC,GAAA,EAAM,WAAU,kBAChB,UAAA;AAAA,IAAA,gBAAAC,EAACC,GAAA,EAAY,WAAU,qBACtB,UAAA,gBAAAH,EAACI,GAAA,EACC,UAAA;AAAA,MAAAP,EAAU,IAAI,CAACQ,MACf,gBAAAH,EAACI,GAAA,EAAiC,WAAU,QAC1C,UAAAC,EAAuB,OAAOF,CAAQ,GAAG,cAAc,EAAA,GADzC,OAAOA,CAAQ,CAE/B,CACA;AAAA,MACAN,KAAgB,gBAAAG,EAACM,GAAA,EAAU,WAAU,QAAO,UAAA,WAAA,CAAQ;AAAA,IAAA,EAAA,CACtD,EAAA,CACD;AAAA,IACA,gBAAAN,EAACO,KACC,UAAAX,EAAK,IAAI,CAACY,GAAMC,wBACfP,GAAA,EACC,UAAA;AAAA,MAAAP,EAAU,IAAI,CAACQ,MAAa;AAC5B,cAAMO,IAAQF,EAAKL,CAAQ;AAE3B,eAAI,MAAM,QAAQO,CAAK,sBAEpBJ,GAAA,EACC,UAAAI,EAAM,IAAI,CAACC,GAASC,MACpB,gBAAAZ,EAACa,GAAA,EAAsB,WAAAF,KAAA,gBAAAA,EAAS,SAAQA,EAAA,GAA5BC,CAAoC,CAChD,EAAA,GAHc,OAAOT,CAAQ,CAI/B,IAKD,gBAAAH,EAACM,KACC,UAAAQ,EAAiBN,GAAML,CAAQ,EAAA,GADjB,OAAOA,CAAQ,CAE/B;AAAA,MAEF,CAAC;AAAA,MACAN,KACA,gBAAAG,EAACM,GAAA,EACC,YAAa,SAASE,CAAI,IAC1B,gBAAAR,EAAC,QAAA,EAAK,WAAU,2BAA0B,eAAC,IAE3C,gBAAAA,EAAC,UAAK,WAAU,+BAA8B,eAAC,EAAA,CAEjD;AAAA,IAAA,EAAA,GA3BaS,CA6Bf,CACA,EAAA,CACF;AAAA,EAAA,GACD;AAEF;"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-mobile.es.js","sources":["../../lib/hooks/use-mobile.tsx"],"sourcesContent":["import * as React from \"react\";\n\nconst MOBILE_BREAKPOINT = 768;\n\nexport function useIsMobile() {\n\tconst [isMobile, setIsMobile] = React.useState<boolean | undefined>(\n\t\tundefined,\n\t);\n\n\tReact.useEffect(() => {\n\t\tconst mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);\n\t\tconst onChange = () => {\n\t\t\tsetIsMobile(window.innerWidth < MOBILE_BREAKPOINT);\n\t\t};\n\t\tmql.addEventListener(\"change\", onChange);\n\t\tsetIsMobile(window.innerWidth < MOBILE_BREAKPOINT);\n\t\treturn () => mql.removeEventListener(\"change\", onChange);\n\t}, []);\n\n\treturn !!isMobile;\n}\n"],"names":["MOBILE_BREAKPOINT","useIsMobile","isMobile","setIsMobile","React","mql","onChange"],"mappings":";AAEA,MAAMA,IAAoB;AAEnB,SAASC,IAAc;AAC7B,QAAM,CAACC,GAAUC,CAAW,IAAIC,EAAM;AAAA,IACrC;AAAA,EAAA;AAGD,SAAAA,EAAM,UAAU,MAAM;AACrB,UAAMC,IAAM,OAAO,WAAW,eAAeL,IAAoB,CAAC,KAAK,GACjEM,IAAW,MAAM;AACtB,MAAAH,EAAY,OAAO,aAAaH,CAAiB;AAAA,IAAA;AAElD,WAAAK,EAAI,iBAAiB,UAAUC,CAAQ,GACvCH,EAAY,OAAO,aAAaH,CAAiB,GAC1C,MAAMK,EAAI,oBAAoB,UAAUC,CAAQ;AAAA,EAAA,GACrD,EAAE,GAEE,CAAC,CAACJ;AACV;"}
1
+ {"version":3,"file":"use-mobile.es.js","sources":["../../lib/hooks/use-mobile.tsx"],"sourcesContent":["import * as React from \"react\";\n\nconst MOBILE_BREAKPOINT = 768;\n\nexport function useIsMobile() {\n\tconst [isMobile, setIsMobile] = React.useState<boolean | undefined>(\n\t\tundefined,\n\t);\n\n\tReact.useEffect(() => {\n\t\tconst mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);\n\t\tconst onChange = () => {\n\t\t\tsetIsMobile(window.innerWidth < MOBILE_BREAKPOINT);\n\t\t};\n\t\tmql.addEventListener(\"change\", onChange);\n\t\tsetIsMobile(window.innerWidth < MOBILE_BREAKPOINT);\n\t\treturn () => mql.removeEventListener(\"change\", onChange);\n\t}, []);\n\n\treturn !!isMobile;\n}\n"],"names":["MOBILE_BREAKPOINT","useIsMobile","isMobile","setIsMobile","React","mql","onChange"],"mappings":";AAEA,MAAMA,IAAoB;AAEnB,SAASC,IAAc;AAC7B,QAAM,CAACC,GAAUC,CAAW,IAAIC,EAAM;AAAA,IACrC;AAAA,EAAA;AAGD,SAAAA,EAAM,UAAU,MAAM;AACrB,UAAMC,IAAM,OAAO,WAAW,eAAeL,IAAoB,CAAC,KAAK,GACjEM,IAAW,MAAM;AACtB,MAAAH,EAAY,OAAO,aAAaH,CAAiB;AAAA,IAClD;AACA,WAAAK,EAAI,iBAAiB,UAAUC,CAAQ,GACvCH,EAAY,OAAO,aAAaH,CAAiB,GAC1C,MAAMK,EAAI,oBAAoB,UAAUC,CAAQ;AAAA,EACxD,GAAG,CAAA,CAAE,GAEE,CAAC,CAACJ;AACV;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../../../../../../../../node_modules/.pnpm/@date-fns+tz@1.2.0/node_modules/@date-fns/tz/date/index.js"],"sourcesContent":["import { TZDateMini } from \"./mini.js\";\n\n/**\n * UTC date class. It maps getters and setters to corresponding UTC methods,\n * forcing all calculations in the UTC time zone.\n *\n * Combined with date-fns, it allows using the class the same way as\n * the original date class.\n *\n * This complete version provides not only getters, setters,\n * and `getTimezoneOffset`, but also the formatter functions, mirroring\n * all original `Date` functionality. Use this version when you need to format\n * a string or in an environment you don't fully control (a library).\n * For a minimal version, see `UTCDateMini`.\n */\nexport class TZDate extends TZDateMini {\n //#region static\n\n static tz(tz, ...args) {\n return args.length ? new TZDate(...args, tz) : new TZDate(Date.now(), tz);\n }\n\n //#endregion\n\n //#region representation\n\n toISOString() {\n const [sign, hours, minutes] = this.tzComponents();\n const tz = `${sign}${hours}:${minutes}`;\n return this.internal.toISOString().slice(0, -1) + tz;\n }\n toString() {\n // \"Tue Aug 13 2024 07:50:19 GMT+0800 (Singapore Standard Time)\";\n return `${this.toDateString()} ${this.toTimeString()}`;\n }\n toDateString() {\n // toUTCString returns RFC 7231 (\"Mon, 12 Aug 2024 23:36:08 GMT\")\n const [day, date, month, year] = this.internal.toUTCString().split(\" \");\n // \"Tue Aug 13 2024\"\n return `${day?.slice(0, -1) /* Remove \",\" */} ${month} ${date} ${year}`;\n }\n toTimeString() {\n // toUTCString returns RFC 7231 (\"Mon, 12 Aug 2024 23:36:08 GMT\")\n const time = this.internal.toUTCString().split(\" \")[4];\n const [sign, hours, minutes] = this.tzComponents();\n // \"07:42:23 GMT+0800 (Singapore Standard Time)\"\n return `${time} GMT${sign}${hours}${minutes} (${tzName(this.timeZone, this)})`;\n }\n toLocaleString(locales, options) {\n return Date.prototype.toLocaleString.call(this, locales, {\n ...options,\n timeZone: options?.timeZone || this.timeZone\n });\n }\n toLocaleDateString(locales, options) {\n return Date.prototype.toLocaleDateString.call(this, locales, {\n ...options,\n timeZone: options?.timeZone || this.timeZone\n });\n }\n toLocaleTimeString(locales, options) {\n return Date.prototype.toLocaleTimeString.call(this, locales, {\n ...options,\n timeZone: options?.timeZone || this.timeZone\n });\n }\n\n //#endregion\n\n //#region private\n\n tzComponents() {\n const offset = this.getTimezoneOffset();\n const sign = offset > 0 ? \"-\" : \"+\";\n const hours = String(Math.floor(Math.abs(offset) / 60)).padStart(2, \"0\");\n const minutes = String(Math.abs(offset) % 60).padStart(2, \"0\");\n return [sign, hours, minutes];\n }\n\n //#endregion\n\n withTimeZone(timeZone) {\n return new TZDate(+this, timeZone);\n }\n\n //#region date-fns integration\n\n [Symbol.for(\"constructDateFrom\")](date) {\n return new TZDate(+new Date(date), this.timeZone);\n }\n\n //#endregion\n}\nfunction tzName(tz, date) {\n return new Intl.DateTimeFormat(\"en-GB\", {\n timeZone: tz,\n timeZoneName: \"long\"\n }).format(date).slice(12);\n}"],"names":["TZDate","TZDateMini","tz","args","sign","hours","minutes","day","date","month","year","time","tzName","locales","options","offset","timeZone"],"mappings":";AAeO,MAAMA,UAAeC,EAAW;AAAA;AAAA,EAGrC,OAAO,GAAGC,MAAOC,GAAM;AACrB,WAAOA,EAAK,SAAS,IAAIH,EAAO,GAAGG,GAAMD,CAAE,IAAI,IAAIF,EAAO,KAAK,IAAG,GAAIE,CAAE;AAAA,EAC5E;AAAA;AAAA;AAAA,EAME,cAAc;AACZ,UAAM,CAACE,GAAMC,GAAOC,CAAO,IAAI,KAAK,aAAY,GAC1CJ,IAAK,GAAGE,CAAI,GAAGC,CAAK,IAAIC,CAAO;AACrC,WAAO,KAAK,SAAS,YAAW,EAAG,MAAM,GAAG,EAAE,IAAIJ;AAAA,EACtD;AAAA,EACE,WAAW;AAET,WAAO,GAAG,KAAK,aAAY,CAAE,IAAI,KAAK,aAAY,CAAE;AAAA,EACxD;AAAA,EACE,eAAe;AAEb,UAAM,CAACK,GAAKC,GAAMC,GAAOC,CAAI,IAAI,KAAK,SAAS,cAAc,MAAM,GAAG;AAEtE,WAAO,GAAGH,KAAA,gBAAAA,EAAK,MAAM,GAAG,GAAG,IAAqBE,CAAK,IAAID,CAAI,IAAIE,CAAI;AAAA,EACzE;AAAA,EACE,eAAe;AAEb,UAAMC,IAAO,KAAK,SAAS,YAAW,EAAG,MAAM,GAAG,EAAE,CAAC,GAC/C,CAACP,GAAMC,GAAOC,CAAO,IAAI,KAAK,aAAY;AAEhD,WAAO,GAAGK,CAAI,OAAOP,CAAI,GAAGC,CAAK,GAAGC,CAAO,KAAKM,EAAO,KAAK,UAAU,IAAI,CAAC;AAAA,EAC/E;AAAA,EACE,eAAeC,GAASC,GAAS;AAC/B,WAAO,KAAK,UAAU,eAAe,KAAK,MAAMD,GAAS;AAAA,MACvD,GAAGC;AAAA,MACH,WAAUA,KAAA,gBAAAA,EAAS,aAAY,KAAK;AAAA,IAC1C,CAAK;AAAA,EACL;AAAA,EACE,mBAAmBD,GAASC,GAAS;AACnC,WAAO,KAAK,UAAU,mBAAmB,KAAK,MAAMD,GAAS;AAAA,MAC3D,GAAGC;AAAA,MACH,WAAUA,KAAA,gBAAAA,EAAS,aAAY,KAAK;AAAA,IAC1C,CAAK;AAAA,EACL;AAAA,EACE,mBAAmBD,GAASC,GAAS;AACnC,WAAO,KAAK,UAAU,mBAAmB,KAAK,MAAMD,GAAS;AAAA,MAC3D,GAAGC;AAAA,MACH,WAAUA,KAAA,gBAAAA,EAAS,aAAY,KAAK;AAAA,IAC1C,CAAK;AAAA,EACL;AAAA;AAAA;AAAA,EAME,eAAe;AACb,UAAMC,IAAS,KAAK,kBAAiB,GAC/BX,IAAOW,IAAS,IAAI,MAAM,KAC1BV,IAAQ,OAAO,KAAK,MAAM,KAAK,IAAIU,CAAM,IAAI,EAAE,CAAC,EAAE,SAAS,GAAG,GAAG,GACjET,IAAU,OAAO,KAAK,IAAIS,CAAM,IAAI,EAAE,EAAE,SAAS,GAAG,GAAG;AAC7D,WAAO,CAACX,GAAMC,GAAOC,CAAO;AAAA,EAChC;AAAA;AAAA,EAIE,aAAaU,GAAU;AACrB,WAAO,IAAIhB,EAAO,CAAC,MAAMgB,CAAQ;AAAA,EACrC;AAAA;AAAA,EAIE,CAAC,OAAO,IAAI,mBAAmB,CAAC,EAAER,GAAM;AACtC,WAAO,IAAIR,EAAO,CAAC,IAAI,KAAKQ,CAAI,GAAG,KAAK,QAAQ;AAAA,EACpD;AAAA;AAGA;AACA,SAASI,EAAOV,GAAIM,GAAM;AACxB,SAAO,IAAI,KAAK,eAAe,SAAS;AAAA,IACtC,UAAUN;AAAA,IACV,cAAc;AAAA,EAClB,CAAG,EAAE,OAAOM,CAAI,EAAE,MAAM,EAAE;AAC1B;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.es.js","sources":["../../../../../../../../node_modules/.pnpm/@date-fns+tz@1.2.0/node_modules/@date-fns/tz/date/index.js"],"sourcesContent":["import { TZDateMini } from \"./mini.js\";\n\n/**\n * UTC date class. It maps getters and setters to corresponding UTC methods,\n * forcing all calculations in the UTC time zone.\n *\n * Combined with date-fns, it allows using the class the same way as\n * the original date class.\n *\n * This complete version provides not only getters, setters,\n * and `getTimezoneOffset`, but also the formatter functions, mirroring\n * all original `Date` functionality. Use this version when you need to format\n * a string or in an environment you don't fully control (a library).\n * For a minimal version, see `UTCDateMini`.\n */\nexport class TZDate extends TZDateMini {\n //#region static\n\n static tz(tz, ...args) {\n return args.length ? new TZDate(...args, tz) : new TZDate(Date.now(), tz);\n }\n\n //#endregion\n\n //#region representation\n\n toISOString() {\n const [sign, hours, minutes] = this.tzComponents();\n const tz = `${sign}${hours}:${minutes}`;\n return this.internal.toISOString().slice(0, -1) + tz;\n }\n toString() {\n // \"Tue Aug 13 2024 07:50:19 GMT+0800 (Singapore Standard Time)\";\n return `${this.toDateString()} ${this.toTimeString()}`;\n }\n toDateString() {\n // toUTCString returns RFC 7231 (\"Mon, 12 Aug 2024 23:36:08 GMT\")\n const [day, date, month, year] = this.internal.toUTCString().split(\" \");\n // \"Tue Aug 13 2024\"\n return `${day?.slice(0, -1) /* Remove \",\" */} ${month} ${date} ${year}`;\n }\n toTimeString() {\n // toUTCString returns RFC 7231 (\"Mon, 12 Aug 2024 23:36:08 GMT\")\n const time = this.internal.toUTCString().split(\" \")[4];\n const [sign, hours, minutes] = this.tzComponents();\n // \"07:42:23 GMT+0800 (Singapore Standard Time)\"\n return `${time} GMT${sign}${hours}${minutes} (${tzName(this.timeZone, this)})`;\n }\n toLocaleString(locales, options) {\n return Date.prototype.toLocaleString.call(this, locales, {\n ...options,\n timeZone: options?.timeZone || this.timeZone\n });\n }\n toLocaleDateString(locales, options) {\n return Date.prototype.toLocaleDateString.call(this, locales, {\n ...options,\n timeZone: options?.timeZone || this.timeZone\n });\n }\n toLocaleTimeString(locales, options) {\n return Date.prototype.toLocaleTimeString.call(this, locales, {\n ...options,\n timeZone: options?.timeZone || this.timeZone\n });\n }\n\n //#endregion\n\n //#region private\n\n tzComponents() {\n const offset = this.getTimezoneOffset();\n const sign = offset > 0 ? \"-\" : \"+\";\n const hours = String(Math.floor(Math.abs(offset) / 60)).padStart(2, \"0\");\n const minutes = String(Math.abs(offset) % 60).padStart(2, \"0\");\n return [sign, hours, minutes];\n }\n\n //#endregion\n\n withTimeZone(timeZone) {\n return new TZDate(+this, timeZone);\n }\n\n //#region date-fns integration\n\n [Symbol.for(\"constructDateFrom\")](date) {\n return new TZDate(+new Date(date), this.timeZone);\n }\n\n //#endregion\n}\nfunction tzName(tz, date) {\n return new Intl.DateTimeFormat(\"en-GB\", {\n timeZone: tz,\n timeZoneName: \"long\"\n }).format(date).slice(12);\n}"],"names":["TZDate","TZDateMini","tz","args","sign","hours","minutes","day","date","month","year","time","tzName","locales","options","offset","timeZone"],"mappings":";AAeO,MAAMA,UAAeC,EAAW;AAAA;AAAA,EAGrC,OAAO,GAAGC,MAAOC,GAAM;AACrB,WAAOA,EAAK,SAAS,IAAIH,EAAO,GAAGG,GAAMD,CAAE,IAAI,IAAIF,EAAO,KAAK,IAAG,GAAIE,CAAE;AAAA,EAC1E;AAAA;AAAA;AAAA,EAMA,cAAc;AACZ,UAAM,CAACE,GAAMC,GAAOC,CAAO,IAAI,KAAK,aAAY,GAC1CJ,IAAK,GAAGE,CAAI,GAAGC,CAAK,IAAIC,CAAO;AACrC,WAAO,KAAK,SAAS,YAAW,EAAG,MAAM,GAAG,EAAE,IAAIJ;AAAA,EACpD;AAAA,EACA,WAAW;AAET,WAAO,GAAG,KAAK,aAAY,CAAE,IAAI,KAAK,aAAY,CAAE;AAAA,EACtD;AAAA,EACA,eAAe;AAEb,UAAM,CAACK,GAAKC,GAAMC,GAAOC,CAAI,IAAI,KAAK,SAAS,cAAc,MAAM,GAAG;AAEtE,WAAO,GAAGH,KAAA,gBAAAA,EAAK,MAAM,GAAG,GAAG,IAAqBE,CAAK,IAAID,CAAI,IAAIE,CAAI;AAAA,EACvE;AAAA,EACA,eAAe;AAEb,UAAMC,IAAO,KAAK,SAAS,YAAW,EAAG,MAAM,GAAG,EAAE,CAAC,GAC/C,CAACP,GAAMC,GAAOC,CAAO,IAAI,KAAK,aAAY;AAEhD,WAAO,GAAGK,CAAI,OAAOP,CAAI,GAAGC,CAAK,GAAGC,CAAO,KAAKM,EAAO,KAAK,UAAU,IAAI,CAAC;AAAA,EAC7E;AAAA,EACA,eAAeC,GAASC,GAAS;AAC/B,WAAO,KAAK,UAAU,eAAe,KAAK,MAAMD,GAAS;AAAA,MACvD,GAAGC;AAAA,MACH,WAAUA,KAAA,gBAAAA,EAAS,aAAY,KAAK;AAAA,IAC1C,CAAK;AAAA,EACH;AAAA,EACA,mBAAmBD,GAASC,GAAS;AACnC,WAAO,KAAK,UAAU,mBAAmB,KAAK,MAAMD,GAAS;AAAA,MAC3D,GAAGC;AAAA,MACH,WAAUA,KAAA,gBAAAA,EAAS,aAAY,KAAK;AAAA,IAC1C,CAAK;AAAA,EACH;AAAA,EACA,mBAAmBD,GAASC,GAAS;AACnC,WAAO,KAAK,UAAU,mBAAmB,KAAK,MAAMD,GAAS;AAAA,MAC3D,GAAGC;AAAA,MACH,WAAUA,KAAA,gBAAAA,EAAS,aAAY,KAAK;AAAA,IAC1C,CAAK;AAAA,EACH;AAAA;AAAA;AAAA,EAMA,eAAe;AACb,UAAMC,IAAS,KAAK,kBAAiB,GAC/BX,IAAOW,IAAS,IAAI,MAAM,KAC1BV,IAAQ,OAAO,KAAK,MAAM,KAAK,IAAIU,CAAM,IAAI,EAAE,CAAC,EAAE,SAAS,GAAG,GAAG,GACjET,IAAU,OAAO,KAAK,IAAIS,CAAM,IAAI,EAAE,EAAE,SAAS,GAAG,GAAG;AAC7D,WAAO,CAACX,GAAMC,GAAOC,CAAO;AAAA,EAC9B;AAAA;AAAA,EAIA,aAAaU,GAAU;AACrB,WAAO,IAAIhB,EAAO,CAAC,MAAMgB,CAAQ;AAAA,EACnC;AAAA;AAAA,EAIA,CAAC,OAAO,IAAI,mBAAmB,CAAC,EAAER,GAAM;AACtC,WAAO,IAAIR,EAAO,CAAC,IAAI,KAAKQ,CAAI,GAAG,KAAK,QAAQ;AAAA,EAClD;AAAA;AAGF;AACA,SAASI,EAAOV,GAAIM,GAAM;AACxB,SAAO,IAAI,KAAK,eAAe,SAAS;AAAA,IACtC,UAAUN;AAAA,IACV,cAAc;AAAA,EAClB,CAAG,EAAE,OAAOM,CAAI,EAAE,MAAM,EAAE;AAC1B;","x_google_ignoreList":[0]}
@@ -1 +1 @@
1
- {"version":3,"file":"mini.es.js","sources":["../../../../../../../../node_modules/.pnpm/@date-fns+tz@1.2.0/node_modules/@date-fns/tz/date/mini.js"],"sourcesContent":["import { tzOffset } from \"../tzOffset/index.js\";\nexport class TZDateMini extends Date {\n //#region static\n\n constructor(...args) {\n super();\n if (args.length > 1 && typeof args[args.length - 1] === \"string\") {\n this.timeZone = args.pop();\n }\n this.internal = new Date();\n if (isNaN(tzOffset(this.timeZone, this))) {\n this.setTime(NaN);\n } else {\n if (!args.length) {\n this.setTime(Date.now());\n } else if (typeof args[0] === \"number\" && (args.length === 1 || args.length === 2 && typeof args[1] !== \"number\")) {\n this.setTime(args[0]);\n } else if (typeof args[0] === \"string\") {\n this.setTime(+new Date(args[0]));\n } else if (args[0] instanceof Date) {\n this.setTime(+args[0]);\n } else {\n this.setTime(+new Date(...args));\n adjustToSystemTZ(this, NaN);\n syncToInternal(this);\n }\n }\n }\n static tz(tz, ...args) {\n return args.length ? new TZDateMini(...args, tz) : new TZDateMini(Date.now(), tz);\n }\n\n //#endregion\n\n //#region time zone\n\n withTimeZone(timeZone) {\n return new TZDateMini(+this, timeZone);\n }\n getTimezoneOffset() {\n return -tzOffset(this.timeZone, this);\n }\n\n //#endregion\n\n //#region time\n\n setTime(time) {\n Date.prototype.setTime.apply(this, arguments);\n syncToInternal(this);\n return +this;\n }\n\n //#endregion\n\n //#region date-fns integration\n\n [Symbol.for(\"constructDateFrom\")](date) {\n return new TZDateMini(+new Date(date), this.timeZone);\n }\n\n //#endregion\n}\n\n// Assign getters and setters\nconst re = /^(get|set)(?!UTC)/;\nObject.getOwnPropertyNames(Date.prototype).forEach(method => {\n if (!re.test(method)) return;\n const utcMethod = method.replace(re, \"$1UTC\");\n // Filter out methods without UTC counterparts\n if (!TZDateMini.prototype[utcMethod]) return;\n if (method.startsWith(\"get\")) {\n // Delegate to internal date's UTC method\n TZDateMini.prototype[method] = function () {\n return this.internal[utcMethod]();\n };\n } else {\n // Assign regular setter\n TZDateMini.prototype[method] = function () {\n Date.prototype[utcMethod].apply(this.internal, arguments);\n syncFromInternal(this);\n return +this;\n };\n\n // Assign UTC setter\n TZDateMini.prototype[utcMethod] = function () {\n Date.prototype[utcMethod].apply(this, arguments);\n syncToInternal(this);\n return +this;\n };\n }\n});\n\n/**\n * Function syncs time to internal date, applying the time zone offset.\n *\n * @param {Date} date - Date to sync\n */\nfunction syncToInternal(date) {\n date.internal.setTime(+date);\n date.internal.setUTCMinutes(date.internal.getUTCMinutes() - date.getTimezoneOffset());\n}\n\n/**\n * Function syncs the internal date UTC values to the date. It allows to get\n * accurate timestamp value.\n *\n * @param {Date} date - The date to sync\n */\nfunction syncFromInternal(date) {\n // First we transpose the internal values\n Date.prototype.setFullYear.call(date, date.internal.getUTCFullYear(), date.internal.getUTCMonth(), date.internal.getUTCDate());\n Date.prototype.setHours.call(date, date.internal.getUTCHours(), date.internal.getUTCMinutes(), date.internal.getUTCSeconds(), date.internal.getUTCMilliseconds());\n\n // Now we have to adjust the date to the system time zone\n adjustToSystemTZ(date);\n}\n\n/**\n * Function adjusts the date to the system time zone. It uses the time zone\n * differences to calculate the offset and adjust the date.\n *\n * @param {Date} date - Date to adjust\n */\nfunction adjustToSystemTZ(date) {\n // Save the time zone offset before all the adjustments\n const offset = tzOffset(date.timeZone, date);\n\n //#region System DST adjustment\n\n // The biggest problem with using the system time zone is that when we create\n // a date from internal values stored in UTC, the system time zone might end\n // up on the DST hour:\n //\n // $ TZ=America/New_York node\n // > new Date(2020, 2, 8, 1).toString()\n // 'Sun Mar 08 2020 01:00:00 GMT-0500 (Eastern Standard Time)'\n // > new Date(2020, 2, 8, 2).toString()\n // 'Sun Mar 08 2020 03:00:00 GMT-0400 (Eastern Daylight Time)'\n // > new Date(2020, 2, 8, 3).toString()\n // 'Sun Mar 08 2020 03:00:00 GMT-0400 (Eastern Daylight Time)'\n // > new Date(2020, 2, 8, 4).toString()\n // 'Sun Mar 08 2020 04:00:00 GMT-0400 (Eastern Daylight Time)'\n //\n // Here we get the same hour for both 2 and 3, because the system time zone\n // has DST beginning at 8 March 2020, 2 a.m. and jumps to 3 a.m. So we have\n // to adjust the internal date to reflect that.\n //\n // However we want to adjust only if that's the DST hour the change happenes,\n // not the hour where DST moves to.\n\n // We calculate the previous hour to see if the time zone offset has changed\n // and we have landed on the DST hour.\n const prevHour = new Date(+date);\n // We use UTC methods here as we don't want to land on the same hour again\n // in case of DST.\n prevHour.setUTCHours(prevHour.getUTCHours() - 1);\n\n // Calculate if we are on the system DST hour.\n const systemOffset = -new Date(+date).getTimezoneOffset();\n const prevHourSystemOffset = -new Date(+prevHour).getTimezoneOffset();\n const systemDSTChange = systemOffset - prevHourSystemOffset;\n // Detect the DST shift. System DST change will occur both on\n const dstShift = Date.prototype.getHours.apply(date) !== date.internal.getUTCHours();\n\n // Move the internal date when we are on the system DST hour.\n if (systemDSTChange && dstShift) date.internal.setUTCMinutes(date.internal.getUTCMinutes() + systemDSTChange);\n\n //#endregion\n\n //#region System diff adjustment\n\n // Now we need to adjust the date, since we just applied internal values.\n // We need to calculate the difference between the system and date time zones\n // and apply it to the date.\n\n const offsetDiff = systemOffset - offset;\n if (offsetDiff) Date.prototype.setUTCMinutes.call(date, Date.prototype.getUTCMinutes.call(date) + offsetDiff);\n\n //#endregion\n\n //#region Post-adjustment DST fix\n\n const postOffset = tzOffset(date.timeZone, date);\n const postSystemOffset = -new Date(+date).getTimezoneOffset();\n const postOffsetDiff = postSystemOffset - postOffset;\n const offsetChanged = postOffset !== offset;\n const postDiff = postOffsetDiff - offsetDiff;\n if (offsetChanged && postDiff) {\n Date.prototype.setUTCMinutes.call(date, Date.prototype.getUTCMinutes.call(date) + postDiff);\n\n // Now we need to check if got offset change during the post-adjustment.\n // If so, we also need both dates to reflect that.\n\n const newOffset = tzOffset(date.timeZone, date);\n const offsetChange = postOffset - newOffset;\n if (offsetChange) {\n date.internal.setUTCMinutes(date.internal.getUTCMinutes() + offsetChange);\n Date.prototype.setUTCMinutes.call(date, Date.prototype.getUTCMinutes.call(date) + offsetChange);\n }\n }\n\n //#endregion\n}"],"names":["TZDateMini","args","tzOffset","adjustToSystemTZ","syncToInternal","tz","timeZone","time","date","re","method","utcMethod","syncFromInternal","offset","prevHour","systemOffset","prevHourSystemOffset","systemDSTChange","dstShift","offsetDiff","postOffset","postOffsetDiff","offsetChanged","postDiff","newOffset","offsetChange"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"mini.es.js","sources":["../../../../../../../../node_modules/.pnpm/@date-fns+tz@1.2.0/node_modules/@date-fns/tz/date/mini.js"],"sourcesContent":["import { tzOffset } from \"../tzOffset/index.js\";\nexport class TZDateMini extends Date {\n //#region static\n\n constructor(...args) {\n super();\n if (args.length > 1 && typeof args[args.length - 1] === \"string\") {\n this.timeZone = args.pop();\n }\n this.internal = new Date();\n if (isNaN(tzOffset(this.timeZone, this))) {\n this.setTime(NaN);\n } else {\n if (!args.length) {\n this.setTime(Date.now());\n } else if (typeof args[0] === \"number\" && (args.length === 1 || args.length === 2 && typeof args[1] !== \"number\")) {\n this.setTime(args[0]);\n } else if (typeof args[0] === \"string\") {\n this.setTime(+new Date(args[0]));\n } else if (args[0] instanceof Date) {\n this.setTime(+args[0]);\n } else {\n this.setTime(+new Date(...args));\n adjustToSystemTZ(this, NaN);\n syncToInternal(this);\n }\n }\n }\n static tz(tz, ...args) {\n return args.length ? new TZDateMini(...args, tz) : new TZDateMini(Date.now(), tz);\n }\n\n //#endregion\n\n //#region time zone\n\n withTimeZone(timeZone) {\n return new TZDateMini(+this, timeZone);\n }\n getTimezoneOffset() {\n return -tzOffset(this.timeZone, this);\n }\n\n //#endregion\n\n //#region time\n\n setTime(time) {\n Date.prototype.setTime.apply(this, arguments);\n syncToInternal(this);\n return +this;\n }\n\n //#endregion\n\n //#region date-fns integration\n\n [Symbol.for(\"constructDateFrom\")](date) {\n return new TZDateMini(+new Date(date), this.timeZone);\n }\n\n //#endregion\n}\n\n// Assign getters and setters\nconst re = /^(get|set)(?!UTC)/;\nObject.getOwnPropertyNames(Date.prototype).forEach(method => {\n if (!re.test(method)) return;\n const utcMethod = method.replace(re, \"$1UTC\");\n // Filter out methods without UTC counterparts\n if (!TZDateMini.prototype[utcMethod]) return;\n if (method.startsWith(\"get\")) {\n // Delegate to internal date's UTC method\n TZDateMini.prototype[method] = function () {\n return this.internal[utcMethod]();\n };\n } else {\n // Assign regular setter\n TZDateMini.prototype[method] = function () {\n Date.prototype[utcMethod].apply(this.internal, arguments);\n syncFromInternal(this);\n return +this;\n };\n\n // Assign UTC setter\n TZDateMini.prototype[utcMethod] = function () {\n Date.prototype[utcMethod].apply(this, arguments);\n syncToInternal(this);\n return +this;\n };\n }\n});\n\n/**\n * Function syncs time to internal date, applying the time zone offset.\n *\n * @param {Date} date - Date to sync\n */\nfunction syncToInternal(date) {\n date.internal.setTime(+date);\n date.internal.setUTCMinutes(date.internal.getUTCMinutes() - date.getTimezoneOffset());\n}\n\n/**\n * Function syncs the internal date UTC values to the date. It allows to get\n * accurate timestamp value.\n *\n * @param {Date} date - The date to sync\n */\nfunction syncFromInternal(date) {\n // First we transpose the internal values\n Date.prototype.setFullYear.call(date, date.internal.getUTCFullYear(), date.internal.getUTCMonth(), date.internal.getUTCDate());\n Date.prototype.setHours.call(date, date.internal.getUTCHours(), date.internal.getUTCMinutes(), date.internal.getUTCSeconds(), date.internal.getUTCMilliseconds());\n\n // Now we have to adjust the date to the system time zone\n adjustToSystemTZ(date);\n}\n\n/**\n * Function adjusts the date to the system time zone. It uses the time zone\n * differences to calculate the offset and adjust the date.\n *\n * @param {Date} date - Date to adjust\n */\nfunction adjustToSystemTZ(date) {\n // Save the time zone offset before all the adjustments\n const offset = tzOffset(date.timeZone, date);\n\n //#region System DST adjustment\n\n // The biggest problem with using the system time zone is that when we create\n // a date from internal values stored in UTC, the system time zone might end\n // up on the DST hour:\n //\n // $ TZ=America/New_York node\n // > new Date(2020, 2, 8, 1).toString()\n // 'Sun Mar 08 2020 01:00:00 GMT-0500 (Eastern Standard Time)'\n // > new Date(2020, 2, 8, 2).toString()\n // 'Sun Mar 08 2020 03:00:00 GMT-0400 (Eastern Daylight Time)'\n // > new Date(2020, 2, 8, 3).toString()\n // 'Sun Mar 08 2020 03:00:00 GMT-0400 (Eastern Daylight Time)'\n // > new Date(2020, 2, 8, 4).toString()\n // 'Sun Mar 08 2020 04:00:00 GMT-0400 (Eastern Daylight Time)'\n //\n // Here we get the same hour for both 2 and 3, because the system time zone\n // has DST beginning at 8 March 2020, 2 a.m. and jumps to 3 a.m. So we have\n // to adjust the internal date to reflect that.\n //\n // However we want to adjust only if that's the DST hour the change happenes,\n // not the hour where DST moves to.\n\n // We calculate the previous hour to see if the time zone offset has changed\n // and we have landed on the DST hour.\n const prevHour = new Date(+date);\n // We use UTC methods here as we don't want to land on the same hour again\n // in case of DST.\n prevHour.setUTCHours(prevHour.getUTCHours() - 1);\n\n // Calculate if we are on the system DST hour.\n const systemOffset = -new Date(+date).getTimezoneOffset();\n const prevHourSystemOffset = -new Date(+prevHour).getTimezoneOffset();\n const systemDSTChange = systemOffset - prevHourSystemOffset;\n // Detect the DST shift. System DST change will occur both on\n const dstShift = Date.prototype.getHours.apply(date) !== date.internal.getUTCHours();\n\n // Move the internal date when we are on the system DST hour.\n if (systemDSTChange && dstShift) date.internal.setUTCMinutes(date.internal.getUTCMinutes() + systemDSTChange);\n\n //#endregion\n\n //#region System diff adjustment\n\n // Now we need to adjust the date, since we just applied internal values.\n // We need to calculate the difference between the system and date time zones\n // and apply it to the date.\n\n const offsetDiff = systemOffset - offset;\n if (offsetDiff) Date.prototype.setUTCMinutes.call(date, Date.prototype.getUTCMinutes.call(date) + offsetDiff);\n\n //#endregion\n\n //#region Post-adjustment DST fix\n\n const postOffset = tzOffset(date.timeZone, date);\n const postSystemOffset = -new Date(+date).getTimezoneOffset();\n const postOffsetDiff = postSystemOffset - postOffset;\n const offsetChanged = postOffset !== offset;\n const postDiff = postOffsetDiff - offsetDiff;\n if (offsetChanged && postDiff) {\n Date.prototype.setUTCMinutes.call(date, Date.prototype.getUTCMinutes.call(date) + postDiff);\n\n // Now we need to check if got offset change during the post-adjustment.\n // If so, we also need both dates to reflect that.\n\n const newOffset = tzOffset(date.timeZone, date);\n const offsetChange = postOffset - newOffset;\n if (offsetChange) {\n date.internal.setUTCMinutes(date.internal.getUTCMinutes() + offsetChange);\n Date.prototype.setUTCMinutes.call(date, Date.prototype.getUTCMinutes.call(date) + offsetChange);\n }\n }\n\n //#endregion\n}"],"names":["TZDateMini","args","tzOffset","adjustToSystemTZ","syncToInternal","tz","timeZone","time","date","re","method","utcMethod","syncFromInternal","offset","prevHour","systemOffset","prevHourSystemOffset","systemDSTChange","dstShift","offsetDiff","postOffset","postOffsetDiff","offsetChanged","postDiff","newOffset","offsetChange"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../../../../../../../../node_modules/.pnpm/@date-fns+tz@1.2.0/node_modules/@date-fns/tz/tzOffset/index.js"],"sourcesContent":["const offsetFormatCache = {};\nconst offsetCache = {};\n\n/**\n * The function extracts UTC offset in minutes from the given date in specified\n * time zone.\n *\n * Unlike `Date.prototype.getTimezoneOffset`, this function returns the value\n * mirrored to the sign of the offset in the time zone. For Asia/Singapore\n * (UTC+8), `tzOffset` returns 480, while `getTimezoneOffset` returns -480.\n *\n * @param timeZone - Time zone name (IANA or UTC offset)\n * @param date - Date to check the offset for\n *\n * @returns UTC offset in minutes\n */\nexport function tzOffset(timeZone, date) {\n try {\n const format = offsetFormatCache[timeZone] ||= new Intl.DateTimeFormat(\"en-GB\", {\n timeZone,\n hour: \"numeric\",\n timeZoneName: \"longOffset\"\n }).format;\n const offsetStr = format(date).split('GMT')[1] || '';\n if (offsetStr in offsetCache) return offsetCache[offsetStr];\n return calcOffset(offsetStr, offsetStr.split(\":\"));\n } catch {\n // Fallback to manual parsing if the runtime doesn't support ±HH:MM/±HHMM/±HH\n // See: https://github.com/nodejs/node/issues/53419\n if (timeZone in offsetCache) return offsetCache[timeZone];\n const captures = timeZone?.match(offsetRe);\n if (captures) return calcOffset(timeZone, captures.slice(1));\n return NaN;\n }\n}\nconst offsetRe = /([+-]\\d\\d):?(\\d\\d)?/;\nfunction calcOffset(cacheStr, values) {\n const hours = +values[0];\n const minutes = +(values[1] || 0);\n return offsetCache[cacheStr] = hours > 0 ? hours * 60 + minutes : hours * 60 - minutes;\n}"],"names":["offsetFormatCache","offsetCache","tzOffset","timeZone","date","offsetStr","calcOffset","captures","offsetRe","cacheStr","values","hours","minutes"],"mappings":"AAAA,MAAMA,IAAoB,CAAA,GACpBC,IAAc,CAAA;AAeb,SAASC,EAASC,GAAUC,GAAM;AACvC,MAAI;AAMF,UAAMC,KALSL,EAAAG,OAAAH,EAAAG,KAAgC,IAAI,KAAK,eAAe,SAAS;AAAA,MAC9E,UAAAA;AAAA,MACA,MAAM;AAAA,MACN,cAAc;AAAA,IACpB,CAAK,EAAE,SACsBC,CAAI,EAAE,MAAM,KAAK,EAAE,CAAC,KAAK;AAClD,WAAIC,KAAaJ,IAAoBA,EAAYI,CAAS,IACnDC,EAAWD,GAAWA,EAAU,MAAM,GAAG,CAAC;AAAA,EACrD,QAAU;AAGN,QAAIF,KAAYF,EAAa,QAAOA,EAAYE,CAAQ;AACxD,UAAMI,IAAWJ,KAAA,gBAAAA,EAAU,MAAMK;AACjC,WAAID,IAAiBD,EAAWH,GAAUI,EAAS,MAAM,CAAC,CAAC,IACpD;AAAA,EACX;AACA;AACA,MAAMC,IAAW;AACjB,SAASF,EAAWG,GAAUC,GAAQ;AACpC,QAAMC,IAAQ,CAACD,EAAO,CAAC,GACjBE,IAAU,EAAEF,EAAO,CAAC,KAAK;AAC/B,SAAOT,EAAYQ,CAAQ,IAAIE,IAAQ,IAAIA,IAAQ,KAAKC,IAAUD,IAAQ,KAAKC;AACjF;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.es.js","sources":["../../../../../../../../node_modules/.pnpm/@date-fns+tz@1.2.0/node_modules/@date-fns/tz/tzOffset/index.js"],"sourcesContent":["const offsetFormatCache = {};\nconst offsetCache = {};\n\n/**\n * The function extracts UTC offset in minutes from the given date in specified\n * time zone.\n *\n * Unlike `Date.prototype.getTimezoneOffset`, this function returns the value\n * mirrored to the sign of the offset in the time zone. For Asia/Singapore\n * (UTC+8), `tzOffset` returns 480, while `getTimezoneOffset` returns -480.\n *\n * @param timeZone - Time zone name (IANA or UTC offset)\n * @param date - Date to check the offset for\n *\n * @returns UTC offset in minutes\n */\nexport function tzOffset(timeZone, date) {\n try {\n const format = offsetFormatCache[timeZone] ||= new Intl.DateTimeFormat(\"en-GB\", {\n timeZone,\n hour: \"numeric\",\n timeZoneName: \"longOffset\"\n }).format;\n const offsetStr = format(date).split('GMT')[1] || '';\n if (offsetStr in offsetCache) return offsetCache[offsetStr];\n return calcOffset(offsetStr, offsetStr.split(\":\"));\n } catch {\n // Fallback to manual parsing if the runtime doesn't support ±HH:MM/±HHMM/±HH\n // See: https://github.com/nodejs/node/issues/53419\n if (timeZone in offsetCache) return offsetCache[timeZone];\n const captures = timeZone?.match(offsetRe);\n if (captures) return calcOffset(timeZone, captures.slice(1));\n return NaN;\n }\n}\nconst offsetRe = /([+-]\\d\\d):?(\\d\\d)?/;\nfunction calcOffset(cacheStr, values) {\n const hours = +values[0];\n const minutes = +(values[1] || 0);\n return offsetCache[cacheStr] = hours > 0 ? hours * 60 + minutes : hours * 60 - minutes;\n}"],"names":["offsetFormatCache","offsetCache","tzOffset","timeZone","date","offsetStr","calcOffset","captures","offsetRe","cacheStr","values","hours","minutes"],"mappings":"AAAA,MAAMA,IAAoB,CAAA,GACpBC,IAAc,CAAA;AAeb,SAASC,EAASC,GAAUC,GAAM;AACvC,MAAI;AAMF,UAAMC,KALSL,EAAAG,OAAAH,EAAAG,KAAgC,IAAI,KAAK,eAAe,SAAS;AAAA,MAC9E,UAAAA;AAAA,MACA,MAAM;AAAA,MACN,cAAc;AAAA,IACpB,CAAK,EAAE,SACsBC,CAAI,EAAE,MAAM,KAAK,EAAE,CAAC,KAAK;AAClD,WAAIC,KAAaJ,IAAoBA,EAAYI,CAAS,IACnDC,EAAWD,GAAWA,EAAU,MAAM,GAAG,CAAC;AAAA,EACnD,QAAQ;AAGN,QAAIF,KAAYF,EAAa,QAAOA,EAAYE,CAAQ;AACxD,UAAMI,IAAWJ,KAAA,gBAAAA,EAAU,MAAMK;AACjC,WAAID,IAAiBD,EAAWH,GAAUI,EAAS,MAAM,CAAC,CAAC,IACpD;AAAA,EACT;AACF;AACA,MAAMC,IAAW;AACjB,SAASF,EAAWG,GAAUC,GAAQ;AACpC,QAAMC,IAAQ,CAACD,EAAO,CAAC,GACjBE,IAAU,EAAEF,EAAO,CAAC,KAAK;AAC/B,SAAOT,EAAYQ,CAAQ,IAAIE,IAAQ,IAAIA,IAAQ,KAAKC,IAAUD,IAAQ,KAAKC;AACjF;","x_google_ignoreList":[0]}