@axzydev/axzy_ui_system 1.2.1 → 1.2.2

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 (202) hide show
  1. package/dist/index.css +82 -1
  2. package/dist/index.css.map +1 -1
  3. package/package.json +2 -2
  4. package/src/App.tsx +354 -0
  5. package/src/assets/logo.png +0 -0
  6. package/src/assets/react.svg +1 -0
  7. package/src/components/alert/alert.props.ts +13 -0
  8. package/src/components/alert/alert.stories.tsx +41 -0
  9. package/src/components/alert/alert.tsx +53 -0
  10. package/src/components/avatar/avatar.props.ts +14 -0
  11. package/src/components/avatar/avatar.stories.tsx +46 -0
  12. package/src/components/avatar/avatar.tsx +53 -0
  13. package/src/components/badget/badget.props.ts +12 -0
  14. package/src/components/badget/badget.stories.tsx +76 -0
  15. package/src/components/badget/badget.tsx +61 -0
  16. package/src/components/breadcrumbs/breadcrumbs.props.ts +13 -0
  17. package/src/components/breadcrumbs/breadcrumbs.stories.tsx +21 -0
  18. package/src/components/breadcrumbs/breadcrumbs.tsx +34 -0
  19. package/src/components/button/button.props.ts +18 -0
  20. package/src/components/button/button.stories.tsx +174 -0
  21. package/src/components/button/button.tsx +117 -0
  22. package/src/components/calendar/calendar.props.ts +33 -0
  23. package/src/components/calendar/calendar.stories.tsx +91 -0
  24. package/src/components/calendar/calendar.tsx +608 -0
  25. package/src/components/calendar/index.ts +3 -0
  26. package/src/components/card/card.props.ts +13 -0
  27. package/src/components/card/card.stories.tsx +58 -0
  28. package/src/components/card/card.tsx +79 -0
  29. package/src/components/checkbox/checkbox.props.ts +11 -0
  30. package/src/components/checkbox/checkbox.stories.tsx +54 -0
  31. package/src/components/checkbox/checkbox.tsx +52 -0
  32. package/src/components/confirm-dialog/confirm-dialog.props.ts +14 -0
  33. package/src/components/confirm-dialog/confirm-dialog.stories.tsx +33 -0
  34. package/src/components/confirm-dialog/confirm-dialog.tsx +45 -0
  35. package/src/components/data-table/ITDataTable.stories.tsx +213 -0
  36. package/src/components/data-table/dataTable.props.ts +69 -0
  37. package/src/components/data-table/dataTable.tsx +313 -0
  38. package/src/components/date-picker/date-picker.props.ts +30 -0
  39. package/src/components/date-picker/date-picker.stories.tsx +90 -0
  40. package/src/components/date-picker/datePicker.tsx +307 -0
  41. package/src/components/dialog/dialog.props.ts +9 -0
  42. package/src/components/dialog/dialog.stories.tsx +80 -0
  43. package/src/components/dialog/dialog.tsx +88 -0
  44. package/src/components/divider/divider.props.ts +8 -0
  45. package/src/components/divider/divider.stories.tsx +34 -0
  46. package/src/components/divider/divider.tsx +21 -0
  47. package/src/components/drawer/drawer.props.ts +14 -0
  48. package/src/components/drawer/drawer.stories.tsx +41 -0
  49. package/src/components/drawer/drawer.tsx +53 -0
  50. package/src/components/dropfile/dropfile.stories.tsx +75 -0
  51. package/src/components/dropfile/dropfile.tsx +407 -0
  52. package/src/components/empty-state/empty-state.props.ts +9 -0
  53. package/src/components/empty-state/empty-state.stories.tsx +20 -0
  54. package/src/components/empty-state/empty-state.tsx +21 -0
  55. package/src/components/flex/flex.props.ts +22 -0
  56. package/src/components/flex/flex.stories.tsx +71 -0
  57. package/src/components/flex/flex.tsx +79 -0
  58. package/src/components/form-builder/fieldRenderer.tsx +218 -0
  59. package/src/components/form-builder/formBuilder.context.tsx +70 -0
  60. package/src/components/form-builder/formBuilder.props.ts +43 -0
  61. package/src/components/form-builder/formBuilder.stories.tsx +317 -0
  62. package/src/components/form-builder/formBuilder.tsx +186 -0
  63. package/src/components/form-builder/useFormBuilder.ts +80 -0
  64. package/src/components/form-header/form-header.props.ts +5 -0
  65. package/src/components/form-header/form-header.tsx +38 -0
  66. package/src/components/grid/grid.props.ts +17 -0
  67. package/src/components/grid/grid.stories.tsx +72 -0
  68. package/src/components/grid/grid.tsx +69 -0
  69. package/src/components/image/image.props.ts +7 -0
  70. package/src/components/image/image.tsx +38 -0
  71. package/src/components/input/input.props.ts +49 -0
  72. package/src/components/input/input.stories.tsx +115 -0
  73. package/src/components/input/input.tsx +615 -0
  74. package/src/components/layout/layout.props.ts +10 -0
  75. package/src/components/layout/layout.stories.tsx +114 -0
  76. package/src/components/layout/layout.tsx +80 -0
  77. package/src/components/loader/loader.props.ts +8 -0
  78. package/src/components/loader/loader.stories.tsx +105 -0
  79. package/src/components/loader/loader.tsx +108 -0
  80. package/src/components/navbar/navbar.props.ts +37 -0
  81. package/src/components/navbar/navbar.tsx +328 -0
  82. package/src/components/page/page.props.ts +19 -0
  83. package/src/components/page/page.stories.tsx +98 -0
  84. package/src/components/page/page.tsx +90 -0
  85. package/src/components/page-header/page-header.props.ts +11 -0
  86. package/src/components/page-header/page-header.stories.tsx +61 -0
  87. package/src/components/page-header/page-header.tsx +62 -0
  88. package/src/components/pagination/pagination.props.ts +53 -0
  89. package/src/components/pagination/pagination.stories.tsx +111 -0
  90. package/src/components/pagination/pagination.tsx +241 -0
  91. package/src/components/popover/popover.props.ts +12 -0
  92. package/src/components/popover/popover.stories.tsx +25 -0
  93. package/src/components/popover/popover.tsx +45 -0
  94. package/src/components/progress/progress.props.ts +12 -0
  95. package/src/components/progress/progress.stories.tsx +40 -0
  96. package/src/components/progress/progress.tsx +52 -0
  97. package/src/components/radio/radio.props.ts +16 -0
  98. package/src/components/radio/radio.stories.tsx +50 -0
  99. package/src/components/radio/radio.tsx +58 -0
  100. package/src/components/search-select/index.ts +2 -0
  101. package/src/components/search-select/search-select.props.ts +46 -0
  102. package/src/components/search-select/search-select.stories.tsx +129 -0
  103. package/src/components/search-select/search-select.tsx +229 -0
  104. package/src/components/searchTable/components/EditableCell.tsx +149 -0
  105. package/src/components/searchTable/components/PaginationControls.tsx +86 -0
  106. package/src/components/searchTable/components/PaginationInfo.tsx +20 -0
  107. package/src/components/searchTable/components/SearchAndSortBar.tsx +53 -0
  108. package/src/components/searchTable/components/SearchInput.tsx +33 -0
  109. package/src/components/searchTable/components/SortButton.tsx +50 -0
  110. package/src/components/searchTable/components/TableEmptyState.tsx +22 -0
  111. package/src/components/searchTable/components/TableHeader.tsx +35 -0
  112. package/src/components/searchTable/components/TableHeaderCell.tsx +43 -0
  113. package/src/components/searchTable/components/TableRow.tsx +144 -0
  114. package/src/components/searchTable/searchTable.props.ts +56 -0
  115. package/src/components/searchTable/searchTable.tsx +187 -0
  116. package/src/components/segmented-control/segmented-control.props.ts +18 -0
  117. package/src/components/segmented-control/segmented-control.stories.tsx +63 -0
  118. package/src/components/segmented-control/segmented-control.tsx +52 -0
  119. package/src/components/select/select.props.ts +25 -0
  120. package/src/components/select/select.stories.tsx +86 -0
  121. package/src/components/select/select.tsx +150 -0
  122. package/src/components/sidebar/sidebar.props.ts +28 -0
  123. package/src/components/sidebar/sidebar.stories.tsx +117 -0
  124. package/src/components/sidebar/sidebar.tsx +313 -0
  125. package/src/components/skeleton/skeleton.props.ts +12 -0
  126. package/src/components/skeleton/skeleton.stories.tsx +30 -0
  127. package/src/components/skeleton/skeleton.tsx +45 -0
  128. package/src/components/slide/slide.props.ts +45 -0
  129. package/src/components/slide/slide.stories.tsx +121 -0
  130. package/src/components/slide/slide.tsx +109 -0
  131. package/src/components/slider/slider.props.ts +10 -0
  132. package/src/components/slider/slider.stories.tsx +30 -0
  133. package/src/components/slider/slider.tsx +49 -0
  134. package/src/components/stack/stack.props.ts +19 -0
  135. package/src/components/stack/stack.stories.tsx +79 -0
  136. package/src/components/stack/stack.tsx +79 -0
  137. package/src/components/stat-card/stat-card.props.ts +13 -0
  138. package/src/components/stat-card/stat-card.stories.tsx +41 -0
  139. package/src/components/stat-card/stat-card.tsx +44 -0
  140. package/src/components/stepper/stepper.css +26 -0
  141. package/src/components/stepper/stepper.props.ts +29 -0
  142. package/src/components/stepper/stepper.stories.tsx +155 -0
  143. package/src/components/stepper/stepper.tsx +227 -0
  144. package/src/components/table/table.props.ts +43 -0
  145. package/src/components/table/table.stories.tsx +189 -0
  146. package/src/components/table/table.tsx +376 -0
  147. package/src/components/tabs/tabs.props.ts +18 -0
  148. package/src/components/tabs/tabs.stories.tsx +32 -0
  149. package/src/components/tabs/tabs.tsx +74 -0
  150. package/src/components/text/text.props.ts +9 -0
  151. package/src/components/text/text.tsx +20 -0
  152. package/src/components/textarea/textarea.props.ts +15 -0
  153. package/src/components/textarea/textarea.stories.tsx +27 -0
  154. package/src/components/textarea/textarea.tsx +55 -0
  155. package/src/components/theme-provider/themeProvider.props.ts +28 -0
  156. package/src/components/theme-provider/themeProvider.tsx +1854 -0
  157. package/src/components/time-picker/timePicker.props.ts +16 -0
  158. package/src/components/time-picker/timePicker.stories.tsx +131 -0
  159. package/src/components/time-picker/timePicker.tsx +317 -0
  160. package/src/components/toast/toast.css +32 -0
  161. package/src/components/toast/toast.props.ts +13 -0
  162. package/src/components/toast/toast.stories.tsx +138 -0
  163. package/src/components/toast/toast.tsx +87 -0
  164. package/src/components/tooltip/tooltip.props.ts +11 -0
  165. package/src/components/tooltip/tooltip.stories.tsx +20 -0
  166. package/src/components/tooltip/tooltip.tsx +55 -0
  167. package/src/components/topbar/topbar.props.ts +21 -0
  168. package/src/components/topbar/topbar.stories.tsx +80 -0
  169. package/src/components/topbar/topbar.tsx +205 -0
  170. package/src/components/triple-filter/tripleFilter.props.ts +15 -0
  171. package/src/components/triple-filter/tripleFilter.stories.tsx +32 -0
  172. package/src/components/triple-filter/tripleFilter.tsx +50 -0
  173. package/src/hooks/useClickOutside.ts +21 -0
  174. package/src/hooks/useDebouncedSearch.ts +55 -0
  175. package/src/hooks/useEditableRow.ts +157 -0
  176. package/src/hooks/useTableState.ts +122 -0
  177. package/src/index.css +168 -0
  178. package/src/index.ts +165 -0
  179. package/src/main.tsx +9 -0
  180. package/src/showcases/DataShowcases.tsx +260 -0
  181. package/src/showcases/FeedbackShowcases.tsx +268 -0
  182. package/src/showcases/FormShowcases.tsx +1159 -0
  183. package/src/showcases/HomeShowcase.tsx +324 -0
  184. package/src/showcases/LayoutPrimitivesShowcases.tsx +569 -0
  185. package/src/showcases/NavigationShowcases.tsx +193 -0
  186. package/src/showcases/PageShowcases.tsx +207 -0
  187. package/src/showcases/ShowcaseLayout.tsx +139 -0
  188. package/src/showcases/StructureShowcases.tsx +152 -0
  189. package/src/types/badget.types.ts +37 -0
  190. package/src/types/button.types.ts +16 -0
  191. package/src/types/colors.types.ts +3 -0
  192. package/src/types/field.types.ts +103 -0
  193. package/src/types/formik.types.ts +15 -0
  194. package/src/types/input.types.ts +14 -0
  195. package/src/types/loader.types.ts +9 -0
  196. package/src/types/sizes.types.ts +1 -0
  197. package/src/types/table.types.ts +15 -0
  198. package/src/types/toast.types.ts +8 -0
  199. package/src/types/yup.types.ts +11 -0
  200. package/src/utils/color.utils.ts +99 -0
  201. package/src/utils/styles.ts +120 -0
  202. package/src/utils/table.utils.ts +10 -0
