@douglasneuroinformatics/libui 2.10.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +32 -10
- package/dist/chunk-6MDNYDO3.js +337 -0
- package/dist/chunk-6MDNYDO3.js.map +1 -0
- package/dist/chunk-A6FWMB7V.js +191 -0
- package/dist/chunk-A6FWMB7V.js.map +1 -0
- package/dist/chunk-IX6RFIQL.js +15 -0
- package/dist/chunk-IX6RFIQL.js.map +1 -0
- package/dist/components.d.ts +1464 -51
- package/dist/components.js +4340 -50
- package/dist/components.js.map +1 -0
- package/dist/douglasneuroinformatics-libui-3.0.0.tgz +0 -0
- package/dist/hooks.d.ts +129 -12
- package/dist/hooks.js +39 -11
- package/dist/hooks.js.map +1 -0
- package/dist/i18n.d.ts +19 -345
- package/dist/i18n.js +8 -53
- package/dist/i18n.js.map +1 -0
- package/dist/tailwind/config.cjs +159 -0
- package/dist/tailwind/config.cjs.map +1 -0
- package/dist/tailwind/config.d.cts +12 -0
- package/dist/types-CjAJvRys.d.ts +200 -0
- package/dist/utils.d.ts +6 -4
- package/dist/utils.js +9 -8
- package/dist/utils.js.map +1 -0
- package/package.json +72 -71
- package/src/components/Accordion/Accordion.spec.tsx +1 -3
- package/src/components/Accordion/Accordion.stories.tsx +1 -3
- package/src/components/Accordion/Accordion.tsx +4 -4
- package/src/components/Accordion/AccordionContent.tsx +3 -3
- package/src/components/Accordion/AccordionItem.tsx +3 -3
- package/src/components/Accordion/AccordionRoot.tsx +2 -2
- package/src/components/Accordion/AccordionTrigger.tsx +3 -3
- package/src/components/Accordion/index.ts +1 -0
- package/src/components/ActionDropdown/ActionDropdown.stories.tsx +1 -1
- package/src/components/ActionDropdown/ActionDropdown.tsx +3 -5
- package/src/components/ActionDropdown/index.ts +1 -0
- package/src/components/AlertDialog/AlertDialog.stories.tsx +5 -5
- package/src/components/AlertDialog/AlertDialog.tsx +8 -8
- package/src/components/AlertDialog/AlertDialogAction.tsx +5 -4
- package/src/components/AlertDialog/AlertDialogCancel.tsx +5 -4
- package/src/components/AlertDialog/AlertDialogContent.tsx +5 -4
- package/src/components/AlertDialog/AlertDialogDescription.tsx +3 -3
- package/src/components/AlertDialog/AlertDialogFooter.tsx +2 -2
- package/src/components/AlertDialog/AlertDialogHeader.tsx +2 -2
- package/src/components/AlertDialog/AlertDialogOverlay.tsx +3 -3
- package/src/components/AlertDialog/AlertDialogTitle.tsx +3 -3
- package/src/components/AlertDialog/index.ts +1 -0
- package/src/components/ArrowToggle/ArrowToggle.spec.tsx +2 -2
- package/src/components/ArrowToggle/ArrowToggle.stories.tsx +2 -2
- package/src/components/ArrowToggle/ArrowToggle.tsx +9 -7
- package/src/components/ArrowToggle/index.ts +1 -0
- package/src/components/Avatar/Avatar.spec.tsx +1 -3
- package/src/components/Avatar/Avatar.stories.tsx +1 -3
- package/src/components/Avatar/Avatar.tsx +3 -3
- package/src/components/Avatar/AvatarFallback.tsx +3 -3
- package/src/components/Avatar/AvatarImage.tsx +3 -3
- package/src/components/Avatar/AvatarRoot.tsx +3 -3
- package/src/components/Avatar/index.ts +1 -0
- package/src/components/Badge/Badge.spec.tsx +1 -3
- package/src/components/Badge/Badge.stories.tsx +1 -1
- package/src/components/Badge/Badge.tsx +3 -3
- package/src/components/Badge/index.ts +1 -0
- package/src/components/Breadcrumb/Breadcrumb.stories.tsx +2 -4
- package/src/components/Breadcrumb/Breadcrumb.tsx +7 -7
- package/src/components/Breadcrumb/BreadcrumbEllipsis.tsx +2 -2
- package/src/components/Breadcrumb/BreadcrumbItem.tsx +8 -7
- package/src/components/Breadcrumb/BreadcrumbLink.tsx +3 -3
- package/src/components/Breadcrumb/BreadcrumbList.tsx +3 -3
- package/src/components/Breadcrumb/BreadcrumbPage.tsx +3 -3
- package/src/components/Breadcrumb/BreadcrumbRoot.tsx +2 -2
- package/src/components/Breadcrumb/BreadcrumbSeparator.tsx +2 -2
- package/src/components/Breadcrumb/index.ts +1 -0
- package/src/components/Button/Button.spec.tsx +1 -3
- package/src/components/Button/Button.stories.tsx +1 -3
- package/src/components/Button/Button.tsx +3 -3
- package/src/components/Button/index.ts +1 -0
- package/src/components/Card/Card.spec.tsx +1 -3
- package/src/components/Card/Card.stories.tsx +5 -7
- package/src/components/Card/Card.tsx +2 -2
- package/src/components/Card/index.ts +1 -0
- package/src/components/Checkbox/Checkbox.spec.tsx +1 -3
- package/src/components/Checkbox/Checkbox.stories.tsx +1 -3
- package/src/components/Checkbox/Checkbox.tsx +3 -3
- package/src/components/Checkbox/index.ts +1 -0
- package/src/components/ClientTable/ClientTable.stories.tsx +2 -4
- package/src/components/ClientTable/ClientTable.tsx +7 -5
- package/src/components/ClientTable/ClientTablePagination.tsx +3 -11
- package/src/components/ClientTable/index.ts +1 -0
- package/src/components/Collapsible/Collapsible.stories.tsx +5 -5
- package/src/components/Collapsible/Collapsible.tsx +1 -1
- package/src/components/Collapsible/CollapsibleRoot.tsx +6 -7
- package/src/components/Collapsible/index.ts +1 -0
- package/src/components/Command/Command.stories.tsx +1 -3
- package/src/components/Command/Command.tsx +10 -9
- package/src/components/Command/CommandEmpty.tsx +2 -2
- package/src/components/Command/CommandGroup.tsx +3 -3
- package/src/components/Command/CommandInput.tsx +3 -3
- package/src/components/Command/CommandItem.tsx +3 -3
- package/src/components/Command/CommandList.tsx +3 -3
- package/src/components/Command/CommandSeparator.tsx +3 -3
- package/src/components/Command/CommandShortcut.tsx +2 -2
- package/src/components/Command/index.ts +1 -0
- package/src/components/ContextMenu/ContextMenu.stories.tsx +1 -3
- package/src/components/ContextMenu/ContextMenu.tsx +9 -9
- package/src/components/ContextMenu/ContextMenuCheckboxItem.tsx +3 -3
- package/src/components/ContextMenu/ContextMenuContent.tsx +3 -3
- package/src/components/ContextMenu/ContextMenuItem.tsx +3 -3
- package/src/components/ContextMenu/ContextMenuLabel.tsx +3 -3
- package/src/components/ContextMenu/ContextMenuRadioItem.tsx +3 -3
- package/src/components/ContextMenu/ContextMenuSeparator.tsx +3 -3
- package/src/components/ContextMenu/ContextMenuShortcut.tsx +2 -2
- package/src/components/ContextMenu/ContextMenuSubContent.tsx +3 -3
- package/src/components/ContextMenu/ContextMenuSubTrigger.tsx +3 -3
- package/src/components/ContextMenu/index.ts +1 -0
- package/src/components/CopyButton/CopyButton.stories.tsx +13 -0
- package/src/components/CopyButton/CopyButton.tsx +49 -0
- package/src/components/CopyButton/index.ts +1 -0
- package/src/components/DatePicker/Calendar.tsx +4 -3
- package/src/components/DatePicker/DatePicker.stories.tsx +1 -1
- package/src/components/DatePicker/DatePicker.tsx +9 -7
- package/src/components/DatePicker/YearSelector.tsx +4 -3
- package/src/components/DatePicker/index.ts +1 -0
- package/src/components/Dialog/Dialog.stories.tsx +4 -6
- package/src/components/Dialog/Dialog.tsx +6 -6
- package/src/components/Dialog/DialogBody.tsx +2 -2
- package/src/components/Dialog/DialogContent.tsx +5 -4
- package/src/components/Dialog/DialogDescription.tsx +3 -3
- package/src/components/Dialog/DialogFooter.tsx +2 -2
- package/src/components/Dialog/DialogHeader.tsx +2 -2
- package/src/components/Dialog/DialogOverlay.tsx +3 -3
- package/src/components/Dialog/DialogTitle.tsx +9 -8
- package/src/components/Dialog/index.ts +1 -0
- package/src/components/Drawer/Drawer.stories.tsx +2 -4
- package/src/components/Drawer/Drawer.tsx +6 -6
- package/src/components/Drawer/DrawerContent.tsx +3 -3
- package/src/components/Drawer/DrawerDescription.tsx +3 -3
- package/src/components/Drawer/DrawerFooter.tsx +2 -2
- package/src/components/Drawer/DrawerHeader.tsx +2 -2
- package/src/components/Drawer/DrawerTitle.tsx +3 -3
- package/src/components/Drawer/index.ts +1 -0
- package/src/components/DropdownButton/DropdownButton.stories.tsx +1 -1
- package/src/components/DropdownButton/DropdownButton.tsx +3 -3
- package/src/components/DropdownButton/index.ts +1 -0
- package/src/components/DropdownMenu/DropdownMenu.stories.tsx +2 -4
- package/src/components/DropdownMenu/DropdownMenu.tsx +9 -9
- package/src/components/DropdownMenu/DropdownMenuCheckboxItem.tsx +3 -3
- package/src/components/DropdownMenu/DropdownMenuContent.tsx +2 -2
- package/src/components/DropdownMenu/DropdownMenuItem.tsx +3 -3
- package/src/components/DropdownMenu/DropdownMenuLabel.tsx +3 -3
- package/src/components/DropdownMenu/DropdownMenuRadioItem.tsx +3 -3
- package/src/components/DropdownMenu/DropdownMenuSeparator.tsx +3 -3
- package/src/components/DropdownMenu/DropdownMenuShortcut.tsx +2 -2
- package/src/components/DropdownMenu/DropdownMenuSubContent.tsx +3 -3
- package/src/components/DropdownMenu/DropdownMenuSubTrigger.tsx +3 -3
- package/src/components/DropdownMenu/index.ts +1 -0
- package/src/components/ErrorBoundary/ErrorBoundary.tsx +2 -2
- package/src/components/ErrorBoundary/index.ts +1 -0
- package/src/components/ErrorFallback/ErrorFallback.stories.tsx +1 -1
- package/src/components/ErrorFallback/ErrorFallback.tsx +2 -2
- package/src/components/ErrorFallback/index.ts +1 -0
- package/src/components/Form/BaseRadioField.tsx +12 -8
- package/src/components/Form/BooleanField/BooleanField.spec.tsx +2 -2
- package/src/components/Form/BooleanField/BooleanField.stories.tsx +2 -2
- package/src/components/Form/BooleanField/BooleanField.tsx +2 -4
- package/src/components/Form/BooleanField/BooleanFieldCheckbox.tsx +15 -8
- package/src/components/Form/BooleanField/BooleanFieldRadio.tsx +24 -9
- package/src/components/Form/BooleanField/index.ts +1 -0
- package/src/components/Form/DateField/DateField.spec.tsx +3 -5
- package/src/components/Form/DateField/DateField.stories.tsx +2 -2
- package/src/components/Form/DateField/DateField.tsx +10 -9
- package/src/components/Form/DateField/index.ts +1 -0
- package/src/components/Form/DynamicField.tsx +4 -3
- package/src/components/Form/ErrorMessage.tsx +1 -1
- package/src/components/Form/FieldGroup/FieldGroup.tsx +4 -4
- package/src/components/Form/FieldGroup/FieldGroupDescription.tsx +2 -2
- package/src/components/Form/FieldGroup/FieldGroupRoot.tsx +1 -1
- package/src/components/Form/FieldGroup/FieldGroupRow.tsx +1 -1
- package/src/components/Form/FieldGroup/index.ts +1 -0
- package/src/components/Form/FieldsComponent.tsx +4 -4
- package/src/components/Form/Form.stories.tsx +22 -4
- package/src/components/Form/Form.test.tsx +2 -4
- package/src/components/Form/Form.tsx +12 -10
- package/src/components/Form/NumberField/NumberField.stories.tsx +2 -2
- package/src/components/Form/NumberField/NumberField.tsx +4 -6
- package/src/components/Form/NumberField/NumberFieldInput.tsx +14 -7
- package/src/components/Form/NumberField/NumberFieldRadio.tsx +9 -9
- package/src/components/Form/NumberField/NumberFieldSelect.tsx +11 -7
- package/src/components/Form/NumberField/NumberFieldSlider.tsx +7 -7
- package/src/components/Form/NumberField/index.ts +1 -0
- package/src/components/Form/NumberRecordField.tsx +6 -5
- package/src/components/Form/RecordArrayField.tsx +17 -12
- package/src/components/Form/ScalarField.tsx +6 -8
- package/src/components/Form/SetField/SetField.stories.tsx +2 -2
- package/src/components/Form/SetField/SetField.tsx +4 -4
- package/src/components/Form/SetField/SetFieldListbox.tsx +6 -6
- package/src/components/Form/SetField/SetFieldSelect.tsx +8 -8
- package/src/components/Form/SetField/index.ts +1 -0
- package/src/components/Form/StaticField.tsx +6 -5
- package/src/components/Form/StringField/StringField.stories.tsx +3 -3
- package/src/components/Form/StringField/StringField.tsx +5 -7
- package/src/components/Form/StringField/StringFieldInput.tsx +7 -7
- package/src/components/Form/StringField/StringFieldPassword.tsx +11 -9
- package/src/components/Form/StringField/StringFieldRadio.tsx +2 -4
- package/src/components/Form/StringField/StringFieldSelect.tsx +11 -7
- package/src/components/Form/StringField/StringFieldTextArea.tsx +7 -7
- package/src/components/Form/StringField/index.ts +1 -0
- package/src/components/Form/index.ts +1 -0
- package/src/components/Heading/Heading.stories.tsx +1 -1
- package/src/components/Heading/Heading.tsx +1 -3
- package/src/components/Heading/index.ts +1 -0
- package/src/components/HoverCard/HoverCard.stories.tsx +3 -5
- package/src/components/HoverCard/HoverCard.tsx +1 -1
- package/src/components/HoverCard/HoverCardContent.tsx +3 -3
- package/src/components/HoverCard/index.ts +1 -0
- package/src/components/Input/Input.spec.tsx +1 -3
- package/src/components/Input/Input.stories.tsx +1 -1
- package/src/components/Input/Input.tsx +2 -2
- package/src/components/Input/index.ts +1 -0
- package/src/components/Label/Label.spec.tsx +1 -3
- package/src/components/Label/Label.stories.tsx +1 -1
- package/src/components/Label/Label.tsx +4 -4
- package/src/components/Label/index.ts +1 -0
- package/src/components/LanguageToggle/LanguageToggle.stories.tsx +1 -1
- package/src/components/LanguageToggle/LanguageToggle.tsx +13 -9
- package/src/components/LanguageToggle/index.ts +1 -0
- package/src/components/LineGraph/LineGraph.stories.tsx +1 -3
- package/src/components/LineGraph/LineGraph.tsx +6 -7
- package/src/components/LineGraph/index.ts +1 -0
- package/src/components/ListboxDropdown/ListboxDropdown.stories.tsx +2 -2
- package/src/components/ListboxDropdown/ListboxDropdown.tsx +7 -6
- package/src/components/ListboxDropdown/index.ts +1 -0
- package/src/components/MenuBar/MenuBar.stories.tsx +1 -3
- package/src/components/MenuBar/MenuBar.tsx +13 -12
- package/src/components/MenuBar/MenuBarCheckboxItem.tsx +3 -3
- package/src/components/MenuBar/MenuBarContent.tsx +3 -3
- package/src/components/MenuBar/MenuBarItem.tsx +3 -3
- package/src/components/MenuBar/MenuBarLabel.tsx +3 -3
- package/src/components/MenuBar/MenuBarRadioItem.tsx +3 -3
- package/src/components/MenuBar/MenuBarRoot.tsx +3 -3
- package/src/components/MenuBar/MenuBarSeparator.tsx +3 -3
- package/src/components/MenuBar/MenuBarShortcut.tsx +2 -2
- package/src/components/MenuBar/MenuBarSubContent.tsx +3 -3
- package/src/components/MenuBar/MenuBarSubTrigger.tsx +3 -3
- package/src/components/MenuBar/MenuBarTrigger.tsx +3 -3
- package/src/components/MenuBar/index.ts +1 -0
- package/src/components/NotificationHub/NotificationHub.stories.tsx +4 -5
- package/src/components/NotificationHub/NotificationHub.tsx +5 -6
- package/src/components/NotificationHub/NotificationIcon.tsx +3 -5
- package/src/components/NotificationHub/index.ts +1 -0
- package/src/components/Pagination/Pagination.stories.tsx +1 -3
- package/src/components/Pagination/Pagination.tsx +7 -7
- package/src/components/Pagination/PaginationContent.tsx +2 -2
- package/src/components/Pagination/PaginationEllipsis.tsx +2 -2
- package/src/components/Pagination/PaginationItem.tsx +1 -1
- package/src/components/Pagination/PaginationLink.tsx +4 -3
- package/src/components/Pagination/PaginationNext.tsx +5 -4
- package/src/components/Pagination/PaginationPrevious.tsx +4 -5
- package/src/components/Pagination/PaginationRoot.tsx +2 -2
- package/src/components/Pagination/index.ts +1 -0
- package/src/components/Popover/Popover.spec.tsx +1 -3
- package/src/components/Popover/Popover.stories.tsx +9 -9
- package/src/components/Popover/Popover.tsx +1 -1
- package/src/components/Popover/PopoverContent.tsx +2 -2
- package/src/components/Popover/index.ts +1 -0
- package/src/components/Progress/Progress.stories.tsx +2 -2
- package/src/components/Progress/Progress.tsx +3 -3
- package/src/components/Progress/index.ts +1 -0
- package/src/components/RadioGroup/RadioGroup.spec.tsx +2 -4
- package/src/components/RadioGroup/RadioGroup.stories.tsx +2 -4
- package/src/components/RadioGroup/RadioGroup.tsx +4 -3
- package/src/components/RadioGroup/RadioGroupItem.tsx +3 -3
- package/src/components/RadioGroup/index.ts +1 -0
- package/src/components/Resizable/Resizable.stories.tsx +1 -3
- package/src/components/Resizable/Resizable.tsx +3 -3
- package/src/components/Resizable/ResizableHandle.tsx +2 -2
- package/src/components/Resizable/ResizablePanelGroup.tsx +2 -2
- package/src/components/Resizable/index.ts +1 -0
- package/src/components/ScrollArea/ScrollArea.spec.tsx +1 -3
- package/src/components/ScrollArea/ScrollArea.stories.tsx +1 -3
- package/src/components/ScrollArea/ScrollArea.tsx +5 -4
- package/src/components/ScrollArea/ScrollBar.tsx +3 -3
- package/src/components/ScrollArea/index.ts +1 -0
- package/src/components/SearchBar/SearchBar.stories.tsx +1 -1
- package/src/components/SearchBar/SearchBar.tsx +4 -5
- package/src/components/SearchBar/index.ts +1 -0
- package/src/components/Select/Select.stories.tsx +1 -3
- package/src/components/Select/Select.tsx +7 -7
- package/src/components/Select/SelectContent.tsx +6 -5
- package/src/components/Select/SelectItem.tsx +3 -3
- package/src/components/Select/SelectLabel.tsx +3 -3
- package/src/components/Select/SelectScrollDownButton.tsx +3 -3
- package/src/components/Select/SelectScrollUpButton.tsx +3 -3
- package/src/components/Select/SelectSeparator.tsx +3 -3
- package/src/components/Select/SelectTrigger.tsx +3 -3
- package/src/components/Select/index.ts +1 -0
- package/src/components/Separator/Separator.spec.tsx +1 -3
- package/src/components/Separator/Separator.stories.tsx +1 -3
- package/src/components/Separator/Separator.tsx +3 -3
- package/src/components/Separator/index.ts +1 -0
- package/src/components/Sheet/Sheet.stories.tsx +7 -7
- package/src/components/Sheet/Sheet.tsx +7 -7
- package/src/components/Sheet/SheetBody.tsx +2 -2
- package/src/components/Sheet/SheetContent.tsx +3 -3
- package/src/components/Sheet/SheetDescription.tsx +3 -3
- package/src/components/Sheet/SheetFooter.tsx +2 -2
- package/src/components/Sheet/SheetHeader.tsx +2 -2
- package/src/components/Sheet/SheetOverlay.tsx +4 -4
- package/src/components/Sheet/SheetTitle.tsx +7 -8
- package/src/components/Sheet/index.ts +1 -0
- package/src/components/Slider/Slider.stories.tsx +1 -1
- package/src/components/Slider/Slider.tsx +3 -3
- package/src/components/Slider/index.ts +1 -0
- package/src/components/Spinner/Spinner.stories.tsx +1 -1
- package/src/components/Spinner/Spinner.tsx +1 -2
- package/src/components/Spinner/index.ts +1 -0
- package/src/components/SpinnerIcon/SpinnerIcon.stories.tsx +1 -1
- package/src/components/SpinnerIcon/SpinnerIcon.tsx +2 -2
- package/src/components/SpinnerIcon/index.ts +1 -0
- package/src/components/StatisticCard/StatisticCard.stories.tsx +16 -0
- package/src/components/StatisticCard/StatisticCard.tsx +35 -0
- package/src/components/StatisticCard/index.ts +1 -0
- package/src/components/Switch/Switch.stories.tsx +1 -3
- package/src/components/Switch/Switch.tsx +3 -3
- package/src/components/Switch/index.ts +1 -0
- package/src/components/Table/Table.stories.tsx +4 -4
- package/src/components/Table/Table.tsx +8 -8
- package/src/components/Table/TableBody.tsx +3 -3
- package/src/components/Table/TableCaption.tsx +3 -3
- package/src/components/Table/TableCell.tsx +3 -3
- package/src/components/Table/TableFooter.tsx +3 -3
- package/src/components/Table/TableHead.tsx +3 -3
- package/src/components/Table/TableHeader.tsx +3 -3
- package/src/components/Table/TableRoot.tsx +3 -3
- package/src/components/Table/TableRow.tsx +14 -13
- package/src/components/Table/index.ts +1 -0
- package/src/components/Tabs/Tabs.stories.tsx +5 -7
- package/src/components/Tabs/Tabs.tsx +4 -4
- package/src/components/Tabs/TabsContent.tsx +3 -3
- package/src/components/Tabs/TabsList.tsx +3 -3
- package/src/components/Tabs/TabsRoot.tsx +2 -2
- package/src/components/Tabs/TabsTrigger.tsx +3 -3
- package/src/components/Tabs/index.ts +1 -0
- package/src/components/TextArea/TextArea.spec.tsx +1 -3
- package/src/components/TextArea/TextArea.stories.tsx +1 -1
- package/src/components/TextArea/TextArea.tsx +2 -2
- package/src/components/TextArea/index.ts +1 -0
- package/src/components/ThemeToggle/ThemeToggle.stories.tsx +1 -1
- package/src/components/ThemeToggle/ThemeToggle.tsx +3 -4
- package/src/components/ThemeToggle/index.ts +1 -0
- package/src/components/Tooltip/Tooltip.stories.tsx +6 -6
- package/src/components/Tooltip/Tooltip.tsx +3 -3
- package/src/components/Tooltip/TooltipContent.tsx +2 -2
- package/src/components/Tooltip/TooltipRoot.tsx +1 -1
- package/src/components/Tooltip/TooltipTrigger.tsx +12 -11
- package/src/components/Tooltip/index.ts +1 -0
- package/src/components/index.ts +52 -0
- package/src/context/TranslationContext.tsx +40 -0
- package/src/hooks/index.ts +12 -0
- package/src/hooks/useDownload/index.ts +1 -0
- package/src/hooks/{useDownload.test.ts → useDownload/useDownload.test.ts} +4 -3
- package/src/hooks/{useDownload.ts → useDownload/useDownload.ts} +1 -1
- package/src/hooks/useEventCallback/index.ts +1 -0
- package/src/hooks/{useEventCallback.test.tsx → useEventCallback/useEventCallback.test.tsx} +1 -3
- package/src/hooks/{useEventCallback.ts → useEventCallback/useEventCallback.ts} +1 -1
- package/src/hooks/useEventListener/index.ts +1 -0
- package/src/hooks/{useEventListener.test.tsx → useEventListener/useEventListener.test.tsx} +1 -1
- package/src/hooks/{useEventListener.ts → useEventListener/useEventListener.ts} +1 -1
- package/src/hooks/useInterval/index.ts +1 -0
- package/src/hooks/{useInterval.test.ts → useInterval/useInterval.test.ts} +1 -1
- package/src/hooks/{useInterval.ts → useInterval/useInterval.ts} +1 -1
- package/src/hooks/useIsomorphicLayoutEffect/index.ts +1 -0
- package/src/hooks/{useIsomorphicLayoutEffect.test.ts → useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.test.ts} +1 -1
- package/src/hooks/{useIsomorphicLayoutEffect.ts → useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.ts} +1 -1
- package/src/hooks/useMediaQuery/index.ts +1 -0
- package/src/hooks/{useMediaQuery.test.ts → useMediaQuery/useMediaQuery.test.ts} +5 -4
- package/src/hooks/{useMediaQuery.ts → useMediaQuery/useMediaQuery.ts} +1 -1
- package/src/hooks/useNotificationsStore/index.ts +1 -0
- package/src/hooks/{useNotificationsStore.test.ts → useNotificationsStore/useNotificationsStore.test.ts} +1 -1
- package/src/hooks/useOnClickOutside/index.ts +1 -0
- package/src/hooks/{useOnClickOutside.test.ts → useOnClickOutside/useOnClickOutside.test.ts} +1 -1
- package/src/hooks/{useOnClickOutside.ts → useOnClickOutside/useOnClickOutside.ts} +1 -1
- package/src/hooks/useSessionStorage/index.ts +1 -0
- package/src/hooks/{useSessionStorage.test.ts → useSessionStorage/useSessionStorage.test.ts} +5 -4
- package/src/hooks/{useSessionStorage.ts → useSessionStorage/useSessionStorage.ts} +4 -3
- package/src/hooks/useTheme/index.ts +1 -0
- package/src/hooks/{useTheme.test.ts → useTheme/useTheme.test.ts} +5 -4
- package/src/hooks/{useTheme.ts → useTheme/useTheme.ts} +3 -2
- package/src/hooks/useTranslation/index.ts +1 -0
- package/src/hooks/useTranslation/useTranslation.ts +31 -0
- package/src/hooks/useWindowSize/index.ts +1 -0
- package/src/hooks/{useWindowSize.test.ts → useWindowSize/useWindowSize.test.ts} +1 -1
- package/src/hooks/{useWindowSize.ts → useWindowSize/useWindowSize.ts} +2 -2
- package/src/i18n/index.ts +2 -0
- package/src/i18n/store.ts +47 -0
- package/src/i18n/types.ts +51 -0
- package/src/tailwind/config.cts +150 -0
- package/tailwind.config.cjs +2 -124
- package/dist/components/Accordion/Accordion.d.ts +0 -7
- package/dist/components/Accordion/Accordion.d.ts.map +0 -1
- package/dist/components/Accordion/Accordion.js +0 -9
- package/dist/components/Accordion/AccordionContent.d.ts +0 -4
- package/dist/components/Accordion/AccordionContent.d.ts.map +0 -1
- package/dist/components/Accordion/AccordionContent.js +0 -7
- package/dist/components/Accordion/AccordionItem.d.ts +0 -4
- package/dist/components/Accordion/AccordionItem.d.ts.map +0 -1
- package/dist/components/Accordion/AccordionItem.js +0 -6
- package/dist/components/Accordion/AccordionRoot.d.ts +0 -4
- package/dist/components/Accordion/AccordionRoot.d.ts.map +0 -1
- package/dist/components/Accordion/AccordionRoot.js +0 -5
- package/dist/components/Accordion/AccordionTrigger.d.ts +0 -4
- package/dist/components/Accordion/AccordionTrigger.d.ts.map +0 -1
- package/dist/components/Accordion/AccordionTrigger.js +0 -10
- package/dist/components/ActionDropdown/ActionDropdown.d.ts +0 -24
- package/dist/components/ActionDropdown/ActionDropdown.d.ts.map +0 -1
- package/dist/components/ActionDropdown/ActionDropdown.js +0 -15
- package/dist/components/AlertDialog/AlertDialog.d.ts +0 -13
- package/dist/components/AlertDialog/AlertDialog.d.ts.map +0 -1
- package/dist/components/AlertDialog/AlertDialog.js +0 -20
- package/dist/components/AlertDialog/AlertDialogAction.d.ts +0 -3
- package/dist/components/AlertDialog/AlertDialogAction.d.ts.map +0 -1
- package/dist/components/AlertDialog/AlertDialogAction.js +0 -7
- package/dist/components/AlertDialog/AlertDialogCancel.d.ts +0 -3
- package/dist/components/AlertDialog/AlertDialogCancel.d.ts.map +0 -1
- package/dist/components/AlertDialog/AlertDialogCancel.js +0 -7
- package/dist/components/AlertDialog/AlertDialogContent.d.ts +0 -3
- package/dist/components/AlertDialog/AlertDialogContent.d.ts.map +0 -1
- package/dist/components/AlertDialog/AlertDialogContent.js +0 -9
- package/dist/components/AlertDialog/AlertDialogDescription.d.ts +0 -3
- package/dist/components/AlertDialog/AlertDialogDescription.d.ts.map +0 -1
- package/dist/components/AlertDialog/AlertDialogDescription.js +0 -6
- package/dist/components/AlertDialog/AlertDialogFooter.d.ts +0 -3
- package/dist/components/AlertDialog/AlertDialogFooter.d.ts.map +0 -1
- package/dist/components/AlertDialog/AlertDialogFooter.js +0 -3
- package/dist/components/AlertDialog/AlertDialogHeader.d.ts +0 -3
- package/dist/components/AlertDialog/AlertDialogHeader.d.ts.map +0 -1
- package/dist/components/AlertDialog/AlertDialogHeader.js +0 -3
- package/dist/components/AlertDialog/AlertDialogOverlay.d.ts +0 -3
- package/dist/components/AlertDialog/AlertDialogOverlay.d.ts.map +0 -1
- package/dist/components/AlertDialog/AlertDialogOverlay.js +0 -6
- package/dist/components/AlertDialog/AlertDialogTitle.d.ts +0 -3
- package/dist/components/AlertDialog/AlertDialogTitle.d.ts.map +0 -1
- package/dist/components/AlertDialog/AlertDialogTitle.js +0 -6
- package/dist/components/ArrowToggle/ArrowToggle.d.ts +0 -287
- package/dist/components/ArrowToggle/ArrowToggle.d.ts.map +0 -1
- package/dist/components/ArrowToggle/ArrowToggle.js +0 -22
- package/dist/components/Avatar/Avatar.d.ts +0 -6
- package/dist/components/Avatar/Avatar.d.ts.map +0 -1
- package/dist/components/Avatar/Avatar.js +0 -7
- package/dist/components/Avatar/AvatarFallback.d.ts +0 -4
- package/dist/components/Avatar/AvatarFallback.d.ts.map +0 -1
- package/dist/components/Avatar/AvatarFallback.js +0 -6
- package/dist/components/Avatar/AvatarImage.d.ts +0 -4
- package/dist/components/Avatar/AvatarImage.d.ts.map +0 -1
- package/dist/components/Avatar/AvatarImage.js +0 -6
- package/dist/components/Avatar/AvatarRoot.d.ts +0 -4
- package/dist/components/Avatar/AvatarRoot.d.ts.map +0 -1
- package/dist/components/Avatar/AvatarRoot.js +0 -6
- package/dist/components/Badge/Badge.d.ts +0 -9
- package/dist/components/Badge/Badge.d.ts.map +0 -1
- package/dist/components/Badge/Badge.js +0 -20
- package/dist/components/Breadcrumb/Breadcrumb.d.ts +0 -14
- package/dist/components/Breadcrumb/Breadcrumb.d.ts.map +0 -1
- package/dist/components/Breadcrumb/Breadcrumb.js +0 -15
- package/dist/components/Breadcrumb/BreadcrumbEllipsis.d.ts +0 -3
- package/dist/components/Breadcrumb/BreadcrumbEllipsis.d.ts.map +0 -1
- package/dist/components/Breadcrumb/BreadcrumbEllipsis.js +0 -5
- package/dist/components/Breadcrumb/BreadcrumbItem.d.ts +0 -3
- package/dist/components/Breadcrumb/BreadcrumbItem.d.ts.map +0 -1
- package/dist/components/Breadcrumb/BreadcrumbItem.js +0 -5
- package/dist/components/Breadcrumb/BreadcrumbLink.d.ts +0 -5
- package/dist/components/Breadcrumb/BreadcrumbLink.d.ts.map +0 -1
- package/dist/components/Breadcrumb/BreadcrumbLink.js +0 -7
- package/dist/components/Breadcrumb/BreadcrumbList.d.ts +0 -3
- package/dist/components/Breadcrumb/BreadcrumbList.d.ts.map +0 -1
- package/dist/components/Breadcrumb/BreadcrumbList.js +0 -5
- package/dist/components/Breadcrumb/BreadcrumbPage.d.ts +0 -3
- package/dist/components/Breadcrumb/BreadcrumbPage.d.ts.map +0 -1
- package/dist/components/Breadcrumb/BreadcrumbPage.js +0 -5
- package/dist/components/Breadcrumb/BreadcrumbRoot.d.ts +0 -5
- package/dist/components/Breadcrumb/BreadcrumbRoot.d.ts.map +0 -1
- package/dist/components/Breadcrumb/BreadcrumbRoot.js +0 -4
- package/dist/components/Breadcrumb/BreadcrumbSeparator.d.ts +0 -3
- package/dist/components/Breadcrumb/BreadcrumbSeparator.d.ts.map +0 -1
- package/dist/components/Breadcrumb/BreadcrumbSeparator.js +0 -4
- package/dist/components/Button/Button.d.ts +0 -299
- package/dist/components/Button/Button.d.ts.map +0 -1
- package/dist/components/Button/Button.js +0 -37
- package/dist/components/Card/Card.d.ts +0 -9
- package/dist/components/Card/Card.d.ts.map +0 -1
- package/dist/components/Card/Card.js +0 -14
- package/dist/components/Checkbox/Checkbox.d.ts +0 -4
- package/dist/components/Checkbox/Checkbox.d.ts.map +0 -1
- package/dist/components/Checkbox/Checkbox.js +0 -9
- package/dist/components/ClientTable/ClientTable.d.ts +0 -34
- package/dist/components/ClientTable/ClientTable.d.ts.map +0 -1
- package/dist/components/ClientTable/ClientTable.js +0 -69
- package/dist/components/ClientTable/ClientTablePagination.d.ts +0 -11
- package/dist/components/ClientTable/ClientTablePagination.d.ts.map +0 -1
- package/dist/components/ClientTable/ClientTablePagination.js +0 -20
- package/dist/components/Collapsible/Collapsible.d.ts +0 -6
- package/dist/components/Collapsible/Collapsible.d.ts.map +0 -1
- package/dist/components/Collapsible/Collapsible.js +0 -6
- package/dist/components/Collapsible/CollapsibleRoot.d.ts +0 -3
- package/dist/components/Collapsible/CollapsibleRoot.d.ts.map +0 -1
- package/dist/components/Collapsible/CollapsibleRoot.js +0 -5
- package/dist/components/Command/Command.d.ts +0 -336
- package/dist/components/Command/Command.d.ts.map +0 -1
- package/dist/components/Command/Command.js +0 -22
- package/dist/components/Command/CommandEmpty.d.ts +0 -9
- package/dist/components/Command/CommandEmpty.d.ts.map +0 -1
- package/dist/components/Command/CommandEmpty.js +0 -5
- package/dist/components/Command/CommandGroup.d.ts +0 -13
- package/dist/components/Command/CommandGroup.d.ts.map +0 -1
- package/dist/components/Command/CommandGroup.js +0 -6
- package/dist/components/Command/CommandInput.d.ts +0 -10
- package/dist/components/Command/CommandInput.d.ts.map +0 -1
- package/dist/components/Command/CommandInput.js +0 -11
- package/dist/components/Command/CommandItem.d.ts +0 -15
- package/dist/components/Command/CommandItem.d.ts.map +0 -1
- package/dist/components/Command/CommandItem.js +0 -6
- package/dist/components/Command/CommandList.d.ts +0 -11
- package/dist/components/Command/CommandList.d.ts.map +0 -1
- package/dist/components/Command/CommandList.js +0 -6
- package/dist/components/Command/CommandSeparator.d.ts +0 -9
- package/dist/components/Command/CommandSeparator.d.ts.map +0 -1
- package/dist/components/Command/CommandSeparator.js +0 -6
- package/dist/components/Command/CommandShortcut.d.ts +0 -3
- package/dist/components/Command/CommandShortcut.d.ts.map +0 -1
- package/dist/components/Command/CommandShortcut.js +0 -5
- package/dist/components/ContextMenu/ContextMenu.d.ts +0 -24
- package/dist/components/ContextMenu/ContextMenu.d.ts.map +0 -1
- package/dist/components/ContextMenu/ContextMenu.js +0 -26
- package/dist/components/ContextMenu/ContextMenuCheckboxItem.d.ts +0 -4
- package/dist/components/ContextMenu/ContextMenuCheckboxItem.d.ts.map +0 -1
- package/dist/components/ContextMenu/ContextMenuCheckboxItem.js +0 -11
- package/dist/components/ContextMenu/ContextMenuContent.d.ts +0 -4
- package/dist/components/ContextMenu/ContextMenuContent.d.ts.map +0 -1
- package/dist/components/ContextMenu/ContextMenuContent.js +0 -7
- package/dist/components/ContextMenu/ContextMenuItem.d.ts +0 -6
- package/dist/components/ContextMenu/ContextMenuItem.d.ts.map +0 -1
- package/dist/components/ContextMenu/ContextMenuItem.js +0 -6
- package/dist/components/ContextMenu/ContextMenuLabel.d.ts +0 -6
- package/dist/components/ContextMenu/ContextMenuLabel.d.ts.map +0 -1
- package/dist/components/ContextMenu/ContextMenuLabel.js +0 -6
- package/dist/components/ContextMenu/ContextMenuRadioItem.d.ts +0 -4
- package/dist/components/ContextMenu/ContextMenuRadioItem.d.ts.map +0 -1
- package/dist/components/ContextMenu/ContextMenuRadioItem.js +0 -11
- package/dist/components/ContextMenu/ContextMenuSeparator.d.ts +0 -4
- package/dist/components/ContextMenu/ContextMenuSeparator.d.ts.map +0 -1
- package/dist/components/ContextMenu/ContextMenuSeparator.js +0 -6
- package/dist/components/ContextMenu/ContextMenuShortcut.d.ts +0 -3
- package/dist/components/ContextMenu/ContextMenuShortcut.d.ts.map +0 -1
- package/dist/components/ContextMenu/ContextMenuShortcut.js +0 -5
- package/dist/components/ContextMenu/ContextMenuSubContent.d.ts +0 -4
- package/dist/components/ContextMenu/ContextMenuSubContent.d.ts.map +0 -1
- package/dist/components/ContextMenu/ContextMenuSubContent.js +0 -6
- package/dist/components/ContextMenu/ContextMenuSubTrigger.d.ts +0 -6
- package/dist/components/ContextMenu/ContextMenuSubTrigger.d.ts.map +0 -1
- package/dist/components/ContextMenu/ContextMenuSubTrigger.js +0 -9
- package/dist/components/DatePicker/Calendar.d.ts +0 -9
- package/dist/components/DatePicker/Calendar.d.ts.map +0 -1
- package/dist/components/DatePicker/Calendar.js +0 -28
- package/dist/components/DatePicker/DatePicker.d.ts +0 -8
- package/dist/components/DatePicker/DatePicker.d.ts.map +0 -1
- package/dist/components/DatePicker/DatePicker.js +0 -79
- package/dist/components/DatePicker/YearSelector.d.ts +0 -7
- package/dist/components/DatePicker/YearSelector.d.ts.map +0 -1
- package/dist/components/DatePicker/YearSelector.js +0 -20
- package/dist/components/Dialog/Dialog.d.ts +0 -11
- package/dist/components/Dialog/Dialog.d.ts.map +0 -1
- package/dist/components/Dialog/Dialog.js +0 -16
- package/dist/components/Dialog/DialogBody.d.ts +0 -3
- package/dist/components/Dialog/DialogBody.d.ts.map +0 -1
- package/dist/components/Dialog/DialogBody.js +0 -5
- package/dist/components/Dialog/DialogContent.d.ts +0 -3
- package/dist/components/Dialog/DialogContent.d.ts.map +0 -1
- package/dist/components/Dialog/DialogContent.js +0 -13
- package/dist/components/Dialog/DialogDescription.d.ts +0 -3
- package/dist/components/Dialog/DialogDescription.d.ts.map +0 -1
- package/dist/components/Dialog/DialogDescription.js +0 -6
- package/dist/components/Dialog/DialogFooter.d.ts +0 -3
- package/dist/components/Dialog/DialogFooter.d.ts.map +0 -1
- package/dist/components/Dialog/DialogFooter.js +0 -3
- package/dist/components/Dialog/DialogHeader.d.ts +0 -3
- package/dist/components/Dialog/DialogHeader.d.ts.map +0 -1
- package/dist/components/Dialog/DialogHeader.js +0 -3
- package/dist/components/Dialog/DialogOverlay.d.ts +0 -3
- package/dist/components/Dialog/DialogOverlay.d.ts.map +0 -1
- package/dist/components/Dialog/DialogOverlay.js +0 -6
- package/dist/components/Dialog/DialogTitle.d.ts +0 -3
- package/dist/components/Dialog/DialogTitle.d.ts.map +0 -1
- package/dist/components/Dialog/DialogTitle.js +0 -6
- package/dist/components/Drawer/Drawer.d.ts +0 -14
- package/dist/components/Drawer/Drawer.d.ts.map +0 -1
- package/dist/components/Drawer/Drawer.js +0 -17
- package/dist/components/Drawer/DrawerContent.d.ts +0 -5
- package/dist/components/Drawer/DrawerContent.d.ts.map +0 -1
- package/dist/components/Drawer/DrawerContent.js +0 -10
- package/dist/components/Drawer/DrawerDescription.d.ts +0 -3
- package/dist/components/Drawer/DrawerDescription.d.ts.map +0 -1
- package/dist/components/Drawer/DrawerDescription.js +0 -6
- package/dist/components/Drawer/DrawerFooter.d.ts +0 -3
- package/dist/components/Drawer/DrawerFooter.d.ts.map +0 -1
- package/dist/components/Drawer/DrawerFooter.js +0 -3
- package/dist/components/Drawer/DrawerHeader.d.ts +0 -3
- package/dist/components/Drawer/DrawerHeader.d.ts.map +0 -1
- package/dist/components/Drawer/DrawerHeader.js +0 -3
- package/dist/components/Drawer/DrawerTitle.d.ts +0 -3
- package/dist/components/Drawer/DrawerTitle.d.ts.map +0 -1
- package/dist/components/Drawer/DrawerTitle.js +0 -6
- package/dist/components/DropdownButton/DropdownButton.d.ts +0 -3
- package/dist/components/DropdownButton/DropdownButton.d.ts.map +0 -1
- package/dist/components/DropdownButton/DropdownButton.js +0 -8
- package/dist/components/DropdownMenu/DropdownMenu.d.ts +0 -27
- package/dist/components/DropdownMenu/DropdownMenu.d.ts.map +0 -1
- package/dist/components/DropdownMenu/DropdownMenu.js +0 -26
- package/dist/components/DropdownMenu/DropdownMenuCheckboxItem.d.ts +0 -4
- package/dist/components/DropdownMenu/DropdownMenuCheckboxItem.d.ts.map +0 -1
- package/dist/components/DropdownMenu/DropdownMenuCheckboxItem.js +0 -11
- package/dist/components/DropdownMenu/DropdownMenuContent.d.ts +0 -9
- package/dist/components/DropdownMenu/DropdownMenuContent.d.ts.map +0 -1
- package/dist/components/DropdownMenu/DropdownMenuContent.js +0 -7
- package/dist/components/DropdownMenu/DropdownMenuItem.d.ts +0 -6
- package/dist/components/DropdownMenu/DropdownMenuItem.d.ts.map +0 -1
- package/dist/components/DropdownMenu/DropdownMenuItem.js +0 -6
- package/dist/components/DropdownMenu/DropdownMenuLabel.d.ts +0 -6
- package/dist/components/DropdownMenu/DropdownMenuLabel.d.ts.map +0 -1
- package/dist/components/DropdownMenu/DropdownMenuLabel.js +0 -6
- package/dist/components/DropdownMenu/DropdownMenuRadioItem.d.ts +0 -4
- package/dist/components/DropdownMenu/DropdownMenuRadioItem.d.ts.map +0 -1
- package/dist/components/DropdownMenu/DropdownMenuRadioItem.js +0 -11
- package/dist/components/DropdownMenu/DropdownMenuSeparator.d.ts +0 -4
- package/dist/components/DropdownMenu/DropdownMenuSeparator.d.ts.map +0 -1
- package/dist/components/DropdownMenu/DropdownMenuSeparator.js +0 -6
- package/dist/components/DropdownMenu/DropdownMenuShortcut.d.ts +0 -3
- package/dist/components/DropdownMenu/DropdownMenuShortcut.d.ts.map +0 -1
- package/dist/components/DropdownMenu/DropdownMenuShortcut.js +0 -5
- package/dist/components/DropdownMenu/DropdownMenuSubContent.d.ts +0 -4
- package/dist/components/DropdownMenu/DropdownMenuSubContent.d.ts.map +0 -1
- package/dist/components/DropdownMenu/DropdownMenuSubContent.js +0 -6
- package/dist/components/DropdownMenu/DropdownMenuSubTrigger.d.ts +0 -6
- package/dist/components/DropdownMenu/DropdownMenuSubTrigger.d.ts.map +0 -1
- package/dist/components/DropdownMenu/DropdownMenuSubTrigger.js +0 -9
- package/dist/components/ErrorBoundary/ErrorBoundary.d.ts +0 -5
- package/dist/components/ErrorBoundary/ErrorBoundary.d.ts.map +0 -1
- package/dist/components/ErrorBoundary/ErrorBoundary.js +0 -6
- package/dist/components/ErrorFallback/ErrorFallback.d.ts +0 -8
- package/dist/components/ErrorFallback/ErrorFallback.d.ts.map +0 -1
- package/dist/components/ErrorFallback/ErrorFallback.js +0 -16
- package/dist/components/Form/BaseRadioField.d.ts +0 -13
- package/dist/components/Form/BaseRadioField.d.ts.map +0 -1
- package/dist/components/Form/BaseRadioField.js +0 -27
- package/dist/components/Form/BooleanField/BooleanField.d.ts +0 -6
- package/dist/components/Form/BooleanField/BooleanField.d.ts.map +0 -1
- package/dist/components/Form/BooleanField/BooleanField.js +0 -10
- package/dist/components/Form/BooleanField/BooleanFieldCheckbox.d.ts +0 -9
- package/dist/components/Form/BooleanField/BooleanFieldCheckbox.d.ts.map +0 -1
- package/dist/components/Form/BooleanField/BooleanFieldCheckbox.js +0 -15
- package/dist/components/Form/BooleanField/BooleanFieldRadio.d.ts +0 -9
- package/dist/components/Form/BooleanField/BooleanFieldRadio.d.ts.map +0 -1
- package/dist/components/Form/BooleanField/BooleanFieldRadio.js +0 -31
- package/dist/components/Form/DateField/DateField.d.ts +0 -7
- package/dist/components/Form/DateField/DateField.d.ts.map +0 -1
- package/dist/components/Form/DateField/DateField.js +0 -40
- package/dist/components/Form/DynamicField.d.ts +0 -14
- package/dist/components/Form/DynamicField.d.ts.map +0 -1
- package/dist/components/Form/DynamicField.js +0 -26
- package/dist/components/Form/ErrorMessage.d.ts +0 -5
- package/dist/components/Form/ErrorMessage.d.ts.map +0 -1
- package/dist/components/Form/ErrorMessage.js +0 -7
- package/dist/components/Form/FieldGroup/FieldGroup.d.ts +0 -15
- package/dist/components/Form/FieldGroup/FieldGroup.d.ts.map +0 -1
- package/dist/components/Form/FieldGroup/FieldGroup.js +0 -9
- package/dist/components/Form/FieldGroup/FieldGroupDescription.d.ts +0 -5
- package/dist/components/Form/FieldGroup/FieldGroupDescription.d.ts.map +0 -1
- package/dist/components/Form/FieldGroup/FieldGroupDescription.js +0 -8
- package/dist/components/Form/FieldGroup/FieldGroupRoot.d.ts +0 -5
- package/dist/components/Form/FieldGroup/FieldGroupRoot.d.ts.map +0 -1
- package/dist/components/Form/FieldGroup/FieldGroupRoot.js +0 -2
- package/dist/components/Form/FieldGroup/FieldGroupRow.d.ts +0 -5
- package/dist/components/Form/FieldGroup/FieldGroupRow.d.ts.map +0 -1
- package/dist/components/Form/FieldGroup/FieldGroupRow.js +0 -2
- package/dist/components/Form/FieldsComponent.d.ts +0 -14
- package/dist/components/Form/FieldsComponent.d.ts.map +0 -1
- package/dist/components/Form/FieldsComponent.js +0 -13
- package/dist/components/Form/Form.d.ts +0 -22
- package/dist/components/Form/Form.d.ts.map +0 -1
- package/dist/components/Form/Form.js +0 -86
- package/dist/components/Form/NumberField/NumberField.d.ts +0 -7
- package/dist/components/Form/NumberField/NumberField.d.ts.map +0 -1
- package/dist/components/Form/NumberField/NumberField.js +0 -14
- package/dist/components/Form/NumberField/NumberFieldInput.d.ts +0 -9
- package/dist/components/Form/NumberField/NumberFieldInput.d.ts.map +0 -1
- package/dist/components/Form/NumberField/NumberFieldInput.js +0 -30
- package/dist/components/Form/NumberField/NumberFieldRadio.d.ts +0 -9
- package/dist/components/Form/NumberField/NumberFieldRadio.d.ts.map +0 -1
- package/dist/components/Form/NumberField/NumberFieldRadio.js +0 -22
- package/dist/components/Form/NumberField/NumberFieldSelect.d.ts +0 -9
- package/dist/components/Form/NumberField/NumberFieldSelect.d.ts.map +0 -1
- package/dist/components/Form/NumberField/NumberFieldSelect.js +0 -20
- package/dist/components/Form/NumberField/NumberFieldSlider.d.ts +0 -9
- package/dist/components/Form/NumberField/NumberFieldSlider.d.ts.map +0 -1
- package/dist/components/Form/NumberField/NumberFieldSlider.js +0 -14
- package/dist/components/Form/NumberRecordField.d.ts +0 -7
- package/dist/components/Form/NumberRecordField.d.ts.map +0 -1
- package/dist/components/Form/NumberRecordField.js +0 -17
- package/dist/components/Form/RecordArrayField.d.ts +0 -24
- package/dist/components/Form/RecordArrayField.d.ts.map +0 -1
- package/dist/components/Form/RecordArrayField.js +0 -56
- package/dist/components/Form/ScalarField.d.ts +0 -8
- package/dist/components/Form/ScalarField.d.ts.map +0 -1
- package/dist/components/Form/ScalarField.js +0 -22
- package/dist/components/Form/SetField/SetField.d.ts +0 -7
- package/dist/components/Form/SetField/SetField.d.ts.map +0 -1
- package/dist/components/Form/SetField/SetField.js +0 -27
- package/dist/components/Form/SetField/SetFieldListbox.d.ts +0 -7
- package/dist/components/Form/SetField/SetFieldListbox.d.ts.map +0 -1
- package/dist/components/Form/SetField/SetFieldListbox.js +0 -16
- package/dist/components/Form/SetField/SetFieldSelect.d.ts +0 -7
- package/dist/components/Form/SetField/SetFieldSelect.d.ts.map +0 -1
- package/dist/components/Form/SetField/SetFieldSelect.js +0 -23
- package/dist/components/Form/StaticField.d.ts +0 -15
- package/dist/components/Form/StaticField.d.ts.map +0 -1
- package/dist/components/Form/StaticField.js +0 -17
- package/dist/components/Form/StringField/StringField.d.ts +0 -8
- package/dist/components/Form/StringField/StringField.d.ts.map +0 -1
- package/dist/components/Form/StringField/StringField.js +0 -16
- package/dist/components/Form/StringField/StringFieldInput.d.ts +0 -8
- package/dist/components/Form/StringField/StringFieldInput.d.ts.map +0 -1
- package/dist/components/Form/StringField/StringFieldInput.js +0 -12
- package/dist/components/Form/StringField/StringFieldPassword.d.ts +0 -9
- package/dist/components/Form/StringField/StringFieldPassword.d.ts.map +0 -1
- package/dist/components/Form/StringField/StringFieldPassword.js +0 -28
- package/dist/components/Form/StringField/StringFieldRadio.d.ts +0 -9
- package/dist/components/Form/StringField/StringFieldRadio.d.ts.map +0 -1
- package/dist/components/Form/StringField/StringFieldRadio.js +0 -5
- package/dist/components/Form/StringField/StringFieldSelect.d.ts +0 -9
- package/dist/components/Form/StringField/StringFieldSelect.d.ts.map +0 -1
- package/dist/components/Form/StringField/StringFieldSelect.js +0 -16
- package/dist/components/Form/StringField/StringFieldTextArea.d.ts +0 -8
- package/dist/components/Form/StringField/StringFieldTextArea.d.ts.map +0 -1
- package/dist/components/Form/StringField/StringFieldTextArea.js +0 -12
- package/dist/components/Form/types.d.ts +0 -24
- package/dist/components/Form/types.d.ts.map +0 -1
- package/dist/components/Form/types.js +0 -1
- package/dist/components/Form/utils.d.ts +0 -10
- package/dist/components/Form/utils.d.ts.map +0 -1
- package/dist/components/Form/utils.js +0 -44
- package/dist/components/Heading/Heading.d.ts +0 -8
- package/dist/components/Heading/Heading.d.ts.map +0 -1
- package/dist/components/Heading/Heading.js +0 -18
- package/dist/components/HoverCard/HoverCard.d.ts +0 -6
- package/dist/components/HoverCard/HoverCard.d.ts.map +0 -1
- package/dist/components/HoverCard/HoverCard.js +0 -6
- package/dist/components/HoverCard/HoverCardContent.d.ts +0 -3
- package/dist/components/HoverCard/HoverCardContent.d.ts.map +0 -1
- package/dist/components/HoverCard/HoverCardContent.js +0 -6
- package/dist/components/Input/Input.d.ts +0 -4
- package/dist/components/Input/Input.d.ts.map +0 -1
- package/dist/components/Input/Input.js +0 -5
- package/dist/components/Label/Label.d.ts +0 -6
- package/dist/components/Label/Label.d.ts.map +0 -1
- package/dist/components/Label/Label.js +0 -8
- package/dist/components/LanguageToggle/LanguageToggle.d.ts +0 -14
- package/dist/components/LanguageToggle/LanguageToggle.d.ts.map +0 -1
- package/dist/components/LanguageToggle/LanguageToggle.js +0 -13
- package/dist/components/LineGraph/LineGraph.d.ts +0 -28
- package/dist/components/LineGraph/LineGraph.d.ts.map +0 -1
- package/dist/components/LineGraph/LineGraph.js +0 -42
- package/dist/components/ListboxDropdown/ListboxDropdown.d.ts +0 -21
- package/dist/components/ListboxDropdown/ListboxDropdown.d.ts.map +0 -1
- package/dist/components/ListboxDropdown/ListboxDropdown.js +0 -24
- package/dist/components/MenuBar/MenuBar.d.ts +0 -28
- package/dist/components/MenuBar/MenuBar.d.ts.map +0 -1
- package/dist/components/MenuBar/MenuBar.js +0 -29
- package/dist/components/MenuBar/MenuBarCheckboxItem.d.ts +0 -3
- package/dist/components/MenuBar/MenuBarCheckboxItem.d.ts.map +0 -1
- package/dist/components/MenuBar/MenuBarCheckboxItem.js +0 -11
- package/dist/components/MenuBar/MenuBarContent.d.ts +0 -3
- package/dist/components/MenuBar/MenuBarContent.d.ts.map +0 -1
- package/dist/components/MenuBar/MenuBarContent.js +0 -7
- package/dist/components/MenuBar/MenuBarItem.d.ts +0 -5
- package/dist/components/MenuBar/MenuBarItem.d.ts.map +0 -1
- package/dist/components/MenuBar/MenuBarItem.js +0 -6
- package/dist/components/MenuBar/MenuBarLabel.d.ts +0 -5
- package/dist/components/MenuBar/MenuBarLabel.d.ts.map +0 -1
- package/dist/components/MenuBar/MenuBarLabel.js +0 -6
- package/dist/components/MenuBar/MenuBarRadioItem.d.ts +0 -3
- package/dist/components/MenuBar/MenuBarRadioItem.d.ts.map +0 -1
- package/dist/components/MenuBar/MenuBarRadioItem.js +0 -11
- package/dist/components/MenuBar/MenuBarRoot.d.ts +0 -3
- package/dist/components/MenuBar/MenuBarRoot.d.ts.map +0 -1
- package/dist/components/MenuBar/MenuBarRoot.js +0 -6
- package/dist/components/MenuBar/MenuBarSeparator.d.ts +0 -3
- package/dist/components/MenuBar/MenuBarSeparator.d.ts.map +0 -1
- package/dist/components/MenuBar/MenuBarSeparator.js +0 -6
- package/dist/components/MenuBar/MenuBarShortcut.d.ts +0 -3
- package/dist/components/MenuBar/MenuBarShortcut.d.ts.map +0 -1
- package/dist/components/MenuBar/MenuBarShortcut.js +0 -5
- package/dist/components/MenuBar/MenuBarSubContent.d.ts +0 -3
- package/dist/components/MenuBar/MenuBarSubContent.d.ts.map +0 -1
- package/dist/components/MenuBar/MenuBarSubContent.js +0 -6
- package/dist/components/MenuBar/MenuBarSubTrigger.d.ts +0 -5
- package/dist/components/MenuBar/MenuBarSubTrigger.d.ts.map +0 -1
- package/dist/components/MenuBar/MenuBarSubTrigger.js +0 -9
- package/dist/components/MenuBar/MenuBarTrigger.d.ts +0 -3
- package/dist/components/MenuBar/MenuBarTrigger.d.ts.map +0 -1
- package/dist/components/MenuBar/MenuBarTrigger.js +0 -6
- package/dist/components/NotificationHub/NotificationHub.d.ts +0 -8
- package/dist/components/NotificationHub/NotificationHub.d.ts.map +0 -1
- package/dist/components/NotificationHub/NotificationHub.js +0 -28
- package/dist/components/NotificationHub/NotificationIcon.d.ts +0 -7
- package/dist/components/NotificationHub/NotificationIcon.d.ts.map +0 -1
- package/dist/components/NotificationHub/NotificationIcon.js +0 -15
- package/dist/components/Pagination/Pagination.d.ts +0 -845
- package/dist/components/Pagination/Pagination.d.ts.map +0 -1
- package/dist/components/Pagination/Pagination.js +0 -15
- package/dist/components/Pagination/PaginationContent.d.ts +0 -3
- package/dist/components/Pagination/PaginationContent.d.ts.map +0 -1
- package/dist/components/Pagination/PaginationContent.js +0 -3
- package/dist/components/Pagination/PaginationEllipsis.d.ts +0 -3
- package/dist/components/Pagination/PaginationEllipsis.d.ts.map +0 -1
- package/dist/components/Pagination/PaginationEllipsis.js +0 -6
- package/dist/components/Pagination/PaginationItem.d.ts +0 -3
- package/dist/components/Pagination/PaginationItem.d.ts.map +0 -1
- package/dist/components/Pagination/PaginationItem.js +0 -2
- package/dist/components/Pagination/PaginationLink.d.ts +0 -8
- package/dist/components/Pagination/PaginationLink.d.ts.map +0 -1
- package/dist/components/Pagination/PaginationLink.js +0 -7
- package/dist/components/Pagination/PaginationNext.d.ts +0 -4
- package/dist/components/Pagination/PaginationNext.d.ts.map +0 -1
- package/dist/components/Pagination/PaginationNext.js +0 -11
- package/dist/components/Pagination/PaginationPrevious.d.ts +0 -4
- package/dist/components/Pagination/PaginationPrevious.d.ts.map +0 -1
- package/dist/components/Pagination/PaginationPrevious.js +0 -11
- package/dist/components/Pagination/PaginationRoot.d.ts +0 -3
- package/dist/components/Pagination/PaginationRoot.d.ts.map +0 -1
- package/dist/components/Pagination/PaginationRoot.js +0 -3
- package/dist/components/Popover/Popover.d.ts +0 -6
- package/dist/components/Popover/Popover.d.ts.map +0 -1
- package/dist/components/Popover/Popover.js +0 -6
- package/dist/components/Popover/PopoverContent.d.ts +0 -19
- package/dist/components/Popover/PopoverContent.d.ts.map +0 -1
- package/dist/components/Popover/PopoverContent.js +0 -7
- package/dist/components/Progress/Progress.d.ts +0 -4
- package/dist/components/Progress/Progress.d.ts.map +0 -1
- package/dist/components/Progress/Progress.js +0 -7
- package/dist/components/RadioGroup/RadioGroup.d.ts +0 -8
- package/dist/components/RadioGroup/RadioGroup.d.ts.map +0 -1
- package/dist/components/RadioGroup/RadioGroup.js +0 -10
- package/dist/components/RadioGroup/RadioGroupItem.d.ts +0 -4
- package/dist/components/RadioGroup/RadioGroupItem.d.ts.map +0 -1
- package/dist/components/RadioGroup/RadioGroupItem.js +0 -9
- package/dist/components/Resizable/Resizable.d.ts +0 -15
- package/dist/components/Resizable/Resizable.d.ts.map +0 -1
- package/dist/components/Resizable/Resizable.js +0 -11
- package/dist/components/Resizable/ResizableHandle.d.ts +0 -7
- package/dist/components/Resizable/ResizableHandle.d.ts.map +0 -1
- package/dist/components/Resizable/ResizableHandle.js +0 -6
- package/dist/components/Resizable/ResizablePanelGroup.d.ts +0 -5
- package/dist/components/Resizable/ResizablePanelGroup.d.ts.map +0 -1
- package/dist/components/Resizable/ResizablePanelGroup.js +0 -4
- package/dist/components/ScrollArea/ScrollArea.d.ts +0 -3
- package/dist/components/ScrollArea/ScrollArea.d.ts.map +0 -1
- package/dist/components/ScrollArea/ScrollArea.js +0 -10
- package/dist/components/ScrollArea/ScrollBar.d.ts +0 -3
- package/dist/components/ScrollArea/ScrollBar.d.ts.map +0 -1
- package/dist/components/ScrollArea/ScrollBar.js +0 -7
- package/dist/components/SearchBar/SearchBar.d.ts +0 -25
- package/dist/components/SearchBar/SearchBar.d.ts.map +0 -1
- package/dist/components/SearchBar/SearchBar.js +0 -13
- package/dist/components/Select/Select.d.ts +0 -14
- package/dist/components/Select/Select.d.ts.map +0 -1
- package/dist/components/Select/Select.js +0 -19
- package/dist/components/Select/SelectContent.d.ts +0 -4
- package/dist/components/Select/SelectContent.d.ts.map +0 -1
- package/dist/components/Select/SelectContent.js +0 -14
- package/dist/components/Select/SelectItem.d.ts +0 -4
- package/dist/components/Select/SelectItem.d.ts.map +0 -1
- package/dist/components/Select/SelectItem.js +0 -11
- package/dist/components/Select/SelectLabel.d.ts +0 -4
- package/dist/components/Select/SelectLabel.d.ts.map +0 -1
- package/dist/components/Select/SelectLabel.js +0 -6
- package/dist/components/Select/SelectScrollDownButton.d.ts +0 -4
- package/dist/components/Select/SelectScrollDownButton.d.ts.map +0 -1
- package/dist/components/Select/SelectScrollDownButton.js +0 -8
- package/dist/components/Select/SelectScrollUpButton.d.ts +0 -4
- package/dist/components/Select/SelectScrollUpButton.d.ts.map +0 -1
- package/dist/components/Select/SelectScrollUpButton.js +0 -8
- package/dist/components/Select/SelectSeparator.d.ts +0 -4
- package/dist/components/Select/SelectSeparator.d.ts.map +0 -1
- package/dist/components/Select/SelectSeparator.js +0 -6
- package/dist/components/Select/SelectTrigger.d.ts +0 -4
- package/dist/components/Select/SelectTrigger.d.ts.map +0 -1
- package/dist/components/Select/SelectTrigger.js +0 -7
- package/dist/components/Separator/Separator.d.ts +0 -4
- package/dist/components/Separator/Separator.d.ts.map +0 -1
- package/dist/components/Separator/Separator.js +0 -6
- package/dist/components/Sheet/Sheet.d.ts +0 -16
- package/dist/components/Sheet/Sheet.d.ts.map +0 -1
- package/dist/components/Sheet/Sheet.js +0 -20
- package/dist/components/Sheet/SheetBody.d.ts +0 -3
- package/dist/components/Sheet/SheetBody.d.ts.map +0 -1
- package/dist/components/Sheet/SheetBody.js +0 -5
- package/dist/components/Sheet/SheetContent.d.ts +0 -11
- package/dist/components/Sheet/SheetContent.d.ts.map +0 -1
- package/dist/components/Sheet/SheetContent.js +0 -27
- package/dist/components/Sheet/SheetDescription.d.ts +0 -3
- package/dist/components/Sheet/SheetDescription.d.ts.map +0 -1
- package/dist/components/Sheet/SheetDescription.js +0 -6
- package/dist/components/Sheet/SheetFooter.d.ts +0 -3
- package/dist/components/Sheet/SheetFooter.d.ts.map +0 -1
- package/dist/components/Sheet/SheetFooter.js +0 -3
- package/dist/components/Sheet/SheetHeader.d.ts +0 -3
- package/dist/components/Sheet/SheetHeader.d.ts.map +0 -1
- package/dist/components/Sheet/SheetHeader.js +0 -3
- package/dist/components/Sheet/SheetOverlay.d.ts +0 -3
- package/dist/components/Sheet/SheetOverlay.d.ts.map +0 -1
- package/dist/components/Sheet/SheetOverlay.js +0 -6
- package/dist/components/Sheet/SheetTitle.d.ts +0 -3
- package/dist/components/Sheet/SheetTitle.d.ts.map +0 -1
- package/dist/components/Sheet/SheetTitle.js +0 -6
- package/dist/components/Slider/Slider.d.ts +0 -3
- package/dist/components/Slider/Slider.d.ts.map +0 -1
- package/dist/components/Slider/Slider.js +0 -9
- package/dist/components/Spinner/Spinner.d.ts +0 -4
- package/dist/components/Spinner/Spinner.d.ts.map +0 -1
- package/dist/components/Spinner/Spinner.js +0 -13
- package/dist/components/SpinnerIcon/SpinnerIcon.d.ts +0 -3
- package/dist/components/SpinnerIcon/SpinnerIcon.d.ts.map +0 -1
- package/dist/components/SpinnerIcon/SpinnerIcon.js +0 -4
- package/dist/components/Switch/Switch.d.ts +0 -4
- package/dist/components/Switch/Switch.d.ts.map +0 -1
- package/dist/components/Switch/Switch.js +0 -7
- package/dist/components/Table/Table.d.ts +0 -11
- package/dist/components/Table/Table.d.ts.map +0 -1
- package/dist/components/Table/Table.js +0 -17
- package/dist/components/Table/TableBody.d.ts +0 -3
- package/dist/components/Table/TableBody.d.ts.map +0 -1
- package/dist/components/Table/TableBody.js +0 -5
- package/dist/components/Table/TableCaption.d.ts +0 -3
- package/dist/components/Table/TableCaption.d.ts.map +0 -1
- package/dist/components/Table/TableCaption.js +0 -5
- package/dist/components/Table/TableCell.d.ts +0 -3
- package/dist/components/Table/TableCell.d.ts.map +0 -1
- package/dist/components/Table/TableCell.js +0 -5
- package/dist/components/Table/TableFooter.d.ts +0 -3
- package/dist/components/Table/TableFooter.d.ts.map +0 -1
- package/dist/components/Table/TableFooter.js +0 -5
- package/dist/components/Table/TableHead.d.ts +0 -3
- package/dist/components/Table/TableHead.d.ts.map +0 -1
- package/dist/components/Table/TableHead.js +0 -5
- package/dist/components/Table/TableHeader.d.ts +0 -3
- package/dist/components/Table/TableHeader.d.ts.map +0 -1
- package/dist/components/Table/TableHeader.js +0 -5
- package/dist/components/Table/TableRoot.d.ts +0 -3
- package/dist/components/Table/TableRoot.d.ts.map +0 -1
- package/dist/components/Table/TableRoot.js +0 -6
- package/dist/components/Table/TableRow.d.ts +0 -3
- package/dist/components/Table/TableRow.d.ts.map +0 -1
- package/dist/components/Table/TableRow.js +0 -5
- package/dist/components/Tabs/Tabs.d.ts +0 -7
- package/dist/components/Tabs/Tabs.d.ts.map +0 -1
- package/dist/components/Tabs/Tabs.js +0 -9
- package/dist/components/Tabs/TabsContent.d.ts +0 -4
- package/dist/components/Tabs/TabsContent.d.ts.map +0 -1
- package/dist/components/Tabs/TabsContent.js +0 -6
- package/dist/components/Tabs/TabsList.d.ts +0 -4
- package/dist/components/Tabs/TabsList.d.ts.map +0 -1
- package/dist/components/Tabs/TabsList.js +0 -6
- package/dist/components/Tabs/TabsRoot.d.ts +0 -3
- package/dist/components/Tabs/TabsRoot.d.ts.map +0 -1
- package/dist/components/Tabs/TabsRoot.js +0 -5
- package/dist/components/Tabs/TabsTrigger.d.ts +0 -4
- package/dist/components/Tabs/TabsTrigger.d.ts.map +0 -1
- package/dist/components/Tabs/TabsTrigger.js +0 -6
- package/dist/components/TextArea/TextArea.d.ts +0 -4
- package/dist/components/TextArea/TextArea.d.ts.map +0 -1
- package/dist/components/TextArea/TextArea.js +0 -5
- package/dist/components/ThemeToggle/ThemeToggle.d.ts +0 -5
- package/dist/components/ThemeToggle/ThemeToggle.d.ts.map +0 -1
- package/dist/components/ThemeToggle/ThemeToggle.js +0 -16
- package/dist/components/Tooltip/Tooltip.d.ts +0 -6
- package/dist/components/Tooltip/Tooltip.d.ts.map +0 -1
- package/dist/components/Tooltip/Tooltip.js +0 -7
- package/dist/components/Tooltip/TooltipContent.d.ts +0 -17
- package/dist/components/Tooltip/TooltipContent.d.ts.map +0 -1
- package/dist/components/Tooltip/TooltipContent.js +0 -6
- package/dist/components/Tooltip/TooltipRoot.d.ts +0 -11
- package/dist/components/Tooltip/TooltipRoot.d.ts.map +0 -1
- package/dist/components/Tooltip/TooltipRoot.js +0 -6
- package/dist/components/Tooltip/TooltipTrigger.d.ts +0 -5
- package/dist/components/Tooltip/TooltipTrigger.d.ts.map +0 -1
- package/dist/components/Tooltip/TooltipTrigger.js +0 -7
- package/dist/components.d.ts.map +0 -1
- package/dist/douglasneuroinformatics-libui-2.10.0.tgz +0 -0
- package/dist/hooks/useDownload.d.ts +0 -20
- package/dist/hooks/useDownload.d.ts.map +0 -1
- package/dist/hooks/useDownload.js +0 -42
- package/dist/hooks/useEventCallback.d.ts +0 -2
- package/dist/hooks/useEventCallback.d.ts.map +0 -1
- package/dist/hooks/useEventCallback.js +0 -11
- package/dist/hooks/useEventListener.d.ts +0 -7
- package/dist/hooks/useEventListener.d.ts.map +0 -1
- package/dist/hooks/useEventListener.js +0 -23
- package/dist/hooks/useInterval.d.ts +0 -2
- package/dist/hooks/useInterval.d.ts.map +0 -1
- package/dist/hooks/useInterval.js +0 -19
- package/dist/hooks/useIsomorphicLayoutEffect.d.ts +0 -3
- package/dist/hooks/useIsomorphicLayoutEffect.d.ts.map +0 -1
- package/dist/hooks/useIsomorphicLayoutEffect.js +0 -3
- package/dist/hooks/useMediaQuery.d.ts +0 -11
- package/dist/hooks/useMediaQuery.d.ts.map +0 -1
- package/dist/hooks/useMediaQuery.js +0 -34
- package/dist/hooks/useNotificationsStore.d.ts +0 -14
- package/dist/hooks/useNotificationsStore.d.ts.map +0 -1
- package/dist/hooks/useNotificationsStore.js +0 -14
- package/dist/hooks/useOnClickOutside.d.ts +0 -5
- package/dist/hooks/useOnClickOutside.d.ts.map +0 -1
- package/dist/hooks/useOnClickOutside.js +0 -12
- package/dist/hooks/useSessionStorage.d.ts +0 -38
- package/dist/hooks/useSessionStorage.d.ts.map +0 -1
- package/dist/hooks/useSessionStorage.js +0 -99
- package/dist/hooks/useTheme.d.ts +0 -19
- package/dist/hooks/useTheme.d.ts.map +0 -1
- package/dist/hooks/useTheme.js +0 -60
- package/dist/hooks/useWindowSize.d.ts +0 -6
- package/dist/hooks/useWindowSize.d.ts.map +0 -1
- package/dist/hooks/useWindowSize.js +0 -21
- package/dist/hooks.d.ts.map +0 -1
- package/dist/i18n.d.ts.map +0 -1
- package/dist/testing/mocks.d.ts +0 -16
- package/dist/testing/mocks.d.ts.map +0 -1
- package/dist/testing/mocks.js +0 -46
- package/dist/testing/setup-tests.d.ts +0 -2
- package/dist/testing/setup-tests.d.ts.map +0 -1
- package/dist/testing/setup-tests.js +0 -8
- package/dist/translations/libui.json +0 -154
- package/dist/utils.d.ts.map +0 -1
- package/src/components.ts +0 -50
- package/src/hooks.ts +0 -11
- package/src/i18n.ts +0 -78
- package/src/typings/i18next.d.ts +0 -21
- package/tailwind.config.d.cts +0 -7
- /package/dist/{styles → tailwind}/globals.css +0 -0
- /package/src/hooks/{useNotificationsStore.ts → useNotificationsStore/useNotificationsStore.ts} +0 -0
- /package/src/{translations → i18n/translations}/libui.json +0 -0
- /package/src/{styles → tailwind}/globals.css +0 -0
- /package/src/{utils.ts → utils/index.ts} +0 -0
package/README.md
CHANGED
|
@@ -44,20 +44,42 @@ pnpm install @douglasneuroinformatics/libui
|
|
|
44
44
|
|
|
45
45
|
**tailwind.config.cjs**
|
|
46
46
|
|
|
47
|
-
```
|
|
48
|
-
const
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
47
|
+
```js
|
|
48
|
+
const config = require('@douglasneuroinformatics/libui/tailwind/config');
|
|
49
|
+
|
|
50
|
+
module.exports = config({
|
|
51
|
+
content: ['./index.html', './src/**/*.{js,ts,jsx,tsx}']
|
|
52
|
+
});
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
**i18n.ts**
|
|
56
|
+
|
|
57
|
+
```ts
|
|
58
|
+
import { init } from '@douglasneuroinformatics/libui/i18n';
|
|
59
|
+
|
|
60
|
+
import common from './common.json';
|
|
61
|
+
|
|
62
|
+
declare module '@douglasneuroinformatics/libui/i18n' {
|
|
63
|
+
export namespace UserConfig {
|
|
64
|
+
export interface LanguageOptions {
|
|
65
|
+
en: true;
|
|
66
|
+
es: true;
|
|
67
|
+
fr: true;
|
|
68
|
+
}
|
|
69
|
+
export interface Translations {
|
|
70
|
+
common: typeof common;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
init({ translations: { common } });
|
|
55
76
|
```
|
|
56
77
|
|
|
57
78
|
**main.tsx**
|
|
58
79
|
|
|
59
80
|
```js
|
|
60
|
-
import '@douglasneuroinformatics/libui/
|
|
81
|
+
import '@douglasneuroinformatics/libui/tailwind/globals.css';
|
|
82
|
+
import './i18n';
|
|
61
83
|
```
|
|
62
84
|
|
|
63
85
|
## Contributing
|
|
@@ -69,4 +91,4 @@ We welcome contributions! If you're interested in improving the library or addin
|
|
|
69
91
|
Copyright (C) 2024 Douglas Neuroinformatics Platform
|
|
70
92
|
|
|
71
93
|
This program is free software: you can redistribute it and/or modify
|
|
72
|
-
it under the terms of the Apache License
|
|
94
|
+
it under the terms of the Apache License 2.0.
|
|
@@ -0,0 +1,337 @@
|
|
|
1
|
+
import {
|
|
2
|
+
translationStore
|
|
3
|
+
} from "./chunk-A6FWMB7V.js";
|
|
4
|
+
import {
|
|
5
|
+
isBrowser
|
|
6
|
+
} from "./chunk-IX6RFIQL.js";
|
|
7
|
+
|
|
8
|
+
// src/hooks/useDownload/useDownload.ts
|
|
9
|
+
import { useEffect, useState } from "react";
|
|
10
|
+
|
|
11
|
+
// src/hooks/useNotificationsStore/useNotificationsStore.ts
|
|
12
|
+
import { create } from "zustand";
|
|
13
|
+
var useNotificationsStore = create((set) => ({
|
|
14
|
+
addNotification: (notification) => {
|
|
15
|
+
set((state) => ({
|
|
16
|
+
notifications: [...state.notifications, { id: Date.now(), ...notification }]
|
|
17
|
+
}));
|
|
18
|
+
},
|
|
19
|
+
dismissNotification: (id) => {
|
|
20
|
+
set((state) => ({
|
|
21
|
+
notifications: state.notifications.filter((notification) => notification.id !== id)
|
|
22
|
+
}));
|
|
23
|
+
},
|
|
24
|
+
notifications: []
|
|
25
|
+
}));
|
|
26
|
+
|
|
27
|
+
// src/hooks/useDownload/useDownload.ts
|
|
28
|
+
function useDownload() {
|
|
29
|
+
const notifications = useNotificationsStore();
|
|
30
|
+
const [state, setState] = useState(null);
|
|
31
|
+
useEffect(() => {
|
|
32
|
+
if (state) {
|
|
33
|
+
const { blobType, data, filename } = state;
|
|
34
|
+
const anchor = document.createElement("a");
|
|
35
|
+
document.body.appendChild(anchor);
|
|
36
|
+
const blob = new Blob([data], { type: blobType });
|
|
37
|
+
const url = URL.createObjectURL(blob);
|
|
38
|
+
anchor.href = url;
|
|
39
|
+
anchor.download = filename;
|
|
40
|
+
anchor.click();
|
|
41
|
+
URL.revokeObjectURL(url);
|
|
42
|
+
anchor.remove();
|
|
43
|
+
setState(null);
|
|
44
|
+
}
|
|
45
|
+
}, [state]);
|
|
46
|
+
return async (filename, _data, options) => {
|
|
47
|
+
try {
|
|
48
|
+
const data = typeof _data === "function" ? await _data() : _data;
|
|
49
|
+
if (typeof data !== "string" && !options?.blobType) {
|
|
50
|
+
throw new Error("argument 'blobType' must be defined when download is called with a Blob object");
|
|
51
|
+
}
|
|
52
|
+
setState({ blobType: options?.blobType ?? "text/plain", data, filename });
|
|
53
|
+
} catch (error) {
|
|
54
|
+
const message = error instanceof Error ? error.message : "An unknown error occurred";
|
|
55
|
+
notifications.addNotification({
|
|
56
|
+
message,
|
|
57
|
+
title: "Error",
|
|
58
|
+
type: "error"
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
// src/hooks/useEventCallback/useEventCallback.ts
|
|
65
|
+
import { useCallback, useRef } from "react";
|
|
66
|
+
|
|
67
|
+
// src/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.ts
|
|
68
|
+
import { useEffect as useEffect2, useLayoutEffect } from "react";
|
|
69
|
+
var useIsomorphicLayoutEffect = isBrowser() ? useLayoutEffect : useEffect2;
|
|
70
|
+
|
|
71
|
+
// src/hooks/useEventCallback/useEventCallback.ts
|
|
72
|
+
function useEventCallback(fn) {
|
|
73
|
+
const ref = useRef(() => {
|
|
74
|
+
throw new Error("Cannot call an event handler while rendering.");
|
|
75
|
+
});
|
|
76
|
+
useIsomorphicLayoutEffect(() => {
|
|
77
|
+
ref.current = fn;
|
|
78
|
+
}, [fn]);
|
|
79
|
+
return useCallback((...args) => ref.current(...args), [ref]);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
// src/hooks/useEventListener/useEventListener.ts
|
|
83
|
+
import { useEffect as useEffect3, useRef as useRef2 } from "react";
|
|
84
|
+
function useEventListener(eventName, handler, element, options) {
|
|
85
|
+
const savedHandler = useRef2(handler);
|
|
86
|
+
useIsomorphicLayoutEffect(() => {
|
|
87
|
+
savedHandler.current = handler;
|
|
88
|
+
}, [handler]);
|
|
89
|
+
useEffect3(() => {
|
|
90
|
+
const targetElement = element?.current ?? window;
|
|
91
|
+
if (!(targetElement && targetElement.addEventListener)) return;
|
|
92
|
+
const listener = (event) => savedHandler.current(event);
|
|
93
|
+
targetElement.addEventListener(eventName, listener, options);
|
|
94
|
+
return () => {
|
|
95
|
+
targetElement.removeEventListener(eventName, listener, options);
|
|
96
|
+
};
|
|
97
|
+
}, [eventName, element, options]);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
// src/hooks/useInterval/useInterval.ts
|
|
101
|
+
import { useEffect as useEffect4, useRef as useRef3 } from "react";
|
|
102
|
+
function useInterval(callback, delay) {
|
|
103
|
+
const savedCallback = useRef3(callback);
|
|
104
|
+
useIsomorphicLayoutEffect(() => {
|
|
105
|
+
savedCallback.current = callback;
|
|
106
|
+
}, [callback]);
|
|
107
|
+
useEffect4(() => {
|
|
108
|
+
if (!delay && delay !== 0) {
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
const id = setInterval(() => savedCallback.current(), delay);
|
|
112
|
+
return () => clearInterval(id);
|
|
113
|
+
}, [delay]);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
// src/hooks/useMediaQuery/useMediaQuery.ts
|
|
117
|
+
import { useEffect as useEffect5, useState as useState2 } from "react";
|
|
118
|
+
function useMediaQuery(query) {
|
|
119
|
+
const getMatches = (query2) => {
|
|
120
|
+
if (isBrowser()) {
|
|
121
|
+
return window.matchMedia(query2).matches;
|
|
122
|
+
}
|
|
123
|
+
return false;
|
|
124
|
+
};
|
|
125
|
+
const [matches, setMatches] = useState2(getMatches(query));
|
|
126
|
+
function handleChange() {
|
|
127
|
+
setMatches(getMatches(query));
|
|
128
|
+
}
|
|
129
|
+
useEffect5(() => {
|
|
130
|
+
const matchMedia = window.matchMedia(query);
|
|
131
|
+
handleChange();
|
|
132
|
+
matchMedia.addEventListener("change", handleChange);
|
|
133
|
+
return () => {
|
|
134
|
+
matchMedia.removeEventListener("change", handleChange);
|
|
135
|
+
};
|
|
136
|
+
}, [query]);
|
|
137
|
+
return matches;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
// src/hooks/useOnClickOutside/useOnClickOutside.ts
|
|
141
|
+
import "react";
|
|
142
|
+
function useOnClickOutside(ref, handler, mouseEvent = "mousedown") {
|
|
143
|
+
useEventListener(mouseEvent, (event) => {
|
|
144
|
+
const el = ref.current;
|
|
145
|
+
if (!el || el.contains(event.target)) {
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
handler(event);
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
// src/hooks/useSessionStorage/useSessionStorage.ts
|
|
153
|
+
import { useCallback as useCallback2, useEffect as useEffect6, useState as useState3 } from "react";
|
|
154
|
+
function useSessionStorage(key, initialValue, options = {}) {
|
|
155
|
+
const { initializeWithValue = true } = options;
|
|
156
|
+
const serializer = useCallback2(
|
|
157
|
+
(value) => {
|
|
158
|
+
if (options.serializer) {
|
|
159
|
+
return options.serializer(value);
|
|
160
|
+
}
|
|
161
|
+
return JSON.stringify(value);
|
|
162
|
+
},
|
|
163
|
+
[options]
|
|
164
|
+
);
|
|
165
|
+
const deserializer = useCallback2(
|
|
166
|
+
(value) => {
|
|
167
|
+
if (options.deserializer) {
|
|
168
|
+
return options.deserializer(value);
|
|
169
|
+
}
|
|
170
|
+
if (value === "undefined") {
|
|
171
|
+
return void 0;
|
|
172
|
+
}
|
|
173
|
+
const defaultValue = initialValue instanceof Function ? initialValue() : initialValue;
|
|
174
|
+
let parsed;
|
|
175
|
+
try {
|
|
176
|
+
parsed = JSON.parse(value);
|
|
177
|
+
} catch (err) {
|
|
178
|
+
console.error(`Error parsing JSON: ${err.message}`);
|
|
179
|
+
return defaultValue;
|
|
180
|
+
}
|
|
181
|
+
return parsed;
|
|
182
|
+
},
|
|
183
|
+
[options, initialValue]
|
|
184
|
+
);
|
|
185
|
+
const readValue = useCallback2(() => {
|
|
186
|
+
const initialValueToUse = initialValue instanceof Function ? initialValue() : initialValue;
|
|
187
|
+
if (!isBrowser()) {
|
|
188
|
+
return initialValueToUse;
|
|
189
|
+
}
|
|
190
|
+
const raw = window.sessionStorage.getItem(key);
|
|
191
|
+
return raw ? deserializer(raw) : initialValueToUse;
|
|
192
|
+
}, [initialValue, key, deserializer]);
|
|
193
|
+
const [storedValue, setStoredValue] = useState3(() => {
|
|
194
|
+
if (initializeWithValue) {
|
|
195
|
+
return readValue();
|
|
196
|
+
}
|
|
197
|
+
return initialValue instanceof Function ? initialValue() : initialValue;
|
|
198
|
+
});
|
|
199
|
+
const setValue = useEventCallback((value) => {
|
|
200
|
+
if (!isBrowser()) {
|
|
201
|
+
console.warn(`Tried setting sessionStorage key \u201C${key}\u201D even though environment is not a client`);
|
|
202
|
+
}
|
|
203
|
+
try {
|
|
204
|
+
const newValue = value instanceof Function ? value(readValue()) : value;
|
|
205
|
+
window.sessionStorage.setItem(key, serializer(newValue));
|
|
206
|
+
setStoredValue(newValue);
|
|
207
|
+
window.dispatchEvent(new StorageEvent("session-storage", { key }));
|
|
208
|
+
} catch (error) {
|
|
209
|
+
console.warn(`Error setting sessionStorage key \u201C${key}\u201D:`, error);
|
|
210
|
+
}
|
|
211
|
+
});
|
|
212
|
+
useEffect6(() => {
|
|
213
|
+
setStoredValue(readValue());
|
|
214
|
+
}, [key]);
|
|
215
|
+
const handleStorageChange = useCallback2(
|
|
216
|
+
(event) => {
|
|
217
|
+
if (event.key && event.key !== key) {
|
|
218
|
+
return;
|
|
219
|
+
}
|
|
220
|
+
setStoredValue(readValue());
|
|
221
|
+
},
|
|
222
|
+
[key, readValue]
|
|
223
|
+
);
|
|
224
|
+
useEventListener("storage", handleStorageChange);
|
|
225
|
+
useEventListener("session-storage", handleStorageChange);
|
|
226
|
+
return [storedValue, setValue];
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
// src/hooks/useTheme/useTheme.ts
|
|
230
|
+
import { useEffect as useEffect7, useState as useState4 } from "react";
|
|
231
|
+
var DEFAULT_THEME = "light";
|
|
232
|
+
var THEME_ATTRIBUTE = "data-mode";
|
|
233
|
+
var THEME_KEY = "theme";
|
|
234
|
+
var SYS_DARK_MEDIA_QUERY = "(prefers-color-scheme: dark)";
|
|
235
|
+
function useTheme() {
|
|
236
|
+
const [theme, setTheme] = useState4(() => {
|
|
237
|
+
if (!isBrowser()) {
|
|
238
|
+
return DEFAULT_THEME;
|
|
239
|
+
}
|
|
240
|
+
const savedTheme = window.localStorage.getItem(THEME_KEY);
|
|
241
|
+
let initialTheme;
|
|
242
|
+
if (savedTheme === "dark" || savedTheme === "light") {
|
|
243
|
+
initialTheme = savedTheme;
|
|
244
|
+
} else {
|
|
245
|
+
initialTheme = window.matchMedia(SYS_DARK_MEDIA_QUERY).matches ? "dark" : "light";
|
|
246
|
+
}
|
|
247
|
+
document.documentElement.setAttribute(THEME_ATTRIBUTE, initialTheme);
|
|
248
|
+
return initialTheme;
|
|
249
|
+
});
|
|
250
|
+
useEffect7(() => {
|
|
251
|
+
const observer = new MutationObserver((mutations) => {
|
|
252
|
+
mutations.forEach((mutation) => {
|
|
253
|
+
if (mutation.attributeName === THEME_ATTRIBUTE) {
|
|
254
|
+
const updatedTheme = mutation.target.getAttribute(THEME_ATTRIBUTE);
|
|
255
|
+
if (updatedTheme === "light" || updatedTheme === "dark") {
|
|
256
|
+
window.localStorage.setItem(THEME_KEY, updatedTheme);
|
|
257
|
+
setTheme(updatedTheme);
|
|
258
|
+
} else {
|
|
259
|
+
console.error(`Unexpected value for 'data-mode' attribute: ${updatedTheme}`);
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
});
|
|
263
|
+
});
|
|
264
|
+
observer.observe(document.documentElement, {
|
|
265
|
+
attributes: true
|
|
266
|
+
});
|
|
267
|
+
return () => observer.disconnect();
|
|
268
|
+
}, []);
|
|
269
|
+
const updateTheme = (theme2) => {
|
|
270
|
+
document.documentElement.setAttribute(THEME_ATTRIBUTE, theme2);
|
|
271
|
+
};
|
|
272
|
+
return [theme, updateTheme];
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
// src/hooks/useTranslation/useTranslation.ts
|
|
276
|
+
import { useCallback as useCallback3 } from "react";
|
|
277
|
+
import { get } from "lodash-es";
|
|
278
|
+
import { useStore } from "zustand";
|
|
279
|
+
function useTranslation(namespace) {
|
|
280
|
+
const changeLanguage = useStore(translationStore, (store) => store.changeLanguage);
|
|
281
|
+
const fallbackLanguage = useStore(translationStore, (store) => store.fallbackLanguage);
|
|
282
|
+
const resolvedLanguage = useStore(translationStore, (store) => store.resolvedLanguage);
|
|
283
|
+
const translations = useStore(translationStore, (store) => {
|
|
284
|
+
if (namespace) {
|
|
285
|
+
return store.translations[namespace];
|
|
286
|
+
}
|
|
287
|
+
return store.translations;
|
|
288
|
+
});
|
|
289
|
+
const t = useCallback3(
|
|
290
|
+
(arg) => {
|
|
291
|
+
const value = typeof arg === "string" ? get(translations, arg, arg) : arg;
|
|
292
|
+
return value[resolvedLanguage] ?? value[fallbackLanguage];
|
|
293
|
+
},
|
|
294
|
+
[fallbackLanguage, resolvedLanguage, translations]
|
|
295
|
+
);
|
|
296
|
+
return { changeLanguage, resolvedLanguage, t };
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
// src/hooks/useWindowSize/useWindowSize.ts
|
|
300
|
+
import { useState as useState5 } from "react";
|
|
301
|
+
function useWindowSize() {
|
|
302
|
+
const [windowSize, setWindowSize] = useState5({
|
|
303
|
+
height: 0,
|
|
304
|
+
width: 0
|
|
305
|
+
});
|
|
306
|
+
const handleSize = () => {
|
|
307
|
+
setWindowSize({
|
|
308
|
+
height: window.innerHeight,
|
|
309
|
+
width: window.innerWidth
|
|
310
|
+
});
|
|
311
|
+
};
|
|
312
|
+
useEventListener("resize", handleSize);
|
|
313
|
+
useIsomorphicLayoutEffect(() => {
|
|
314
|
+
handleSize();
|
|
315
|
+
}, []);
|
|
316
|
+
return windowSize;
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
export {
|
|
320
|
+
useNotificationsStore,
|
|
321
|
+
useDownload,
|
|
322
|
+
useIsomorphicLayoutEffect,
|
|
323
|
+
useEventCallback,
|
|
324
|
+
useEventListener,
|
|
325
|
+
useInterval,
|
|
326
|
+
useMediaQuery,
|
|
327
|
+
useOnClickOutside,
|
|
328
|
+
useSessionStorage,
|
|
329
|
+
DEFAULT_THEME,
|
|
330
|
+
THEME_ATTRIBUTE,
|
|
331
|
+
THEME_KEY,
|
|
332
|
+
SYS_DARK_MEDIA_QUERY,
|
|
333
|
+
useTheme,
|
|
334
|
+
useTranslation,
|
|
335
|
+
useWindowSize
|
|
336
|
+
};
|
|
337
|
+
//# sourceMappingURL=chunk-6MDNYDO3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/hooks/useDownload/useDownload.ts","../src/hooks/useNotificationsStore/useNotificationsStore.ts","../src/hooks/useEventCallback/useEventCallback.ts","../src/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.ts","../src/hooks/useEventListener/useEventListener.ts","../src/hooks/useInterval/useInterval.ts","../src/hooks/useMediaQuery/useMediaQuery.ts","../src/hooks/useOnClickOutside/useOnClickOutside.ts","../src/hooks/useSessionStorage/useSessionStorage.ts","../src/hooks/useTheme/useTheme.ts","../src/hooks/useTranslation/useTranslation.ts","../src/hooks/useWindowSize/useWindowSize.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport type { Promisable } from 'type-fest';\n\nimport { useNotificationsStore } from '../useNotificationsStore';\n\ntype DownloadTextOptions = {\n blobType: 'text/csv' | 'text/plain';\n};\n\ntype DownloadBlobOptions = {\n blobType: 'application/zip' | 'image/jpeg' | 'image/png' | 'image/webp';\n};\n\n// eslint-disable-next-line @typescript-eslint/consistent-type-definitions\ninterface DownloadFunction {\n (filename: string, data: Blob, options: DownloadBlobOptions): Promise<void>;\n (filename: string, data: () => Promisable<Blob>, options: DownloadBlobOptions): Promise<void>;\n (filename: string, data: string, options?: DownloadTextOptions): Promise<void>;\n (filename: string, data: () => Promisable<string>, options?: DownloadTextOptions): Promise<void>;\n}\n\n/**\n * Used to trigger downloads of arbitrary data to the client\n * @returns A function to invoke the download\n */\nexport function useDownload(): DownloadFunction {\n const notifications = useNotificationsStore();\n const [state, setState] = useState<{\n blobType: string;\n data: Blob | string;\n filename: string;\n } | null>(null);\n\n useEffect(() => {\n if (state) {\n const { blobType, data, filename } = state;\n const anchor = document.createElement('a');\n document.body.appendChild(anchor);\n\n const blob = new Blob([data], { type: blobType });\n\n const url = URL.createObjectURL(blob);\n anchor.href = url;\n anchor.download = filename;\n anchor.click();\n URL.revokeObjectURL(url);\n anchor.remove();\n setState(null);\n }\n }, [state]);\n\n return async (filename, _data, options) => {\n try {\n const data = typeof _data === 'function' ? await _data() : _data;\n if (typeof data !== 'string' && !options?.blobType) {\n throw new Error(\"argument 'blobType' must be defined when download is called with a Blob object\");\n }\n setState({ blobType: options?.blobType ?? 'text/plain', data, filename });\n } catch (error) {\n const message = error instanceof Error ? error.message : 'An unknown error occurred';\n notifications.addNotification({\n message,\n title: 'Error',\n type: 'error'\n });\n }\n };\n}\n","import { create } from 'zustand';\n\nexport type NotificationInterface = {\n id: number;\n message?: string;\n title?: string;\n type: 'error' | 'info' | 'success' | 'warning';\n variant?: 'critical' | 'standard';\n};\n\nexport type NotificationsStore = {\n addNotification: (notification: Omit<NotificationInterface, 'id'>) => void;\n dismissNotification: (id: number) => void;\n notifications: NotificationInterface[];\n};\n\nexport const useNotificationsStore = create<NotificationsStore>((set) => ({\n addNotification: (notification) => {\n set((state) => ({\n notifications: [...state.notifications, { id: Date.now(), ...notification }]\n }));\n },\n dismissNotification: (id) => {\n set((state) => ({\n notifications: state.notifications.filter((notification) => notification.id !== id)\n }));\n },\n notifications: []\n}));\n","import { useCallback, useRef } from 'react';\n\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect';\n\nexport function useEventCallback<Args extends unknown[], R>(fn: (...args: Args) => R) {\n const ref = useRef<typeof fn>(() => {\n throw new Error('Cannot call an event handler while rendering.');\n });\n\n useIsomorphicLayoutEffect(() => {\n ref.current = fn;\n }, [fn]);\n\n return useCallback((...args: Args) => ref.current(...args), [ref]);\n}\n","import { useEffect, useLayoutEffect } from 'react';\n\nimport { isBrowser } from '@/utils';\n\nexport const useIsomorphicLayoutEffect = isBrowser() ? useLayoutEffect : useEffect;\n","import { type RefObject, useEffect, useRef } from 'react';\n\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect';\n\n// MediaQueryList Event based useEventListener interface\nfunction useEventListener<K extends keyof MediaQueryListEventMap>(\n eventName: K,\n handler: (event: MediaQueryListEventMap[K]) => void,\n element: RefObject<MediaQueryList>,\n options?: AddEventListenerOptions | boolean\n): void;\n\n// Window Event based useEventListener interface\nfunction useEventListener<K extends keyof WindowEventMap>(\n eventName: K,\n handler: (event: WindowEventMap[K]) => void,\n element?: undefined,\n options?: AddEventListenerOptions | boolean\n): void;\n\n// Element Event based useEventListener interface\nfunction useEventListener<K extends keyof HTMLElementEventMap, T extends HTMLElement = HTMLDivElement>(\n eventName: K,\n handler: (event: HTMLElementEventMap[K]) => void,\n element: RefObject<T>,\n options?: AddEventListenerOptions | boolean\n): void;\n\n// Document Event based useEventListener interface\nfunction useEventListener<K extends keyof DocumentEventMap>(\n eventName: K,\n handler: (event: DocumentEventMap[K]) => void,\n element: RefObject<Document>,\n options?: AddEventListenerOptions | boolean\n): void;\n\nfunction useEventListener<\n KW extends keyof WindowEventMap,\n KH extends keyof HTMLElementEventMap,\n KM extends keyof MediaQueryListEventMap,\n T extends HTMLElement | MediaQueryList | void = void\n>(\n eventName: KH | KM | KW,\n handler: (event: Event | HTMLElementEventMap[KH] | MediaQueryListEventMap[KM] | WindowEventMap[KW]) => void,\n element?: RefObject<T>,\n options?: AddEventListenerOptions | boolean\n) {\n // Create a ref that stores handler\n const savedHandler = useRef(handler);\n\n useIsomorphicLayoutEffect(() => {\n savedHandler.current = handler;\n }, [handler]);\n\n useEffect(() => {\n // Define the listening target\n const targetElement: T | Window = element?.current ?? window;\n\n if (!(targetElement && targetElement.addEventListener)) return;\n\n // Create event listener that calls handler function stored in ref\n const listener: typeof handler = (event) => savedHandler.current(event);\n\n targetElement.addEventListener(eventName, listener, options);\n\n // Remove event listener on cleanup\n return () => {\n targetElement.removeEventListener(eventName, listener, options);\n };\n }, [eventName, element, options]);\n}\n\nexport { useEventListener };\n","import { useEffect, useRef } from 'react';\n\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect';\n\nexport function useInterval(callback: () => void, delay: null | number) {\n const savedCallback = useRef(callback);\n\n // Remember the latest callback if it changes.\n useIsomorphicLayoutEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n // Set up the interval.\n useEffect(() => {\n // Don't schedule if no delay is specified.\n // Note: 0 is a valid value for delay.\n if (!delay && delay !== 0) {\n return;\n }\n\n const id = setInterval(() => savedCallback.current(), delay);\n\n return () => clearInterval(id);\n }, [delay]);\n}\n","import { useEffect, useState } from 'react';\n\nimport { isBrowser } from '@/utils';\n\n/**\n * Get the result of an arbitrary CSS media query\n *\n * @param query - the CSS media query\n * @returns a boolean indicating the result of the query\n * @example\n * // true if the viewport is at least 768px wide\n * const matches = useMediaQuery('(min-width: 768px)')\n */\nexport function useMediaQuery(query: string): boolean {\n const getMatches = (query: string): boolean => {\n // Prevents SSR issues\n if (isBrowser()) {\n return window.matchMedia(query).matches;\n }\n return false;\n };\n\n const [matches, setMatches] = useState<boolean>(getMatches(query));\n\n function handleChange() {\n setMatches(getMatches(query));\n }\n\n useEffect(() => {\n const matchMedia = window.matchMedia(query);\n\n // Triggered at the first client-side load and if query changes\n handleChange();\n\n matchMedia.addEventListener('change', handleChange);\n\n return () => {\n matchMedia.removeEventListener('change', handleChange);\n };\n }, [query]);\n\n return matches;\n}\n","import { type RefObject } from 'react';\n\nimport { useEventListener } from '../useEventListener';\n\ntype Handler = (event: MouseEvent) => void;\n\nexport function useOnClickOutside<T extends HTMLElement = HTMLElement>(\n ref: RefObject<T>,\n handler: Handler,\n mouseEvent: 'mousedown' | 'mouseup' = 'mousedown'\n): void {\n useEventListener(mouseEvent, (event) => {\n const el = ref.current;\n\n // Do nothing if clicking ref's element or descendent elements\n if (!el || el.contains(event.target as Node)) {\n return;\n }\n\n handler(event);\n });\n}\n","import { useCallback, useEffect, useState } from 'react';\nimport type { Dispatch, SetStateAction } from 'react';\n\nimport { isBrowser } from '@/utils';\n\nimport { useEventCallback } from '../useEventCallback';\nimport { useEventListener } from '../useEventListener';\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/consistent-type-definitions\n interface WindowEventMap {\n 'session-storage': CustomEvent;\n }\n}\n\n/**\n * Represents the options for customizing the behavior of serialization and deserialization.\n * @template T - The type of the state to be stored in session storage.\n */\ntype UseSessionStorageOptions<T> = {\n /** A function to deserialize the stored value. */\n deserializer?: (value: string) => T;\n /**\n * If `true` (default), the hook will initialize reading the session storage. In SSR, you should set it to `false`, returning the initial value initially.\n * @default true\n */\n initializeWithValue?: boolean;\n /** A function to serialize the value before storing it. */\n serializer?: (value: T) => string;\n};\n\n/**\n * Custom hook that uses session storage to persist state across page reloads.\n * @template T - The type of the state to be stored in session storage.\n * @param {string} key - The key under which the value will be stored in session storage.\n * @param {T | (() => T)} initialValue - The initial value of the state or a function that returns the initial value.\n * @param {?UseSessionStorageOptions<T>} [options] - Options for customizing the behavior of serialization and deserialization (optional).\n * @returns {[T, Dispatch<SetStateAction<T>>]} A tuple containing the stored value and a function to set the value.\n * @public\n * @example\n * ```tsx\n * const [count, setCount] = useSessionStorage('count', 0);\n * // Access the `count` value and the `setCount` function to update it.\n * ```\n */\nexport function useSessionStorage<T>(\n key: string,\n initialValue: (() => T) | T,\n options: UseSessionStorageOptions<T> = {}\n): [T, Dispatch<SetStateAction<T>>] {\n const { initializeWithValue = true } = options;\n\n const serializer = useCallback<(value: T) => string>(\n (value) => {\n if (options.serializer) {\n return options.serializer(value);\n }\n return JSON.stringify(value);\n },\n [options]\n );\n\n const deserializer = useCallback<(value: string) => T>(\n (value) => {\n if (options.deserializer) {\n return options.deserializer(value);\n }\n // Support 'undefined' as a value\n if (value === 'undefined') {\n return undefined as unknown as T;\n }\n\n const defaultValue = initialValue instanceof Function ? initialValue() : initialValue;\n\n let parsed: unknown;\n try {\n parsed = JSON.parse(value);\n } catch (err) {\n console.error(`Error parsing JSON: ${(err as Error).message}`);\n return defaultValue;\n }\n\n return parsed as T;\n },\n [options, initialValue]\n );\n\n // Get from session storage then\n // parse stored json or return initialValue\n const readValue = useCallback((): T => {\n const initialValueToUse = initialValue instanceof Function ? initialValue() : initialValue;\n\n // Prevent build error \"window is undefined\" but keep keep working\n if (!isBrowser()) {\n return initialValueToUse;\n }\n const raw = window.sessionStorage.getItem(key);\n return raw ? deserializer(raw) : initialValueToUse;\n }, [initialValue, key, deserializer]);\n\n const [storedValue, setStoredValue] = useState(() => {\n if (initializeWithValue) {\n return readValue();\n }\n\n return initialValue instanceof Function ? initialValue() : initialValue;\n });\n\n // Return a wrapped version of useState's setter function that ...\n // ... persists the new value to sessionStorage.\n const setValue: Dispatch<SetStateAction<T>> = useEventCallback((value) => {\n // Prevent build error \"window is undefined\" but keeps working\n if (!isBrowser()) {\n console.warn(`Tried setting sessionStorage key “${key}” even though environment is not a client`);\n }\n\n try {\n // Allow value to be a function so we have the same API as useState\n const newValue = value instanceof Function ? value(readValue()) : value;\n\n // Save to session storage\n window.sessionStorage.setItem(key, serializer(newValue));\n\n // Save state\n setStoredValue(newValue);\n\n // We dispatch a custom event so every similar useSessionStorage hook is notified\n window.dispatchEvent(new StorageEvent('session-storage', { key }));\n } catch (error) {\n console.warn(`Error setting sessionStorage key “${key}”:`, error);\n }\n });\n\n useEffect(() => {\n setStoredValue(readValue());\n }, [key]);\n\n const handleStorageChange = useCallback(\n (event: CustomEvent | StorageEvent) => {\n if ((event as StorageEvent).key && (event as StorageEvent).key !== key) {\n return;\n }\n setStoredValue(readValue());\n },\n [key, readValue]\n );\n\n // this only works for other documents, not the current one\n useEventListener('storage', handleStorageChange);\n\n // this is a custom event, triggered in writeValueToSessionStorage\n // See: useSessionStorage()\n useEventListener('session-storage', handleStorageChange);\n\n return [storedValue, setValue];\n}\n","import { useEffect, useState } from 'react';\n\n// this is required since our storybook manager plugin cannot use vite aliases\nimport { isBrowser } from '../../utils';\n\ntype Theme = 'dark' | 'light';\n\ntype UpdateTheme = (theme: Theme) => void;\n\n/** @private */\nconst DEFAULT_THEME: Theme = 'light';\n\n/** @private */\nconst THEME_ATTRIBUTE = 'data-mode';\n\n/** @private */\nconst THEME_KEY = 'theme';\n\n/** @private */\nconst SYS_DARK_MEDIA_QUERY = '(prefers-color-scheme: dark)';\n\n/**\n * Returns the current theme and a function to update the current theme\n *\n * The reason the implementation of this hook is rather convoluted is for\n * cases where the theme is updated outside this hook\n */\nfunction useTheme(): readonly [Theme, UpdateTheme] {\n // Initial theme value is based on the value saved in local storage or the system theme\n const [theme, setTheme] = useState<Theme>(() => {\n if (!isBrowser()) {\n return DEFAULT_THEME;\n }\n const savedTheme = window.localStorage.getItem(THEME_KEY);\n let initialTheme: Theme;\n if (savedTheme === 'dark' || savedTheme === 'light') {\n initialTheme = savedTheme;\n } else {\n initialTheme = window.matchMedia(SYS_DARK_MEDIA_QUERY).matches ? 'dark' : 'light';\n }\n document.documentElement.setAttribute(THEME_ATTRIBUTE, initialTheme);\n return initialTheme;\n });\n\n useEffect(() => {\n const observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n if (mutation.attributeName === THEME_ATTRIBUTE) {\n const updatedTheme = (mutation.target as HTMLHtmlElement).getAttribute(THEME_ATTRIBUTE);\n if (updatedTheme === 'light' || updatedTheme === 'dark') {\n window.localStorage.setItem(THEME_KEY, updatedTheme);\n setTheme(updatedTheme);\n } else {\n console.error(`Unexpected value for 'data-mode' attribute: ${updatedTheme}`);\n }\n }\n });\n });\n observer.observe(document.documentElement, {\n attributes: true\n });\n return () => observer.disconnect();\n }, []);\n\n // When the user wants to change the theme\n const updateTheme = (theme: Theme) => {\n document.documentElement.setAttribute(THEME_ATTRIBUTE, theme);\n };\n\n return [theme, updateTheme] as const;\n}\n\nexport { DEFAULT_THEME, SYS_DARK_MEDIA_QUERY, type Theme, THEME_ATTRIBUTE, THEME_KEY, useTheme };\n","import { useCallback } from 'react';\n\nimport { get } from 'lodash-es';\nimport { useStore } from 'zustand';\n\nimport { translationStore } from '@/i18n';\nimport type { TranslateFunction, TranslationNamespace } from '@/i18n';\n\nexport function useTranslation<TNamespace extends TranslationNamespace | undefined = undefined>(\n namespace?: TNamespace\n) {\n const changeLanguage = useStore(translationStore, (store) => store.changeLanguage);\n const fallbackLanguage = useStore(translationStore, (store) => store.fallbackLanguage);\n const resolvedLanguage = useStore(translationStore, (store) => store.resolvedLanguage);\n const translations = useStore(translationStore, (store) => {\n if (namespace) {\n return store.translations[namespace];\n }\n return store.translations;\n });\n\n const t: TranslateFunction<TNamespace> = useCallback(\n (arg) => {\n const value = typeof arg === 'string' ? (get(translations, arg, arg) as { [key: string]: string }) : arg;\n return value[resolvedLanguage] ?? value[fallbackLanguage];\n },\n [fallbackLanguage, resolvedLanguage, translations]\n );\n\n return { changeLanguage, resolvedLanguage, t };\n}\n","import { useState } from 'react';\n\nimport { useEventListener } from '../useEventListener';\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect';\n\nexport type WindowSize = {\n height: number;\n width: number;\n};\n\nexport function useWindowSize(): WindowSize {\n const [windowSize, setWindowSize] = useState<WindowSize>({\n height: 0,\n width: 0\n });\n\n const handleSize = () => {\n setWindowSize({\n height: window.innerHeight,\n width: window.innerWidth\n });\n };\n\n useEventListener('resize', handleSize);\n\n // Set size at the first client-side load\n useIsomorphicLayoutEffect(() => {\n handleSize();\n }, []);\n\n return windowSize;\n}\n"],"mappings":"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","names":["useEffect","useEffect","useEffect","useRef","useRef","useEffect","useEffect","useRef","useRef","useEffect","useEffect","useState","query","useState","useEffect","useCallback","useEffect","useState","useCallback","useState","useEffect","useEffect","useState","useState","useEffect","theme","useCallback","useCallback","useState","useState"]}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
// src/i18n/store.ts
|
|
2
|
+
import { createStore } from "zustand/vanilla";
|
|
3
|
+
|
|
4
|
+
// src/i18n/translations/libui.json
|
|
5
|
+
var libui_default = {
|
|
6
|
+
days: {
|
|
7
|
+
friday: {
|
|
8
|
+
en: "Friday",
|
|
9
|
+
fr: "Vendredi"
|
|
10
|
+
},
|
|
11
|
+
monday: {
|
|
12
|
+
en: "Monday",
|
|
13
|
+
fr: "Lundi"
|
|
14
|
+
},
|
|
15
|
+
saturday: {
|
|
16
|
+
en: "Saturday",
|
|
17
|
+
fr: "Samedi"
|
|
18
|
+
},
|
|
19
|
+
sunday: {
|
|
20
|
+
en: "Sunday",
|
|
21
|
+
fr: "Dimanche"
|
|
22
|
+
},
|
|
23
|
+
thursday: {
|
|
24
|
+
en: "Thursday",
|
|
25
|
+
fr: "Jeudi"
|
|
26
|
+
},
|
|
27
|
+
tuesday: {
|
|
28
|
+
en: "Tuesday",
|
|
29
|
+
fr: "Mardi"
|
|
30
|
+
},
|
|
31
|
+
wednesday: {
|
|
32
|
+
en: "Wednesday",
|
|
33
|
+
fr: "Mercredi"
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
form: {
|
|
37
|
+
append: {
|
|
38
|
+
en: "Append",
|
|
39
|
+
fr: "Ajouter"
|
|
40
|
+
},
|
|
41
|
+
radioLabels: {
|
|
42
|
+
false: {
|
|
43
|
+
en: "False",
|
|
44
|
+
fr: "Faux"
|
|
45
|
+
},
|
|
46
|
+
true: {
|
|
47
|
+
en: "True",
|
|
48
|
+
fr: "Vrai"
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
remove: {
|
|
52
|
+
en: "Remove",
|
|
53
|
+
fr: "Supprimer"
|
|
54
|
+
},
|
|
55
|
+
required: {
|
|
56
|
+
en: "This field is required",
|
|
57
|
+
fr: "Ce champ est obligatoire"
|
|
58
|
+
},
|
|
59
|
+
reset: {
|
|
60
|
+
en: "Reset",
|
|
61
|
+
fr: "R\xE9initialiser"
|
|
62
|
+
},
|
|
63
|
+
submit: {
|
|
64
|
+
en: "Submit",
|
|
65
|
+
fr: "Soumettre"
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
months: {
|
|
69
|
+
april: {
|
|
70
|
+
en: "April",
|
|
71
|
+
fr: "Avril"
|
|
72
|
+
},
|
|
73
|
+
august: {
|
|
74
|
+
en: "August",
|
|
75
|
+
fr: "Ao\xFBt"
|
|
76
|
+
},
|
|
77
|
+
december: {
|
|
78
|
+
en: "December",
|
|
79
|
+
fr: "D\xE9cembre"
|
|
80
|
+
},
|
|
81
|
+
february: {
|
|
82
|
+
en: "February",
|
|
83
|
+
fr: "F\xE9vrier"
|
|
84
|
+
},
|
|
85
|
+
january: {
|
|
86
|
+
en: "January",
|
|
87
|
+
fr: "Janvier"
|
|
88
|
+
},
|
|
89
|
+
july: {
|
|
90
|
+
en: "July",
|
|
91
|
+
fr: "Juillet"
|
|
92
|
+
},
|
|
93
|
+
june: {
|
|
94
|
+
en: "June",
|
|
95
|
+
fr: "Juin"
|
|
96
|
+
},
|
|
97
|
+
march: {
|
|
98
|
+
en: "March",
|
|
99
|
+
fr: "Mars"
|
|
100
|
+
},
|
|
101
|
+
may: {
|
|
102
|
+
en: "May",
|
|
103
|
+
fr: "Mai"
|
|
104
|
+
},
|
|
105
|
+
november: {
|
|
106
|
+
en: "November",
|
|
107
|
+
fr: "Novembre"
|
|
108
|
+
},
|
|
109
|
+
october: {
|
|
110
|
+
en: "October",
|
|
111
|
+
fr: "Octobre"
|
|
112
|
+
},
|
|
113
|
+
september: {
|
|
114
|
+
en: "September",
|
|
115
|
+
fr: "Septembre"
|
|
116
|
+
}
|
|
117
|
+
},
|
|
118
|
+
notifications: {
|
|
119
|
+
types: {
|
|
120
|
+
error: {
|
|
121
|
+
en: "Error",
|
|
122
|
+
fr: "Erreur"
|
|
123
|
+
},
|
|
124
|
+
info: {
|
|
125
|
+
en: "Info",
|
|
126
|
+
fr: "Attention"
|
|
127
|
+
},
|
|
128
|
+
success: {
|
|
129
|
+
en: "Success",
|
|
130
|
+
fr: "Succ\xE8s"
|
|
131
|
+
},
|
|
132
|
+
warning: {
|
|
133
|
+
en: "Warning",
|
|
134
|
+
fr: "Avertissement"
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
},
|
|
138
|
+
pagination: {
|
|
139
|
+
info: {
|
|
140
|
+
en: "Showing {{first}} to {{last}} of {{total}} results",
|
|
141
|
+
fr: "Affichage de {{first}} \xE0 {{last}} sur {{total}} r\xE9sultats"
|
|
142
|
+
},
|
|
143
|
+
next: {
|
|
144
|
+
en: "Next",
|
|
145
|
+
fr: "Suivant"
|
|
146
|
+
},
|
|
147
|
+
previous: {
|
|
148
|
+
en: "Previous",
|
|
149
|
+
fr: "Pr\xE9c\xE9dent"
|
|
150
|
+
}
|
|
151
|
+
},
|
|
152
|
+
searchBar: {
|
|
153
|
+
placeholder: {
|
|
154
|
+
en: "Search...",
|
|
155
|
+
fr: "Rechercher..."
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
};
|
|
159
|
+
|
|
160
|
+
// src/i18n/store.ts
|
|
161
|
+
var translationStore = createStore((set) => ({
|
|
162
|
+
changeLanguage(language) {
|
|
163
|
+
set({ resolvedLanguage: language });
|
|
164
|
+
},
|
|
165
|
+
fallbackLanguage: "en",
|
|
166
|
+
isInitialized: false,
|
|
167
|
+
resolvedLanguage: "en",
|
|
168
|
+
translations: { libui: libui_default }
|
|
169
|
+
}));
|
|
170
|
+
var init = ({ defaultLanguage, fallbackLanguage, translations } = {}) => {
|
|
171
|
+
const state = translationStore.getState();
|
|
172
|
+
if (state.isInitialized) {
|
|
173
|
+
console.error("Cannot reinitialize translations store");
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
translationStore.setState({
|
|
177
|
+
fallbackLanguage: fallbackLanguage ?? state.fallbackLanguage,
|
|
178
|
+
isInitialized: true,
|
|
179
|
+
resolvedLanguage: defaultLanguage ?? state.resolvedLanguage,
|
|
180
|
+
translations: {
|
|
181
|
+
...state.translations,
|
|
182
|
+
...translations
|
|
183
|
+
}
|
|
184
|
+
});
|
|
185
|
+
};
|
|
186
|
+
|
|
187
|
+
export {
|
|
188
|
+
translationStore,
|
|
189
|
+
init
|
|
190
|
+
};
|
|
191
|
+
//# sourceMappingURL=chunk-A6FWMB7V.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/i18n/store.ts","../src/i18n/translations/libui.json"],"sourcesContent":["import type { SetOptional } from 'type-fest';\nimport { createStore } from 'zustand/vanilla';\n\nimport libui from '@/i18n/translations/libui.json';\n\nimport type { Language, Translations } from './types';\n\ntype InitOptions = {\n defaultLanguage?: Language;\n fallbackLanguage?: Language;\n translations?: SetOptional<Translations, 'libui'>;\n};\n\nexport type TranslationStore = {\n changeLanguage: (language: Language) => void;\n fallbackLanguage: Language;\n isInitialized: boolean;\n resolvedLanguage: Language;\n translations: Translations;\n};\n\nexport const translationStore = createStore<TranslationStore>((set) => ({\n changeLanguage(language) {\n set({ resolvedLanguage: language });\n },\n fallbackLanguage: 'en',\n isInitialized: false,\n resolvedLanguage: 'en',\n translations: { libui }\n}));\n\nexport const init = ({ defaultLanguage, fallbackLanguage, translations }: InitOptions = {}) => {\n const state = translationStore.getState();\n if (state.isInitialized) {\n console.error('Cannot reinitialize translations store');\n return;\n }\n translationStore.setState({\n fallbackLanguage: fallbackLanguage ?? state.fallbackLanguage,\n isInitialized: true,\n resolvedLanguage: defaultLanguage ?? state.resolvedLanguage,\n translations: {\n ...state.translations,\n ...translations\n }\n });\n};\n","{\n \"days\": {\n \"friday\": {\n \"en\": \"Friday\",\n \"fr\": \"Vendredi\"\n },\n \"monday\": {\n \"en\": \"Monday\",\n \"fr\": \"Lundi\"\n },\n \"saturday\": {\n \"en\": \"Saturday\",\n \"fr\": \"Samedi\"\n },\n \"sunday\": {\n \"en\": \"Sunday\",\n \"fr\": \"Dimanche\"\n },\n \"thursday\": {\n \"en\": \"Thursday\",\n \"fr\": \"Jeudi\"\n },\n \"tuesday\": {\n \"en\": \"Tuesday\",\n \"fr\": \"Mardi\"\n },\n \"wednesday\": {\n \"en\": \"Wednesday\",\n \"fr\": \"Mercredi\"\n }\n },\n \"form\": {\n \"append\": {\n \"en\": \"Append\",\n \"fr\": \"Ajouter\"\n },\n \"radioLabels\": {\n \"false\": {\n \"en\": \"False\",\n \"fr\": \"Faux\"\n },\n \"true\": {\n \"en\": \"True\",\n \"fr\": \"Vrai\"\n }\n },\n \"remove\": {\n \"en\": \"Remove\",\n \"fr\": \"Supprimer\"\n },\n \"required\": {\n \"en\": \"This field is required\",\n \"fr\": \"Ce champ est obligatoire\"\n },\n \"reset\": {\n \"en\": \"Reset\",\n \"fr\": \"Réinitialiser\"\n },\n \"submit\": {\n \"en\": \"Submit\",\n \"fr\": \"Soumettre\"\n }\n },\n \"months\": {\n \"april\": {\n \"en\": \"April\",\n \"fr\": \"Avril\"\n },\n \"august\": {\n \"en\": \"August\",\n \"fr\": \"Août\"\n },\n \"december\": {\n \"en\": \"December\",\n \"fr\": \"Décembre\"\n },\n \"february\": {\n \"en\": \"February\",\n \"fr\": \"Février\"\n },\n \"january\": {\n \"en\": \"January\",\n \"fr\": \"Janvier\"\n },\n \"july\": {\n \"en\": \"July\",\n \"fr\": \"Juillet\"\n },\n \"june\": {\n \"en\": \"June\",\n \"fr\": \"Juin\"\n },\n \"march\": {\n \"en\": \"March\",\n \"fr\": \"Mars\"\n },\n \"may\": {\n \"en\": \"May\",\n \"fr\": \"Mai\"\n },\n \"november\": {\n \"en\": \"November\",\n \"fr\": \"Novembre\"\n },\n \"october\": {\n \"en\": \"October\",\n \"fr\": \"Octobre\"\n },\n \"september\": {\n \"en\": \"September\",\n \"fr\": \"Septembre\"\n }\n },\n \"notifications\": {\n \"types\": {\n \"error\": {\n \"en\": \"Error\",\n \"fr\": \"Erreur\"\n },\n \"info\": {\n \"en\": \"Info\",\n \"fr\": \"Attention\"\n },\n \"success\": {\n \"en\": \"Success\",\n \"fr\": \"Succès\"\n },\n \"warning\": {\n \"en\": \"Warning\",\n \"fr\": \"Avertissement\"\n }\n }\n },\n \"pagination\": {\n \"info\": {\n \"en\": \"Showing {{first}} to {{last}} of {{total}} results\",\n \"fr\": \"Affichage de {{first}} à {{last}} sur {{total}} résultats\"\n },\n \"next\": {\n \"en\": \"Next\",\n \"fr\": \"Suivant\"\n },\n \"previous\": {\n \"en\": \"Previous\",\n \"fr\": \"Précédent\"\n }\n },\n \"searchBar\": {\n \"placeholder\": {\n \"en\": \"Search...\",\n \"fr\": \"Rechercher...\"\n }\n }\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// src/utils/index.ts
|
|
2
|
+
import { clsx } from "clsx";
|
|
3
|
+
import { twMerge } from "tailwind-merge";
|
|
4
|
+
function cn(...inputs) {
|
|
5
|
+
return twMerge(clsx(inputs));
|
|
6
|
+
}
|
|
7
|
+
function isBrowser() {
|
|
8
|
+
return typeof window !== "undefined";
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export {
|
|
12
|
+
cn,
|
|
13
|
+
isBrowser
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=chunk-IX6RFIQL.js.map
|