@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/autocomplete/autocomplete.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/autocomplete/autocomplete.tsx"],"sourcesContent":["import { Command as CommandPrimitive } from 'cmdk'\nimport { type ReactNode, useRef, useState } from 'react'\n\nimport { AutoCompleteContext } from './autocomplete-context'\n\ninterface AutoCompleteProps {\n children: ReactNode\n value: string\n onValueChange: (value: string) => void\n isLoading?: boolean\n}\n\nexport function AutoComplete({\n children,\n value = '',\n onValueChange,\n isLoading = false,\n}: AutoCompleteProps) {\n const [isOpen, setIsOpen] = useState(false)\n\n const inputRef = useRef<HTMLInputElement>(null)\n\n return (\n <AutoCompleteContext.Provider\n value={{\n value,\n onValueChange,\n isOpen,\n onOpenChange: setIsOpen,\n inputRef,\n isLoading,\n }}\n >\n <CommandPrimitive>{children}</CommandPrimitive>\n </AutoCompleteContext.Provider>\n )\n}\n"],"names":["AutoComplete","children","value","onValueChange","isLoading","isOpen","setIsOpen","useState","inputRef","useRef","AutoCompleteContext","CommandPrimitive"],"mappings":"+HAYO,SAASA,EAAa,CAC3BC,SAAAA,CAAQ,CACRC,MAAAA,EAAQ,EAAE,CACVC,cAAAA,CAAa,CACbC,UAAAA,EAAY,EAAK,CACC,EAClB,GAAM,CAACC,EAAQC,EAAU,CAAGC,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAAS,IAE/BC,EAAWC,AAAAA,GAAAA,EAAAA,MAAAA,AAAAA,EAAyB,MAE1C,MACE,UAACC,EAAAA,mBAAAA,CAAAA,QAA4B,EAC3B,MAAO,CACLR,MAAAA,EACAC,cAAAA,EACAE,OAAAA,EACA,aAAcC,EACdE,SAAAA,EACAJ,UAAAA,CACF,E,SAEA,UAACO,EAAAA,OAAgBA,CAAAA,C,SAAEV,C,IAGzB,Q"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components
|
|
1
|
+
{"version":3,"file":"components/avatar.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/avatar.tsx"],"sourcesContent":["import * as AvatarPrimitive from '@radix-ui/react-avatar'\nimport type { ComponentProps } from 'react'\n\nimport { cn } from '@/lib/utils'\n\nfunction Avatar({\n className,\n ...props\n}: ComponentProps<typeof AvatarPrimitive.Root>) {\n return (\n <AvatarPrimitive.Root\n data-slot=\"avatar\"\n className={cn(\n 'relative flex size-8 shrink-0 overflow-hidden rounded-full',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AvatarImage({\n className,\n ...props\n}: ComponentProps<typeof AvatarPrimitive.Image>) {\n return (\n <AvatarPrimitive.Image\n data-slot=\"avatar-image\"\n className={cn('aspect-square size-full', className)}\n {...props}\n />\n )\n}\n\nfunction AvatarFallback({\n className,\n ...props\n}: ComponentProps<typeof AvatarPrimitive.Fallback>) {\n return (\n <AvatarPrimitive.Fallback\n data-slot=\"avatar-fallback\"\n className={cn(\n 'flex size-full items-center justify-center rounded-full bg-gray-100',\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Avatar, AvatarImage, AvatarFallback }\n"],"names":["Avatar","className","props","AvatarPrimitive","cn","AvatarImage","AvatarFallback"],"mappings":"+GAKA,SAASA,EAAO,CACdC,UAAAA,CAAS,CACT,GAAGC,EACyC,EAC5C,MACE,UAACC,EAAAA,IAAoB,EACnB,YAAU,SACV,UAAWC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EACT,6DACAH,GAED,GAAGC,CAAK,A,EAGf,CAEA,SAASG,EAAY,CACnBJ,UAAAA,CAAS,CACT,GAAGC,EAC0C,EAC7C,MACE,UAACC,EAAAA,KAAqB,EACpB,YAAU,eACV,UAAWC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAG,0BAA2BH,GACxC,GAAGC,CAAK,A,EAGf,CAEA,SAASI,EAAe,CACtBL,UAAAA,CAAS,CACT,GAAGC,EAC6C,EAChD,MACE,UAACC,EAAAA,QAAwB,EACvB,YAAU,kBACV,UAAWC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EACT,sEACAH,GAED,GAAGC,CAAK,A,EAGf,Q"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components
|
|
1
|
+
{"version":3,"file":"components/badge.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/badge.tsx"],"sourcesContent":["import { ComponentProps, JSX } from 'react'\n\nimport { VariantProps, tv } from '@/lib/utils'\nimport { Slot } from '@radix-ui/react-slot'\n\n/* -----------------------------------------------------------------------------\n * Variant: Badge\n * -------------------------------------------------------------------------- */\n\nconst badgeVariants = tv({\n base: 'inline-flex items-center rounded-full border px-2.5 py-0.5 font-semibold text-xs transition-colors focus:outline-none focus:ring-1 focus:ring-gbm-sky',\n variants: {\n variant: {\n default: 'border-transparent bg-gbm-sky text-white hover:bg-gbm-sky/80',\n secondary:\n 'border-transparent bg-gray-50 text-gray-900 hover:bg-gray-50/80',\n destructive: 'border-transparent bg-error text-white hover:bg-error/80',\n outline: 'text-gbm-dark',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n})\n\n/* -----------------------------------------------------------------------------\n * Component: Badge\n * -------------------------------------------------------------------------- */\n\nfunction Badge({\n className,\n asChild,\n variant,\n ...props\n}: ComponentProps<'span'> &\n VariantProps<typeof badgeVariants> & {\n asChild?: boolean\n }): JSX.Element {\n const Component = asChild ? Slot : 'span'\n\n return (\n <Component className={badgeVariants({ className, variant })} {...props} />\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { Badge, badgeVariants }\n"],"names":["badgeVariants","tv","Badge","className","asChild","variant","props","Component","Slot"],"mappings":"6GASA,IAAMA,EAAgBC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAG,CACvB,KAAM,wJACN,SAAU,CACR,QAAS,CACP,QAAS,+DACT,UACE,kEACF,YAAa,2DACb,QAAS,eACX,CACF,EACA,gBAAiB,CACf,QAAS,SACX,CACF,GAMA,SAASC,EAAM,CACbC,UAAAA,CAAS,CACTC,QAAAA,CAAO,CACPC,QAAAA,CAAO,CACP,GAAGC,EAIF,EACD,IAAMC,EAAYH,EAAUI,EAAAA,IAAIA,CAAG,OAEnC,MACE,UAACD,EAAAA,CAAU,UAAWP,EAAc,CAAEG,UAAAA,EAAWE,QAAAA,CAAQ,GAAK,GAAGC,CAAK,A,EAE1E,Q"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components
|
|
1
|
+
{"version":3,"file":"components/breadcrumb.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/breadcrumb.tsx"],"sourcesContent":["import { Slot } from '@radix-ui/react-slot'\nimport { ComponentProps, JSX, ReactNode } from 'react'\n\nimport { cn } from '@/lib/utils'\nimport { ChevronRightIcon } from 'lucide-react'\n\n/* -----------------------------------------------------------------------------\n * Component: Breadcrumb\n * -------------------------------------------------------------------------- */\n\nfunction Breadcrumb({\n ...props\n}: ComponentProps<'nav'> & {\n separator?: ReactNode\n}): JSX.Element {\n return <nav aria-label=\"breadcrumb\" data-slot=\"breadcrumb\" {...props} />\n}\n\n/* -----------------------------------------------------------------------------\n * Component: BreadcrumbList\n * -------------------------------------------------------------------------- */\n\nfunction BreadcrumbList({\n className,\n ...props\n}: ComponentProps<'ol'>): JSX.Element {\n return (\n <ol\n className={cn(\n 'flex flex-wrap items-center gap-1.5 break-words text-gbm-dark sm:gap-2.5',\n className\n )}\n data-slot=\"breadcrumb-list\"\n {...props}\n />\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: BreadcrumbItem\n * -------------------------------------------------------------------------- */\n\nfunction BreadcrumbItem({\n className,\n ...props\n}: ComponentProps<'li'>): JSX.Element {\n return (\n <li\n className={cn(\n 'inline-flex items-center gap-1.5 text-gray-500 last:h-8 last:rounded last:border last:border-stroke last:bg-header last:px-2.5 last:font-medium last:text-gbm-dark last:opacity-100',\n className\n )}\n data-slot=\"breadcrumb-item\"\n {...props}\n />\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: BreadcrumbLink\n * -------------------------------------------------------------------------- */\n\nfunction BreadcrumbLink({\n asChild,\n className,\n ...props\n}: ComponentProps<'a'> & {\n asChild?: boolean\n}): JSX.Element {\n const Component = asChild ? Slot : 'a'\n\n return (\n <Component\n className={cn('hover:underline', className)}\n data-slot=\"breadcrumb-link\"\n {...props}\n />\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: BreadcrumbPage\n * -------------------------------------------------------------------------- */\n\nfunction BreadcrumbPage({\n className,\n ...props\n}: ComponentProps<'span'>): JSX.Element {\n return (\n <span\n aria-current=\"page\"\n aria-disabled=\"true\"\n className={className}\n data-slot=\"breadcrumb-page\"\n role=\"link\"\n {...props}\n />\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: BreadcrumbSeparator\n * -------------------------------------------------------------------------- */\n\nfunction BreadcrumbSeparator({\n children,\n className,\n ...props\n}: ComponentProps<'li'>): JSX.Element {\n return (\n <li\n aria-hidden=\"true\"\n data-slot=\"breadcrumb-separator\"\n role=\"presentation\"\n className={cn('[&>svg]:size-4.5', className)}\n {...props}\n >\n {children ?? <ChevronRightIcon className=\"stroke-2\" />}\n </li>\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: BreadcrumbEllipsis\n * -------------------------------------------------------------------------- */\n\nfunction BreadcrumbEllipsis({\n className,\n ...props\n}: ComponentProps<'span'>): JSX.Element {\n return (\n <span\n aria-hidden=\"true\"\n className={cn('flex items-center justify-center', className)}\n data-slot=\"breadcrumb-ellipsis\"\n role=\"presentation\"\n {...props}\n >\n <span>...</span>\n <span className=\"sr-only\">More</span>\n </span>\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport {\n Breadcrumb,\n BreadcrumbList,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbPage,\n BreadcrumbSeparator,\n BreadcrumbEllipsis,\n}\n"],"names":["Breadcrumb","props","BreadcrumbList","className","cn","BreadcrumbItem","BreadcrumbLink","asChild","Component","Slot","BreadcrumbPage","BreadcrumbSeparator","children","ChevronRightIcon","BreadcrumbEllipsis"],"mappings":"4IAUA,SAASA,EAAW,CAClB,GAAGC,EAGJ,EACC,MAAO,UAAC,OAAI,aAAW,aAAa,YAAU,aAAc,GAAGA,CAAK,A,EACtE,CAMA,SAASC,EAAe,CACtBC,UAAAA,CAAS,CACT,GAAGF,EACkB,EACrB,MACE,UAAC,MACC,UAAWG,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EACT,2EACAD,GAEF,YAAU,kBACT,GAAGF,CAAK,A,EAGf,CAMA,SAASI,EAAe,CACtBF,UAAAA,CAAS,CACT,GAAGF,EACkB,EACrB,MACE,UAAC,MACC,UAAWG,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EACT,sLACAD,GAEF,YAAU,kBACT,GAAGF,CAAK,A,EAGf,CAMA,SAASK,EAAe,CACtBC,QAAAA,CAAO,CACPJ,UAAAA,CAAS,CACT,GAAGF,EAGJ,EACC,IAAMO,EAAYD,EAAUE,EAAAA,IAAIA,CAAG,IAEnC,MACE,UAACD,EAAAA,CACC,UAAWJ,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAG,kBAAmBD,GACjC,YAAU,kBACT,GAAGF,CAAK,A,EAGf,CAMA,SAASS,EAAe,CACtBP,UAAAA,CAAS,CACT,GAAGF,EACoB,EACvB,MACE,UAAC,QACC,eAAa,OACb,gBAAc,OACd,UAAWE,EACX,YAAU,kBACV,KAAK,OACJ,GAAGF,CAAK,A,EAGf,CAMA,SAASU,EAAoB,CAC3BC,SAAAA,CAAQ,CACRT,UAAAA,CAAS,CACT,GAAGF,EACkB,EACrB,MACE,UAAC,MACC,cAAY,OACZ,YAAU,uBACV,KAAK,eACL,UAAWG,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAG,mBAAoBD,GACjC,GAAGF,CAAK,C,SAERW,GAAY,UAACC,EAAAA,gBAAgBA,CAAAA,CAAC,UAAU,U,IAG/C,CAMA,SAASC,EAAmB,CAC1BX,UAAAA,CAAS,CACT,GAAGF,EACoB,EACvB,MACE,WAAC,QACC,cAAY,OACZ,UAAWG,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAG,mCAAoCD,GAClD,YAAU,sBACV,KAAK,eACJ,GAAGF,CAAK,C,UAET,UAAC,Q,SAAK,K,GACN,UAAC,QAAK,UAAU,U,SAAU,M,KAGhC,Q"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components
|
|
1
|
+
{"version":3,"file":"components/button.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/button.tsx"],"sourcesContent":["import { Slot, Slottable } from '@radix-ui/react-slot'\nimport { ComponentProps, JSX, ReactNode } from 'react'\n\nimport type { VariantProps } from '../lib/utils'\n\nimport { cn, tv } from '@/lib/utils'\nimport { Spinner } from './spinner'\n\n/* -----------------------------------------------------------------------------\n * Variant: Button\n * -------------------------------------------------------------------------- */\n\nconst buttonVariants = tv({\n base: 'cursor-pointer flex rounded-md items-center justify-center whitespace-nowrap font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-gbm-sky disabled:pointer-events-none disabled:opacity-50 max-lg:text-sm',\n variants: {\n variant: {\n primary: 'bg-gbm-sky text-white hover:bg-gbm-ocean',\n secondary:\n 'border border-stroke bg-white text-gbm-dark hover:bg-gray-100',\n tertiary: 'border border-stroke bg-white text-gbm-sky hover:bg-gray-100',\n outline:\n 'border border-gbm-sky bg-white text-gbm-sky hover:bg-gbm-sky hover:text-white',\n ghost: 'text-gbm-dark hover:border-gbm-blue hover:bg-gray-100',\n destructive: 'bg-rose-600 text-white hover:bg-rose-700',\n link: 'text-gbm-dark underline-offset-2 hover:underline',\n },\n size: {\n xs: 'h-8 gap-1 px-2.5 rounded text-sm',\n sm: 'h-10 gap-1.5 px-4',\n md: 'h-12 gap-4 px-6 py-2',\n lg: 'h-14 gap-6 px-8',\n icon: 'h-9 w-9',\n },\n rounded: {\n true: 'rounded-full',\n },\n loading: {\n true: 'pointer-events-none',\n false: '',\n },\n },\n defaultVariants: {\n variant: 'primary',\n size: 'md',\n rounded: false,\n loading: false,\n },\n})\n\n/* -----------------------------------------------------------------------------\n * Component: Button\n * -------------------------------------------------------------------------- */\n\nexport type ButtonProps = ComponentProps<'button'> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean\n }\n\nfunction Button({\n children,\n className,\n disabled,\n loaderPosition,\n loading,\n prefix,\n size,\n spinner,\n suffix,\n variant,\n asChild,\n rounded,\n ...props\n}: Omit<ComponentProps<'button'>, 'prefix'> &\n VariantProps<typeof buttonVariants> & {\n loaderPosition?: 'prefix' | 'suffix'\n loading?: boolean\n prefix?: ReactNode\n spinner?: ReactNode\n suffix?: ReactNode\n asChild?: boolean\n rounded?: boolean\n }): JSX.Element {\n const Comp = asChild ? Slot : 'button'\n\n return (\n <Comp\n className={cn(\n buttonVariants({ variant, size, rounded, loading, className })\n )}\n data-slot=\"button\"\n data-variant={variant}\n disabled={loading || disabled}\n type=\"button\"\n {...props}\n >\n {loading && loaderPosition === 'prefix' ? spinner || <Spinner /> : prefix}\n <Slottable>\n {loading && !loaderPosition ? <Spinner /> : children}\n </Slottable>\n {loading && loaderPosition === 'suffix' ? spinner || <Spinner /> : suffix}\n </Comp>\n )\n}\nButton.displayName = 'Button'\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { Button, buttonVariants }\n"],"names":["buttonVariants","tv","Button","children","className","disabled","loaderPosition","loading","prefix","size","spinner","suffix","variant","asChild","rounded","props","Comp","Slot","cn","Spinner","Slottable"],"mappings":"4IAYA,IAAMA,EAAiBC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAG,CACxB,KAAM,wPACN,SAAU,CACR,QAAS,CACP,QAAS,2CACT,UACE,gEACF,SAAU,+DACV,QACE,gFACF,MAAO,wDACP,YAAa,2CACb,KAAM,kDACR,EACA,KAAM,CACJ,GAAI,mCACJ,GAAI,oBACJ,GAAI,uBACJ,GAAI,kBACJ,KAAM,SACR,EACA,QAAS,CACP,KAAM,cACR,EACA,QAAS,CACP,KAAM,sBACN,MAAO,EACT,CACF,EACA,gBAAiB,CACf,QAAS,UACT,KAAM,KACN,QAAS,GACT,QAAS,EACX,CACF,GAWA,SAASC,EAAO,CACdC,SAAAA,CAAQ,CACRC,UAAAA,CAAS,CACTC,SAAAA,CAAQ,CACRC,eAAAA,CAAc,CACdC,QAAAA,CAAO,CACPC,OAAAA,CAAM,CACNC,KAAAA,CAAI,CACJC,QAAAA,CAAO,CACPC,OAAAA,CAAM,CACNC,QAAAA,CAAO,CACPC,QAAAA,CAAO,CACPC,QAAAA,CAAO,CACP,GAAGC,EAUF,EACD,IAAMC,EAAOH,EAAUI,EAAAA,IAAIA,CAAG,SAE9B,MACE,WAACD,EAAAA,CACC,UAAWE,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EACTlB,EAAe,CAAEY,QAAAA,EAASH,KAAAA,EAAMK,QAAAA,EAASP,QAAAA,EAASH,UAAAA,CAAU,IAE9D,YAAU,SACV,eAAcQ,EACd,SAAUL,GAAWF,EACrB,KAAK,SACJ,GAAGU,CAAK,C,UAERR,GAAWD,AAAmB,WAAnBA,EAA8BI,GAAW,UAACS,EAAAA,OAAOA,CAAAA,CAAAA,GAAMX,EACnE,UAACY,EAAAA,SAASA,CAAAA,C,SACPb,GAAW,CAACD,EAAiB,UAACa,EAAAA,OAAOA,CAAAA,CAAAA,GAAMhB,C,GAE7CI,GAAWD,AAAmB,WAAnBA,EAA8BI,GAAW,UAACS,EAAAA,OAAOA,CAAAA,CAAAA,GAAMR,E,EAGzE,CACAT,EAAO,WAAW,CAAG,gB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components\\calendar.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/calendar.tsx"],"sourcesContent":["\r\n\r\nimport type { ComponentProps, JSX, ReactNode } from 'react'\r\nimport type { CustomComponents, DateRange } from 'react-day-picker'\r\n\r\nimport { format } from 'date-fns'\r\n\r\nimport { DayFlag, DayPicker, SelectionState, UI } from 'react-day-picker'\r\nimport { ptBR } from 'react-day-picker/locale'\r\n\r\nimport { buttonVariants } from '@/components/button'\r\nimport { cn } from '@/lib/utils'\r\nimport {\r\n CaretDown,\r\n CaretLeft,\r\n CaretRight,\r\n CaretUp,\r\n Dot,\r\n} from '@phosphor-icons/react'\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: Chevron\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction Chevron({\r\n orientation,\r\n className,\r\n ...props\r\n}: ComponentProps<CustomComponents['Chevron']>): JSX.Element {\r\n switch (orientation) {\r\n case 'up': {\r\n return <CaretUp className={cn('size-4', className)} {...props} />\r\n }\r\n\r\n case 'down': {\r\n return <CaretDown className={cn('size-4', className)} {...props} />\r\n }\r\n\r\n case 'left': {\r\n return <CaretLeft className={cn('size-4', className)} {...props} />\r\n }\r\n\r\n case 'right': {\r\n return <CaretRight className={cn('size-4', className)} {...props} />\r\n }\r\n\r\n default: {\r\n return <Dot className={cn('size-4', className)} {...props} />\r\n }\r\n }\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: Calendar\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction Calendar({\r\n showOutsideDays = true,\r\n classNames,\r\n ...props\r\n}: ComponentProps<typeof DayPicker>): JSX.Element {\r\n const isInteractive =\r\n props.mode !== undefined || props.onDayClick !== undefined\r\n\r\n return (\r\n <DayPicker\r\n locale={ptBR}\r\n classNames={{\r\n [UI.Root]: cn('p-3', classNames?.[UI.Root]),\r\n [UI.Chevron]: cn(classNames?.[UI.Chevron]),\r\n [UI.Day]: cn(\r\n 'grid place-items-center text-center text-sm',\r\n isInteractive\r\n ? 'group min-w-8.5 has-focus-visible:z-20'\r\n : 'h-8 min-w-8.5',\r\n classNames?.[UI.Day]\r\n ),\r\n [UI.DayButton]: cn(\r\n 'size-8 rounded-lg border border-transparent outline-hidden hover:not-disabled:not-group-aria-selected:bg-gray-100 hover:not-disabled:not-group-aria-selected:text-gbm-dark focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:opacity-50 group-[.is-outside]:text-gray-600 group-[.is-selected]:not-group-[.is-range-middle]:focus-visible:border-gbm-sky group-[.is-selected]:not-group-[.is-range-middle]:focus-visible:ring-gbm-sky/20 group-aria-selected:not-group-[.is-range-middle]:bg-gbm-sky group-aria-selected:not-group-[.is-range-middle]:text-white group-data-today:not-group-aria-selected:bg-gray-100 group-data-today:not-group-aria-selected:text-gbm-dark dark:group-[.is-selected]:not-group-[.is-range-middle]:focus-visible:ring-gbm-sky/40',\r\n classNames?.[UI.DayButton]\r\n ),\r\n [UI.CaptionLabel]: cn(\r\n 'flex items-center gap-2 [&>svg]:opacity-50',\r\n classNames?.[UI.CaptionLabel]\r\n ),\r\n [UI.Dropdowns]: cn('flex gap-4', classNames?.[UI.Dropdowns]),\r\n [UI.Dropdown]: cn('absolute opacity-0', classNames?.[UI.Dropdown]),\r\n [UI.DropdownRoot]: cn('relative', classNames?.[UI.DropdownRoot]),\r\n [UI.Footer]: cn(classNames?.[UI.Footer]),\r\n [UI.MonthGrid]: cn(classNames?.[UI.MonthGrid]),\r\n [UI.MonthCaption]: cn(\r\n 'py-1 font-medium text-sm',\r\n classNames?.[UI.MonthCaption]\r\n ),\r\n [UI.MonthsDropdown]: cn(classNames?.[UI.MonthsDropdown]),\r\n [UI.Month]: cn('flex flex-col gap-4', classNames?.[UI.Month]),\r\n [UI.Months]: cn('relative flex gap-4', classNames?.[UI.Months]),\r\n [UI.Nav]: cn('absolute end-0 flex gap-2', classNames?.[UI.Nav]),\r\n [UI.NextMonthButton]: buttonVariants({\r\n variant: 'ghost',\r\n size: 'icon',\r\n className: ['size-7', classNames?.[UI.NextMonthButton]],\r\n }),\r\n [UI.PreviousMonthButton]: buttonVariants({\r\n variant: 'ghost',\r\n size: 'icon',\r\n className: ['size-7', classNames?.[UI.PreviousMonthButton]],\r\n }),\r\n [UI.Week]: cn('mt-2 flex justify-between', classNames?.[UI.Week]),\r\n [UI.Weeks]: cn(classNames?.[UI.Weeks]),\r\n [UI.Weekday]: cn(\r\n 'min-w-8.5 font-medium text-gray-600 text-xs',\r\n classNames?.[UI.Weekday]\r\n ),\r\n [UI.Weekdays]: cn(\r\n 'flex w-full justify-between',\r\n classNames?.[UI.Weekdays]\r\n ),\r\n [UI.WeekNumber]: cn(\r\n 'grid h-8 min-w-8.5 place-items-center font-normal text-gray-600 text-xs [&+*]:rounded-l-lg',\r\n classNames?.[UI.WeekNumber]\r\n ),\r\n [UI.WeekNumberHeader]: cn(\r\n 'min-w-8.5',\r\n classNames?.[UI.WeekNumberHeader]\r\n ),\r\n [UI.YearsDropdown]: cn(classNames?.[UI.YearsDropdown]),\r\n\r\n [SelectionState.range_end]: cn(\r\n 'is-range-end rounded-r-lg bg-gradient-to-l to-gray-100 first:rounded-l-lg',\r\n classNames?.[SelectionState.range_end]\r\n ),\r\n [SelectionState.range_middle]: cn(\r\n 'is-range-middle bg-gray-100 text-gbm-dark first:rounded-l-lg last:rounded-r-lg',\r\n classNames?.[SelectionState.range_middle]\r\n ),\r\n [SelectionState.range_start]: cn(\r\n 'is-range-start rounded-l-lg bg-gradient-to-r to-gray-100 last:rounded-r-lg',\r\n classNames?.[SelectionState.range_start]\r\n ),\r\n [SelectionState.selected]: cn(\r\n 'is-selected',\r\n classNames?.[SelectionState.selected]\r\n ),\r\n\r\n [DayFlag.disabled]: cn('is-disabled', classNames?.[DayFlag.disabled]),\r\n [DayFlag.focused]: cn('is-focused', classNames?.[DayFlag.focused]),\r\n [DayFlag.hidden]: cn('is-hidden size-8', classNames?.[DayFlag.hidden]),\r\n [DayFlag.outside]: cn('is-outside', classNames?.[DayFlag.outside]),\r\n [DayFlag.today]: cn('is-today', classNames?.[DayFlag.today]),\r\n }}\r\n components={{\r\n Chevron,\r\n }}\r\n showOutsideDays={showOutsideDays}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: CalendarRangeLabel\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction CalendarRangeLabel({\r\n date,\r\n formatStr = 'LLL dd, y',\r\n placeholder = 'Pick a date',\r\n}: {\r\n date: DateRange | undefined\r\n formatStr?: string\r\n placeholder?: string\r\n}): ReactNode {\r\n if (!date?.from) {\r\n return <span className=\"truncate\">{placeholder}</span>\r\n }\r\n\r\n const formattedFromDate = format(date.from, formatStr)\r\n\r\n if (!date.to) {\r\n return <span className=\"truncate\">{formattedFromDate}</span>\r\n }\r\n\r\n const formattedToDate = format(date.to, formatStr)\r\n\r\n return (\r\n <span className=\"truncate\">\r\n {formattedFromDate} - {formattedToDate}\r\n </span>\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: CalendarLabel\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction CalendarLabel({\r\n date,\r\n formatStr = 'PPP',\r\n placeholder = 'Pick a date',\r\n}: {\r\n date: Date | undefined\r\n formatStr?: string\r\n placeholder?: string\r\n}): ReactNode {\r\n if (!date) {\r\n return <span className=\"truncate\">{placeholder}</span>\r\n }\r\n\r\n return <span className=\"truncate\">{format(date, formatStr)}</span>\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Exports\r\n * -------------------------------------------------------------------------- */\r\n\r\nexport type { DateRange, Matcher } from 'react-day-picker'\r\nexport { Calendar, CalendarLabel, CalendarRangeLabel }\r\n"],"names":["Chevron","orientation","className","props","CaretUp","cn","CaretDown","CaretLeft","CaretRight","Dot","Calendar","showOutsideDays","classNames","isInteractive","undefined","DayPicker","ptBR","UI","buttonVariants","SelectionState","DayFlag","CalendarRangeLabel","date","formatStr","placeholder","formattedFromDate","format","formattedToDate","CalendarLabel"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"components/calendar.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/calendar.tsx"],"sourcesContent":["\n\nimport type { ComponentProps, JSX, ReactNode } from 'react'\nimport type { CustomComponents, DateRange } from 'react-day-picker'\n\nimport { format } from 'date-fns'\n\nimport { DayFlag, DayPicker, SelectionState, UI } from 'react-day-picker'\nimport { ptBR } from 'react-day-picker/locale'\n\nimport { buttonVariants } from '@/components/button'\nimport { cn } from '@/lib/utils'\nimport {\n CaretDown,\n CaretLeft,\n CaretRight,\n CaretUp,\n Dot,\n} from '@phosphor-icons/react'\n\n/* -----------------------------------------------------------------------------\n * Component: Chevron\n * -------------------------------------------------------------------------- */\n\nfunction Chevron({\n orientation,\n className,\n ...props\n}: ComponentProps<CustomComponents['Chevron']>): JSX.Element {\n switch (orientation) {\n case 'up': {\n return <CaretUp className={cn('size-4', className)} {...props} />\n }\n\n case 'down': {\n return <CaretDown className={cn('size-4', className)} {...props} />\n }\n\n case 'left': {\n return <CaretLeft className={cn('size-4', className)} {...props} />\n }\n\n case 'right': {\n return <CaretRight className={cn('size-4', className)} {...props} />\n }\n\n default: {\n return <Dot className={cn('size-4', className)} {...props} />\n }\n }\n}\n\n/* -----------------------------------------------------------------------------\n * Component: Calendar\n * -------------------------------------------------------------------------- */\n\nfunction Calendar({\n showOutsideDays = true,\n classNames,\n ...props\n}: ComponentProps<typeof DayPicker>): JSX.Element {\n const isInteractive =\n props.mode !== undefined || props.onDayClick !== undefined\n\n return (\n <DayPicker\n locale={ptBR}\n classNames={{\n [UI.Root]: cn('p-3', classNames?.[UI.Root]),\n [UI.Chevron]: cn(classNames?.[UI.Chevron]),\n [UI.Day]: cn(\n 'grid place-items-center text-center text-sm',\n isInteractive\n ? 'group min-w-8.5 has-focus-visible:z-20'\n : 'h-8 min-w-8.5',\n classNames?.[UI.Day]\n ),\n [UI.DayButton]: cn(\n 'size-8 rounded-lg border border-transparent outline-hidden hover:not-disabled:not-group-aria-selected:bg-gray-100 hover:not-disabled:not-group-aria-selected:text-gbm-dark focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:opacity-50 group-[.is-outside]:text-gray-600 group-[.is-selected]:not-group-[.is-range-middle]:focus-visible:border-gbm-sky group-[.is-selected]:not-group-[.is-range-middle]:focus-visible:ring-gbm-sky/20 group-aria-selected:not-group-[.is-range-middle]:bg-gbm-sky group-aria-selected:not-group-[.is-range-middle]:text-white group-data-today:not-group-aria-selected:bg-gray-100 group-data-today:not-group-aria-selected:text-gbm-dark dark:group-[.is-selected]:not-group-[.is-range-middle]:focus-visible:ring-gbm-sky/40',\n classNames?.[UI.DayButton]\n ),\n [UI.CaptionLabel]: cn(\n 'flex items-center gap-2 [&>svg]:opacity-50',\n classNames?.[UI.CaptionLabel]\n ),\n [UI.Dropdowns]: cn('flex gap-4', classNames?.[UI.Dropdowns]),\n [UI.Dropdown]: cn('absolute opacity-0', classNames?.[UI.Dropdown]),\n [UI.DropdownRoot]: cn('relative', classNames?.[UI.DropdownRoot]),\n [UI.Footer]: cn(classNames?.[UI.Footer]),\n [UI.MonthGrid]: cn(classNames?.[UI.MonthGrid]),\n [UI.MonthCaption]: cn(\n 'py-1 font-medium text-sm',\n classNames?.[UI.MonthCaption]\n ),\n [UI.MonthsDropdown]: cn(classNames?.[UI.MonthsDropdown]),\n [UI.Month]: cn('flex flex-col gap-4', classNames?.[UI.Month]),\n [UI.Months]: cn('relative flex gap-4', classNames?.[UI.Months]),\n [UI.Nav]: cn('absolute end-0 flex gap-2', classNames?.[UI.Nav]),\n [UI.NextMonthButton]: buttonVariants({\n variant: 'ghost',\n size: 'icon',\n className: ['size-7', classNames?.[UI.NextMonthButton]],\n }),\n [UI.PreviousMonthButton]: buttonVariants({\n variant: 'ghost',\n size: 'icon',\n className: ['size-7', classNames?.[UI.PreviousMonthButton]],\n }),\n [UI.Week]: cn('mt-2 flex justify-between', classNames?.[UI.Week]),\n [UI.Weeks]: cn(classNames?.[UI.Weeks]),\n [UI.Weekday]: cn(\n 'min-w-8.5 font-medium text-gray-600 text-xs',\n classNames?.[UI.Weekday]\n ),\n [UI.Weekdays]: cn(\n 'flex w-full justify-between',\n classNames?.[UI.Weekdays]\n ),\n [UI.WeekNumber]: cn(\n 'grid h-8 min-w-8.5 place-items-center font-normal text-gray-600 text-xs [&+*]:rounded-l-lg',\n classNames?.[UI.WeekNumber]\n ),\n [UI.WeekNumberHeader]: cn(\n 'min-w-8.5',\n classNames?.[UI.WeekNumberHeader]\n ),\n [UI.YearsDropdown]: cn(classNames?.[UI.YearsDropdown]),\n\n [SelectionState.range_end]: cn(\n 'is-range-end rounded-r-lg bg-gradient-to-l to-gray-100 first:rounded-l-lg',\n classNames?.[SelectionState.range_end]\n ),\n [SelectionState.range_middle]: cn(\n 'is-range-middle bg-gray-100 text-gbm-dark first:rounded-l-lg last:rounded-r-lg',\n classNames?.[SelectionState.range_middle]\n ),\n [SelectionState.range_start]: cn(\n 'is-range-start rounded-l-lg bg-gradient-to-r to-gray-100 last:rounded-r-lg',\n classNames?.[SelectionState.range_start]\n ),\n [SelectionState.selected]: cn(\n 'is-selected',\n classNames?.[SelectionState.selected]\n ),\n\n [DayFlag.disabled]: cn('is-disabled', classNames?.[DayFlag.disabled]),\n [DayFlag.focused]: cn('is-focused', classNames?.[DayFlag.focused]),\n [DayFlag.hidden]: cn('is-hidden size-8', classNames?.[DayFlag.hidden]),\n [DayFlag.outside]: cn('is-outside', classNames?.[DayFlag.outside]),\n [DayFlag.today]: cn('is-today', classNames?.[DayFlag.today]),\n }}\n components={{\n Chevron,\n }}\n showOutsideDays={showOutsideDays}\n {...props}\n />\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: CalendarRangeLabel\n * -------------------------------------------------------------------------- */\n\nfunction CalendarRangeLabel({\n date,\n formatStr = 'LLL dd, y',\n placeholder = 'Pick a date',\n}: {\n date: DateRange | undefined\n formatStr?: string\n placeholder?: string\n}): ReactNode {\n if (!date?.from) {\n return <span className=\"truncate\">{placeholder}</span>\n }\n\n const formattedFromDate = format(date.from, formatStr)\n\n if (!date.to) {\n return <span className=\"truncate\">{formattedFromDate}</span>\n }\n\n const formattedToDate = format(date.to, formatStr)\n\n return (\n <span className=\"truncate\">\n {formattedFromDate} - {formattedToDate}\n </span>\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: CalendarLabel\n * -------------------------------------------------------------------------- */\n\nfunction CalendarLabel({\n date,\n formatStr = 'PPP',\n placeholder = 'Pick a date',\n}: {\n date: Date | undefined\n formatStr?: string\n placeholder?: string\n}): ReactNode {\n if (!date) {\n return <span className=\"truncate\">{placeholder}</span>\n }\n\n return <span className=\"truncate\">{format(date, formatStr)}</span>\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport type { DateRange, Matcher } from 'react-day-picker'\nexport { Calendar, CalendarLabel, CalendarRangeLabel }\n"],"names":["Chevron","orientation","className","props","CaretUp","cn","CaretDown","CaretLeft","CaretRight","Dot","Calendar","showOutsideDays","classNames","isInteractive","undefined","DayPicker","ptBR","UI","buttonVariants","SelectionState","DayFlag","CalendarRangeLabel","date","formatStr","placeholder","formattedFromDate","format","formattedToDate","CalendarLabel"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components
|
|
1
|
+
{"version":3,"file":"components/checkbox.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/checkbox.tsx"],"sourcesContent":["\n\nimport { Check } from '@phosphor-icons/react/dist/ssr'\nimport * as CheckboxPrimitive from '@radix-ui/react-checkbox'\nimport { ComponentProps, JSX } from 'react'\n\nimport { cn } from '@/lib/utils'\n\n/* -----------------------------------------------------------------------------\n * Component: Checkbox\n * -------------------------------------------------------------------------- */\n\nfunction Checkbox({\n className,\n size = 'md',\n ...props\n}: ComponentProps<typeof CheckboxPrimitive.Root> & {\n size?: 'md' | 'lg'\n}): JSX.Element {\n return (\n <CheckboxPrimitive.Root\n className={cn(\n 'peer size-4 shrink-0 rounded-sm border border-stroke focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-gbm-sky disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:border-gbm-sky data-[state=checked]:bg-gbm-sky data-[state=checked]:text-white',\n {\n 'size-6': size === 'lg',\n },\n className\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n className={cn('flex items-center justify-center text-current')}\n >\n <Check\n weight=\"bold\"\n className={cn('size-3', {\n 'size-4': size === 'lg',\n })}\n />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { Checkbox }\n"],"names":["Checkbox","className","size","props","CheckboxPrimitive","cn","Check"],"mappings":";kKAYA,SAASA,EAAS,CAChBC,UAAAA,CAAS,CACTC,KAAAA,EAAO,IAAI,CACX,GAAGC,EAGJ,EACC,MACE,UAACC,EAAAA,IAAsB,EACrB,UAAWC,GAAAA,EAAAA,EAAAA,EACT,sRACA,CACE,SAAUH,OAAAA,CACZ,EACAD,GAED,GAAGE,CAAK,C,SAET,UAACC,EAAAA,SAA2B,EAC1B,UAAWC,GAAAA,EAAAA,EAAAA,EAAG,iD,SAEd,UAACC,EAAAA,KAAKA,CAAAA,CACJ,OAAO,OACP,UAAWD,GAAAA,EAAAA,EAAAA,EAAG,SAAU,CACtB,SAAUH,OAAAA,CACZ,E,MAKV,Q"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components
|
|
1
|
+
{"version":3,"file":"components/combobox.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/combobox.tsx"],"sourcesContent":["\n\nimport { CaretDown, Check } from '@phosphor-icons/react'\nimport { useState } from 'react'\n\nimport { cn } from '@/lib/utils'\n\nimport { Button } from './button'\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n} from './command'\nimport { Popover, PopoverContent, PopoverTrigger } from './popover'\nimport { ScrollArea } from './scroll-area'\n\ninterface ComboBoxProps {\n name?: string\n value: string | number | undefined\n language?: 'pt-br' | 'en-us' | 'es'\n valueIcon?: React.ReactNode\n items: { value: string; label: string; icon?: React.ReactNode }[]\n disabled?: boolean\n onValueChange?: (value: string) => void\n}\n\n/* -----------------------------------------------------------------------------\n * Component: Checkbox\n * -------------------------------------------------------------------------- */\n\nconst ComboBox = ({\n items,\n name,\n value,\n valueIcon,\n language = 'pt-br',\n disabled = false,\n onValueChange,\n}: ComboBoxProps) => {\n const [open, setOpen] = useState(false)\n const [search, setSearch] = useState('')\n\n const filteredItems = items?.filter(item =>\n item.label.toLowerCase().includes(search?.toLowerCase())\n )\n\n return (\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger asChild className=\"group\">\n <Button\n variant=\"secondary\"\n // biome-ignore lint/a11y/useSemanticElements: <explanation>\n role=\"combobox\"\n disabled={disabled}\n className={cn(\n 'h-12 w-full justify-between',\n !value && 'text-dark-gray/50'\n )}\n onClick={e => e.stopPropagation()}\n >\n <div className=\"flex flex-row items-center gap-4 truncate\">\n {value && valueIcon && <span>{valueIcon}</span>}\n {value ? (\n <p className=\"font-normal\">\n {items?.find(item => item.value === value)?.label}\n </p>\n ) : (\n <p>\n {language === 'pt-br'\n ? 'Selecione uma opção'\n : language === 'en-us'\n ? 'Select an option'\n : 'Seleccione una opció'}\n </p>\n )}\n </div>\n <CaretDown\n weight=\"bold\"\n className=\"h-4 w-4 text-dark-gray group-data-[state=open]:rotate-180\"\n />\n </Button>\n </PopoverTrigger>\n <PopoverContent\n className=\"w-full min-w-[var(--radix-popover-trigger-width)] p-0\"\n align=\"start\"\n >\n <Command>\n <CommandInput\n name={name}\n value={search}\n onValueChange={setSearch}\n placeholder={\n language === 'pt-br'\n ? 'Digite para buscar...'\n : language === 'en-us'\n ? 'Type to search...'\n : 'Buscar por palabra clave...'\n }\n />\n <ScrollArea className=\"h-[200px] overflow-y-auto\">\n {filteredItems?.length === 0 ? (\n <CommandEmpty>\n {language === 'pt-br'\n ? 'Nenhuma opção encontrada'\n : language === 'en-us'\n ? 'No options found'\n : 'No se encontraron opciones'}\n </CommandEmpty>\n ) : (\n <CommandGroup>\n {filteredItems?.map(item => (\n <CommandItem\n key={item.value}\n value={item.label}\n onSelect={() => {\n if (onValueChange) onValueChange(item.value)\n setOpen(false)\n }}\n >\n <Check\n className={cn(\n 'mr-2 h-4 w-4',\n item.value === value ? 'opacity-100' : 'opacity-0'\n )}\n />\n {!!item.icon && <span className=\"mr-2\">{item.icon}</span>}\n {item.label}\n </CommandItem>\n ))}\n </CommandGroup>\n )}\n </ScrollArea>\n </Command>\n </PopoverContent>\n </Popover>\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { ComboBox }\n"],"names":["ComboBox","items","name","value","valueIcon","language","disabled","onValueChange","open","setOpen","useState","search","setSearch","filteredItems","item","Popover","PopoverTrigger","Button","cn","e","CaretDown","PopoverContent","Command","CommandInput","ScrollArea","CommandEmpty","CommandGroup","CommandItem","Check"],"mappings":";qQAgCA,IAAMA,EAAW,CAAC,CAChBC,MAAAA,CAAK,CACLC,KAAAA,CAAI,CACJC,MAAAA,CAAK,CACLC,UAAAA,CAAS,CACTC,SAAAA,EAAW,OAAO,CAClBC,SAAAA,EAAW,EAAK,CAChBC,cAAAA,CAAa,CACC,IACd,GAAM,CAACC,EAAMC,EAAQ,CAAGC,GAAAA,EAAAA,QAAAA,EAAS,IAC3B,CAACC,EAAQC,EAAU,CAAGF,GAAAA,EAAAA,QAAAA,EAAS,IAE/BG,EAAgBZ,GAAO,OAAOa,GAClCA,EAAK,KAAK,CAAC,WAAW,GAAG,QAAQ,CAACH,GAAQ,gBAG5C,MACE,WAACI,EAAAA,OAAOA,CAAAA,CAAC,KAAMP,EAAM,aAAcC,E,UACjC,UAACO,EAAAA,cAAcA,CAAAA,CAAC,QAAO,GAAC,UAAU,Q,SAChC,WAACC,EAAAA,MAAMA,CAAAA,CACL,QAAQ,YAER,KAAK,WACL,SAAUX,EACV,UAAWY,GAAAA,EAAAA,EAAAA,EACT,8BACA,CAACf,GAAS,qBAEZ,QAASgB,GAAKA,EAAE,eAAe,G,UAE/B,WAAC,OAAI,UAAU,4C,UACZhB,GAASC,GAAa,UAAC,Q,SAAMA,C,GAC7BD,EACC,UAAC,KAAE,UAAU,c,SACVF,GAAO,KAAKa,GAAQA,EAAK,KAAK,GAAKX,IAAQ,K,GAG9C,UAAC,K,SACEE,UAAAA,EACG,4BACAA,UAAAA,EACE,mBACA,yB,MAIZ,UAACe,EAAAA,SAASA,CAAAA,CACR,OAAO,OACP,UAAU,2D,QAIhB,UAACC,EAAAA,cAAcA,CAAAA,CACb,UAAU,wDACV,MAAM,Q,SAEN,WAACC,EAAAA,OAAOA,CAAAA,C,UACN,UAACC,EAAAA,YAAYA,CAAAA,CACX,KAAMrB,EACN,MAAOS,EACP,cAAeC,EACf,YACEP,UAAAA,EACI,wBACAA,UAAAA,EACE,oBACA,6B,GAGV,UAACmB,EAAAA,UAAUA,CAAAA,CAAC,UAAU,4B,SACnBX,GAAe,SAAW,EACzB,UAACY,EAAAA,YAAYA,CAAAA,C,SACVpB,UAAAA,EACG,iCACAA,UAAAA,EACE,mBACA,4B,GAGR,UAACqB,EAAAA,YAAYA,CAAAA,C,SACVb,GAAe,IAAIC,GAClB,WAACa,EAAAA,WAAWA,CAAAA,CAEV,MAAOb,EAAK,KAAK,CACjB,SAAU,KACJP,GAAeA,EAAcO,EAAK,KAAK,EAC3CL,EAAQ,GACV,E,UAEA,UAACmB,EAAAA,KAAKA,CAAAA,CACJ,UAAWV,GAAAA,EAAAA,EAAAA,EACT,eACAJ,EAAK,KAAK,GAAKX,EAAQ,cAAgB,Y,GAG1C,CAAC,CAACW,EAAK,IAAI,EAAI,UAAC,QAAK,UAAU,O,SAAQA,EAAK,IAAI,GAChDA,EAAK,KAAK,C,EAdNA,EAAK,KAAK,E,YAwBnC,S"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components
|
|
1
|
+
{"version":3,"file":"components/command.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/command.tsx"],"sourcesContent":["\n\nimport { MagnifyingGlass } from '@phosphor-icons/react'\nimport type { ComponentProps, JSX } from 'react'\n\nimport { VisuallyHidden } from '@radix-ui/react-visually-hidden'\nimport { Command as CommandPrimitive } from 'cmdk'\n\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogTitle,\n} from '@/components/dialog'\nimport { cn } from '@/lib/utils'\n\n/* -----------------------------------------------------------------------------\n * Component: Command\n * -------------------------------------------------------------------------- */\n\nfunction Command({\n className,\n ...props\n}: ComponentProps<typeof CommandPrimitive>): JSX.Element {\n return (\n <CommandPrimitive\n className={cn(\n 'flex flex-col overflow-hidden rounded-[inherit] bg-white text-gbm-dark outline-hidden',\n className\n )}\n data-slot=\"command\"\n {...props}\n />\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: CommandDialog\n * -------------------------------------------------------------------------- */\n\nfunction CommandDialog({\n children,\n ...props\n}: ComponentProps<typeof Dialog>): JSX.Element {\n return (\n <Dialog data-slot=\"command-dialog\" {...props}>\n <DialogContent\n className=\"rounded-t-lg sm:rounded-lg\"\n data-slot=\"command-dialog-content\"\n >\n <VisuallyHidden>\n <DialogTitle>Search command</DialogTitle>\n <DialogDescription>\n Use the search bar to find and select the desired command.\n </DialogDescription>\n </VisuallyHidden>\n <Command className=\"[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-gray-500 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input]]:h-12\">\n {children}\n </Command>\n </DialogContent>\n </Dialog>\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: CommandInput\n * -------------------------------------------------------------------------- */\n\nfunction CommandInput({\n className,\n ...props\n}: ComponentProps<typeof CommandPrimitive.Input>): JSX.Element {\n return (\n <div\n className=\"relative\"\n cmdk-input-wrapper=\"\"\n data-slot=\"command-input-wrapper\"\n >\n <MagnifyingGlass className=\"-translate-1/2 absolute top-1/2 left-6 size-4 shrink-0 opacity-50\" />\n <CommandPrimitive.Input\n className={cn(\n 'flex h-12 w-full rounded-md border px-3 pl-10 text-base outline-hidden placeholder:text-gray-500 disabled:opacity-50',\n className\n )}\n data-slot=\"command-input\"\n {...props}\n />\n </div>\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: CommandList\n * -------------------------------------------------------------------------- */\n\nfunction CommandList({\n className,\n ...props\n}: ComponentProps<typeof CommandPrimitive.List>): JSX.Element {\n return (\n <CommandPrimitive.List\n className={cn('max-h-75 overflow-y-auto overflow-x-hidden', className)}\n data-slot=\"command-list\"\n {...props}\n />\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: CommandEmpty\n * -------------------------------------------------------------------------- */\n\nfunction CommandEmpty({\n className,\n ...props\n}: ComponentProps<typeof CommandPrimitive.Empty>): JSX.Element {\n return (\n <CommandPrimitive.Empty\n className={cn('py-6 text-center text-sm', className)}\n data-slot=\"command-empty\"\n {...props}\n />\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: CommandGroup\n * -------------------------------------------------------------------------- */\n\nfunction CommandGroup({\n className,\n ...props\n}: ComponentProps<typeof CommandPrimitive.Group>): JSX.Element {\n return (\n <CommandPrimitive.Group\n className={cn(\n 'overflow-hidden p-1 text-gbm-dark [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-gray-500 [&_[cmdk-group-heading]]:text-xs',\n className\n )}\n data-slot=\"command-group\"\n {...props}\n />\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: CommandSeparator\n * -------------------------------------------------------------------------- */\n\nfunction CommandSeparator({\n className,\n ...props\n}: ComponentProps<typeof CommandPrimitive.Separator>): JSX.Element {\n return (\n <CommandPrimitive.Separator\n className={cn('-mx-1 h-px bg-stroke', className)}\n data-slot=\"command-separator\"\n {...props}\n />\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: CommandItem\n * -------------------------------------------------------------------------- */\n\nfunction CommandItem({\n className,\n ...props\n}: ComponentProps<typeof CommandPrimitive.Item>): JSX.Element {\n return (\n <CommandPrimitive.Item\n className={cn(\n \"group/command-item relative flex cursor-default select-none items-center gap-x-2 rounded-sm px-2 py-1.5 text-sm outline-hidden aria-disabled:opacity-50 aria-selected:bg-gray-100 aria-selected:text-gbm-dark [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-gray-500 [&_svg]:shrink-0\",\n className\n )}\n data-slot=\"command-item\"\n {...props}\n />\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: CommandLoading\n * -------------------------------------------------------------------------- */\n\nfunction CommandLoading({\n className,\n ...props\n}: ComponentProps<typeof CommandPrimitive.Loading>): JSX.Element {\n return (\n <CommandPrimitive.Loading\n className={cn('flex justify-center p-2', className)}\n data-slot=\"command-loading\"\n {...props}\n />\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: CommandShortcut\n * -------------------------------------------------------------------------- */\n\nfunction CommandShortcut({\n className,\n ...props\n}: ComponentProps<'span'>): JSX.Element {\n return (\n <span\n className={cn('ml-auto text-gray-500 text-xs tracking-widest', className)}\n data-slot=\"command-shortcut\"\n {...props}\n />\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport {\n Command,\n CommandDialog,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n CommandLoading,\n CommandSeparator,\n CommandShortcut,\n}\n"],"names":["Command","className","props","CommandPrimitive","cn","CommandDialog","children","Dialog","DialogContent","VisuallyHidden","DialogTitle","DialogDescription","CommandInput","MagnifyingGlass","CommandList","CommandEmpty","CommandGroup","CommandSeparator","CommandItem","CommandLoading","CommandShortcut"],"mappings":";qNAoBA,SAASA,EAAQ,CACfC,UAAAA,CAAS,CACT,GAAGC,EACqC,EACxC,MACE,UAACC,EAAAA,OAAgBA,CAAAA,CACf,UAAWC,GAAAA,EAAAA,EAAAA,EACT,wFACAH,GAEF,YAAU,UACT,GAAGC,CAAK,EAGf,CAMA,SAASG,EAAc,CACrBC,SAAAA,CAAQ,CACR,GAAGJ,EAC2B,EAC9B,MACE,UAACK,EAAAA,MAAMA,CAAAA,CAAC,YAAU,iBAAkB,GAAGL,CAAK,C,SAC1C,WAACM,EAAAA,aAAaA,CAAAA,CACZ,UAAU,6BACV,YAAU,yB,UAEV,WAACC,EAAAA,cAAcA,CAAAA,C,UACb,UAACC,EAAAA,WAAWA,CAAAA,C,SAAC,gB,GACb,UAACC,EAAAA,iBAAiBA,CAAAA,C,SAAC,4D,MAIrB,UAACX,EAAAA,CAAQ,UAAU,oL,SAChBM,C,OAKX,CAMA,SAASM,EAAa,CACpBX,UAAAA,CAAS,CACT,GAAGC,EAC2C,EAC9C,MACE,WAAC,OACC,UAAU,WACV,qBAAmB,GACnB,YAAU,wB,UAEV,UAACW,EAAAA,eAAeA,CAAAA,CAAC,UAAU,mE,GAC3B,UAACV,EAAAA,OAAAA,CAAAA,KAAsB,EACrB,UAAWC,GAAAA,EAAAA,EAAAA,EACT,uHACAH,GAEF,YAAU,gBACT,GAAGC,CAAK,KAIjB,CAMA,SAASY,EAAY,CACnBb,UAAAA,CAAS,CACT,GAAGC,EAC0C,EAC7C,MACE,UAACC,EAAAA,OAAAA,CAAAA,IAAqB,EACpB,UAAWC,GAAAA,EAAAA,EAAAA,EAAG,6CAA8CH,GAC5D,YAAU,eACT,GAAGC,CAAK,EAGf,CAMA,SAASa,EAAa,CACpBd,UAAAA,CAAS,CACT,GAAGC,EAC2C,EAC9C,MACE,UAACC,EAAAA,OAAAA,CAAAA,KAAsB,EACrB,UAAWC,GAAAA,EAAAA,EAAAA,EAAG,2BAA4BH,GAC1C,YAAU,gBACT,GAAGC,CAAK,EAGf,CAMA,SAASc,EAAa,CACpBf,UAAAA,CAAS,CACT,GAAGC,EAC2C,EAC9C,MACE,UAACC,EAAAA,OAAAA,CAAAA,KAAsB,EACrB,UAAWC,GAAAA,EAAAA,EAAAA,EACT,+MACAH,GAEF,YAAU,gBACT,GAAGC,CAAK,EAGf,CAMA,SAASe,EAAiB,CACxBhB,UAAAA,CAAS,CACT,GAAGC,EAC+C,EAClD,MACE,UAACC,EAAAA,OAAAA,CAAAA,SAA0B,EACzB,UAAWC,GAAAA,EAAAA,EAAAA,EAAG,uBAAwBH,GACtC,YAAU,oBACT,GAAGC,CAAK,EAGf,CAMA,SAASgB,EAAY,CACnBjB,UAAAA,CAAS,CACT,GAAGC,EAC0C,EAC7C,MACE,UAACC,EAAAA,OAAAA,CAAAA,IAAqB,EACpB,UAAWC,GAAAA,EAAAA,EAAAA,EACT,kTACAH,GAEF,YAAU,eACT,GAAGC,CAAK,EAGf,CAMA,SAASiB,EAAe,CACtBlB,UAAAA,CAAS,CACT,GAAGC,EAC6C,EAChD,MACE,UAACC,EAAAA,OAAAA,CAAAA,OAAwB,EACvB,UAAWC,GAAAA,EAAAA,EAAAA,EAAG,0BAA2BH,GACzC,YAAU,kBACT,GAAGC,CAAK,EAGf,CAMA,SAASkB,EAAgB,CACvBnB,UAAAA,CAAS,CACT,GAAGC,EACoB,EACvB,MACE,UAAC,QACC,UAAWE,GAAAA,EAAAA,EAAAA,EAAG,gDAAiDH,GAC/D,YAAU,mBACT,GAAGC,CAAK,EAGf,Q"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components\\context-menu.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/context-menu.tsx"],"sourcesContent":["import type { ComponentProps, JSX } from 'react'\n\nimport { CaretRight, Check, Dot } from '@phosphor-icons/react'\nimport * as ContextMenuPrimitive from '@radix-ui/react-context-menu'\n\nimport { cn } from '@/lib/utils'\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenu\n * -------------------------------------------------------------------------- */\n\nfunction ContextMenu({\n ...props\n}: ComponentProps<typeof ContextMenuPrimitive.Root>): JSX.Element {\n return <ContextMenuPrimitive.Root data-slot=\"context-menu\" {...props} />\n}\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuTrigger\n * -------------------------------------------------------------------------- */\n\nfunction ContextMenuTrigger({\n ...props\n}: ComponentProps<typeof ContextMenuPrimitive.Trigger>): JSX.Element {\n return (\n <ContextMenuPrimitive.Trigger data-slot=\"context-menu-trigger\" {...props} />\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuGroup\n * -------------------------------------------------------------------------- */\n\nfunction ContextMenuGroup({\n ...props\n}: ComponentProps<typeof ContextMenuPrimitive.Group>): JSX.Element {\n return (\n <ContextMenuPrimitive.Group data-slot=\"context-menu-group\" {...props} />\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuSub\n * -------------------------------------------------------------------------- */\n\nfunction ContextMenuSub({\n ...props\n}: ComponentProps<typeof ContextMenuPrimitive.Sub>): JSX.Element {\n return <ContextMenuPrimitive.Sub data-slot=\"context-menu-sub\" {...props} />\n}\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuRadioGroup\n * -------------------------------------------------------------------------- */\n\nfunction ContextMenuRadioGroup({\n ...props\n}: ComponentProps<typeof ContextMenuPrimitive.RadioGroup>): JSX.Element {\n return (\n <ContextMenuPrimitive.RadioGroup\n data-slot=\"context-menu-radio-group\"\n {...props}\n />\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuSubTrigger\n * -------------------------------------------------------------------------- */\n\nfunction ContextMenuSubTrigger({\n children,\n className,\n inset,\n ...props\n}: ComponentProps<typeof ContextMenuPrimitive.SubTrigger> & {\n inset?: boolean\n}): JSX.Element {\n return (\n <ContextMenuPrimitive.SubTrigger\n className={cn(\n \"flex cursor-default select-none items-center gap-x-2 rounded-sm px-2 py-1.5 text-sm outline-hidden focus:bg-gray-100 focus:text-gbm-dark data-[state=open]:bg-gray-100 data-inset:pl-8 data-[state=open]:text-gbm-dark [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0\",\n className\n )}\n data-inset={inset}\n data-slot=\"context-menu-sub-trigger\"\n {...props}\n >\n {children}\n <CaretRight className=\"ml-auto size-4\" />\n </ContextMenuPrimitive.SubTrigger>\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuSubConent\n * -------------------------------------------------------------------------- */\n\nfunction ContextMenuSubContent({\n className,\n ...props\n}: ComponentProps<typeof ContextMenuPrimitive.SubContent>): JSX.Element {\n return (\n <ContextMenuPrimitive.Portal>\n <ContextMenuPrimitive.SubContent\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 z-50 min-w-32 rounded-lg border bg-white p-1 text-gbm-dark shadow-lg data-[state=closed]:animate-out data-[state=open]:animate-in',\n className\n )}\n data-slot=\"context-menu-sub-content\"\n {...props}\n />\n </ContextMenuPrimitive.Portal>\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuContent\n * -------------------------------------------------------------------------- */\n\nfunction ContextMenuContent({\n className,\n ...props\n}: ComponentProps<typeof ContextMenuPrimitive.Content>): JSX.Element {\n return (\n <ContextMenuPrimitive.Portal>\n <ContextMenuPrimitive.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 z-50 min-w-32 rounded-lg border bg-white p-1 text-gbm-dark shadow-lg data-[state=open]:animate-in',\n className\n )}\n data-slot=\"context-menu-content\"\n {...props}\n />\n </ContextMenuPrimitive.Portal>\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuItem\n * -------------------------------------------------------------------------- */\n\nfunction ContextMenuItem({\n className,\n inset,\n variant,\n ...props\n}: ComponentProps<typeof ContextMenuPrimitive.Item> & {\n inset?: boolean\n variant?: 'default' | 'destructive'\n}): JSX.Element {\n return (\n <ContextMenuPrimitive.Item\n className={cn(\n \"group/context-menu-item relative flex cursor-default select-none items-center gap-x-2 rounded-sm px-2 py-1.5 text-sm outline-hidden focus:bg-gray-100 focus:text-gbm-dark aria-disabled:opacity-50 data-inset:pl-8 data-[variant=destructive]:text-error data-[variant=destructive]:focus:bg-error/10 dark:data-[variant=destructive]:focus:bg-error/20 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-gray-500 data-[variant=destructive]:[&_svg:not([class*='text-'])]:text-error/80 [&_svg]:shrink-0\",\n className\n )}\n data-inset={inset}\n data-slot=\"context-menu-item\"\n data-variant={variant}\n {...props}\n />\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuCheckboxItem\n * -------------------------------------------------------------------------- */\n\nfunction ContextMenuCheckboxItem({\n checked,\n children,\n className,\n ...props\n}: ComponentProps<typeof ContextMenuPrimitive.CheckboxItem>): JSX.Element {\n return (\n <ContextMenuPrimitive.CheckboxItem\n checked={checked}\n className={cn(\n \"group/context-menu-item relative flex cursor-default select-none items-center gap-x-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden focus:bg-gray-100 focus:text-gbm-dark aria-disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0\",\n className\n )}\n data-slot=\"context-menu-checkbox-item\"\n {...props}\n >\n <span className=\"absolute left-2 flex items-center justify-center\">\n <ContextMenuPrimitive.ItemIndicator>\n <Check className=\"size-4\" />\n </ContextMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </ContextMenuPrimitive.CheckboxItem>\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuRadioItem\n * -------------------------------------------------------------------------- */\n\nfunction ContextMenuRadioItem({\n children,\n className,\n ...props\n}: ComponentProps<typeof ContextMenuPrimitive.RadioItem>): JSX.Element {\n return (\n <ContextMenuPrimitive.RadioItem\n className={cn(\n \"group/context-menu-item relative flex cursor-default select-none items-center gap-x-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden focus:bg-gray-100 focus:text-gbm-dark aria-disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0\",\n className\n )}\n data-slot=\"context-menu-radio-item\"\n {...props}\n >\n <span className=\"absolute left-2 flex items-center justify-center\">\n <ContextMenuPrimitive.ItemIndicator>\n <Dot className=\"size-4 fill-current\" />\n </ContextMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </ContextMenuPrimitive.RadioItem>\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuLabel\n * -------------------------------------------------------------------------- */\n\nfunction ContextMenuLabel({\n className,\n inset,\n ...props\n}: ComponentProps<typeof ContextMenuPrimitive.Label> & {\n inset?: boolean\n}): JSX.Element {\n return (\n <ContextMenuPrimitive.Label\n className={cn(\n 'flex items-center gap-x-2 px-2 py-1.5 font-semibold text-sm data-inset:pl-8',\n className\n )}\n data-inset={inset}\n data-slot=\"context-menu-label\"\n {...props}\n />\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuSeparator\n * -------------------------------------------------------------------------- */\n\nfunction ContextMenuSeparator({\n className,\n ...props\n}: ComponentProps<typeof ContextMenuPrimitive.Separator>): JSX.Element {\n return (\n <ContextMenuPrimitive.Separator\n className={cn('mx-2 my-1 h-px bg-stroke', className)}\n data-slot=\"context-menu-separator\"\n {...props}\n />\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuShortcut\n * -------------------------------------------------------------------------- */\n\nfunction ContextMenuShortcut({\n className,\n ...props\n}: ComponentProps<'span'>): JSX.Element {\n return (\n <span\n className={cn(\n 'ml-auto text-gray-500 text-xs tracking-widest group-data-[variant=destructive]/context-menu-item:text-error/80',\n className\n )}\n data-slot=\"context-menu-shortcut\"\n {...props}\n />\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuArrow\n * -------------------------------------------------------------------------- */\n\nfunction ContextMenuArrow({\n className,\n ...props\n}: ComponentProps<typeof ContextMenuPrimitive.Arrow>): JSX.Element {\n return (\n <ContextMenuPrimitive.Arrow\n className={cn('fill-white', className)}\n data-slot=\"context-menu-arrow\"\n {...props}\n />\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport {\n ContextMenu,\n ContextMenuArrow,\n ContextMenuCheckboxItem,\n ContextMenuContent,\n ContextMenuGroup,\n ContextMenuItem,\n ContextMenuLabel,\n ContextMenuRadioGroup,\n ContextMenuRadioItem,\n ContextMenuSeparator,\n ContextMenuShortcut,\n ContextMenuSub,\n ContextMenuSubContent,\n ContextMenuSubTrigger,\n ContextMenuTrigger,\n}\n"],"names":["ContextMenu","props","ContextMenuPrimitive","ContextMenuTrigger","ContextMenuGroup","ContextMenuSub","ContextMenuRadioGroup","ContextMenuSubTrigger","children","className","inset","cn","CaretRight","ContextMenuSubContent","ContextMenuContent","ContextMenuItem","variant","ContextMenuCheckboxItem","checked","Check","ContextMenuRadioItem","Dot","ContextMenuLabel","ContextMenuSeparator","ContextMenuShortcut","ContextMenuArrow"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"components/context-menu.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/context-menu.tsx"],"sourcesContent":["import type { ComponentProps, JSX } from 'react'\n\nimport { CaretRight, Check, Dot } from '@phosphor-icons/react'\nimport * as ContextMenuPrimitive from '@radix-ui/react-context-menu'\n\nimport { cn } from '@/lib/utils'\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenu\n * -------------------------------------------------------------------------- */\n\nfunction ContextMenu({\n ...props\n}: ComponentProps<typeof ContextMenuPrimitive.Root>): JSX.Element {\n return <ContextMenuPrimitive.Root data-slot=\"context-menu\" {...props} />\n}\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuTrigger\n * -------------------------------------------------------------------------- */\n\nfunction ContextMenuTrigger({\n ...props\n}: ComponentProps<typeof ContextMenuPrimitive.Trigger>): JSX.Element {\n return (\n <ContextMenuPrimitive.Trigger data-slot=\"context-menu-trigger\" {...props} />\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuGroup\n * -------------------------------------------------------------------------- */\n\nfunction ContextMenuGroup({\n ...props\n}: ComponentProps<typeof ContextMenuPrimitive.Group>): JSX.Element {\n return (\n <ContextMenuPrimitive.Group data-slot=\"context-menu-group\" {...props} />\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuSub\n * -------------------------------------------------------------------------- */\n\nfunction ContextMenuSub({\n ...props\n}: ComponentProps<typeof ContextMenuPrimitive.Sub>): JSX.Element {\n return <ContextMenuPrimitive.Sub data-slot=\"context-menu-sub\" {...props} />\n}\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuRadioGroup\n * -------------------------------------------------------------------------- */\n\nfunction ContextMenuRadioGroup({\n ...props\n}: ComponentProps<typeof ContextMenuPrimitive.RadioGroup>): JSX.Element {\n return (\n <ContextMenuPrimitive.RadioGroup\n data-slot=\"context-menu-radio-group\"\n {...props}\n />\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuSubTrigger\n * -------------------------------------------------------------------------- */\n\nfunction ContextMenuSubTrigger({\n children,\n className,\n inset,\n ...props\n}: ComponentProps<typeof ContextMenuPrimitive.SubTrigger> & {\n inset?: boolean\n}): JSX.Element {\n return (\n <ContextMenuPrimitive.SubTrigger\n className={cn(\n \"flex cursor-default select-none items-center gap-x-2 rounded-sm px-2 py-1.5 text-sm outline-hidden focus:bg-gray-100 focus:text-gbm-dark data-[state=open]:bg-gray-100 data-inset:pl-8 data-[state=open]:text-gbm-dark [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0\",\n className\n )}\n data-inset={inset}\n data-slot=\"context-menu-sub-trigger\"\n {...props}\n >\n {children}\n <CaretRight className=\"ml-auto size-4\" />\n </ContextMenuPrimitive.SubTrigger>\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuSubConent\n * -------------------------------------------------------------------------- */\n\nfunction ContextMenuSubContent({\n className,\n ...props\n}: ComponentProps<typeof ContextMenuPrimitive.SubContent>): JSX.Element {\n return (\n <ContextMenuPrimitive.Portal>\n <ContextMenuPrimitive.SubContent\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 z-50 min-w-32 rounded-lg border bg-white p-1 text-gbm-dark shadow-lg data-[state=closed]:animate-out data-[state=open]:animate-in',\n className\n )}\n data-slot=\"context-menu-sub-content\"\n {...props}\n />\n </ContextMenuPrimitive.Portal>\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuContent\n * -------------------------------------------------------------------------- */\n\nfunction ContextMenuContent({\n className,\n ...props\n}: ComponentProps<typeof ContextMenuPrimitive.Content>): JSX.Element {\n return (\n <ContextMenuPrimitive.Portal>\n <ContextMenuPrimitive.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 z-50 min-w-32 rounded-lg border bg-white p-1 text-gbm-dark shadow-lg data-[state=open]:animate-in',\n className\n )}\n data-slot=\"context-menu-content\"\n {...props}\n />\n </ContextMenuPrimitive.Portal>\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuItem\n * -------------------------------------------------------------------------- */\n\nfunction ContextMenuItem({\n className,\n inset,\n variant,\n ...props\n}: ComponentProps<typeof ContextMenuPrimitive.Item> & {\n inset?: boolean\n variant?: 'default' | 'destructive'\n}): JSX.Element {\n return (\n <ContextMenuPrimitive.Item\n className={cn(\n \"group/context-menu-item relative flex cursor-default select-none items-center gap-x-2 rounded-sm px-2 py-1.5 text-sm outline-hidden focus:bg-gray-100 focus:text-gbm-dark aria-disabled:opacity-50 data-inset:pl-8 data-[variant=destructive]:text-error data-[variant=destructive]:focus:bg-error/10 dark:data-[variant=destructive]:focus:bg-error/20 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-gray-500 data-[variant=destructive]:[&_svg:not([class*='text-'])]:text-error/80 [&_svg]:shrink-0\",\n className\n )}\n data-inset={inset}\n data-slot=\"context-menu-item\"\n data-variant={variant}\n {...props}\n />\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuCheckboxItem\n * -------------------------------------------------------------------------- */\n\nfunction ContextMenuCheckboxItem({\n checked,\n children,\n className,\n ...props\n}: ComponentProps<typeof ContextMenuPrimitive.CheckboxItem>): JSX.Element {\n return (\n <ContextMenuPrimitive.CheckboxItem\n checked={checked}\n className={cn(\n \"group/context-menu-item relative flex cursor-default select-none items-center gap-x-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden focus:bg-gray-100 focus:text-gbm-dark aria-disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0\",\n className\n )}\n data-slot=\"context-menu-checkbox-item\"\n {...props}\n >\n <span className=\"absolute left-2 flex items-center justify-center\">\n <ContextMenuPrimitive.ItemIndicator>\n <Check className=\"size-4\" />\n </ContextMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </ContextMenuPrimitive.CheckboxItem>\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuRadioItem\n * -------------------------------------------------------------------------- */\n\nfunction ContextMenuRadioItem({\n children,\n className,\n ...props\n}: ComponentProps<typeof ContextMenuPrimitive.RadioItem>): JSX.Element {\n return (\n <ContextMenuPrimitive.RadioItem\n className={cn(\n \"group/context-menu-item relative flex cursor-default select-none items-center gap-x-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden focus:bg-gray-100 focus:text-gbm-dark aria-disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0\",\n className\n )}\n data-slot=\"context-menu-radio-item\"\n {...props}\n >\n <span className=\"absolute left-2 flex items-center justify-center\">\n <ContextMenuPrimitive.ItemIndicator>\n <Dot className=\"size-4 fill-current\" />\n </ContextMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </ContextMenuPrimitive.RadioItem>\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuLabel\n * -------------------------------------------------------------------------- */\n\nfunction ContextMenuLabel({\n className,\n inset,\n ...props\n}: ComponentProps<typeof ContextMenuPrimitive.Label> & {\n inset?: boolean\n}): JSX.Element {\n return (\n <ContextMenuPrimitive.Label\n className={cn(\n 'flex items-center gap-x-2 px-2 py-1.5 font-semibold text-sm data-inset:pl-8',\n className\n )}\n data-inset={inset}\n data-slot=\"context-menu-label\"\n {...props}\n />\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuSeparator\n * -------------------------------------------------------------------------- */\n\nfunction ContextMenuSeparator({\n className,\n ...props\n}: ComponentProps<typeof ContextMenuPrimitive.Separator>): JSX.Element {\n return (\n <ContextMenuPrimitive.Separator\n className={cn('mx-2 my-1 h-px bg-stroke', className)}\n data-slot=\"context-menu-separator\"\n {...props}\n />\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuShortcut\n * -------------------------------------------------------------------------- */\n\nfunction ContextMenuShortcut({\n className,\n ...props\n}: ComponentProps<'span'>): JSX.Element {\n return (\n <span\n className={cn(\n 'ml-auto text-gray-500 text-xs tracking-widest group-data-[variant=destructive]/context-menu-item:text-error/80',\n className\n )}\n data-slot=\"context-menu-shortcut\"\n {...props}\n />\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuArrow\n * -------------------------------------------------------------------------- */\n\nfunction ContextMenuArrow({\n className,\n ...props\n}: ComponentProps<typeof ContextMenuPrimitive.Arrow>): JSX.Element {\n return (\n <ContextMenuPrimitive.Arrow\n className={cn('fill-white', className)}\n data-slot=\"context-menu-arrow\"\n {...props}\n />\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport {\n ContextMenu,\n ContextMenuArrow,\n ContextMenuCheckboxItem,\n ContextMenuContent,\n ContextMenuGroup,\n ContextMenuItem,\n ContextMenuLabel,\n ContextMenuRadioGroup,\n ContextMenuRadioItem,\n ContextMenuSeparator,\n ContextMenuShortcut,\n ContextMenuSub,\n ContextMenuSubContent,\n ContextMenuSubTrigger,\n ContextMenuTrigger,\n}\n"],"names":["ContextMenu","props","ContextMenuPrimitive","ContextMenuTrigger","ContextMenuGroup","ContextMenuSub","ContextMenuRadioGroup","ContextMenuSubTrigger","children","className","inset","cn","CaretRight","ContextMenuSubContent","ContextMenuContent","ContextMenuItem","variant","ContextMenuCheckboxItem","checked","Check","ContextMenuRadioItem","Dot","ContextMenuLabel","ContextMenuSeparator","ContextMenuShortcut","ContextMenuArrow"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components
|
|
1
|
+
{"version":3,"file":"components/data-table/data-table-action-bar.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/data-table/data-table-action-bar.tsx"],"sourcesContent":["\n\nimport { Button } from '@/components/button'\nimport { Separator } from '@/components/separator'\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/components/tooltip'\nimport { cn } from '@/lib/utils'\nimport { X } from '@phosphor-icons/react'\nimport type { Table } from '@tanstack/react-table'\nimport { AnimatePresence, motion } from 'motion/react'\nimport * as React from 'react'\nimport * as ReactDOM from 'react-dom'\nimport { Spinner } from '../spinner'\n\ninterface DataTableActionBarProps<TData>\n extends React.ComponentProps<typeof motion.div> {\n table: Table<TData>\n visible?: boolean\n container?: Element | DocumentFragment | null\n}\n\nfunction DataTableActionBar<TData>({\n table,\n visible: visibleProp,\n container: containerProp,\n children,\n className,\n ...props\n}: DataTableActionBarProps<TData>) {\n const [mounted, setMounted] = React.useState(false)\n\n React.useLayoutEffect(() => {\n setMounted(true)\n }, [])\n\n React.useEffect(() => {\n function onKeyDown(event: KeyboardEvent) {\n if (event.key === 'Escape') {\n table.toggleAllRowsSelected(false)\n }\n }\n\n window.addEventListener('keydown', onKeyDown)\n return () => window.removeEventListener('keydown', onKeyDown)\n }, [table])\n\n const container =\n containerProp ?? (mounted ? globalThis.document?.body : null)\n\n if (!container) return null\n\n const visible =\n visibleProp ?? table.getFilteredSelectedRowModel().rows.length > 0\n\n return ReactDOM.createPortal(\n <AnimatePresence>\n {visible && (\n <motion.div\n role=\"toolbar\"\n aria-orientation=\"horizontal\"\n initial={{ opacity: 0, y: 20 }}\n animate={{ opacity: 1, y: 0 }}\n exit={{ opacity: 0, y: 20 }}\n transition={{ duration: 0.2, ease: 'easeInOut' }}\n className={cn(\n 'fixed inset-x-0 bottom-6 z-50 mx-auto flex w-fit flex-wrap items-center justify-center gap-2 rounded-md border bg-background p-2 text-gbm-dark shadow-sm',\n className\n )}\n {...props}\n >\n {children}\n </motion.div>\n )}\n </AnimatePresence>,\n container\n )\n}\n\ninterface DataTableActionBarActionProps\n extends React.ComponentProps<typeof Button> {\n tooltip?: string\n isPending?: boolean\n}\n\nfunction DataTableActionBarAction({\n size = 'sm',\n tooltip,\n isPending,\n disabled,\n className,\n children,\n ...props\n}: DataTableActionBarActionProps) {\n const trigger = (\n <Button\n variant=\"secondary\"\n size={size}\n className={cn(\n 'gap-1.5 [&>svg]:size-3.5',\n size === 'icon' ? 'size-8' : 'h-8',\n className\n )}\n disabled={disabled || isPending}\n {...props}\n >\n {isPending ? <Spinner /> : children}\n </Button>\n )\n\n if (!tooltip) return trigger\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{trigger}</TooltipTrigger>\n <TooltipContent sideOffset={6} className=\"[&>span]:hidden\">\n <p>{tooltip}</p>\n </TooltipContent>\n </Tooltip>\n )\n}\n\ninterface DataTableActionBarSelectionProps<TData> {\n table: Table<TData>\n}\n\nfunction DataTableActionBarSelection<TData>({\n table,\n}: DataTableActionBarSelectionProps<TData>) {\n const onClearSelection = React.useCallback(() => {\n table.toggleAllRowsSelected(false)\n }, [table])\n\n return (\n <div className=\"flex h-8 items-center rounded-md border pr-1 pl-2.5\">\n <span className=\"whitespace-nowrap text-xs\">\n {table.getFilteredSelectedRowModel().rows.length}{' '}\n {table.getFilteredSelectedRowModel().rows.length === 1\n ? 'selecionado'\n : 'selecionados'}\n </span>\n <Separator\n orientation=\"vertical\"\n className=\"mr-1 ml-2 data-[orientation=vertical]:h-4\"\n />\n <Tooltip>\n <TooltipTrigger asChild>\n <Button\n variant=\"ghost\"\n size=\"icon\"\n className=\"size-5\"\n onClick={onClearSelection}\n >\n <X className=\"size-4\" />\n </Button>\n </TooltipTrigger>\n <TooltipContent\n sideOffset={10}\n className=\"flex items-center gap-2 border bg-gray-50 px-2 py-1 font-semibold text-gbm-dark [&>span]:hidden\"\n >\n <p>Limpar seleção</p>\n <kbd className=\"select-none rounded border bg-background px-1.5 py-px font-mono font-normal text-[0.7rem] text-gbm-dark shadow-xs\">\n <abbr title=\"Escape\" className=\"no-underline\">\n Esc\n </abbr>\n </kbd>\n </TooltipContent>\n </Tooltip>\n </div>\n )\n}\n\nexport {\n DataTableActionBar,\n DataTableActionBarAction,\n DataTableActionBarSelection,\n}\n"],"names":["DataTableActionBar","table","visibleProp","containerProp","children","className","props","mounted","setMounted","React","onKeyDown","event","window","container","globalThis","visible","ReactDOM","AnimatePresence","motion","cn","DataTableActionBarAction","size","tooltip","isPending","disabled","trigger","Button","Spinner","Tooltip","TooltipTrigger","TooltipContent","DataTableActionBarSelection","onClearSelection","Separator","X"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components
|
|
1
|
+
{"version":3,"file":"components/data-table/data-table-advanced-toolbar.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/data-table/data-table-advanced-toolbar.tsx"],"sourcesContent":["\n\nimport type { Table } from '@tanstack/react-table'\nimport type * as React from 'react'\n\nimport { DataTableViewOptions } from '@/components/data-table/data-table-view-options'\nimport { cn } from '@/lib/utils'\n\ninterface DataTableAdvancedToolbarProps<TData>\n extends React.ComponentProps<'div'> {\n table: Table<TData>\n}\n\nexport function DataTableAdvancedToolbar<TData>({\n table,\n children,\n className,\n ...props\n}: DataTableAdvancedToolbarProps<TData>) {\n return (\n <div\n role=\"toolbar\"\n aria-orientation=\"horizontal\"\n className={cn(\n 'flex w-full items-start justify-between gap-2 p-1',\n className\n )}\n {...props}\n >\n <div className=\"flex flex-1 flex-wrap items-center gap-2\">{children}</div>\n <div className=\"flex items-center gap-2\">\n <DataTableViewOptions table={table} />\n </div>\n </div>\n )\n}\n"],"names":["DataTableAdvancedToolbar","table","children","className","props","cn","DataTableViewOptions"],"mappings":";wHAaO,SAASA,EAAgC,CAC9CC,MAAAA,CAAK,CACLC,SAAAA,CAAQ,CACRC,UAAAA,CAAS,CACT,GAAGC,EACkC,EACrC,MACE,WAAC,OACC,KAAK,UACL,mBAAiB,aACjB,UAAWC,GAAAA,EAAAA,EAAAA,EACT,oDACAF,GAED,GAAGC,CAAK,C,UAET,UAAC,OAAI,UAAU,2C,SAA4CF,C,GAC3D,UAAC,OAAI,UAAU,0B,SACb,UAACI,EAAAA,oBAAoBA,CAAAA,CAAC,MAAOL,C,OAIrC,Q"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components
|
|
1
|
+
{"version":3,"file":"components/data-table/data-table-column-header.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/data-table/data-table-column-header.tsx"],"sourcesContent":["\n\nimport {\n CaretDown,\n CaretUp,\n CaretUpDown,\n EyeSlash,\n X,\n} from '@phosphor-icons/react'\nimport type { Column } from '@tanstack/react-table'\n\nimport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n} from '@/components/dropdown-menu'\nimport { cn } from '@/lib/utils'\n\ninterface DataTableColumnHeaderProps<TData, TValue>\n extends React.ComponentProps<typeof DropdownMenuTrigger> {\n column: Column<TData, TValue>\n title: string\n}\n\nexport function DataTableColumnHeader<TData, TValue>({\n column,\n title,\n className,\n ...props\n}: DataTableColumnHeaderProps<TData, TValue>) {\n if (!column.getCanSort() && !column.getCanHide()) {\n return <div className={cn(className)}>{title}</div>\n }\n\n return (\n <DropdownMenu>\n <DropdownMenuTrigger\n className={cn(\n '-ml-1.5 flex h-8 items-center gap-1.5 rounded-md px-2 py-1.5 hover:bg-gray-50 focus:outline-none focus:ring-1 focus:ring-stroke data-[state=open]:bg-gray-50 [&_svg]:size-4 [&_svg]:shrink-0 [&_svg]:text-gbm-dark',\n className\n )}\n {...props}\n >\n {title}\n {column.getCanSort() &&\n (column.getIsSorted() === 'desc' ? (\n <CaretDown weight=\"bold\" />\n ) : column.getIsSorted() === 'asc' ? (\n <CaretUp weight=\"bold\" />\n ) : (\n <CaretUpDown weight=\"bold\" />\n ))}\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"start\" className=\"w-28\">\n {column.getCanSort() && (\n <>\n <DropdownMenuCheckboxItem\n className=\"relative gap-2 pr-8 pl-2 [&>span:first-child]:right-2 [&>span:first-child]:left-auto [&_svg]:text-gray-500\"\n checked={column.getIsSorted() === 'asc'}\n onClick={() => column.toggleSorting(false)}\n >\n <CaretUp className=\"size-4\" />\n Asc\n </DropdownMenuCheckboxItem>\n <DropdownMenuCheckboxItem\n className=\"relative gap-2 pr-8 pl-2 [&>span:first-child]:right-2 [&>span:first-child]:left-auto [&_svg]:text-gray-500\"\n checked={column.getIsSorted() === 'desc'}\n onClick={() => column.toggleSorting(true)}\n >\n <CaretDown className=\"size-4\" />\n Desc\n </DropdownMenuCheckboxItem>\n {column.getIsSorted() && (\n <DropdownMenuItem\n className=\"gap-2 pl-2 [&_svg]:text-gray-500\"\n onClick={() => column.clearSorting()}\n >\n <X className=\"size-4\" />\n Resetar\n </DropdownMenuItem>\n )}\n </>\n )}\n {column.getCanHide() && (\n <DropdownMenuCheckboxItem\n className=\"relative gap-2 pr-8 pl-2 [&>span:first-child]:right-2 [&>span:first-child]:left-auto [&_svg]:text-muted-foreground\"\n checked={!column.getIsVisible()}\n onClick={() => column.toggleVisibility(false)}\n >\n <EyeSlash className=\"size-4\" />\n Ocultar\n </DropdownMenuCheckboxItem>\n )}\n </DropdownMenuContent>\n </DropdownMenu>\n )\n}\n"],"names":["DataTableColumnHeader","column","title","className","props","DropdownMenu","DropdownMenuTrigger","cn","CaretDown","CaretUp","CaretUpDown","DropdownMenuContent","DropdownMenuCheckboxItem","DropdownMenuItem","X","EyeSlash"],"mappings":";uJA0BO,SAASA,EAAqC,CACnDC,OAAAA,CAAM,CACNC,MAAAA,CAAK,CACLC,UAAAA,CAAS,CACT,GAAGC,EACuC,SAC1C,EAAY,UAAU,IAAOH,EAAO,UAAU,GAK5C,WAACI,EAAAA,YAAYA,CAAAA,C,UACX,WAACC,EAAAA,mBAAmBA,CAAAA,CAClB,UAAWC,GAAAA,EAAAA,EAAAA,EACT,qNACAJ,GAED,GAAGC,CAAK,C,UAERF,EACAD,EAAO,UAAU,IACfA,CAAAA,SAAAA,EAAO,WAAW,GACjB,UAACO,EAAAA,SAASA,CAAAA,CAAC,OAAO,M,GAChBP,QAAAA,EAAO,WAAW,GACpB,UAACQ,EAAAA,OAAOA,CAAAA,CAAC,OAAO,M,GAEhB,UAACC,EAAAA,WAAWA,CAAAA,CAAC,OAAO,M,OAG1B,WAACC,EAAAA,mBAAmBA,CAAAA,CAAC,MAAM,QAAQ,UAAU,O,UAC1CV,EAAO,UAAU,IAChB,uB,UACE,WAACW,EAAAA,wBAAwBA,CAAAA,CACvB,UAAU,6GACV,QAASX,QAAAA,EAAO,WAAW,GAC3B,QAAS,IAAMA,EAAO,aAAa,CAAC,I,UAEpC,UAACQ,EAAAA,OAAOA,CAAAA,CAAC,UAAU,Q,GAAW,M,GAGhC,WAACG,EAAAA,wBAAwBA,CAAAA,CACvB,UAAU,6GACV,QAASX,SAAAA,EAAO,WAAW,GAC3B,QAAS,IAAMA,EAAO,aAAa,CAAC,I,UAEpC,UAACO,EAAAA,SAASA,CAAAA,CAAC,UAAU,Q,GAAW,O,GAGjCP,EAAO,WAAW,IACjB,WAACY,EAAAA,gBAAgBA,CAAAA,CACf,UAAU,mCACV,QAAS,IAAMZ,EAAO,YAAY,G,UAElC,UAACa,EAAAA,CAACA,CAAAA,CAAC,UAAU,Q,GAAW,U,MAM/Bb,EAAO,UAAU,IAChB,WAACW,EAAAA,wBAAwBA,CAAAA,CACvB,UAAU,qHACV,QAAS,CAACX,EAAO,YAAY,GAC7B,QAAS,IAAMA,EAAO,gBAAgB,CAAC,I,UAEvC,UAACc,EAAAA,QAAQA,CAAAA,CAAC,UAAU,Q,GAAW,U,SA1DhC,UAAC,OAAI,UAAWR,GAAAA,EAAAA,EAAAA,EAAGJ,G,SAAaD,C,EAiE3C,Q"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components\\data-table\\data-table-date-filter.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/data-table/data-table-date-filter.tsx"],"sourcesContent":["\r\n\r\nimport { CalendarBlank, XCircle } from '@phosphor-icons/react'\r\nimport type { Column } from '@tanstack/react-table'\r\nimport * as React from 'react'\r\nimport type { DateRange } from 'react-day-picker'\r\n\r\nimport { Button } from '@/components/button'\r\nimport { Calendar } from '@/components/calendar'\r\nimport { Popover, PopoverContent, PopoverTrigger } from '@/components/popover'\r\nimport { Separator } from '@/components/separator'\r\nimport { formatDate } from '@/lib/format'\r\n\r\ntype DateSelection = Date[] | DateRange\r\n\r\nfunction getIsDateRange(value: DateSelection): value is DateRange {\r\n return value && typeof value === 'object' && !Array.isArray(value)\r\n}\r\n\r\nfunction parseAsDate(timestamp: number | string | undefined): Date | undefined {\r\n if (!timestamp) return undefined\r\n const numericTimestamp =\r\n typeof timestamp === 'string' ? Number(timestamp) : timestamp\r\n const date = new Date(numericTimestamp)\r\n return !Number.isNaN(date.getTime()) ? date : undefined\r\n}\r\n\r\nfunction parseColumnFilterValue(value: unknown) {\r\n if (value === null || value === undefined) {\r\n return []\r\n }\r\n\r\n if (Array.isArray(value)) {\r\n return value.map(item => {\r\n if (typeof item === 'number' || typeof item === 'string') {\r\n return item\r\n }\r\n return undefined\r\n })\r\n }\r\n\r\n if (typeof value === 'string' || typeof value === 'number') {\r\n return [value]\r\n }\r\n\r\n return []\r\n}\r\n\r\ninterface DataTableDateFilterProps<TData> {\r\n column: Column<TData, unknown>\r\n title?: string\r\n multiple?: boolean\r\n}\r\n\r\nexport function DataTableDateFilter<TData>({\r\n column,\r\n title,\r\n multiple,\r\n}: DataTableDateFilterProps<TData>) {\r\n const columnFilterValue = column.getFilterValue()\r\n\r\n const selectedDates = React.useMemo<DateSelection>(() => {\r\n if (!columnFilterValue) {\r\n return multiple ? { from: undefined, to: undefined } : []\r\n }\r\n\r\n if (multiple) {\r\n const timestamps = parseColumnFilterValue(columnFilterValue)\r\n return {\r\n from: parseAsDate(timestamps[0]),\r\n to: parseAsDate(timestamps[1]),\r\n }\r\n }\r\n\r\n const timestamps = parseColumnFilterValue(columnFilterValue)\r\n const date = parseAsDate(timestamps[0])\r\n return date ? [date] : []\r\n }, [columnFilterValue, multiple])\r\n\r\n const onSelect = React.useCallback(\r\n (date: Date | DateRange | undefined) => {\r\n if (!date) {\r\n column.setFilterValue(undefined)\r\n return\r\n }\r\n\r\n if (multiple && !('getTime' in date)) {\r\n const from = date.from?.getTime()\r\n const to = date.to?.getTime()\r\n column.setFilterValue(from || to ? [from, to] : undefined)\r\n } else if (!multiple && 'getTime' in date) {\r\n column.setFilterValue(date.getTime())\r\n }\r\n },\r\n [column, multiple]\r\n )\r\n\r\n const onReset = React.useCallback(\r\n (event: React.MouseEvent) => {\r\n event.stopPropagation()\r\n column.setFilterValue(undefined)\r\n },\r\n [column]\r\n )\r\n\r\n const hasValue = React.useMemo(() => {\r\n if (multiple) {\r\n if (!getIsDateRange(selectedDates)) return false\r\n return selectedDates.from || selectedDates.to\r\n }\r\n if (!Array.isArray(selectedDates)) return false\r\n return selectedDates.length > 0\r\n }, [multiple, selectedDates])\r\n\r\n const formatDateRange = React.useCallback((range: DateRange) => {\r\n if (!range.from && !range.to) return ''\r\n if (range.from && range.to) {\r\n return `${formatDate(range.from)} - ${formatDate(range.to)}`\r\n }\r\n return formatDate(range.from ?? range.to)\r\n }, [])\r\n\r\n const label = React.useMemo(() => {\r\n if (multiple) {\r\n if (!getIsDateRange(selectedDates)) return null\r\n\r\n const hasSelectedDates = selectedDates.from || selectedDates.to\r\n const dateText = hasSelectedDates\r\n ? formatDateRange(selectedDates)\r\n : 'Select date range'\r\n\r\n return (\r\n <span className=\"flex items-center gap-2\">\r\n <span>{title}</span>\r\n {hasSelectedDates && (\r\n <>\r\n <Separator\r\n orientation=\"vertical\"\r\n className=\"mx-0.5 data-[orientation=vertical]:h-4\"\r\n />\r\n <span>{dateText}</span>\r\n </>\r\n )}\r\n </span>\r\n )\r\n }\r\n\r\n if (getIsDateRange(selectedDates)) return null\r\n\r\n const hasSelectedDate = selectedDates.length > 0\r\n const dateText = hasSelectedDate\r\n ? formatDate(selectedDates[0])\r\n : 'Select date'\r\n\r\n return (\r\n <span className=\"flex items-center gap-2\">\r\n <span>{title}</span>\r\n {hasSelectedDate && (\r\n <>\r\n <Separator\r\n orientation=\"vertical\"\r\n className=\"mx-0.5 data-[orientation=vertical]:h-4\"\r\n />\r\n <span>{dateText}</span>\r\n </>\r\n )}\r\n </span>\r\n )\r\n }, [selectedDates, multiple, formatDateRange, title])\r\n\r\n return (\r\n <Popover>\r\n <PopoverTrigger asChild>\r\n <Button variant=\"secondary\" size=\"sm\">\r\n {hasValue ? (\r\n <div\r\n role=\"button\"\r\n aria-label={`Clear ${title} filter`}\r\n tabIndex={0}\r\n onClick={onReset}\r\n className=\"rounded-sm opacity-70 transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring\"\r\n >\r\n <XCircle />\r\n </div>\r\n ) : (\r\n <CalendarBlank />\r\n )}\r\n {label}\r\n </Button>\r\n </PopoverTrigger>\r\n <PopoverContent className=\"w-auto p-0\" align=\"start\">\r\n {multiple ? (\r\n <Calendar\r\n initialFocus\r\n mode=\"range\"\r\n selected={\r\n getIsDateRange(selectedDates)\r\n ? selectedDates\r\n : { from: undefined, to: undefined }\r\n }\r\n onSelect={onSelect}\r\n />\r\n ) : (\r\n <Calendar\r\n initialFocus\r\n mode=\"single\"\r\n selected={\r\n !getIsDateRange(selectedDates) ? selectedDates[0] : undefined\r\n }\r\n onSelect={onSelect}\r\n />\r\n )}\r\n </PopoverContent>\r\n </Popover>\r\n )\r\n}\r\n"],"names":["getIsDateRange","value","Array","parseAsDate","timestamp","date","Date","Number","undefined","parseColumnFilterValue","item","DataTableDateFilter","column","title","multiple","columnFilterValue","selectedDates","React","timestamps","onSelect","from","to","onReset","event","hasValue","formatDateRange","range","formatDate","label","hasSelectedDates","dateText","Separator","hasSelectedDate","Popover","PopoverTrigger","Button","XCircle","CalendarBlank","PopoverContent","Calendar"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"components/data-table/data-table-date-filter.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/data-table/data-table-date-filter.tsx"],"sourcesContent":["\n\nimport { CalendarBlank, XCircle } from '@phosphor-icons/react'\nimport type { Column } from '@tanstack/react-table'\nimport * as React from 'react'\nimport type { DateRange } from 'react-day-picker'\n\nimport { Button } from '@/components/button'\nimport { Calendar } from '@/components/calendar'\nimport { Popover, PopoverContent, PopoverTrigger } from '@/components/popover'\nimport { Separator } from '@/components/separator'\nimport { formatDate } from '@/lib/format'\n\ntype DateSelection = Date[] | DateRange\n\nfunction getIsDateRange(value: DateSelection): value is DateRange {\n return value && typeof value === 'object' && !Array.isArray(value)\n}\n\nfunction parseAsDate(timestamp: number | string | undefined): Date | undefined {\n if (!timestamp) return undefined\n const numericTimestamp =\n typeof timestamp === 'string' ? Number(timestamp) : timestamp\n const date = new Date(numericTimestamp)\n return !Number.isNaN(date.getTime()) ? date : undefined\n}\n\nfunction parseColumnFilterValue(value: unknown) {\n if (value === null || value === undefined) {\n return []\n }\n\n if (Array.isArray(value)) {\n return value.map(item => {\n if (typeof item === 'number' || typeof item === 'string') {\n return item\n }\n return undefined\n })\n }\n\n if (typeof value === 'string' || typeof value === 'number') {\n return [value]\n }\n\n return []\n}\n\ninterface DataTableDateFilterProps<TData> {\n column: Column<TData, unknown>\n title?: string\n multiple?: boolean\n}\n\nexport function DataTableDateFilter<TData>({\n column,\n title,\n multiple,\n}: DataTableDateFilterProps<TData>) {\n const columnFilterValue = column.getFilterValue()\n\n const selectedDates = React.useMemo<DateSelection>(() => {\n if (!columnFilterValue) {\n return multiple ? { from: undefined, to: undefined } : []\n }\n\n if (multiple) {\n const timestamps = parseColumnFilterValue(columnFilterValue)\n return {\n from: parseAsDate(timestamps[0]),\n to: parseAsDate(timestamps[1]),\n }\n }\n\n const timestamps = parseColumnFilterValue(columnFilterValue)\n const date = parseAsDate(timestamps[0])\n return date ? [date] : []\n }, [columnFilterValue, multiple])\n\n const onSelect = React.useCallback(\n (date: Date | DateRange | undefined) => {\n if (!date) {\n column.setFilterValue(undefined)\n return\n }\n\n if (multiple && !('getTime' in date)) {\n const from = date.from?.getTime()\n const to = date.to?.getTime()\n column.setFilterValue(from || to ? [from, to] : undefined)\n } else if (!multiple && 'getTime' in date) {\n column.setFilterValue(date.getTime())\n }\n },\n [column, multiple]\n )\n\n const onReset = React.useCallback(\n (event: React.MouseEvent) => {\n event.stopPropagation()\n column.setFilterValue(undefined)\n },\n [column]\n )\n\n const hasValue = React.useMemo(() => {\n if (multiple) {\n if (!getIsDateRange(selectedDates)) return false\n return selectedDates.from || selectedDates.to\n }\n if (!Array.isArray(selectedDates)) return false\n return selectedDates.length > 0\n }, [multiple, selectedDates])\n\n const formatDateRange = React.useCallback((range: DateRange) => {\n if (!range.from && !range.to) return ''\n if (range.from && range.to) {\n return `${formatDate(range.from)} - ${formatDate(range.to)}`\n }\n return formatDate(range.from ?? range.to)\n }, [])\n\n const label = React.useMemo(() => {\n if (multiple) {\n if (!getIsDateRange(selectedDates)) return null\n\n const hasSelectedDates = selectedDates.from || selectedDates.to\n const dateText = hasSelectedDates\n ? formatDateRange(selectedDates)\n : 'Select date range'\n\n return (\n <span className=\"flex items-center gap-2\">\n <span>{title}</span>\n {hasSelectedDates && (\n <>\n <Separator\n orientation=\"vertical\"\n className=\"mx-0.5 data-[orientation=vertical]:h-4\"\n />\n <span>{dateText}</span>\n </>\n )}\n </span>\n )\n }\n\n if (getIsDateRange(selectedDates)) return null\n\n const hasSelectedDate = selectedDates.length > 0\n const dateText = hasSelectedDate\n ? formatDate(selectedDates[0])\n : 'Select date'\n\n return (\n <span className=\"flex items-center gap-2\">\n <span>{title}</span>\n {hasSelectedDate && (\n <>\n <Separator\n orientation=\"vertical\"\n className=\"mx-0.5 data-[orientation=vertical]:h-4\"\n />\n <span>{dateText}</span>\n </>\n )}\n </span>\n )\n }, [selectedDates, multiple, formatDateRange, title])\n\n return (\n <Popover>\n <PopoverTrigger asChild>\n <Button variant=\"secondary\" size=\"sm\">\n {hasValue ? (\n <div\n role=\"button\"\n aria-label={`Clear ${title} filter`}\n tabIndex={0}\n onClick={onReset}\n className=\"rounded-sm opacity-70 transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring\"\n >\n <XCircle />\n </div>\n ) : (\n <CalendarBlank />\n )}\n {label}\n </Button>\n </PopoverTrigger>\n <PopoverContent className=\"w-auto p-0\" align=\"start\">\n {multiple ? (\n <Calendar\n initialFocus\n mode=\"range\"\n selected={\n getIsDateRange(selectedDates)\n ? selectedDates\n : { from: undefined, to: undefined }\n }\n onSelect={onSelect}\n />\n ) : (\n <Calendar\n initialFocus\n mode=\"single\"\n selected={\n !getIsDateRange(selectedDates) ? selectedDates[0] : undefined\n }\n onSelect={onSelect}\n />\n )}\n </PopoverContent>\n </Popover>\n )\n}\n"],"names":["getIsDateRange","value","Array","parseAsDate","timestamp","date","Date","Number","undefined","parseColumnFilterValue","item","DataTableDateFilter","column","title","multiple","columnFilterValue","selectedDates","React","timestamps","onSelect","from","to","onReset","event","hasValue","formatDateRange","range","formatDate","label","hasSelectedDates","dateText","Separator","hasSelectedDate","Popover","PopoverTrigger","Button","XCircle","CalendarBlank","PopoverContent","Calendar"],"mappings":"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"}
|