package/dist/index.css CHANGED
@@ -1,6 +1,87 @@
1
1
  /* src/index.css */
2
2
  @variant dark (&:is(.dark &));
3
- @theme { --animate-fadeIn: fadeIn 0.5s ease-out forwards; --animate-fade-in: fadeIn 0.5s ease-out forwards; --color-primary-50: var(--color-indigo-50); --color-primary-100: var(--color-indigo-100); --color-primary-200: var(--color-indigo-200); --color-primary-300: var(--color-indigo-300); --color-primary-400: var(--color-indigo-400); --color-primary-500: var(--color-indigo-500); --color-primary-600: var(--color-indigo-600); --color-primary-700: var(--color-indigo-700); --color-primary-800: var(--color-indigo-800); --color-primary-900: var(--color-indigo-900); --color-primary-950: var(--color-indigo-950); --color-secondary-50: var(--color-slate-50); --color-secondary-100: var(--color-slate-100); --color-secondary-200: var(--color-slate-200); --color-secondary-300: var(--color-slate-300); --color-secondary-400: var(--color-slate-400); --color-secondary-500: var(--color-slate-500); --color-secondary-600: var(--color-slate-600); --color-secondary-700: var(--color-slate-700); --color-secondary-800: var(--color-slate-800); --color-secondary-900: var(--color-slate-900); --color-secondary-950: var(--color-slate-950); --color-success-50: var(--color-emerald-50); --color-success-100: var(--color-emerald-100); --color-success-200: var(--color-emerald-200); --color-success-300: var(--color-emerald-300); --color-success-400: var(--color-emerald-400); --color-success-500: var(--color-emerald-500); --color-success-600: var(--color-emerald-600); --color-success-700: var(--color-emerald-700); --color-success-800: var(--color-emerald-800); --color-success-900: var(--color-emerald-900); --color-success-950: var(--color-emerald-950); --color-danger-50: var(--color-rose-50); --color-danger-100: var(--color-rose-100); --color-danger-200: var(--color-rose-200); --color-danger-300: var(--color-rose-300); --color-danger-400: var(--color-rose-400); --color-danger-500: var(--color-rose-500); --color-danger-600: var(--color-rose-600); --color-danger-700: var(--color-rose-700); --color-danger-800: var(--color-rose-800); --color-danger-900: var(--color-rose-900); --color-danger-950: var(--color-rose-950); --color-warning-50: var(--color-amber-50); --color-warning-100: var(--color-amber-100); --color-warning-200: var(--color-amber-200); --color-warning-300: var(--color-amber-300); --color-warning-400: var(--color-amber-400); --color-warning-500: var(--color-amber-500); --color-warning-600: var(--color-amber-600); --color-warning-700: var(--color-amber-700); --color-warning-800: var(--color-amber-800); --color-warning-900: var(--color-amber-900); --color-warning-950: var(--color-amber-950); --color-purple-50: var(--color-violet-50); --color-purple-100: var(--color-violet-100); --color-purple-200: var(--color-violet-200); --color-purple-300: var(--color-violet-300); --color-purple-400: var(--color-violet-400); --color-purple-500: var(--color-violet-500); --color-purple-600: var(--color-violet-600); --color-purple-700: var(--color-violet-700); --color-purple-800: var(--color-violet-800); --color-purple-900: var(--color-violet-900); --color-purple-950: var(--color-violet-950); --color-info-50: var(--color-sky-50); --color-info-100: var(--color-sky-100); --color-info-200: var(--color-sky-200); --color-info-300: var(--color-sky-300); --color-info-400: var(--color-sky-400); --color-info-500: var(--color-sky-500); --color-info-600: var(--color-sky-600); --color-info-700: var(--color-sky-700); --color-info-800: var(--color-sky-800); --color-info-900: var(--color-sky-900); --color-info-950: var(--color-sky-950); }
3
+ :root,
4
+ :host {
5
+ --animate-fadeIn: fadeIn 0.5s ease-out forwards;
6
+ --animate-fade-in: fadeIn 0.5s ease-out forwards;
7
+ --color-primary-50: #eff6ff;
8
+ --color-primary-100: #dbeafe;
9
+ --color-primary-200: #bfdbfe;
10
+ --color-primary-300: #93c5fd;
11
+ --color-primary-400: #60a5fa;
12
+ --color-primary-500: #3b82f6;
13
+ --color-primary-600: #2563eb;
14
+ --color-primary-700: #1d4ed8;
15
+ --color-primary-800: #1e40af;
16
+ --color-primary-900: #1e3a8a;
17
+ --color-primary-950: #172554;
18
+ --color-secondary-50: #f8fafc;
19
+ --color-secondary-100: #f1f5f9;
20
+ --color-secondary-200: #e2e8f0;
21
+ --color-secondary-300: #cbd5e1;
22
+ --color-secondary-400: #94a3b8;
23
+ --color-secondary-500: #64748b;
24
+ --color-secondary-600: #475569;
25
+ --color-secondary-700: #334155;
26
+ --color-secondary-800: #1e293b;
27
+ --color-secondary-900: #0f172a;
28
+ --color-secondary-950: #020617;
29
+ --color-success-50: #ecfdf5;
30
+ --color-success-100: #d1fae5;
31
+ --color-success-200: #a7f3d0;
32
+ --color-success-300: #6ee7b7;
33
+ --color-success-400: #34d399;
34
+ --color-success-500: #10b981;
35
+ --color-success-600: #059669;
36
+ --color-success-700: #047857;
37
+ --color-success-800: #065f46;
38
+ --color-success-900: #064e3b;
39
+ --color-success-950: #022c22;
40
+ --color-danger-50: #fff1f2;
41
+ --color-danger-100: #ffe4e6;
42
+ --color-danger-200: #fecdd3;
43
+ --color-danger-300: #fda4af;
44
+ --color-danger-400: #fb7185;
45
+ --color-danger-500: #f43f5e;
46
+ --color-danger-600: #e11d48;
47
+ --color-danger-700: #be123c;
48
+ --color-danger-800: #9f1239;
49
+ --color-danger-900: #881337;
50
+ --color-danger-950: #4c0519;
51
+ --color-warning-50: #fffbeb;
52
+ --color-warning-100: #fef3c7;
53
+ --color-warning-200: #fde68a;
54
+ --color-warning-300: #fcd34d;
55
+ --color-warning-400: #fbbf24;
56
+ --color-warning-500: #f59e0b;
57
+ --color-warning-600: #d97706;
58
+ --color-warning-700: #b45309;
59
+ --color-warning-800: #92400e;
60
+ --color-warning-900: #78350f;
61
+ --color-warning-950: #451a03;
62
+ --color-purple-50: #f5f3ff;
63
+ --color-purple-100: #ede9fe;
64
+ --color-purple-200: #ddd6fe;
65
+ --color-purple-300: #c4b5fd;
66
+ --color-purple-400: #a78bfa;
67
+ --color-purple-500: #8b5cf6;
68
+ --color-purple-600: #7c3aed;
69
+ --color-purple-700: #6d28d9;
70
+ --color-purple-800: #5b21b6;
71
+ --color-purple-900: #4c1d95;
72
+ --color-purple-950: #2e1065;
73
+ --color-info-50: #f0f9ff;
74
+ --color-info-100: #e0f2fe;
75
+ --color-info-200: #bae6fd;
76
+ --color-info-300: #7dd3fc;
77
+ --color-info-400: #38bdf8;
78
+ --color-info-500: #0ea5e9;
79
+ --color-info-600: #0284c7;
80
+ --color-info-700: #0369a1;
81
+ --color-info-800: #075985;
82
+ --color-info-900: #0c4a6e;
83
+ --color-info-950: #082f49;
84
+ }
4
85
  @keyframes fadeIn {
5
86
  from {
6
87
  opacity: 0;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.css","../src/components/toast/toast.css"],"sourcesContent":["@variant dark (&:is(.dark &));\n\n@theme {\n --animate-fadeIn: fadeIn 0.5s ease-out forwards;\n --animate-fade-in: fadeIn 0.5s ease-out forwards;\n\n --color-primary-50: var(--color-indigo-50);\n --color-primary-100: var(--color-indigo-100);\n --color-primary-200: var(--color-indigo-200);\n --color-primary-300: var(--color-indigo-300);\n --color-primary-400: var(--color-indigo-400);\n --color-primary-500: var(--color-indigo-500);\n --color-primary-600: var(--color-indigo-600);\n --color-primary-700: var(--color-indigo-700);\n --color-primary-800: var(--color-indigo-800);\n --color-primary-900: var(--color-indigo-900);\n --color-primary-950: var(--color-indigo-950);\n\n --color-secondary-50: var(--color-slate-50);\n --color-secondary-100: var(--color-slate-100);\n --color-secondary-200: var(--color-slate-200);\n --color-secondary-300: var(--color-slate-300);\n --color-secondary-400: var(--color-slate-400);\n --color-secondary-500: var(--color-slate-500);\n --color-secondary-600: var(--color-slate-600);\n --color-secondary-700: var(--color-slate-700);\n --color-secondary-800: var(--color-slate-800);\n --color-secondary-900: var(--color-slate-900);\n --color-secondary-950: var(--color-slate-950);\n\n --color-success-50: var(--color-emerald-50);\n --color-success-100: var(--color-emerald-100);\n --color-success-200: var(--color-emerald-200);\n --color-success-300: var(--color-emerald-300);\n --color-success-400: var(--color-emerald-400);\n --color-success-500: var(--color-emerald-500);\n --color-success-600: var(--color-emerald-600);\n --color-success-700: var(--color-emerald-700);\n --color-success-800: var(--color-emerald-800);\n --color-success-900: var(--color-emerald-900);\n --color-success-950: var(--color-emerald-950);\n\n --color-danger-50: var(--color-rose-50);\n --color-danger-100: var(--color-rose-100);\n --color-danger-200: var(--color-rose-200);\n --color-danger-300: var(--color-rose-300);\n --color-danger-400: var(--color-rose-400);\n --color-danger-500: var(--color-rose-500);\n --color-danger-600: var(--color-rose-600);\n --color-danger-700: var(--color-rose-700);\n --color-danger-800: var(--color-rose-800);\n --color-danger-900: var(--color-rose-900);\n --color-danger-950: var(--color-rose-950);\n\n --color-warning-50: var(--color-amber-50);\n --color-warning-100: var(--color-amber-100);\n --color-warning-200: var(--color-amber-200);\n --color-warning-300: var(--color-amber-300);\n --color-warning-400: var(--color-amber-400);\n --color-warning-500: var(--color-amber-500);\n --color-warning-600: var(--color-amber-600);\n --color-warning-700: var(--color-amber-700);\n --color-warning-800: var(--color-amber-800);\n --color-warning-900: var(--color-amber-900);\n --color-warning-950: var(--color-amber-950);\n\n --color-purple-50: var(--color-violet-50);\n --color-purple-100: var(--color-violet-100);\n --color-purple-200: var(--color-violet-200);\n --color-purple-300: var(--color-violet-300);\n --color-purple-400: var(--color-violet-400);\n --color-purple-500: var(--color-violet-500);\n --color-purple-600: var(--color-violet-600);\n --color-purple-700: var(--color-violet-700);\n --color-purple-800: var(--color-violet-800);\n --color-purple-900: var(--color-violet-900);\n --color-purple-950: var(--color-violet-950);\n\n --color-info-50: var(--color-sky-50);\n --color-info-100: var(--color-sky-100);\n --color-info-200: var(--color-sky-200);\n --color-info-300: var(--color-sky-300);\n --color-info-400: var(--color-sky-400);\n --color-info-500: var(--color-sky-500);\n --color-info-600: var(--color-sky-600);\n --color-info-700: var(--color-sky-700);\n --color-info-800: var(--color-sky-800);\n --color-info-900: var(--color-sky-900);\n --color-info-950: var(--color-sky-950);\n}\n\n@keyframes fadeIn {\n from { opacity: 0; transform: translateY(8px); }\n to { opacity: 1; transform: translateY(0); }\n}\n\n.col-span-1 { grid-column: span 1 / span 1; }\n.col-span-2 { grid-column: span 2 / span 2; }\n.col-span-3 { grid-column: span 3 / span 3; }\n.col-span-4 { grid-column: span 4 / span 4; }\n.col-span-5 { grid-column: span 5 / span 5; }\n.col-span-6 { grid-column: span 6 / span 6; }\n.col-span-7 { grid-column: span 7 / span 7; }\n.col-span-8 { grid-column: span 8 / span 8; }\n.col-span-9 { grid-column: span 9 / span 9; }\n.col-span-10 { grid-column: span 10 / span 10; }\n.col-span-11 { grid-column: span 11 / span 11; }\n.col-span-12 { grid-column: span 12 / span 12; }\n\n@media (width >= 40rem) {\n .sm\\:col-span-1 { grid-column: span 1 / span 1; }\n .sm\\:col-span-2 { grid-column: span 2 / span 2; }\n .sm\\:col-span-3 { grid-column: span 3 / span 3; }\n .sm\\:col-span-4 { grid-column: span 4 / span 4; }\n .sm\\:col-span-5 { grid-column: span 5 / span 5; }\n .sm\\:col-span-6 { grid-column: span 6 / span 6; }\n .sm\\:col-span-7 { grid-column: span 7 / span 7; }\n .sm\\:col-span-8 { grid-column: span 8 / span 8; }\n .sm\\:col-span-9 { grid-column: span 9 / span 9; }\n .sm\\:col-span-10 { grid-column: span 10 / span 10; }\n .sm\\:col-span-11 { grid-column: span 11 / span 11; }\n .sm\\:col-span-12 { grid-column: span 12 / span 12; }\n}\n\n@media (width >= 48rem) {\n .md\\:col-span-1 { grid-column: span 1 / span 1; }\n .md\\:col-span-2 { grid-column: span 2 / span 2; }\n .md\\:col-span-3 { grid-column: span 3 / span 3; }\n .md\\:col-span-4 { grid-column: span 4 / span 4; }\n .md\\:col-span-5 { grid-column: span 5 / span 5; }\n .md\\:col-span-6 { grid-column: span 6 / span 6; }\n .md\\:col-span-7 { grid-column: span 7 / span 7; }\n .md\\:col-span-8 { grid-column: span 8 / span 8; }\n .md\\:col-span-9 { grid-column: span 9 / span 9; }\n .md\\:col-span-10 { grid-column: span 10 / span 10; }\n .md\\:col-span-11 { grid-column: span 11 / span 11; }\n .md\\:col-span-12 { grid-column: span 12 / span 12; }\n}\n\n@media (width >= 64rem) {\n .lg\\:col-span-1 { grid-column: span 1 / span 1; }\n .lg\\:col-span-2 { grid-column: span 2 / span 2; }\n .lg\\:col-span-3 { grid-column: span 3 / span 3; }\n .lg\\:col-span-4 { grid-column: span 4 / span 4; }\n .lg\\:col-span-5 { grid-column: span 5 / span 5; }\n .lg\\:col-span-6 { grid-column: span 6 / span 6; }\n .lg\\:col-span-7 { grid-column: span 7 / span 7; }\n .lg\\:col-span-8 { grid-column: span 8 / span 8; }\n .lg\\:col-span-9 { grid-column: span 9 / span 9; }\n .lg\\:col-span-10 { grid-column: span 10 / span 10; }\n .lg\\:col-span-11 { grid-column: span 11 / span 11; }\n .lg\\:col-span-12 { grid-column: span 12 / span 12; }\n}\n\n@media (width >= 80rem) {\n .xl\\:col-span-1 { grid-column: span 1 / span 1; }\n .xl\\:col-span-2 { grid-column: span 2 / span 2; }\n .xl\\:col-span-3 { grid-column: span 3 / span 3; }\n .xl\\:col-span-4 { grid-column: span 4 / span 4; }\n .xl\\:col-span-5 { grid-column: span 5 / span 5; }\n .xl\\:col-span-6 { grid-column: span 6 / span 6; }\n .xl\\:col-span-7 { grid-column: span 7 / span 7; }\n .xl\\:col-span-8 { grid-column: span 8 / span 8; }\n .xl\\:col-span-9 { grid-column: span 9 / span 9; }\n .xl\\:col-span-10 { grid-column: span 10 / span 10; }\n .xl\\:col-span-11 { grid-column: span 11 / span 11; }\n .xl\\:col-span-12 { grid-column: span 12 / span 12; }\n}","/* Animación de entrada */\n@keyframes slideIn {\n from {\n transform: translateY(100%);\n opacity: 0;\n }\n to {\n transform: translateY(0);\n opacity: 1;\n }\n }\n \n /* Animación de salida */\n @keyframes slideOut {\n from {\n transform: translateY(0);\n opacity: 1;\n }\n to {\n transform: translateY(100%);\n opacity: 0;\n }\n }\n \n /* Aplicar animaciones */\n .toast-enter {\n animation: slideIn 0.3s ease-out;\n }\n \n .toast-exit {\n animation: slideOut 0.3s ease-out;\n }"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/index.css","../src/components/toast/toast.css"],"sourcesContent":["@variant dark (&:is(.dark &));\n\n:root, :host {\n --animate-fadeIn: fadeIn 0.5s ease-out forwards;\n --animate-fade-in: fadeIn 0.5s ease-out forwards;\n\n --color-primary-50: #eff6ff;\n --color-primary-100: #dbeafe;\n --color-primary-200: #bfdbfe;\n --color-primary-300: #93c5fd;\n --color-primary-400: #60a5fa;\n --color-primary-500: #3b82f6;\n --color-primary-600: #2563eb;\n --color-primary-700: #1d4ed8;\n --color-primary-800: #1e40af;\n --color-primary-900: #1e3a8a;\n --color-primary-950: #172554;\n\n --color-secondary-50: #f8fafc;\n --color-secondary-100: #f1f5f9;\n --color-secondary-200: #e2e8f0;\n --color-secondary-300: #cbd5e1;\n --color-secondary-400: #94a3b8;\n --color-secondary-500: #64748b;\n --color-secondary-600: #475569;\n --color-secondary-700: #334155;\n --color-secondary-800: #1e293b;\n --color-secondary-900: #0f172a;\n --color-secondary-950: #020617;\n\n --color-success-50: #ecfdf5;\n --color-success-100: #d1fae5;\n --color-success-200: #a7f3d0;\n --color-success-300: #6ee7b7;\n --color-success-400: #34d399;\n --color-success-500: #10b981;\n --color-success-600: #059669;\n --color-success-700: #047857;\n --color-success-800: #065f46;\n --color-success-900: #064e3b;\n --color-success-950: #022c22;\n\n --color-danger-50: #fff1f2;\n --color-danger-100: #ffe4e6;\n --color-danger-200: #fecdd3;\n --color-danger-300: #fda4af;\n --color-danger-400: #fb7185;\n --color-danger-500: #f43f5e;\n --color-danger-600: #e11d48;\n --color-danger-700: #be123c;\n --color-danger-800: #9f1239;\n --color-danger-900: #881337;\n --color-danger-950: #4c0519;\n\n --color-warning-50: #fffbeb;\n --color-warning-100: #fef3c7;\n --color-warning-200: #fde68a;\n --color-warning-300: #fcd34d;\n --color-warning-400: #fbbf24;\n --color-warning-500: #f59e0b;\n --color-warning-600: #d97706;\n --color-warning-700: #b45309;\n --color-warning-800: #92400e;\n --color-warning-900: #78350f;\n --color-warning-950: #451a03;\n\n --color-purple-50: #f5f3ff;\n --color-purple-100: #ede9fe;\n --color-purple-200: #ddd6fe;\n --color-purple-300: #c4b5fd;\n --color-purple-400: #a78bfa;\n --color-purple-500: #8b5cf6;\n --color-purple-600: #7c3aed;\n --color-purple-700: #6d28d9;\n --color-purple-800: #5b21b6;\n --color-purple-900: #4c1d95;\n --color-purple-950: #2e1065;\n\n --color-info-50: #f0f9ff;\n --color-info-100: #e0f2fe;\n --color-info-200: #bae6fd;\n --color-info-300: #7dd3fc;\n --color-info-400: #38bdf8;\n --color-info-500: #0ea5e9;\n --color-info-600: #0284c7;\n --color-info-700: #0369a1;\n --color-info-800: #075985;\n --color-info-900: #0c4a6e;\n --color-info-950: #082f49;\n}\n\n@keyframes fadeIn {\n from { opacity: 0; transform: translateY(8px); }\n to { opacity: 1; transform: translateY(0); }\n}\n\n.col-span-1 { grid-column: span 1 / span 1; }\n.col-span-2 { grid-column: span 2 / span 2; }\n.col-span-3 { grid-column: span 3 / span 3; }\n.col-span-4 { grid-column: span 4 / span 4; }\n.col-span-5 { grid-column: span 5 / span 5; }\n.col-span-6 { grid-column: span 6 / span 6; }\n.col-span-7 { grid-column: span 7 / span 7; }\n.col-span-8 { grid-column: span 8 / span 8; }\n.col-span-9 { grid-column: span 9 / span 9; }\n.col-span-10 { grid-column: span 10 / span 10; }\n.col-span-11 { grid-column: span 11 / span 11; }\n.col-span-12 { grid-column: span 12 / span 12; }\n\n@media (width >= 40rem) {\n .sm\\:col-span-1 { grid-column: span 1 / span 1; }\n .sm\\:col-span-2 { grid-column: span 2 / span 2; }\n .sm\\:col-span-3 { grid-column: span 3 / span 3; }\n .sm\\:col-span-4 { grid-column: span 4 / span 4; }\n .sm\\:col-span-5 { grid-column: span 5 / span 5; }\n .sm\\:col-span-6 { grid-column: span 6 / span 6; }\n .sm\\:col-span-7 { grid-column: span 7 / span 7; }\n .sm\\:col-span-8 { grid-column: span 8 / span 8; }\n .sm\\:col-span-9 { grid-column: span 9 / span 9; }\n .sm\\:col-span-10 { grid-column: span 10 / span 10; }\n .sm\\:col-span-11 { grid-column: span 11 / span 11; }\n .sm\\:col-span-12 { grid-column: span 12 / span 12; }\n}\n\n@media (width >= 48rem) {\n .md\\:col-span-1 { grid-column: span 1 / span 1; }\n .md\\:col-span-2 { grid-column: span 2 / span 2; }\n .md\\:col-span-3 { grid-column: span 3 / span 3; }\n .md\\:col-span-4 { grid-column: span 4 / span 4; }\n .md\\:col-span-5 { grid-column: span 5 / span 5; }\n .md\\:col-span-6 { grid-column: span 6 / span 6; }\n .md\\:col-span-7 { grid-column: span 7 / span 7; }\n .md\\:col-span-8 { grid-column: span 8 / span 8; }\n .md\\:col-span-9 { grid-column: span 9 / span 9; }\n .md\\:col-span-10 { grid-column: span 10 / span 10; }\n .md\\:col-span-11 { grid-column: span 11 / span 11; }\n .md\\:col-span-12 { grid-column: span 12 / span 12; }\n}\n\n@media (width >= 64rem) {\n .lg\\:col-span-1 { grid-column: span 1 / span 1; }\n .lg\\:col-span-2 { grid-column: span 2 / span 2; }\n .lg\\:col-span-3 { grid-column: span 3 / span 3; }\n .lg\\:col-span-4 { grid-column: span 4 / span 4; }\n .lg\\:col-span-5 { grid-column: span 5 / span 5; }\n .lg\\:col-span-6 { grid-column: span 6 / span 6; }\n .lg\\:col-span-7 { grid-column: span 7 / span 7; }\n .lg\\:col-span-8 { grid-column: span 8 / span 8; }\n .lg\\:col-span-9 { grid-column: span 9 / span 9; }\n .lg\\:col-span-10 { grid-column: span 10 / span 10; }\n .lg\\:col-span-11 { grid-column: span 11 / span 11; }\n .lg\\:col-span-12 { grid-column: span 12 / span 12; }\n}\n\n@media (width >= 80rem) {\n .xl\\:col-span-1 { grid-column: span 1 / span 1; }\n .xl\\:col-span-2 { grid-column: span 2 / span 2; }\n .xl\\:col-span-3 { grid-column: span 3 / span 3; }\n .xl\\:col-span-4 { grid-column: span 4 / span 4; }\n .xl\\:col-span-5 { grid-column: span 5 / span 5; }\n .xl\\:col-span-6 { grid-column: span 6 / span 6; }\n .xl\\:col-span-7 { grid-column: span 7 / span 7; }\n .xl\\:col-span-8 { grid-column: span 8 / span 8; }\n .xl\\:col-span-9 { grid-column: span 9 / span 9; }\n .xl\\:col-span-10 { grid-column: span 10 / span 10; }\n .xl\\:col-span-11 { grid-column: span 11 / span 11; }\n .xl\\:col-span-12 { grid-column: span 12 / span 12; }\n}","/* Animación de entrada */\n@keyframes slideIn {\n from {\n transform: translateY(100%);\n opacity: 0;\n }\n to {\n transform: translateY(0);\n opacity: 1;\n }\n }\n \n /* Animación de salida */\n @keyframes slideOut {\n from {\n transform: translateY(0);\n opacity: 1;\n }\n to {\n transform: translateY(100%);\n opacity: 0;\n }\n }\n \n /* Aplicar animaciones */\n .toast-enter {\n animation: slideIn 0.3s ease-out;\n }\n \n .toast-exit {\n animation: slideOut 0.3s ease-out;\n }"],"mappings":"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","names":[]}
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "packageManager": "pnpm@10.34.0",
5
5
  "private": false,
