@clicoh/orion-library 1.0.19 → 1.1.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/css/base.css +44 -6
- package/dist/components/00-base/RootLayout/RootLayout.d.ts.map +1 -1
- package/dist/components/00-base/RootLayout/RootLayout.jsx +7 -3
- package/dist/components/00-base/RootLayout/RootLayout.jsx.map +1 -1
- package/dist/components/01-atoms/Badge/Badge.d.ts.map +1 -1
- package/dist/components/01-atoms/Badge/Badge.jsx +7 -7
- package/dist/components/01-atoms/Badge/Badge.jsx.map +1 -1
- package/dist/components/01-atoms/Button/Button.jsx +2 -2
- package/dist/components/01-atoms/Button/Button.jsx.map +1 -1
- package/dist/components/01-atoms/Checkbox/Checkbox.d.ts.map +1 -1
- package/dist/components/01-atoms/Checkbox/Checkbox.jsx +17 -11
- package/dist/components/01-atoms/Checkbox/Checkbox.jsx.map +1 -1
- package/dist/components/01-atoms/FileUpload/FileUpload.d.ts +2 -0
- package/dist/components/01-atoms/FileUpload/FileUpload.d.ts.map +1 -1
- package/dist/components/01-atoms/FileUpload/FileUpload.jsx +21 -15
- package/dist/components/01-atoms/FileUpload/FileUpload.jsx.map +1 -1
- package/dist/components/01-atoms/Input/Input.d.ts +3 -1
- package/dist/components/01-atoms/Input/Input.d.ts.map +1 -1
- package/dist/components/01-atoms/Input/Input.jsx +22 -19
- package/dist/components/01-atoms/Input/Input.jsx.map +1 -1
- package/dist/components/01-atoms/Input/utils/RenderErrorOrHelperText.d.ts +5 -3
- package/dist/components/01-atoms/Input/utils/RenderErrorOrHelperText.d.ts.map +1 -1
- package/dist/components/01-atoms/Input/utils/RenderErrorOrHelperText.jsx +4 -4
- package/dist/components/01-atoms/Input/utils/RenderErrorOrHelperText.jsx.map +1 -1
- package/dist/components/01-atoms/Input/utils/border.d.ts.map +1 -1
- package/dist/components/01-atoms/Input/utils/border.js +4 -2
- package/dist/components/01-atoms/Input/utils/border.js.map +1 -1
- package/dist/components/01-atoms/Logo/Logo.d.ts +1 -1
- package/dist/components/01-atoms/Logo/Logo.d.ts.map +1 -1
- package/dist/components/01-atoms/Logo/Logo.jsx +3 -2
- package/dist/components/01-atoms/Logo/Logo.jsx.map +1 -1
- package/dist/components/01-atoms/MultiSelect/MultiSelect.d.ts +3 -1
- package/dist/components/01-atoms/MultiSelect/MultiSelect.d.ts.map +1 -1
- package/dist/components/01-atoms/MultiSelect/MultiSelect.jsx +112 -35
- package/dist/components/01-atoms/MultiSelect/MultiSelect.jsx.map +1 -1
- package/dist/components/01-atoms/OtpInput/OtpInput.d.ts +4 -2
- package/dist/components/01-atoms/OtpInput/OtpInput.d.ts.map +1 -1
- package/dist/components/01-atoms/OtpInput/OtpInput.jsx +14 -8
- package/dist/components/01-atoms/OtpInput/OtpInput.jsx.map +1 -1
- package/dist/components/01-atoms/RadialProgressBar/RadialProgressBar.d.ts.map +1 -1
- package/dist/components/01-atoms/RadialProgressBar/RadialProgressBar.jsx +4 -4
- package/dist/components/01-atoms/RadialProgressBar/RadialProgressBar.jsx.map +1 -1
- package/dist/components/01-atoms/Radio/Radio.d.ts.map +1 -1
- package/dist/components/01-atoms/Radio/Radio.jsx +24 -31
- package/dist/components/01-atoms/Radio/Radio.jsx.map +1 -1
- package/dist/components/01-atoms/Select/Select.d.ts.map +1 -1
- package/dist/components/01-atoms/Select/Select.jsx +18 -19
- package/dist/components/01-atoms/Select/Select.jsx.map +1 -1
- package/dist/components/01-atoms/SmallInput/SmallInput.d.ts +11 -0
- package/dist/components/01-atoms/SmallInput/SmallInput.d.ts.map +1 -0
- package/dist/components/01-atoms/SmallInput/SmallInput.jsx +19 -0
- package/dist/components/01-atoms/SmallInput/SmallInput.jsx.map +1 -0
- package/dist/components/01-atoms/SmallInput/index.d.ts +2 -0
- package/dist/components/01-atoms/SmallInput/index.d.ts.map +1 -0
- package/dist/components/01-atoms/SmallInput/index.js +2 -0
- package/dist/components/01-atoms/SmallInput/index.js.map +1 -0
- package/dist/components/01-atoms/Spinner/Spinner.d.ts +6 -1
- package/dist/components/01-atoms/Spinner/Spinner.d.ts.map +1 -1
- package/dist/components/01-atoms/Spinner/Spinner.jsx +3 -4
- package/dist/components/01-atoms/Spinner/Spinner.jsx.map +1 -1
- package/dist/components/01-atoms/Switch/Switch.d.ts.map +1 -1
- package/dist/components/01-atoms/Switch/Switch.jsx +6 -5
- package/dist/components/01-atoms/Switch/Switch.jsx.map +1 -1
- package/dist/components/01-atoms/ThemeSwitch/ThemeSwitch.d.ts +8 -0
- package/dist/components/01-atoms/ThemeSwitch/ThemeSwitch.d.ts.map +1 -0
- package/dist/components/01-atoms/ThemeSwitch/ThemeSwitch.jsx +17 -0
- package/dist/components/01-atoms/ThemeSwitch/ThemeSwitch.jsx.map +1 -0
- package/dist/components/01-atoms/ThemeSwitch/index.d.ts +2 -0
- package/dist/components/01-atoms/ThemeSwitch/index.d.ts.map +1 -0
- package/dist/components/01-atoms/ThemeSwitch/index.js +2 -0
- package/dist/components/01-atoms/ThemeSwitch/index.js.map +1 -0
- package/dist/components/01-atoms/Toast/Toast.d.ts.map +1 -1
- package/dist/components/01-atoms/Toast/Toast.jsx +9 -11
- package/dist/components/01-atoms/Toast/Toast.jsx.map +1 -1
- package/dist/components/01-atoms/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/components/01-atoms/Tooltip/Tooltip.jsx +2 -2
- package/dist/components/01-atoms/Tooltip/Tooltip.jsx.map +1 -1
- package/dist/components/01-atoms/index.d.ts +2 -0
- package/dist/components/01-atoms/index.d.ts.map +1 -1
- package/dist/components/01-atoms/index.js +2 -0
- package/dist/components/01-atoms/index.js.map +1 -1
- package/dist/components/02-molecules/Accordion/AccordionSection.d.ts.map +1 -1
- package/dist/components/02-molecules/Accordion/AccordionSection.jsx +14 -10
- package/dist/components/02-molecules/Accordion/AccordionSection.jsx.map +1 -1
- package/dist/components/02-molecules/Autocomplete/Autocomplete.d.ts +4 -1
- package/dist/components/02-molecules/Autocomplete/Autocomplete.d.ts.map +1 -1
- package/dist/components/02-molecules/Autocomplete/Autocomplete.jsx +68 -8
- package/dist/components/02-molecules/Autocomplete/Autocomplete.jsx.map +1 -1
- package/dist/components/02-molecules/Avatar/Avatar.d.ts +3 -2
- package/dist/components/02-molecules/Avatar/Avatar.d.ts.map +1 -1
- package/dist/components/02-molecules/Avatar/Avatar.jsx +22 -5
- package/dist/components/02-molecules/Avatar/Avatar.jsx.map +1 -1
- package/dist/components/02-molecules/Avatar/AvatarItem.d.ts.map +1 -1
- package/dist/components/02-molecules/Avatar/AvatarItem.jsx +3 -3
- package/dist/components/02-molecules/Avatar/AvatarItem.jsx.map +1 -1
- package/dist/components/02-molecules/BellNotifications/BellNotification.d.ts +4 -1
- package/dist/components/02-molecules/BellNotifications/BellNotification.d.ts.map +1 -1
- package/dist/components/02-molecules/BellNotifications/BellNotification.jsx +24 -6
- package/dist/components/02-molecules/BellNotifications/BellNotification.jsx.map +1 -1
- package/dist/components/02-molecules/BellNotifications/NotificationPanel.d.ts +4 -1
- package/dist/components/02-molecules/BellNotifications/NotificationPanel.d.ts.map +1 -1
- package/dist/components/02-molecules/BellNotifications/NotificationPanel.jsx +48 -41
- package/dist/components/02-molecules/BellNotifications/NotificationPanel.jsx.map +1 -1
- package/dist/components/02-molecules/Breadcrumb/Breadcrumb.d.ts +3 -1
- package/dist/components/02-molecules/Breadcrumb/Breadcrumb.d.ts.map +1 -1
- package/dist/components/02-molecules/Breadcrumb/Breadcrumb.jsx +7 -7
- package/dist/components/02-molecules/Breadcrumb/Breadcrumb.jsx.map +1 -1
- package/dist/components/02-molecules/Breadcrumb/BreadcrumbSkeleton.d.ts +6 -2
- package/dist/components/02-molecules/Breadcrumb/BreadcrumbSkeleton.d.ts.map +1 -1
- package/dist/components/02-molecules/Breadcrumb/BreadcrumbSkeleton.jsx +3 -4
- package/dist/components/02-molecules/Breadcrumb/BreadcrumbSkeleton.jsx.map +1 -1
- package/dist/components/02-molecules/ButtonGroup/ButtonGroup.d.ts +1 -0
- package/dist/components/02-molecules/ButtonGroup/ButtonGroup.d.ts.map +1 -1
- package/dist/components/02-molecules/ButtonGroup/ButtonGroup.jsx +4 -3
- package/dist/components/02-molecules/ButtonGroup/ButtonGroup.jsx.map +1 -1
- package/dist/components/02-molecules/Dropdown/Dropdown.d.ts.map +1 -1
- package/dist/components/02-molecules/Dropdown/Dropdown.jsx +110 -19
- package/dist/components/02-molecules/Dropdown/Dropdown.jsx.map +1 -1
- package/dist/components/02-molecules/Filter/Filter.d.ts +4 -1
- package/dist/components/02-molecules/Filter/Filter.d.ts.map +1 -1
- package/dist/components/02-molecules/Filter/Filter.jsx +11 -8
- package/dist/components/02-molecules/Filter/Filter.jsx.map +1 -1
- package/dist/components/02-molecules/Menu/MenuItem.d.ts +4 -1
- package/dist/components/02-molecules/Menu/MenuItem.d.ts.map +1 -1
- package/dist/components/02-molecules/Menu/MenuItem.jsx +59 -28
- package/dist/components/02-molecules/Menu/MenuItem.jsx.map +1 -1
- package/dist/components/02-molecules/Menu/MenuList.d.ts +5 -2
- package/dist/components/02-molecules/Menu/MenuList.d.ts.map +1 -1
- package/dist/components/02-molecules/Menu/MenuList.jsx +60 -16
- package/dist/components/02-molecules/Menu/MenuList.jsx.map +1 -1
- package/dist/components/02-molecules/Modal/Modal.d.ts +5 -1
- package/dist/components/02-molecules/Modal/Modal.d.ts.map +1 -1
- package/dist/components/02-molecules/Modal/Modal.jsx +25 -10
- package/dist/components/02-molecules/Modal/Modal.jsx.map +1 -1
- package/dist/components/02-molecules/Modal/useDialogFocus.d.ts +10 -0
- package/dist/components/02-molecules/Modal/useDialogFocus.d.ts.map +1 -0
- package/dist/components/02-molecules/Modal/useDialogFocus.js +73 -0
- package/dist/components/02-molecules/Modal/useDialogFocus.js.map +1 -0
- package/dist/components/02-molecules/Pagination/Pagination.d.ts +5 -1
- package/dist/components/02-molecules/Pagination/Pagination.d.ts.map +1 -1
- package/dist/components/02-molecules/Pagination/Pagination.jsx +18 -15
- package/dist/components/02-molecules/Pagination/Pagination.jsx.map +1 -1
- package/dist/components/02-molecules/SlideOver/SlideOver.d.ts +6 -2
- package/dist/components/02-molecules/SlideOver/SlideOver.d.ts.map +1 -1
- package/dist/components/02-molecules/SlideOver/SlideOver.jsx +17 -15
- package/dist/components/02-molecules/SlideOver/SlideOver.jsx.map +1 -1
- package/dist/components/02-molecules/Tab/TabItem.d.ts +2 -2
- package/dist/components/02-molecules/Tab/TabItem.d.ts.map +1 -1
- package/dist/components/02-molecules/Tab/TabItem.jsx +4 -5
- package/dist/components/02-molecules/Tab/TabItem.jsx.map +1 -1
- package/dist/components/02-molecules/Tab/TabList.d.ts.map +1 -1
- package/dist/components/02-molecules/Tab/TabList.jsx +42 -13
- package/dist/components/02-molecules/Tab/TabList.jsx.map +1 -1
- package/dist/components/02-molecules/Table/Table.d.ts +5 -1
- package/dist/components/02-molecules/Table/Table.d.ts.map +1 -1
- package/dist/components/02-molecules/Table/Table.jsx +31 -14
- package/dist/components/02-molecules/Table/Table.jsx.map +1 -1
- package/dist/components/02-molecules/Table/TableEmpty.d.ts.map +1 -1
- package/dist/components/02-molecules/Table/TableEmpty.jsx +2 -2
- package/dist/components/02-molecules/Table/TableEmpty.jsx.map +1 -1
- package/dist/components/02-molecules/Table/TableSkeleton.jsx +2 -2
- package/dist/components/02-molecules/Table/TableSkeleton.jsx.map +1 -1
- package/dist/components/02-molecules/TimePicker/TimePicker.d.ts +6 -1
- package/dist/components/02-molecules/TimePicker/TimePicker.d.ts.map +1 -1
- package/dist/components/02-molecules/TimePicker/TimePicker.jsx +11 -11
- package/dist/components/02-molecules/TimePicker/TimePicker.jsx.map +1 -1
- package/dist/components/03-organisms/AsideFilters/AsideFilters.jsx +1 -1
- package/dist/components/03-organisms/AsideFilters/AsideFilters.jsx.map +1 -1
- package/dist/components/03-organisms/DataTable/DataTable.d.ts +2 -2
- package/dist/components/03-organisms/DataTable/DataTable.d.ts.map +1 -1
- package/dist/components/03-organisms/DataTable/DataTable.jsx +1 -1
- package/dist/components/03-organisms/DataTable/DataTable.jsx.map +1 -1
- package/dist/components/03-organisms/Header/Header.d.ts +3 -1
- package/dist/components/03-organisms/Header/Header.d.ts.map +1 -1
- package/dist/components/03-organisms/Header/Header.jsx +4 -3
- package/dist/components/03-organisms/Header/Header.jsx.map +1 -1
- package/dist/components/03-organisms/ModalMultiple/ModalMultiple.d.ts +9 -5
- package/dist/components/03-organisms/ModalMultiple/ModalMultiple.d.ts.map +1 -1
- package/dist/components/03-organisms/ModalMultiple/ModalMultiple.jsx +25 -12
- package/dist/components/03-organisms/ModalMultiple/ModalMultiple.jsx.map +1 -1
- package/dist/components/04-templates/DashboardTemplate/DashboardTemplate.d.ts +3 -1
- package/dist/components/04-templates/DashboardTemplate/DashboardTemplate.d.ts.map +1 -1
- package/dist/components/04-templates/DashboardTemplate/DashboardTemplate.jsx +5 -5
- package/dist/components/04-templates/DashboardTemplate/DashboardTemplate.jsx.map +1 -1
- package/dist/components/04-templates/DashboardTemplate/HeadingWithTitleSkeleton.d.ts +6 -2
- package/dist/components/04-templates/DashboardTemplate/HeadingWithTitleSkeleton.d.ts.map +1 -1
- package/dist/components/04-templates/DashboardTemplate/HeadingWithTitleSkeleton.jsx +3 -4
- package/dist/components/04-templates/DashboardTemplate/HeadingWithTitleSkeleton.jsx.map +1 -1
- package/dist/components/04-templates/LoginTemplate/LoginForm.d.ts +7 -1
- package/dist/components/04-templates/LoginTemplate/LoginForm.d.ts.map +1 -1
- package/dist/components/04-templates/LoginTemplate/LoginForm.jsx +7 -7
- package/dist/components/04-templates/LoginTemplate/LoginForm.jsx.map +1 -1
- package/dist/components/04-templates/LoginTemplate/LoginTemplate.d.ts +1 -0
- package/dist/components/04-templates/LoginTemplate/LoginTemplate.d.ts.map +1 -1
- package/dist/components/04-templates/LoginTemplate/LoginTemplate.jsx +4 -4
- package/dist/components/04-templates/LoginTemplate/LoginTemplate.jsx.map +1 -1
- package/dist/components/04-templates/LoginTemplate/SetupMfa/StepFour.d.ts.map +1 -1
- package/dist/components/04-templates/LoginTemplate/SetupMfa/StepFour.jsx +3 -3
- package/dist/components/04-templates/LoginTemplate/SetupMfa/StepFour.jsx.map +1 -1
- package/dist/components/04-templates/LoginTemplate/SetupMfa/StepOne.d.ts +2 -1
- package/dist/components/04-templates/LoginTemplate/SetupMfa/StepOne.d.ts.map +1 -1
- package/dist/components/04-templates/LoginTemplate/SetupMfa/StepOne.jsx +5 -5
- package/dist/components/04-templates/LoginTemplate/SetupMfa/StepOne.jsx.map +1 -1
- package/dist/components/04-templates/LoginTemplate/SetupMfa/StepThree.d.ts +3 -1
- package/dist/components/04-templates/LoginTemplate/SetupMfa/StepThree.d.ts.map +1 -1
- package/dist/components/04-templates/LoginTemplate/SetupMfa/StepThree.jsx +9 -9
- package/dist/components/04-templates/LoginTemplate/SetupMfa/StepThree.jsx.map +1 -1
- package/dist/components/04-templates/LoginTemplate/SetupMfa/StepTwo.d.ts +2 -1
- package/dist/components/04-templates/LoginTemplate/SetupMfa/StepTwo.d.ts.map +1 -1
- package/dist/components/04-templates/LoginTemplate/SetupMfa/StepTwo.jsx +6 -6
- package/dist/components/04-templates/LoginTemplate/SetupMfa/StepTwo.jsx.map +1 -1
- package/dist/components/04-templates/LoginTemplate/SetupMfa/index.d.ts +11 -1
- package/dist/components/04-templates/LoginTemplate/SetupMfa/index.d.ts.map +1 -1
- package/dist/components/04-templates/LoginTemplate/SetupMfa/index.jsx +16 -6
- package/dist/components/04-templates/LoginTemplate/SetupMfa/index.jsx.map +1 -1
- package/dist/components/04-templates/SideFilterTemplate/SideFilterTemplate.d.ts.map +1 -1
- package/dist/components/04-templates/SideFilterTemplate/SideFilterTemplate.jsx +5 -3
- package/dist/components/04-templates/SideFilterTemplate/SideFilterTemplate.jsx.map +1 -1
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +1 -0
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/useTheme.d.ts +21 -0
- package/dist/hooks/useTheme.d.ts.map +1 -0
- package/dist/hooks/useTheme.jsx +82 -0
- package/dist/hooks/useTheme.jsx.map +1 -0
- package/package.json +3 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import clsx from 'clsx';
|
|
3
|
-
import { useState } from 'react';
|
|
3
|
+
import { useId, useState } from 'react';
|
|
4
4
|
import { MdKeyboardArrowLeft, MdKeyboardArrowRight } from 'react-icons/md';
|
|
5
5
|
import { Each, Show } from '../../00-base';
|
|
6
6
|
/**
|
|
@@ -29,8 +29,9 @@ import { Each, Show } from '../../00-base';
|
|
|
29
29
|
*
|
|
30
30
|
* @returns {ReactNode} The rendered Pagination component.
|
|
31
31
|
*/
|
|
32
|
-
export function Pagination({ currentPage, pageChange, itemsPerPage, totalItems = 0, disableNavigation = false, disabledNext = false, ...restProps }) {
|
|
32
|
+
export function Pagination({ currentPage, pageChange, itemsPerPage, totalItems = 0, disableNavigation = false, disabledNext = false, navigationLabel, previousPageLabel, nextPageLabel, itemsPerPageLabel = 'Ítems por página', ...restProps }) {
|
|
33
33
|
const [itemsPerPageValue, setItemsPerPageValue] = useState((itemsPerPage?.length && itemsPerPage[0]) || 0);
|
|
34
|
+
const itemsPerPageId = useId();
|
|
34
35
|
const totalPages = Math.ceil(totalItems / itemsPerPageValue);
|
|
35
36
|
const visiblePages = 5;
|
|
36
37
|
let start = Math.max(1, currentPage - Math.floor(visiblePages / 2));
|
|
@@ -47,13 +48,15 @@ export function Pagination({ currentPage, pageChange, itemsPerPage, totalItems =
|
|
|
47
48
|
setItemsPerPageValue(value);
|
|
48
49
|
pageChange(1, value);
|
|
49
50
|
};
|
|
50
|
-
return (<
|
|
51
|
+
return (<nav {...restProps} aria-label={navigationLabel ?? restProps['aria-label']} className={clsx('flex items-center gap-2', restProps.className)}>
|
|
51
52
|
{!!itemsPerPage && itemsPerPage.length > 1 && (<>
|
|
52
53
|
<div>
|
|
53
|
-
<
|
|
54
|
+
<label htmlFor={itemsPerPageId} className="text-xs">
|
|
55
|
+
{itemsPerPageLabel}
|
|
56
|
+
</label>
|
|
54
57
|
</div>
|
|
55
58
|
<div>
|
|
56
|
-
<select className="h-8 rounded-full border bg-transparent px-3.5 text-sm font-normal text-black outline-0" value={itemsPerPageValue} onChange={(e) => handlerItemsPerPageChange(Number(e.target.value))}>
|
|
59
|
+
<select id={itemsPerPageId} className="border-gray-3 dark:border-gray-1 h-8 rounded-full border bg-transparent px-3.5 text-sm font-normal text-black outline-0 dark:text-white" value={itemsPerPageValue} onChange={(e) => handlerItemsPerPageChange(Number(e.target.value))}>
|
|
57
60
|
<Each of={itemsPerPage} render={(item) => (<option key={item} value={item}>
|
|
58
61
|
{item}
|
|
59
62
|
</option>)}/>
|
|
@@ -61,42 +64,42 @@ export function Pagination({ currentPage, pageChange, itemsPerPage, totalItems =
|
|
|
61
64
|
</div>
|
|
62
65
|
</>)}
|
|
63
66
|
<div className="flex items-center gap-2">
|
|
64
|
-
<button onClick={() => handlerPageChange(currentPage - 1)} disabled={currentPage <= 1 || disableNavigation} className={clsx(buttonStyleMap, 'w-8 px-0 text-2xl')}>
|
|
65
|
-
<MdKeyboardArrowLeft className="w-full"/>
|
|
67
|
+
<button type="button" onClick={() => handlerPageChange(currentPage - 1)} disabled={currentPage <= 1 || disableNavigation} aria-label={previousPageLabel} className={clsx(buttonStyleMap, 'w-8 px-0 text-2xl')}>
|
|
68
|
+
<MdKeyboardArrowLeft aria-hidden="true" className="w-full"/>
|
|
66
69
|
</button>
|
|
67
70
|
<Show>
|
|
68
71
|
<Show.When isTrue={!totalItems || !itemsPerPageValue || totalPages <= 1}>
|
|
69
|
-
<span key={currentPage} className="font-semibold transition-colors">
|
|
72
|
+
<span key={currentPage} aria-current="page" className="font-semibold transition-colors">
|
|
70
73
|
{currentPage}
|
|
71
74
|
</span>
|
|
72
75
|
</Show.When>
|
|
73
76
|
<Show.Else>
|
|
74
77
|
{start > 1 && (<>
|
|
75
|
-
<button key={1} onClick={() => handlerPageChange(1)} className={buttonStyleMap} disabled={disableNavigation}>
|
|
78
|
+
<button type="button" key={1} onClick={() => handlerPageChange(1)} className={buttonStyleMap} disabled={disableNavigation}>
|
|
76
79
|
1
|
|
77
80
|
</button>
|
|
78
81
|
{start > 2 && (<span key="ellipsis1" className={ellipsisStyleMap}>
|
|
79
82
|
...
|
|
80
83
|
</span>)}
|
|
81
84
|
</>)}
|
|
82
|
-
<Each of={Array.from({ length: end - start + 1 }, (_, index) => start + index)} render={(i) => (<button key={i} className={clsx(buttonStyleMap, currentPage === i &&
|
|
83
|
-
'cursor-default bg-black text-white dark:bg-white dark:text-black')} onClick={() => handlerPageChange(i)} disabled={currentPage === i
|
|
85
|
+
<Each of={Array.from({ length: end - start + 1 }, (_, index) => start + index)} render={(i) => (<button type="button" key={i} className={clsx(buttonStyleMap, currentPage === i &&
|
|
86
|
+
'cursor-default bg-black text-white dark:bg-white dark:text-black')} onClick={() => handlerPageChange(i)} disabled={disableNavigation} aria-current={currentPage === i ? 'page' : undefined}>
|
|
84
87
|
{i}
|
|
85
88
|
</button>)}/>
|
|
86
89
|
{end < totalPages && (<>
|
|
87
90
|
{end < totalPages - 1 && (<span key="ellipsis2" className={ellipsisStyleMap}>
|
|
88
91
|
...
|
|
89
92
|
</span>)}
|
|
90
|
-
<button key={totalPages} onClick={() => handlerPageChange(totalPages)} className={buttonStyleMap} disabled={disableNavigation}>
|
|
93
|
+
<button type="button" key={totalPages} onClick={() => handlerPageChange(totalPages)} className={buttonStyleMap} disabled={disableNavigation}>
|
|
91
94
|
{totalPages}
|
|
92
95
|
</button>
|
|
93
96
|
</>)}
|
|
94
97
|
</Show.Else>
|
|
95
98
|
</Show>
|
|
96
|
-
<button onClick={() => handlerPageChange(currentPage + 1)} disabled={currentPage === totalPages || disableNavigation || disabledNext} className={clsx(buttonStyleMap, 'w-8 px-0 text-2xl')}>
|
|
97
|
-
<MdKeyboardArrowRight className="w-full"/>
|
|
99
|
+
<button type="button" onClick={() => handlerPageChange(currentPage + 1)} disabled={currentPage === totalPages || disableNavigation || disabledNext} aria-label={nextPageLabel} className={clsx(buttonStyleMap, 'w-8 px-0 text-2xl')}>
|
|
100
|
+
<MdKeyboardArrowRight aria-hidden="true" className="w-full"/>
|
|
98
101
|
</button>
|
|
99
102
|
</div>
|
|
100
|
-
</
|
|
103
|
+
</nav>);
|
|
101
104
|
}
|
|
102
105
|
//# sourceMappingURL=Pagination.jsx.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pagination.jsx","sourceRoot":"","sources":["../../../../src/components/02-molecules/Pagination/Pagination.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAuC,QAAQ,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Pagination.jsx","sourceRoot":"","sources":["../../../../src/components/02-molecules/Pagination/Pagination.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
import { type ReactNode } from 'react';
|
|
1
|
+
import { type ReactNode, type RefObject } from 'react';
|
|
2
2
|
type SlideOverProps = {
|
|
3
3
|
side: 'left' | 'right';
|
|
4
4
|
closeCallback?: () => void;
|
|
5
5
|
children?: ReactNode | undefined;
|
|
6
|
+
closeButtonAriaLabel?: string;
|
|
7
|
+
initialFocusRef?: RefObject<HTMLElement | null>;
|
|
8
|
+
'aria-labelledby'?: string;
|
|
9
|
+
'aria-describedby'?: string;
|
|
6
10
|
};
|
|
7
11
|
/**
|
|
8
12
|
* SlideOver component for rendering a slide-over panel from the left or right side of the screen.
|
|
@@ -24,6 +28,6 @@ type SlideOverProps = {
|
|
|
24
28
|
*
|
|
25
29
|
* @returns {ReactNode} The rendered SlideOver component.
|
|
26
30
|
*/
|
|
27
|
-
export declare function SlideOver({ side, closeCallback, children, }: SlideOverProps): ReactNode;
|
|
31
|
+
export declare function SlideOver({ side, closeCallback, children, closeButtonAriaLabel, initialFocusRef, 'aria-labelledby': ariaLabelledBy, 'aria-describedby': ariaDescribedBy, }: SlideOverProps): ReactNode;
|
|
28
32
|
export {};
|
|
29
33
|
//# sourceMappingURL=SlideOver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SlideOver.d.ts","sourceRoot":"","sources":["../../../../src/components/02-molecules/SlideOver/SlideOver.tsx"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"SlideOver.d.ts","sourceRoot":"","sources":["../../../../src/components/02-molecules/SlideOver/SlideOver.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,SAAS,EAKf,MAAM,OAAO,CAAC;AAIf,KAAK,cAAc,GAAG;IACpB,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IACjC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,eAAe,CAAC,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAChD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAIF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,aAAa,EACb,QAAQ,EACR,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EAAE,cAAc,EACjC,kBAAkB,EAAE,eAAe,GACpC,EAAE,cAAc,GAAG,SAAS,CAyG5B"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import clsx from 'clsx';
|
|
3
|
-
import { useEffect, useState } from 'react';
|
|
3
|
+
import { useCallback, useEffect, useRef, useState, } from 'react';
|
|
4
4
|
import { MdClose } from 'react-icons/md';
|
|
5
|
+
import { useDialogFocus } from '../Modal/useDialogFocus';
|
|
5
6
|
const transitionClasses = 'transition ease-in-out duration-500';
|
|
6
7
|
/**
|
|
7
8
|
* SlideOver component for rendering a slide-over panel from the left or right side of the screen.
|
|
@@ -23,9 +24,10 @@ const transitionClasses = 'transition ease-in-out duration-500';
|
|
|
23
24
|
*
|
|
24
25
|
* @returns {ReactNode} The rendered SlideOver component.
|
|
25
26
|
*/
|
|
26
|
-
export function SlideOver({ side, closeCallback, children, }) {
|
|
27
|
+
export function SlideOver({ side, closeCallback, children, closeButtonAriaLabel, initialFocusRef, 'aria-labelledby': ariaLabelledBy, 'aria-describedby': ariaDescribedBy, }) {
|
|
27
28
|
const [isOpen, setIsOpen] = useState(false);
|
|
28
|
-
const
|
|
29
|
+
const dialogRef = useRef(null);
|
|
30
|
+
const overlayClasses = clsx('bg-gray-1/25 pointer-events-none fixed inset-0 dark:bg-black/75', transitionClasses, isOpen ? 'opacity-100' : 'opacity-0');
|
|
29
31
|
const containerClasses = clsx('pointer-events-none fixed inset-y-0 flex max-w-full', side === 'left' ? 'left-0 pr-10' : 'right-0 pl-10');
|
|
30
32
|
const panelClasses = clsx('pointer-events-auto relative w-screen max-w-md transform', transitionClasses, isOpen
|
|
31
33
|
? side === 'left'
|
|
@@ -37,25 +39,26 @@ export function SlideOver({ side, closeCallback, children, }) {
|
|
|
37
39
|
const closeButtonClasses = clsx('absolute top-0 flex pt-4', transitionClasses, isOpen ? 'opacity-100' : 'opacity-0', side === 'left'
|
|
38
40
|
? 'right-0 -mr-8 pl-2 sm:-mr-10 sm:pl-4'
|
|
39
41
|
: 'left-0 -ml-8 pr-2 sm:-ml-10 sm:pr-4');
|
|
40
|
-
const handlerClose = () => {
|
|
42
|
+
const handlerClose = useCallback(() => {
|
|
41
43
|
setIsOpen(false);
|
|
42
44
|
closeCallback && setTimeout(closeCallback, 500);
|
|
43
|
-
};
|
|
45
|
+
}, [closeCallback]);
|
|
44
46
|
const handlerOverlayClick = (event) => {
|
|
45
47
|
const target = event.target;
|
|
46
48
|
const currentTarget = event.currentTarget;
|
|
47
|
-
if (target.closest('.slide-over__close')) {
|
|
48
|
-
handlerClose();
|
|
49
|
-
return;
|
|
50
|
-
}
|
|
51
49
|
if (target === currentTarget) {
|
|
52
50
|
handlerClose();
|
|
53
|
-
return;
|
|
54
51
|
}
|
|
55
52
|
};
|
|
56
53
|
useEffect(() => {
|
|
57
54
|
setIsOpen(true);
|
|
58
55
|
}, []);
|
|
56
|
+
useDialogFocus({
|
|
57
|
+
containerRef: dialogRef,
|
|
58
|
+
initialFocusRef,
|
|
59
|
+
isOpen,
|
|
60
|
+
onEscape: handlerClose,
|
|
61
|
+
});
|
|
59
62
|
return (<>
|
|
60
63
|
<div className={`relative z-50 ${isOpen ? 'modal-open' : 'modal-close'}`}>
|
|
61
64
|
<div className={overlayClasses}/>
|
|
@@ -63,16 +66,15 @@ export function SlideOver({ side, closeCallback, children, }) {
|
|
|
63
66
|
<div className="fixed inset-0 overflow-hidden">
|
|
64
67
|
<div className="absolute inset-0 overflow-hidden" onClick={handlerOverlayClick}>
|
|
65
68
|
<div className={containerClasses}>
|
|
66
|
-
<div className={panelClasses}>
|
|
69
|
+
<div ref={dialogRef} role="dialog" aria-modal="true" aria-labelledby={ariaLabelledBy} aria-describedby={ariaDescribedBy} tabIndex={-1} className={clsx(panelClasses, 'outline-none')}>
|
|
67
70
|
<div className={closeButtonClasses}>
|
|
68
|
-
<button type="button" className="slide-over__close hover:text-gray-1 dark:hover:text-gray-3 relative rounded-md text-black transition-colors dark:text-white">
|
|
71
|
+
<button type="button" aria-label={closeButtonAriaLabel} onClick={handlerClose} className="slide-over__close hover:text-gray-1 focus-visible:ring-lavender dark:hover:text-gray-3 relative rounded-md text-black transition-colors focus-visible:ring-2 focus-visible:outline-none dark:text-white">
|
|
69
72
|
<span className="absolute -inset-2.5"/>
|
|
70
|
-
<
|
|
71
|
-
<MdClose className="h-6 w-6"/>
|
|
73
|
+
<MdClose aria-hidden className="h-6 w-6"/>
|
|
72
74
|
</button>
|
|
73
75
|
</div>
|
|
74
76
|
|
|
75
|
-
<div className="slide-over__content flex h-full flex-col overflow-y-auto bg-white shadow-xl dark:bg-black">
|
|
77
|
+
<div className="slide-over__content flex h-full flex-col overflow-y-auto bg-white text-black shadow-xl dark:bg-black dark:text-white">
|
|
76
78
|
{children}
|
|
77
79
|
</div>
|
|
78
80
|
</div>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SlideOver.jsx","sourceRoot":"","sources":["../../../../src/components/02-molecules/SlideOver/SlideOver.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,
|
|
1
|
+
{"version":3,"file":"SlideOver.jsx","sourceRoot":"","sources":["../../../../src/components/02-molecules/SlideOver/SlideOver.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ButtonHTMLAttributes, ReactNode } from 'react';
|
|
2
2
|
export type TabItemProps = {
|
|
3
3
|
icon?: ReactNode | string;
|
|
4
4
|
isActive?: boolean;
|
|
5
|
-
} &
|
|
5
|
+
} & ButtonHTMLAttributes<HTMLButtonElement>;
|
|
6
6
|
/**
|
|
7
7
|
* TabItem component for rendering a tab item with optional icon and active state.
|
|
8
8
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabItem.d.ts","sourceRoot":"","sources":["../../../../src/components/02-molecules/Tab/TabItem.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"TabItem.d.ts","sourceRoot":"","sources":["../../../../src/components/02-molecules/Tab/TabItem.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE7D,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,OAAO,CAAC,EACtB,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,GAAG,SAAS,EACb,EAAE,YAAY,GAAG,SAAS,CAiB1B"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import clsx from 'clsx';
|
|
2
|
-
import { Paragraph } from '../../01-atoms';
|
|
3
2
|
/**
|
|
4
3
|
* TabItem component for rendering a tab item with optional icon and active state.
|
|
5
4
|
*
|
|
@@ -23,10 +22,10 @@ import { Paragraph } from '../../01-atoms';
|
|
|
23
22
|
* @returns {ReactNode} The rendered TabItem component.
|
|
24
23
|
*/
|
|
25
24
|
export function TabItem({ children, icon, isActive, ...restProps }) {
|
|
26
|
-
return (<
|
|
25
|
+
return (<button type="button" role="tab" {...restProps} className={clsx('disabled:text-gray-3 focus-visible:ring-lavender dark:disabled:text-gray-2 relative z-10 inline-flex w-full cursor-pointer items-center gap-2 py-2 text-sm text-black focus-visible:ring-2 focus-visible:outline-none disabled:cursor-not-allowed dark:text-white', isActive &&
|
|
27
26
|
'before:bg-lavender before:absolute before:bottom-0 before:left-0 before:block before:h-[2.5px] before:w-full', restProps.className)}>
|
|
28
|
-
{!!icon && icon}
|
|
29
|
-
<
|
|
30
|
-
</
|
|
27
|
+
{!!icon && <span aria-hidden>{icon}</span>}
|
|
28
|
+
<span>{children}</span>
|
|
29
|
+
</button>);
|
|
31
30
|
}
|
|
32
31
|
//# sourceMappingURL=TabItem.jsx.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabItem.jsx","sourceRoot":"","sources":["../../../../src/components/02-molecules/Tab/TabItem.tsx"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"TabItem.jsx","sourceRoot":"","sources":["../../../../src/components/02-molecules/Tab/TabItem.tsx"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAQxB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,OAAO,CAAC,EACtB,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,GAAG,SAAS,EACC;IACb,OAAO,CACL,CAAC,MAAM,CACL,IAAI,CAAC,QAAQ,CACb,IAAI,CAAC,KAAK,CACV,IAAI,SAAS,CAAC,CACd,SAAS,CAAC,CAAC,IAAI,CACb,mQAAmQ,EACnQ,QAAQ;YACN,8GAA8G,EAChH,SAAS,CAAC,SAAS,CACpB,CAAC,CAEF;MAAA,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAC1C;MAAA,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,CACxB;IAAA,EAAE,MAAM,CAAC,CACV,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabList.d.ts","sourceRoot":"","sources":["../../../../src/components/02-molecules/Tab/TabList.tsx"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"TabList.d.ts","sourceRoot":"","sources":["../../../../src/components/02-molecules/Tab/TabList.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,cAAc,EAEnB,SAAS,EAGV,MAAM,OAAO,CAAC;AAIf,OAAO,EAAW,YAAY,EAAE,MAAM,WAAW,CAAC;AAElD,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEhD,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,KAAK,CAAC,YAAY,GAAG;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9C,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,SAAS,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,WAAW,CAAC,CAAC;IAC9D,YAAY,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;IAC9C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;AAenC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,OAAO,CAAC,EACtB,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,QAAoB,EACpB,cAAkB,EAClB,SAAiB,EACjB,GAAG,SAAS,EACb,EAAE,YAAY,GAAG,SAAS,CA2F1B"}
|
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import clsx from 'clsx';
|
|
3
|
-
import { Fragment, useState } from 'react';
|
|
3
|
+
import { Fragment, useId, useState, } from 'react';
|
|
4
4
|
import { Each, Show } from '../../00-base';
|
|
5
5
|
import { List } from '../../01-atoms';
|
|
6
6
|
import { Container } from '../Container';
|
|
7
7
|
import { TabItem } from './TabItem';
|
|
8
8
|
const styleMap = {
|
|
9
|
-
primary: ['border-gray-5'],
|
|
10
|
-
second: [
|
|
9
|
+
primary: ['border-gray-5', 'dark:border-gray-1'],
|
|
10
|
+
second: [
|
|
11
|
+
'border-transparent',
|
|
12
|
+
'bg-gray-6',
|
|
13
|
+
'dark:bg-gray-1',
|
|
14
|
+
'rounded-t-lg py-0.5',
|
|
15
|
+
],
|
|
11
16
|
};
|
|
12
17
|
const validateTabs = (firstActiveTab, length) => firstActiveTab < length && !(firstActiveTab < 0) ? firstActiveTab : 0;
|
|
13
18
|
/**
|
|
@@ -47,35 +52,59 @@ const validateTabs = (firstActiveTab, length) => firstActiveTab < length && !(fi
|
|
|
47
52
|
*/
|
|
48
53
|
export function TabList({ list, callback, listProps, contentProps, modifier = 'primary', firstActiveTab = 0, container = false, ...restProps }) {
|
|
49
54
|
const [activeTab, setActiveTab] = useState(validateTabs(firstActiveTab, list.length));
|
|
55
|
+
const generatedId = useId();
|
|
50
56
|
const handleItem = (index) => {
|
|
51
57
|
callback && callback(index);
|
|
52
58
|
setActiveTab(index);
|
|
53
59
|
};
|
|
60
|
+
const handleKeyDown = (event, index) => {
|
|
61
|
+
let nextIndex;
|
|
62
|
+
if (event.key === 'ArrowRight') {
|
|
63
|
+
nextIndex = index === list.length - 1 ? 0 : index + 1;
|
|
64
|
+
}
|
|
65
|
+
else if (event.key === 'ArrowLeft') {
|
|
66
|
+
nextIndex = index === 0 ? list.length - 1 : index - 1;
|
|
67
|
+
}
|
|
68
|
+
else if (event.key === 'Home') {
|
|
69
|
+
nextIndex = 0;
|
|
70
|
+
}
|
|
71
|
+
else if (event.key === 'End') {
|
|
72
|
+
nextIndex = list.length - 1;
|
|
73
|
+
}
|
|
74
|
+
if (nextIndex !== undefined) {
|
|
75
|
+
event.preventDefault();
|
|
76
|
+
handleItem(nextIndex);
|
|
77
|
+
const tabList = event.currentTarget.closest('[role="tablist"]');
|
|
78
|
+
const tabs = tabList?.querySelectorAll('[role="tab"]');
|
|
79
|
+
tabs?.[nextIndex]?.focus();
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
const panel = (<div {...contentProps} id={`${generatedId}-panel-${activeTab}`} role="tabpanel" aria-labelledby={`${generatedId}-tab-${activeTab}`} tabIndex={0}>
|
|
83
|
+
{list[activeTab].children}
|
|
84
|
+
</div>);
|
|
54
85
|
const Element = Object.keys(restProps).length ? 'div' : Fragment;
|
|
55
86
|
return (<Element {...restProps}>
|
|
56
87
|
<Show>
|
|
57
88
|
<Show.When isTrue={container}>
|
|
58
89
|
<div className={clsx('border-b', styleMap[modifier], listProps?.className)}>
|
|
59
90
|
<Container>
|
|
60
|
-
<RenderList className="gap-4" list={list} handleItem={handleItem} activeTab={activeTab}/>
|
|
91
|
+
<RenderList className="gap-4" list={list} handleItem={handleItem} handleKeyDown={handleKeyDown} activeTab={activeTab} generatedId={generatedId}/>
|
|
61
92
|
</Container>
|
|
62
93
|
</div>
|
|
63
|
-
<Container>
|
|
64
|
-
<div {...contentProps}>{list[activeTab].children}</div>
|
|
65
|
-
</Container>
|
|
94
|
+
<Container>{panel}</Container>
|
|
66
95
|
</Show.When>
|
|
67
96
|
<Show.Else>
|
|
68
|
-
<RenderList className={clsx('gap-4 border-b', styleMap[modifier], listProps?.className)} list={list} handleItem={handleItem} activeTab={activeTab}/>
|
|
69
|
-
|
|
97
|
+
<RenderList className={clsx('gap-4 border-b', styleMap[modifier], listProps?.className)} list={list} handleItem={handleItem} handleKeyDown={handleKeyDown} activeTab={activeTab} generatedId={generatedId}/>
|
|
98
|
+
{panel}
|
|
70
99
|
</Show.Else>
|
|
71
100
|
</Show>
|
|
72
101
|
</Element>);
|
|
73
102
|
}
|
|
74
|
-
const RenderList = ({ className, list, handleItem, activeTab, }) => {
|
|
75
|
-
return (<List orientation="horizontal" className={className}>
|
|
103
|
+
const RenderList = ({ className, list, handleItem, handleKeyDown, activeTab, generatedId, }) => {
|
|
104
|
+
return (<List role="tablist" aria-orientation="horizontal" orientation="horizontal" className={className}>
|
|
76
105
|
<Each of={list} render={({ title, icon }, index) => {
|
|
77
|
-
return (<li key={title}>
|
|
78
|
-
<TabItem icon={icon} onClick={() => handleItem(index)} isActive={index === activeTab}>
|
|
106
|
+
return (<li key={title} role="presentation">
|
|
107
|
+
<TabItem id={`${generatedId}-tab-${index}`} aria-controls={`${generatedId}-panel-${index}`} aria-selected={index === activeTab} tabIndex={index === activeTab ? 0 : -1} icon={icon} onClick={() => handleItem(index)} onKeyDown={(event) => handleKeyDown(event, index)} isActive={index === activeTab}>
|
|
79
108
|
{title}
|
|
80
109
|
</TabItem>
|
|
81
110
|
</li>);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabList.jsx","sourceRoot":"","sources":["../../../../src/components/02-molecules/Tab/TabList.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,
|
|
1
|
+
{"version":3,"file":"TabList.jsx","sourceRoot":"","sources":["../../../../src/components/02-molecules/Tab/TabList.tsx"],"names":[],"mappings":"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"}
|
|
@@ -26,6 +26,10 @@ type TableNotSelectableProps = {
|
|
|
26
26
|
loading?: boolean;
|
|
27
27
|
numberOfRows?: number;
|
|
28
28
|
footer?: ReactNode;
|
|
29
|
+
tableName?: string;
|
|
30
|
+
selectAllLabel?: string;
|
|
31
|
+
getRowSelectionLabel?: (item: TableItem) => string;
|
|
32
|
+
getRowActionLabel?: (item: TableItem) => string;
|
|
29
33
|
} & HTMLAttributes<HTMLDivElement>;
|
|
30
34
|
type TableSelectablePropsMultiple = {
|
|
31
35
|
selectable?: true;
|
|
@@ -86,6 +90,6 @@ export type TableActions = ButtonHTMLAttributes<HTMLButtonElement> & {
|
|
|
86
90
|
*
|
|
87
91
|
* @returns {ReactNode} The rendered Table component.
|
|
88
92
|
*/
|
|
89
|
-
export declare function Table({ headers, id, data, action, actions, selectable, multiple, currentSelection, setCurrentSelection, tableProps, loading, numberOfRows, footer, ...restProps }: TableProps): ReactNode;
|
|
93
|
+
export declare function Table({ headers, id, data, action, actions, selectable, multiple, currentSelection, setCurrentSelection, tableProps, loading, numberOfRows, footer, tableName, selectAllLabel, getRowSelectionLabel, getRowActionLabel, ...restProps }: TableProps): ReactNode;
|
|
90
94
|
export {};
|
|
91
95
|
//# sourceMappingURL=Table.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../../src/components/02-molecules/Table/Table.tsx"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,cAAc,
|
|
1
|
+
{"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../../src/components/02-molecules/Table/Table.tsx"],"names":[],"mappings":"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"}
|
|
@@ -50,20 +50,33 @@ import { getIndex, renderTableCellContent } from './utils';
|
|
|
50
50
|
*
|
|
51
51
|
* @returns {ReactNode} The rendered Table component.
|
|
52
52
|
*/
|
|
53
|
-
export function Table({ headers, id, data, action, actions, selectable = false, multiple = true, currentSelection, setCurrentSelection, tableProps, loading = false, numberOfRows = 10, footer, ...restProps }) {
|
|
53
|
+
export function Table({ headers, id, data, action, actions, selectable = false, multiple = true, currentSelection, setCurrentSelection, tableProps, loading = false, numberOfRows = 10, footer, tableName, selectAllLabel, getRowSelectionLabel, getRowActionLabel, ...restProps }) {
|
|
54
54
|
const [selected, setSelected] = useState(multiple ? currentSelection ?? {} : currentSelection);
|
|
55
55
|
const [selectAll, setSelectAll] = useState(false);
|
|
56
|
-
const buttonClass = clsx('action disabled:text-gray-3 rounded-sm p-2 text-base transition-colors not-disabled:hover:bg-black not-disabled:hover:text-white'
|
|
56
|
+
const buttonClass = clsx('action disabled:text-gray-3 rounded-sm p-2 text-base transition-colors not-disabled:hover:bg-black not-disabled:hover:text-white dark:not-disabled:hover:bg-white dark:not-disabled:hover:text-black');
|
|
57
|
+
const handleRowAction = (item) => {
|
|
58
|
+
if (!multiple && selectable) {
|
|
59
|
+
handlerSelect(item);
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
action?.(item);
|
|
63
|
+
};
|
|
64
|
+
const shouldIgnoreRowAction = (target) => {
|
|
65
|
+
return Boolean(target.closest('button, a, input, label, select, textarea, [role="button"]'));
|
|
66
|
+
};
|
|
57
67
|
const handlerClick = (event, item) => {
|
|
58
|
-
|
|
59
|
-
const parent = target.closest('.action');
|
|
60
|
-
if (target.tagName === 'LABEL' || target.tagName === 'INPUT' || parent) {
|
|
68
|
+
if (shouldIgnoreRowAction(event.target)) {
|
|
61
69
|
return;
|
|
62
70
|
}
|
|
63
|
-
|
|
64
|
-
|
|
71
|
+
handleRowAction(item);
|
|
72
|
+
};
|
|
73
|
+
const handlerKeyDown = (event, item) => {
|
|
74
|
+
if (event.target !== event.currentTarget ||
|
|
75
|
+
(event.key !== 'Enter' && event.key !== ' ')) {
|
|
76
|
+
return;
|
|
65
77
|
}
|
|
66
|
-
|
|
78
|
+
event.preventDefault();
|
|
79
|
+
handleRowAction(item);
|
|
67
80
|
};
|
|
68
81
|
const updateSelection = (selection) => {
|
|
69
82
|
if (!setCurrentSelection) {
|
|
@@ -139,13 +152,14 @@ export function Table({ headers, id, data, action, actions, selectable = false,
|
|
|
139
152
|
setSelected(multiple ? currentSelection ?? {} : currentSelection);
|
|
140
153
|
}, [currentSelection]);
|
|
141
154
|
return (<div {...restProps} className={clsx('overflow-x-auto', restProps.className)}>
|
|
142
|
-
<table {...tableProps} className={clsx('w-full min-w-full text-left', tableProps?.className)}>
|
|
155
|
+
<table {...tableProps} aria-label={tableName ?? tableProps?.['aria-label']} className={clsx('w-full min-w-full text-left dark:text-white', tableProps?.className)}>
|
|
143
156
|
<thead>
|
|
144
|
-
<tr className="border-gray-5 border-b text-xs">
|
|
157
|
+
<tr className="border-gray-5 dark:border-gray-1 border-b text-xs">
|
|
145
158
|
{!!selectable && !!multiple && (<th className="px-4 py-3">
|
|
146
159
|
<Checkbox label={{ className: 'hidden' }} checkbox={{
|
|
147
160
|
checked: selectAll,
|
|
148
161
|
onChange: handlerSelectAll,
|
|
162
|
+
'aria-label': selectAllLabel,
|
|
149
163
|
}}/>
|
|
150
164
|
</th>)}
|
|
151
165
|
<Each of={headers} render={({ title, key }) => (<th key={key} className="px-4 py-3">
|
|
@@ -164,14 +178,17 @@ export function Table({ headers, id, data, action, actions, selectable = false,
|
|
|
164
178
|
const isSelected = selected
|
|
165
179
|
? multiple
|
|
166
180
|
? !!selected[index]
|
|
167
|
-
: selected[id] === index
|
|
181
|
+
: getIndex(selected[id]) === index
|
|
168
182
|
: false;
|
|
169
|
-
return (<tr key={index} className={clsx('border-gray-5 border-b transition-colors', !isSelected
|
|
170
|
-
'
|
|
183
|
+
return (<tr key={index} className={clsx('border-gray-5 dark:border-gray-1 border-b transition-colors', !isSelected
|
|
184
|
+
? 'hover:bg-gray-5 dark:hover:bg-black-1'
|
|
185
|
+
: 'bg-gray-4 dark:bg-gray-1', (action || (selectable && !multiple)) &&
|
|
186
|
+
'focus-visible:outline-lavender cursor-pointer focus-visible:outline-2 focus-visible:outline-offset-[-2px]')} onClick={(event) => handlerClick(event, item)} onKeyDown={(event) => handlerKeyDown(event, item)} tabIndex={action || (selectable && !multiple) ? 0 : undefined} aria-label={getRowActionLabel?.(item)}>
|
|
171
187
|
{!!selectable && !!multiple && (<td className="px-4 py-3">
|
|
172
188
|
<Checkbox label={{ className: 'hidden' }} checkbox={{
|
|
173
189
|
checked: isSelected,
|
|
174
190
|
onChange: () => handlerSelect(item),
|
|
191
|
+
'aria-label': getRowSelectionLabel?.(item),
|
|
175
192
|
}}/>
|
|
176
193
|
</td>)}
|
|
177
194
|
<Each of={headers} render={({ key }) => (<td key={key} className="p-4">
|
|
@@ -207,7 +224,7 @@ export function Table({ headers, id, data, action, actions, selectable = false,
|
|
|
207
224
|
</td>)}
|
|
208
225
|
</tr>);
|
|
209
226
|
}}/>
|
|
210
|
-
{!!footer && <tr className="bg-gray-6">{footer}</tr>}
|
|
227
|
+
{!!footer && (<tr className="bg-gray-6 dark:bg-black-1">{footer}</tr>)}
|
|
211
228
|
</Show.Else>
|
|
212
229
|
</Show>
|
|
213
230
|
</tbody>)}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.jsx","sourceRoot":"","sources":["../../../../src/components/02-molecules/Table/Table.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,
|
|
1
|
+
{"version":3,"file":"Table.jsx","sourceRoot":"","sources":["../../../../src/components/02-molecules/Table/Table.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableEmpty.d.ts","sourceRoot":"","sources":["../../../../src/components/02-molecules/Table/TableEmpty.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIlC;;;;;;;;;GASG;AACH,wBAAgB,UAAU,IAAI,SAAS,
|
|
1
|
+
{"version":3,"file":"TableEmpty.d.ts","sourceRoot":"","sources":["../../../../src/components/02-molecules/Table/TableEmpty.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIlC;;;;;;;;;GASG;AACH,wBAAgB,UAAU,IAAI,SAAS,CAetC"}
|
|
@@ -12,8 +12,8 @@ import { Paragraph } from '../../01-atoms';
|
|
|
12
12
|
* @returns {ReactNode} The rendered TableEmpty component.
|
|
13
13
|
*/
|
|
14
14
|
export function TableEmpty() {
|
|
15
|
-
return (<div className="flex h-72 flex-col items-center justify-center gap-2 p-2">
|
|
16
|
-
<Image src={TableEmptyImg} width={130} height={200} alt="
|
|
15
|
+
return (<div className="flex h-72 flex-col items-center justify-center gap-2 p-2 dark:text-white">
|
|
16
|
+
<Image src={TableEmptyImg} width={130} height={200} alt="" aria-hidden="true"/>
|
|
17
17
|
<Paragraph className="w-52 max-w-full text-center" size="subtitle-1">
|
|
18
18
|
No hay resultados que correspondan a tu búsqueda
|
|
19
19
|
</Paragraph>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableEmpty.jsx","sourceRoot":"","sources":["../../../../src/components/02-molecules/Table/TableEmpty.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAC;AAE/B,OAAO,aAAa,MAAM,2CAA2C,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C;;;;;;;;;GASG;AACH,MAAM,UAAU,UAAU;IACxB,OAAO,CACL,CAAC,GAAG,CAAC,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"TableEmpty.jsx","sourceRoot":"","sources":["../../../../src/components/02-molecules/Table/TableEmpty.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAC;AAE/B,OAAO,aAAa,MAAM,2CAA2C,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C;;;;;;;;;GASG;AACH,MAAM,UAAU,UAAU;IACxB,OAAO,CACL,CAAC,GAAG,CAAC,SAAS,CAAC,0EAA0E,CACvF;MAAA,CAAC,KAAK,CACJ,GAAG,CAAC,CAAC,aAAa,CAAC,CACnB,KAAK,CAAC,CAAC,GAAG,CAAC,CACX,MAAM,CAAC,CAAC,GAAG,CAAC,CACZ,GAAG,CAAC,EAAE,CACN,WAAW,CAAC,MAAM,EAEpB;MAAA,CAAC,SAAS,CAAC,SAAS,CAAC,6BAA6B,CAAC,IAAI,CAAC,YAAY,CAClE;;MACF,EAAE,SAAS,CACb;IAAA,EAAE,GAAG,CAAC,CACP,CAAC;AACJ,CAAC"}
|