@axzydev/axzy_ui_system 1.2.13 → 1.2.14

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.
Files changed (260) hide show
  1. package/README.md +43 -0
  2. package/dist/index.cjs +6490 -6388
  3. package/dist/index.cjs.map +1 -1
  4. package/dist/index.css +1 -1
  5. package/dist/index.css.map +1 -1
  6. package/dist/index.d.cts +169 -110
  7. package/dist/index.d.ts +169 -110
  8. package/dist/index.js +6516 -6414
  9. package/dist/index.js.map +1 -1
  10. package/package.json +4 -2
  11. package/src/App.tsx +86 -81
  12. package/src/components/{avatar → atoms/avatar}/avatar.doc.mdx +2 -2
  13. package/src/components/{avatar → atoms/avatar}/avatar.stories.tsx +1 -2
  14. package/src/components/{avatar → atoms/avatar}/avatar.tsx +1 -1
  15. package/src/components/{badget → atoms/badget}/badget.doc.mdx +4 -4
  16. package/src/components/{badget → atoms/badget}/badget.props.ts +1 -1
  17. package/src/components/{badget → atoms/badget}/badget.stories.tsx +1 -2
  18. package/src/components/{badget → atoms/badget}/badget.tsx +3 -3
  19. package/src/components/{button → atoms/button}/button.doc.mdx +3 -3
  20. package/src/components/{button → atoms/button}/button.props.ts +3 -3
  21. package/src/components/{button → atoms/button}/button.stories.tsx +1 -2
  22. package/src/components/{button → atoms/button}/button.tsx +7 -7
  23. package/src/components/{checkbox → atoms/checkbox}/checkbox.doc.mdx +2 -2
  24. package/src/components/{checkbox → atoms/checkbox}/checkbox.stories.tsx +2 -3
  25. package/src/components/{checkbox → atoms/checkbox}/checkbox.tsx +1 -1
  26. package/src/components/{divider → atoms/divider}/divider.doc.mdx +2 -2
  27. package/src/components/{divider → atoms/divider}/divider.stories.tsx +3 -4
  28. package/src/components/{flex → atoms/flex}/flex.doc.mdx +2 -2
  29. package/src/components/{flex → atoms/flex}/flex.stories.tsx +1 -2
  30. package/src/components/{grid → atoms/grid}/grid.doc.mdx +2 -2
  31. package/src/components/{grid → atoms/grid}/grid.stories.tsx +1 -2
  32. package/src/components/{image → atoms/image}/image.doc.mdx +2 -2
  33. package/src/components/{image → atoms/image}/image.stories.tsx +1 -2
  34. package/src/components/{input → atoms/input}/input.doc.mdx +3 -3
  35. package/src/components/{input → atoms/input}/input.props.ts +3 -3
  36. package/src/components/{input → atoms/input}/input.stories.tsx +2 -4
  37. package/src/components/{input → atoms/input}/input.tsx +5 -14
  38. package/src/components/{loader → atoms/loader}/loader.doc.mdx +2 -2
  39. package/src/components/{loader → atoms/loader}/loader.stories.tsx +2 -3
  40. package/src/components/{loader → atoms/loader}/loader.tsx +1 -1
  41. package/src/components/{popover → atoms/popover}/popover.doc.mdx +2 -2
  42. package/src/components/{popover → atoms/popover}/popover.stories.tsx +3 -4
  43. package/src/components/{progress → atoms/progress}/progress.doc.mdx +2 -2
  44. package/src/components/{progress → atoms/progress}/progress.stories.tsx +2 -3
  45. package/src/components/{radio → atoms/radio}/radio.doc.mdx +2 -2
  46. package/src/components/{radio → atoms/radio}/radio.stories.tsx +1 -3
  47. package/src/components/{radio → atoms/radio}/radio.tsx +1 -1
  48. package/src/components/{segmented-control → atoms/segmented-control}/segmented-control.doc.mdx +2 -2
  49. package/src/components/{segmented-control → atoms/segmented-control}/segmented-control.stories.tsx +1 -2
  50. package/src/components/{segmented-control → atoms/segmented-control}/segmented-control.tsx +1 -1
  51. package/src/components/{skeleton → atoms/skeleton}/skeleton.doc.mdx +2 -2
  52. package/src/components/{skeleton → atoms/skeleton}/skeleton.stories.tsx +2 -3
  53. package/src/components/{slide → atoms/slide}/slide.doc.mdx +2 -2
  54. package/src/components/{slide → atoms/slide}/slide.stories.tsx +1 -2
  55. package/src/components/{slider → atoms/slider}/slider.doc.mdx +2 -2
  56. package/src/components/{slider → atoms/slider}/slider.stories.tsx +1 -2
  57. package/src/components/{slider → atoms/slider}/slider.tsx +1 -1
  58. package/src/components/{stack → atoms/stack}/stack.doc.mdx +2 -2
  59. package/src/components/{stack → atoms/stack}/stack.stories.tsx +2 -3
  60. package/src/components/{text → atoms/text}/text.doc.mdx +2 -2
  61. package/src/components/{text → atoms/text}/text.stories.tsx +1 -2
  62. package/src/components/{textarea → atoms/textarea}/textarea.doc.mdx +2 -2
  63. package/src/components/{textarea → atoms/textarea}/textarea.props.ts +0 -2
  64. package/src/components/{textarea → atoms/textarea}/textarea.stories.tsx +1 -2
  65. package/src/components/{textarea → atoms/textarea}/textarea.tsx +1 -1
  66. package/src/components/{tooltip → atoms/tooltip}/tooltip.doc.mdx +2 -2
  67. package/src/components/{tooltip → atoms/tooltip}/tooltip.stories.tsx +2 -3
  68. package/src/components/{tooltip → atoms/tooltip}/tooltip.tsx +1 -1
  69. package/src/components/isolation/isolation.stories.tsx +202 -0
  70. package/src/components/{alert → molecules/alert}/alert.doc.mdx +2 -2
  71. package/src/components/{alert → molecules/alert}/alert.stories.tsx +1 -2
  72. package/src/components/{alert → molecules/alert}/alert.tsx +1 -2
  73. package/src/components/{breadcrumbs → molecules/breadcrumbs}/breadcrumbs.doc.mdx +2 -2
  74. package/src/components/{breadcrumbs → molecules/breadcrumbs}/breadcrumbs.stories.tsx +1 -2
  75. package/src/components/{breadcrumbs → molecules/breadcrumbs}/breadcrumbs.tsx +1 -1
  76. package/src/components/{calendar → molecules/calendar}/calendar.doc.mdx +2 -2
  77. package/src/components/{calendar → molecules/calendar}/calendar.stories.tsx +1 -2
  78. package/src/components/{calendar → molecules/calendar}/calendar.tsx +42 -42
  79. package/src/components/molecules/calendar/index.ts +2 -0
  80. package/src/components/{card → molecules/card}/card.doc.mdx +2 -2
  81. package/src/components/{card → molecules/card}/card.stories.tsx +2 -3
  82. package/src/components/{card → molecules/card}/card.tsx +4 -4
  83. package/src/components/{date-picker → molecules/date-picker}/date-picker.doc.mdx +3 -3
  84. package/src/components/{date-picker → molecules/date-picker}/date-picker.props.ts +1 -1
  85. package/src/components/{date-picker → molecules/date-picker}/date-picker.stories.tsx +1 -3
  86. package/src/components/{date-picker → molecules/date-picker}/datePicker.tsx +3 -3
  87. package/src/components/{empty-state → molecules/empty-state}/empty-state.doc.mdx +3 -3
  88. package/src/components/{empty-state → molecules/empty-state}/empty-state.stories.tsx +3 -4
  89. package/src/components/{empty-state → molecules/empty-state}/empty-state.tsx +1 -1
  90. package/src/components/{form-header → molecules/form-header}/form-header.doc.mdx +2 -2
  91. package/src/components/{form-header → molecules/form-header}/form-header.stories.tsx +1 -2
  92. package/src/components/{form-header → molecules/form-header}/form-header.tsx +2 -2
  93. package/src/components/{pagination → molecules/pagination}/pagination.doc.mdx +2 -2
  94. package/src/components/{pagination → molecules/pagination}/pagination.stories.tsx +1 -2
  95. package/src/components/{pagination → molecules/pagination}/pagination.tsx +8 -8
  96. package/src/components/{search-select → molecules/search-select}/index.ts +1 -1
  97. package/src/components/{search-select → molecules/search-select}/search-select.doc.mdx +2 -2
  98. package/src/components/{search-select → molecules/search-select}/search-select.props.ts +3 -0
  99. package/src/components/{search-select → molecules/search-select}/search-select.stories.tsx +1 -2
  100. package/src/components/{search-select → molecules/search-select}/search-select.tsx +8 -6
  101. package/src/components/{select → molecules/select}/select.doc.mdx +2 -2
  102. package/src/components/{select → molecules/select}/select.stories.tsx +1 -2
  103. package/src/components/{select → molecules/select}/select.tsx +8 -16
  104. package/src/components/{stat-card → molecules/stat-card}/stat-card.doc.mdx +2 -2
  105. package/src/components/{stat-card → molecules/stat-card}/stat-card.stories.tsx +2 -3
  106. package/src/components/{stat-card → molecules/stat-card}/stat-card.tsx +1 -1
  107. package/src/components/{stepper → molecules/stepper}/stepper.doc.mdx +2 -2
  108. package/src/components/{stepper → molecules/stepper}/stepper.stories.tsx +1 -2
  109. package/src/components/{stepper → molecules/stepper}/stepper.tsx +9 -10
  110. package/src/components/{table → molecules/table}/table.doc.mdx +2 -2
  111. package/src/components/{table → molecules/table}/table.stories.tsx +5 -22
  112. package/src/components/{table → molecules/table}/table.tsx +5 -15
  113. package/src/components/{tabs → molecules/tabs}/tabs.doc.mdx +2 -2
  114. package/src/components/{tabs → molecules/tabs}/tabs.stories.tsx +1 -2
  115. package/src/components/{tabs → molecules/tabs}/tabs.tsx +1 -1
  116. package/src/components/{time-picker → molecules/time-picker}/timePicker.doc.mdx +3 -3
  117. package/src/components/{time-picker → molecules/time-picker}/timePicker.props.ts +4 -2
  118. package/src/components/{time-picker → molecules/time-picker}/timePicker.stories.tsx +3 -4
  119. package/src/components/{time-picker → molecules/time-picker}/timePicker.tsx +5 -5
  120. package/src/components/{confirm-dialog → organisms/confirm-dialog}/confirm-dialog.doc.mdx +2 -2
  121. package/src/components/{confirm-dialog → organisms/confirm-dialog}/confirm-dialog.stories.tsx +2 -3
  122. package/src/components/{confirm-dialog → organisms/confirm-dialog}/confirm-dialog.tsx +4 -4
  123. package/src/components/{data-table → organisms/data-table}/ITDataTable.doc.mdx +2 -2
  124. package/src/components/{data-table → organisms/data-table}/ITDataTable.stories.tsx +3 -4
  125. package/src/components/{data-table → organisms/data-table}/dataTable.props.ts +1 -1
  126. package/src/components/{data-table → organisms/data-table}/dataTable.tsx +7 -8
  127. package/src/components/{dialog → organisms/dialog}/dialog.doc.mdx +2 -2
  128. package/src/components/{dialog → organisms/dialog}/dialog.stories.tsx +3 -5
  129. package/src/components/{dialog → organisms/dialog}/dialog.tsx +2 -2
  130. package/src/components/{drawer → organisms/drawer}/drawer.doc.mdx +2 -2
  131. package/src/components/{drawer → organisms/drawer}/drawer.stories.tsx +2 -3
  132. package/src/components/{drawer → organisms/drawer}/drawer.tsx +1 -1
  133. package/src/components/{dropfile → organisms/dropfile}/dropfile.doc.mdx +3 -3
  134. package/src/components/{dropfile → organisms/dropfile}/dropfile.props.ts +8 -4
  135. package/src/components/{dropfile → organisms/dropfile}/dropfile.stories.tsx +2 -5
  136. package/src/components/{dropfile → organisms/dropfile}/dropfile.tsx +25 -12
  137. package/src/components/{form-builder → organisms/form-builder}/fieldRenderer.tsx +30 -20
  138. package/src/components/{form-builder → organisms/form-builder}/formBuilder.context.tsx +3 -2
  139. package/src/components/{form-builder → organisms/form-builder}/formBuilder.doc.mdx +2 -2
  140. package/src/components/{form-builder → organisms/form-builder}/formBuilder.stories.tsx +0 -1
  141. package/src/components/{form-builder → organisms/form-builder}/formBuilder.tsx +4 -5
  142. package/src/components/{form-builder → organisms/form-builder}/useFormBuilder.ts +4 -4
  143. package/src/components/{navbar → organisms/navbar}/navbar.doc.mdx +2 -2
  144. package/src/components/{navbar → organisms/navbar}/navbar.stories.tsx +1 -2
  145. package/src/components/{navbar → organisms/navbar}/navbar.tsx +1 -1
  146. package/src/components/{page-header → organisms/page-header}/page-header.doc.mdx +2 -2
  147. package/src/components/{page-header → organisms/page-header}/page-header.props.ts +1 -1
  148. package/src/components/{page-header → organisms/page-header}/page-header.stories.tsx +5 -6
  149. package/src/components/{page-header → organisms/page-header}/page-header.tsx +2 -2
  150. package/src/components/{searchTable → organisms/searchTable}/components/EditableCell.tsx +4 -5
  151. package/src/components/{searchTable → organisms/searchTable}/components/PaginationControls.tsx +6 -6
  152. package/src/components/{searchTable → organisms/searchTable}/components/PaginationInfo.tsx +1 -1
  153. package/src/components/{searchTable → organisms/searchTable}/components/SearchAndSortBar.tsx +3 -3
  154. package/src/components/{searchTable → organisms/searchTable}/components/SearchInput.tsx +1 -1
  155. package/src/components/{searchTable → organisms/searchTable}/components/SortButton.tsx +1 -1
  156. package/src/components/{searchTable → organisms/searchTable}/components/TableEmptyState.tsx +1 -1
  157. package/src/components/{searchTable → organisms/searchTable}/components/TableHeaderCell.tsx +1 -1
  158. package/src/components/{searchTable → organisms/searchTable}/searchTable.doc.mdx +2 -2
  159. package/src/components/{searchTable → organisms/searchTable}/searchTable.stories.tsx +1 -2
  160. package/src/components/{searchTable → organisms/searchTable}/searchTable.tsx +1 -2
  161. package/src/components/{sidebar → organisms/sidebar}/sidebar.doc.mdx +2 -2
  162. package/src/components/{sidebar → organisms/sidebar}/sidebar.stories.tsx +1 -2
  163. package/src/components/{sidebar → organisms/sidebar}/sidebar.tsx +45 -43
  164. package/src/components/{toast → organisms/toast}/toast.doc.mdx +2 -2
  165. package/src/components/{toast → organisms/toast}/toast.stories.tsx +2 -3
  166. package/src/components/{toast → organisms/toast}/toast.tsx +1 -2
  167. package/src/components/{topbar → organisms/topbar}/topbar.doc.mdx +2 -2
  168. package/src/components/{topbar → organisms/topbar}/topbar.stories.tsx +1 -2
  169. package/src/components/{topbar → organisms/topbar}/topbar.tsx +25 -25
  170. package/src/components/{triple-filter → organisms/triple-filter}/tripleFilter.doc.mdx +2 -2
  171. package/src/components/{triple-filter → organisms/triple-filter}/tripleFilter.props.ts +0 -1
  172. package/src/components/{triple-filter → organisms/triple-filter}/tripleFilter.stories.tsx +0 -1
  173. package/src/components/{triple-filter → organisms/triple-filter}/tripleFilter.tsx +1 -1
  174. package/src/components/{layout → templates/layout}/layout.doc.mdx +2 -2
  175. package/src/components/{layout → templates/layout}/layout.props.ts +2 -2
  176. package/src/components/{layout → templates/layout}/layout.stories.tsx +1 -2
  177. package/src/components/{layout → templates/layout}/layout.tsx +2 -2
  178. package/src/components/{page → templates/page}/page.doc.mdx +2 -2
  179. package/src/components/{page → templates/page}/page.props.ts +1 -1
  180. package/src/components/{page → templates/page}/page.stories.tsx +6 -7
  181. package/src/components/{page → templates/page}/page.tsx +6 -6
  182. package/src/components/theme-provider/themePresets.ts +154 -0
  183. package/src/components/theme-provider/themeProvider.doc.mdx +10 -2
  184. package/src/components/theme-provider/themeProvider.props.ts +6 -0
  185. package/src/components/theme-provider/themeProvider.stories.tsx +3 -4
  186. package/src/components/theme-provider/themeProvider.tsx +210 -268
  187. package/src/hooks/useEditableRow.ts +1 -1
  188. package/src/index.css +36 -86
  189. package/src/index.ts +97 -97
  190. package/src/showcases/DataShowcases.tsx +4 -8
  191. package/src/showcases/FeedbackShowcases.tsx +6 -6
  192. package/src/showcases/FormShowcases.tsx +7 -7
  193. package/src/showcases/GettingStartedShowcase.tsx +8 -9
  194. package/src/showcases/HomeShowcase.tsx +12 -12
  195. package/src/showcases/LayoutPrimitivesShowcases.tsx +36 -57
  196. package/src/showcases/PageShowcases.tsx +41 -53
  197. package/src/showcases/ShowcaseLayout.tsx +1 -2
  198. package/src/showcases/SizesShowcase.tsx +85 -0
  199. package/src/showcases/StructureShowcases.tsx +31 -33
  200. package/src/theme/theme-context.ts +37 -0
  201. package/src/theme/theme.ts +71 -64
  202. package/src/theme/theme.types.ts +41 -0
  203. package/src/types/badget.types.ts +3 -3
  204. package/src/types/button.types.ts +3 -3
  205. package/src/types/sizes.types.ts +2 -1
  206. package/src/utils/styles.ts +37 -0
  207. package/src/components/calendar/index.ts +0 -3
  208. package/src/components/stepper/stepper.css +0 -26
  209. package/src/components/toast/toast.css +0 -32
  210. package/src/types/input.types.ts +0 -14
  211. /package/src/components/{avatar → atoms/avatar}/avatar.props.ts +0 -0
  212. /package/src/components/{checkbox → atoms/checkbox}/checkbox.props.ts +0 -0
  213. /package/src/components/{divider → atoms/divider}/divider.props.ts +0 -0
  214. /package/src/components/{divider → atoms/divider}/divider.tsx +0 -0
  215. /package/src/components/{flex → atoms/flex}/flex.props.ts +0 -0
  216. /package/src/components/{flex → atoms/flex}/flex.tsx +0 -0
  217. /package/src/components/{grid → atoms/grid}/grid.props.ts +0 -0
  218. /package/src/components/{grid → atoms/grid}/grid.tsx +0 -0
  219. /package/src/components/{image → atoms/image}/image.props.ts +0 -0
  220. /package/src/components/{image → atoms/image}/image.tsx +0 -0
  221. /package/src/components/{loader → atoms/loader}/loader.props.ts +0 -0
  222. /package/src/components/{popover → atoms/popover}/popover.props.ts +0 -0
  223. /package/src/components/{popover → atoms/popover}/popover.tsx +0 -0
  224. /package/src/components/{progress → atoms/progress}/progress.props.ts +0 -0
  225. /package/src/components/{progress → atoms/progress}/progress.tsx +0 -0
  226. /package/src/components/{radio → atoms/radio}/radio.props.ts +0 -0
  227. /package/src/components/{segmented-control → atoms/segmented-control}/segmented-control.props.ts +0 -0
  228. /package/src/components/{skeleton → atoms/skeleton}/skeleton.props.ts +0 -0
  229. /package/src/components/{skeleton → atoms/skeleton}/skeleton.tsx +0 -0
  230. /package/src/components/{slide → atoms/slide}/slide.props.ts +0 -0
  231. /package/src/components/{slide → atoms/slide}/slide.tsx +0 -0
  232. /package/src/components/{slider → atoms/slider}/slider.props.ts +0 -0
  233. /package/src/components/{stack → atoms/stack}/stack.props.ts +0 -0
  234. /package/src/components/{stack → atoms/stack}/stack.tsx +0 -0
  235. /package/src/components/{text → atoms/text}/text.props.ts +0 -0
  236. /package/src/components/{text → atoms/text}/text.tsx +0 -0
  237. /package/src/components/{tooltip → atoms/tooltip}/tooltip.props.ts +0 -0
  238. /package/src/components/{alert → molecules/alert}/alert.props.ts +0 -0
  239. /package/src/components/{breadcrumbs → molecules/breadcrumbs}/breadcrumbs.props.ts +0 -0
  240. /package/src/components/{calendar → molecules/calendar}/calendar.props.ts +0 -0
  241. /package/src/components/{card → molecules/card}/card.props.ts +0 -0
  242. /package/src/components/{empty-state → molecules/empty-state}/empty-state.props.ts +0 -0
  243. /package/src/components/{form-header → molecules/form-header}/form-header.props.ts +0 -0
  244. /package/src/components/{pagination → molecules/pagination}/pagination.props.ts +0 -0
  245. /package/src/components/{select → molecules/select}/select.props.ts +0 -0
  246. /package/src/components/{stat-card → molecules/stat-card}/stat-card.props.ts +0 -0
  247. /package/src/components/{stepper → molecules/stepper}/stepper.props.ts +0 -0
  248. /package/src/components/{table → molecules/table}/table.props.ts +0 -0
  249. /package/src/components/{tabs → molecules/tabs}/tabs.props.ts +0 -0
  250. /package/src/components/{confirm-dialog → organisms/confirm-dialog}/confirm-dialog.props.ts +0 -0
  251. /package/src/components/{dialog → organisms/dialog}/dialog.props.ts +0 -0
  252. /package/src/components/{drawer → organisms/drawer}/drawer.props.ts +0 -0
  253. /package/src/components/{form-builder → organisms/form-builder}/formBuilder.props.ts +0 -0
  254. /package/src/components/{navbar → organisms/navbar}/navbar.props.ts +0 -0
  255. /package/src/components/{searchTable → organisms/searchTable}/components/TableHeader.tsx +0 -0
  256. /package/src/components/{searchTable → organisms/searchTable}/components/TableRow.tsx +0 -0
  257. /package/src/components/{searchTable → organisms/searchTable}/searchTable.props.ts +0 -0
  258. /package/src/components/{sidebar → organisms/sidebar}/sidebar.props.ts +0 -0
  259. /package/src/components/{toast → organisms/toast}/toast.props.ts +0 -0
  260. /package/src/components/{topbar → organisms/topbar}/topbar.props.ts +0 -0