6
6
  "license": "MIT",
7
- "version": "1.2.1",
7
+ "version": "1.2.2",
8
8
  "type": "module",
9
9
  "sideEffects": [
10
10
  "*.css"
@@ -23,7 +23,7 @@
23
23
  },
24
24
  "files": [
25
25
  "dist",
26
- "src/theme"
26
+ "src"
27
27
  ],
28
28
  "scripts": {
29
29
  "dev": "vite",
package/src/App.tsx ADDED
@@ -0,0 +1,354 @@
1
+ import React, { useMemo, useState } from "react";
2
+ import {
3
+ FaCreditCard,
4
+ FaHome,
5
+ FaKeyboard,
6
+ FaRegBell,
7
+ FaSearch,
8
+ FaSlidersH,
9
+ FaTable,
10
+ } from "react-icons/fa";
11
+ import { ITLayout, ITThemeProvider } from "./index";
12
+ import "./index.css";
13
+
14
+ // Import Showcases
15
+ import { HomeShowcase } from "./showcases/HomeShowcase";
16
+ import {
17
+ CardShowcase,
18
+ LayoutShowcase,
19
+ TextShowcase,
20
+ } from "./showcases/StructureShowcases";
21
+ import {
22
+ StackShowcase,
23
+ FlexShowcase,
24
+ GridShowcase,
25
+ ScreenDashboardShowcase,
26
+ ScreenFormShowcase,
27
+ ScreenCardGridShowcase,
28
+ } from "./showcases/LayoutPrimitivesShowcases";
29
+ import {
30
+ PageHeaderShowcase,
31
+ PageShowcase,
32
+ } from "./showcases/PageShowcases";
33
+ import {
34
+ ButtonShowcase,
35
+ InputShowcase,
36
+ SelectShowcase,
37
+ SearchSelectShowcase,
38
+ DatePickerShowcase,
39
+ TimePickerShowcase,
40
+ CalendarShowcase,
41
+ SlideToggleShowcase,
42
+ DropfileShowcase,
43
+ FormBuilderShowcase,
44
+ } from "./showcases/FormShowcases";
45
+ import {
46
+ TableShowcase,
47
+ DataTableShowcase,
48
+ BadgetShowcase,
49
+ ImageShowcase,
50
+ } from "./showcases/DataShowcases";
51
+ import {
52
+ TabsShowcase,
53
+ StepperShowcase,
54
+ PaginationShowcase,
55
+ TripleFilterShowcase,
56
+ } from "./showcases/NavigationShowcases";
57
+ import {
58
+ DialogShowcase,
59
+ ToastShowcase,
60
+ LoaderShowcase,
61
+ ThemeProviderShowcase,
62
+ } from "./showcases/FeedbackShowcases";
63
+
64
+ function App() {
65
+ const [activeComponentId, setActiveComponentId] = useState("home");
66
+ const [searchTerm, setSearchTerm] = useState("");
67
+ const [subitemConnector, setSubitemConnector] = useState<
68
+ "dot" | "|" | "none"
69
+ >("dot");
70
+
71
+ // Group definitions for the sidebar
72
+ const categories = [
73
+ {
74
+ id: "general",
75
+ label: "General",
76
+ icon: <FaHome />,
77
+ },
78
+ {
79
+ id: "struc",
80
+ label: "Estructura & Layout",
81
+ icon: <FaCreditCard />,
82
+ subitems: [
83
+ { id: "layout", label: "ITLayout & ITNavbar" },
84
+ { id: "stack", label: "ITStack" },
85
+ { id: "flex", label: "ITFlex" },
86
+ { id: "grid", label: "ITGrid" },
87
+ { id: "card", label: "ITCard" },
88
+ { id: "text", label: "ITText" },
89
+ { id: "pageheader", label: "ITPageHeader" },
90
+ { id: "page", label: "ITPage" },
91
+ { id: "screen-dashboard", label: "Dashboard Ejemplo" },
92
+ { id: "screen-form", label: "Formulario Ejemplo" },
93
+ { id: "screen-cardgrid", label: "Grid Tarjetas Ejemplo" },
94
+ ],
95
+ },
96
+ {
97
+ id: "forms",
98
+ label: "Formularios & Inputs",
99
+ icon: <FaKeyboard />,
100
+ subitems: [
101
+ { id: "button", label: "ITButton" },
102
+ { id: "input", label: "ITInput" },
103
+ { id: "select", label: "ITSelect" },
104
+ { id: "searchselect", label: "ITSearchSelect" },
105
+ { id: "datepicker", label: "ITDatePicker" },
106
+ { id: "timepicker", label: "ITTimePicker" },
107
+ { id: "calendar", label: "ITCalendar" },
108
+ { id: "slidetoggle", label: "ITSlideToggle" },
109
+ { id: "dropfile", label: "ITDropfile" },
110
+ { id: "formbuilder", label: "ITFormBuilder" },
111
+ ],
112
+ },
113
+ {
114
+ id: "data",
115
+ label: "Visualización Datos",
116
+ icon: <FaTable />,
117
+ subitems: [
118
+ { id: "table", label: "ITTable" },
119
+ { id: "datatable", label: "ITDataTable" },
120
+ { id: "badget", label: "ITBadget" },
121
+ { id: "image", label: "ITImage" },
122
+ ],
123
+ },
124
+ {
125
+ id: "nav",
126
+ label: "Navegación & Control",
127
+ icon: <FaSlidersH />,
128
+ subitems: [
129
+ { id: "tabs", label: "ITTabs" },
130
+ { id: "stepper", label: "ITStepper" },
131
+ { id: "pagination", label: "ITPagination" },
132
+ { id: "triplefilter", label: "ITTripleFilter" },
133
+ ],
134
+ },
135
+ {
136
+ id: "feed",
137
+ label: "Feedback & Sistema",
138
+ icon: <FaRegBell />,
139
+ subitems: [
140
+ { id: "dialog", label: "ITDialog" },
141
+ { id: "toast", label: "ITToast" },
142
+ { id: "loader", label: "ITLoader" },
143
+ { id: "themeprovider", label: "ITThemeProvider" },
144
+ ],
145
+ },
146
+ ];
147
+
148
+ // Filter sidebar navigation items based on search term
149
+ const filteredNavigationItems = useMemo(() => {
150
+ return categories
151
+ .map((cat) => {
152
+ if (!cat.subitems) {
153
+ const matches =
154
+ cat.label.toLowerCase().includes(searchTerm.toLowerCase()) ||
155
+ cat.id.toLowerCase().includes(searchTerm.toLowerCase());
156
+ if (matches) {
157
+ return {
158
+ ...cat,
159
+ isActive: activeComponentId === cat.id,
160
+ action: () => setActiveComponentId(cat.id),
161
+ };
162
+ }
163
+ return null;
164
+ }
165
+
166
+ const matchingSubitems = cat.subitems.filter(
167
+ (sub) =>
168
+ sub.label.toLowerCase().includes(searchTerm.toLowerCase()) ||
169
+ sub.id.toLowerCase().includes(searchTerm.toLowerCase()),
170
+ );
171
+
172
+ const mappedSubitems = matchingSubitems.map((sub) => ({
173
+ id: sub.id,
174
+ label: sub.label,
175
+ isActive: activeComponentId === sub.id,
176
+ action: () => setActiveComponentId(sub.id),
177
+ }));
178
+
179
+ const isAnySubitemActive = mappedSubitems.some((sub) => sub.isActive);
180
+
181
+ return {
182
+ ...cat,
183
+ isActive: isAnySubitemActive,
184
+ subitems: mappedSubitems,
185
+ };
186
+ })
187
+ .filter((cat): cat is Exclude<typeof cat, null> => {
188
+ if (!cat) return false;
189
+ if (cat.subitems) return cat.subitems.length > 0;
190
+ return true;
191
+ });
192
+ }, [searchTerm, activeComponentId]);
193
+
194
+ const sidebarProps = {
195
+ navigationItems: filteredNavigationItems,
196
+ subitemConnector,
197
+ };
198
+
199
+ const topBarProps = {
200
+ logoText: "AXZY Showroom",
201
+ userMenu: {
202
+ userName: "Alex Dev",
203
+ userEmail: "alex@axzy.dev",
204
+ menuItems: [
205
+ {
206
+ label: "Resetear Demo",
207
+ onClick: () => {
208
+ setActiveComponentId("home");
209
+ setSearchTerm("");
210
+ },
211
+ },
212
+ ],
213
+ },
214
+ };
215
+
216
+ // Render correct component based on active navigation
217
+ const renderShowcase = () => {
218
+ switch (activeComponentId) {
219
+ case "home":
220
+ return <HomeShowcase />;
221
+ // Structure
222
+ case "layout":
223
+ return <LayoutShowcase />;
224
+ case "stack":
225
+ return <StackShowcase />;
226
+ case "flex":
227
+ return <FlexShowcase />;
228
+ case "grid":
229
+ return <GridShowcase />;
230
+ case "card":
231
+ return <CardShowcase />;
232
+ case "text":
233
+ return <TextShowcase />;
234
+ case "pageheader":
235
+ return <PageHeaderShowcase />;
236
+ case "page":
237
+ return <PageShowcase />;
238
+ case "screen-dashboard":
239
+ return <ScreenDashboardShowcase />;
240
+ case "screen-form":
241
+ return <ScreenFormShowcase />;
242
+ case "screen-cardgrid":
243
+ return <ScreenCardGridShowcase />;
244
+ // Forms
245
+ case "button":
246
+ return <ButtonShowcase />;
247
+ case "input":
248
+ return <InputShowcase />;
249
+ case "select":
250
+ return <SelectShowcase />;
251
+ case "searchselect":
252
+ return <SearchSelectShowcase />;
253
+ case "datepicker":
254
+ return <DatePickerShowcase />;
255
+ case "timepicker":
256
+ return <TimePickerShowcase />;
257
+ case "calendar":
258
+ return <CalendarShowcase />;
259
+ case "slidetoggle":
260
+ return <SlideToggleShowcase />;
261
+ case "dropfile":
262
+ return <DropfileShowcase />;
263
+ case "formbuilder":
264
+ return <FormBuilderShowcase />;
265
+ // Data
266
+ case "table":
267
+ return <TableShowcase />;
268
+ case "datatable":
269
+ return <DataTableShowcase />;
270
+ case "badget":
271
+ return <BadgetShowcase />;
272
+ case "image":
273
+ return <ImageShowcase />;
274
+ // Navigation
275
+ case "tabs":
276
+ return <TabsShowcase />;
277
+ case "stepper":
278
+ return <StepperShowcase />;
279
+ case "pagination":
280
+ return <PaginationShowcase />;
281
+ case "triplefilter":
282
+ return <TripleFilterShowcase />;
283
+ // Feedback
284
+ case "dialog":
285
+ return <DialogShowcase />;
286
+ case "toast":
287
+ return <ToastShowcase />;
288
+ case "loader":
289
+ return <LoaderShowcase />;
290
+ case "themeprovider":
291
+ return <ThemeProviderShowcase />;
292
+ default:
293
+ return <HomeShowcase />;
294
+ }
295
+ };
296
+
297
+ return (
298
+ <ITThemeProvider showFab={true}>
299
+ <ITLayout sidebar={sidebarProps} topBar={topBarProps}>
300
+ <div className="max-w-7xl mx-auto space-y-6">
301
+ {/* Glassmorphic Search Bar Header */}
302
+ <div className="relative p-6 rounded-2xl bg-white/70 dark:bg-slate-900/60 border border-slate-100 dark:border-slate-800 backdrop-blur-md shadow-sm flex flex-col md:flex-row md:items-center justify-between gap-4">
303
+ <div>
304
+ <h2 className="text-xl font-bold text-slate-800 dark:text-white">
305
+ Explorador de Componentes
306
+ </h2>
307
+ <p className="text-xs text-slate-500">
308
+ Selecciona o filtra en la lista lateral para inspeccionar e
309
+ interactuar.
310
+ </p>
311
+ </div>
312
+ <div className="flex flex-wrap items-center gap-3">
313
+ {/* Connector selection */}
314
+ <div className="flex items-center gap-1 bg-slate-100/80 dark:bg-slate-950/40 p-1 rounded-xl border border-slate-200/50 dark:border-slate-800/80">
315
+ {(["dot", "|", "none"] as const).map((style) => (
316
+ <button
317
+ key={style}
318
+ onClick={() => setSubitemConnector(style)}
319
+ className={`px-3 py-1 text-xs font-semibold rounded-lg transition-all ${
320
+ subitemConnector === style
321
+ ? "bg-white dark:bg-slate-800 text-indigo-600 dark:text-indigo-400 shadow-sm border border-slate-100 dark:border-slate-700/50"
322
+ : "text-slate-500 hover:text-slate-800 dark:hover:text-slate-200"
323
+ }`}
324
+ >
325
+ {style === "dot" ? "Punto" : style === "|" ? "Vertical" : "Normal"}
326
+ </button>
327
+ ))}
328
+ </div>
329
+
330
+ <div className="relative w-full md:w-80">
331
+ <input
332
+ type="text"
333
+ placeholder="Buscar componente..."
334
+ value={searchTerm}
335
+ onChange={(e) => setSearchTerm(e.target.value)}
336
+ className="w-full bg-slate-100/80 dark:bg-slate-950/40 text-slate-800 dark:text-white pl-10 pr-4 py-2 text-sm rounded-xl outline-none focus:ring-2 focus:ring-primary-500 border border-transparent focus:border-transparent transition-all"
337
+ />
338
+ <FaSearch
339
+ className="absolute left-3 top-3 text-slate-400"
340
+ size={14}
341
+ />
342
+ </div>
343
+ </div>
344
+ </div>
345
+ <div className="bg-white/50 dark:bg-slate-950/10 border border-slate-100 dark:border-slate-900 rounded-3xl p-6 md:p-8 backdrop-blur-sm min-h-[500px]">
346
+ {renderShowcase()}
347
+ </div>
348
+ </div>
349
+ </ITLayout>
350
+ </ITThemeProvider>
351
+ );
352
+ }
353
+
354
+ export default App;
Binary file
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="35.93" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 228"><path fill="#00D8FF" d="M210.483 73.824a171.49 171.49 0 0 0-8.24-2.597c.465-1.9.893-3.777 1.273-5.621c6.238-30.281 2.16-54.676-11.769-62.708c-13.355-7.7-35.196.329-57.254 19.526a171.23 171.23 0 0 0-6.375 5.848a155.866 155.866 0 0 0-4.241-3.917C100.759 3.829 77.587-4.822 63.673 3.233C50.33 10.957 46.379 33.89 51.995 62.588a170.974 170.974 0 0 0 1.892 8.48c-3.28.932-6.445 1.924-9.474 2.98C17.309 83.498 0 98.307 0 113.668c0 15.865 18.582 31.778 46.812 41.427a145.52 145.52 0 0 0 6.921 2.165a167.467 167.467 0 0 0-2.01 9.138c-5.354 28.2-1.173 50.591 12.134 58.266c13.744 7.926 36.812-.22 59.273-19.855a145.567 145.567 0 0 0 5.342-4.923a168.064 168.064 0 0 0 6.92 6.314c21.758 18.722 43.246 26.282 56.54 18.586c13.731-7.949 18.194-32.003 12.4-61.268a145.016 145.016 0 0 0-1.535-6.842c1.62-.48 3.21-.974 4.76-1.488c29.348-9.723 48.443-25.443 48.443-41.52c0-15.417-17.868-30.326-45.517-39.844Zm-6.365 70.984c-1.4.463-2.836.91-4.3 1.345c-3.24-10.257-7.612-21.163-12.963-32.432c5.106-11 9.31-21.767 12.459-31.957c2.619.758 5.16 1.557 7.61 2.4c23.69 8.156 38.14 20.213 38.14 29.504c0 9.896-15.606 22.743-40.946 31.14Zm-10.514 20.834c2.562 12.94 2.927 24.64 1.23 33.787c-1.524 8.219-4.59 13.698-8.382 15.893c-8.067 4.67-25.32-1.4-43.927-17.412a156.726 156.726 0 0 1-6.437-5.87c7.214-7.889 14.423-17.06 21.459-27.246c12.376-1.098 24.068-2.894 34.671-5.345a134.17 134.17 0 0 1 1.386 6.193ZM87.276 214.515c-7.882 2.783-14.16 2.863-17.955.675c-8.075-4.657-11.432-22.636-6.853-46.752a156.923 156.923 0 0 1 1.869-8.499c10.486 2.32 22.093 3.988 34.498 4.994c7.084 9.967 14.501 19.128 21.976 27.15a134.668 134.668 0 0 1-4.877 4.492c-9.933 8.682-19.886 14.842-28.658 17.94ZM50.35 144.747c-12.483-4.267-22.792-9.812-29.858-15.863c-6.35-5.437-9.555-10.836-9.555-15.216c0-9.322 13.897-21.212 37.076-29.293c2.813-.98 5.757-1.905 8.812-2.773c3.204 10.42 7.406 21.315 12.477 32.332c-5.137 11.18-9.399 22.249-12.634 32.792a134.718 134.718 0 0 1-6.318-1.979Zm12.378-84.26c-4.811-24.587-1.616-43.134 6.425-47.789c8.564-4.958 27.502 2.111 47.463 19.835a144.318 144.318 0 0 1 3.841 3.545c-7.438 7.987-14.787 17.08-21.808 26.988c-12.04 1.116-23.565 2.908-34.161 5.309a160.342 160.342 0 0 1-1.76-7.887Zm110.427 27.268a347.8 347.8 0 0 0-7.785-12.803c8.168 1.033 15.994 2.404 23.343 4.08c-2.206 7.072-4.956 14.465-8.193 22.045a381.151 381.151 0 0 0-7.365-13.322Zm-45.032-43.861c5.044 5.465 10.096 11.566 15.065 18.186a322.04 322.04 0 0 0-30.257-.006c4.974-6.559 10.069-12.652 15.192-18.18ZM82.802 87.83a323.167 323.167 0 0 0-7.227 13.238c-3.184-7.553-5.909-14.98-8.134-22.152c7.304-1.634 15.093-2.97 23.209-3.984a321.524 321.524 0 0 0-7.848 12.897Zm8.081 65.352c-8.385-.936-16.291-2.203-23.593-3.793c2.26-7.3 5.045-14.885 8.298-22.6a321.187 321.187 0 0 0 7.257 13.246c2.594 4.48 5.28 8.868 8.038 13.147Zm37.542 31.03c-5.184-5.592-10.354-11.779-15.403-18.433c4.902.192 9.899.29 14.978.29c5.218 0 10.376-.117 15.453-.343c-4.985 6.774-10.018 12.97-15.028 18.486Zm52.198-57.817c3.422 7.8 6.306 15.345 8.596 22.52c-7.422 1.694-15.436 3.058-23.88 4.071a382.417 382.417 0 0 0 7.859-13.026a347.403 347.403 0 0 0 7.425-13.565Zm-16.898 8.101a358.557 358.557 0 0 1-12.281 19.815a329.4 329.4 0 0 1-23.444.823c-7.967 0-15.716-.248-23.178-.732a310.202 310.202 0 0 1-12.513-19.846h.001a307.41 307.41 0 0 1-10.923-20.627a310.278 310.278 0 0 1 10.89-20.637l-.001.001a307.318 307.318 0 0 1 12.413-19.761c7.613-.576 15.42-.876 23.31-.876H128c7.926 0 15.743.303 23.354.883a329.357 329.357 0 0 1 12.335 19.695a358.489 358.489 0 0 1 11.036 20.54a329.472 329.472 0 0 1-11 20.722Zm22.56-122.124c8.572 4.944 11.906 24.881 6.52 51.026c-.344 1.668-.73 3.367-1.15 5.09c-10.622-2.452-22.155-4.275-34.23-5.408c-7.034-10.017-14.323-19.124-21.64-27.008a160.789 160.789 0 0 1 5.888-5.4c18.9-16.447 36.564-22.941 44.612-18.3ZM128 90.808c12.625 0 22.86 10.235 22.86 22.86s-10.235 22.86-22.86 22.86s-22.86-10.235-22.86-22.86s10.235-22.86 22.86-22.86Z"></path></svg>
@@ -0,0 +1,13 @@
1
+ import { ReactNode } from "react";
2
+
3
+ export type AlertVariant = "info" | "success" | "warning" | "error";
4
+
5
+ export interface ITAlertProps {
6
+ variant?: AlertVariant;
7
+ title?: string;
8
+ children?: ReactNode;
9
+ dismissible?: boolean;
10
+ onDismiss?: () => void;
11
+ icon?: ReactNode;
12
+ className?: string;
13
+ }
@@ -0,0 +1,41 @@
1
+ import type { Meta, StoryObj } from "@storybook/react";
2
+ import { useState } from "react";
3
+ import ITAlert from "./alert";
4
+
5
+ const meta: Meta<typeof ITAlert> = {
6
+ title: "Components/Feedback/ITAlert",
7
+ component: ITAlert,
8
+ tags: ["autodocs"],
9
+ };
10
+
11
+ export default meta;
12
+ type Story = StoryObj<typeof ITAlert>;
13
+
14
+ export const Info: Story = {
15
+ args: { variant: "info", title: "Información", children: "Esto es un mensaje informativo." },
16
+ };
17
+
18
+ export const Success: Story = {
19
+ args: { variant: "success", title: "Operación exitosa", children: "Los cambios se guardaron correctamente." },
20
+ };
21
+
22
+ export const Warning: Story = {
23
+ args: { variant: "warning", title: "Advertencia", children: "Esta acción no se puede deshacer." },
24
+ };
25
+
26
+ export const Error: Story = {
27
+ args: { variant: "error", title: "Error", children: "Ocurrió un error inesperado." },
28
+ };
29
+
30
+ export const Dismissible: Story = {
31
+ render: () => {
32
+ const [visible, setVisible] = useState(true);
33
+ return visible ? (
34
+ <ITAlert variant="info" title="Cerrar" dismissible onDismiss={() => setVisible(false)}>
35
+ Puedes cerrar esta alerta.
36
+ </ITAlert>
37
+ ) : (
38
+ <p className="text-xs text-slate-400">Alerta cerrada.</p>
39
+ );
40
+ },
41
+ };
@@ -0,0 +1,53 @@
1
+ import clsx from "clsx";
2
+ import { ITAlertProps, AlertVariant } from "./alert.props";
3
+ import { FaInfoCircle, FaCheckCircle, FaExclamationTriangle, FaTimesCircle, FaTimes } from "react-icons/fa";
4
+ import { theme } from "@/theme/theme";
5
+ import ITText from "@/components/text/text";
6
+
7
+ const config: Record<AlertVariant, { icon: React.ReactNode; classes: string }> = {
8
+ info: {
9
+ icon: <FaInfoCircle size={16} />,
10
+ classes: "bg-info-50 border-info-200 text-info-800 dark:bg-info-950/20 dark:border-info-800 dark:text-info-300",
11
+ },
12
+ success: {
13
+ icon: <FaCheckCircle size={16} />,
14
+ classes: "bg-success-50 border-success-200 text-success-800 dark:bg-success-950/20 dark:border-success-800 dark:text-success-300",
15
+ },
16
+ warning: {
17
+ icon: <FaExclamationTriangle size={16} />,
18
+ classes: "bg-warning-50 border-warning-200 text-warning-800 dark:bg-warning-950/20 dark:border-warning-800 dark:text-warning-300",
19
+ },
20
+ error: {
21
+ icon: <FaTimesCircle size={16} />,
22
+ classes: "bg-danger-50 border-danger-200 text-danger-800 dark:bg-danger-950/20 dark:border-danger-800 dark:text-danger-300",
23
+ },
24
+ };
25
+
26
+ export default function ITAlert({
27
+ variant = "info",
28
+ title,
29
+ children,
30
+ dismissible,
31
+ onDismiss,
32
+ icon,
33
+ className,
34
+ }: ITAlertProps) {
35
+ const cfg = config[variant];
36
+ return (
37
+ <div
38
+ className={clsx("flex items-start gap-3 rounded-xl border p-4", cfg.classes, className)}
39
+ role="alert"
40
+ >
41
+ <span className="mt-0.5 flex-shrink-0">{icon || cfg.icon}</span>
42
+ <div className="flex-1 min-w-0">
43
+ {title && <ITText as="p" className="text-sm font-bold mb-0.5">{title}</ITText>}
44
+ {children && <ITText as="div" className="text-sm opacity-90">{children}</ITText>}
45
+ </div>
46
+ {dismissible && onDismiss && (
47
+ <button onClick={onDismiss} className="flex-shrink-0 opacity-60 hover:opacity-100 transition-opacity">
48
+ <FaTimes size={12} />
49
+ </button>
50
+ )}
51
+ </div>
52
+ );
53
+ }
@@ -0,0 +1,14 @@
1
+ import { ReactNode } from "react";
2
+
3
+ export type AvatarSize = "xs" | "sm" | "md" | "lg" | "xl";
4
+
5
+ export interface ITAvatarProps {
6
+ src?: string;
7
+ alt?: string;
8
+ initials?: string;
9
+ size?: AvatarSize;
10
+ color?: string;
11
+ className?: string;
12
+ badge?: ReactNode;
13
+ onClick?: () => void;
14
+ }