@axzydev/axzy_ui_system 1.2.13 → 1.2.15
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 +43 -0
- package/dist/index.cjs +6503 -6398
- 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 +169 -110
- package/dist/index.d.ts +169 -110
- package/dist/index.js +6519 -6414
- package/dist/index.js.map +1 -1
- package/package.json +4 -2
- package/src/App.tsx +86 -81
- package/src/components/{avatar → atoms/avatar}/avatar.doc.mdx +2 -2
- package/src/components/{avatar → atoms/avatar}/avatar.stories.tsx +1 -2
- package/src/components/{avatar → atoms/avatar}/avatar.tsx +1 -1
- package/src/components/{badget → atoms/badget}/badget.doc.mdx +4 -4
- package/src/components/{badget → atoms/badget}/badget.props.ts +1 -1
- package/src/components/{badget → atoms/badget}/badget.stories.tsx +1 -2
- package/src/components/{badget → atoms/badget}/badget.tsx +3 -3
- package/src/components/{button → atoms/button}/button.doc.mdx +3 -3
- package/src/components/{button → atoms/button}/button.props.ts +3 -3
- package/src/components/{button → atoms/button}/button.stories.tsx +1 -2
- package/src/components/{button → atoms/button}/button.tsx +7 -7
- package/src/components/{checkbox → atoms/checkbox}/checkbox.doc.mdx +2 -2
- package/src/components/{checkbox → atoms/checkbox}/checkbox.stories.tsx +2 -3
- package/src/components/{checkbox → atoms/checkbox}/checkbox.tsx +1 -1
- package/src/components/{divider → atoms/divider}/divider.doc.mdx +2 -2
- package/src/components/{divider → atoms/divider}/divider.stories.tsx +3 -4
- package/src/components/{flex → atoms/flex}/flex.doc.mdx +2 -2
- package/src/components/{flex → atoms/flex}/flex.stories.tsx +1 -2
- package/src/components/{grid → atoms/grid}/grid.doc.mdx +2 -2
- package/src/components/{grid → atoms/grid}/grid.stories.tsx +1 -2
- package/src/components/{image → atoms/image}/image.doc.mdx +2 -2
- package/src/components/{image → atoms/image}/image.stories.tsx +1 -2
- package/src/components/{input → atoms/input}/input.doc.mdx +3 -3
- package/src/components/{input → atoms/input}/input.props.ts +3 -3
- package/src/components/{input → atoms/input}/input.stories.tsx +2 -4
- package/src/components/{input → atoms/input}/input.tsx +5 -14
- package/src/components/{loader → atoms/loader}/loader.doc.mdx +2 -2
- package/src/components/{loader → atoms/loader}/loader.stories.tsx +2 -3
- package/src/components/{loader → atoms/loader}/loader.tsx +1 -1
- package/src/components/{popover → atoms/popover}/popover.doc.mdx +2 -2
- package/src/components/{popover → atoms/popover}/popover.stories.tsx +3 -4
- package/src/components/{progress → atoms/progress}/progress.doc.mdx +2 -2
- package/src/components/{progress → atoms/progress}/progress.stories.tsx +2 -3
- package/src/components/{radio → atoms/radio}/radio.doc.mdx +2 -2
- package/src/components/{radio → atoms/radio}/radio.stories.tsx +1 -3
- package/src/components/{radio → atoms/radio}/radio.tsx +1 -1
- package/src/components/{segmented-control → atoms/segmented-control}/segmented-control.doc.mdx +2 -2
- package/src/components/{segmented-control → atoms/segmented-control}/segmented-control.stories.tsx +1 -2
- package/src/components/{segmented-control → atoms/segmented-control}/segmented-control.tsx +1 -1
- package/src/components/{skeleton → atoms/skeleton}/skeleton.doc.mdx +2 -2
- package/src/components/{skeleton → atoms/skeleton}/skeleton.stories.tsx +2 -3
- package/src/components/{slide → atoms/slide}/slide.doc.mdx +2 -2
- package/src/components/{slide → atoms/slide}/slide.stories.tsx +1 -2
- package/src/components/{slider → atoms/slider}/slider.doc.mdx +2 -2
- package/src/components/{slider → atoms/slider}/slider.stories.tsx +1 -2
- package/src/components/{slider → atoms/slider}/slider.tsx +1 -1
- package/src/components/{stack → atoms/stack}/stack.doc.mdx +2 -2
- package/src/components/{stack → atoms/stack}/stack.stories.tsx +2 -3
- package/src/components/{text → atoms/text}/text.doc.mdx +2 -2
- package/src/components/{text → atoms/text}/text.stories.tsx +1 -2
- package/src/components/{textarea → atoms/textarea}/textarea.doc.mdx +2 -2
- package/src/components/{textarea → atoms/textarea}/textarea.props.ts +0 -2
- package/src/components/{textarea → atoms/textarea}/textarea.stories.tsx +1 -2
- package/src/components/{textarea → atoms/textarea}/textarea.tsx +1 -1
- package/src/components/{tooltip → atoms/tooltip}/tooltip.doc.mdx +2 -2
- package/src/components/{tooltip → atoms/tooltip}/tooltip.stories.tsx +2 -3
- package/src/components/{tooltip → atoms/tooltip}/tooltip.tsx +1 -1
- package/src/components/isolation/isolation.stories.tsx +202 -0
- package/src/components/{alert → molecules/alert}/alert.doc.mdx +2 -2
- package/src/components/{alert → molecules/alert}/alert.stories.tsx +1 -2
- package/src/components/{alert → molecules/alert}/alert.tsx +1 -2
- package/src/components/{breadcrumbs → molecules/breadcrumbs}/breadcrumbs.doc.mdx +2 -2
- package/src/components/{breadcrumbs → molecules/breadcrumbs}/breadcrumbs.stories.tsx +1 -2
- package/src/components/{breadcrumbs → molecules/breadcrumbs}/breadcrumbs.tsx +1 -1
- package/src/components/{calendar → molecules/calendar}/calendar.doc.mdx +2 -2
- package/src/components/{calendar → molecules/calendar}/calendar.stories.tsx +1 -2
- package/src/components/{calendar → molecules/calendar}/calendar.tsx +42 -42
- package/src/components/molecules/calendar/index.ts +2 -0
- package/src/components/{card → molecules/card}/card.doc.mdx +2 -2
- package/src/components/{card → molecules/card}/card.stories.tsx +2 -3
- package/src/components/{card → molecules/card}/card.tsx +4 -4
- package/src/components/{date-picker → molecules/date-picker}/date-picker.doc.mdx +3 -3
- package/src/components/{date-picker → molecules/date-picker}/date-picker.props.ts +1 -1
- package/src/components/{date-picker → molecules/date-picker}/date-picker.stories.tsx +1 -3
- package/src/components/{date-picker → molecules/date-picker}/datePicker.tsx +3 -3
- package/src/components/{empty-state → molecules/empty-state}/empty-state.doc.mdx +3 -3
- package/src/components/{empty-state → molecules/empty-state}/empty-state.stories.tsx +3 -4
- package/src/components/{empty-state → molecules/empty-state}/empty-state.tsx +1 -1
- package/src/components/{form-header → molecules/form-header}/form-header.doc.mdx +2 -2
- package/src/components/{form-header → molecules/form-header}/form-header.stories.tsx +1 -2
- package/src/components/{form-header → molecules/form-header}/form-header.tsx +2 -2
- package/src/components/{pagination → molecules/pagination}/pagination.doc.mdx +2 -2
- package/src/components/{pagination → molecules/pagination}/pagination.stories.tsx +1 -2
- package/src/components/{pagination → molecules/pagination}/pagination.tsx +8 -8
- package/src/components/{search-select → molecules/search-select}/index.ts +1 -1
- package/src/components/{search-select → molecules/search-select}/search-select.doc.mdx +2 -2
- package/src/components/{search-select → molecules/search-select}/search-select.props.ts +3 -0
- package/src/components/{search-select → molecules/search-select}/search-select.stories.tsx +1 -2
- package/src/components/{search-select → molecules/search-select}/search-select.tsx +8 -6
- package/src/components/{select → molecules/select}/select.doc.mdx +2 -2
- package/src/components/{select → molecules/select}/select.stories.tsx +1 -2
- package/src/components/{select → molecules/select}/select.tsx +8 -16
- package/src/components/{stat-card → molecules/stat-card}/stat-card.doc.mdx +2 -2
- package/src/components/{stat-card → molecules/stat-card}/stat-card.stories.tsx +2 -3
- package/src/components/{stat-card → molecules/stat-card}/stat-card.tsx +1 -1
- package/src/components/{stepper → molecules/stepper}/stepper.doc.mdx +2 -2
- package/src/components/{stepper → molecules/stepper}/stepper.stories.tsx +1 -2
- package/src/components/{stepper → molecules/stepper}/stepper.tsx +9 -10
- package/src/components/{table → molecules/table}/table.doc.mdx +2 -2
- package/src/components/{table → molecules/table}/table.stories.tsx +5 -22
- package/src/components/{table → molecules/table}/table.tsx +5 -15
- package/src/components/{tabs → molecules/tabs}/tabs.doc.mdx +2 -2
- package/src/components/{tabs → molecules/tabs}/tabs.stories.tsx +1 -2
- package/src/components/{tabs → molecules/tabs}/tabs.tsx +1 -1
- package/src/components/{time-picker → molecules/time-picker}/timePicker.doc.mdx +3 -3
- package/src/components/{time-picker → molecules/time-picker}/timePicker.props.ts +4 -2
- package/src/components/{time-picker → molecules/time-picker}/timePicker.stories.tsx +3 -4
- package/src/components/{time-picker → molecules/time-picker}/timePicker.tsx +5 -5
- package/src/components/{confirm-dialog → organisms/confirm-dialog}/confirm-dialog.doc.mdx +2 -2
- package/src/components/{confirm-dialog → organisms/confirm-dialog}/confirm-dialog.stories.tsx +2 -3
- package/src/components/{confirm-dialog → organisms/confirm-dialog}/confirm-dialog.tsx +4 -4
- package/src/components/{data-table → organisms/data-table}/ITDataTable.doc.mdx +2 -2
- package/src/components/{data-table → organisms/data-table}/ITDataTable.stories.tsx +3 -4
- package/src/components/{data-table → organisms/data-table}/dataTable.props.ts +1 -1
- package/src/components/{data-table → organisms/data-table}/dataTable.tsx +11 -9
- package/src/components/{dialog → organisms/dialog}/dialog.doc.mdx +2 -2
- package/src/components/{dialog → organisms/dialog}/dialog.stories.tsx +3 -5
- package/src/components/{dialog → organisms/dialog}/dialog.tsx +2 -2
- package/src/components/{drawer → organisms/drawer}/drawer.doc.mdx +2 -2
- package/src/components/{drawer → organisms/drawer}/drawer.stories.tsx +2 -3
- package/src/components/{drawer → organisms/drawer}/drawer.tsx +1 -1
- package/src/components/{dropfile → organisms/dropfile}/dropfile.doc.mdx +3 -3
- package/src/components/{dropfile → organisms/dropfile}/dropfile.props.ts +8 -4
- package/src/components/{dropfile → organisms/dropfile}/dropfile.stories.tsx +2 -5
- package/src/components/{dropfile → organisms/dropfile}/dropfile.tsx +25 -12
- package/src/components/{form-builder → organisms/form-builder}/fieldRenderer.tsx +30 -20
- package/src/components/{form-builder → organisms/form-builder}/formBuilder.context.tsx +3 -2
- package/src/components/{form-builder → organisms/form-builder}/formBuilder.doc.mdx +2 -2
- package/src/components/{form-builder → organisms/form-builder}/formBuilder.stories.tsx +0 -1
- package/src/components/{form-builder → organisms/form-builder}/formBuilder.tsx +4 -5
- package/src/components/{form-builder → organisms/form-builder}/useFormBuilder.ts +4 -4
- package/src/components/{navbar → organisms/navbar}/navbar.doc.mdx +2 -2
- package/src/components/{navbar → organisms/navbar}/navbar.stories.tsx +1 -2
- package/src/components/{navbar → organisms/navbar}/navbar.tsx +1 -1
- package/src/components/{page-header → organisms/page-header}/page-header.doc.mdx +2 -2
- package/src/components/{page-header → organisms/page-header}/page-header.props.ts +1 -1
- package/src/components/{page-header → organisms/page-header}/page-header.stories.tsx +5 -6
- package/src/components/{page-header → organisms/page-header}/page-header.tsx +2 -2
- package/src/components/{searchTable → organisms/searchTable}/components/EditableCell.tsx +4 -5
- package/src/components/{searchTable → organisms/searchTable}/components/PaginationControls.tsx +6 -6
- package/src/components/{searchTable → organisms/searchTable}/components/PaginationInfo.tsx +1 -1
- package/src/components/{searchTable → organisms/searchTable}/components/SearchAndSortBar.tsx +3 -3
- package/src/components/{searchTable → organisms/searchTable}/components/SearchInput.tsx +1 -1
- package/src/components/{searchTable → organisms/searchTable}/components/SortButton.tsx +1 -1
- package/src/components/{searchTable → organisms/searchTable}/components/TableEmptyState.tsx +1 -1
- package/src/components/{searchTable → organisms/searchTable}/components/TableHeaderCell.tsx +1 -1
- package/src/components/{searchTable → organisms/searchTable}/searchTable.doc.mdx +2 -2
- package/src/components/{searchTable → organisms/searchTable}/searchTable.stories.tsx +1 -2
- package/src/components/{searchTable → organisms/searchTable}/searchTable.tsx +1 -2
- package/src/components/{sidebar → organisms/sidebar}/sidebar.doc.mdx +2 -2
- package/src/components/{sidebar → organisms/sidebar}/sidebar.stories.tsx +1 -2
- package/src/components/{sidebar → organisms/sidebar}/sidebar.tsx +45 -43
- package/src/components/{toast → organisms/toast}/toast.doc.mdx +2 -2
- package/src/components/{toast → organisms/toast}/toast.stories.tsx +2 -3
- package/src/components/{toast → organisms/toast}/toast.tsx +1 -2
- package/src/components/{topbar → organisms/topbar}/topbar.doc.mdx +2 -2
- package/src/components/{topbar → organisms/topbar}/topbar.stories.tsx +1 -2
- package/src/components/{topbar → organisms/topbar}/topbar.tsx +25 -25
- package/src/components/{triple-filter → organisms/triple-filter}/tripleFilter.doc.mdx +2 -2
- package/src/components/{triple-filter → organisms/triple-filter}/tripleFilter.props.ts +0 -1
- package/src/components/{triple-filter → organisms/triple-filter}/tripleFilter.stories.tsx +0 -1
- package/src/components/{triple-filter → organisms/triple-filter}/tripleFilter.tsx +1 -1
- package/src/components/{layout → templates/layout}/layout.doc.mdx +2 -2
- package/src/components/{layout → templates/layout}/layout.props.ts +2 -2
- package/src/components/{layout → templates/layout}/layout.stories.tsx +1 -2
- package/src/components/{layout → templates/layout}/layout.tsx +2 -2
- package/src/components/{page → templates/page}/page.doc.mdx +2 -2
- package/src/components/{page → templates/page}/page.props.ts +1 -1
- package/src/components/{page → templates/page}/page.stories.tsx +6 -7
- package/src/components/{page → templates/page}/page.tsx +6 -6
- package/src/components/theme-provider/themePresets.ts +154 -0
- package/src/components/theme-provider/themeProvider.doc.mdx +10 -2
- package/src/components/theme-provider/themeProvider.props.ts +6 -0
- package/src/components/theme-provider/themeProvider.stories.tsx +3 -4
- package/src/components/theme-provider/themeProvider.tsx +210 -268
- package/src/hooks/useEditableRow.ts +1 -1
- package/src/index.css +36 -86
- package/src/index.ts +97 -97
- package/src/showcases/DataShowcases.tsx +4 -8
- package/src/showcases/FeedbackShowcases.tsx +6 -6
- package/src/showcases/FormShowcases.tsx +7 -7
- package/src/showcases/GettingStartedShowcase.tsx +8 -9
- package/src/showcases/HomeShowcase.tsx +12 -12
- package/src/showcases/LayoutPrimitivesShowcases.tsx +36 -57
- package/src/showcases/PageShowcases.tsx +41 -53
- package/src/showcases/ShowcaseLayout.tsx +1 -2
- package/src/showcases/SizesShowcase.tsx +85 -0
- package/src/showcases/StructureShowcases.tsx +31 -33
- package/src/theme/theme-context.ts +37 -0
- package/src/theme/theme.ts +71 -64
- package/src/theme/theme.types.ts +41 -0
- package/src/types/badget.types.ts +3 -3
- package/src/types/button.types.ts +3 -3
- package/src/types/sizes.types.ts +2 -1
- package/src/utils/styles.ts +37 -0
- package/src/components/calendar/index.ts +0 -3
- package/src/components/stepper/stepper.css +0 -26
- package/src/components/toast/toast.css +0 -32
- package/src/types/input.types.ts +0 -14
- /package/src/components/{avatar → atoms/avatar}/avatar.props.ts +0 -0
- /package/src/components/{checkbox → atoms/checkbox}/checkbox.props.ts +0 -0
- /package/src/components/{divider → atoms/divider}/divider.props.ts +0 -0
- /package/src/components/{divider → atoms/divider}/divider.tsx +0 -0
- /package/src/components/{flex → atoms/flex}/flex.props.ts +0 -0
- /package/src/components/{flex → atoms/flex}/flex.tsx +0 -0
- /package/src/components/{grid → atoms/grid}/grid.props.ts +0 -0
- /package/src/components/{grid → atoms/grid}/grid.tsx +0 -0
- /package/src/components/{image → atoms/image}/image.props.ts +0 -0
- /package/src/components/{image → atoms/image}/image.tsx +0 -0
- /package/src/components/{loader → atoms/loader}/loader.props.ts +0 -0
- /package/src/components/{popover → atoms/popover}/popover.props.ts +0 -0
- /package/src/components/{popover → atoms/popover}/popover.tsx +0 -0
- /package/src/components/{progress → atoms/progress}/progress.props.ts +0 -0
- /package/src/components/{progress → atoms/progress}/progress.tsx +0 -0
- /package/src/components/{radio → atoms/radio}/radio.props.ts +0 -0
- /package/src/components/{segmented-control → atoms/segmented-control}/segmented-control.props.ts +0 -0
- /package/src/components/{skeleton → atoms/skeleton}/skeleton.props.ts +0 -0
- /package/src/components/{skeleton → atoms/skeleton}/skeleton.tsx +0 -0
- /package/src/components/{slide → atoms/slide}/slide.props.ts +0 -0
- /package/src/components/{slide → atoms/slide}/slide.tsx +0 -0
- /package/src/components/{slider → atoms/slider}/slider.props.ts +0 -0
- /package/src/components/{stack → atoms/stack}/stack.props.ts +0 -0
- /package/src/components/{stack → atoms/stack}/stack.tsx +0 -0
- /package/src/components/{text → atoms/text}/text.props.ts +0 -0
- /package/src/components/{text → atoms/text}/text.tsx +0 -0
- /package/src/components/{tooltip → atoms/tooltip}/tooltip.props.ts +0 -0
- /package/src/components/{alert → molecules/alert}/alert.props.ts +0 -0
- /package/src/components/{breadcrumbs → molecules/breadcrumbs}/breadcrumbs.props.ts +0 -0
- /package/src/components/{calendar → molecules/calendar}/calendar.props.ts +0 -0
- /package/src/components/{card → molecules/card}/card.props.ts +0 -0
- /package/src/components/{empty-state → molecules/empty-state}/empty-state.props.ts +0 -0
- /package/src/components/{form-header → molecules/form-header}/form-header.props.ts +0 -0
- /package/src/components/{pagination → molecules/pagination}/pagination.props.ts +0 -0
- /package/src/components/{select → molecules/select}/select.props.ts +0 -0
- /package/src/components/{stat-card → molecules/stat-card}/stat-card.props.ts +0 -0
- /package/src/components/{stepper → molecules/stepper}/stepper.props.ts +0 -0
- /package/src/components/{table → molecules/table}/table.props.ts +0 -0
- /package/src/components/{tabs → molecules/tabs}/tabs.props.ts +0 -0
- /package/src/components/{confirm-dialog → organisms/confirm-dialog}/confirm-dialog.props.ts +0 -0
- /package/src/components/{dialog → organisms/dialog}/dialog.props.ts +0 -0
- /package/src/components/{drawer → organisms/drawer}/drawer.props.ts +0 -0
- /package/src/components/{form-builder → organisms/form-builder}/formBuilder.props.ts +0 -0
- /package/src/components/{navbar → organisms/navbar}/navbar.props.ts +0 -0
- /package/src/components/{searchTable → organisms/searchTable}/components/TableHeader.tsx +0 -0
- /package/src/components/{searchTable → organisms/searchTable}/components/TableRow.tsx +0 -0
- /package/src/components/{searchTable → organisms/searchTable}/searchTable.props.ts +0 -0
- /package/src/components/{sidebar → organisms/sidebar}/sidebar.props.ts +0 -0
- /package/src/components/{toast → organisms/toast}/toast.props.ts +0 -0
- /package/src/components/{topbar → organisms/topbar}/topbar.props.ts +0 -0
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import React, {
|
|
1
|
+
import React, { useState, useEffect, useLayoutEffect } from "react";
|
|
2
2
|
import { MdPalette, MdClose, MdRefresh } from "react-icons/md";
|
|
3
|
+
import { ITThemeContext } from "@/theme/theme-context";
|
|
3
4
|
import { ITThemeProviderProps, ITThemePalette } from "./themeProvider.props";
|
|
4
|
-
import ITDialog from "
|
|
5
|
-
import ITTabs from "
|
|
6
|
-
import ITButton from "
|
|
7
|
-
import ITInput from "
|
|
8
|
-
import ITSegmentedControl from "
|
|
9
|
-
import ITDivider from "
|
|
10
|
-
import ITText from "@/components/text/text";
|
|
5
|
+
import ITDialog from "@/components/organisms/dialog/dialog";
|
|
6
|
+
import ITTabs from "@/components/molecules/tabs/tabs";
|
|
7
|
+
import ITButton from "@/components/atoms/button/button";
|
|
8
|
+
import ITInput from "@/components/atoms/input/input";
|
|
9
|
+
import ITSegmentedControl from "@/components/atoms/segmented-control/segmented-control";
|
|
10
|
+
import ITDivider from "@/components/atoms/divider/divider";
|
|
11
|
+
import ITText from "@/components/atoms/text/text";
|
|
11
12
|
|
|
12
13
|
// ============================================================================
|
|
13
14
|
// DEFAULT PALETTE & PRESETS CONFIG
|
|
@@ -15,189 +16,64 @@ import ITText from "@/components/text/text";
|
|
|
15
16
|
|
|
16
17
|
const STORAGE_KEY = "it-theme-palette";
|
|
17
18
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
sidebarBg: "#ffffff", // White (light mode default)
|
|
29
|
-
sidebarText: "#334155", // Slate-700 (dark text for light sidebar)
|
|
30
|
-
navbarBg: "#ffffff", // White
|
|
31
|
-
navbarText: "#1e293b", // Slate-800
|
|
19
|
+
/** Valores por defecto de la escala de sombras (espejo de `@theme` en index.css). Nivel 2 = look actual. */
|
|
20
|
+
const SHADOW_LEVELS: Record<number, Record<string, string>> = {
|
|
21
|
+
0: {
|
|
22
|
+
"2xs": "none",
|
|
23
|
+
xs: "none",
|
|
24
|
+
sm: "none",
|
|
25
|
+
md: "none",
|
|
26
|
+
lg: "none",
|
|
27
|
+
xl: "none",
|
|
28
|
+
"2xl": "none",
|
|
32
29
|
},
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
30
|
+
1: {
|
|
31
|
+
"2xs": "0 1px 1px 0 rgb(15 23 42 / 0.02)",
|
|
32
|
+
xs: "0 1px 2px 0 rgb(15 23 42 / 0.03), 0 1px 1px -1px rgb(15 23 42 / 0.02)",
|
|
33
|
+
sm: "0 1px 3px -1px rgb(15 23 42 / 0.03), 0 1px 2px -1px rgb(15 23 42 / 0.02)",
|
|
34
|
+
md: "0 3px 8px -4px rgb(15 23 42 / 0.05), 0 2px 4px -3px rgb(15 23 42 / 0.03)",
|
|
35
|
+
lg: "0 6px 14px -6px rgb(15 23 42 / 0.06), 0 3px 6px -6px rgb(15 23 42 / 0.03)",
|
|
36
|
+
xl: "0 10px 20px -8px rgb(15 23 42 / 0.07), 0 5px 10px -8px rgb(15 23 42 / 0.03)",
|
|
37
|
+
"2xl": "0 16px 32px -16px rgb(15 23 42 / 0.1)",
|
|
38
38
|
},
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
ternary: "#f472b6",
|
|
48
|
-
danger: "#ef4444",
|
|
49
|
-
success: "#34d399",
|
|
50
|
-
info: "#06b6d4",
|
|
51
|
-
alert: "#fb923c",
|
|
52
|
-
warning: "#fbbf24",
|
|
53
|
-
layout: {
|
|
54
|
-
sidebarBg: "#0b1120",
|
|
55
|
-
sidebarText: "#94a3b8",
|
|
56
|
-
navbarBg: "#0f172a",
|
|
57
|
-
navbarText: "#f1f5f9",
|
|
58
|
-
},
|
|
59
|
-
table: {
|
|
60
|
-
headerBg: "#f1f5f9",
|
|
61
|
-
headerText: "#334155",
|
|
62
|
-
rowBg: "#ffffff",
|
|
63
|
-
rowText: "#0f172a",
|
|
64
|
-
},
|
|
65
|
-
},
|
|
39
|
+
2: {
|
|
40
|
+
"2xs": "0 1px 2px 0 rgb(15 23 42 / 0.04)",
|
|
41
|
+
xs: "0 1px 3px 0 rgb(15 23 42 / 0.05), 0 1px 2px -1px rgb(15 23 42 / 0.04)",
|
|
42
|
+
sm: "0 2px 6px -1px rgb(15 23 42 / 0.06), 0 1px 3px -1px rgb(15 23 42 / 0.05)",
|
|
43
|
+
md: "0 6px 16px -4px rgb(15 23 42 / 0.08), 0 3px 6px -3px rgb(15 23 42 / 0.05)",
|
|
44
|
+
lg: "0 12px 28px -6px rgb(15 23 42 / 0.1), 0 6px 12px -6px rgb(15 23 42 / 0.06)",
|
|
45
|
+
xl: "0 20px 40px -8px rgb(15 23 42 / 0.12), 0 10px 20px -8px rgb(15 23 42 / 0.06)",
|
|
46
|
+
"2xl": "0 32px 64px -16px rgb(15 23 42 / 0.18)",
|
|
66
47
|
},
|
|
67
|
-
{
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
info: "#6366f1",
|
|
76
|
-
alert: "#eab308",
|
|
77
|
-
warning: "#fde047",
|
|
78
|
-
layout: {
|
|
79
|
-
sidebarBg: "#0c0808",
|
|
80
|
-
sidebarText: "#fda4af",
|
|
81
|
-
navbarBg: "#1c1212",
|
|
82
|
-
navbarText: "#fff1f2",
|
|
83
|
-
},
|
|
84
|
-
table: {
|
|
85
|
-
headerBg: "#fff1f2",
|
|
86
|
-
headerText: "#881337",
|
|
87
|
-
rowBg: "#ffffff",
|
|
88
|
-
rowText: "#1c1212",
|
|
89
|
-
},
|
|
90
|
-
},
|
|
48
|
+
3: {
|
|
49
|
+
"2xs": "0 2px 3px 0 rgb(15 23 42 / 0.06)",
|
|
50
|
+
xs: "0 2px 5px 0 rgb(15 23 42 / 0.07), 0 1px 3px -1px rgb(15 23 42 / 0.06)",
|
|
51
|
+
sm: "0 4px 10px -2px rgb(15 23 42 / 0.09), 0 2px 5px -2px rgb(15 23 42 / 0.07)",
|
|
52
|
+
md: "0 10px 24px -6px rgb(15 23 42 / 0.12), 0 5px 10px -5px rgb(15 23 42 / 0.08)",
|
|
53
|
+
lg: "0 18px 40px -8px rgb(15 23 42 / 0.15), 0 8px 16px -8px rgb(15 23 42 / 0.09)",
|
|
54
|
+
xl: "0 28px 56px -10px rgb(15 23 42 / 0.18), 0 12px 24px -10px rgb(15 23 42 / 0.09)",
|
|
55
|
+
"2xl": "0 40px 80px -20px rgb(15 23 42 / 0.24)",
|
|
91
56
|
},
|
|
92
|
-
|
|
93
|
-
name: "Oceanic Teal 🌊",
|
|
94
|
-
colors: {
|
|
95
|
-
primary: "#0d9488",
|
|
96
|
-
secondary: "#64748b",
|
|
97
|
-
ternary: "#a78bfa",
|
|
98
|
-
danger: "#e11d48",
|
|
99
|
-
success: "#22c55e",
|
|
100
|
-
info: "#0284c7",
|
|
101
|
-
alert: "#ea580c",
|
|
102
|
-
warning: "#ca8a04",
|
|
103
|
-
layout: {
|
|
104
|
-
sidebarBg: "#042f2e",
|
|
105
|
-
sidebarText: "#5eead4",
|
|
106
|
-
navbarBg: "#062b2a",
|
|
107
|
-
navbarText: "#ccfbf1",
|
|
108
|
-
},
|
|
109
|
-
table: {
|
|
110
|
-
headerBg: "#f0fdfa",
|
|
111
|
-
headerText: "#115e59",
|
|
112
|
-
rowBg: "#ffffff",
|
|
113
|
-
rowText: "#042f2e",
|
|
114
|
-
},
|
|
115
|
-
},
|
|
116
|
-
},
|
|
117
|
-
{
|
|
118
|
-
name: "Golden Hour ☀️",
|
|
119
|
-
colors: {
|
|
120
|
-
primary: "#d97706",
|
|
121
|
-
secondary: "#78716c",
|
|
122
|
-
ternary: "#db2777",
|
|
123
|
-
danger: "#dc2626",
|
|
124
|
-
success: "#65a30d",
|
|
125
|
-
info: "#2563eb",
|
|
126
|
-
alert: "#f97316",
|
|
127
|
-
warning: "#facc15",
|
|
128
|
-
layout: {
|
|
129
|
-
sidebarBg: "#fefce8",
|
|
130
|
-
sidebarText: "#713f12",
|
|
131
|
-
navbarBg: "#fffbeb",
|
|
132
|
-
navbarText: "#451a03",
|
|
133
|
-
},
|
|
134
|
-
table: {
|
|
135
|
-
headerBg: "#fefce8",
|
|
136
|
-
headerText: "#713f12",
|
|
137
|
-
rowBg: "#ffffff",
|
|
138
|
-
rowText: "#292524",
|
|
139
|
-
},
|
|
140
|
-
},
|
|
141
|
-
},
|
|
142
|
-
{
|
|
143
|
-
name: "Deep Forest 🌲",
|
|
144
|
-
colors: {
|
|
145
|
-
primary: "#16a34a",
|
|
146
|
-
secondary: "#57534e",
|
|
147
|
-
ternary: "#d946ef",
|
|
148
|
-
danger: "#dc2626",
|
|
149
|
-
success: "#14b8a6",
|
|
150
|
-
info: "#0ea5e9",
|
|
151
|
-
alert: "#f97316",
|
|
152
|
-
warning: "#eab308",
|
|
153
|
-
layout: {
|
|
154
|
-
sidebarBg: "#052e16",
|
|
155
|
-
sidebarText: "#86efac",
|
|
156
|
-
navbarBg: "#0b3b1c",
|
|
157
|
-
navbarText: "#dcfce7",
|
|
158
|
-
},
|
|
159
|
-
table: {
|
|
160
|
-
headerBg: "#f0fdf4",
|
|
161
|
-
headerText: "#166534",
|
|
162
|
-
rowBg: "#ffffff",
|
|
163
|
-
rowText: "#052e16",
|
|
164
|
-
},
|
|
165
|
-
},
|
|
166
|
-
},
|
|
167
|
-
];
|
|
168
|
-
// ============================================================================
|
|
169
|
-
// CONTEXT & PROVIDER
|
|
170
|
-
// ============================================================================
|
|
57
|
+
};
|
|
171
58
|
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
resolvedTheme: "light" | "dark";
|
|
180
|
-
darkModeMode: "light" | "dark" | "system";
|
|
181
|
-
setDarkModeMode: (mode: "light" | "dark" | "system") => void;
|
|
182
|
-
}
|
|
59
|
+
const shadowLevel = (level: number | undefined): Record<string, string> | null => {
|
|
60
|
+
if (typeof level !== "number" || !isFinite(level)) return null;
|
|
61
|
+
if (level <= 0) return SHADOW_LEVELS[0];
|
|
62
|
+
if (level >= 3) return SHADOW_LEVELS[3];
|
|
63
|
+
const floor = Math.floor(level);
|
|
64
|
+
return SHADOW_LEVELS[floor] ?? null;
|
|
65
|
+
};
|
|
183
66
|
|
|
184
|
-
|
|
67
|
+
import { DEFAULT_PALETTE, PRESETS } from "./themePresets";
|
|
185
68
|
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
throw new Error("useITTheme must be used within an ITThemeProvider");
|
|
190
|
-
}
|
|
191
|
-
return context;
|
|
192
|
-
};
|
|
69
|
+
// ============================================================================
|
|
70
|
+
// CONTEXT & PROVIDER
|
|
71
|
+
// ============================================================================
|
|
193
72
|
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
export const useITThemeSafe = (): ITThemeContextType | undefined => {
|
|
199
|
-
return useContext(ITThemeContext);
|
|
200
|
-
};
|
|
73
|
+
// Contexto y hooks (useITTheme / useITThemeSafe) viven en @/theme/theme-context.
|
|
74
|
+
// Re-exportados desde aquí para mantener compatibilidad de la API pública.
|
|
75
|
+
// eslint-disable-next-line react-refresh/only-export-components
|
|
76
|
+
export { useITTheme, useITThemeSafe } from "@/theme/theme-context";
|
|
201
77
|
|
|
202
78
|
const getNestedValue = (obj: any, path: string) => {
|
|
203
79
|
return path.split(".").reduce((acc, part) => acc && acc[part], obj);
|
|
@@ -264,6 +140,9 @@ export default function ITThemeProvider({
|
|
|
264
140
|
children,
|
|
265
141
|
theme,
|
|
266
142
|
showFab = true,
|
|
143
|
+
density = 1,
|
|
144
|
+
radius,
|
|
145
|
+
shadow,
|
|
267
146
|
}: ITThemeProviderProps) {
|
|
268
147
|
const [palette, setPaletteState] = useState<ITThemePalette>(() => {
|
|
269
148
|
const basePalette = {
|
|
@@ -381,6 +260,69 @@ export default function ITThemeProvider({
|
|
|
381
260
|
}
|
|
382
261
|
}, [theme, showFab]);
|
|
383
262
|
|
|
263
|
+
// Compactación global: density escala el font-size raíz para que rem
|
|
264
|
+
// (paddings, gaps, tipografía de Tailwind) reduzca tamaños reales de la UI.
|
|
265
|
+
useLayoutEffect(() => {
|
|
266
|
+
const root = document.documentElement;
|
|
267
|
+
const scale =
|
|
268
|
+
typeof density === "number" && isFinite(density)
|
|
269
|
+
? Math.min(Math.max(density, 0.5), 1.5)
|
|
270
|
+
: 1;
|
|
271
|
+
root.style.setProperty("--it-density", String(scale));
|
|
272
|
+
root.style.fontSize = `${scale * 100}%`;
|
|
273
|
+
return () => {
|
|
274
|
+
root.style.setProperty("--it-density", "1");
|
|
275
|
+
root.style.fontSize = "";
|
|
276
|
+
};
|
|
277
|
+
}, [density]);
|
|
278
|
+
|
|
279
|
+
// Overrides globales de radius y sombras.
|
|
280
|
+
// Radius: en Tailwind v4 cada `rounded-*` resuelve a var(--radius-*), así que
|
|
281
|
+
// setear los vars en :root (en px) cuadra/redondea todo el sistema sin tocar
|
|
282
|
+
// componentes. Shadow: las utilities hornean el valor en el build, por eso se
|
|
283
|
+
// inyectan reglas `.shadow-*` que delegan en vars `--it-shadow-*`.
|
|
284
|
+
useLayoutEffect(() => {
|
|
285
|
+
const root = document.documentElement;
|
|
286
|
+
const radiusTokens = ["xs", "sm", "md", "lg", "xl", "2xl", "3xl"];
|
|
287
|
+
|
|
288
|
+
if (typeof radius === "number" && isFinite(radius)) {
|
|
289
|
+
const px = Math.max(0, radius);
|
|
290
|
+
radiusTokens.forEach((k) =>
|
|
291
|
+
root.style.setProperty(`--radius-${k}`, `${px}px`),
|
|
292
|
+
);
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
let surfaceStyle = document.getElementById(
|
|
296
|
+
"it-theme-surface-overrides",
|
|
297
|
+
) as HTMLStyleElement | null;
|
|
298
|
+
const resolved = shadowLevel(shadow);
|
|
299
|
+
if (resolved) {
|
|
300
|
+
if (!surfaceStyle) {
|
|
301
|
+
surfaceStyle = document.createElement("style");
|
|
302
|
+
surfaceStyle.id = "it-theme-surface-overrides";
|
|
303
|
+
document.head.appendChild(surfaceStyle);
|
|
304
|
+
}
|
|
305
|
+
const vars = Object.entries(resolved)
|
|
306
|
+
.map(([k, v]) => `--it-shadow-${k}:${v}`)
|
|
307
|
+
.join(";");
|
|
308
|
+
const levels = Object.keys(resolved)
|
|
309
|
+
.map((k) => `.shadow-${k}{box-shadow:var(--it-shadow-${k})}`)
|
|
310
|
+
.join("");
|
|
311
|
+
const hovers =
|
|
312
|
+
":where(.hover\\:shadow-sm:hover){box-shadow:var(--it-shadow-sm)}" +
|
|
313
|
+
":where(.hover\\:shadow-md:hover){box-shadow:var(--it-shadow-md)}";
|
|
314
|
+
surfaceStyle.textContent = `:root{${vars}}${levels}${hovers}`;
|
|
315
|
+
} else if (surfaceStyle) {
|
|
316
|
+
surfaceStyle.remove();
|
|
317
|
+
surfaceStyle = null;
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
return () => {
|
|
321
|
+
radiusTokens.forEach((k) => root.style.setProperty(`--radius-${k}`, ""));
|
|
322
|
+
surfaceStyle?.remove();
|
|
323
|
+
};
|
|
324
|
+
}, [radius, shadow]);
|
|
325
|
+
|
|
384
326
|
// Inyectar variables CSS en el :root al cambiar la paleta o tema resuelto
|
|
385
327
|
useEffect(() => {
|
|
386
328
|
const injectStyles = (obj: any, prefix = "") => {
|
|
@@ -697,38 +639,38 @@ export default function ITThemeProvider({
|
|
|
697
639
|
--color-table-rowText: ${tableRowText} !important;
|
|
698
640
|
|
|
699
641
|
/* Native library variables integration */
|
|
700
|
-
--sidebar-bg: var(--color-sidebarBg);
|
|
701
|
-
--sidebar-border: color-mix(in srgb, var(--color-sidebarBg) 85%, #000000);
|
|
702
|
-
--sidebar-label-color: var(--color-sidebarText);
|
|
703
|
-
--sidebar-icon-color: color-mix(in srgb, var(--color-sidebarText) 80%, transparent);
|
|
704
|
-
--sidebar-hover-bg: color-mix(in srgb, var(--color-sidebarText) 10%, transparent);
|
|
705
|
-
--sidebar-active-bg: color-mix(in srgb, var(--color-primary) 12%, transparent);
|
|
706
|
-
--sidebar-active-color: var(--color-primary);
|
|
707
|
-
--sidebar-active-icon: var(--color-primary);
|
|
708
|
-
--sidebar-badge-bg: var(--color-primary);
|
|
709
|
-
--sidebar-badge-color: #ffffff;
|
|
710
|
-
|
|
711
|
-
--topbar-bg: var(--color-navbarBg);
|
|
712
|
-
--topbar-text: var(--color-navbarText);
|
|
713
|
-
--topbar-border: color-mix(in srgb, var(--color-navbarBg) 85%, #000000);
|
|
714
|
-
--topbar-icon: color-mix(in srgb, var(--color-navbarText) 80%, transparent);
|
|
715
|
-
--topbar-icon-hover: var(--color-navbarText);
|
|
716
|
-
--topbar-user-bg: var(--topbar-bg);
|
|
717
|
-
--topbar-user-hover: color-mix(in srgb, var(--color-navbarText) 10%, transparent);
|
|
718
|
-
--topbar-user-text: var(--color-navbarText);
|
|
719
|
-
--topbar-user-subtitle: color-mix(in srgb, var(--color-navbarText) 65%, transparent);
|
|
720
|
-
--topbar-user-dropdown-bg: color-mix(in srgb, var(--color-navbarBg) 100%, #ffffff);
|
|
721
|
-
--topbar-user-dropdown-border: color-mix(in srgb, var(--color-navbarBg) 92%, #000000);
|
|
722
|
-
--topbar-user-item-hover: color-mix(in srgb, var(--color-navbarText) 6%, transparent);
|
|
723
|
-
|
|
724
|
-
--layout-bg: var(--color-secondary-50);
|
|
725
|
-
--input-text-color: var(--color-secondary-900);
|
|
726
|
-
|
|
727
|
-
--calendar-selected-bg: var(--color-primary);
|
|
728
|
-
--calendar-selected-text: #ffffff;
|
|
729
|
-
--calendar-range-bg: var(--color-primary-50);
|
|
730
|
-
--calendar-today-bg: var(--color-primary-100);
|
|
731
|
-
--calendar-today-text: var(--color-primary);
|
|
642
|
+
--it-sidebar-bg: var(--color-sidebarBg);
|
|
643
|
+
--it-sidebar-border: color-mix(in srgb, var(--color-sidebarBg) 85%, #000000);
|
|
644
|
+
--it-sidebar-label-color: var(--color-sidebarText);
|
|
645
|
+
--it-sidebar-icon-color: color-mix(in srgb, var(--color-sidebarText) 80%, transparent);
|
|
646
|
+
--it-sidebar-hover-bg: color-mix(in srgb, var(--color-sidebarText) 10%, transparent);
|
|
647
|
+
--it-sidebar-active-bg: color-mix(in srgb, var(--color-primary) 12%, transparent);
|
|
648
|
+
--it-sidebar-active-color: var(--color-primary);
|
|
649
|
+
--it-sidebar-active-icon: var(--color-primary);
|
|
650
|
+
--it-sidebar-badge-bg: var(--color-primary);
|
|
651
|
+
--it-sidebar-badge-color: #ffffff;
|
|
652
|
+
|
|
653
|
+
--it-topbar-bg: var(--color-navbarBg);
|
|
654
|
+
--it-topbar-text: var(--color-navbarText);
|
|
655
|
+
--it-topbar-border: color-mix(in srgb, var(--color-navbarBg) 85%, #000000);
|
|
656
|
+
--it-topbar-icon: color-mix(in srgb, var(--color-navbarText) 80%, transparent);
|
|
657
|
+
--it-topbar-icon-hover: var(--color-navbarText);
|
|
658
|
+
--it-topbar-user-bg: var(--it-topbar-bg);
|
|
659
|
+
--it-topbar-user-hover: color-mix(in srgb, var(--color-navbarText) 10%, transparent);
|
|
660
|
+
--it-topbar-user-text: var(--color-navbarText);
|
|
661
|
+
--it-topbar-user-subtitle: color-mix(in srgb, var(--color-navbarText) 65%, transparent);
|
|
662
|
+
--it-topbar-user-dropdown-bg: color-mix(in srgb, var(--color-navbarBg) 100%, #ffffff);
|
|
663
|
+
--it-topbar-user-dropdown-border: color-mix(in srgb, var(--color-navbarBg) 92%, #000000);
|
|
664
|
+
--it-topbar-user-item-hover: color-mix(in srgb, var(--color-navbarText) 6%, transparent);
|
|
665
|
+
|
|
666
|
+
--it-layout-bg: var(--color-secondary-50);
|
|
667
|
+
--it-input-text-color: var(--color-secondary-900);
|
|
668
|
+
|
|
669
|
+
--it-calendar-selected-bg: var(--color-primary);
|
|
670
|
+
--it-calendar-selected-text: #ffffff;
|
|
671
|
+
--it-calendar-range-bg: var(--color-primary-50);
|
|
672
|
+
--it-calendar-today-bg: var(--color-primary-100);
|
|
673
|
+
--it-calendar-today-text: var(--color-primary);
|
|
732
674
|
}
|
|
733
675
|
|
|
734
676
|
/* Dark mode overrides */
|
|
@@ -736,29 +678,29 @@ export default function ITThemeProvider({
|
|
|
736
678
|
--color-heading-default: #f8fafc;
|
|
737
679
|
--color-text-default: #cbd5e1;
|
|
738
680
|
--color-text-muted: #64748b;
|
|
739
|
-
--layout-bg: #090f1d;
|
|
740
|
-
--card-bg: #111827;
|
|
741
|
-
--card-border: #1f2937;
|
|
742
|
-
--card-header-bg: #1f2937;
|
|
743
|
-
--card-header-border: #374151;
|
|
744
|
-
--input-bg: #1f2937;
|
|
745
|
-
--input-border: #374151;
|
|
746
|
-
--input-placeholder: #6b7280;
|
|
747
|
-
--input-text-color: #cbd5e1;
|
|
748
|
-
--modal-bg: #111827;
|
|
749
|
-
--modal-footer-bg: #1f2937;
|
|
750
|
-
--modal-header-border: #374151;
|
|
751
|
-
--modal-footer-border: #374151;
|
|
752
|
-
--calendar-bg: #111827;
|
|
753
|
-
--calendar-border: #1f2937;
|
|
754
|
-
--calendar-header-text: #f3f4f6;
|
|
755
|
-
--calendar-header-hover: #1f2937;
|
|
756
|
-
--calendar-days-text: #e5e7eb;
|
|
757
|
-
--calendar-selected-bg: var(--color-primary);
|
|
758
|
-
--calendar-selected-text: #ffffff;
|
|
759
|
-
--calendar-range-bg: var(--color-primary-50);
|
|
760
|
-
--calendar-today-bg: var(--color-primary-100);
|
|
761
|
-
--calendar-today-text: var(--color-primary);
|
|
681
|
+
--it-layout-bg: #090f1d;
|
|
682
|
+
--it-card-bg: #111827;
|
|
683
|
+
--it-card-border: #1f2937;
|
|
684
|
+
--it-card-header-bg: #1f2937;
|
|
685
|
+
--it-card-header-border: #374151;
|
|
686
|
+
--it-input-bg: #1f2937;
|
|
687
|
+
--it-input-border: #374151;
|
|
688
|
+
--it-input-placeholder: #6b7280;
|
|
689
|
+
--it-input-text-color: #cbd5e1;
|
|
690
|
+
--it-modal-bg: #111827;
|
|
691
|
+
--it-modal-footer-bg: #1f2937;
|
|
692
|
+
--it-modal-header-border: #374151;
|
|
693
|
+
--it-modal-footer-border: #374151;
|
|
694
|
+
--it-calendar-bg: #111827;
|
|
695
|
+
--it-calendar-border: #1f2937;
|
|
696
|
+
--it-calendar-header-text: #f3f4f6;
|
|
697
|
+
--it-calendar-header-hover: #1f2937;
|
|
698
|
+
--it-calendar-days-text: #e5e7eb;
|
|
699
|
+
--it-calendar-selected-bg: var(--color-primary);
|
|
700
|
+
--it-calendar-selected-text: #ffffff;
|
|
701
|
+
--it-calendar-range-bg: var(--color-primary-50);
|
|
702
|
+
--it-calendar-today-bg: var(--color-primary-100);
|
|
703
|
+
--it-calendar-today-text: var(--color-primary);
|
|
762
704
|
|
|
763
705
|
/* Override dynamic color-mix scales to blend with dark instead of white */
|
|
764
706
|
--color-primary-50: color-mix(in srgb, var(--color-primary) 10%, #0b1329);
|
|
@@ -820,7 +762,7 @@ export default function ITThemeProvider({
|
|
|
820
762
|
}
|
|
821
763
|
|
|
822
764
|
.dark .bg-white, [data-theme="dark"] .bg-white {
|
|
823
|
-
background-color: var(--card-bg, #111827) !important;
|
|
765
|
+
background-color: var(--it-card-bg, #111827) !important;
|
|
824
766
|
}
|
|
825
767
|
.dark .bg-slate-50, [data-theme="dark"] .bg-slate-50,
|
|
826
768
|
.dark .bg-secondary-50, [data-theme="dark"] .bg-secondary-50 {
|
|
@@ -851,29 +793,29 @@ export default function ITThemeProvider({
|
|
|
851
793
|
color: #334155;
|
|
852
794
|
--color-text-default: #1e293b;
|
|
853
795
|
--color-text-muted: #475569;
|
|
854
|
-
--layout-bg: var(--color-secondary-50);
|
|
855
|
-
--card-bg: #ffffff;
|
|
856
|
-
--card-border: #f1f5f9;
|
|
857
|
-
--card-header-bg: #f8fafc;
|
|
858
|
-
--card-header-border: #e2e8f0;
|
|
859
|
-
--input-bg: #ffffff;
|
|
860
|
-
--input-border: #cbd5e1;
|
|
861
|
-
--input-placeholder: #94a3b8;
|
|
862
|
-
--input-text-color: #1e293b;
|
|
863
|
-
--modal-bg: #ffffff;
|
|
864
|
-
--modal-footer-bg: #f8fafc;
|
|
865
|
-
--modal-header-border: #e2e8f0;
|
|
866
|
-
--modal-footer-border: #e2e8f0;
|
|
867
|
-
--calendar-bg: #ffffff;
|
|
868
|
-
--calendar-border: #e2e8f0;
|
|
869
|
-
--calendar-header-text: #1e293b;
|
|
870
|
-
--calendar-header-hover: #f1f5f9;
|
|
871
|
-
--calendar-days-text: #334155;
|
|
872
|
-
--calendar-selected-bg: var(--color-primary);
|
|
873
|
-
--calendar-selected-text: #ffffff;
|
|
874
|
-
--calendar-range-bg: var(--color-primary-50);
|
|
875
|
-
--calendar-today-bg: var(--color-primary-100);
|
|
876
|
-
--calendar-today-text: var(--color-primary);
|
|
796
|
+
--it-layout-bg: var(--color-secondary-50);
|
|
797
|
+
--it-card-bg: #ffffff;
|
|
798
|
+
--it-card-border: #f1f5f9;
|
|
799
|
+
--it-card-header-bg: #f8fafc;
|
|
800
|
+
--it-card-header-border: #e2e8f0;
|
|
801
|
+
--it-input-bg: #ffffff;
|
|
802
|
+
--it-input-border: #cbd5e1;
|
|
803
|
+
--it-input-placeholder: #94a3b8;
|
|
804
|
+
--it-input-text-color: #1e293b;
|
|
805
|
+
--it-modal-bg: #ffffff;
|
|
806
|
+
--it-modal-footer-bg: #f8fafc;
|
|
807
|
+
--it-modal-header-border: #e2e8f0;
|
|
808
|
+
--it-modal-footer-border: #e2e8f0;
|
|
809
|
+
--it-calendar-bg: #ffffff;
|
|
810
|
+
--it-calendar-border: #e2e8f0;
|
|
811
|
+
--it-calendar-header-text: #1e293b;
|
|
812
|
+
--it-calendar-header-hover: #f1f5f9;
|
|
813
|
+
--it-calendar-days-text: #334155;
|
|
814
|
+
--it-calendar-selected-bg: var(--color-primary);
|
|
815
|
+
--it-calendar-selected-text: #ffffff;
|
|
816
|
+
--it-calendar-range-bg: var(--color-primary-50);
|
|
817
|
+
--it-calendar-today-bg: var(--color-primary-100);
|
|
818
|
+
--it-calendar-today-text: var(--color-primary);
|
|
877
819
|
|
|
878
820
|
--color-primary-50: color-mix(in srgb, var(--color-primary) 5%, #ffffff);
|
|
879
821
|
--color-primary-100: color-mix(in srgb, var(--color-primary) 10%, #ffffff);
|
|
@@ -1519,7 +1461,7 @@ export default function ITThemeProvider({
|
|
|
1519
1461
|
}
|
|
1520
1462
|
`;
|
|
1521
1463
|
|
|
1522
|
-
}, [palette, resolvedTheme]);
|
|
1464
|
+
}, [palette, resolvedTheme, showFab]);
|
|
1523
1465
|
|
|
1524
1466
|
const updateColor = (key: string, value: string) => {
|
|
1525
1467
|
setPaletteState((prev) => {
|
|
@@ -1750,7 +1692,7 @@ export default function ITThemeProvider({
|
|
|
1750
1692
|
color="primary"
|
|
1751
1693
|
onClick={handleSavePreset}
|
|
1752
1694
|
disabled={!newPresetName.trim()}
|
|
1753
|
-
size="
|
|
1695
|
+
size="sm"
|
|
1754
1696
|
className="flex-1"
|
|
1755
1697
|
/>
|
|
1756
1698
|
<ITButton
|
|
@@ -1760,7 +1702,7 @@ export default function ITThemeProvider({
|
|
|
1760
1702
|
setIsSavingPreset(false);
|
|
1761
1703
|
setNewPresetName("");
|
|
1762
1704
|
}}
|
|
1763
|
-
size="
|
|
1705
|
+
size="sm"
|
|
1764
1706
|
/>
|
|
1765
1707
|
</div>
|
|
1766
1708
|
</div>
|
|
@@ -1772,7 +1714,7 @@ export default function ITThemeProvider({
|
|
|
1772
1714
|
icon={<MdPalette size={14} />}
|
|
1773
1715
|
label="Guardar actual"
|
|
1774
1716
|
onClick={() => setIsSavingPreset(true)}
|
|
1775
|
-
size="
|
|
1717
|
+
size="sm"
|
|
1776
1718
|
/>
|
|
1777
1719
|
)}
|
|
1778
1720
|
|
|
@@ -1782,7 +1724,7 @@ export default function ITThemeProvider({
|
|
|
1782
1724
|
icon={<MdRefresh size={14} />}
|
|
1783
1725
|
label="Restaurar default"
|
|
1784
1726
|
onClick={resetTheme}
|
|
1785
|
-
size="
|
|
1727
|
+
size="sm"
|
|
1786
1728
|
/>
|
|
1787
1729
|
</div>
|
|
1788
1730
|
|
|
@@ -1856,7 +1798,7 @@ export default function ITThemeProvider({
|
|
|
1856
1798
|
label="Cerrar"
|
|
1857
1799
|
color="primary"
|
|
1858
1800
|
onClick={() => setIsOpen(false)}
|
|
1859
|
-
size="
|
|
1801
|
+
size="sm"
|
|
1860
1802
|
/>
|
|
1861
1803
|
</div>
|
|
1862
1804
|
</div>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useCallback, useMemo, useRef, useState } from "react";
|
|
2
2
|
import * as yup from "yup";
|
|
3
|
-
import type { SearchColumn } from "
|
|
3
|
+
import type { SearchColumn } from "@/components/organisms/searchTable/searchTable.props";
|
|
4
4
|
|
|
5
5
|
interface UseEditableRowOptions<T> {
|
|
6
6
|
row: T;
|