@gbmtech/aurora-ui 0.3.53 → 0.3.55
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +54 -54
- package/dist/cjs/components/alert-dialog.cjs.map +1 -1
- package/dist/cjs/components/app-layout/app-layout-breadcrumb.cjs.map +1 -1
- package/dist/cjs/components/app-layout/app-layout-content.cjs.map +1 -1
- package/dist/cjs/components/app-layout/app-layout-filters.cjs.map +1 -1
- package/dist/cjs/components/app-layout/app-layout-header.cjs.map +1 -1
- package/dist/cjs/components/app-layout/app-layout-provider.cjs.map +1 -1
- package/dist/cjs/components/app-layout/app-layout.cjs.map +1 -1
- package/dist/cjs/components/app-layout/index.cjs.map +1 -1
- package/dist/cjs/components/app-layout/sidebar/app-sidebar.cjs.map +1 -1
- package/dist/cjs/components/app-layout/sidebar/index.cjs.map +1 -1
- package/dist/cjs/components/app-layout/sidebar/intl/messages.cjs.map +1 -1
- package/dist/cjs/components/app-layout/sidebar/logo.cjs.map +1 -1
- package/dist/cjs/components/app-layout/sidebar/nav-modules.cjs.map +1 -1
- package/dist/cjs/components/app-layout/sidebar/nav-sub-item.cjs.map +1 -1
- package/dist/cjs/components/app-layout/sidebar/nav-user.cjs.map +1 -1
- package/dist/cjs/components/app-layout/sidebar/sidebar-icons.cjs +1 -1
- package/dist/cjs/components/app-layout/sidebar/sidebar-icons.cjs.map +1 -1
- package/dist/cjs/components/app-layout/sidebar/sidebar-icons.d.ts.map +1 -1
- package/dist/cjs/components/app-layout/sidebar/sidebar.cjs.map +1 -1
- package/dist/cjs/components/autocomplete/autocomplete-content.cjs.map +1 -1
- package/dist/cjs/components/autocomplete/autocomplete-context.cjs.map +1 -1
- package/dist/cjs/components/autocomplete/autocomplete-empty.cjs.map +1 -1
- package/dist/cjs/components/autocomplete/autocomplete-input.cjs.map +1 -1
- package/dist/cjs/components/autocomplete/autocomplete-item.cjs.map +1 -1
- package/dist/cjs/components/autocomplete/autocomplete-list.cjs.map +1 -1
- package/dist/cjs/components/autocomplete/autocomplete.cjs.map +1 -1
- package/dist/cjs/components/autocomplete/index.cjs.map +1 -1
- package/dist/cjs/components/avatar.cjs.map +1 -1
- package/dist/cjs/components/badge.cjs.map +1 -1
- package/dist/cjs/components/breadcrumb.cjs.map +1 -1
- package/dist/cjs/components/button.cjs.map +1 -1
- package/dist/cjs/components/calendar.cjs.map +1 -1
- package/dist/cjs/components/checkbox.cjs.map +1 -1
- package/dist/cjs/components/combobox.cjs.map +1 -1
- package/dist/cjs/components/command.cjs.map +1 -1
- package/dist/cjs/components/context-menu.cjs.map +1 -1
- package/dist/cjs/components/data-table/data-table-action-bar.cjs.map +1 -1
- package/dist/cjs/components/data-table/data-table-advanced-toolbar.cjs.map +1 -1
- package/dist/cjs/components/data-table/data-table-column-header.cjs.map +1 -1
- package/dist/cjs/components/data-table/data-table-date-filter.cjs.map +1 -1
- package/dist/cjs/components/data-table/data-table-faceted-filter.cjs.map +1 -1
- package/dist/cjs/components/data-table/data-table-filter-list.cjs.map +1 -1
- package/dist/cjs/components/data-table/data-table-filter-menu.cjs.map +1 -1
- package/dist/cjs/components/data-table/data-table-pagination.cjs.map +1 -1
- package/dist/cjs/components/data-table/data-table-range-filter.cjs.map +1 -1
- package/dist/cjs/components/data-table/data-table-skeleton.cjs.map +1 -1
- package/dist/cjs/components/data-table/data-table-slider-filter.cjs.map +1 -1
- package/dist/cjs/components/data-table/data-table-sort-list.cjs.map +1 -1
- package/dist/cjs/components/data-table/data-table-toolbar.cjs.map +1 -1
- package/dist/cjs/components/data-table/data-table-view-options.cjs.map +1 -1
- package/dist/cjs/components/data-table/data-table.cjs.map +1 -1
- package/dist/cjs/components/data-table/index.cjs +1 -1
- package/dist/cjs/components/data-table/index.cjs.map +1 -1
- package/dist/cjs/components/date-picker-with-range.cjs.map +1 -1
- package/dist/cjs/components/date-picker.cjs.map +1 -1
- package/dist/cjs/components/date-time-picker-with-range.cjs.map +1 -1
- package/dist/cjs/components/date-time-picker.cjs.map +1 -1
- package/dist/cjs/components/dialog.cjs.map +1 -1
- package/dist/cjs/components/dropdown-menu.cjs.map +1 -1
- package/dist/cjs/components/faceted.cjs.map +1 -1
- package/dist/cjs/components/form.cjs.map +1 -1
- package/dist/cjs/components/icons/rumo.cjs.map +1 -1
- package/dist/cjs/components/icons/vli.cjs.map +1 -1
- package/dist/cjs/components/input-otp.cjs.map +1 -1
- package/dist/cjs/components/input-password.cjs.map +1 -1
- package/dist/cjs/components/input.cjs.map +1 -1
- package/dist/cjs/components/label.cjs.map +1 -1
- package/dist/cjs/components/mask-input.cjs.map +1 -1
- package/dist/cjs/components/multi-select.cjs.map +1 -1
- package/dist/cjs/components/page-layout/index.cjs.map +1 -1
- package/dist/cjs/components/page-layout/page-layout-breadcrumb.cjs.map +1 -1
- package/dist/cjs/components/page-layout/page-layout-content.cjs.map +1 -1
- package/dist/cjs/components/page-layout/page-layout-header.cjs.map +1 -1
- package/dist/cjs/components/page-layout/page-layout-root.cjs.map +1 -1
- package/dist/cjs/components/page-layout/page-layout-title.cjs.map +1 -1
- package/dist/cjs/components/pagination.cjs.map +1 -1
- package/dist/cjs/components/popover.cjs.map +1 -1
- package/dist/cjs/components/radio-group.cjs.map +1 -1
- package/dist/cjs/components/scroll-area.cjs.map +1 -1
- package/dist/cjs/components/select.cjs.map +1 -1
- package/dist/cjs/components/separator.cjs.map +1 -1
- package/dist/cjs/components/sheet/index.cjs.map +1 -1
- package/dist/cjs/components/sheet/sheet-content-variants.cjs.map +1 -1
- package/dist/cjs/components/sheet/sheet.cjs.map +1 -1
- package/dist/cjs/components/skeleton.cjs.map +1 -1
- package/dist/cjs/components/slider.cjs.map +1 -1
- package/dist/cjs/components/sortable.cjs.map +1 -1
- package/dist/cjs/components/spinner.cjs.map +1 -1
- package/dist/cjs/components/switch.cjs.map +1 -1
- package/dist/cjs/components/table-expandable.cjs.map +1 -1
- package/dist/cjs/components/table.cjs.map +1 -1
- package/dist/cjs/components/tabs/index.cjs.map +1 -1
- package/dist/cjs/components/tabs/tabs-content.cjs.map +1 -1
- package/dist/cjs/components/tabs/tabs-list.cjs.map +1 -1
- package/dist/cjs/components/tabs/tabs-root.cjs.map +1 -1
- package/dist/cjs/components/tabs/tabs-trigger.cjs.map +1 -1
- package/dist/cjs/components/textarea.cjs.map +1 -1
- package/dist/cjs/components/time-picker-input.cjs.map +1 -1
- package/dist/cjs/components/time-picker.cjs.map +1 -1
- package/dist/cjs/components/title.cjs.map +1 -1
- package/dist/cjs/components/tokens-grid.cjs.map +1 -1
- package/dist/cjs/components/tooltip.cjs.map +1 -1
- package/dist/cjs/hooks/use-callback-ref.cjs.map +1 -1
- package/dist/cjs/hooks/use-data-table.cjs.map +1 -1
- package/dist/cjs/hooks/use-debounce.cjs.map +1 -1
- package/dist/cjs/hooks/use-debounced-callback.cjs.map +1 -1
- package/dist/cjs/hooks/use-mobile.cjs.map +1 -1
- package/dist/cjs/lib/composition.cjs.map +1 -1
- package/dist/cjs/lib/data-table-config.cjs.map +1 -1
- package/dist/cjs/lib/data-table.cjs.map +1 -1
- package/dist/cjs/lib/format.cjs.map +1 -1
- package/dist/cjs/lib/id.cjs.map +1 -1
- package/dist/cjs/lib/index.cjs.map +1 -1
- package/dist/cjs/lib/lucide-dynamic-icon.cjs +3 -0
- package/dist/cjs/lib/lucide-dynamic-icon.cjs.map +1 -0
- package/dist/cjs/lib/lucide-dynamic-icon.d.ts +9 -0
- package/dist/cjs/lib/lucide-dynamic-icon.d.ts.map +1 -0
- package/dist/cjs/lib/parsers.cjs.map +1 -1
- package/dist/cjs/lib/utils.cjs.map +1 -1
- package/dist/cjs/primitive/input.cjs.map +1 -1
- package/dist/cjs/tokens/colors.cjs.map +1 -1
- package/dist/cjs/tokens/index.cjs.map +1 -1
- package/dist/cjs/types/data-table.cjs.map +1 -1
- package/dist/cjs/types/index.cjs.map +1 -1
- package/dist/cjs/types/locale.cjs.map +1 -1
- package/dist/cjs/types/module.cjs.map +1 -1
- package/dist/cjs/types/user.cjs.map +1 -1
- package/dist/cjs/utils/time-picker.cjs.map +1 -1
- package/dist/esm/components/alert-dialog.js.map +1 -1
- package/dist/esm/components/app-layout/app-layout-breadcrumb.js.map +1 -1
- package/dist/esm/components/app-layout/app-layout-content.js.map +1 -1
- package/dist/esm/components/app-layout/app-layout-filters.js.map +1 -1
- package/dist/esm/components/app-layout/app-layout-header.js.map +1 -1
- package/dist/esm/components/app-layout/app-layout-provider.js.map +1 -1
- package/dist/esm/components/app-layout/app-layout.js.map +1 -1
- package/dist/esm/components/app-layout/sidebar/app-sidebar.js.map +1 -1
- package/dist/esm/components/app-layout/sidebar/index.js +1 -2
- package/dist/esm/components/app-layout/sidebar/intl/messages.js.map +1 -1
- package/dist/esm/components/app-layout/sidebar/logo.js.map +1 -1
- package/dist/esm/components/app-layout/sidebar/nav-modules.js.map +1 -1
- package/dist/esm/components/app-layout/sidebar/nav-sub-item.js.map +1 -1
- package/dist/esm/components/app-layout/sidebar/nav-user.js.map +1 -1
- package/dist/esm/components/app-layout/sidebar/sidebar-icons.d.ts.map +1 -1
- package/dist/esm/components/app-layout/sidebar/sidebar-icons.js +1 -1
- package/dist/esm/components/app-layout/sidebar/sidebar-icons.js.map +1 -1
- package/dist/esm/components/app-layout/sidebar/sidebar.js.map +1 -1
- package/dist/esm/components/autocomplete/autocomplete-content.js.map +1 -1
- package/dist/esm/components/autocomplete/autocomplete-context.js.map +1 -1
- package/dist/esm/components/autocomplete/autocomplete-empty.js.map +1 -1
- package/dist/esm/components/autocomplete/autocomplete-input.js.map +1 -1
- package/dist/esm/components/autocomplete/autocomplete-item.js.map +1 -1
- package/dist/esm/components/autocomplete/autocomplete-list.js.map +1 -1
- package/dist/esm/components/autocomplete/autocomplete.js.map +1 -1
- package/dist/esm/components/avatar.js.map +1 -1
- package/dist/esm/components/badge.js.map +1 -1
- package/dist/esm/components/breadcrumb.js.map +1 -1
- package/dist/esm/components/button.js.map +1 -1
- package/dist/esm/components/calendar.js.map +1 -1
- package/dist/esm/components/checkbox.js.map +1 -1
- package/dist/esm/components/combobox.js.map +1 -1
- package/dist/esm/components/command.js.map +1 -1
- package/dist/esm/components/context-menu.js.map +1 -1
- package/dist/esm/components/data-table/data-table-action-bar.js.map +1 -1
- package/dist/esm/components/data-table/data-table-advanced-toolbar.js.map +1 -1
- package/dist/esm/components/data-table/data-table-column-header.js.map +1 -1
- package/dist/esm/components/data-table/data-table-date-filter.js.map +1 -1
- package/dist/esm/components/data-table/data-table-faceted-filter.js.map +1 -1
- package/dist/esm/components/data-table/data-table-filter-list.js.map +1 -1
- package/dist/esm/components/data-table/data-table-filter-menu.js.map +1 -1
- package/dist/esm/components/data-table/data-table-pagination.js.map +1 -1
- package/dist/esm/components/data-table/data-table-range-filter.js.map +1 -1
- package/dist/esm/components/data-table/data-table-skeleton.js.map +1 -1
- package/dist/esm/components/data-table/data-table-slider-filter.js.map +1 -1
- package/dist/esm/components/data-table/data-table-sort-list.js.map +1 -1
- package/dist/esm/components/data-table/data-table-toolbar.js.map +1 -1
- package/dist/esm/components/data-table/data-table-view-options.js.map +1 -1
- package/dist/esm/components/data-table/data-table.js.map +1 -1
- package/dist/esm/components/data-table/index.js +1 -1
- package/dist/esm/components/data-table/index.js.map +1 -1
- package/dist/esm/components/date-picker-with-range.js.map +1 -1
- package/dist/esm/components/date-picker.js.map +1 -1
- package/dist/esm/components/date-time-picker-with-range.js.map +1 -1
- package/dist/esm/components/date-time-picker.js.map +1 -1
- package/dist/esm/components/dialog.js.map +1 -1
- package/dist/esm/components/dropdown-menu.js.map +1 -1
- package/dist/esm/components/faceted.js.map +1 -1
- package/dist/esm/components/form.js.map +1 -1
- package/dist/esm/components/icons/rumo.js.map +1 -1
- package/dist/esm/components/icons/vli.js.map +1 -1
- package/dist/esm/components/input-otp.js.map +1 -1
- package/dist/esm/components/input-password.js.map +1 -1
- package/dist/esm/components/input.js.map +1 -1
- package/dist/esm/components/label.js.map +1 -1
- package/dist/esm/components/mask-input.js.map +1 -1
- package/dist/esm/components/multi-select.js.map +1 -1
- package/dist/esm/components/page-layout/index.js.map +1 -1
- package/dist/esm/components/page-layout/page-layout-breadcrumb.js.map +1 -1
- package/dist/esm/components/page-layout/page-layout-content.js.map +1 -1
- package/dist/esm/components/page-layout/page-layout-header.js.map +1 -1
- package/dist/esm/components/page-layout/page-layout-root.js.map +1 -1
- package/dist/esm/components/page-layout/page-layout-title.js.map +1 -1
- package/dist/esm/components/pagination.js.map +1 -1
- package/dist/esm/components/popover.js.map +1 -1
- package/dist/esm/components/radio-group.js.map +1 -1
- package/dist/esm/components/scroll-area.js.map +1 -1
- package/dist/esm/components/select.js.map +1 -1
- package/dist/esm/components/separator.js.map +1 -1
- package/dist/esm/components/sheet/sheet-content-variants.js.map +1 -1
- package/dist/esm/components/sheet/sheet.js.map +1 -1
- package/dist/esm/components/skeleton.js.map +1 -1
- package/dist/esm/components/slider.js.map +1 -1
- package/dist/esm/components/sortable.js.map +1 -1
- package/dist/esm/components/spinner.js.map +1 -1
- package/dist/esm/components/switch.js.map +1 -1
- package/dist/esm/components/table-expandable.js.map +1 -1
- package/dist/esm/components/table.js.map +1 -1
- package/dist/esm/components/tabs/index.js.map +1 -1
- package/dist/esm/components/tabs/tabs-content.js.map +1 -1
- package/dist/esm/components/tabs/tabs-list.js.map +1 -1
- package/dist/esm/components/tabs/tabs-root.js.map +1 -1
- package/dist/esm/components/tabs/tabs-trigger.js.map +1 -1
- package/dist/esm/components/textarea.js.map +1 -1
- package/dist/esm/components/time-picker-input.js.map +1 -1
- package/dist/esm/components/time-picker.js.map +1 -1
- package/dist/esm/components/title.js.map +1 -1
- package/dist/esm/components/tokens-grid.js.map +1 -1
- package/dist/esm/components/tooltip.js.map +1 -1
- package/dist/esm/hooks/use-callback-ref.js.map +1 -1
- package/dist/esm/hooks/use-data-table.js.map +1 -1
- package/dist/esm/hooks/use-debounce.js.map +1 -1
- package/dist/esm/hooks/use-debounced-callback.js.map +1 -1
- package/dist/esm/hooks/use-mobile.js.map +1 -1
- package/dist/esm/lib/composition.js.map +1 -1
- package/dist/esm/lib/data-table-config.js.map +1 -1
- package/dist/esm/lib/data-table.js.map +1 -1
- package/dist/esm/lib/format.js.map +1 -1
- package/dist/esm/lib/id.js.map +1 -1
- package/dist/esm/lib/lucide-dynamic-icon.d.ts +9 -0
- package/dist/esm/lib/lucide-dynamic-icon.d.ts.map +1 -0
- package/dist/esm/lib/lucide-dynamic-icon.js +3 -0
- package/dist/esm/lib/lucide-dynamic-icon.js.map +1 -0
- package/dist/esm/lib/parsers.js.map +1 -1
- package/dist/esm/lib/utils.js.map +1 -1
- package/dist/esm/primitive/input.js.map +1 -1
- package/dist/esm/tokens/colors.js.map +1 -1
- package/dist/esm/utils/time-picker.js.map +1 -1
- package/dist/styles/index.css +574 -574
- package/package.json +1 -1
- package/dist/esm/components/app-layout/sidebar/index.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components
|
|
1
|
+
{"version":3,"file":"components/scroll-area.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/scroll-area.tsx"],"sourcesContent":["\n\nimport type { Scope } from '@radix-ui/react-context'\nimport type { ComponentProps, JSX } from 'react'\n\nimport { createContextScope } from '@radix-ui/react-context'\nimport * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area'\n\nimport type { VariantProps } from '@/lib/utils'\n\nimport { cn, tv } from '@/lib/utils'\n\n/* -----------------------------------------------------------------------------\n * Variant: ScrollAreaScrollbar\n * -------------------------------------------------------------------------- */\n\nconst scrollAreaScrollbarVariants = tv({\n base: 'flex touch-none select-none p-px transition-colors',\n compoundVariants: [\n {\n className: 'w-1.5',\n orientation: 'vertical',\n size: 'sm',\n },\n {\n className: 'w-2',\n orientation: 'vertical',\n size: 'md',\n },\n {\n className: 'w-2.5',\n orientation: 'vertical',\n size: 'lg',\n },\n {\n className: 'h-1.5',\n orientation: 'horizontal',\n size: 'sm',\n },\n {\n className: 'h-2',\n orientation: 'horizontal',\n size: 'md',\n },\n {\n className: 'h-2.5',\n orientation: 'horizontal',\n size: 'lg',\n },\n ],\n variants: {\n orientation: {\n horizontal: 'w-full flex-col border-t border-t-transparent',\n vertical: 'h-full flex-row border-l border-l-transparent',\n },\n size: {\n none: '',\n sm: '',\n md: '',\n lg: '',\n },\n },\n defaultVariants: {\n size: 'md',\n vertical: 'vertical',\n },\n})\n\n/* -----------------------------------------------------------------------------\n * Context: ScrollArea\n * -------------------------------------------------------------------------- */\n\nconst SCROLL_AREA_NAME = 'ScrollArea'\n\ntype ScopedProps<P> = P & { __scopeScrollArea?: Scope }\n\nconst [createScrollAreaContext] = createContextScope(SCROLL_AREA_NAME)\n\ntype ScrollAreaContextValue = Pick<\n VariantProps<typeof scrollAreaScrollbarVariants>,\n 'size'\n>\n\nconst [ScrollAreaContextProvider, useScrollAreaContext] =\n createScrollAreaContext<ScrollAreaContextValue>(SCROLL_AREA_NAME)\n\n/* -----------------------------------------------------------------------------\n * Component: ScrollArea\n * -------------------------------------------------------------------------- */\n\nfunction ScrollArea({\n __scopeScrollArea,\n children,\n className,\n size,\n ...props\n}: ScopedProps<\n ComponentProps<typeof ScrollAreaPrimitive.Root> & ScrollAreaContextValue\n>): JSX.Element {\n return (\n <ScrollAreaContextProvider scope={__scopeScrollArea} size={size}>\n <ScrollAreaPrimitive.Root\n className={cn('relative', className)}\n data-slot=\"scroll-area\"\n {...props}\n >\n <ScrollAreaPrimitive.Viewport\n className=\"size-full rounded-[inherit] outline-ring ring-gbm-sky/50 transition focus-visible:outline-1 focus-visible:ring-4\"\n data-slot=\"scroll-area-viewport\"\n >\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollAreaScrollbar orientation=\"vertical\" />\n <ScrollAreaScrollbar orientation=\"horizontal\" />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n </ScrollAreaContextProvider>\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: ScrollAreaScrollbar\n * -------------------------------------------------------------------------- */\n\nfunction ScrollAreaScrollbar({\n __scopeScrollArea,\n className,\n orientation,\n ...props\n}: ScopedProps<\n ComponentProps<typeof ScrollAreaPrimitive.Scrollbar>\n>): JSX.Element {\n const { size } = useScrollAreaContext(SCROLL_AREA_NAME, __scopeScrollArea)\n\n return (\n <ScrollAreaPrimitive.Scrollbar\n className={scrollAreaScrollbarVariants({ className, orientation, size })}\n data-slot=\"scroll-area-scrollbar\"\n orientation={orientation}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb className=\"relative flex-1 rounded-full bg-stroke\" />\n </ScrollAreaPrimitive.Scrollbar>\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { ScrollArea, ScrollAreaScrollbar }\n"],"names":["scrollAreaScrollbarVariants","tv","SCROLL_AREA_NAME","createScrollAreaContext","createContextScope","ScrollAreaContextProvider","useScrollAreaContext","ScrollArea","__scopeScrollArea","children","className","size","props","ScrollAreaPrimitive","cn","ScrollAreaScrollbar","orientation"],"mappings":";8JAgBA,IAAMA,EAA8BC,GAAAA,EAAAA,EAAAA,EAAG,CACrC,KAAM,qDACN,iBAAkB,CAChB,CACE,UAAW,QACX,YAAa,WACb,KAAM,IACR,EACA,CACE,UAAW,MACX,YAAa,WACb,KAAM,IACR,EACA,CACE,UAAW,QACX,YAAa,WACb,KAAM,IACR,EACA,CACE,UAAW,QACX,YAAa,aACb,KAAM,IACR,EACA,CACE,UAAW,MACX,YAAa,aACb,KAAM,IACR,EACA,CACE,UAAW,QACX,YAAa,aACb,KAAM,IACR,EACD,CACD,SAAU,CACR,YAAa,CACX,WAAY,gDACZ,SAAU,+CACZ,EACA,KAAM,CACJ,KAAM,GACN,GAAI,GACJ,GAAI,GACJ,GAAI,EACN,CACF,EACA,gBAAiB,CACf,KAAM,KACN,SAAU,UACZ,CACF,GAMMC,EAAmB,aAInB,CAACC,EAAwB,CAAGC,GAAAA,EAAAA,kBAAAA,EAAmBF,GAO/C,CAACG,EAA2BC,EAAqB,CACrDH,EAAgDD,GAMlD,SAASK,EAAW,CAClBC,kBAAAA,CAAiB,CACjBC,SAAAA,CAAQ,CACRC,UAAAA,CAAS,CACTC,KAAAA,CAAI,CACJ,GAAGC,EAGJ,EACC,MACE,UAACP,EAAAA,CAA0B,MAAOG,EAAmB,KAAMG,E,SACzD,WAACE,EAAAA,IAAwB,EACvB,UAAWC,GAAAA,EAAAA,EAAAA,EAAG,WAAYJ,GAC1B,YAAU,cACT,GAAGE,CAAK,C,UAET,UAACC,EAAAA,QAA4B,EAC3B,UAAU,mHACV,YAAU,uB,SAETJ,C,GAEH,UAACM,EAAAA,CAAoB,YAAY,U,GACjC,UAACA,EAAAA,CAAoB,YAAY,Y,GACjC,UAACF,EAAAA,MAA0B,K,IAInC,CAMA,SAASE,EAAoB,CAC3BP,kBAAAA,CAAiB,CACjBE,UAAAA,CAAS,CACTM,YAAAA,CAAW,CACX,GAAGJ,EAGJ,EACC,GAAM,CAAED,KAAAA,CAAI,CAAE,CAAGL,EAAqBJ,EAAkBM,GAExD,MACE,UAACK,EAAAA,SAA6B,EAC5B,UAAWb,EAA4B,CAAEU,UAAAA,EAAWM,YAAAA,EAAaL,KAAAA,CAAK,GACtE,YAAU,wBACV,YAAaK,EACZ,GAAGJ,CAAK,C,SAET,UAACC,EAAAA,eAAmC,EAAC,UAAU,wC,IAGrD,Q"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components\\select.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/select.tsx"],"sourcesContent":["\r\n\r\nimport { CaretDown, CaretUp, Check } from '@phosphor-icons/react'\r\nimport * as SelectPrimitive from '@radix-ui/react-select'\r\nimport { ComponentProps, JSX } from 'react'\r\n\r\nimport { VariantProps, cn } from '@/lib/utils'\r\nimport { buttonVariants } from './button'\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: Select\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction Select({\r\n ...props\r\n}: ComponentProps<typeof SelectPrimitive.Root>): JSX.Element {\r\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: SelectGroup\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction SelectGroup({\r\n ...props\r\n}: ComponentProps<typeof SelectPrimitive.Group>): JSX.Element {\r\n return <SelectPrimitive.Group data-slot=\"select-group\" {...props} />\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: SelectValue\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction SelectValue({\r\n ...props\r\n}: ComponentProps<typeof SelectPrimitive.Value>): JSX.Element {\r\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} />\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: SelectTrigger\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction SelectTrigger({\r\n children,\r\n className,\r\n size = 'md',\r\n ...props\r\n}: ComponentProps<typeof SelectPrimitive.Trigger> & {\r\n size?: VariantProps<typeof buttonVariants>['size']\r\n}): JSX.Element {\r\n return (\r\n <SelectPrimitive.Trigger\r\n className={buttonVariants({\r\n className: [\r\n \"w-fit justify-between px-3 font-normal focus:ring-1 focus:ring-gbm-sky/50 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 *:data-[slot=select-value]:truncate [&_svg:not([class*='text-'])]:text-gray-400\",\r\n className,\r\n ],\r\n size,\r\n variant: 'secondary',\r\n })}\r\n data-size={size}\r\n data-slot=\"select-trigger\"\r\n {...props}\r\n >\r\n {children}\r\n <SelectPrimitive.Icon asChild className=\"size-4 shrink-0 opacity-50\">\r\n <CaretDown />\r\n </SelectPrimitive.Icon>\r\n </SelectPrimitive.Trigger>\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: SelectScrollUpButton\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction SelectScrollUpButton({\r\n className,\r\n ...props\r\n}: ComponentProps<typeof SelectPrimitive.ScrollUpButton>): JSX.Element {\r\n return (\r\n <SelectPrimitive.ScrollUpButton\r\n className={cn(\r\n 'flex items-center justify-center py-1 text-gray-600',\r\n className\r\n )}\r\n data-slot=\"select-scroll-up-button\"\r\n {...props}\r\n >\r\n <CaretUp size={16} />\r\n </SelectPrimitive.ScrollUpButton>\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: SelectScrollDownButton\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction SelectScrollDownButton({\r\n className,\r\n ...props\r\n}: ComponentProps<typeof SelectPrimitive.ScrollDownButton>): JSX.Element {\r\n return (\r\n <SelectPrimitive.ScrollDownButton\r\n className={cn(\r\n 'flex items-center justify-center py-1 text-gray-600',\r\n className\r\n )}\r\n data-slot=\"select-scroll-down-button\"\r\n {...props}\r\n >\r\n <CaretDown size={16} />\r\n </SelectPrimitive.ScrollDownButton>\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: SelectContent\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction SelectContent({\r\n children,\r\n className,\r\n position = 'popper',\r\n ...props\r\n}: ComponentProps<typeof SelectPrimitive.Content>): JSX.Element {\r\n return (\r\n <SelectPrimitive.Portal>\r\n <SelectPrimitive.Content\r\n className={cn(\r\n 'data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=open]:data-[side=top]:slide-in-from-bottom-2 data-[state=open]:data-[side=right]:slide-in-from-left-2 data-[state=open]:data-[side=bottom]:slide-in-from-top-2 data-[state=open]:data-[side=left]:slide-in-from-right-2 data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:data-[side=top]:slide-out-to-bottom-2 data-[state=closed]:data-[side=right]:slide-out-to-left-2 data-[state=closed]:data-[side=bottom]:slide-out-to-top-2 data-[state=closed]:data-[side=left]:slide-out-to-right-2 relative z-50 max-h-96 min-w-32 overflow-hidden rounded-md border bg-background text-gbm-dark shadow-lg data-[state=closed]:animate-out data-[state=open]:animate-in',\r\n position === 'popper' &&\r\n 'data-[side=left]:-translate-x-1 data-[side=top]:-translate-y-1 data-[side=right]:translate-x-1 data-[side=bottom]:translate-y-1',\r\n className\r\n )}\r\n data-slot=\"select-content\"\r\n position={position}\r\n {...props}\r\n >\r\n <SelectScrollUpButton />\r\n <SelectPrimitive.Viewport\r\n className={cn(\r\n 'p-1',\r\n position === 'popper' &&\r\n 'h-(--radix-select-trigger-height) w-full min-w-(--radix-select-trigger-width)'\r\n )}\r\n >\r\n {children}\r\n </SelectPrimitive.Viewport>\r\n <SelectScrollDownButton />\r\n </SelectPrimitive.Content>\r\n </SelectPrimitive.Portal>\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: SelectLabel\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction SelectLabel({\r\n className,\r\n ...props\r\n}: ComponentProps<typeof SelectPrimitive.Label>): JSX.Element {\r\n return (\r\n <SelectPrimitive.Label\r\n className={cn(\r\n 'flex items-center gap-x-2 px-2 py-1.5 font-semibold text-sm',\r\n className\r\n )}\r\n data-slot=\"select-label\"\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: SelectItem\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction SelectItem({\r\n children,\r\n className,\r\n ...props\r\n}: ComponentProps<typeof SelectPrimitive.Item>): JSX.Element {\r\n return (\r\n <SelectPrimitive.Item\r\n className={cn(\r\n \"relative flex w-full cursor-default select-none items-center rounded-sm py-2 pr-8 pl-2 text-sm outline-hidden focus:bg-gray-100 focus:text-gbm-black aria-disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-gray-600 data-[variant=destructive]:[&_svg:not([class*='text-'])]:text-destructive/80 [&_svg]:shrink-0 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2\",\r\n className\r\n )}\r\n data-slot=\"select-item\"\r\n {...props}\r\n >\r\n <span className=\"absolute right-2 flex items-center justify-center\">\r\n <SelectPrimitive.ItemIndicator>\r\n <Check className=\"size-4\" />\r\n </SelectPrimitive.ItemIndicator>\r\n </span>\r\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\r\n </SelectPrimitive.Item>\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: SelectSeparator\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction SelectSeparator({\r\n className,\r\n ...props\r\n}: ComponentProps<typeof SelectPrimitive.Separator>): JSX.Element {\r\n return (\r\n <SelectPrimitive.Separator\r\n className={cn('mx-2 my-1 h-px bg-stroke', className)}\r\n data-slot=\"select-separator\"\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Exports\r\n * -------------------------------------------------------------------------- */\r\n\r\nexport {\r\n Select,\r\n SelectGroup,\r\n SelectValue,\r\n SelectTrigger,\r\n SelectContent,\r\n SelectLabel,\r\n SelectItem,\r\n SelectSeparator,\r\n}\r\n"],"names":["Select","props","SelectPrimitive","SelectGroup","SelectValue","SelectTrigger","children","className","size","buttonVariants","CaretDown","SelectScrollUpButton","cn","CaretUp","SelectScrollDownButton","SelectContent","position","SelectLabel","SelectItem","Check","SelectSeparator"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"components/select.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/select.tsx"],"sourcesContent":["\n\nimport { CaretDown, CaretUp, Check } from '@phosphor-icons/react'\nimport * as SelectPrimitive from '@radix-ui/react-select'\nimport { ComponentProps, JSX } from 'react'\n\nimport { VariantProps, cn } from '@/lib/utils'\nimport { buttonVariants } from './button'\n\n/* -----------------------------------------------------------------------------\n * Component: Select\n * -------------------------------------------------------------------------- */\n\nfunction Select({\n ...props\n}: ComponentProps<typeof SelectPrimitive.Root>): JSX.Element {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SelectGroup\n * -------------------------------------------------------------------------- */\n\nfunction SelectGroup({\n ...props\n}: ComponentProps<typeof SelectPrimitive.Group>): JSX.Element {\n return <SelectPrimitive.Group data-slot=\"select-group\" {...props} />\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SelectValue\n * -------------------------------------------------------------------------- */\n\nfunction SelectValue({\n ...props\n}: ComponentProps<typeof SelectPrimitive.Value>): JSX.Element {\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} />\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SelectTrigger\n * -------------------------------------------------------------------------- */\n\nfunction SelectTrigger({\n children,\n className,\n size = 'md',\n ...props\n}: ComponentProps<typeof SelectPrimitive.Trigger> & {\n size?: VariantProps<typeof buttonVariants>['size']\n}): JSX.Element {\n return (\n <SelectPrimitive.Trigger\n className={buttonVariants({\n className: [\n \"w-fit justify-between px-3 font-normal focus:ring-1 focus:ring-gbm-sky/50 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 *:data-[slot=select-value]:truncate [&_svg:not([class*='text-'])]:text-gray-400\",\n className,\n ],\n size,\n variant: 'secondary',\n })}\n data-size={size}\n data-slot=\"select-trigger\"\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild className=\"size-4 shrink-0 opacity-50\">\n <CaretDown />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SelectScrollUpButton\n * -------------------------------------------------------------------------- */\n\nfunction SelectScrollUpButton({\n className,\n ...props\n}: ComponentProps<typeof SelectPrimitive.ScrollUpButton>): JSX.Element {\n return (\n <SelectPrimitive.ScrollUpButton\n className={cn(\n 'flex items-center justify-center py-1 text-gray-600',\n className\n )}\n data-slot=\"select-scroll-up-button\"\n {...props}\n >\n <CaretUp size={16} />\n </SelectPrimitive.ScrollUpButton>\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SelectScrollDownButton\n * -------------------------------------------------------------------------- */\n\nfunction SelectScrollDownButton({\n className,\n ...props\n}: ComponentProps<typeof SelectPrimitive.ScrollDownButton>): JSX.Element {\n return (\n <SelectPrimitive.ScrollDownButton\n className={cn(\n 'flex items-center justify-center py-1 text-gray-600',\n className\n )}\n data-slot=\"select-scroll-down-button\"\n {...props}\n >\n <CaretDown size={16} />\n </SelectPrimitive.ScrollDownButton>\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SelectContent\n * -------------------------------------------------------------------------- */\n\nfunction SelectContent({\n children,\n className,\n position = 'popper',\n ...props\n}: ComponentProps<typeof SelectPrimitive.Content>): JSX.Element {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n className={cn(\n 'data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=open]:data-[side=top]:slide-in-from-bottom-2 data-[state=open]:data-[side=right]:slide-in-from-left-2 data-[state=open]:data-[side=bottom]:slide-in-from-top-2 data-[state=open]:data-[side=left]:slide-in-from-right-2 data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:data-[side=top]:slide-out-to-bottom-2 data-[state=closed]:data-[side=right]:slide-out-to-left-2 data-[state=closed]:data-[side=bottom]:slide-out-to-top-2 data-[state=closed]:data-[side=left]:slide-out-to-right-2 relative z-50 max-h-96 min-w-32 overflow-hidden rounded-md border bg-background text-gbm-dark shadow-lg data-[state=closed]:animate-out data-[state=open]:animate-in',\n position === 'popper' &&\n 'data-[side=left]:-translate-x-1 data-[side=top]:-translate-y-1 data-[side=right]:translate-x-1 data-[side=bottom]:translate-y-1',\n className\n )}\n data-slot=\"select-content\"\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n 'p-1',\n position === 'popper' &&\n 'h-(--radix-select-trigger-height) w-full min-w-(--radix-select-trigger-width)'\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SelectLabel\n * -------------------------------------------------------------------------- */\n\nfunction SelectLabel({\n className,\n ...props\n}: ComponentProps<typeof SelectPrimitive.Label>): JSX.Element {\n return (\n <SelectPrimitive.Label\n className={cn(\n 'flex items-center gap-x-2 px-2 py-1.5 font-semibold text-sm',\n className\n )}\n data-slot=\"select-label\"\n {...props}\n />\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SelectItem\n * -------------------------------------------------------------------------- */\n\nfunction SelectItem({\n children,\n className,\n ...props\n}: ComponentProps<typeof SelectPrimitive.Item>): JSX.Element {\n return (\n <SelectPrimitive.Item\n className={cn(\n \"relative flex w-full cursor-default select-none items-center rounded-sm py-2 pr-8 pl-2 text-sm outline-hidden focus:bg-gray-100 focus:text-gbm-black aria-disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-gray-600 data-[variant=destructive]:[&_svg:not([class*='text-'])]:text-destructive/80 [&_svg]:shrink-0 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2\",\n className\n )}\n data-slot=\"select-item\"\n {...props}\n >\n <span className=\"absolute right-2 flex items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <Check className=\"size-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SelectSeparator\n * -------------------------------------------------------------------------- */\n\nfunction SelectSeparator({\n className,\n ...props\n}: ComponentProps<typeof SelectPrimitive.Separator>): JSX.Element {\n return (\n <SelectPrimitive.Separator\n className={cn('mx-2 my-1 h-px bg-stroke', className)}\n data-slot=\"select-separator\"\n {...props}\n />\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport {\n Select,\n SelectGroup,\n SelectValue,\n SelectTrigger,\n SelectContent,\n SelectLabel,\n SelectItem,\n SelectSeparator,\n}\n"],"names":["Select","props","SelectPrimitive","SelectGroup","SelectValue","SelectTrigger","children","className","size","buttonVariants","CaretDown","SelectScrollUpButton","cn","CaretUp","SelectScrollDownButton","SelectContent","position","SelectLabel","SelectItem","Check","SelectSeparator"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components
|
|
1
|
+
{"version":3,"file":"components/separator.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/separator.tsx"],"sourcesContent":["import type { ComponentProps, JSX } from 'react'\n\nimport * as SeparatorPrimitive from '@radix-ui/react-separator'\n\nimport type { VariantProps } from '@/lib/utils'\n\nimport { cn, tv } from '@/lib/utils'\n\n/* -----------------------------------------------------------------------------\n * Variant: Separator\n * -------------------------------------------------------------------------- */\n\nconst separatorVariants = tv({\n base: 'bg-stroke relative flex shrink-0 items-center',\n variants: {\n align: {\n center: 'justify-center',\n end: 'justify-end',\n start: 'justify-start',\n },\n orientation: {\n horizontal: 'h-px w-full',\n vertical: 'h-full w-px flex-col',\n },\n },\n defaultVariants: {\n align: 'center',\n orientation: 'horizontal',\n },\n})\n\n/* -----------------------------------------------------------------------------\n * Component: Separator\n * -------------------------------------------------------------------------- */\n\nfunction Separator({\n align,\n className,\n decorative = true,\n orientation,\n ...props\n}: ComponentProps<typeof SeparatorPrimitive.Root> &\n Omit<VariantProps<typeof separatorVariants>, 'orientation'>): JSX.Element {\n return (\n <SeparatorPrimitive.Root\n className={separatorVariants({ align, className, orientation })}\n data-slot=\"separator\"\n decorative={decorative}\n orientation={orientation}\n {...props}\n />\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SeparatorItem\n * -------------------------------------------------------------------------- */\n\nfunction SeparatorItem({\n className,\n ...props\n}: ComponentProps<'div'>): JSX.Element {\n return (\n <div\n className={cn(\n 'absolute mx-2 bg-background px-2 text-muted-foreground text-sm',\n className\n )}\n data-slot=\"separator-item\"\n {...props}\n />\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { Separator, SeparatorItem }\n"],"names":["separatorVariants","tv","Separator","align","className","decorative","orientation","props","SeparatorPrimitive","SeparatorItem","cn"],"mappings":"kHAYA,IAAMA,EAAoBC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAG,CAC3B,KAAM,gDACN,SAAU,CACR,MAAO,CACL,OAAQ,iBACR,IAAK,cACL,MAAO,eACT,EACA,YAAa,CACX,WAAY,cACZ,SAAU,sBACZ,CACF,EACA,gBAAiB,CACf,MAAO,SACP,YAAa,YACf,CACF,GAMA,SAASC,EAAU,CACjBC,MAAAA,CAAK,CACLC,UAAAA,CAAS,CACTC,WAAAA,EAAa,EAAI,CACjBC,YAAAA,CAAW,CACX,GAAGC,EAEwD,EAC3D,MACE,UAACC,EAAAA,IAAuB,EACtB,UAAWR,EAAkB,CAAEG,MAAAA,EAAOC,UAAAA,EAAWE,YAAAA,CAAY,GAC7D,YAAU,YACV,WAAYD,EACZ,YAAaC,EACZ,GAAGC,CAAK,A,EAGf,CAMA,SAASE,EAAc,CACrBL,UAAAA,CAAS,CACT,GAAGG,EACmB,EACtB,MACE,UAAC,OACC,UAAWG,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EACT,iEACAN,GAEF,YAAU,iBACT,GAAGG,CAAK,A,EAGf,Q"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components
|
|
1
|
+
{"version":3,"file":"components/sheet/sheet-content-variants.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/sheet/sheet-content-variants.tsx"],"sourcesContent":["import { tv } from '@/lib/utils'\n\n/* -----------------------------------------------------------------------------\n * Variant: SheetContent\n * -------------------------------------------------------------------------- */\n\nconst sheetContentVariants = tv({\n base: 'bg-background animation-ease-in-out data-[state=open]:animate-in data-[state=open]:animation-duration-500 data-[state=closed]:animate-out data-[state=closed]:animation-duration-500 fixed z-50 flex flex-col overflow-auto shadow-lg',\n variants: {\n side: {\n bottom:\n 'data-[state=open]:slide-in-from-bottom data-[state=closed]:slide-out-to-bottom inset-x-0 bottom-0 max-h-[80vh] border-t',\n left: 'data-[state=open]:slide-in-from-left data-[state=closed]:slide-out-to-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm',\n right:\n 'data-[state=open]:slide-in-from-right data-[state=closed]:slide-out-to-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm',\n top: 'data-[state=open]:slide-in-from-top data-[state=closed]:slide-out-to-top inset-x-0 top-0 max-h-[80vh] border-b',\n },\n },\n defaultVariants: {\n side: 'right',\n },\n})\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { sheetContentVariants }\n"],"names":["sheetContentVariants","tv"],"mappings":"qCAMA,IAAMA,EAAuBC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAG,CAC9B,KAAM,wOACN,SAAU,CACR,KAAM,CACJ,OACE,0HACF,KAAM,gIACN,MACE,mIACF,IAAK,gHACP,CACF,EACA,gBAAiB,CACf,KAAM,OACR,CACF,U"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components
|
|
1
|
+
{"version":3,"file":"components/sheet/sheet.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/sheet/sheet.tsx"],"sourcesContent":["\n\nimport type { ComponentProps, JSX } from 'react'\n\nimport * as SheetPrimitive from '@radix-ui/react-dialog'\n\nimport type { VariantProps } from '@/lib/utils'\n\nimport { buttonVariants } from '@/components/button'\nimport { sheetContentVariants } from '@/components/sheet/sheet-content-variants'\nimport { cn } from '@/lib/utils'\nimport { X } from '@phosphor-icons/react'\n\n/* -----------------------------------------------------------------------------\n * Component: Sheet\n * -------------------------------------------------------------------------- */\n\nfunction Sheet({\n children,\n ...props\n}: ComponentProps<typeof SheetPrimitive.Root>): JSX.Element {\n return (\n <SheetPrimitive.Root data-slot=\"sheet\" {...props}>\n {children}\n </SheetPrimitive.Root>\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SheetTrigger\n * -------------------------------------------------------------------------- */\n\nfunction SheetTrigger({\n ...props\n}: ComponentProps<typeof SheetPrimitive.Trigger>): JSX.Element {\n return <SheetPrimitive.Trigger data-slot=\"sheet-trigger\" {...props} />\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SheetContent\n * -------------------------------------------------------------------------- */\n\nfunction SheetContent({\n children,\n className,\n classNames,\n side = 'right',\n ...props\n}: ComponentProps<typeof SheetPrimitive.Content> &\n VariantProps<typeof sheetContentVariants> & {\n classNames?: {\n close?: string\n content?: string\n overlay?: string\n }\n }): JSX.Element {\n return (\n <SheetPrimitive.Portal>\n <SheetPrimitive.Overlay\n className={cn(\n 'data-[state=open]:animation-duration-500 data-[state=closed]:animation-duration-500 fixed inset-0 z-50 bg-black/40 data-[state=closed]:animate-fade-out data-[state=open]:animate-fade-in',\n classNames?.overlay\n )}\n data-slot=\"sheet-overlay\"\n />\n <SheetPrimitive.Content\n className={sheetContentVariants({\n className: [classNames?.content, className],\n side,\n })}\n data-slot=\"sheet-content\"\n {...props}\n >\n {children}\n <SheetPrimitive.Close\n className={buttonVariants({\n className: ['absolute top-4 right-4 size-7', classNames?.close],\n size: 'icon',\n variant: 'ghost',\n })}\n data-slot=\"sheet-close\"\n >\n <X className=\"size-4\" />\n <span className=\"sr-only\">Close</span>\n </SheetPrimitive.Close>\n </SheetPrimitive.Content>\n </SheetPrimitive.Portal>\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SheetHeader\n * -------------------------------------------------------------------------- */\n\nfunction SheetHeader({\n className,\n ...props\n}: ComponentProps<'div'>): JSX.Element {\n return (\n <header\n className={cn(\n 'flex shrink-0 flex-col gap-1.5 px-6 pt-6 pb-4 text-center sm:text-left',\n className\n )}\n data-slot=\"sheet-header\"\n {...props}\n />\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SheetBody\n * -------------------------------------------------------------------------- */\n\nfunction SheetBody({\n className,\n ...props\n}: ComponentProps<'div'>): JSX.Element {\n return (\n <main\n className={cn('px-6 py-2', className)}\n data-slot=\"sheet-body\"\n {...props}\n />\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SheetFooter\n * -------------------------------------------------------------------------- */\n\nfunction SheetFooter({\n className,\n ...props\n}: ComponentProps<'div'>): JSX.Element {\n return (\n <footer\n className={cn(\n 'flex shrink-0 flex-col-reverse gap-2 px-6 pt-4 pb-6 sm:flex-row sm:justify-end',\n className\n )}\n data-slot=\"sheet-footer\"\n {...props}\n />\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SheetTitle\n * -------------------------------------------------------------------------- */\n\nfunction SheetTitle({\n className,\n ...props\n}: ComponentProps<typeof SheetPrimitive.Title>): JSX.Element {\n return (\n <SheetPrimitive.Title\n className={cn('font-semibold text-lg', className)}\n data-slot=\"sheet-title\"\n {...props}\n />\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SheetDescription\n * -------------------------------------------------------------------------- */\n\nfunction SheetDescription({\n className,\n ...props\n}: ComponentProps<typeof SheetPrimitive.Description>): JSX.Element {\n return (\n <SheetPrimitive.Description\n className={cn('text-gray-400 text-sm', className)}\n data-slot=\"sheet-description\"\n {...props}\n />\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SheetClose\n * -------------------------------------------------------------------------- */\n\nfunction SheetClose({\n className,\n size,\n variant = 'secondary',\n ...props\n}: ComponentProps<typeof SheetPrimitive.Close> & {\n size?: VariantProps<typeof buttonVariants>['size']\n variant?: VariantProps<typeof buttonVariants>['variant']\n}): JSX.Element {\n return (\n <SheetPrimitive.Close\n className={buttonVariants({ className, size, variant })}\n data-slot=\"sheet-close\"\n {...props}\n />\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport {\n Sheet,\n SheetBody,\n SheetClose,\n SheetContent,\n SheetDescription,\n SheetFooter,\n SheetHeader,\n SheetTitle,\n SheetTrigger,\n}\n"],"names":["Sheet","children","props","SheetPrimitive","SheetTrigger","SheetContent","className","classNames","side","cn","sheetContentVariants","buttonVariants","X","SheetHeader","SheetBody","SheetFooter","SheetTitle","SheetDescription","SheetClose","size","variant"],"mappings":";uOAiBA,SAASA,EAAM,CACbC,SAAAA,CAAQ,CACR,GAAGC,EACwC,EAC3C,MACE,UAACC,EAAAA,IAAmB,EAAC,YAAU,QAAS,GAAGD,CAAK,C,SAC7CD,C,EAGP,CAMA,SAASG,EAAa,CACpB,GAAGF,EAC2C,EAC9C,MAAO,UAACC,EAAAA,OAAsB,EAAC,YAAU,gBAAiB,GAAGD,CAAK,EACpE,CAMA,SAASG,EAAa,CACpBJ,SAAAA,CAAQ,CACRK,UAAAA,CAAS,CACTC,WAAAA,CAAU,CACVC,KAAAA,EAAO,OAAO,CACd,GAAGN,EAQF,EACD,MACE,WAACC,EAAAA,MAAqB,E,UACpB,UAACA,EAAAA,OAAsB,EACrB,UAAWM,GAAAA,EAAAA,EAAAA,EACT,4LACAF,GAAY,SAEd,YAAU,e,GAEZ,WAACJ,EAAAA,OAAsB,EACrB,UAAWO,GAAAA,EAAAA,oBAAAA,EAAqB,CAC9B,UAAW,CAACH,GAAY,QAASD,EAAU,CAC3CE,KAAAA,CACF,GACA,YAAU,gBACT,GAAGN,CAAK,C,UAERD,EACD,WAACE,EAAAA,KAAoB,EACnB,UAAWQ,GAAAA,EAAAA,cAAAA,EAAe,CACxB,UAAW,CAAC,gCAAiCJ,GAAY,MAAM,CAC/D,KAAM,OACN,QAAS,OACX,GACA,YAAU,c,UAEV,UAACK,EAAAA,CAACA,CAAAA,CAAC,UAAU,Q,GACb,UAAC,QAAK,UAAU,U,SAAU,O,WAKpC,CAMA,SAASC,EAAY,CACnBP,UAAAA,CAAS,CACT,GAAGJ,EACmB,EACtB,MACE,UAAC,UACC,UAAWO,GAAAA,EAAAA,EAAAA,EACT,yEACAH,GAEF,YAAU,eACT,GAAGJ,CAAK,EAGf,CAMA,SAASY,EAAU,CACjBR,UAAAA,CAAS,CACT,GAAGJ,EACmB,EACtB,MACE,UAAC,QACC,UAAWO,GAAAA,EAAAA,EAAAA,EAAG,YAAaH,GAC3B,YAAU,aACT,GAAGJ,CAAK,EAGf,CAMA,SAASa,EAAY,CACnBT,UAAAA,CAAS,CACT,GAAGJ,EACmB,EACtB,MACE,UAAC,UACC,UAAWO,GAAAA,EAAAA,EAAAA,EACT,iFACAH,GAEF,YAAU,eACT,GAAGJ,CAAK,EAGf,CAMA,SAASc,EAAW,CAClBV,UAAAA,CAAS,CACT,GAAGJ,EACyC,EAC5C,MACE,UAACC,EAAAA,KAAoB,EACnB,UAAWM,GAAAA,EAAAA,EAAAA,EAAG,wBAAyBH,GACvC,YAAU,cACT,GAAGJ,CAAK,EAGf,CAMA,SAASe,EAAiB,CACxBX,UAAAA,CAAS,CACT,GAAGJ,EAC+C,EAClD,MACE,UAACC,EAAAA,WAA0B,EACzB,UAAWM,GAAAA,EAAAA,EAAAA,EAAG,wBAAyBH,GACvC,YAAU,oBACT,GAAGJ,CAAK,EAGf,CAMA,SAASgB,EAAW,CAClBZ,UAAAA,CAAS,CACTa,KAAAA,CAAI,CACJC,QAAAA,EAAU,WAAW,CACrB,GAAGlB,EAIJ,EACC,MACE,UAACC,EAAAA,KAAoB,EACnB,UAAWQ,GAAAA,EAAAA,cAAAA,EAAe,CAAEL,UAAAA,EAAWa,KAAAA,EAAMC,QAAAA,CAAQ,GACrD,YAAU,cACT,GAAGlB,CAAK,EAGf,Q"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components
|
|
1
|
+
{"version":3,"file":"components/skeleton.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/skeleton.tsx"],"sourcesContent":["import type { ComponentProps, JSX } from 'react'\n\nimport { cn } from '@/lib/utils'\n\n/* -----------------------------------------------------------------------------\n * Component: Skeleton\n * -------------------------------------------------------------------------- */\n\nfunction Skeleton({ className, ...props }: ComponentProps<'div'>): JSX.Element {\n return (\n <div\n className={cn('animate-pulse rounded-lg bg-gray-100', className)}\n data-slot=\"skeleton\"\n {...props}\n />\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { Skeleton }\n"],"names":["Skeleton","className","props","cn"],"mappings":"sEAQA,SAASA,EAAS,CAAEC,UAAAA,CAAS,CAAE,GAAGC,EAA8B,EAC9D,MACE,UAAC,OACC,UAAWC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAG,uCAAwCF,GACtD,YAAU,WACT,GAAGC,CAAK,A,EAGf,Q"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components
|
|
1
|
+
{"version":3,"file":"components/slider.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/slider.tsx"],"sourcesContent":["\n\nimport * as SliderPrimitive from '@radix-ui/react-slider'\nimport * as React from 'react'\n\nimport { cn } from '@/lib/utils'\n\nfunction Slider({\n className,\n defaultValue,\n value,\n min = 0,\n max = 100,\n ...props\n}: React.ComponentProps<typeof SliderPrimitive.Root>) {\n const _values = React.useMemo(\n () =>\n Array.isArray(value)\n ? value\n : Array.isArray(defaultValue)\n ? defaultValue\n : [min, max],\n [value, defaultValue, min, max]\n )\n\n return (\n <SliderPrimitive.Root\n data-slot=\"slider\"\n defaultValue={defaultValue}\n value={value}\n min={min}\n max={max}\n className={cn(\n 'relative flex w-full touch-none select-none items-center data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col data-[disabled]:opacity-50',\n className\n )}\n {...props}\n >\n <SliderPrimitive.Track\n data-slot=\"slider-track\"\n className={cn(\n 'relative grow overflow-hidden rounded-full bg-muted data-[orientation=horizontal]:h-1.5 data-[orientation=vertical]:h-full data-[orientation=horizontal]:w-full data-[orientation=vertical]:w-1.5'\n )}\n >\n <SliderPrimitive.Range\n data-slot=\"slider-range\"\n className={cn(\n 'absolute bg-primary data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full'\n )}\n />\n </SliderPrimitive.Track>\n {Array.from({ length: _values.length }, (_, index) => (\n <SliderPrimitive.Thumb\n data-slot=\"slider-thumb\"\n key={index}\n className=\"block size-4 shrink-0 rounded-full border border-primary bg-background shadow-sm ring-ring/50 transition-[color,box-shadow] hover:ring-4 focus-visible:outline-hidden focus-visible:ring-4 disabled:pointer-events-none disabled:opacity-50\"\n />\n ))}\n </SliderPrimitive.Root>\n )\n}\n\nexport { Slider }\n"],"names":["Slider","className","defaultValue","value","min","max","props","_values","React","Array","SliderPrimitive","cn","_","index"],"mappings":";uIAOA,SAASA,EAAO,CACdC,UAAAA,CAAS,CACTC,aAAAA,CAAY,CACZC,MAAAA,CAAK,CACLC,IAAAA,EAAM,CAAC,CACPC,IAAAA,EAAM,GAAG,CACT,GAAGC,EAC+C,EAClD,IAAMC,EAAUC,EAAAA,OAAa,CAC3B,IACEC,MAAM,OAAO,CAACN,GACVA,EACAM,MAAM,OAAO,CAACP,GACZA,EACA,CAACE,EAAKC,EAAI,CAClB,CAACF,EAAOD,EAAcE,EAAKC,EAAI,EAGjC,MACE,WAACK,EAAAA,IAAoB,EACnB,YAAU,SACV,aAAcR,EACd,MAAOC,EACP,IAAKC,EACL,IAAKC,EACL,UAAWM,GAAAA,EAAAA,EAAAA,EACT,sOACAV,GAED,GAAGK,CAAK,C,UAET,UAACI,EAAAA,KAAqB,EACpB,YAAU,eACV,UAAWC,GAAAA,EAAAA,EAAAA,EACT,qM,SAGF,UAACD,EAAAA,KAAqB,EACpB,YAAU,eACV,UAAWC,GAAAA,EAAAA,EAAAA,EACT,8F,KAILF,MAAM,IAAI,CAAC,CAAE,OAAQF,EAAQ,MAAM,EAAI,CAACK,EAAGC,IAC1C,UAACH,EAAAA,KAAqB,EACpB,YAAU,eAEV,UAAU,6O,EADLG,I,EAMf,Q"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components\\sortable.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/sortable.tsx"],"sourcesContent":["\r\n\r\nimport {\r\n type Announcements,\r\n DndContext,\r\n type DndContextProps,\r\n type DragEndEvent,\r\n DragOverlay,\r\n type DraggableSyntheticListeners,\r\n type DropAnimation,\r\n KeyboardSensor,\r\n MouseSensor,\r\n type ScreenReaderInstructions,\r\n TouchSensor,\r\n type UniqueIdentifier,\r\n closestCenter,\r\n closestCorners,\r\n defaultDropAnimationSideEffects,\r\n useSensor,\r\n useSensors,\r\n} from '@dnd-kit/core'\r\nimport {\r\n restrictToHorizontalAxis,\r\n restrictToParentElement,\r\n restrictToVerticalAxis,\r\n} from '@dnd-kit/modifiers'\r\nimport {\r\n SortableContext,\r\n type SortableContextProps,\r\n arrayMove,\r\n horizontalListSortingStrategy,\r\n sortableKeyboardCoordinates,\r\n useSortable,\r\n verticalListSortingStrategy,\r\n} from '@dnd-kit/sortable'\r\nimport { CSS } from '@dnd-kit/utilities'\r\nimport { Slot } from '@radix-ui/react-slot'\r\nimport * as React from 'react'\r\n\r\nimport { composeEventHandlers, useComposedRefs } from '@/lib/composition'\r\nimport { cn } from '@/lib/utils'\r\nimport * as ReactDOM from 'react-dom'\r\n\r\nconst orientationConfig = {\r\n vertical: {\r\n modifiers: [restrictToVerticalAxis, restrictToParentElement],\r\n strategy: verticalListSortingStrategy,\r\n collisionDetection: closestCenter,\r\n },\r\n horizontal: {\r\n modifiers: [restrictToHorizontalAxis, restrictToParentElement],\r\n strategy: horizontalListSortingStrategy,\r\n collisionDetection: closestCenter,\r\n },\r\n mixed: {\r\n modifiers: [restrictToParentElement],\r\n strategy: undefined,\r\n collisionDetection: closestCorners,\r\n },\r\n}\r\n\r\nconst ROOT_NAME = 'Sortable'\r\nconst CONTENT_NAME = 'SortableContent'\r\nconst ITEM_NAME = 'SortableItem'\r\nconst ITEM_HANDLE_NAME = 'SortableItemHandle'\r\nconst OVERLAY_NAME = 'SortableOverlay'\r\n\r\nconst SORTABLE_ERRORS = {\r\n [ROOT_NAME]: `\\`${ROOT_NAME}\\` components must be within \\`${ROOT_NAME}\\``,\r\n [CONTENT_NAME]: `\\`${CONTENT_NAME}\\` must be within \\`${ROOT_NAME}\\``,\r\n [ITEM_NAME]: `\\`${ITEM_NAME}\\` must be within \\`${CONTENT_NAME}\\``,\r\n [ITEM_HANDLE_NAME]: `\\`${ITEM_HANDLE_NAME}\\` must be within \\`${ITEM_NAME}\\``,\r\n [OVERLAY_NAME]: `\\`${OVERLAY_NAME}\\` must be within \\`${ROOT_NAME}\\``,\r\n} as const\r\n\r\ninterface SortableRootContextValue<T> {\r\n id: string\r\n items: UniqueIdentifier[]\r\n modifiers: DndContextProps['modifiers']\r\n strategy: SortableContextProps['strategy']\r\n activeId: UniqueIdentifier | null\r\n setActiveId: (id: UniqueIdentifier | null) => void\r\n getItemValue: (item: T) => UniqueIdentifier\r\n flatCursor: boolean\r\n}\r\n\r\nconst SortableRootContext =\r\n React.createContext<SortableRootContextValue<unknown> | null>(null)\r\nSortableRootContext.displayName = ROOT_NAME\r\n\r\nfunction useSortableContext(name: keyof typeof SORTABLE_ERRORS) {\r\n const context = React.useContext(SortableRootContext)\r\n if (!context) {\r\n throw new Error(SORTABLE_ERRORS[name])\r\n }\r\n return context\r\n}\r\n\r\ninterface GetItemValue<T> {\r\n /**\r\n * Callback that returns a unique identifier for each sortable item. Required for array of objects.\r\n * @example getItemValue={(item) => item.id}\r\n */\r\n getItemValue: (item: T) => UniqueIdentifier\r\n}\r\n\r\ntype SortableProps<T> = DndContextProps & {\r\n value: T[]\r\n onValueChange?: (items: T[]) => void\r\n onMove?: (\r\n event: DragEndEvent & { activeIndex: number; overIndex: number }\r\n ) => void\r\n strategy?: SortableContextProps['strategy']\r\n orientation?: 'vertical' | 'horizontal' | 'mixed'\r\n flatCursor?: boolean\r\n} & (T extends object ? GetItemValue<T> : Partial<GetItemValue<T>>)\r\n\r\nfunction Sortable<T>(props: SortableProps<T>) {\r\n const {\r\n value,\r\n onValueChange,\r\n collisionDetection,\r\n modifiers,\r\n strategy,\r\n onMove,\r\n orientation = 'vertical',\r\n flatCursor = false,\r\n getItemValue: getItemValueProp,\r\n accessibility,\r\n ...sortableProps\r\n } = props\r\n const id = React.useId()\r\n const [activeId, setActiveId] = React.useState<UniqueIdentifier | null>(null)\r\n\r\n const sensors = useSensors(\r\n useSensor(MouseSensor),\r\n useSensor(TouchSensor),\r\n useSensor(KeyboardSensor, {\r\n coordinateGetter: sortableKeyboardCoordinates,\r\n })\r\n )\r\n const config = React.useMemo(\r\n () => orientationConfig[orientation],\r\n [orientation]\r\n )\r\n\r\n const getItemValue = React.useCallback(\r\n (item: T): UniqueIdentifier => {\r\n if (typeof item === 'object' && !getItemValueProp) {\r\n throw new Error('getItemValue is required when using array of objects.')\r\n }\r\n return getItemValueProp\r\n ? getItemValueProp(item)\r\n : (item as UniqueIdentifier)\r\n },\r\n [getItemValueProp]\r\n )\r\n\r\n const items = React.useMemo(() => {\r\n return value.map(item => getItemValue(item))\r\n }, [value, getItemValue])\r\n\r\n const onDragEnd = React.useCallback(\r\n (event: DragEndEvent) => {\r\n const { active, over } = event\r\n if (over && active.id !== over?.id) {\r\n const activeIndex = value.findIndex(\r\n item => getItemValue(item) === active.id\r\n )\r\n const overIndex = value.findIndex(\r\n item => getItemValue(item) === over.id\r\n )\r\n\r\n if (onMove) {\r\n onMove({ ...event, activeIndex, overIndex })\r\n } else {\r\n onValueChange?.(arrayMove(value, activeIndex, overIndex))\r\n }\r\n }\r\n setActiveId(null)\r\n },\r\n [value, onValueChange, onMove, getItemValue]\r\n )\r\n\r\n const announcements: Announcements = React.useMemo(\r\n () => ({\r\n onDragStart({ active }) {\r\n const activeValue = active.id.toString()\r\n return `Grabbed sortable item \"${activeValue}\". Current position is ${active.data.current?.sortable.index + 1} of ${value.length}. Use arrow keys to move, space to drop.`\r\n },\r\n onDragOver({ active, over }) {\r\n if (over) {\r\n const overIndex = over.data.current?.sortable.index ?? 0\r\n const activeIndex = active.data.current?.sortable.index ?? 0\r\n const moveDirection = overIndex > activeIndex ? 'down' : 'up'\r\n const activeValue = active.id.toString()\r\n return `Sortable item \"${activeValue}\" moved ${moveDirection} to position ${overIndex + 1} of ${value.length}.`\r\n }\r\n return 'Sortable item is no longer over a droppable area. Press escape to cancel.'\r\n },\r\n onDragEnd({ active, over }) {\r\n const activeValue = active.id.toString()\r\n if (over) {\r\n const overIndex = over.data.current?.sortable.index ?? 0\r\n return `Sortable item \"${activeValue}\" dropped at position ${overIndex + 1} of ${value.length}.`\r\n }\r\n return `Sortable item \"${activeValue}\" dropped. No changes were made.`\r\n },\r\n onDragCancel({ active }) {\r\n const activeIndex = active.data.current?.sortable.index ?? 0\r\n const activeValue = active.id.toString()\r\n return `Sorting cancelled. Sortable item \"${activeValue}\" returned to position ${activeIndex + 1} of ${value.length}.`\r\n },\r\n onDragMove({ active, over }) {\r\n if (over) {\r\n const overIndex = over.data.current?.sortable.index ?? 0\r\n const activeIndex = active.data.current?.sortable.index ?? 0\r\n const moveDirection = overIndex > activeIndex ? 'down' : 'up'\r\n const activeValue = active.id.toString()\r\n return `Sortable item \"${activeValue}\" is moving ${moveDirection} to position ${overIndex + 1} of ${value.length}.`\r\n }\r\n return 'Sortable item is no longer over a droppable area. Press escape to cancel.'\r\n },\r\n }),\r\n [value]\r\n )\r\n\r\n const screenReaderInstructions: ScreenReaderInstructions = React.useMemo(\r\n () => ({\r\n draggable: `\r\n To pick up a sortable item, press space or enter.\r\n While dragging, use the ${orientation === 'vertical' ? 'up and down' : orientation === 'horizontal' ? 'left and right' : 'arrow'} keys to move the item.\r\n Press space or enter again to drop the item in its new position, or press escape to cancel.\r\n `,\r\n }),\r\n [orientation]\r\n )\r\n\r\n const contextValue = React.useMemo(\r\n () => ({\r\n id,\r\n items,\r\n modifiers: modifiers ?? config.modifiers,\r\n strategy: strategy ?? config.strategy,\r\n activeId,\r\n setActiveId,\r\n getItemValue,\r\n flatCursor,\r\n }),\r\n [\r\n id,\r\n items,\r\n modifiers,\r\n strategy,\r\n config.modifiers,\r\n config.strategy,\r\n activeId,\r\n getItemValue,\r\n flatCursor,\r\n ]\r\n )\r\n\r\n return (\r\n <SortableRootContext.Provider\r\n value={contextValue as SortableRootContextValue<unknown>}\r\n >\r\n <DndContext\r\n collisionDetection={collisionDetection ?? config.collisionDetection}\r\n modifiers={modifiers ?? config.modifiers}\r\n sensors={sensors}\r\n {...sortableProps}\r\n id={id}\r\n onDragStart={composeEventHandlers(\r\n sortableProps.onDragStart,\r\n ({ active }) => setActiveId(active.id)\r\n )}\r\n onDragEnd={composeEventHandlers(sortableProps.onDragEnd, onDragEnd)}\r\n onDragCancel={composeEventHandlers(sortableProps.onDragCancel, () =>\r\n setActiveId(null)\r\n )}\r\n accessibility={{\r\n announcements,\r\n screenReaderInstructions,\r\n ...accessibility,\r\n }}\r\n />\r\n </SortableRootContext.Provider>\r\n )\r\n}\r\n\r\nconst SortableContentContext = React.createContext<boolean>(false)\r\nSortableContentContext.displayName = CONTENT_NAME\r\n\r\ninterface SortableContentProps extends React.ComponentPropsWithoutRef<'div'> {\r\n strategy?: SortableContextProps['strategy']\r\n children: React.ReactNode\r\n asChild?: boolean\r\n withoutSlot?: boolean\r\n}\r\n\r\nconst SortableContent = React.forwardRef<HTMLDivElement, SortableContentProps>(\r\n (props, forwardedRef) => {\r\n const {\r\n strategy: strategyProp,\r\n asChild,\r\n withoutSlot,\r\n children,\r\n ...contentProps\r\n } = props\r\n const context = useSortableContext(CONTENT_NAME)\r\n\r\n const ContentPrimitive = asChild ? Slot : 'div'\r\n\r\n return (\r\n <SortableContentContext.Provider value={true}>\r\n <SortableContext\r\n items={context.items}\r\n strategy={strategyProp ?? context.strategy}\r\n >\r\n {withoutSlot ? (\r\n children\r\n ) : (\r\n <ContentPrimitive {...contentProps} ref={forwardedRef}>\r\n {children}\r\n </ContentPrimitive>\r\n )}\r\n </SortableContext>\r\n </SortableContentContext.Provider>\r\n )\r\n }\r\n)\r\nSortableContent.displayName = CONTENT_NAME\r\n\r\ninterface SortableItemContextValue {\r\n id: string\r\n attributes: React.HTMLAttributes<HTMLElement>\r\n listeners: DraggableSyntheticListeners | undefined\r\n setActivatorNodeRef: (node: HTMLElement | null) => void\r\n isDragging?: boolean\r\n disabled?: boolean\r\n}\r\n\r\nconst SortableItemContext =\r\n React.createContext<SortableItemContextValue | null>(null)\r\nSortableItemContext.displayName = ITEM_NAME\r\n\r\ninterface SortableItemProps extends React.ComponentPropsWithoutRef<'div'> {\r\n value: UniqueIdentifier\r\n asHandle?: boolean\r\n asChild?: boolean\r\n disabled?: boolean\r\n}\r\n\r\nconst SortableItem = React.forwardRef<HTMLDivElement, SortableItemProps>(\r\n (props, forwardedRef) => {\r\n const {\r\n value,\r\n style,\r\n asHandle,\r\n asChild,\r\n disabled,\r\n className,\r\n ...itemProps\r\n } = props\r\n const inSortableContent = React.useContext(SortableContentContext)\r\n const inSortableOverlay = React.useContext(SortableOverlayContext)\r\n\r\n if (!inSortableContent && !inSortableOverlay) {\r\n throw new Error(SORTABLE_ERRORS[ITEM_NAME])\r\n }\r\n\r\n if (value === '') {\r\n throw new Error(`\\`${ITEM_NAME}\\` value cannot be an empty string`)\r\n }\r\n\r\n const context = useSortableContext(ITEM_NAME)\r\n const id = React.useId()\r\n const {\r\n attributes,\r\n listeners,\r\n setNodeRef,\r\n setActivatorNodeRef,\r\n transform,\r\n transition,\r\n isDragging,\r\n } = useSortable({ id: value, disabled })\r\n\r\n const composedRef = useComposedRefs(forwardedRef, node => {\r\n if (disabled) return\r\n setNodeRef(node)\r\n if (asHandle) setActivatorNodeRef(node)\r\n })\r\n\r\n const composedStyle = React.useMemo<React.CSSProperties>(() => {\r\n return {\r\n transform: CSS.Translate.toString(transform),\r\n transition,\r\n ...style,\r\n }\r\n }, [transform, transition, style])\r\n\r\n const itemContext = React.useMemo<SortableItemContextValue>(\r\n () => ({\r\n id,\r\n attributes,\r\n listeners,\r\n setActivatorNodeRef,\r\n isDragging,\r\n disabled,\r\n }),\r\n [id, attributes, listeners, setActivatorNodeRef, isDragging, disabled]\r\n )\r\n\r\n const ItemPrimitive = asChild ? Slot : 'div'\r\n\r\n return (\r\n <SortableItemContext.Provider value={itemContext}>\r\n <ItemPrimitive\r\n id={id}\r\n data-dragging={isDragging ? '' : undefined}\r\n {...itemProps}\r\n {...(asHandle ? attributes : {})}\r\n {...(asHandle ? listeners : {})}\r\n tabIndex={disabled ? undefined : 0}\r\n ref={composedRef}\r\n style={composedStyle}\r\n className={cn(\r\n 'focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1',\r\n {\r\n 'touch-none select-none': asHandle,\r\n 'cursor-default': context.flatCursor,\r\n 'data-dragging:cursor-grabbing': !context.flatCursor,\r\n 'cursor-grab': !isDragging && asHandle && !context.flatCursor,\r\n 'opacity-50': isDragging,\r\n 'pointer-events-none opacity-50': disabled,\r\n },\r\n className\r\n )}\r\n />\r\n </SortableItemContext.Provider>\r\n )\r\n }\r\n)\r\nSortableItem.displayName = ITEM_NAME\r\n\r\ninterface SortableItemHandleProps\r\n extends React.ComponentPropsWithoutRef<'button'> {\r\n asChild?: boolean\r\n}\r\n\r\nconst SortableItemHandle = React.forwardRef<\r\n HTMLButtonElement,\r\n SortableItemHandleProps\r\n>((props, forwardedRef) => {\r\n const { asChild, disabled, className, ...itemHandleProps } = props\r\n const itemContext = React.useContext(SortableItemContext)\r\n if (!itemContext) {\r\n throw new Error(SORTABLE_ERRORS[ITEM_HANDLE_NAME])\r\n }\r\n const context = useSortableContext(ITEM_HANDLE_NAME)\r\n\r\n const isDisabled = disabled ?? itemContext.disabled\r\n\r\n const composedRef = useComposedRefs(forwardedRef, node => {\r\n if (!isDisabled) return\r\n itemContext.setActivatorNodeRef(node)\r\n })\r\n\r\n const HandlePrimitive = asChild ? Slot : 'button'\r\n\r\n return (\r\n <HandlePrimitive\r\n type=\"button\"\r\n aria-controls={itemContext.id}\r\n data-dragging={itemContext.isDragging ? '' : undefined}\r\n {...itemHandleProps}\r\n {...itemContext.attributes}\r\n {...itemContext.listeners}\r\n ref={composedRef}\r\n className={cn(\r\n 'select-none disabled:pointer-events-none disabled:opacity-50',\r\n context.flatCursor\r\n ? 'cursor-default'\r\n : 'cursor-grab data-dragging:cursor-grabbing',\r\n className\r\n )}\r\n disabled={isDisabled}\r\n />\r\n )\r\n})\r\nSortableItemHandle.displayName = ITEM_HANDLE_NAME\r\n\r\nconst SortableOverlayContext = React.createContext(false)\r\nSortableOverlayContext.displayName = OVERLAY_NAME\r\n\r\nconst dropAnimation: DropAnimation = {\r\n sideEffects: defaultDropAnimationSideEffects({\r\n styles: {\r\n active: {\r\n opacity: '0.4',\r\n },\r\n },\r\n }),\r\n}\r\n\r\ninterface SortableOverlayProps\r\n extends Omit<React.ComponentPropsWithoutRef<typeof DragOverlay>, 'children'> {\r\n container?: Element | DocumentFragment | null\r\n children?:\r\n | ((params: { value: UniqueIdentifier }) => React.ReactNode)\r\n | React.ReactNode\r\n}\r\n\r\nfunction SortableOverlay(props: SortableOverlayProps) {\r\n const { container: containerProp, children, ...overlayProps } = props\r\n const context = useSortableContext(OVERLAY_NAME)\r\n\r\n const [mounted, setMounted] = React.useState(false)\r\n React.useLayoutEffect(() => setMounted(true), [])\r\n\r\n const container =\r\n containerProp ?? (mounted ? globalThis.document?.body : null)\r\n\r\n if (!container) return null\r\n\r\n return ReactDOM.createPortal(\r\n <DragOverlay\r\n dropAnimation={dropAnimation}\r\n modifiers={context.modifiers}\r\n className={cn(!context.flatCursor && 'cursor-grabbing')}\r\n {...overlayProps}\r\n >\r\n <SortableOverlayContext.Provider value={true}>\r\n {context.activeId\r\n ? typeof children === 'function'\r\n ? children({ value: context.activeId })\r\n : children\r\n : null}\r\n </SortableOverlayContext.Provider>\r\n </DragOverlay>,\r\n container\r\n )\r\n}\r\n\r\nconst Root = Sortable\r\nconst Content = SortableContent\r\nconst Item = SortableItem\r\nconst ItemHandle = SortableItemHandle\r\nconst Overlay = SortableOverlay\r\n\r\nexport {\r\n Root,\r\n Content,\r\n Item,\r\n ItemHandle,\r\n Overlay,\r\n //\r\n Sortable,\r\n SortableContent,\r\n SortableItem,\r\n SortableItemHandle,\r\n SortableOverlay,\r\n}\r\n"],"names":["orientationConfig","restrictToVerticalAxis","restrictToParentElement","verticalListSortingStrategy","closestCenter","restrictToHorizontalAxis","horizontalListSortingStrategy","undefined","closestCorners","ROOT_NAME","CONTENT_NAME","ITEM_NAME","ITEM_HANDLE_NAME","OVERLAY_NAME","SORTABLE_ERRORS","SortableRootContext","React","useSortableContext","name","context","Error","Sortable","props","value","onValueChange","collisionDetection","modifiers","strategy","onMove","orientation","flatCursor","getItemValueProp","accessibility","sortableProps","id","activeId","setActiveId","sensors","useSensors","useSensor","MouseSensor","TouchSensor","KeyboardSensor","sortableKeyboardCoordinates","config","getItemValue","item","items","onDragEnd","event","active","over","activeIndex","overIndex","arrayMove","announcements","activeValue","screenReaderInstructions","contextValue","DndContext","composeEventHandlers","SortableContentContext","SortableContent","forwardedRef","strategyProp","asChild","withoutSlot","children","contentProps","ContentPrimitive","Slot","SortableContext","SortableItemContext","SortableItem","style","asHandle","disabled","className","itemProps","inSortableContent","inSortableOverlay","SortableOverlayContext","attributes","listeners","setNodeRef","setActivatorNodeRef","transform","transition","isDragging","useSortable","composedRef","useComposedRefs","node","composedStyle","CSS","itemContext","ItemPrimitive","cn","SortableItemHandle","itemHandleProps","isDisabled","HandlePrimitive","dropAnimation","defaultDropAnimationSideEffects","SortableOverlay","containerProp","overlayProps","mounted","setMounted","container","globalThis","ReactDOM","DragOverlay","Root","Content","Item","ItemHandle","Overlay"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"components/sortable.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/sortable.tsx"],"sourcesContent":["\n\nimport {\n type Announcements,\n DndContext,\n type DndContextProps,\n type DragEndEvent,\n DragOverlay,\n type DraggableSyntheticListeners,\n type DropAnimation,\n KeyboardSensor,\n MouseSensor,\n type ScreenReaderInstructions,\n TouchSensor,\n type UniqueIdentifier,\n closestCenter,\n closestCorners,\n defaultDropAnimationSideEffects,\n useSensor,\n useSensors,\n} from '@dnd-kit/core'\nimport {\n restrictToHorizontalAxis,\n restrictToParentElement,\n restrictToVerticalAxis,\n} from '@dnd-kit/modifiers'\nimport {\n SortableContext,\n type SortableContextProps,\n arrayMove,\n horizontalListSortingStrategy,\n sortableKeyboardCoordinates,\n useSortable,\n verticalListSortingStrategy,\n} from '@dnd-kit/sortable'\nimport { CSS } from '@dnd-kit/utilities'\nimport { Slot } from '@radix-ui/react-slot'\nimport * as React from 'react'\n\nimport { composeEventHandlers, useComposedRefs } from '@/lib/composition'\nimport { cn } from '@/lib/utils'\nimport * as ReactDOM from 'react-dom'\n\nconst orientationConfig = {\n vertical: {\n modifiers: [restrictToVerticalAxis, restrictToParentElement],\n strategy: verticalListSortingStrategy,\n collisionDetection: closestCenter,\n },\n horizontal: {\n modifiers: [restrictToHorizontalAxis, restrictToParentElement],\n strategy: horizontalListSortingStrategy,\n collisionDetection: closestCenter,\n },\n mixed: {\n modifiers: [restrictToParentElement],\n strategy: undefined,\n collisionDetection: closestCorners,\n },\n}\n\nconst ROOT_NAME = 'Sortable'\nconst CONTENT_NAME = 'SortableContent'\nconst ITEM_NAME = 'SortableItem'\nconst ITEM_HANDLE_NAME = 'SortableItemHandle'\nconst OVERLAY_NAME = 'SortableOverlay'\n\nconst SORTABLE_ERRORS = {\n [ROOT_NAME]: `\\`${ROOT_NAME}\\` components must be within \\`${ROOT_NAME}\\``,\n [CONTENT_NAME]: `\\`${CONTENT_NAME}\\` must be within \\`${ROOT_NAME}\\``,\n [ITEM_NAME]: `\\`${ITEM_NAME}\\` must be within \\`${CONTENT_NAME}\\``,\n [ITEM_HANDLE_NAME]: `\\`${ITEM_HANDLE_NAME}\\` must be within \\`${ITEM_NAME}\\``,\n [OVERLAY_NAME]: `\\`${OVERLAY_NAME}\\` must be within \\`${ROOT_NAME}\\``,\n} as const\n\ninterface SortableRootContextValue<T> {\n id: string\n items: UniqueIdentifier[]\n modifiers: DndContextProps['modifiers']\n strategy: SortableContextProps['strategy']\n activeId: UniqueIdentifier | null\n setActiveId: (id: UniqueIdentifier | null) => void\n getItemValue: (item: T) => UniqueIdentifier\n flatCursor: boolean\n}\n\nconst SortableRootContext =\n React.createContext<SortableRootContextValue<unknown> | null>(null)\nSortableRootContext.displayName = ROOT_NAME\n\nfunction useSortableContext(name: keyof typeof SORTABLE_ERRORS) {\n const context = React.useContext(SortableRootContext)\n if (!context) {\n throw new Error(SORTABLE_ERRORS[name])\n }\n return context\n}\n\ninterface GetItemValue<T> {\n /**\n * Callback that returns a unique identifier for each sortable item. Required for array of objects.\n * @example getItemValue={(item) => item.id}\n */\n getItemValue: (item: T) => UniqueIdentifier\n}\n\ntype SortableProps<T> = DndContextProps & {\n value: T[]\n onValueChange?: (items: T[]) => void\n onMove?: (\n event: DragEndEvent & { activeIndex: number; overIndex: number }\n ) => void\n strategy?: SortableContextProps['strategy']\n orientation?: 'vertical' | 'horizontal' | 'mixed'\n flatCursor?: boolean\n} & (T extends object ? GetItemValue<T> : Partial<GetItemValue<T>>)\n\nfunction Sortable<T>(props: SortableProps<T>) {\n const {\n value,\n onValueChange,\n collisionDetection,\n modifiers,\n strategy,\n onMove,\n orientation = 'vertical',\n flatCursor = false,\n getItemValue: getItemValueProp,\n accessibility,\n ...sortableProps\n } = props\n const id = React.useId()\n const [activeId, setActiveId] = React.useState<UniqueIdentifier | null>(null)\n\n const sensors = useSensors(\n useSensor(MouseSensor),\n useSensor(TouchSensor),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n })\n )\n const config = React.useMemo(\n () => orientationConfig[orientation],\n [orientation]\n )\n\n const getItemValue = React.useCallback(\n (item: T): UniqueIdentifier => {\n if (typeof item === 'object' && !getItemValueProp) {\n throw new Error('getItemValue is required when using array of objects.')\n }\n return getItemValueProp\n ? getItemValueProp(item)\n : (item as UniqueIdentifier)\n },\n [getItemValueProp]\n )\n\n const items = React.useMemo(() => {\n return value.map(item => getItemValue(item))\n }, [value, getItemValue])\n\n const onDragEnd = React.useCallback(\n (event: DragEndEvent) => {\n const { active, over } = event\n if (over && active.id !== over?.id) {\n const activeIndex = value.findIndex(\n item => getItemValue(item) === active.id\n )\n const overIndex = value.findIndex(\n item => getItemValue(item) === over.id\n )\n\n if (onMove) {\n onMove({ ...event, activeIndex, overIndex })\n } else {\n onValueChange?.(arrayMove(value, activeIndex, overIndex))\n }\n }\n setActiveId(null)\n },\n [value, onValueChange, onMove, getItemValue]\n )\n\n const announcements: Announcements = React.useMemo(\n () => ({\n onDragStart({ active }) {\n const activeValue = active.id.toString()\n return `Grabbed sortable item \"${activeValue}\". Current position is ${active.data.current?.sortable.index + 1} of ${value.length}. Use arrow keys to move, space to drop.`\n },\n onDragOver({ active, over }) {\n if (over) {\n const overIndex = over.data.current?.sortable.index ?? 0\n const activeIndex = active.data.current?.sortable.index ?? 0\n const moveDirection = overIndex > activeIndex ? 'down' : 'up'\n const activeValue = active.id.toString()\n return `Sortable item \"${activeValue}\" moved ${moveDirection} to position ${overIndex + 1} of ${value.length}.`\n }\n return 'Sortable item is no longer over a droppable area. Press escape to cancel.'\n },\n onDragEnd({ active, over }) {\n const activeValue = active.id.toString()\n if (over) {\n const overIndex = over.data.current?.sortable.index ?? 0\n return `Sortable item \"${activeValue}\" dropped at position ${overIndex + 1} of ${value.length}.`\n }\n return `Sortable item \"${activeValue}\" dropped. No changes were made.`\n },\n onDragCancel({ active }) {\n const activeIndex = active.data.current?.sortable.index ?? 0\n const activeValue = active.id.toString()\n return `Sorting cancelled. Sortable item \"${activeValue}\" returned to position ${activeIndex + 1} of ${value.length}.`\n },\n onDragMove({ active, over }) {\n if (over) {\n const overIndex = over.data.current?.sortable.index ?? 0\n const activeIndex = active.data.current?.sortable.index ?? 0\n const moveDirection = overIndex > activeIndex ? 'down' : 'up'\n const activeValue = active.id.toString()\n return `Sortable item \"${activeValue}\" is moving ${moveDirection} to position ${overIndex + 1} of ${value.length}.`\n }\n return 'Sortable item is no longer over a droppable area. Press escape to cancel.'\n },\n }),\n [value]\n )\n\n const screenReaderInstructions: ScreenReaderInstructions = React.useMemo(\n () => ({\n draggable: `\n To pick up a sortable item, press space or enter.\n While dragging, use the ${orientation === 'vertical' ? 'up and down' : orientation === 'horizontal' ? 'left and right' : 'arrow'} keys to move the item.\n Press space or enter again to drop the item in its new position, or press escape to cancel.\n `,\n }),\n [orientation]\n )\n\n const contextValue = React.useMemo(\n () => ({\n id,\n items,\n modifiers: modifiers ?? config.modifiers,\n strategy: strategy ?? config.strategy,\n activeId,\n setActiveId,\n getItemValue,\n flatCursor,\n }),\n [\n id,\n items,\n modifiers,\n strategy,\n config.modifiers,\n config.strategy,\n activeId,\n getItemValue,\n flatCursor,\n ]\n )\n\n return (\n <SortableRootContext.Provider\n value={contextValue as SortableRootContextValue<unknown>}\n >\n <DndContext\n collisionDetection={collisionDetection ?? config.collisionDetection}\n modifiers={modifiers ?? config.modifiers}\n sensors={sensors}\n {...sortableProps}\n id={id}\n onDragStart={composeEventHandlers(\n sortableProps.onDragStart,\n ({ active }) => setActiveId(active.id)\n )}\n onDragEnd={composeEventHandlers(sortableProps.onDragEnd, onDragEnd)}\n onDragCancel={composeEventHandlers(sortableProps.onDragCancel, () =>\n setActiveId(null)\n )}\n accessibility={{\n announcements,\n screenReaderInstructions,\n ...accessibility,\n }}\n />\n </SortableRootContext.Provider>\n )\n}\n\nconst SortableContentContext = React.createContext<boolean>(false)\nSortableContentContext.displayName = CONTENT_NAME\n\ninterface SortableContentProps extends React.ComponentPropsWithoutRef<'div'> {\n strategy?: SortableContextProps['strategy']\n children: React.ReactNode\n asChild?: boolean\n withoutSlot?: boolean\n}\n\nconst SortableContent = React.forwardRef<HTMLDivElement, SortableContentProps>(\n (props, forwardedRef) => {\n const {\n strategy: strategyProp,\n asChild,\n withoutSlot,\n children,\n ...contentProps\n } = props\n const context = useSortableContext(CONTENT_NAME)\n\n const ContentPrimitive = asChild ? Slot : 'div'\n\n return (\n <SortableContentContext.Provider value={true}>\n <SortableContext\n items={context.items}\n strategy={strategyProp ?? context.strategy}\n >\n {withoutSlot ? (\n children\n ) : (\n <ContentPrimitive {...contentProps} ref={forwardedRef}>\n {children}\n </ContentPrimitive>\n )}\n </SortableContext>\n </SortableContentContext.Provider>\n )\n }\n)\nSortableContent.displayName = CONTENT_NAME\n\ninterface SortableItemContextValue {\n id: string\n attributes: React.HTMLAttributes<HTMLElement>\n listeners: DraggableSyntheticListeners | undefined\n setActivatorNodeRef: (node: HTMLElement | null) => void\n isDragging?: boolean\n disabled?: boolean\n}\n\nconst SortableItemContext =\n React.createContext<SortableItemContextValue | null>(null)\nSortableItemContext.displayName = ITEM_NAME\n\ninterface SortableItemProps extends React.ComponentPropsWithoutRef<'div'> {\n value: UniqueIdentifier\n asHandle?: boolean\n asChild?: boolean\n disabled?: boolean\n}\n\nconst SortableItem = React.forwardRef<HTMLDivElement, SortableItemProps>(\n (props, forwardedRef) => {\n const {\n value,\n style,\n asHandle,\n asChild,\n disabled,\n className,\n ...itemProps\n } = props\n const inSortableContent = React.useContext(SortableContentContext)\n const inSortableOverlay = React.useContext(SortableOverlayContext)\n\n if (!inSortableContent && !inSortableOverlay) {\n throw new Error(SORTABLE_ERRORS[ITEM_NAME])\n }\n\n if (value === '') {\n throw new Error(`\\`${ITEM_NAME}\\` value cannot be an empty string`)\n }\n\n const context = useSortableContext(ITEM_NAME)\n const id = React.useId()\n const {\n attributes,\n listeners,\n setNodeRef,\n setActivatorNodeRef,\n transform,\n transition,\n isDragging,\n } = useSortable({ id: value, disabled })\n\n const composedRef = useComposedRefs(forwardedRef, node => {\n if (disabled) return\n setNodeRef(node)\n if (asHandle) setActivatorNodeRef(node)\n })\n\n const composedStyle = React.useMemo<React.CSSProperties>(() => {\n return {\n transform: CSS.Translate.toString(transform),\n transition,\n ...style,\n }\n }, [transform, transition, style])\n\n const itemContext = React.useMemo<SortableItemContextValue>(\n () => ({\n id,\n attributes,\n listeners,\n setActivatorNodeRef,\n isDragging,\n disabled,\n }),\n [id, attributes, listeners, setActivatorNodeRef, isDragging, disabled]\n )\n\n const ItemPrimitive = asChild ? Slot : 'div'\n\n return (\n <SortableItemContext.Provider value={itemContext}>\n <ItemPrimitive\n id={id}\n data-dragging={isDragging ? '' : undefined}\n {...itemProps}\n {...(asHandle ? attributes : {})}\n {...(asHandle ? listeners : {})}\n tabIndex={disabled ? undefined : 0}\n ref={composedRef}\n style={composedStyle}\n className={cn(\n 'focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1',\n {\n 'touch-none select-none': asHandle,\n 'cursor-default': context.flatCursor,\n 'data-dragging:cursor-grabbing': !context.flatCursor,\n 'cursor-grab': !isDragging && asHandle && !context.flatCursor,\n 'opacity-50': isDragging,\n 'pointer-events-none opacity-50': disabled,\n },\n className\n )}\n />\n </SortableItemContext.Provider>\n )\n }\n)\nSortableItem.displayName = ITEM_NAME\n\ninterface SortableItemHandleProps\n extends React.ComponentPropsWithoutRef<'button'> {\n asChild?: boolean\n}\n\nconst SortableItemHandle = React.forwardRef<\n HTMLButtonElement,\n SortableItemHandleProps\n>((props, forwardedRef) => {\n const { asChild, disabled, className, ...itemHandleProps } = props\n const itemContext = React.useContext(SortableItemContext)\n if (!itemContext) {\n throw new Error(SORTABLE_ERRORS[ITEM_HANDLE_NAME])\n }\n const context = useSortableContext(ITEM_HANDLE_NAME)\n\n const isDisabled = disabled ?? itemContext.disabled\n\n const composedRef = useComposedRefs(forwardedRef, node => {\n if (!isDisabled) return\n itemContext.setActivatorNodeRef(node)\n })\n\n const HandlePrimitive = asChild ? Slot : 'button'\n\n return (\n <HandlePrimitive\n type=\"button\"\n aria-controls={itemContext.id}\n data-dragging={itemContext.isDragging ? '' : undefined}\n {...itemHandleProps}\n {...itemContext.attributes}\n {...itemContext.listeners}\n ref={composedRef}\n className={cn(\n 'select-none disabled:pointer-events-none disabled:opacity-50',\n context.flatCursor\n ? 'cursor-default'\n : 'cursor-grab data-dragging:cursor-grabbing',\n className\n )}\n disabled={isDisabled}\n />\n )\n})\nSortableItemHandle.displayName = ITEM_HANDLE_NAME\n\nconst SortableOverlayContext = React.createContext(false)\nSortableOverlayContext.displayName = OVERLAY_NAME\n\nconst dropAnimation: DropAnimation = {\n sideEffects: defaultDropAnimationSideEffects({\n styles: {\n active: {\n opacity: '0.4',\n },\n },\n }),\n}\n\ninterface SortableOverlayProps\n extends Omit<React.ComponentPropsWithoutRef<typeof DragOverlay>, 'children'> {\n container?: Element | DocumentFragment | null\n children?:\n | ((params: { value: UniqueIdentifier }) => React.ReactNode)\n | React.ReactNode\n}\n\nfunction SortableOverlay(props: SortableOverlayProps) {\n const { container: containerProp, children, ...overlayProps } = props\n const context = useSortableContext(OVERLAY_NAME)\n\n const [mounted, setMounted] = React.useState(false)\n React.useLayoutEffect(() => setMounted(true), [])\n\n const container =\n containerProp ?? (mounted ? globalThis.document?.body : null)\n\n if (!container) return null\n\n return ReactDOM.createPortal(\n <DragOverlay\n dropAnimation={dropAnimation}\n modifiers={context.modifiers}\n className={cn(!context.flatCursor && 'cursor-grabbing')}\n {...overlayProps}\n >\n <SortableOverlayContext.Provider value={true}>\n {context.activeId\n ? typeof children === 'function'\n ? children({ value: context.activeId })\n : children\n : null}\n </SortableOverlayContext.Provider>\n </DragOverlay>,\n container\n )\n}\n\nconst Root = Sortable\nconst Content = SortableContent\nconst Item = SortableItem\nconst ItemHandle = SortableItemHandle\nconst Overlay = SortableOverlay\n\nexport {\n Root,\n Content,\n Item,\n ItemHandle,\n Overlay,\n //\n Sortable,\n SortableContent,\n SortableItem,\n SortableItemHandle,\n SortableOverlay,\n}\n"],"names":["orientationConfig","restrictToVerticalAxis","restrictToParentElement","verticalListSortingStrategy","closestCenter","restrictToHorizontalAxis","horizontalListSortingStrategy","undefined","closestCorners","ROOT_NAME","CONTENT_NAME","ITEM_NAME","ITEM_HANDLE_NAME","OVERLAY_NAME","SORTABLE_ERRORS","SortableRootContext","React","useSortableContext","name","context","Error","Sortable","props","value","onValueChange","collisionDetection","modifiers","strategy","onMove","orientation","flatCursor","getItemValueProp","accessibility","sortableProps","id","activeId","setActiveId","sensors","useSensors","useSensor","MouseSensor","TouchSensor","KeyboardSensor","sortableKeyboardCoordinates","config","getItemValue","item","items","onDragEnd","event","active","over","activeIndex","overIndex","arrayMove","announcements","activeValue","screenReaderInstructions","contextValue","DndContext","composeEventHandlers","SortableContentContext","SortableContent","forwardedRef","strategyProp","asChild","withoutSlot","children","contentProps","ContentPrimitive","Slot","SortableContext","SortableItemContext","SortableItem","style","asHandle","disabled","className","itemProps","inSortableContent","inSortableOverlay","SortableOverlayContext","attributes","listeners","setNodeRef","setActivatorNodeRef","transform","transition","isDragging","useSortable","composedRef","useComposedRefs","node","composedStyle","CSS","itemContext","ItemPrimitive","cn","SortableItemHandle","itemHandleProps","isDisabled","HandlePrimitive","dropAnimation","defaultDropAnimationSideEffects","SortableOverlay","containerProp","overlayProps","mounted","setMounted","container","globalThis","ReactDOM","DragOverlay","Root","Content","Item","ItemHandle","Overlay"],"mappings":";uVA2CA,IAAMA,EAAoB,CACxB,SAAU,CACR,UAAW,CAACC,EAAAA,sBAAsBA,CAAEC,EAAAA,uBAAuBA,CAAC,CAC5D,SAAUC,EAAAA,2BAA2BA,CACrC,mBAAoBC,EAAAA,aAAaA,EAEnC,WAAY,CACV,UAAW,CAACC,EAAAA,wBAAwBA,CAAEH,EAAAA,uBAAuBA,CAAC,CAC9D,SAAUI,EAAAA,6BAA6BA,CACvC,mBAAoBF,EAAAA,aAAaA,EAEnC,MAAO,CACL,UAAW,CAACF,EAAAA,uBAAuBA,CAAC,CACpC,SAAUK,OACV,mBAAoBC,EAAAA,cAAcA,CAEtC,EAEMC,EAAY,WACZC,EAAe,kBACfC,EAAY,eACZC,EAAmB,qBACnBC,EAAe,kBAEfC,EAAkB,CACtB,CAACL,EAAU,CAAE,CAAC,EAAE,EAAEA,EAAU,+BAA+B,EAAEA,EAAU,EAAE,CAAC,CAC1E,CAACC,EAAa,CAAE,CAAC,EAAE,EAAEA,EAAa,oBAAoB,EAAED,EAAU,EAAE,CAAC,CACrE,CAACE,EAAU,CAAE,CAAC,EAAE,EAAEA,EAAU,oBAAoB,EAAED,EAAa,EAAE,CAAC,CAClE,CAACE,EAAiB,CAAE,CAAC,EAAE,EAAEA,EAAiB,oBAAoB,EAAED,EAAU,EAAE,CAAC,CAC7E,CAACE,EAAa,CAAE,CAAC,EAAE,EAAEA,EAAa,oBAAoB,EAAEJ,EAAU,EAAE,CAAC,EAcjEM,EACJC,EAAAA,aAAmB,CAA2C,MAGhE,SAASC,EAAmBC,CAAkC,EAC5D,IAAMC,EAAUH,EAAAA,UAAgB,CAACD,GACjC,GAAI,CAACI,EACH,MAAM,MAAUL,CAAe,CAACI,EAAK,EAEvC,OAAOC,CACT,CAqBA,SAASE,EAAYC,CAAuB,EAC1C,GAAM,CACJC,MAAAA,CAAK,CACLC,cAAAA,CAAa,CACbC,mBAAAA,CAAkB,CAClBC,UAAAA,CAAS,CACTC,SAAAA,CAAQ,CACRC,OAAAA,CAAM,CACNC,YAAAA,EAAc,UAAU,CACxBC,WAAAA,EAAa,EAAK,CAClB,aAAcC,CAAgB,CAC9BC,cAAAA,CAAa,CACb,GAAGC,EACJ,CAAGX,EACEY,EAAKlB,EAAAA,KAAW,GAChB,CAACmB,EAAUC,EAAY,CAAGpB,EAAAA,QAAc,CAA0B,MAElEqB,EAAUC,GAAAA,EAAAA,UAAAA,EACdC,GAAAA,EAAAA,SAAAA,EAAUC,EAAAA,WAAWA,EACrBD,GAAAA,EAAAA,SAAAA,EAAUE,EAAAA,WAAWA,EACrBF,GAAAA,EAAAA,SAAAA,EAAUG,EAAAA,cAAcA,CAAE,CACxB,iBAAkBC,EAAAA,2BAA2BA,IAG3CC,EAAS5B,EAAAA,OAAa,CAC1B,IAAMhB,CAAiB,CAAC6B,EAAY,CACpC,CAACA,EAAY,EAGTgB,EAAe7B,EAAAA,WAAiB,CACpC,IACE,GAAI,iBAAO8B,GAAqB,CAACf,EAC/B,MAAM,MAAU,yDAElB,OAAOA,EACHA,EAAiBe,GAChBA,CACP,EACA,CAACf,EAAiB,EAGdgB,EAAQ/B,EAAAA,OAAa,CAAC,IACnBO,EAAM,GAAG,CAACuB,GAAQD,EAAaC,IACrC,CAACvB,EAAOsB,EAAa,EAElBG,EAAYhC,EAAAA,WAAiB,CACjC,IACE,GAAM,CAAEkC,OAAAA,CAAM,CAAEC,KAAAA,CAAI,CAAE,CAAGF,EACzB,GAAIE,GAAQD,EAAO,EAAE,GAAKC,GAAM,GAAI,CAClC,IAAMC,EAAc7B,EAAM,SAAS,CACjCuB,GAAQD,EAAaC,KAAUI,EAAO,EAAE,EAEpCG,EAAY9B,EAAM,SAAS,CAC/BuB,GAAQD,EAAaC,KAAUK,EAAK,EAAE,EAGpCvB,EACFA,EAAO,CAAE,GAAGqB,CAAK,CAAEG,YAAAA,EAAaC,UAAAA,CAAU,GAE1C7B,IAAgB8B,GAAAA,EAAAA,SAAAA,EAAU/B,EAAO6B,EAAaC,GAElD,CACAjB,EAAY,KACd,EACA,CAACb,EAAOC,EAAeI,EAAQiB,EAAa,EAGxCU,EAA+BvC,EAAAA,OAAa,CAChD,IAAO,EACL,YAAY,CAAEkC,OAAAA,CAAM,CAAE,EACpB,IAAMM,EAAcN,EAAO,EAAE,CAAC,QAAQ,GACtC,MAAO,CAAC,uBAAuB,EAAEM,EAAY,uBAAuB,EAAEN,EAAO,IAAI,CAAC,OAAO,EAAE,SAAS,MAAQ,EAAE,IAAI,EAAE3B,EAAM,MAAM,CAAC,wCAAwC,CAAC,EAE5K,WAAW,CAAE2B,OAAAA,CAAM,CAAEC,KAAAA,CAAI,CAAE,EACzB,GAAIA,EAAM,CACR,IAAME,EAAYF,EAAK,IAAI,CAAC,OAAO,EAAE,SAAS,OAAS,EACjDC,EAAcF,EAAO,IAAI,CAAC,OAAO,EAAE,SAAS,OAAS,EAErDM,EAAcN,EAAO,EAAE,CAAC,QAAQ,GACtC,MAAO,CAAC,eAAe,EAAEM,EAAY,QAAQ,EAFvBH,EAAYD,EAAc,OAAS,KAEI,aAAa,EAAEC,EAAY,EAAE,IAAI,EAAE9B,EAAM,MAAM,CAAC,CAAC,CAAC,CAEjH,MAAO,2EACT,EACA,UAAU,CAAE2B,OAAAA,CAAM,CAAEC,KAAAA,CAAI,CAAE,EACxB,IAAMK,EAAcN,EAAO,EAAE,CAAC,QAAQ,GACtC,GAAIC,EAAM,CACR,IAAME,EAAYF,EAAK,IAAI,CAAC,OAAO,EAAE,SAAS,OAAS,EACvD,MAAO,CAAC,eAAe,EAAEK,EAAY,sBAAsB,EAAEH,EAAY,EAAE,IAAI,EAAE9B,EAAM,MAAM,CAAC,CAAC,CAAC,CAElG,MAAO,CAAC,eAAe,EAAEiC,EAAY,gCAAgC,CAAC,EAExE,aAAa,CAAEN,OAAAA,CAAM,CAAE,EACrB,IAAME,EAAcF,EAAO,IAAI,CAAC,OAAO,EAAE,SAAS,OAAS,EACrDM,EAAcN,EAAO,EAAE,CAAC,QAAQ,GACtC,MAAO,CAAC,kCAAkC,EAAEM,EAAY,uBAAuB,EAAEJ,EAAc,EAAE,IAAI,EAAE7B,EAAM,MAAM,CAAC,CAAC,CAAC,EAExH,WAAW,CAAE2B,OAAAA,CAAM,CAAEC,KAAAA,CAAI,CAAE,EACzB,GAAIA,EAAM,CACR,IAAME,EAAYF,EAAK,IAAI,CAAC,OAAO,EAAE,SAAS,OAAS,EACjDC,EAAcF,EAAO,IAAI,CAAC,OAAO,EAAE,SAAS,OAAS,EAErDM,EAAcN,EAAO,EAAE,CAAC,QAAQ,GACtC,MAAO,CAAC,eAAe,EAAEM,EAAY,YAAY,EAF3BH,EAAYD,EAAc,OAAS,KAEQ,aAAa,EAAEC,EAAY,EAAE,IAAI,EAAE9B,EAAM,MAAM,CAAC,CAAC,CAAC,CAErH,MAAO,2EACT,CACF,GACA,CAACA,EAAM,EAGHkC,EAAqDzC,EAAAA,OAAa,CACtE,IAAO,EACL,UAAW;;gCAEe,EAAEa,aAAAA,EAA6B,cAAgBA,eAAAA,EAA+B,iBAAmB,QAAQ;;MAEnI,CAAC,GAEH,CAACA,EAAY,EAGT6B,EAAe1C,EAAAA,OAAa,CAChC,IAAO,EACLkB,GAAAA,EACAa,MAAAA,EACA,UAAWrB,GAAakB,EAAO,SAAS,CACxC,SAAUjB,GAAYiB,EAAO,QAAQ,CACrCT,SAAAA,EACAC,YAAAA,EACAS,aAAAA,EACAf,WAAAA,CACF,GACA,CACEI,EACAa,EACArB,EACAC,EACAiB,EAAO,SAAS,CAChBA,EAAO,QAAQ,CACfT,EACAU,EACAf,EACD,EAGH,MACE,UAACf,EAAoB,QAAQ,EAC3B,MAAO2C,E,SAEP,UAACC,EAAAA,UAAUA,CAAAA,CACT,mBAAoBlC,GAAsBmB,EAAO,kBAAkB,CACnE,UAAWlB,GAAakB,EAAO,SAAS,CACxC,QAASP,EACR,GAAGJ,CAAa,CACjB,GAAIC,EACJ,YAAa0B,GAAAA,EAAAA,oBAAAA,EACX3B,EAAc,WAAW,CACzB,CAAC,CAAEiB,OAAAA,CAAM,CAAE,GAAKd,EAAYc,EAAO,EAAE,GAEvC,UAAWU,GAAAA,EAAAA,oBAAAA,EAAqB3B,EAAc,SAAS,CAAEe,GACzD,aAAcY,GAAAA,EAAAA,oBAAAA,EAAqB3B,EAAc,YAAY,CAAE,IAC7DG,EAAY,OAEd,cAAe,CACbmB,cAAAA,EACAE,yBAAAA,EACA,GAAGzB,CAAa,C,IAK1B,CAxMAjB,EAAoB,WAAW,CAAGN,EA0MlC,IAAMoD,EAAyB7C,EAAAA,aAAmB,CAAU,GAC5D6C,CAAAA,EAAuB,WAAW,CAAGnD,EASrC,IAAMoD,EAAkB9C,EAAAA,UAAgB,CACtC,CAACM,EAAOyC,KACN,GAAM,CACJ,SAAUC,CAAY,CACtBC,QAAAA,CAAO,CACPC,YAAAA,CAAW,CACXC,SAAAA,CAAQ,CACR,GAAGC,EACJ,CAAG9C,EACEH,EAAUF,EAAmBP,GAE7B2D,EAAmBJ,EAAUK,EAAAA,IAAIA,CAAG,MAE1C,MACE,UAACT,EAAuB,QAAQ,EAAC,MAAO,G,SACtC,UAACU,EAAAA,eAAeA,CAAAA,CACd,MAAOpD,EAAQ,KAAK,CACpB,SAAU6C,GAAgB7C,EAAQ,QAAQ,C,SAEzC+C,EACCC,EAEA,UAACE,EAAAA,CAAkB,GAAGD,CAAY,CAAE,IAAKL,E,SACtCI,C,MAMb,EAEFL,CAAAA,EAAgB,WAAW,CAAGpD,EAW9B,IAAM8D,EACJxD,EAAAA,aAAmB,CAAkC,KACvDwD,CAAAA,EAAoB,WAAW,CAAG7D,EASlC,IAAM8D,EAAezD,EAAAA,UAAgB,CACnC,CAACM,EAAOyC,KACN,GAAM,CACJxC,MAAAA,CAAK,CACLmD,MAAAA,CAAK,CACLC,SAAAA,CAAQ,CACRV,QAAAA,CAAO,CACPW,SAAAA,CAAQ,CACRC,UAAAA,CAAS,CACT,GAAGC,EACJ,CAAGxD,EACEyD,EAAoB/D,EAAAA,UAAgB,CAAC6C,GACrCmB,EAAoBhE,EAAAA,UAAgB,CAACiE,GAE3C,GAAI,CAACF,GAAqB,CAACC,EACzB,MAAM,MAAUlE,CAAe,CAACH,EAAU,EAG5C,GAAIY,KAAAA,EACF,MAAM,MAAU,CAAC,EAAE,EAAEZ,EAAU,kCAAkC,CAAC,EAGpE,IAAMQ,EAAUF,EAAmBN,GAC7BuB,EAAKlB,EAAAA,KAAW,GAChB,CACJkE,WAAAA,CAAU,CACVC,UAAAA,CAAS,CACTC,WAAAA,CAAU,CACVC,oBAAAA,CAAmB,CACnBC,UAAAA,CAAS,CACTC,WAAAA,CAAU,CACVC,WAAAA,CAAU,CACX,CAAGC,GAAAA,EAAAA,WAAAA,EAAY,CAAE,GAAIlE,EAAOqD,SAAAA,CAAS,GAEhCc,EAAcC,GAAAA,EAAAA,eAAAA,EAAgB5B,EAAc6B,KAC5ChB,IACJQ,EAAWQ,GACPjB,GAAUU,EAAoBO,GACpC,GAEMC,EAAgB7E,EAAAA,OAAa,CAAsB,IAChD,EACL,UAAW8E,EAAAA,GAAAA,CAAAA,SAAAA,CAAAA,QAAsB,CAACR,GAClCC,WAAAA,EACA,GAAGb,CAAK,GAET,CAACY,EAAWC,EAAYb,EAAM,EAE3BqB,EAAc/E,EAAAA,OAAa,CAC/B,IAAO,EACLkB,GAAAA,EACAgD,WAAAA,EACAC,UAAAA,EACAE,oBAAAA,EACAG,WAAAA,EACAZ,SAAAA,CACF,GACA,CAAC1C,EAAIgD,EAAYC,EAAWE,EAAqBG,EAAYZ,EAAS,EAGlEoB,EAAgB/B,EAAUK,EAAAA,IAAIA,CAAG,MAEvC,MACE,UAACE,EAAoB,QAAQ,EAAC,MAAOuB,E,SACnC,UAACC,EAAAA,CACC,GAAI9D,EACJ,gBAAesD,EAAa,GAAKjF,OAChC,GAAGuE,CAAS,CACZ,GAAIH,EAAWO,EAAa,CAAC,CAAC,CAC9B,GAAIP,EAAWQ,EAAY,CAAC,CAAC,CAC9B,SAAUP,EAAWrE,OAAY,EACjC,IAAKmF,EACL,MAAOG,EACP,UAAWI,GAAAA,EAAAA,EAAAA,EACT,wGACA,CACE,yBAA0BtB,EAC1B,iBAAkBxD,EAAQ,UAAU,CACpC,gCAAiC,CAACA,EAAQ,UAAU,CACpD,cAAe,CAACqE,GAAcb,GAAY,CAACxD,EAAQ,UAAU,CAC7D,aAAcqE,EACd,iCAAkCZ,CACpC,EACAC,E,IAKV,EAEFJ,CAAAA,EAAa,WAAW,CAAG9D,EAO3B,IAAMuF,EAAqBlF,EAAAA,UAAgB,CAGzC,CAACM,EAAOyC,KACR,GAAM,CAAEE,QAAAA,CAAO,CAAEW,SAAAA,CAAQ,CAAEC,UAAAA,CAAS,CAAE,GAAGsB,EAAiB,CAAG7E,EACvDyE,EAAc/E,EAAAA,UAAgB,CAACwD,GACrC,GAAI,CAACuB,EACH,MAAM,MAAUjF,CAAe,CAACF,EAAiB,EAEnD,IAAMO,EAAUF,EAAmBL,GAE7BwF,EAAaxB,GAAYmB,EAAY,QAAQ,CAE7CL,EAAcC,GAAAA,EAAAA,eAAAA,EAAgB5B,EAAc6B,IAC3CQ,GACLL,EAAY,mBAAmB,CAACH,EAClC,GAEMS,EAAkBpC,EAAUK,EAAAA,IAAIA,CAAG,SAEzC,MACE,UAAC+B,EAAAA,CACC,KAAK,SACL,gBAAeN,EAAY,EAAE,CAC7B,gBAAeA,EAAY,UAAU,CAAG,GAAKxF,OAC5C,GAAG4F,CAAe,CAClB,GAAGJ,EAAY,UAAU,CACzB,GAAGA,EAAY,SAAS,CACzB,IAAKL,EACL,UAAWO,GAAAA,EAAAA,EAAAA,EACT,+DACA9E,EAAQ,UAAU,CACd,iBACA,4CACJ0D,GAEF,SAAUuB,C,EAGhB,EACAF,CAAAA,EAAmB,WAAW,CAAGtF,EAEjC,IAAMqE,EAAyBjE,EAAAA,aAAmB,CAAC,GACnDiE,CAAAA,EAAuB,WAAW,CAAGpE,EAErC,IAAMyF,EAA+B,CACnC,YAAaC,GAAAA,EAAAA,+BAAAA,EAAgC,CAC3C,OAAQ,CACN,OAAQ,CACN,QAAS,KACX,CACF,CACF,EACF,EAUA,SAASC,EAAgBlF,CAA2B,EAClD,GAAM,CAAE,UAAWmF,CAAa,CAAEtC,SAAAA,CAAQ,CAAE,GAAGuC,EAAc,CAAGpF,EAC1DH,EAAUF,EAAmBJ,GAE7B,CAAC8F,EAASC,EAAW,CAAG5F,EAAAA,QAAc,CAAC,IAC7CA,EAAAA,eAAqB,CAAC,IAAM4F,EAAW,IAAO,EAAE,EAEhD,IAAMC,EACJJ,GAAkBE,CAAAA,EAAUG,WAAW,QAAQ,EAAE,KAAO,IAAG,SAE7D,EAEOC,EAAAA,YAAqB,CAC1B,UAACC,EAAAA,WAAWA,CAAAA,CACV,cAAeV,EACf,UAAWnF,EAAQ,SAAS,CAC5B,UAAW8E,GAAAA,EAAAA,EAAAA,EAAG,CAAC9E,EAAQ,UAAU,EAAI,mBACpC,GAAGuF,CAAY,C,SAEhB,UAACzB,EAAuB,QAAQ,EAAC,MAAO,G,SACrC9D,EAAQ,QAAQ,CACb,mBAAOgD,EACLA,EAAS,CAAE,MAAOhD,EAAQ,QAAQ,GAClCgD,EACF,I,KAGR0C,GAjBqB,IAmBzB,CAEA,IAAMI,EAAO5F,EACP6F,EAAUpD,EACVqD,EAAO1C,EACP2C,EAAalB,EACbmB,EAAUb,S"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components
|
|
1
|
+
{"version":3,"file":"components/spinner.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/spinner.tsx"],"sourcesContent":["import { VisuallyHidden } from '@radix-ui/react-visually-hidden'\nimport type { CSSProperties, ComponentProps, ReactNode } from 'react'\n\nimport { cn } from '../lib/utils'\n\n/* -----------------------------------------------------------------------------\n * Component: Spinner\n * -------------------------------------------------------------------------- */\n\nconst SPINNER_COUNT = 8\n\nfunction Spinner({\n children,\n className,\n loading = true,\n ...props\n}: ComponentProps<'span'> & {\n loading?: boolean\n}): ReactNode {\n if (!loading) {\n return children\n }\n\n const spinner = (\n <span\n className={cn(\n 'relative flex size-4 items-center justify-center opacity-60',\n className\n )}\n {...props}\n >\n {Array.from({ length: SPINNER_COUNT }, (_, i) => (\n <span\n key={i}\n className={cn(\n 'before:fade-out-25 before:animation-repeat-infinite before:animation-delay-(--spinner-delay) before:animation-duration-(--spinner-duration) absolute h-full rotate-(--spinner-rotate) before:block before:h-1/3 before:w-full before:animate-out before:rounded-full before:bg-current'\n )}\n style={\n {\n '--spinner-delay': `-${((SPINNER_COUNT - i) * 100).toString()}ms`,\n '--spinner-duration': `${(SPINNER_COUNT * 100).toString()}ms`,\n '--spinner-rotate': `${((360 / SPINNER_COUNT) * i).toString()}deg`,\n width: `${(100 / SPINNER_COUNT).toString()}%`,\n } as CSSProperties\n }\n />\n ))}\n </span>\n )\n\n if (children === undefined) {\n return spinner\n }\n\n return (\n <span className=\"relative\">\n <span aria-hidden className=\"invisible contents\">\n {children}\n </span>\n <VisuallyHidden>{children}</VisuallyHidden>\n <span className=\"absolute inset-0 flex items-center justify-center\">\n {spinner}\n </span>\n </span>\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { Spinner }\n"],"names":["Spinner","children","className","loading","props","spinner","cn","Array","_","i","SPINNER_COUNT","undefined","VisuallyHidden"],"mappings":"wHAWA,SAASA,EAAQ,CACfC,SAAAA,CAAQ,CACRC,UAAAA,CAAS,CACTC,QAAAA,EAAU,EAAI,CACd,GAAGC,EAGJ,EACC,GAAI,CAACD,EACH,OAAOF,EAGT,IAAMI,EACJ,UAAC,QACC,UAAWC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EACT,8DACAJ,GAED,GAAGE,CAAK,C,SAERG,MAAM,IAAI,CAAC,CAAE,OAtBE,CAsBoB,EAAG,CAACC,EAAGC,IACzC,UAAC,QAEC,UAAWH,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EACT,0RAEF,MACE,CACE,kBAAmB,CAAC,CAAC,EAAG,AAACI,CAAAA,CA9BjB,EA8BiCD,CAAAA,EAAK,GAAE,EAAG,QAAQ,GAAG,EAAE,CAAC,CACjE,qBAAsB,QACtB,mBAAoB,CAAC,EAAG,AAAC,IAAuBA,CAAAA,EAAG,QAAQ,GAAG,GAAG,CAAC,CAClE,MAAO,OACT,C,EAVGA,G,UAiBb,AAAIR,AAAaU,SAAbV,EACKI,EAIP,WAAC,QAAK,UAAU,W,UACd,UAAC,QAAK,cAAW,GAAC,UAAU,qB,SACzBJ,C,GAEH,UAACW,EAAAA,cAAcA,CAAAA,C,SAAEX,C,GACjB,UAAC,QAAK,UAAU,oD,SACbI,C,KAIT,Q"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components
|
|
1
|
+
{"version":3,"file":"components/switch.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/switch.tsx"],"sourcesContent":["\n\nimport type { ComponentProps, JSX } from 'react'\n\nimport * as SwitchPrimitives from '@radix-ui/react-switch'\n\nimport { cn } from '@/lib/utils'\n\n/* -----------------------------------------------------------------------------\n * Component: Switch\n * -------------------------------------------------------------------------- */\n\nfunction Switch({\n className,\n ...props\n}: ComponentProps<typeof SwitchPrimitives.Root>): JSX.Element {\n return (\n <SwitchPrimitives.Root\n className={cn(\n 'relative h-8 w-14 rounded-full bg-gray-200 outline-none enabled:cursor-pointer disabled:cursor-not-allowed disabled:opacity-25 data-[state=checked]:bg-gbm-sky',\n className\n )}\n data-slot=\"switch\"\n {...props}\n >\n <SwitchPrimitives.Thumb\n className=\"block size-6 translate-x-1 rounded-full border bg-white transition-transform duration-100 will-change-transform data-[state=checked]:translate-x-7 data-[state=checked]:border-royal-100 data-[state=unchecked]:border-gray-300\"\n data-slot=\"switch-thumb\"\n />\n </SwitchPrimitives.Root>\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { Switch }\n"],"names":["Switch","className","props","SwitchPrimitives","cn"],"mappings":";+GAYA,SAASA,EAAO,CACdC,UAAAA,CAAS,CACT,GAAGC,EAC0C,EAC7C,MACE,UAACC,EAAAA,IAAqB,EACpB,UAAWC,GAAAA,EAAAA,EAAAA,EACT,iKACAH,GAEF,YAAU,SACT,GAAGC,CAAK,C,SAET,UAACC,EAAAA,KAAsB,EACrB,UAAU,kOACV,YAAU,c,IAIlB,Q"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components
|
|
1
|
+
{"version":3,"file":"components/table-expandable.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/table-expandable.tsx"],"sourcesContent":["import { CaretDown } from '@phosphor-icons/react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { AnimatePresence, motion } from 'framer-motion'\nimport React, { useState } from 'react'\n\nimport { cn } from '../lib/utils'\n\ntype ExpandableTableRowWrapperProps = React.HTMLAttributes<HTMLDivElement> & {\n children: [React.ReactNode, React.ReactNode]\n /**\n * Number of columns the content will occupy when expanded\n * Not counting the icon column that comes by default\n */\n contentColSpan: number\n isExpanded?: boolean\n onToggleExpand?: VoidFunction\n}\n\n/**\n * A wrapper for expandable table rows.\n *\n * @param children - The first must be of type ExpandableTableRow and the second any component, such as a div.\n * @param contentColSpan - Number of columns the content will occupy when expanded (excluding the default icon column).\n */\nconst ExpandableTableRowWrapper = React.forwardRef<\n HTMLDivElement,\n ExpandableTableRowWrapperProps\n>(({ children, contentColSpan, isExpanded, onToggleExpand }) => {\n const [internalIsExpanded, setInternalIsExpanded] = useState(false)\n const [Row, Content] = children\n\n const expanded = isExpanded !== undefined ? isExpanded : internalIsExpanded\n const toggleExpand = () => {\n if (onToggleExpand) {\n onToggleExpand()\n } else {\n setInternalIsExpanded(prev => !prev)\n }\n }\n\n const sumOfColspanAndIconColumn = contentColSpan + 1\n\n return (\n <>\n <Slot onClick={toggleExpand} data-expanded={expanded}>\n {Row}\n </Slot>\n <ExpandableTableRowContent\n colSpan={sumOfColspanAndIconColumn}\n aria-colspan={sumOfColspanAndIconColumn}\n isExpanded={expanded}\n >\n {Content}\n </ExpandableTableRowContent>\n </>\n )\n})\nExpandableTableRowWrapper.displayName = 'ExpandableTableRowWrapper'\n\ntype ExpandableTableRowProps = React.HTMLAttributes<HTMLTableRowElement> & {\n showIcon?: boolean\n 'data-expanded'?: boolean\n}\n\nconst ExpandableTableRow = React.forwardRef<\n HTMLTableRowElement,\n ExpandableTableRowProps\n>(({ className, children, showIcon = true, ...props }, ref) => (\n <tr\n ref={ref}\n className={cn(\n 'cursor-pointer border-y transition-colors last:border-y-0 hover:bg-stroke/30 data-[state=selected]:bg-gray-100',\n className\n )}\n {...props}\n >\n <td\n className={cn('w-12 p-4 align-middle [&:has([role=checkbox])]:pr-0', {})}\n >\n <motion.div\n initial={{ rotate: 0 }}\n animate={{ rotate: props['data-expanded'] ? -180 : 0 }}\n transition={{ duration: 0.3 }}\n className='w-min origin-center'\n >\n <CaretDown\n size={16}\n weight=\"bold\"\n className={cn('text-gbm-dark', { 'text-transparent': !showIcon })}\n />\n </motion.div>\n </td>\n {children}\n </tr>\n))\nExpandableTableRow.displayName = 'ExpandableTableRow'\n\ntype ExpandableTableRowContentProps =\n React.TdHTMLAttributes<HTMLTableCellElement> & {\n isExpanded: boolean\n }\n\nconst ExpandableTableRowContent = React.forwardRef<\n HTMLTableCellElement,\n ExpandableTableRowContentProps\n>(({ className, isExpanded, ...props }, ref) => (\n <AnimatePresence initial={false}>\n {isExpanded && (\n <motion.tr\n key=\"expandable-row\"\n className={cn('border-y', className)}\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n transition={{ duration: 0.2 }}\n >\n <td colSpan={props.colSpan}>\n <motion.div\n initial={{ height: 0, opacity: 0 }}\n animate={{ height: 'auto', opacity: 1 }}\n exit={{ height: 0, opacity: 0 }}\n transition={{\n height: { duration: 0.3, ease: 'linear' },\n opacity: { duration: 0.2 },\n }}\n className=\"overflow-hidden\"\n >\n <div ref={ref}>{props.children}</div>\n </motion.div>\n </td>\n </motion.tr>\n )}\n </AnimatePresence>\n))\nExpandableTableRowContent.displayName = 'ExpandableTableRowContent'\n\nexport type {\n ExpandableTableRowWrapperProps,\n ExpandableTableRowProps,\n ExpandableTableRowContentProps,\n}\nexport { ExpandableTableRowWrapper, ExpandableTableRow }\n"],"names":["ExpandableTableRowWrapper","React","children","contentColSpan","isExpanded","onToggleExpand","internalIsExpanded","setInternalIsExpanded","useState","Row","Content","expanded","undefined","sumOfColspanAndIconColumn","Slot","prev","ExpandableTableRowContent","ExpandableTableRow","className","showIcon","props","ref","cn","motion","CaretDown","AnimatePresence"],"mappings":"6MAwBA,IAAMA,EAA4BC,EAAAA,OAAAA,CAAAA,UAAgB,CAGhD,CAAC,CAAEC,SAAAA,CAAQ,CAAEC,eAAAA,CAAc,CAAEC,WAAAA,CAAU,CAAEC,eAAAA,CAAc,CAAE,IACzD,GAAM,CAACC,EAAoBC,EAAsB,CAAGC,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAAS,IACvD,CAACC,EAAKC,EAAQ,CAAGR,EAEjBS,EAAWP,AAAeQ,SAAfR,EAA2BA,EAAaE,EASnDO,EAA4BV,EAAiB,EAEnD,MACE,uB,UACE,UAACW,EAAAA,IAAIA,CAAAA,CAAC,QAZW,KACfT,EACFA,IAEAE,EAAsBQ,AAAAA,GAAQ,CAACA,EAEnC,EAMiC,gBAAeJ,E,SACzCF,C,GAEH,UAACO,EAAAA,CACC,QAASH,EACT,eAAcA,EACd,WAAYF,E,SAEXD,C,KAIT,EACAV,CAAAA,EAA0B,WAAW,CAAG,4BAOxC,IAAMiB,EAAqBhB,EAAAA,OAAAA,CAAAA,UAAgB,CAGzC,CAAC,CAAEiB,UAAAA,CAAS,CAAEhB,SAAAA,CAAQ,CAAEiB,SAAAA,EAAW,EAAI,CAAE,GAAGC,EAAO,CAAEC,IACrD,WAAC,MACC,IAAKA,EACL,UAAWC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EACT,iHACAJ,GAED,GAAGE,CAAK,C,UAET,UAAC,MACC,UAAWE,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAG,sDAAuD,CAAC,G,SAEtE,UAACC,EAAAA,MAAAA,CAAAA,GAAU,EACT,QAAS,CAAE,OAAQ,CAAE,EACrB,QAAS,CAAE,OAAQH,CAAK,CAAC,gBAAgB,CAAG,KAAO,CAAE,EACrD,WAAY,CAAE,SAAU,EAAI,EAC5B,UAAU,sB,SAEV,UAACI,EAAAA,SAASA,CAAAA,CACR,KAAM,GACN,OAAO,OACP,UAAWF,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAG,gBAAiB,CAAE,mBAAoB,CAACH,CAAS,E,OAIpEjB,E,GAGLe,CAAAA,EAAmB,WAAW,CAAG,qBAOjC,IAAMD,EAA4Bf,EAAAA,OAAAA,CAAAA,UAAgB,CAGhD,CAAC,CAAEiB,UAAAA,CAAS,CAAEd,WAAAA,CAAU,CAAE,GAAGgB,EAAO,CAAEC,IACtC,UAACI,EAAAA,eAAeA,CAAAA,CAAC,QAAS,G,SACvBrB,GACC,UAACmB,EAAAA,MAAAA,CAAAA,EAAS,EAER,UAAWD,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAG,WAAYJ,GAC1B,QAAS,CAAE,QAAS,CAAE,EACtB,QAAS,CAAE,QAAS,CAAE,EACtB,KAAM,CAAE,QAAS,CAAE,EACnB,WAAY,CAAE,SAAU,EAAI,E,SAE5B,UAAC,MAAG,QAASE,EAAM,OAAO,C,SACxB,UAACG,EAAAA,MAAAA,CAAAA,GAAU,EACT,QAAS,CAAE,OAAQ,EAAG,QAAS,CAAE,EACjC,QAAS,CAAE,OAAQ,OAAQ,QAAS,CAAE,EACtC,KAAM,CAAE,OAAQ,EAAG,QAAS,CAAE,EAC9B,WAAY,CACV,OAAQ,CAAE,SAAU,GAAK,KAAM,QAAS,EACxC,QAAS,CAAE,SAAU,EAAI,CAC3B,EACA,UAAU,kB,SAEV,UAAC,OAAI,IAAKF,E,SAAMD,EAAM,QAAQ,A,QAlB9B,iB,GAyBZJ,CAAAA,EAA0B,WAAW,CAAG,mC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components
|
|
1
|
+
{"version":3,"file":"components/table.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/table.tsx"],"sourcesContent":["import { ComponentProps, JSX } from 'react'\n\nimport { cn } from '@/lib/utils'\n\n/* -----------------------------------------------------------------------------\n * Component: Table\n * -------------------------------------------------------------------------- */\n\nfunction Table({ className, ...props }: ComponentProps<'table'>): JSX.Element {\n return (\n <div className=\"overflow-hidden rounded-md border\">\n <div\n className=\"relative w-full overflow-auto\"\n data-slot=\"table-container\"\n >\n <table\n className={cn('w-full caption-bottom text-sm', className)}\n data-slot=\"table\"\n {...props}\n />\n </div>\n </div>\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: TableHeader\n * -------------------------------------------------------------------------- */\n\nfunction TableHeader({\n className,\n ...props\n}: ComponentProps<'thead'>): JSX.Element {\n return (\n <thead\n className={cn(\n 'header *:border-b *:has-aria-expanded:bg-transparent',\n className\n )}\n data-slot=\"table-header\"\n {...props}\n />\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: TableBody\n * -------------------------------------------------------------------------- */\n\nfunction TableBody({\n className,\n ...props\n}: ComponentProps<'tbody'>): JSX.Element {\n return (\n <tbody\n className={cn('*:last-child:border-0', className)}\n data-slot=\"table-body\"\n {...props}\n />\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: TableFooter\n * -------------------------------------------------------------------------- */\n\nfunction TableFooter({\n className,\n ...props\n}: ComponentProps<'tfoot'>): JSX.Element {\n return (\n <tfoot\n className={cn(\n 'bg-gray-50/50 font-medium *:border-t *:last:border-b-0 *:has-aria-expanded:bg-transparent',\n className\n )}\n data-slot=\"table-footer\"\n {...props}\n />\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: TableRow\n * -------------------------------------------------------------------------- */\n\nfunction TableRow({ className, ...props }: ComponentProps<'tr'>): JSX.Element {\n return (\n <tr\n className={cn(\n 'border-b transition-colors hover:bg-gray-50/50 has-aria-expanded:bg-gray-50/50 data-[state=selected]:bg-gray-100',\n className\n )}\n data-slot=\"table-row\"\n {...props}\n />\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: TableHead\n * -------------------------------------------------------------------------- */\n\nfunction TableHead({ className, ...props }: ComponentProps<'th'>): JSX.Element {\n return (\n <th\n className={cn(\n 'h-10 whitespace-nowrap px-2 text-left align-middle font-medium text-gbm-dark [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]',\n className\n )}\n data-slot=\"table-head\"\n {...props}\n />\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: TableCell\n * -------------------------------------------------------------------------- */\n\nfunction TableCell({ className, ...props }: ComponentProps<'td'>): JSX.Element {\n return (\n <td\n className={cn(\n 'whitespace-nowrap p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]',\n className\n )}\n data-slot=\"table-cell\"\n {...props}\n />\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: TableCaption\n * -------------------------------------------------------------------------- */\n\nfunction TableCaption({\n className,\n ...props\n}: ComponentProps<'caption'>): JSX.Element {\n return (\n <caption\n className={cn('mt-4 text-gray-400 text-sm', className)}\n data-slot=\"table-caption\"\n {...props}\n />\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport {\n Table,\n TableHeader,\n TableBody,\n TableFooter,\n TableHead,\n TableRow,\n TableCell,\n TableCaption,\n}\n"],"names":["Table","className","props","cn","TableHeader","TableBody","TableFooter","TableRow","TableHead","TableCell","TableCaption"],"mappings":"sEAQA,SAASA,EAAM,CAAEC,UAAAA,CAAS,CAAE,GAAGC,EAAgC,EAC7D,MACE,UAAC,OAAI,UAAU,oC,SACb,UAAC,OACC,UAAU,gCACV,YAAU,kB,SAEV,UAAC,SACC,UAAWC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAG,gCAAiCF,GAC/C,YAAU,QACT,GAAGC,CAAK,A,MAKnB,CAMA,SAASE,EAAY,CACnBH,UAAAA,CAAS,CACT,GAAGC,EACqB,EACxB,MACE,UAAC,SACC,UAAWC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EACT,uDACAF,GAEF,YAAU,eACT,GAAGC,CAAK,A,EAGf,CAMA,SAASG,EAAU,CACjBJ,UAAAA,CAAS,CACT,GAAGC,EACqB,EACxB,MACE,UAAC,SACC,UAAWC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAG,wBAAyBF,GACvC,YAAU,aACT,GAAGC,CAAK,A,EAGf,CAMA,SAASI,EAAY,CACnBL,UAAAA,CAAS,CACT,GAAGC,EACqB,EACxB,MACE,UAAC,SACC,UAAWC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EACT,4FACAF,GAEF,YAAU,eACT,GAAGC,CAAK,A,EAGf,CAMA,SAASK,EAAS,CAAEN,UAAAA,CAAS,CAAE,GAAGC,EAA6B,EAC7D,MACE,UAAC,MACC,UAAWC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EACT,mHACAF,GAEF,YAAU,YACT,GAAGC,CAAK,A,EAGf,CAMA,SAASM,EAAU,CAAEP,UAAAA,CAAS,CAAE,GAAGC,EAA6B,EAC9D,MACE,UAAC,MACC,UAAWC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EACT,mJACAF,GAEF,YAAU,aACT,GAAGC,CAAK,A,EAGf,CAMA,SAASO,EAAU,CAAER,UAAAA,CAAS,CAAE,GAAGC,EAA6B,EAC9D,MACE,UAAC,MACC,UAAWC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EACT,yGACAF,GAEF,YAAU,aACT,GAAGC,CAAK,A,EAGf,CAMA,SAASQ,EAAa,CACpBT,UAAAA,CAAS,CACT,GAAGC,EACuB,EAC1B,MACE,UAAC,WACC,UAAWC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAG,6BAA8BF,GAC5C,YAAU,gBACT,GAAGC,CAAK,A,EAGf,Q"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components
|
|
1
|
+
{"version":3,"file":"components/tabs/index.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/tabs/index.ts"],"sourcesContent":["import { TabsContent } from './tabs-content'\nimport { TabsList } from './tabs-list'\nimport { TabsRoot } from './tabs-root'\nimport { TabsTrigger } from './tabs-trigger'\n\nexport const Tabs = {\n Root: TabsRoot,\n Trigger: TabsTrigger,\n List: TabsList,\n Content: TabsContent,\n}\n"],"names":["Tabs","TabsRoot","TabsTrigger","TabsList","TabsContent"],"mappings":"0IAKO,IAAMA,EAAO,CAClB,KAAMC,EAAAA,QAAQA,CACd,QAASC,EAAAA,WAAWA,CACpB,KAAMC,EAAAA,QAAQA,CACd,QAASC,EAAAA,WAAWA,AACtB,S"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components
|
|
1
|
+
{"version":3,"file":"components/tabs/tabs-content.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/tabs/tabs-content.tsx"],"sourcesContent":["import * as TabsPrimitive from '@radix-ui/react-tabs'\nimport * as React from 'react'\n\nimport { cn } from '../../lib/utils'\n\nconst TabsContent = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.Content\n ref={ref}\n className={cn(\n 'mt-2 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-gbm-sky ',\n className\n )}\n {...props}\n />\n))\nTabsContent.displayName = 'Tabs.Content'\n\nexport { TabsContent }\n"],"names":["TabsContent","React","className","props","ref","TabsPrimitive","cn"],"mappings":"wIAKA,IAAMA,EAAcC,EAAAA,UAAgB,CAGlC,CAAC,CAAEC,UAAAA,CAAS,CAAE,GAAGC,EAAO,CAAEC,IAC1B,UAACC,EAAAA,OAAqB,EACpB,IAAKD,EACL,UAAWE,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EACT,mFACAJ,GAED,GAAGC,CAAK,A,GAGbH,CAAAA,EAAY,WAAW,CAAG,sB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components
|
|
1
|
+
{"version":3,"file":"components/tabs/tabs-list.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/tabs/tabs-list.tsx"],"sourcesContent":["import * as TabsPrimitive from '@radix-ui/react-tabs'\nimport React from 'react'\n\nimport { cn } from '../../lib/utils'\n\nconst TabsList = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.List>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.List\n ref={ref}\n className={cn(\n 'inline-flex w-full items-center justify-center rounded-md bg-gray-50 p-1 text-gbm-dark',\n className\n )}\n {...props}\n />\n))\nTabsList.displayName = 'Tabs.List'\n\nexport { TabsList }\n"],"names":["TabsList","React","className","props","ref","TabsPrimitive","cn"],"mappings":"wIAKA,IAAMA,EAAWC,EAAAA,OAAAA,CAAAA,UAAgB,CAG/B,CAAC,CAAEC,UAAAA,CAAS,CAAE,GAAGC,EAAO,CAAEC,IAC1B,UAACC,EAAAA,IAAkB,EACjB,IAAKD,EACL,UAAWE,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EACT,yFACAJ,GAED,GAAGC,CAAK,A,GAGbH,CAAAA,EAAS,WAAW,CAAG,mB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components
|
|
1
|
+
{"version":3,"file":"components/tabs/tabs-root.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/tabs/tabs-root.tsx"],"sourcesContent":["\n\nimport * as TabsPrimitive from '@radix-ui/react-tabs'\nimport React, { useContext } from 'react'\n\ntype tabsVariant = 'primary' | 'secondary'\n\ntype TabsContext = {\n variant?: tabsVariant\n}\n\nconst TabsContext = React.createContext<TabsContext>({\n variant: 'primary',\n})\n\nconst useTabsContext = () => {\n const context = useContext(TabsContext)\n if (!context) {\n throw new Error('useTabsContext must be used within a Tabs')\n }\n\n return context\n}\n\nconst TabsRoot = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Root> & {\n variant?: tabsVariant\n }\n>(({ variant = 'primary', ...props }, ref) => {\n return (\n <TabsContext.Provider value={{ variant }}>\n <TabsPrimitive.Root ref={ref} {...props} />\n </TabsContext.Provider>\n )\n})\nTabsRoot.displayName = 'Tabs.Root'\n\nexport { TabsRoot, useTabsContext }\n"],"names":["TabsContext","React","useTabsContext","context","useContext","Error","TabsRoot","variant","props","ref","TabsPrimitive"],"mappings":";mGAWA,IAAMA,EAAcC,EAAAA,OAAAA,CAAAA,aAAmB,CAAc,CACnD,QAAS,SACX,GAEMC,EAAiB,KACrB,IAAMC,EAAUC,GAAAA,EAAAA,UAAAA,EAAWJ,GAC3B,GAAI,CAACG,EACH,MAAM,MAAU,6CAGlB,OAAOA,CACT,EAEMG,EAAWL,EAAAA,OAAAA,CAAAA,UAAgB,CAK/B,CAAC,CAAEM,QAAAA,EAAU,SAAS,CAAE,GAAGC,EAAO,CAAEC,IAElC,UAACT,EAAY,QAAQ,EAAC,MAAO,CAAEO,QAAAA,CAAQ,E,SACrC,UAACG,EAAAA,IAAkB,EAAC,IAAKD,EAAM,GAAGD,CAAK,KAI7CF,CAAAA,EAAS,WAAW,CAAG,mB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components
|
|
1
|
+
{"version":3,"file":"components/tabs/tabs-trigger.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/tabs/tabs-trigger.tsx"],"sourcesContent":["\n\nimport * as TabsPrimitive from '@radix-ui/react-tabs'\nimport * as React from 'react'\n\nimport { cn } from '../../lib/utils'\nimport { useTabsContext } from './tabs-root'\n\nconst TabsTrigger = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>\n>(({ className, ...props }, ref) => {\n const { variant } = useTabsContext()\n\n return (\n <TabsPrimitive.Trigger\n ref={ref}\n className={cn(\n 'inline-flex h-10 w-full cursor-pointer items-center justify-center whitespace-nowrap rounded px-3 py-1.5 font-medium text-gbm-dark/60 text-sm transition-all focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-gbm-sky disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-gbm-dark data-[state=active]:shadow-sm',\n {\n 'data-[state=active]:text-gbm-sky': variant === 'secondary',\n },\n className\n )}\n {...props}\n />\n )\n})\nTabsTrigger.displayName = 'Tabs.Trigger'\n\nexport { TabsTrigger }\n"],"names":["TabsTrigger","React","className","props","ref","variant","useTabsContext","TabsPrimitive","cn"],"mappings":";yKAQA,IAAMA,EAAcC,EAAAA,UAAgB,CAGlC,CAAC,CAAEC,UAAAA,CAAS,CAAE,GAAGC,EAAO,CAAEC,KAC1B,GAAM,CAAEC,QAAAA,CAAO,CAAE,CAAGC,GAAAA,EAAAA,cAAAA,IAEpB,MACE,UAACC,EAAAA,OAAqB,EACpB,IAAKH,EACL,UAAWI,GAAAA,EAAAA,EAAAA,EACT,6XACA,CACE,mCAAoCH,cAAAA,CACtC,EACAH,GAED,GAAGC,CAAK,EAGf,EACAH,CAAAA,EAAY,WAAW,CAAG,sB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components
|
|
1
|
+
{"version":3,"file":"components/textarea.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/textarea.tsx"],"sourcesContent":["import type { ComponentProps, JSX } from 'react'\n\nimport { cn } from '@/lib/utils'\n\n/* -----------------------------------------------------------------------------\n * Component: Textarea\n * -------------------------------------------------------------------------- */\n\nfunction Textarea({\n className,\n ...props\n}: ComponentProps<'textarea'>): JSX.Element {\n return (\n <textarea\n className={cn(\n 'flex min-h-16 w-full grow rounded-lg border border-stroke px-3 py-2 text-base shadow-xs outline-hidden transition placeholder:text-gray-400 hover:not-disabled:not-focus-visible:border-gbm-sky/60 focus-visible:border-gbm-sky focus-visible:ring-3 focus-visible:ring-gbm-sky/50 disabled:opacity-50 aria-invalid:border-error hover:not-disabled:not-focus-within:aria-invalid:border-error/60 focus-within:aria-invalid:ring-error/20 md:text-sm dark:focus-within:aria-invalid:ring-error/40',\n className\n )}\n data-slot=\"textarea\"\n {...props}\n />\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { Textarea }\n"],"names":["Textarea","className","props","cn"],"mappings":"sEAQA,SAASA,EAAS,CAChBC,UAAAA,CAAS,CACT,GAAGC,EACwB,EAC3B,MACE,UAAC,YACC,UAAWC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EACT,oeACAF,GAEF,YAAU,WACT,GAAGC,CAAK,A,EAGf,Q"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components
|
|
1
|
+
{"version":3,"file":"components/time-picker-input.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/time-picker-input.tsx"],"sourcesContent":["\n\nimport React, { ComponentProps } from 'react'\n\nimport { cn } from '../lib/utils'\nimport {\n TimePickerType,\n getArrowByType,\n getDateByType,\n setDateByType,\n} from '../utils/time-picker'\n\nimport { Input } from './input'\n\nexport interface TimePickerInputProps extends ComponentProps<typeof Input> {\n picker: TimePickerType\n date: Date | undefined\n setDate: (date: Date | undefined) => void\n onRightFocus?: () => void\n onLeftFocus?: () => void\n}\n\nconst TimePickerInput = React.forwardRef<\n HTMLInputElement,\n TimePickerInputProps\n>(\n (\n {\n className,\n type = 'tel',\n value,\n id,\n name,\n date = new Date(new Date().setHours(0, 0, 0, 0)),\n setDate,\n onChange,\n onKeyDown,\n picker,\n onLeftFocus,\n onRightFocus,\n ...props\n },\n ref\n ) => {\n const [flag, setFlag] = React.useState<boolean>(false)\n\n React.useEffect(() => {\n if (flag) {\n const timer = setTimeout(() => {\n setFlag(false)\n }, 2000)\n\n return () => clearTimeout(timer)\n }\n }, [flag])\n\n const calculatedValue = React.useMemo(\n () => getDateByType(date, picker),\n [date, picker]\n )\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Tab') return\n e.preventDefault()\n if (e.key === 'ArrowRight') onRightFocus?.()\n if (e.key === 'ArrowLeft') onLeftFocus?.()\n if (['ArrowUp', 'ArrowDown'].includes(e.key)) {\n const step = e.key === 'ArrowUp' ? 1 : -1\n const newValue = getArrowByType(calculatedValue, step, picker)\n if (flag) setFlag(false)\n const tempDate = new Date(date)\n setDate(setDateByType(tempDate, newValue, picker))\n }\n if (e.key >= '0' && e.key <= '9') {\n const newValue = !flag\n ? '0' + e.key\n : calculatedValue.slice(1, 2) + e.key\n if (flag) onRightFocus?.()\n setFlag(prev => !prev)\n const tempDate = new Date(date)\n setDate(setDateByType(tempDate, newValue, picker))\n }\n }\n\n return (\n <Input\n ref={ref}\n id={id || picker}\n name={name || picker}\n className={cn(\n 'w-[52px] text-center font-mono tabular-nums caret-transparent [&::-webkit-inner-spin-button]:appearance-none',\n className\n )}\n value={value || calculatedValue}\n onChange={e => {\n e.preventDefault()\n onChange?.(e)\n }}\n type={type}\n inputMode=\"decimal\"\n onKeyDown={e => {\n onKeyDown?.(e)\n handleKeyDown(e)\n }}\n {...props}\n />\n )\n }\n)\n\nTimePickerInput.displayName = 'TimePickerInput'\n\nexport { TimePickerInput }\n"],"names":["TimePickerInput","React","className","type","value","id","name","date","Date","setDate","onChange","onKeyDown","picker","onLeftFocus","onRightFocus","props","ref","flag","setFlag","timer","setTimeout","clearTimeout","calculatedValue","getDateByType","handleKeyDown","e","step","newValue","getArrowByType","tempDate","setDateByType","prev","Input","cn"],"mappings":";qKAsBA,IAAMA,EAAkBC,EAAAA,OAAAA,CAAAA,UAAgB,CAItC,CACE,CACEC,UAAAA,CAAS,CACTC,KAAAA,EAAO,KAAK,CACZC,MAAAA,CAAK,CACLC,GAAAA,CAAE,CACFC,KAAAA,CAAI,CACJC,KAAAA,EAAO,IAAIC,KAAK,IAAIA,OAAO,QAAQ,CAAC,EAAG,EAAG,EAAG,GAAG,CAChDC,QAAAA,CAAO,CACPC,SAAAA,CAAQ,CACRC,UAAAA,CAAS,CACTC,OAAAA,CAAM,CACNC,YAAAA,CAAW,CACXC,aAAAA,CAAY,CACZ,GAAGC,EACJ,CACDC,KAEA,GAAM,CAACC,EAAMC,EAAQ,CAAGjB,EAAAA,OAAAA,CAAAA,QAAc,CAAU,IAEhDA,EAAAA,OAAAA,CAAAA,SAAe,CAAC,KACd,GAAIgB,EAAM,CACR,IAAME,EAAQC,WAAW,KACvBF,EAAQ,GACV,EAAG,KAEH,MAAO,IAAMG,aAAaF,EAC5B,CACF,EAAG,CAACF,EAAK,EAET,IAAMK,EAAkBrB,EAAAA,OAAAA,CAAAA,OAAa,CACnC,IAAMsB,GAAAA,EAAAA,aAAAA,EAAchB,EAAMK,GAC1B,CAACL,EAAMK,EAAO,EAGVY,EAAgB,IACpB,GAAIC,QAAAA,EAAE,GAAG,EAIT,GAHAA,EAAE,cAAc,GACZA,eAAAA,EAAE,GAAG,EAAmBX,MACxBW,cAAAA,EAAE,GAAG,EAAkBZ,MACvB,CAAC,UAAW,YAAY,CAAC,QAAQ,CAACY,EAAE,GAAG,EAAG,CAC5C,IAAMC,EAAOD,YAAAA,EAAE,GAAG,CAAiB,EAAI,GACjCE,EAAWC,GAAAA,EAAAA,cAAAA,EAAeN,EAAiBI,EAAMd,EACnDK,CAAAA,GAAMC,EAAQ,IAClB,IAAMW,EAAW,IAAIrB,KAAKD,GAC1BE,EAAQqB,GAAAA,EAAAA,aAAAA,EAAcD,EAAUF,EAAUf,GAC5C,CACA,GAAIa,EAAE,GAAG,EAAI,KAAOA,EAAE,GAAG,EAAI,IAAK,CAChC,IAAME,EAAW,EAEbL,EAAgB,KAAK,CAAC,EAAG,GAAKG,EAAE,GAAG,CADnC,IAAMA,EAAE,GAAG,CAEXR,GAAMH,MACVI,EAAQa,GAAQ,CAACA,GACjB,IAAMF,EAAW,IAAIrB,KAAKD,GAC1BE,EAAQqB,GAAAA,EAAAA,aAAAA,EAAcD,EAAUF,EAAUf,GAC5C,EACF,EAEA,MACE,UAACoB,EAAAA,KAAKA,CAAAA,CACJ,IAAKhB,EACL,GAAIX,GAAMO,EACV,KAAMN,GAAQM,EACd,UAAWqB,GAAAA,EAAAA,EAAAA,EACT,+GACA/B,GAEF,MAAOE,GAASkB,EAChB,SAAUG,IACRA,EAAE,cAAc,GAChBf,IAAWe,EACb,EACA,KAAMtB,EACN,UAAU,UACV,UAAWsB,IACTd,IAAYc,GACZD,EAAcC,EAChB,EACC,GAAGV,CAAK,EAGf,EAGFf,CAAAA,EAAgB,WAAW,CAAG,yB"}
|