@axzydev/axzy_ui_system 1.2.13 → 1.2.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (260) hide show
  1. package/README.md +43 -0
  2. package/dist/index.cjs +6503 -6398
  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 +6519 -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 +11 -9
  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
@@ -3,8 +3,8 @@ import clsx from "clsx";
3
3
  import { ITInputProps } from "./input.props";
4
4
  import { KeyboardEvent, useState, useEffect, useRef, useCallback } from "react";
5
5
  import { theme } from "@/theme/theme";
6
- import { disabledOverlay, iconAbsoluteLeft, iconAbsoluteRight, inputError, inputLabel } from "@/utils/styles";
7
- import ITText from "@/components/text/text";
6
+ import { disabledOverlay, iconAbsoluteLeft, iconAbsoluteRight, inputError, inputLabel, inputFieldStyle } from "@/utils/styles";
7
+ import ITText from "@/components/atoms/text/text";
8
8
 
9
9
  /**
10
10
  * Text input component with label, validation error display, icon slots,
@@ -65,7 +65,8 @@ export default function ITInput({
65
65
  min,
66
66
  max,
67
67
  readOnly = false,
68
- focusContent
68
+ focusContent,
69
+ size = "md"
69
70
  }: ITInputProps) {
70
71
  const isCheckboxOrRadio = type === "checkbox" || type === "radio";
71
72
  const isNumberType = type === "number";
@@ -83,17 +84,7 @@ export default function ITInput({
83
84
  const inputTheme = (theme as any).input || {};
84
85
 
85
86
  const getStyle = () => {
86
- const style: React.CSSProperties = {
87
- backgroundColor: inputTheme.backgroundColor,
88
- borderColor: inputTheme.borderColor,
89
- borderRadius: inputTheme.borderRadius,
90
- padding: inputTheme.padding,
91
- fontSize: inputTheme.fontSize,
92
- borderWidth: '1px',
93
- borderStyle: 'solid',
94
- transition: 'all 0.2s',
95
- color: 'var(--input-text-color, var(--color-secondary-900))', // Theme-aware text color
96
- };
87
+ const style = inputFieldStyle(inputTheme, size);
97
88
 
98
89
  if (disabled) {
99
90
  style.backgroundColor = inputTheme.disabled?.backgroundColor || style.backgroundColor;
@@ -1,7 +1,7 @@
1
1
  import { Meta, Title, Description, Primary, Controls, Stories } from '@storybook/blocks';
2
- import * as Stories from './loader.stories';
2
+ import * as StoriesData from './loader.stories';
3
3
 
4
- <Meta of={Stories} />
4
+ <Meta of={StoriesData} />
5
5
 
6
6
  # ITLoader
7
7
 
@@ -1,5 +1,5 @@
1
1
  import type { Meta, StoryObj } from "@storybook/react";
2
- import ITLoader from "./loader";
2
+ import ITLoader from "@/components/atoms/loader/loader";
3
3
 
4
4
  const meta: Meta<typeof ITLoader> = {
5
5
  title: "Components/Feedback/ITLoader",
@@ -7,7 +7,6 @@ const meta: Meta<typeof ITLoader> = {
7
7
  parameters: {
8
8
  layout: "centered",
9
9
  },
10
- tags: ["autodocs"],
11
10
  argTypes: {
12
11
  size: {
13
12
  control: "select",
@@ -82,7 +81,7 @@ export const AllColors: Story = {
82
81
  };
83
82
 
84
83
  export const AllVariants: Story = {
85
- render: (args) => (
84
+ render: () => (
86
85
  <div className="flex flex-col gap-8 items-center">
87
86
  <div className="flex gap-4 items-center">
88
87
  <span className="w-20 text-sm font-bold text-gray-500">Spinner</span>
@@ -1,7 +1,7 @@
1
1
  import { theme } from "@/theme/theme";
2
2
  import { LoaderSize, sizeClasses } from "@/types/loader.types";
3
3
  import { LoaderProps } from "./loader.props";
4
- import ITText from "@/components/text/text";
4
+ import ITText from "@/components/atoms/text/text";
5
5
 
6
6
  /**
7
7
  * Loading indicators with multiple animation types: spinner, dots, pulse,
@@ -1,7 +1,7 @@
1
1
  import { Meta, Title, Description, Primary, Controls, Stories } from '@storybook/blocks';
2
- import * as Stories from './popover.stories';
2
+ import * as StoriesData from './popover.stories';
3
3
 
4
- <Meta of={Stories} />
4
+ <Meta of={StoriesData} />
5
5
 
6
6
  # ITPopover
7
7
 
@@ -1,12 +1,11 @@
1
1
  import type { Meta, StoryObj } from "@storybook/react";
2
- import ITPopover from "./popover";
3
- import ITButton from "../button/button";
4
- import ITStack from "../stack/stack";
2
+ import ITPopover from "@/components/atoms/popover/popover";
3
+ import ITButton from "@/components/atoms/button/button";
4
+ import ITStack from "@/components/atoms/stack/stack";
5
5
 
6
6
  const meta: Meta<typeof ITPopover> = {
7
7
  title: "Components/Overlay/ITPopover",
8
8
  component: ITPopover,
9
- tags: ["autodocs"],
10
9
  };
11
10
 
12
11
  export default meta;
@@ -1,7 +1,7 @@
1
1
  import { Meta, Title, Description, Primary, Controls, Stories } from '@storybook/blocks';
2
- import * as Stories from './progress.stories';
2
+ import * as StoriesData from './progress.stories';
3
3
 
4
- <Meta of={Stories} />
4
+ <Meta of={StoriesData} />
5
5
 
6
6
  # ITProgress
7
7
 
@@ -1,12 +1,11 @@
1
1
  import type { Meta, StoryObj } from "@storybook/react";
2
2
  import { useState } from "react";
3
- import ITProgress from "./progress";
4
- import ITButton from "../button/button";
3
+ import ITProgress from "@/components/atoms/progress/progress";
4
+ import ITButton from "@/components/atoms/button/button";
5
5
 
6
6
  const meta: Meta<typeof ITProgress> = {
7
7
  title: "Components/Feedback/ITProgress",
8
8
  component: ITProgress,
9
- tags: ["autodocs"],
10
9
  };
11
10
 
12
11
  export default meta;
@@ -1,7 +1,7 @@
1
1
  import { Meta, Title, Description, Primary, Controls, Stories } from '@storybook/blocks';
2
- import * as Stories from './radio.stories';
2
+ import * as StoriesData from './radio.stories';
3
3
 
4
- <Meta of={Stories} />
4
+ <Meta of={StoriesData} />
5
5
 
6
6
  # ITRadioGroup
7
7
 
@@ -1,12 +1,10 @@
1
1
  import type { Meta, StoryObj } from "@storybook/react";
2
2
  import { useState } from "react";
3
- import ITRadioGroup from "./radio";
4
- import ITStack from "../stack/stack";
3
+ import ITRadioGroup from "@/components/atoms/radio/radio";
5
4
 
6
5
  const meta: Meta<typeof ITRadioGroup> = {
7
6
  title: "Components/Inputs/ITRadioGroup",
8
7
  component: ITRadioGroup,
9
- tags: ["autodocs"],
10
8
  };
11
9
 
12
10
  export default meta;
@@ -1,6 +1,6 @@
1
1
  import clsx from "clsx";
2
2
  import { ITRadioGroupProps } from "./radio.props";
3
- import ITText from "@/components/text/text";
3
+ import ITText from "@/components/atoms/text/text";
4
4
 
5
5
  /**
6
6
  * Radio button group with configurable layout direction and themed selection styling.
@@ -1,7 +1,7 @@
1
1
  import { Meta, Title, Description, Primary, Controls, Stories } from '@storybook/blocks';
2
- import * as Stories from './segmented-control.stories';
2
+ import * as StoriesData from './segmented-control.stories';
3
3
 
4
- <Meta of={Stories} />
4
+ <Meta of={StoriesData} />
5
5
 
6
6
  # ITSegmentedControl
7
7
 
@@ -1,12 +1,11 @@
1
1
  import type { Meta, StoryObj } from "@storybook/react";
2
2
  import { useState } from "react";
3
3
  import { FaList, FaTh } from "react-icons/fa";
4
- import ITSegmentedControl from "./segmented-control";
4
+ import ITSegmentedControl from "@/components/atoms/segmented-control/segmented-control";
5
5
 
6
6
  const meta: Meta<typeof ITSegmentedControl> = {
7
7
  title: "Components/Inputs/ITSegmentedControl",
8
8
  component: ITSegmentedControl,
9
- tags: ["autodocs"],
10
9
  };
11
10
 
12
11
  export default meta;
@@ -1,6 +1,6 @@
1
1
  import clsx from "clsx";
2
2
  import { ITSegmentedControlProps } from "./segmented-control.props";
3
- import ITText from "@/components/text/text";
3
+ import ITText from "@/components/atoms/text/text";
4
4
 
5
5
  const sizeMap = {
6
6
  sm: { button: "px-2.5 py-1.5 text-[11px]", container: "p-0.5" },
@@ -1,7 +1,7 @@
1
1
  import { Meta, Title, Description, Primary, Controls, Stories } from '@storybook/blocks';
2
- import * as Stories from './skeleton.stories';
2
+ import * as StoriesData from './skeleton.stories';
3
3
 
4
- <Meta of={Stories} />
4
+ <Meta of={StoriesData} />
5
5
 
6
6
  # ITSkeleton
7
7
 
@@ -1,11 +1,10 @@
1
1
  import type { Meta, StoryObj } from "@storybook/react";
2
- import ITSkeleton from "./skeleton";
3
- import ITStack from "../stack/stack";
2
+ import ITSkeleton from "@/components/atoms/skeleton/skeleton";
3
+ import ITStack from "@/components/atoms/stack/stack";
4
4
 
5
5
  const meta: Meta<typeof ITSkeleton> = {
6
6
  title: "Components/Feedback/ITSkeleton",
7
7
  component: ITSkeleton,
8
- tags: ["autodocs"],
9
8
  };
10
9
 
11
10
  export default meta;
@@ -1,7 +1,7 @@
1
1
  import { Meta, Title, Description, Primary, Controls, Stories } from '@storybook/blocks';
2
- import * as Stories from './slide.stories';
2
+ import * as StoriesData from './slide.stories';
3
3
 
4
- <Meta of={Stories} />
4
+ <Meta of={StoriesData} />
5
5
 
6
6
  # ITSlideToggle
7
7
 
@@ -1,5 +1,5 @@
1
1
  import type { Meta, StoryObj } from "@storybook/react";
2
- import ITSlideToggle from "./slide";
2
+ import ITSlideToggle from "@/components/atoms/slide/slide";
3
3
  import { useState } from "react";
4
4
 
5
5
  const meta: Meta<typeof ITSlideToggle> = {
@@ -8,7 +8,6 @@ const meta: Meta<typeof ITSlideToggle> = {
8
8
  parameters: {
9
9
  layout: "centered",
10
10
  },
11
- tags: ["autodocs"],
12
11
  argTypes: {
13
12
  activeColor: {
14
13
  control: "select",
@@ -1,7 +1,7 @@
1
1
  import { Meta, Title, Description, Primary, Controls, Stories } from '@storybook/blocks';
2
- import * as Stories from './slider.stories';
2
+ import * as StoriesData from './slider.stories';
3
3
 
4
- <Meta of={Stories} />
4
+ <Meta of={StoriesData} />
5
5
 
6
6
  # ITSlider
7
7
 
@@ -1,11 +1,10 @@
1
1
  import type { Meta, StoryObj } from "@storybook/react";
2
- import ITSlider from "./slider";
2
+ import ITSlider from "@/components/atoms/slider/slider";
3
3
  import { useState } from "react";
4
4
 
5
5
  const meta: Meta<typeof ITSlider> = {
6
6
  title: "Components/Inputs/ITSlider",
7
7
  component: ITSlider,
8
- tags: ["autodocs"],
9
8
  };
10
9
 
11
10
  export default meta;
@@ -1,6 +1,6 @@
1
1
  import clsx from "clsx";
2
2
  import { ITSliderProps } from "./slider.props";
3
- import ITText from "@/components/text/text";
3
+ import ITText from "@/components/atoms/text/text";
4
4
 
5
5
  /**
6
6
  * Range slider control with min/max/step and optional label displaying the current value.
@@ -1,7 +1,7 @@
1
1
  import { Meta, Title, Description, Primary, Controls, Stories } from '@storybook/blocks';
2
- import * as Stories from './stack.stories';
2
+ import * as StoriesData from './stack.stories';
3
3
 
4
- <Meta of={Stories} />
4
+ <Meta of={StoriesData} />
5
5
 
6
6
  # ITStack
7
7
 
@@ -1,11 +1,10 @@
1
1
  import type { Meta, StoryObj } from "@storybook/react";
2
2
  import { useState } from "react";
3
- import ITStack from "./stack";
3
+ import ITStack from "@/components/atoms/stack/stack";
4
4
 
5
5
  const meta: Meta<typeof ITStack> = {
6
6
  title: "Layout/ITStack",
7
7
  component: ITStack,
8
- tags: ["autodocs"],
9
8
  argTypes: {
10
9
  direction: {
11
10
  control: "select",
@@ -262,7 +261,7 @@ export const SectionWithDividers: Story = {
262
261
  render: () => (
263
262
  <div className="bg-white dark:bg-slate-800 rounded-xl border border-slate-200 dark:border-slate-700 w-full max-w-sm">
264
263
  <ITStack spacing={0} divider={<div className="h-px bg-slate-100 dark:bg-slate-700" />}>
265
- {["Profile Settings", "Security & Privacy", "Notifications", "Billing & Plans", "API Keys"].map((item, i) => (
264
+ {["Profile Settings", "Security & Privacy", "Notifications", "Billing & Plans", "API Keys"].map((item) => (
266
265
  <div key={item} className="flex items-center justify-between py-3 px-4 hover:bg-slate-50 dark:hover:bg-slate-800/50 cursor-pointer transition-colors">
267
266
  <span className="text-sm text-slate-700 dark:text-slate-200">{item}</span>
268
267
  <span className="text-slate-300 dark:text-slate-600">→</span>
@@ -1,7 +1,7 @@
1
1
  import { Meta, Title, Description, Primary, Controls, Stories } from '@storybook/blocks';
2
- import * as Stories from './text.stories';
2
+ import * as StoriesData from './text.stories';
3
3
 
4
- <Meta of={Stories} />
4
+ <Meta of={StoriesData} />
5
5
 
6
6
  # ITText
7
7
 
@@ -1,11 +1,10 @@
1
1
  import type { Meta, StoryObj } from '@storybook/react';
2
- import ITText from './text';
2
+ import ITText from '@/components/atoms/text/text';
3
3
 
4
4
  const meta = {
5
5
  title: 'Components/Layout & Navigation/ITText',
6
6
  component: ITText,
7
7
  parameters: { layout: 'centered' },
8
- tags: ['autodocs'],
9
8
  argTypes: {
10
9
  as: {
11
10
  control: 'select',
@@ -1,7 +1,7 @@
1
1
  import { Meta, Title, Description, Primary, Controls, Stories } from '@storybook/blocks';
2
- import * as Stories from './textarea.stories';
2
+ import * as StoriesData from './textarea.stories';
3
3
 
4
- <Meta of={Stories} />
4
+ <Meta of={StoriesData} />
5
5
 
6
6
  # ITTextarea
7
7
 
@@ -1,5 +1,3 @@
1
- import { InputHTMLAttributes } from "react";
2
-
3
1
  export interface ITTextareaProps {
4
2
  /** Controlled value of the textarea. */
