@axzydev/axzy_ui_system 1.4.8 → 1.5.1
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 +2 -11
- package/dist/index.cjs +1826 -1351
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +1 -1
- package/dist/index.css.map +1 -1
- package/dist/index.d.cts +115 -14
- package/dist/index.d.ts +115 -14
- package/dist/index.js +1481 -1010
- package/dist/index.js.map +1 -1
- package/dist/layered.css +1 -1
- package/package.json +3 -16
- package/src/App.tsx +90 -73
- package/src/components/atoms/badget/badget.tsx +23 -5
- package/src/components/atoms/chip/chip.tsx +3 -1
- package/src/components/atoms/image/image.tsx +3 -1
- package/src/components/atoms/input/input.tsx +8 -5
- package/src/components/atoms/loader/loader.tsx +3 -1
- package/src/components/atoms/slide/slide.props.ts +12 -0
- package/src/components/atoms/slide/slide.tsx +3 -0
- package/src/components/molecules/alert/alert.tsx +3 -1
- package/src/components/molecules/breadcrumbs/breadcrumbs.tsx +3 -1
- package/src/components/molecules/calendar/calendar.tsx +9 -6
- package/src/components/molecules/card/card.tsx +5 -2
- package/src/components/molecules/chip-input/chip-input.tsx +9 -7
- package/src/components/molecules/date-picker/datePicker.tsx +9 -9
- package/src/components/molecules/dropdown-menu/dropdown-menu.props.ts +1 -1
- package/src/components/molecules/dropdown-menu/dropdown-menu.tsx +6 -3
- package/src/components/molecules/field/field.tsx +3 -1
- package/src/components/molecules/form-header/form-header.tsx +3 -1
- package/src/components/molecules/line-bar-chart/line-bar-chart.props.ts +2 -2
- package/src/components/molecules/line-bar-chart/line-bar-chart.tsx +20 -15
- package/src/components/molecules/masked-input/masked-input.tsx +3 -1
- package/src/components/molecules/multi-select/multi-select.tsx +12 -9
- package/src/components/molecules/pagination/pagination.tsx +11 -5
- package/src/components/molecules/search-select/search-select.tsx +11 -9
- package/src/components/molecules/select/select.tsx +6 -4
- package/src/components/molecules/stepper/stepper.tsx +6 -4
- package/src/components/molecules/table/table.tsx +30 -28
- package/src/components/molecules/time-picker/timePicker.tsx +8 -6
- package/src/components/molecules/wysiwyg/wysiwyg.tsx +23 -12
- package/src/components/organisms/confirm-dialog/confirm-dialog.props.ts +4 -4
- package/src/components/organisms/confirm-dialog/confirm-dialog.tsx +16 -8
- package/src/components/organisms/data-table/dataTable.tsx +31 -25
- package/src/components/organisms/dialog/dialog.tsx +3 -0
- package/src/components/organisms/drawer/drawer.tsx +3 -0
- package/src/components/organisms/dropfile/dropfile.tsx +19 -17
- package/src/components/organisms/form-builder/fieldRenderer.tsx +4 -2
- package/src/components/organisms/navbar/navbar.tsx +4 -2
- package/src/components/organisms/page-header/page-header.tsx +3 -1
- package/src/components/organisms/searchTable/components/PaginationControls.tsx +8 -6
- package/src/components/organisms/searchTable/components/PaginationInfo.tsx +3 -1
- package/src/components/organisms/searchTable/components/SearchAndSortBar.tsx +7 -5
- package/src/components/organisms/searchTable/components/SearchInput.tsx +4 -2
- package/src/components/organisms/searchTable/components/SortButton.tsx +13 -11
- package/src/components/organisms/searchTable/components/TableEmptyState.tsx +4 -2
- package/src/components/organisms/searchTable/components/TableRow.tsx +6 -4
- package/src/components/organisms/searchTable/searchTable.tsx +4 -2
- package/src/components/organisms/sidebar/sidebar.props.ts +1 -1
- package/src/components/organisms/sidebar/sidebar.tsx +9 -4
- package/src/components/organisms/toast/toast.tsx +3 -1
- package/src/components/organisms/topbar/topbar.tsx +4 -2
- package/src/components/templates/page/page.props.ts +4 -4
- package/src/components/templates/page/page.tsx +6 -4
- package/src/components/theme-provider/themeProvider.tsx +28 -17
- package/src/dev.css +61 -2
- package/src/global.d.ts +10 -0
- package/src/i18n/context.ts +9 -0
- package/src/i18n/index.ts +22 -0
- package/src/i18n/locales/en.ts +163 -0
- package/src/i18n/locales/es.ts +165 -0
- package/src/i18n/provider.tsx +44 -0
- package/src/i18n/translator.ts +82 -0
- package/src/i18n/types.ts +54 -0
- package/src/i18n/useITTranslation.ts +20 -0
- package/src/index.css +0 -1
- package/src/index.ts +7 -1
- package/src/sandbox/LandingShowcase.tsx +224 -580
- package/src/sandbox/NotFoundShowcase.tsx +51 -36
- package/src/sandbox/TopbarSearch.tsx +6 -4
- package/src/sandbox/controls.tsx +180 -0
- package/src/sandbox/i18n.ts +1939 -0
- package/src/sandbox/icons.tsx +25 -0
- package/src/sandbox/locale.tsx +72 -0
- package/src/sandbox/ui.tsx +474 -0
- package/src/sandbox/useHashRoute.ts +46 -10
- package/src/showcases/DataShowcases.tsx +103 -87
- package/src/showcases/FeedbackShowcases.tsx +37 -30
- package/src/showcases/FormShowcases.tsx +303 -215
- package/src/showcases/GettingStartedShowcase.tsx +151 -145
- package/src/showcases/HelpShowcase.tsx +126 -128
- package/src/showcases/HomeShowcase.tsx +678 -482
- package/src/showcases/LayoutPrimitivesShowcases.tsx +129 -114
- package/src/showcases/NavigationShowcases.tsx +45 -37
- package/src/showcases/PageShowcases.tsx +171 -152
- package/src/showcases/ProductoDetalle.tsx +272 -129
- package/src/showcases/ShowcaseLayout.tsx +256 -219
- package/src/showcases/SizesShowcase.tsx +123 -64
- package/src/showcases/StructureShowcases.tsx +203 -138
- package/src/showcases/portfolioUi.tsx +153 -0
- package/src/showcases/techIcons.ts +3 -0
- package/src/utils/table.utils.ts +10 -2
- package/src/components/atoms/avatar/avatar.doc.mdx +0 -48
- package/src/components/atoms/avatar/avatar.stories.tsx +0 -64
- package/src/components/atoms/badget/badget.doc.mdx +0 -46
- package/src/components/atoms/badget/badget.stories.tsx +0 -75
- package/src/components/atoms/button/button.doc.mdx +0 -59
- package/src/components/atoms/button/button.stories.tsx +0 -173
- package/src/components/atoms/checkbox/checkbox.doc.mdx +0 -54
- package/src/components/atoms/checkbox/checkbox.stories.tsx +0 -53
- package/src/components/atoms/chip/chip.doc.mdx +0 -47
- package/src/components/atoms/chip/chip.stories.tsx +0 -64
- package/src/components/atoms/divider/divider.doc.mdx +0 -42
- package/src/components/atoms/divider/divider.stories.tsx +0 -33
- package/src/components/atoms/flex/flex.doc.mdx +0 -59
- package/src/components/atoms/flex/flex.stories.tsx +0 -70
- package/src/components/atoms/grid/grid.doc.mdx +0 -54
- package/src/components/atoms/grid/grid.stories.tsx +0 -71
- package/src/components/atoms/image/image.doc.mdx +0 -44
- package/src/components/atoms/image/image.stories.tsx +0 -48
- package/src/components/atoms/input/input.doc.mdx +0 -70
- package/src/components/atoms/input/input.stories.tsx +0 -113
- package/src/components/atoms/input-number/input-number.doc.mdx +0 -74
- package/src/components/atoms/input-number/input-number.stories.tsx +0 -111
- package/src/components/atoms/loader/loader.doc.mdx +0 -43
- package/src/components/atoms/loader/loader.stories.tsx +0 -104
- package/src/components/atoms/popover/popover.doc.mdx +0 -53
- package/src/components/atoms/popover/popover.stories.tsx +0 -24
- package/src/components/atoms/progress/progress.doc.mdx +0 -48
- package/src/components/atoms/progress/progress.stories.tsx +0 -39
- package/src/components/atoms/radio/radio.doc.mdx +0 -62
- package/src/components/atoms/radio/radio.stories.tsx +0 -48
- package/src/components/atoms/segmented-control/segmented-control.doc.mdx +0 -60
- package/src/components/atoms/segmented-control/segmented-control.stories.tsx +0 -62
- package/src/components/atoms/skeleton/skeleton.doc.mdx +0 -43
- package/src/components/atoms/skeleton/skeleton.stories.tsx +0 -29
- package/src/components/atoms/slide/slide.doc.mdx +0 -46
- package/src/components/atoms/slide/slide.stories.tsx +0 -120
- package/src/components/atoms/slider/slider.doc.mdx +0 -49
- package/src/components/atoms/slider/slider.stories.tsx +0 -29
- package/src/components/atoms/stack/stack.doc.mdx +0 -126
- package/src/components/atoms/stack/stack.stories.tsx +0 -283
- package/src/components/atoms/text/text.doc.mdx +0 -41
- package/src/components/atoms/text/text.stories.tsx +0 -66
- package/src/components/atoms/textarea/textarea.doc.mdx +0 -64
- package/src/components/atoms/textarea/textarea.stories.tsx +0 -26
- package/src/components/atoms/tooltip/tooltip.doc.mdx +0 -47
- package/src/components/atoms/tooltip/tooltip.stories.tsx +0 -19
- package/src/components/isolation/isolation.stories.tsx +0 -202
- package/src/components/molecules/accordion/accordion.doc.mdx +0 -47
- package/src/components/molecules/accordion/accordion.stories.tsx +0 -68
- package/src/components/molecules/alert/alert.doc.mdx +0 -48
- package/src/components/molecules/alert/alert.stories.tsx +0 -40
- package/src/components/molecules/breadcrumbs/breadcrumbs.doc.mdx +0 -57
- package/src/components/molecules/breadcrumbs/breadcrumbs.stories.tsx +0 -20
- package/src/components/molecules/calendar/calendar.doc.mdx +0 -76
- package/src/components/molecules/calendar/calendar.stories.tsx +0 -90
- package/src/components/molecules/card/card.doc.mdx +0 -54
- package/src/components/molecules/card/card.stories.tsx +0 -57
- package/src/components/molecules/chip-input/chip-input.doc.mdx +0 -44
- package/src/components/molecules/chip-input/chip-input.stories.tsx +0 -52
- package/src/components/molecules/date-picker/date-picker.doc.mdx +0 -65
- package/src/components/molecules/date-picker/date-picker.stories.tsx +0 -88
- package/src/components/molecules/dropdown-menu/dropdown-menu.doc.mdx +0 -46
- package/src/components/molecules/dropdown-menu/dropdown-menu.stories.tsx +0 -41
- package/src/components/molecules/empty-state/empty-state.doc.mdx +0 -50
- package/src/components/molecules/empty-state/empty-state.stories.tsx +0 -19
- package/src/components/molecules/field/field.doc.mdx +0 -43
- package/src/components/molecules/field/field.stories.tsx +0 -42
- package/src/components/molecules/form-header/form-header.doc.mdx +0 -38
- package/src/components/molecules/form-header/form-header.stories.tsx +0 -52
- package/src/components/molecules/masked-input/masked-input.doc.mdx +0 -78
- package/src/components/molecules/masked-input/masked-input.stories.tsx +0 -126
- package/src/components/molecules/multi-select/multi-select.doc.mdx +0 -55
- package/src/components/molecules/multi-select/multi-select.stories.tsx +0 -59
- package/src/components/molecules/pagination/pagination.doc.mdx +0 -62
- package/src/components/molecules/pagination/pagination.stories.tsx +0 -110
- package/src/components/molecules/search-select/search-select.doc.mdx +0 -77
- package/src/components/molecules/search-select/search-select.stories.tsx +0 -146
- package/src/components/molecules/select/select.doc.mdx +0 -75
- package/src/components/molecules/select/select.stories.tsx +0 -85
- package/src/components/molecules/stat-card/stat-card.doc.mdx +0 -48
- package/src/components/molecules/stat-card/stat-card.stories.tsx +0 -40
- package/src/components/molecules/stepper/stepper.doc.mdx +0 -54
- package/src/components/molecules/stepper/stepper.stories.tsx +0 -154
- package/src/components/molecules/table/table.doc.mdx +0 -140
- package/src/components/molecules/table/table.stories.tsx +0 -402
- package/src/components/molecules/tabs/tabs.doc.mdx +0 -52
- package/src/components/molecules/tabs/tabs.stories.tsx +0 -31
- package/src/components/molecules/time-picker/timePicker.doc.mdx +0 -68
- package/src/components/molecules/time-picker/timePicker.stories.tsx +0 -130
- package/src/components/molecules/wysiwyg/wysiwyg.stories.tsx +0 -95
- package/src/components/organisms/confirm-dialog/confirm-dialog.doc.mdx +0 -60
- package/src/components/organisms/confirm-dialog/confirm-dialog.stories.tsx +0 -32
- package/src/components/organisms/data-table/ITDataTable.doc.mdx +0 -132
- package/src/components/organisms/data-table/ITDataTable.stories.tsx +0 -353
- package/src/components/organisms/dialog/dialog.doc.mdx +0 -54
- package/src/components/organisms/dialog/dialog.stories.tsx +0 -126
- package/src/components/organisms/drawer/drawer.doc.mdx +0 -59
- package/src/components/organisms/drawer/drawer.stories.tsx +0 -40
- package/src/components/organisms/dropfile/dropfile.doc.mdx +0 -74
- package/src/components/organisms/dropfile/dropfile.stories.tsx +0 -93
- package/src/components/organisms/form-builder/formBuilder.doc.mdx +0 -251
- package/src/components/organisms/form-builder/formBuilder.stories.tsx +0 -914
- package/src/components/organisms/navbar/navbar.doc.mdx +0 -77
- package/src/components/organisms/navbar/navbar.stories.tsx +0 -83
- package/src/components/organisms/page-header/page-header.doc.mdx +0 -54
- package/src/components/organisms/page-header/page-header.stories.tsx +0 -74
- package/src/components/organisms/searchTable/searchTable.doc.mdx +0 -79
- package/src/components/organisms/searchTable/searchTable.stories.tsx +0 -73
- package/src/components/organisms/sidebar/sidebar.doc.mdx +0 -176
- package/src/components/organisms/sidebar/sidebar.stories.tsx +0 -234
- package/src/components/organisms/toast/toast.doc.mdx +0 -50
- package/src/components/organisms/toast/toast.stories.tsx +0 -137
- package/src/components/organisms/topbar/topbar.doc.mdx +0 -72
- package/src/components/organisms/topbar/topbar.stories.tsx +0 -79
- package/src/components/organisms/triple-filter/tripleFilter.doc.mdx +0 -62
- package/src/components/organisms/triple-filter/tripleFilter.stories.tsx +0 -31
- package/src/components/templates/layout/layout.doc.mdx +0 -53
- package/src/components/templates/layout/layout.stories.tsx +0 -113
- package/src/components/templates/page/page.doc.mdx +0 -86
- package/src/components/templates/page/page.stories.tsx +0 -97
- package/src/components/theme-provider/themeProvider.doc.mdx +0 -85
- package/src/components/theme-provider/themeProvider.stories.tsx +0 -58
|
@@ -14,9 +14,11 @@ import {
|
|
|
14
14
|
} from "../index";
|
|
15
15
|
import { PRESETS } from "../components/theme-provider/themePresets";
|
|
16
16
|
import { ShowcaseLayout } from "./ShowcaseLayout";
|
|
17
|
+
import { useITTranslation } from "@/i18n";
|
|
17
18
|
|
|
18
19
|
// 1. ITDialog Showcase
|
|
19
20
|
export const DialogShowcase = () => {
|
|
21
|
+
const { t } = useITTranslation();
|
|
20
22
|
const [isOpen, setIsOpen] = useState(false);
|
|
21
23
|
const [useFormHeader, setUseFormHeader] = useState(true);
|
|
22
24
|
const [auditor, setAuditor] = useState("");
|
|
@@ -26,26 +28,26 @@ export const DialogShowcase = () => {
|
|
|
26
28
|
return (
|
|
27
29
|
<ShowcaseLayout
|
|
28
30
|
title="ITDialog"
|
|
29
|
-
description="
|
|
31
|
+
description={t("showcase.feedback.dialogDesc")}
|
|
30
32
|
code={code}
|
|
31
33
|
demo={
|
|
32
34
|
<div>
|
|
33
|
-
<ITButton label="
|
|
35
|
+
<ITButton label={t("showcase.feedback.openModal")} color="primary" onClick={() => setIsOpen(true)} />
|
|
34
36
|
<ITDialog
|
|
35
37
|
isOpen={isOpen}
|
|
36
38
|
onClose={() => setIsOpen(false)}
|
|
37
|
-
title="
|
|
39
|
+
title={t("showcase.feedback.dialogTitle")}
|
|
38
40
|
useFormHeader={useFormHeader}
|
|
39
41
|
>
|
|
40
42
|
<div className="p-6 space-y-4">
|
|
41
43
|
<p className="text-sm text-slate-600 dark:text-slate-300">
|
|
42
|
-
|
|
44
|
+
{t("showcase.feedback.dialogBody")}
|
|
43
45
|
</p>
|
|
44
46
|
{/* Los paneles flotantes (selects, pickers, menús) se renderizan en
|
|
45
47
|
un portal fuera del diálogo: elegir una opción no debe cerrarlo. */}
|
|
46
48
|
<ITSearchSelect
|
|
47
|
-
label="
|
|
48
|
-
placeholder="
|
|
49
|
+
label={t("showcase.feedback.auditorLabel")}
|
|
50
|
+
placeholder={t("showcase.feedback.auditorPlaceholder")}
|
|
49
51
|
options={[
|
|
50
52
|
{ value: "ana", label: "Ana Torres" },
|
|
51
53
|
{ value: "luis", label: "Luis Paredes" },
|
|
@@ -55,8 +57,8 @@ export const DialogShowcase = () => {
|
|
|
55
57
|
onChange={(next) => setAuditor(String(next))}
|
|
56
58
|
/>
|
|
57
59
|
<div className="flex justify-end gap-3 pt-4 border-t">
|
|
58
|
-
<ITButton label="
|
|
59
|
-
<ITButton label="
|
|
60
|
+
<ITButton label={t("showcase.common.cancel")} variant="ghost" onClick={() => setIsOpen(false)} />
|
|
61
|
+
<ITButton label={t("showcase.feedback.authorize")} color="success" onClick={() => { alert(t("showcase.feedback.signedTransaction")); setIsOpen(false); }} />
|
|
60
62
|
</div>
|
|
61
63
|
</div>
|
|
62
64
|
</ITDialog>
|
|
@@ -65,8 +67,10 @@ export const DialogShowcase = () => {
|
|
|
65
67
|
controls={
|
|
66
68
|
<>
|
|
67
69
|
<div className="flex items-center justify-between pt-2">
|
|
68
|
-
<span className="text-
|
|
69
|
-
<ITSlideToggle isOn={useFormHeader} onToggle={setUseFormHeader} size="sm"
|
|
70
|
+
<span className="font-mono text-[11px] font-medium uppercase tracking-[0.14em] text-slate-500 dark:text-slate-400">{t("showcase.feedback.useFormHeader")}</span>
|
|
71
|
+
<ITSlideToggle isOn={useFormHeader} onToggle={setUseFormHeader} size="sm"
|
|
72
|
+
ariaLabel={t("showcase.feedback.useFormHeader")}
|
|
73
|
+
/>
|
|
70
74
|
</div>
|
|
71
75
|
</>
|
|
72
76
|
}
|
|
@@ -76,20 +80,21 @@ export const DialogShowcase = () => {
|
|
|
76
80
|
|
|
77
81
|
// 2. ITToast Showcase
|
|
78
82
|
export const ToastShowcase = () => {
|
|
83
|
+
const { t } = useITTranslation();
|
|
79
84
|
const [visible, setVisible] = useState(false);
|
|
80
85
|
const [type, setType] = useState<any>("success");
|
|
81
|
-
const [msg, setMsg] = useState("
|
|
86
|
+
const [msg, setMsg] = useState(t("showcase.feedback.toastDefaultMsg"));
|
|
82
87
|
|
|
83
88
|
const code = `<ITToast\n message="${msg}"\n type="${type}"\n duration={3000}\n onClose={() => setVisible(false)}\n/>`;
|
|
84
89
|
|
|
85
90
|
return (
|
|
86
91
|
<ShowcaseLayout
|
|
87
92
|
title="ITToast"
|
|
88
|
-
description="
|
|
93
|
+
description={t("showcase.feedback.toastDesc")}
|
|
89
94
|
code={code}
|
|
90
95
|
demo={
|
|
91
96
|
<div>
|
|
92
|
-
<ITButton label="
|
|
97
|
+
<ITButton label={t("showcase.feedback.launchNotification")} color="purple" onClick={() => setVisible(true)} />
|
|
93
98
|
{visible && (
|
|
94
99
|
<ITToast
|
|
95
100
|
message={msg}
|
|
@@ -102,10 +107,10 @@ export const ToastShowcase = () => {
|
|
|
102
107
|
}
|
|
103
108
|
controls={
|
|
104
109
|
<>
|
|
105
|
-
<ITInput name="msg_ctrl" label="
|
|
110
|
+
<ITInput name="msg_ctrl" label={t("showcase.feedback.message")} value={msg} onChange={(e: any) => setMsg(e.target.value)} onBlur={() => { }} />
|
|
106
111
|
<ITSelect
|
|
107
112
|
name="type_ctrl"
|
|
108
|
-
label="
|
|
113
|
+
label={t("showcase.feedback.notificationType")}
|
|
109
114
|
value={type}
|
|
110
115
|
onChange={(e: any) => setType(e.target.value)}
|
|
111
116
|
options={[
|
|
@@ -119,10 +124,10 @@ export const ToastShowcase = () => {
|
|
|
119
124
|
}
|
|
120
125
|
gallery={
|
|
121
126
|
<div className="flex flex-wrap gap-3">
|
|
122
|
-
<ITButton label="
|
|
123
|
-
<ITButton label="
|
|
124
|
-
<ITButton label="
|
|
125
|
-
<ITButton label="
|
|
127
|
+
<ITButton label={t("showcase.feedback.toastSuccess")} color="success" size="sm" onClick={() => { setMsg(t("showcase.feedback.msgSuccess")); setType("success"); setVisible(true); }} />
|
|
128
|
+
<ITButton label={t("showcase.feedback.toastError")} color="danger" size="sm" onClick={() => { setMsg(t("showcase.feedback.msgError")); setType("error"); setVisible(true); }} />
|
|
129
|
+
<ITButton label={t("showcase.feedback.toastWarning")} color="warning" size="sm" onClick={() => { setMsg(t("showcase.feedback.msgWarning")); setType("warning"); setVisible(true); }} />
|
|
130
|
+
<ITButton label={t("showcase.feedback.toastInfo")} color="info" size="sm" onClick={() => { setMsg(t("showcase.feedback.msgInfo")); setType("info"); setVisible(true); }} />
|
|
126
131
|
</div>
|
|
127
132
|
}
|
|
128
133
|
/>
|
|
@@ -131,6 +136,7 @@ export const ToastShowcase = () => {
|
|
|
131
136
|
|
|
132
137
|
// 3. ITLoader Showcase
|
|
133
138
|
export const LoaderShowcase = () => {
|
|
139
|
+
const { t } = useITTranslation();
|
|
134
140
|
const [variant, setVariant] = useState<any>("spinner");
|
|
135
141
|
const [size, setSize] = useState<any>("md");
|
|
136
142
|
const [color, setColor] = useState("primary");
|
|
@@ -140,7 +146,7 @@ export const LoaderShowcase = () => {
|
|
|
140
146
|
return (
|
|
141
147
|
<ShowcaseLayout
|
|
142
148
|
title="ITLoader"
|
|
143
|
-
description="
|
|
149
|
+
description={t("showcase.feedback.loaderDesc")}
|
|
144
150
|
code={code}
|
|
145
151
|
demo={
|
|
146
152
|
<div className="w-full max-w-xs flex items-center justify-center min-h-[80px]">
|
|
@@ -151,7 +157,7 @@ export const LoaderShowcase = () => {
|
|
|
151
157
|
<>
|
|
152
158
|
<ITSelect
|
|
153
159
|
name="var_ctrl"
|
|
154
|
-
label="
|
|
160
|
+
label={t("showcase.feedback.loaderVariant")}
|
|
155
161
|
value={variant}
|
|
156
162
|
onChange={(e: any) => setVariant(e.target.value)}
|
|
157
163
|
options={[
|
|
@@ -163,7 +169,7 @@ export const LoaderShowcase = () => {
|
|
|
163
169
|
/>
|
|
164
170
|
<ITSelect
|
|
165
171
|
name="sz_ctrl"
|
|
166
|
-
label="
|
|
172
|
+
label={t("showcase.common.size")}
|
|
167
173
|
value={size}
|
|
168
174
|
onChange={(e: any) => setSize(e.target.value)}
|
|
169
175
|
options={[
|
|
@@ -176,7 +182,7 @@ export const LoaderShowcase = () => {
|
|
|
176
182
|
/>
|
|
177
183
|
<ITSelect
|
|
178
184
|
name="col_ctrl"
|
|
179
|
-
label="
|
|
185
|
+
label={t("showcase.common.color")}
|
|
180
186
|
value={color}
|
|
181
187
|
onChange={(e: any) => setColor(e.target.value)}
|
|
182
188
|
options={[
|
|
@@ -204,6 +210,7 @@ export const LoaderShowcase = () => {
|
|
|
204
210
|
|
|
205
211
|
// 4. ITThemeProvider Showcase
|
|
206
212
|
export const ThemeProviderShowcase = () => {
|
|
213
|
+
const { t } = useITTranslation();
|
|
207
214
|
const { applyPreset, resolvedTheme, darkModeMode, setDarkModeMode } = useITTheme();
|
|
208
215
|
|
|
209
216
|
const code = `// En index.tsx o App.tsx\n<ITThemeProvider>\n <App />\n</ITThemeProvider>\n\n// En tu componente:\nconst { palette, resolvedTheme, darkModeMode, setDarkModeMode, applyPreset } = useITTheme();`;
|
|
@@ -211,19 +218,19 @@ export const ThemeProviderShowcase = () => {
|
|
|
211
218
|
return (
|
|
212
219
|
<ShowcaseLayout
|
|
213
220
|
title="ITThemeProvider"
|
|
214
|
-
description="
|
|
221
|
+
description={t("showcase.feedback.themeDesc")}
|
|
215
222
|
code={code}
|
|
216
223
|
demo={
|
|
217
224
|
<ITStack spacing={5} className="w-full max-w-md">
|
|
218
225
|
<div>
|
|
219
226
|
<span className="text-xs font-bold uppercase tracking-wider text-slate-400 dark:text-slate-500 mb-3 block">
|
|
220
|
-
|
|
227
|
+
{t("showcase.feedback.appearanceMode")}
|
|
221
228
|
</span>
|
|
222
229
|
<div className="flex flex-wrap gap-2">
|
|
223
230
|
{(["light", "dark", "system"] as const).map((mode) => (
|
|
224
231
|
<ITButton
|
|
225
232
|
key={mode}
|
|
226
|
-
label={mode === "light" ? "
|
|
233
|
+
label={mode === "light" ? t("showcase.feedback.modeLight") : mode === "dark" ? t("showcase.feedback.modeDark") : t("showcase.feedback.modeSystem")}
|
|
227
234
|
color={darkModeMode === mode ? "primary" : "secondary"}
|
|
228
235
|
onClick={() => setDarkModeMode(mode)}
|
|
229
236
|
size="sm"
|
|
@@ -231,13 +238,13 @@ export const ThemeProviderShowcase = () => {
|
|
|
231
238
|
))}
|
|
232
239
|
</div>
|
|
233
240
|
<p className="text-xs text-slate-500 mt-2">
|
|
234
|
-
|
|
241
|
+
{t("showcase.feedback.currentTheme")} <strong>{resolvedTheme === "dark" ? t("showcase.feedback.modeDarkName") : t("showcase.feedback.modeLightName")}</strong>
|
|
235
242
|
</p>
|
|
236
243
|
</div>
|
|
237
244
|
|
|
238
245
|
<div>
|
|
239
246
|
<span className="text-xs font-bold uppercase tracking-wider text-slate-400 dark:text-slate-500 mb-3 block">
|
|
240
|
-
|
|
247
|
+
{t("showcase.feedback.quickPresets")}
|
|
241
248
|
</span>
|
|
242
249
|
<ITGrid container spacing={2}>
|
|
243
250
|
{PRESETS.map((preset) => {
|
|
@@ -271,10 +278,10 @@ export const ThemeProviderShowcase = () => {
|
|
|
271
278
|
controls={
|
|
272
279
|
<ITStack spacing={3}>
|
|
273
280
|
<p className="text-xs text-slate-500">
|
|
274
|
-
|
|
281
|
+
{t("showcase.feedback.themeHint1")}
|
|
275
282
|
</p>
|
|
276
283
|
<p className="text-xs text-slate-500">
|
|
277
|
-
|
|
284
|
+
{t("showcase.feedback.themeHint2")}
|
|
278
285
|
</p>
|
|
279
286
|
</ITStack>
|
|
280
287
|
}
|