@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,7 +1,7 @@
1
1
  import { Meta, Title, Description, Primary, Controls, Stories } from '@storybook/blocks';
2
- import * as Stories from './searchTable.stories';
2
+ import * as StoriesData from './searchTable.stories';
3
3
 
4
- <Meta of={Stories} />
4
+ <Meta of={StoriesData} />
5
5
 
6
6
  # ITSearchTable
7
7
 
@@ -1,5 +1,5 @@
1
1
  import type { Meta, StoryObj } from '@storybook/react';
2
- import ITSearchTable from './searchTable';
2
+ import ITSearchTable from '@/components/organisms/searchTable/searchTable';
3
3
  import { SearchColumn } from './searchTable.props';
4
4
 
5
5
  interface SampleRow {
@@ -26,7 +26,6 @@ const meta = {
26
26
  title: 'Components/Data Display/ITSearchTable',
27
27
  component: ITSearchTable,
28
28
  parameters: { layout: 'padded' },
29
- tags: ['autodocs'],
30
29
  argTypes: {
31
30
  columns: { control: false, description: 'Column definitions' },
32
31
  data: { control: false, description: 'Row data array' },
@@ -10,7 +10,7 @@ import TableRow from "./components/TableRow";
10
10
  import { getNestedValue } from "@/utils/table.utils";
11
11
  import TableEmptyState from "./components/TableEmptyState";
12
12
  import PaginationControls from "./components/PaginationControls";
13
- import ITText from "@/components/text/text";
13
+ import ITText from "@/components/atoms/text/text";
14
14
 
15
15
  interface CustomITSearchTableProps<T> extends ITSearchTableProps<T> {
16
16
  editingRow?: number | null;
@@ -54,7 +54,6 @@ export default function ITSearchTable<T extends Record<string, unknown>>({
54
54
  containerClassName,
55
55
  searchTermInitial = "",
56
56
  searchInputPlaceholder = "Buscar en todos los campos...",
57
- className,
58
57
  variant = "default",
59
58
  size = "md",
60
59
  itemsPerPageOptions = [10, 20, 50, 100],
@@ -1,7 +1,7 @@
1
1
  import { Meta, Title, Description, Primary, Controls, Stories } from '@storybook/blocks';
2
- import * as Stories from './sidebar.stories';
2
+ import * as StoriesData from './sidebar.stories';
3
3
 
4
- <Meta of={Stories} />
4
+ <Meta of={StoriesData} />
5
5
 
6
6
  # ITSidebar
7
7
 
@@ -1,5 +1,5 @@
1
1
  import type { Meta, StoryObj } from '@storybook/react';
2
- import ITSidebar from './sidebar';
2
+ import ITSidebar from '@/components/organisms/sidebar/sidebar';
3
3
  import { FaHome, FaUsers, FaCog, FaChartBar, FaShieldAlt } from 'react-icons/fa';
4
4
 
5
5
  const meta: Meta<typeof ITSidebar> = {
@@ -13,7 +13,6 @@ const meta: Meta<typeof ITSidebar> = {
13
13
  },
14
14
  },
15
15
  },
16
- tags: ['autodocs'],
17
16
  };
18
17
 
19
18
  export default meta;
@@ -1,7 +1,7 @@
1
1
  import { useEffect, useRef, useState } from "react";
2
2
  import { FaChevronDown } from "react-icons/fa";
3
3
  import { ITNavigationItem, ITSidebarProps } from "./sidebar.props";
4
- import ITText from "@/components/text/text";
4
+ import ITText from "@/components/atoms/text/text";
5
5
 
6
6
  /**
7
7
  * Vertical navigation sidebar with submenu expand/collapse, hover tooltips in collapsed mode,
@@ -28,7 +28,6 @@ import ITText from "@/components/text/text";
28
28
  export default function ITSidebar({
29
29
  navigationItems = [],
30
30
  isCollapsed = false,
31
- onToggleCollapse,
32
31
  className = "",
33
32
  visibleOnMobile = false,
34
33
  onItemClick,
@@ -42,6 +41,9 @@ export default function ITSidebar({
42
41
  const leaveTimeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);
43
42
 
44
43
  useEffect(() => {
44
+ const hoverTimer = hoverTimeoutRef.current;
45
+ const leaveTimer = leaveTimeoutRef.current;
46
+
45
47
  const handleMouseEnter = () => {
46
48
  if (hoverTimeoutRef.current) clearTimeout(hoverTimeoutRef.current);
47
49
  if (leaveTimeoutRef.current) clearTimeout(leaveTimeoutRef.current);
@@ -64,8 +66,8 @@ export default function ITSidebar({
64
66
  sidebar.removeEventListener("mouseenter", handleMouseEnter);
65
67
  sidebar.removeEventListener("mouseleave", handleMouseLeave);
66
68
  }
67
- if (hoverTimeoutRef.current) clearTimeout(hoverTimeoutRef.current);
68
- if (leaveTimeoutRef.current) clearTimeout(leaveTimeoutRef.current);
69
+ if (hoverTimer) clearTimeout(hoverTimer);
70
+ if (leaveTimer) clearTimeout(leaveTimer);
69
71
  };
70
72
  }, [isCollapsed]);
71
73
 
@@ -125,30 +127,30 @@ export default function ITSidebar({
125
127
  `}
126
128
  style={{
127
129
  zIndex: 50,
128
- backgroundColor: "var(--sidebar-bg, rgba(255, 255, 255, 0.90))",
129
- borderRight: "1px solid var(--sidebar-border, var(--color-secondary-200))",
130
+ backgroundColor: "var(--it-sidebar-bg, rgba(255, 255, 255, 0.90))",
131
+ borderRight: "1px solid var(--it-sidebar-border, var(--color-secondary-200))",
130
132
  WebkitBackdropFilter: 'blur(12px)',
131
133
  backdropFilter: 'blur(12px)',
132
134
  }}
133
135
  >
134
136
  {/* Navigation Items */}
135
- <nav className="flex-1 py-6 overflow-y-auto overflow-x-hidden custom-scrollbar px-4">
136
- <ul className="space-y-2">
137
+ <nav className="flex-1 py-4 overflow-y-auto overflow-x-hidden custom-scrollbar px-4">
138
+ <ul className="space-y-1">
137
139
  {navigationItems.map((item) => (
138
140
  <li key={item.id} className="relative group/navitem">
139
141
  <div
140
142
  className={`flex items-center cursor-pointer
141
143
  transition-all duration-300 ease-[cubic-bezier(0.2,0,0,1)]
142
144
  rounded-xl relative overflow-visible
143
- ${isSidebarCollapsed ? "justify-center p-2.5 mb-2" : "justify-between px-3.5 py-3 mb-1"}
145
+ ${isSidebarCollapsed ? "justify-center p-2 mb-1" : "justify-between px-3 py-2 mb-0.5"}
144
146
  `}
145
147
  style={{
146
- backgroundColor: item.isActive ? "var(--sidebar-active-bg, var(--color-secondary-50))" : 'transparent',
148
+ backgroundColor: item.isActive ? "var(--it-sidebar-active-bg, var(--color-secondary-50))" : 'transparent',
147
149
  boxShadow: item.isActive ? 'var(--shadow-xs)' : 'none',
148
- border: item.isActive ? "1px solid var(--sidebar-border, var(--color-secondary-200))" : '1px solid transparent'
150
+ border: item.isActive ? "1px solid var(--it-sidebar-border, var(--color-secondary-200))" : '1px solid transparent'
149
151
  }}
150
152
  onMouseEnter={(e) => {
151
- if (!item.isActive) e.currentTarget.style.backgroundColor = "var(--sidebar-hover-bg, var(--color-secondary-100))";
153
+ if (!item.isActive) e.currentTarget.style.backgroundColor = "var(--it-sidebar-hover-bg, var(--color-secondary-100))";
152
154
  }}
153
155
  onMouseLeave={(e) => {
154
156
  if (!item.isActive) e.currentTarget.style.backgroundColor = 'transparent';
@@ -158,18 +160,18 @@ export default function ITSidebar({
158
160
  {item.isActive && !isSidebarCollapsed && (
159
161
  <div
160
162
  className="absolute left-0 top-1/4 bottom-1/4 w-[3px] rounded-r-full transition-all"
161
- style={{ backgroundColor: "var(--sidebar-active-icon, var(--color-primary-500))", boxShadow: "0 0 10px var(--sidebar-active-icon, var(--color-primary-500))" }}
163
+ style={{ backgroundColor: "var(--it-sidebar-active-icon, var(--color-primary-500))", boxShadow: "0 0 10px var(--it-sidebar-active-icon, var(--color-primary-500))" }}
162
164
  />
163
165
  )}
164
166
 
165
- <div className={`flex items-center ${!isSidebarCollapsed ? "gap-3.5" : "justify-center"} relative z-10 w-full`}>
167
+ <div className={`flex items-center ${!isSidebarCollapsed ? "gap-2.5" : "justify-center"} relative z-10 w-full`}>
166
168
  {item.icon && (
167
169
  <div
168
170
  className={`transition-all duration-300 flex-shrink-0 flex items-center justify-center`}
169
171
  style={{
170
- color: item.isActive ? "var(--sidebar-active-icon, var(--color-primary-500))" : "var(--sidebar-icon-color, #9ca3af)",
172
+ color: item.isActive ? "var(--it-sidebar-active-icon, var(--color-primary-500))" : "var(--it-sidebar-icon-color, #9ca3af)",
171
173
  opacity: item.isActive ? 1 : 0.8,
172
- fontSize: item.isActive ? '1.35rem' : '1.25rem',
174
+ fontSize: item.isActive ? '1.12rem' : '1.05rem',
173
175
  filter: item.isActive ? 'drop-shadow(0 0 8px rgba(255,255,255,0.2))' : 'none'
174
176
  }}
175
177
  >
@@ -181,8 +183,8 @@ export default function ITSidebar({
181
183
  <ITText as="span"
182
184
  className={`transition-all duration-300 truncate tracking-wide`}
183
185
  style={{
184
- color: item.isActive ? "var(--sidebar-active-color, #ffffff)" : "var(--sidebar-label-color, var(--color-secondary-300))",
185
- fontSize: '0.9rem',
186
+ color: item.isActive ? "var(--it-sidebar-active-color, #ffffff)" : "var(--it-sidebar-label-color, var(--color-secondary-300))",
187
+ fontSize: '0.8rem',
186
188
  fontWeight: item.isActive ? '600' : '500'
187
189
  }}
188
190
  >
@@ -193,7 +195,7 @@ export default function ITSidebar({
193
195
 
194
196
  {!isSidebarCollapsed && item.subitems && item.subitems.length > 0 && (
195
197
  <div className={`flex-shrink-0 transition-transform duration-300 ease-[cubic-bezier(0.2,0,0,1)] ${expandedItems.has(item.id) ? "rotate-180" : ""}`}
196
- style={{ color: item.isActive ? "var(--sidebar-active-color, var(--color-secondary-900))" : "var(--sidebar-icon-color, var(--color-secondary-500))", opacity: 0.7 }}>
198
+ style={{ color: item.isActive ? "var(--it-sidebar-active-color, var(--color-secondary-900))" : "var(--it-sidebar-icon-color, var(--color-secondary-500))", opacity: 0.7 }}>
197
199
  <FaChevronDown className="w-3 h-3" />
198
200
  </div>
199
201
  )}
@@ -204,12 +206,12 @@ export default function ITSidebar({
204
206
  absolute flex items-center justify-center font-bold shadow-md
205
207
  ${isSidebarCollapsed
206
208
  ? "top-1 right-1 w-2.5 h-2.5 rounded-full ring-2 ring-white"
207
- : "right-3 top-1/2 transform -translate-y-1/2 px-2 py-0.5 text-[10px] rounded-full backdrop-blur-sm"}
209
+ : "right-3 top-1/2 transform -translate-y-1/2 px-1.5 py-0 text-[9px] rounded-full backdrop-blur-sm"}
208
210
  `}
209
211
  style={{
210
- backgroundColor: "var(--sidebar-badge-bg, var(--color-primary-500))",
211
- color: "var(--sidebar-badge-color, #ffffff)",
212
- boxShadow: isSidebarCollapsed ? "0 0 0 2px var(--sidebar-bg, var(--color-secondary-900))" : 'none'
212
+ backgroundColor: "var(--it-sidebar-badge-bg, var(--color-primary-500))",
213
+ color: "var(--it-sidebar-badge-color, #ffffff)",
214
+ boxShadow: isSidebarCollapsed ? "0 0 0 2px var(--it-sidebar-bg, var(--color-secondary-900))" : 'none'
213
215
  }}
214
216
  >
215
217
  {isSidebarCollapsed ? "" : item.badge}
@@ -222,14 +224,14 @@ export default function ITSidebar({
222
224
  <div
223
225
  className="absolute left-full top-0 ml-4 rounded-2xl opacity-0 invisible group-hover/navitem:opacity-100 group-hover/navitem:visible transition-all duration-300 pointer-events-none z-[70] min-w-[220px] overflow-hidden -translate-x-2 group-hover/navitem:translate-x-0 shadow-[0_10px_40px_-10px_rgba(0,0,0,0.15)]"
224
226
  style={{
225
- backgroundColor: "var(--sidebar-bg, #ffffff)",
226
- border: "1px solid var(--sidebar-border, var(--color-secondary-200))",
227
+ backgroundColor: "var(--it-sidebar-bg, #ffffff)",
228
+ border: "1px solid var(--it-sidebar-border, var(--color-secondary-200))",
227
229
  WebkitBackdropFilter: 'blur(16px)',
228
230
  backdropFilter: 'blur(16px)',
229
231
  }}
230
232
  >
231
- <div className="px-5 py-4 flex items-center gap-3 font-semibold border-b" style={{ borderColor: "var(--sidebar-border, var(--color-secondary-200))", color: "var(--sidebar-active-color, var(--color-secondary-900))" }}>
232
- {item.icon && <span style={{ color: "var(--sidebar-active-icon, var(--color-primary-500))" }} className="text-xl drop-shadow-sm">{item.icon}</span>}
233
+ <div className="px-5 py-4 flex items-center gap-3 font-semibold border-b" style={{ borderColor: "var(--it-sidebar-border, var(--color-secondary-200))", color: "var(--it-sidebar-active-color, var(--color-secondary-900))" }}>
234
+ {item.icon && <span style={{ color: "var(--it-sidebar-active-icon, var(--color-primary-500))" }} className="text-xl drop-shadow-sm">{item.icon}</span>}
233
235
  <ITText as="span" className="tracking-wide text-[15px]">{item.label}</ITText>
234
236
  </div>
235
237
 
@@ -244,18 +246,18 @@ export default function ITSidebar({
244
246
  <div
245
247
  className="absolute left-0 top-1/3 bottom-1/3 w-[2.5px] rounded-r-full"
246
248
  style={{
247
- backgroundColor: "var(--sidebar-active-icon, var(--color-primary-500))",
248
- boxShadow: "0 0 6px color-mix(in srgb, var(--sidebar-active-icon, var(--color-primary-500)) 25%, transparent)",
249
+ backgroundColor: "var(--it-sidebar-active-icon, var(--color-primary-500))",
250
+ boxShadow: "0 0 6px color-mix(in srgb, var(--it-sidebar-active-icon, var(--color-primary-500)) 25%, transparent)",
249
251
  }}
250
252
  />
251
253
  )}
252
- <span className={`w-1.5 h-1.5 rounded-full transition-all ${subitem.isActive ? "scale-125" : ""}`} style={{ backgroundColor: subitem.isActive ? "var(--sidebar-active-icon, var(--color-primary-500))" : "var(--sidebar-icon-color, var(--color-secondary-400))" }} />
253
- <ITText as="span" style={{ color: subitem.isActive ? "var(--sidebar-active-color, var(--color-secondary-900))" : "var(--sidebar-label-color, var(--color-secondary-600))", fontWeight: subitem.isActive ? 600 : 500 }}>{subitem.label}</ITText>
254
+ <span className={`w-1.5 h-1.5 rounded-full transition-all ${subitem.isActive ? "scale-125" : ""}`} style={{ backgroundColor: subitem.isActive ? "var(--it-sidebar-active-icon, var(--color-primary-500))" : "var(--it-sidebar-icon-color, var(--color-secondary-400))" }} />
255
+ <ITText as="span" style={{ color: subitem.isActive ? "var(--it-sidebar-active-color, var(--color-secondary-900))" : "var(--it-sidebar-label-color, var(--color-secondary-600))", fontWeight: subitem.isActive ? 600 : 500 }}>{subitem.label}</ITText>
254
256
  </div>
255
257
  ))}
256
258
  </div>
257
259
  ) : (
258
- <ITText as="div" className="px-5 py-3 text-sm italic" style={{ color: "var(--sidebar-label-color, var(--color-secondary-400))" }}>No hay submenú</ITText>
260
+ <ITText as="div" className="px-5 py-3 text-sm italic" style={{ color: "var(--it-sidebar-label-color, var(--color-secondary-400))" }}>No hay submenú</ITText>
259
261
  )}
260
262
  </div>
261
263
  )}
@@ -264,10 +266,10 @@ export default function ITSidebar({
264
266
  {!isSidebarCollapsed && item.subitems && item.subitems.length > 0 && (
265
267
  <div className={`overflow-hidden transition-all duration-400 ease-[cubic-bezier(0.2,0,0,1)] ${expandedItems.has(item.id) ? "max-h-[500px] opacity-100 mt-1" : "max-h-0 opacity-0"}`}>
266
268
  <ul
267
- className="ml-5 flex flex-col gap-0.5 py-1"
269
+ className="ml-4 flex flex-col gap-0 py-0.5"
268
270
  style={{
269
271
  borderLeft: subitemConnector === '|'
270
- ? "1px solid var(--sidebar-border, var(--color-secondary-200))"
272
+ ? "1px solid var(--it-sidebar-border, var(--color-secondary-200))"
271
273
  : 'none'
272
274
  }}
273
275
  >
@@ -278,18 +280,18 @@ export default function ITSidebar({
278
280
  if (subitem.action) subitem.action();
279
281
  if (onSubItemClick) onSubItemClick(subitem);
280
282
  }}
281
- className={`flex items-center gap-2.5 w-full text-left px-3 py-2 rounded-xl transition-all duration-300`}
283
+ className={`flex items-center gap-2 w-full text-left px-3 py-1.5 rounded-xl transition-all duration-300`}
282
284
  style={{
283
- color: subitem.isActive ? "var(--sidebar-active-color, var(--color-secondary-900))" : "var(--sidebar-label-color, var(--color-secondary-600))",
284
- backgroundColor: subitem.isActive ? "var(--sidebar-active-bg, var(--color-secondary-50))" : 'transparent',
285
- fontSize: '0.85rem',
285
+ color: subitem.isActive ? "var(--it-sidebar-active-color, var(--color-secondary-900))" : "var(--it-sidebar-label-color, var(--color-secondary-600))",
286
+ backgroundColor: subitem.isActive ? "var(--it-sidebar-active-bg, var(--color-secondary-50))" : 'transparent',
287
+ fontSize: '0.78rem',
286
288
  fontWeight: subitem.isActive ? 600 : 500,
287
289
  letterSpacing: '0.01em',
288
290
  marginLeft: subitemConnector === '|' ? '-1px' : '0',
289
291
  }}
290
292
  onMouseEnter={(e) => {
291
293
  if (!subitem.isActive) {
292
- e.currentTarget.style.backgroundColor = "var(--sidebar-hover-bg, var(--color-secondary-100))";
294
+ e.currentTarget.style.backgroundColor = "var(--it-sidebar-hover-bg, var(--color-secondary-100))";
293
295
  e.currentTarget.style.transform = 'translateX(3px)';
294
296
  }
295
297
  }}
@@ -304,8 +306,8 @@ export default function ITSidebar({
304
306
  <div
305
307
  className="absolute left-0 top-1/3 bottom-1/3 w-[2.5px] rounded-r-full transition-all"
306
308
  style={{
307
- backgroundColor: "var(--sidebar-active-icon, var(--color-primary-500))",
308
- boxShadow: "0 0 6px color-mix(in srgb, var(--sidebar-active-icon, var(--color-primary-500)) 25%, transparent)",
309
+ backgroundColor: "var(--it-sidebar-active-icon, var(--color-primary-500))",
310
+ boxShadow: "0 0 6px color-mix(in srgb, var(--it-sidebar-active-icon, var(--color-primary-500)) 25%, transparent)",
309
311
  }}
310
312
  />
311
313
  )}
@@ -314,8 +316,8 @@ export default function ITSidebar({
314
316
  className={`w-1.5 h-1.5 rounded-full flex-shrink-0 transition-all duration-300 ${subitem.isActive ? 'scale-125' : ''}`}
315
317
  style={{
316
318
  backgroundColor: subitem.isActive
317
- ? "var(--sidebar-active-icon, var(--color-primary-500))"
318
- : "var(--sidebar-icon-color, var(--color-secondary-400))"
319
+ ? "var(--it-sidebar-active-icon, var(--color-primary-500))"
320
+ : "var(--it-sidebar-icon-color, var(--color-secondary-400))"
319
321
  }}
320
322
  />
321
323
  )}
@@ -1,7 +1,7 @@
1
1
  import { Meta, Title, Description, Primary, Controls, Stories } from '@storybook/blocks';
2
- import * as Stories from './toast.stories';
2
+ import * as StoriesData from './toast.stories';
3
3
 
4
- <Meta of={Stories} />
4
+ <Meta of={StoriesData} />
5
5
 
6
6
  # ITToast
7
7
 
@@ -1,7 +1,7 @@
1
1
  import type { Meta, StoryObj } from "@storybook/react";
2
- import ITToast from "./toast";
2
+ import ITToast from "@/components/organisms/toast/toast";
3
3
  import { useState } from "react";
4
- import ITButton from "../button/button";
4
+ import ITButton from "@/components/atoms/button/button";
5
5
 
6
6
  const meta: Meta<typeof ITToast> = {
7
7
  title: "Components/Feedback/ITToast",
@@ -9,7 +9,6 @@ const meta: Meta<typeof ITToast> = {
9
9
  parameters: {
10
10
  layout: "centered",
11
11
  },
12
- tags: ["autodocs"],
13
12
  argTypes: {
14
13
  type: {
15
14
  control: "select",
@@ -2,10 +2,9 @@ import { positionStyles } from "@/types/toast.types";
2
2
  import { theme } from "@/theme/theme";
3
3
  import clsx from "clsx";
4
4
  import { useEffect, useState } from "react";
5
- import "./toast.css";
6
5
  import { ITToastProps } from "./toast.props";
7
6
  import { FaTimesCircle, FaCheckCircle, FaExclamationTriangle, FaInfoCircle, FaTimes } from "react-icons/fa";
8
- import ITText from "@/components/text/text";
7
+ import ITText from "@/components/atoms/text/text";
9
8
 
10
9
  /**
11
10
  * ITToast — floating notification with automatic dismiss and severity-based styling.
@@ -1,7 +1,7 @@
1
1
  import { Meta, Title, Description, Primary, Controls, Stories } from '@storybook/blocks';
2
- import * as Stories from './topbar.stories';
2
+ import * as StoriesData from './topbar.stories';
3
3
 
4
- <Meta of={Stories} />
4
+ <Meta of={StoriesData} />
5
5
 
6
6
  # ITTopBar
7
7
 
@@ -1,5 +1,5 @@
1
1
  import type { Meta, StoryObj } from '@storybook/react';
2
- import ITTopBar from './topbar';
2
+ import ITTopBar from '@/components/organisms/topbar/topbar';
3
3
  import { FaShieldAlt, FaChartBar, FaUserCog } from 'react-icons/fa';
4
4
 
5
5
  const meta: Meta<typeof ITTopBar> = {
@@ -13,7 +13,6 @@ const meta: Meta<typeof ITTopBar> = {
13
13
  },
14
14
  },
15
15
  },
16
- tags: ['autodocs'],
17
16
  };
18
17
 
19
18
  export default meta;
@@ -1,8 +1,8 @@
1
1
  import { FaUserCircle, FaBars } from "react-icons/fa";
2
- import useClickOutside from "../../hooks/useClickOutside";
2
+ import useClickOutside from "@/hooks/useClickOutside";
3
3
  import { useRef, useState } from "react";
4
4
  import { ITTopBarProps } from "./topbar.props";
5
- import ITText from "@/components/text/text";
5
+ import ITText from "@/components/atoms/text/text";
6
6
 
7
7
  /**
8
8
  * ITTopBar — sticky top navigation bar with logo, nav items, and user avatar dropdown.
@@ -60,8 +60,8 @@ export default function ITTopBar({
60
60
  <header
61
61
  className="sticky top-0 z-40 backdrop-blur-md transition-all duration-300"
62
62
  style={{
63
- backgroundColor: "var(--topbar-bg, rgba(255, 255, 255, 0.9))",
64
- borderBottom: "1px solid var(--topbar-border, rgba(15, 23, 42, 0.06))",
63
+ backgroundColor: "var(--it-topbar-bg, rgba(255, 255, 255, 0.9))",
64
+ borderBottom: "1px solid var(--it-topbar-border, rgba(15, 23, 42, 0.06))",
65
65
  boxShadow: "var(--shadow-xs)",
66
66
  }}
67
67
  >
@@ -75,9 +75,9 @@ export default function ITTopBar({
75
75
  <button
76
76
  className="lg:hidden p-2.5 rounded-xl transition-colors duration-200"
77
77
  style={{
78
- color: "var(--topbar-icon, #64748b)",
78
+ color: "var(--it-topbar-icon, #64748b)",
79
79
  }}
80
- onMouseEnter={(e) => e.currentTarget.style.backgroundColor = "var(--topbar-user-hover, #f1f5f9)"}
80
+ onMouseEnter={(e) => e.currentTarget.style.backgroundColor = "var(--it-topbar-user-hover, #f1f5f9)"}
81
81
  onMouseLeave={(e) => e.currentTarget.style.backgroundColor = "transparent"}
82
82
  onClick={onToggleMobileMenu}
83
83
  >
@@ -96,7 +96,7 @@ export default function ITTopBar({
96
96
  {logoText && (
97
97
  <ITText as="span"
98
98
  className="text-[1.15rem] font-bold tracking-tight"
99
- style={{ color: "var(--topbar-text, #0f172a)" }}
99
+ style={{ color: "var(--it-topbar-text, #0f172a)" }}
100
100
  >
101
101
  {logoText}
102
102
  </ITText>
@@ -105,19 +105,19 @@ export default function ITTopBar({
105
105
 
106
106
  {/* Top Navigation Items (Desktop) */}
107
107
  {navItems && navItems.length > 0 && (
108
- <nav className="hidden md:flex ml-8 space-x-1 border-l pl-8" style={{ borderColor: "var(--topbar-border, rgba(15, 23, 42, 0.06))" }}>
108
+ <nav className="hidden md:flex ml-8 space-x-1 border-l pl-8" style={{ borderColor: "var(--it-topbar-border, rgba(15, 23, 42, 0.06))" }}>
109
109
  {navItems.map((item) => (
110
110
  <button
111
111
  key={item.id}
112
112
  onClick={() => onNavItemClick?.(item.id)}
113
113
  className="px-4 py-2 rounded-lg font-medium text-[0.9rem] transition-all duration-200 ease-[cubic-bezier(0.2,0,0,1)]"
114
- style={{ color: "var(--topbar-text, #475569)" }}
114
+ style={{ color: "var(--it-topbar-text, #475569)" }}
115
115
  onMouseEnter={(e) => {
116
- e.currentTarget.style.color = "var(--topbar-text, #0f172a)";
117
- e.currentTarget.style.backgroundColor = "var(--topbar-user-hover, #f1f5f9)";
116
+ e.currentTarget.style.color = "var(--it-topbar-text, #0f172a)";
117
+ e.currentTarget.style.backgroundColor = "var(--it-topbar-user-hover, #f1f5f9)";
118
118
  }}
119
119
  onMouseLeave={(e) => {
120
- e.currentTarget.style.color = "var(--topbar-text, #475569)";
120
+ e.currentTarget.style.color = "var(--it-topbar-text, #475569)";
121
121
  e.currentTarget.style.backgroundColor = "transparent";
122
122
  }}
123
123
  >
@@ -138,10 +138,10 @@ export default function ITTopBar({
138
138
  type="button"
139
139
  className="flex items-center gap-3 rounded-full pl-2 pr-4 py-1.5 transition-all duration-200 ease-[cubic-bezier(0.2,0,0,1)] border border-transparent hover:border-secondary-200"
140
140
  style={{
141
- backgroundColor: isUserMenuOpen ? "var(--topbar-user-hover, #f1f5f9)" : "transparent",
141
+ backgroundColor: isUserMenuOpen ? "var(--it-topbar-user-hover, #f1f5f9)" : "transparent",
142
142
  }}
143
143
  onMouseEnter={(e) => {
144
- if (!isUserMenuOpen) e.currentTarget.style.backgroundColor = "var(--topbar-user-hover, #f1f5f9)";
144
+ if (!isUserMenuOpen) e.currentTarget.style.backgroundColor = "var(--it-topbar-user-hover, #f1f5f9)";
145
145
  }}
146
146
  onMouseLeave={(e) => {
147
147
  if (!isUserMenuOpen) e.currentTarget.style.backgroundColor = "transparent";
@@ -158,7 +158,7 @@ export default function ITTopBar({
158
158
  />
159
159
  ) : (
160
160
  <div className="w-9 h-9 rounded-full bg-slate-100 flex items-center justify-center ring-2 ring-white shadow-sm">
161
- <FaUserCircle className="w-6 h-6" style={{ color: "var(--topbar-icon, #94a3b8)" }} />
161
+ <FaUserCircle className="w-6 h-6" style={{ color: "var(--it-topbar-icon, #94a3b8)" }} />
162
162
  </div>
163
163
  )}
164
164
  {/* Active dot indicator */}
@@ -169,13 +169,13 @@ export default function ITTopBar({
169
169
  <div className="hidden sm:flex flex-col text-left py-0.5">
170
170
  <ITText as="span"
171
171
  className="font-semibold text-[0.85rem] leading-tight"
172
- style={{ color: "var(--topbar-user-text, #0f172a)" }}
172
+ style={{ color: "var(--it-topbar-user-text, #0f172a)" }}
173
173
  >
174
174
  {userMenu.userName}
175
175
  </ITText>
176
176
  <ITText as="span"
177
177
  className="text-[0.7rem] font-medium"
178
- style={{ color: "var(--topbar-user-subtitle, #64748b)" }}
178
+ style={{ color: "var(--it-topbar-user-subtitle, #64748b)" }}
179
179
  >
180
180
  {userMenu.userEmail}
181
181
  </ITText>
@@ -190,16 +190,16 @@ export default function ITTopBar({
190
190
  ${isUserMenuOpen ? "scale-100 opacity-100 translate-y-0" : "scale-95 opacity-0 -translate-y-2 pointer-events-none"}
191
191
  `}
192
192
  style={{
193
- backgroundColor: "var(--topbar-user-dropdown-bg, #ffffff)",
194
- border: "1px solid var(--topbar-user-dropdown-border, #f1f5f9)"
193
+ backgroundColor: "var(--it-topbar-user-dropdown-bg, #ffffff)",
194
+ border: "1px solid var(--it-topbar-user-dropdown-border, #f1f5f9)"
195
195
  }}
196
196
  >
197
197
  {/* Dropdown Header */}
198
- <div className="px-5 py-4 border-b" style={{ borderColor: "var(--topbar-user-dropdown-border, #f1f5f9)", backgroundColor: "var(--topbar-user-bg, #f8fafc)" }}>
199
- <ITText as="span" className="block font-bold text-[0.9rem]" style={{ color: "var(--topbar-user-text, #0f172a)" }}>
198
+ <div className="px-5 py-4 border-b" style={{ borderColor: "var(--it-topbar-user-dropdown-border, #f1f5f9)", backgroundColor: "var(--it-topbar-user-bg, #f8fafc)" }}>
199
+ <ITText as="span" className="block font-bold text-[0.9rem]" style={{ color: "var(--it-topbar-user-text, #0f172a)" }}>
200
200
  {userMenu.userName}
201
201
  </ITText>
202
- <ITText as="span" className="block text-xs font-medium truncate mt-0.5" style={{ color: "var(--topbar-user-subtitle, #64748b)" }}>
202
+ <ITText as="span" className="block text-xs font-medium truncate mt-0.5" style={{ color: "var(--it-topbar-user-subtitle, #64748b)" }}>
203
203
  {userMenu.userEmail}
204
204
  </ITText>
205
205
  </div>
@@ -215,14 +215,14 @@ export default function ITTopBar({
215
215
  <div className="h-px bg-slate-100 my-1 mx-2"></div>
216
216
  )}
217
217
  <button
218
- onClick={(e) => {
218
+ onClick={() => {
219
219
  m.onClick();
220
220
  setIsUserMenuOpen(false);
221
221
  }}
222
222
  className="block w-full text-left px-3 py-2.5 rounded-xl text-[0.875rem] font-medium transition-colors duration-150"
223
- style={{ color: isDestructive ? 'var(--color-danger-500)' : "var(--topbar-user-text, #334155)" }}
223
+ style={{ color: isDestructive ? 'var(--color-danger-500)' : "var(--it-topbar-user-text, #334155)" }}
224
224
  onMouseEnter={(e) => {
225
- e.currentTarget.style.backgroundColor = isDestructive ? 'var(--color-danger-50)' : "var(--topbar-user-item-hover, #f8fafc)";
225
+ e.currentTarget.style.backgroundColor = isDestructive ? 'var(--color-danger-50)' : "var(--it-topbar-user-item-hover, #f8fafc)";
226
226
  }}
227
227
  onMouseLeave={(e) => {
228
228
  e.currentTarget.style.backgroundColor = "transparent";
@@ -1,7 +1,7 @@
1
1
  import { Meta, Title, Description, Primary, Controls, Stories } from '@storybook/blocks';
2
- import * as Stories from './tripleFilter.stories';
2
+ import * as StoriesData from './tripleFilter.stories';
3
3
 
4
- <Meta of={Stories} />
4
+ <Meta of={StoriesData} />
5
5
 
6
6
  # ITTripleFilter
7
7
 
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import { ColorsTypes } from "@/types/colors.types";
3
2
 
4
3
  export interface ITTripleFilterOption<T> {
@@ -4,7 +4,6 @@ import ITTripleFilter from './tripleFilter';
4
4
  const meta: Meta<typeof ITTripleFilter> = {
5
5
  title: 'Components/ITTripleFilter',
6
6
  component: ITTripleFilter,
7
- tags: ['autodocs'],
8
7
  };
9
8
 
10
9
  export default meta;
@@ -1,7 +1,7 @@
1
1
  import clsx from "clsx";
2
2
  import { ITTripleFilterProps } from "./tripleFilter.props";
3
3
  import { ColorsTypes } from "@/types/colors.types";
4
- import ITText from "@/components/text/text";
4
+ import ITText from "@/components/atoms/text/text";
5
5
 
6
6
  const colorMap: Record<ColorsTypes, string> = {
7
7
  primary: "text-primary-600",
@@ -1,7 +1,7 @@
1
1
  import { Meta, Title, Description, Primary, Controls, Stories } from '@storybook/blocks';
2
- import * as Stories from './layout.stories';
2
+ import * as StoriesData from './layout.stories';
3
3
 
4
- <Meta of={Stories} />
4
+ <Meta of={StoriesData} />
5
5
 
6
6
  # ITLayout
7
7
 
@@ -1,5 +1,5 @@
1
- import { ITTopBarProps } from "../topbar/topbar.props";
2
- import { ITSidebarProps } from "../sidebar/sidebar.props";
1
+ import { ITTopBarProps } from "@/components/organisms/topbar/topbar.props";
2
+ import { ITSidebarProps } from "@/components/organisms/sidebar/sidebar.props";
3
3
 
4
4
  export interface ITLayoutProps {
5
5
  /** Top bar configuration and props */
@@ -1,5 +1,5 @@
1
1
  import type { Meta, StoryObj } from '@storybook/react';
2
- import ITLayout from './layout';
2
+ import ITLayout from '@/components/templates/layout/layout';
3
3
  import { FaHome, FaUsers, FaChartBar, FaCog, FaShieldAlt } from 'react-icons/fa';
4
4
 
5
5
  const meta: Meta<typeof ITLayout> = {
@@ -17,7 +17,6 @@ const meta: Meta<typeof ITLayout> = {
17
17
  },
18
18
  },
19
19
  },
20
- tags: ['autodocs'],
21
20
  };
22
21
 
23
22
  export default meta;
@@ -1,7 +1,7 @@
1
1
  import { useState } from "react";
2
2
  import clsx from "clsx";
3
- import ITTopBar from "../topbar/topbar";
4
- import ITSidebar from "../sidebar/sidebar";
3
+ import ITTopBar from "@/components/organisms/topbar/topbar";
4
+ import ITSidebar from "@/components/organisms/sidebar/sidebar";
5
5
  import { ITLayoutProps } from "./layout.props";
6
6
  import { theme } from "@/theme/theme";
7
7
 
@@ -1,7 +1,7 @@
1
1
  import { Meta, Title, Description, Primary, Controls, Stories } from '@storybook/blocks';
2
- import * as Stories from './page.stories';
2
+ import * as StoriesData from './page.stories';
3
3
 
4
- <Meta of={Stories} />
4
+ <Meta of={StoriesData} />
5
5
 
6
6
  # ITPage
7
7
 
@@ -1,5 +1,5 @@
1
1
  import { ReactNode } from "react";
2
- import { ITBreadcrumbItem } from "../breadcrumbs/breadcrumbs.props";
2
+ import { ITBreadcrumbItem } from "@/components/molecules/breadcrumbs/breadcrumbs.props";
3
3
 
4
4
  /** Props for the ITPage component. */
5
5
  export interface ITPageProps {