5
3
  value?: string;
@@ -1,11 +1,10 @@
1
1
  import type { Meta, StoryObj } from "@storybook/react";
2
2
  import { useState } from "react";
3
- import ITTextarea from "./textarea";
3
+ import ITTextarea from "@/components/atoms/textarea/textarea";
4
4
 
5
5
  const meta: Meta<typeof ITTextarea> = {
6
6
  title: "Components/Inputs/ITTextarea",
7
7
  component: ITTextarea,
8
- tags: ["autodocs"],
9
8
  };
10
9
 
11
10
  export default meta;
@@ -1,7 +1,7 @@
1
1
  import clsx from "clsx";
2
2
  import { ITTextareaProps } from "./textarea.props";
3
3
  import { inputLabel, inputError } from "@/utils/styles";
4
- import ITText from "@/components/text/text";
4
+ import ITText from "@/components/atoms/text/text";
5
5
 
6
6
  const resizeMap = {
7
7
  none: "resize-none",
@@ -1,7 +1,7 @@
1
1
  import { Meta, Title, Description, Primary, Controls, Stories } from '@storybook/blocks';
2
- import * as Stories from './tooltip.stories';
2
+ import * as StoriesData from './tooltip.stories';
3
3
 
4
- <Meta of={Stories} />
4
+ <Meta of={StoriesData} />
5
5
 
6
6
  # ITTooltip
7
7
 
@@ -1,11 +1,10 @@
1
1
  import type { Meta, StoryObj } from "@storybook/react";
2
- import ITTooltip from "./tooltip";
3
- import ITButton from "../button/button";
2
+ import ITTooltip from "@/components/atoms/tooltip/tooltip";
3
+ import ITButton from "@/components/atoms/button/button";
4
4
 
5
5
  const meta: Meta<typeof ITTooltip> = {
6
6
  title: "Components/Overlay/ITTooltip",
7
7
  component: ITTooltip,
8
- tags: ["autodocs"],
9
8
  };
10
9
 
11
10
  export default meta;
@@ -1,7 +1,7 @@
1
1
  import { useState } from "react";
2
2
  import clsx from "clsx";
3
3
  import { ITTooltipProps, TooltipPosition } from "./tooltip.props";
4
- import ITText from "@/components/text/text";
4
+ import ITText from "@/components/atoms/text/text";
5
5
 
6
6
  const positionClasses: Record<TooltipPosition, string> = {
7
7
  top: "bottom-full left-1/2 -translate-x-1/2 mb-2",
@@ -0,0 +1,202 @@
1
+ import type { Meta, StoryObj } from "@storybook/react";
2
+ import { useState } from "react";
3
+ import ITCard from "@/components/molecules/card/card";
4
+ import ITDatePicker from "@/components/molecules/date-picker/datePicker";
5
+ import ITInput from "@/components/atoms/input/input";
6
+ import ITTextarea from "@/components/atoms/textarea/textarea";
7
+ import ITSelect from "@/components/molecules/select/select";
8
+ import ITButton from "@/components/atoms/button/button";
9
+ import ITTable from "@/components/molecules/table/table";
10
+ import ITDialog from "@/components/organisms/dialog/dialog";
11
+ import ITText from "@/components/atoms/text/text";
12
+
13
+ /**
14
+ * Stories de validación de AISLAMIENTO CSS.
15
+ *
16
+ * Verifican que anidar componentes (p.ej. ITDatePicker dentro de ITCard) no
17
+ * produzca interferencia de estilos entre padre e hijo. La arquitectura
18
+ * garantiza esto porque cada componente estila SOLO su propio subárbol con
19
+ * clases/utilities propias, nunca con selectores de ancestro genéricos.
20
+ */
21
+ const meta = {
22
+ title: "Isolation/CSS Encapsulation",
23
+ parameters: {
24
+ layout: "padded",
25
+ docs: {
26
+ description: {
27
+ component:
28
+ "Validación de aislamiento: un componente hijo (ITDatePicker) dentro de un contenedor (ITCard) no debe heredar ni colisionar estilos del padre, y viceversa.",
29
+ },
30
+ },
31
+ },
32
+ } satisfies Meta;
33
+
34
+ export default meta;
35
+ type Story = StoryObj;
36
+
37
+ const DatePickerWrapper = () => {
38
+ const [date, setDate] = useState<Date>(new Date());
39
+ return (
40
+ <ITDatePicker
41
+ name="inside-card-date"
42
+ label="Fecha"
43
+ value={date}
44
+ onChange={(e: any) => setDate(e.target.value)}
45
+ />
46
+ );
47
+ };
48
+
49
+ const InputWrapper = () => {
50
+ const [value, setValue] = useState("");
51
+ return (
52
+ <ITInput
53
+ name="name"
54
+ label="Nombre"
55
+ placeholder="Escribe tu nombre"
56
+ value={value}
57
+ onChange={(e: any) => setValue(e.target.value)}
58
+ />
59
+ );
60
+ };
61
+
62
+ const TextareaWrapper = () => {
63
+ const [value, setValue] = useState("");
64
+ return (
65
+ <ITTextarea
66
+ name="notes"
67
+ label="Notas"
68
+ placeholder="Detalles..."
69
+ value={value}
70
+ onChange={(e: any) => setValue(e.target.value)}
71
+ />
72
+ );
73
+ };
74
+
75
+ const SelectWrapper = () => {
76
+ const [value, setValue] = useState("");
77
+ return (
78
+ <ITSelect
79
+ name="country"
80
+ label="País"
81
+ placeholder="Selecciona"
82
+ value={value}
83
+ options={[
84
+ { value: "mx", label: "México" },
85
+ { value: "us", label: "Estados Unidos" },
86
+ { value: "es", label: "España" },
87
+ ]}
88
+ onChange={(e: any) => setValue(e.target.value)}
89
+ />
90
+ );
91
+ };
92
+
93
+ export const ITDatePickerInsideCard: Story = {
94
+ render: () => (
95
+ <div className="grid grid-cols-1 md:grid-cols-2 gap-6">
96
+ <ITCard title="Card A">
97
+ <p className="mb-4 text-secondary-600">
98
+ Un ITDatePicker dentro de un ITCard. Sus estilos son independientes:
99
+ el popover del calendario, el input y el label no se ven afectados por
100
+ la tipografía/color del card.
101
+ </p>
102
+ <DatePickerWrapper />
103
+ </ITCard>
104
+ <ITCard title="Card B" onClick={() => {}}>
105
+ <p className="mb-4 text-secondary-600">
106
+ Card interactivo (hover). El date picker hermano debe seguir
107
+ comportándose igual, sin contaminación visual entre ambos cards.
108
+ </p>
109
+ <DatePickerWrapper />
110
+ </ITCard>
111
+ </div>
112
+ ),
113
+ };
114
+
115
+ export const FormControlsInsideCard: Story = {
116
+ render: () => (
117
+ <ITCard title="Formulario en Card">
118
+ <div className="grid grid-cols-1 md:grid-cols-2 gap-4">
119
+ <InputWrapper />
120
+ <SelectWrapper />
121
+ <DatePickerWrapper />
122
+ <TextareaWrapper />
123
+ </div>
124
+ <div className="mt-4 flex justify-end gap-2">
125
+ <ITButton variant="outlined" color="secondary" label="Cancelar" />
126
+ <ITButton variant="filled" color="primary" label="Guardar" />
127
+ </div>
128
+ </ITCard>
129
+ ),
130
+ };
131
+
132
+ export const ITDialogInsideCard: Story = {
133
+ render: () => {
134
+ const [open, setOpen] = useState(false);
135
+ return (
136
+ <ITCard title="Card con Diálogo">
137
+ <p className="mb-4 text-secondary-600">
138
+ Un ITDialog (fixed overlay) lanzado desde un ITCard. El overlay y su
139
+ contenido usan su propio stacking context y estilos.
140
+ </p>
141
+ <ITButton
142
+ variant="filled"
143
+ color="primary"
144
+ label="Abrir diálogo"
145
+ onClick={() => setOpen(true)}
146
+ />
147
+ <ITDialog
148
+ isOpen={open}
149
+ onClose={() => setOpen(false)}
150
+ title="Diálogo desde Card"
151
+ >
152
+ <p className="text-secondary-700">
153
+ Contenido del diálogo. Estilos propios, sin interferencia del card.
154
+ </p>
155
+ <div className="mt-4 flex justify-end">
156
+ <ITButton
157
+ variant="outlined"
158
+ color="secondary"
159
+ label="Cerrar"
160
+ onClick={() => setOpen(false)}
161
+ />
162
+ </div>
163
+ </ITDialog>
164
+ </ITCard>
165
+ );
166
+ },
167
+ };
168
+
169
+ export const ITTableInsideCard: Story = {
170
+ render: () => (
171
+ <ITCard title="Tabla en Card">
172
+ <ITTable
173
+ data={[
174
+ { id: 1, name: "Juan Pérez", city: "CDMX" },
175
+ { id: 2, name: "Ana García", city: "Guadalajara" },
176
+ { id: 3, name: "Luis Martínez", city: "Monterrey" },
177
+ ]}
178
+ columns={[
179
+ { key: "id", label: "ID", type: "number" },
180
+ { key: "name", label: "Nombre", type: "string" },
181
+ { key: "city", label: "Ciudad", type: "string" },
182
+ ]}
183
+ />
184
+ <ITText as="p" className="mt-3 text-sm text-secondary-500">
185
+ La tabla ocupa todo el ancho del card y conserva su propio estilo.
186
+ </ITText>
187
+ </ITCard>
188
+ ),
189
+ };
190
+
191
+ export const NestedCards: Story = {
192
+ render: () => (
193
+ <ITCard title="Card externo">
194
+ <p className="mb-4 text-secondary-600">
195
+ Cards anidados: el interno (interactivo) no altera el externo.
196
+ </p>
197
+ <ITCard title="Card interno" onClick={() => {}}>
198
+ <DatePickerWrapper />
199
+ </ITCard>
200
+ </ITCard>
201
+ ),
202
+ };
@@ -1,7 +1,7 @@
1
1
  import { Meta, Title, Description, Primary, Controls, Stories } from '@storybook/blocks';
2
- import * as Stories from './alert.stories';
2
+ import * as StoriesData from './alert.stories';
3
3
 
4
- <Meta of={Stories} />
4
+ <Meta of={StoriesData} />
5
5
 
6
6
  # ITAlert
7
7