@@ -1,13 +1,14 @@
1
- import React, { createContext, useContext, useState, useEffect } from "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 "../dialog/dialog";
5
- import ITTabs from "../tabs/tabs";
6
- import ITButton from "../button/button";
7
- import ITInput from "../input/input";
8
- import ITSegmentedControl from "../segmented-control/segmented-control";
9
- import ITDivider from "../divider/divider";
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
- export const DEFAULT_PALETTE: ITThemePalette = {
19
- primary: "#06b6d4", // Cyan
20
- secondary: "#6b7280", // Gray
21
- ternary: "#8b5cf6", // Purple/Violet
22
- danger: "#ef4444", // Red
23
- success: "#22c55e", // Green
24
- info: "#3b82f6", // Blue
25
- alert: "#f97316", // Orange
26
- warning: "#eab308", // Yellow
27
- layout: {
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
- table: {
34
- headerBg: "#f8fafc", // Slate-50
35
- headerText: "#334155", // Slate-700
36
- rowBg: "#ffffff", // White
37
- rowText: "#1e293b", // Slate-800
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
- export const PRESETS: { name: string; colors: ITThemePalette }[] = [
42
- {
43
- name: "Midnight Indigo 🌌",
44
- colors: {
45
- primary: "#6366f1",
46
- secondary: "#475569",
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
- name: "Coral Reef 🪸",
69
- colors: {
70
- primary: "#f43f5e",
71
- secondary: "#57534e",
72
- ternary: "#f97316",
73
- danger: "#b91c1c",
74
- success: "#14b8a6",
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
- interface ITThemeContextType {
173
- palette: ITThemePalette;
174
- colors: ITThemePalette;
175
- setPalette: (newPalette: ITThemePalette) => void;
176
- updateColor: (key: string, value: string) => void;
177
- resetTheme: () => void;
178
- applyPreset: (colors: ITThemePalette) => void;
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
- const ITThemeContext = createContext<ITThemeContextType | undefined>(undefined);
67
+ import { DEFAULT_PALETTE, PRESETS } from "./themePresets";
185
68
 
186
- export const useITTheme = () => {
187
- const context = useContext(ITThemeContext);
188
- if (!context) {
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
- * Versión segura de useITTheme que retorna undefined
196
- * si se usa fuera de ITThemeProvider (no lanza error).
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="small"
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="small"
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="small"
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="small"
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="small"
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 "../components/searchTable/searchTable.props";
3
+ import type { SearchColumn } from "@/components/organisms/searchTable/searchTable.props";
4
4
 
5
5
  interface UseEditableRowOptions<T> {
6
6
  row: T;