@axzydev/axzy_ui_system 1.2.13 → 1.2.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +43 -0
- package/dist/index.cjs +6490 -6388
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +1 -1
- package/dist/index.css.map +1 -1
- package/dist/index.d.cts +169 -110
- package/dist/index.d.ts +169 -110
- package/dist/index.js +6516 -6414
- package/dist/index.js.map +1 -1
- package/package.json +4 -2
- package/src/App.tsx +86 -81
- package/src/components/{avatar → atoms/avatar}/avatar.doc.mdx +2 -2
- package/src/components/{avatar → atoms/avatar}/avatar.stories.tsx +1 -2
- package/src/components/{avatar → atoms/avatar}/avatar.tsx +1 -1
- package/src/components/{badget → atoms/badget}/badget.doc.mdx +4 -4
- package/src/components/{badget → atoms/badget}/badget.props.ts +1 -1
- package/src/components/{badget → atoms/badget}/badget.stories.tsx +1 -2
- package/src/components/{badget → atoms/badget}/badget.tsx +3 -3
- package/src/components/{button → atoms/button}/button.doc.mdx +3 -3
- package/src/components/{button → atoms/button}/button.props.ts +3 -3
- package/src/components/{button → atoms/button}/button.stories.tsx +1 -2
- package/src/components/{button → atoms/button}/button.tsx +7 -7
- package/src/components/{checkbox → atoms/checkbox}/checkbox.doc.mdx +2 -2
- package/src/components/{checkbox → atoms/checkbox}/checkbox.stories.tsx +2 -3
- package/src/components/{checkbox → atoms/checkbox}/checkbox.tsx +1 -1
- package/src/components/{divider → atoms/divider}/divider.doc.mdx +2 -2
- package/src/components/{divider → atoms/divider}/divider.stories.tsx +3 -4
- package/src/components/{flex → atoms/flex}/flex.doc.mdx +2 -2
- package/src/components/{flex → atoms/flex}/flex.stories.tsx +1 -2
- package/src/components/{grid → atoms/grid}/grid.doc.mdx +2 -2
- package/src/components/{grid → atoms/grid}/grid.stories.tsx +1 -2
- package/src/components/{image → atoms/image}/image.doc.mdx +2 -2
- package/src/components/{image → atoms/image}/image.stories.tsx +1 -2
- package/src/components/{input → atoms/input}/input.doc.mdx +3 -3
- package/src/components/{input → atoms/input}/input.props.ts +3 -3
- package/src/components/{input → atoms/input}/input.stories.tsx +2 -4
- package/src/components/{input → atoms/input}/input.tsx +5 -14
- package/src/components/{loader → atoms/loader}/loader.doc.mdx +2 -2
- package/src/components/{loader → atoms/loader}/loader.stories.tsx +2 -3
- package/src/components/{loader → atoms/loader}/loader.tsx +1 -1
- package/src/components/{popover → atoms/popover}/popover.doc.mdx +2 -2
- package/src/components/{popover → atoms/popover}/popover.stories.tsx +3 -4
- package/src/components/{progress → atoms/progress}/progress.doc.mdx +2 -2
- package/src/components/{progress → atoms/progress}/progress.stories.tsx +2 -3
- package/src/components/{radio → atoms/radio}/radio.doc.mdx +2 -2
- package/src/components/{radio → atoms/radio}/radio.stories.tsx +1 -3
- package/src/components/{radio → atoms/radio}/radio.tsx +1 -1
- package/src/components/{segmented-control → atoms/segmented-control}/segmented-control.doc.mdx +2 -2
- package/src/components/{segmented-control → atoms/segmented-control}/segmented-control.stories.tsx +1 -2
- package/src/components/{segmented-control → atoms/segmented-control}/segmented-control.tsx +1 -1
- package/src/components/{skeleton → atoms/skeleton}/skeleton.doc.mdx +2 -2
- package/src/components/{skeleton → atoms/skeleton}/skeleton.stories.tsx +2 -3
- package/src/components/{slide → atoms/slide}/slide.doc.mdx +2 -2
- package/src/components/{slide → atoms/slide}/slide.stories.tsx +1 -2
- package/src/components/{slider → atoms/slider}/slider.doc.mdx +2 -2
- package/src/components/{slider → atoms/slider}/slider.stories.tsx +1 -2
- package/src/components/{slider → atoms/slider}/slider.tsx +1 -1
- package/src/components/{stack → atoms/stack}/stack.doc.mdx +2 -2
- package/src/components/{stack → atoms/stack}/stack.stories.tsx +2 -3
- package/src/components/{text → atoms/text}/text.doc.mdx +2 -2
- package/src/components/{text → atoms/text}/text.stories.tsx +1 -2
- package/src/components/{textarea → atoms/textarea}/textarea.doc.mdx +2 -2
- package/src/components/{textarea → atoms/textarea}/textarea.props.ts +0 -2
- package/src/components/{textarea → atoms/textarea}/textarea.stories.tsx +1 -2
- package/src/components/{textarea → atoms/textarea}/textarea.tsx +1 -1
- package/src/components/{tooltip → atoms/tooltip}/tooltip.doc.mdx +2 -2
- package/src/components/{tooltip → atoms/tooltip}/tooltip.stories.tsx +2 -3
- package/src/components/{tooltip → atoms/tooltip}/tooltip.tsx +1 -1
- package/src/components/isolation/isolation.stories.tsx +202 -0
- package/src/components/{alert → molecules/alert}/alert.doc.mdx +2 -2
- package/src/components/{alert → molecules/alert}/alert.stories.tsx +1 -2
- package/src/components/{alert → molecules/alert}/alert.tsx +1 -2
- package/src/components/{breadcrumbs → molecules/breadcrumbs}/breadcrumbs.doc.mdx +2 -2
- package/src/components/{breadcrumbs → molecules/breadcrumbs}/breadcrumbs.stories.tsx +1 -2
- package/src/components/{breadcrumbs → molecules/breadcrumbs}/breadcrumbs.tsx +1 -1
- package/src/components/{calendar → molecules/calendar}/calendar.doc.mdx +2 -2
- package/src/components/{calendar → molecules/calendar}/calendar.stories.tsx +1 -2
- package/src/components/{calendar → molecules/calendar}/calendar.tsx +42 -42
- package/src/components/molecules/calendar/index.ts +2 -0
- package/src/components/{card → molecules/card}/card.doc.mdx +2 -2
- package/src/components/{card → molecules/card}/card.stories.tsx +2 -3
- package/src/components/{card → molecules/card}/card.tsx +4 -4
- package/src/components/{date-picker → molecules/date-picker}/date-picker.doc.mdx +3 -3
- package/src/components/{date-picker → molecules/date-picker}/date-picker.props.ts +1 -1
- package/src/components/{date-picker → molecules/date-picker}/date-picker.stories.tsx +1 -3
- package/src/components/{date-picker → molecules/date-picker}/datePicker.tsx +3 -3
- package/src/components/{empty-state → molecules/empty-state}/empty-state.doc.mdx +3 -3
- package/src/components/{empty-state → molecules/empty-state}/empty-state.stories.tsx +3 -4
- package/src/components/{empty-state → molecules/empty-state}/empty-state.tsx +1 -1
- package/src/components/{form-header → molecules/form-header}/form-header.doc.mdx +2 -2
- package/src/components/{form-header → molecules/form-header}/form-header.stories.tsx +1 -2
- package/src/components/{form-header → molecules/form-header}/form-header.tsx +2 -2
- package/src/components/{pagination → molecules/pagination}/pagination.doc.mdx +2 -2
- package/src/components/{pagination → molecules/pagination}/pagination.stories.tsx +1 -2
- package/src/components/{pagination → molecules/pagination}/pagination.tsx +8 -8
- package/src/components/{search-select → molecules/search-select}/index.ts +1 -1
- package/src/components/{search-select → molecules/search-select}/search-select.doc.mdx +2 -2
- package/src/components/{search-select → molecules/search-select}/search-select.props.ts +3 -0
- package/src/components/{search-select → molecules/search-select}/search-select.stories.tsx +1 -2
- package/src/components/{search-select → molecules/search-select}/search-select.tsx +8 -6
- package/src/components/{select → molecules/select}/select.doc.mdx +2 -2
- package/src/components/{select → molecules/select}/select.stories.tsx +1 -2
- package/src/components/{select → molecules/select}/select.tsx +8 -16
- package/src/components/{stat-card → molecules/stat-card}/stat-card.doc.mdx +2 -2
- package/src/components/{stat-card → molecules/stat-card}/stat-card.stories.tsx +2 -3
- package/src/components/{stat-card → molecules/stat-card}/stat-card.tsx +1 -1
- package/src/components/{stepper → molecules/stepper}/stepper.doc.mdx +2 -2
- package/src/components/{stepper → molecules/stepper}/stepper.stories.tsx +1 -2
- package/src/components/{stepper → molecules/stepper}/stepper.tsx +9 -10
- package/src/components/{table → molecules/table}/table.doc.mdx +2 -2
- package/src/components/{table → molecules/table}/table.stories.tsx +5 -22
- package/src/components/{table → molecules/table}/table.tsx +5 -15
- package/src/components/{tabs → molecules/tabs}/tabs.doc.mdx +2 -2
- package/src/components/{tabs → molecules/tabs}/tabs.stories.tsx +1 -2
- package/src/components/{tabs → molecules/tabs}/tabs.tsx +1 -1
- package/src/components/{time-picker → molecules/time-picker}/timePicker.doc.mdx +3 -3
- package/src/components/{time-picker → molecules/time-picker}/timePicker.props.ts +4 -2
- package/src/components/{time-picker → molecules/time-picker}/timePicker.stories.tsx +3 -4
- package/src/components/{time-picker → molecules/time-picker}/timePicker.tsx +5 -5
- package/src/components/{confirm-dialog → organisms/confirm-dialog}/confirm-dialog.doc.mdx +2 -2
- package/src/components/{confirm-dialog → organisms/confirm-dialog}/confirm-dialog.stories.tsx +2 -3
- package/src/components/{confirm-dialog → organisms/confirm-dialog}/confirm-dialog.tsx +4 -4
- package/src/components/{data-table → organisms/data-table}/ITDataTable.doc.mdx +2 -2
- package/src/components/{data-table → organisms/data-table}/ITDataTable.stories.tsx +3 -4
- package/src/components/{data-table → organisms/data-table}/dataTable.props.ts +1 -1
- package/src/components/{data-table → organisms/data-table}/dataTable.tsx +7 -8
- package/src/components/{dialog → organisms/dialog}/dialog.doc.mdx +2 -2
- package/src/components/{dialog → organisms/dialog}/dialog.stories.tsx +3 -5
- package/src/components/{dialog → organisms/dialog}/dialog.tsx +2 -2
- package/src/components/{drawer → organisms/drawer}/drawer.doc.mdx +2 -2
- package/src/components/{drawer → organisms/drawer}/drawer.stories.tsx +2 -3
- package/src/components/{drawer → organisms/drawer}/drawer.tsx +1 -1
- package/src/components/{dropfile → organisms/dropfile}/dropfile.doc.mdx +3 -3
- package/src/components/{dropfile → organisms/dropfile}/dropfile.props.ts +8 -4
- package/src/components/{dropfile → organisms/dropfile}/dropfile.stories.tsx +2 -5
- package/src/components/{dropfile → organisms/dropfile}/dropfile.tsx +25 -12
- package/src/components/{form-builder → organisms/form-builder}/fieldRenderer.tsx +30 -20
- package/src/components/{form-builder → organisms/form-builder}/formBuilder.context.tsx +3 -2
- package/src/components/{form-builder → organisms/form-builder}/formBuilder.doc.mdx +2 -2
- package/src/components/{form-builder → organisms/form-builder}/formBuilder.stories.tsx +0 -1
- package/src/components/{form-builder → organisms/form-builder}/formBuilder.tsx +4 -5
- package/src/components/{form-builder → organisms/form-builder}/useFormBuilder.ts +4 -4
- package/src/components/{navbar → organisms/navbar}/navbar.doc.mdx +2 -2
- package/src/components/{navbar → organisms/navbar}/navbar.stories.tsx +1 -2
- package/src/components/{navbar → organisms/navbar}/navbar.tsx +1 -1
- package/src/components/{page-header → organisms/page-header}/page-header.doc.mdx +2 -2
- package/src/components/{page-header → organisms/page-header}/page-header.props.ts +1 -1
- package/src/components/{page-header → organisms/page-header}/page-header.stories.tsx +5 -6
- package/src/components/{page-header → organisms/page-header}/page-header.tsx +2 -2
- package/src/components/{searchTable → organisms/searchTable}/components/EditableCell.tsx +4 -5
- package/src/components/{searchTable → organisms/searchTable}/components/PaginationControls.tsx +6 -6
- package/src/components/{searchTable → organisms/searchTable}/components/PaginationInfo.tsx +1 -1
- package/src/components/{searchTable → organisms/searchTable}/components/SearchAndSortBar.tsx +3 -3
- package/src/components/{searchTable → organisms/searchTable}/components/SearchInput.tsx +1 -1
- package/src/components/{searchTable → organisms/searchTable}/components/SortButton.tsx +1 -1
- package/src/components/{searchTable → organisms/searchTable}/components/TableEmptyState.tsx +1 -1
- package/src/components/{searchTable → organisms/searchTable}/components/TableHeaderCell.tsx +1 -1
- package/src/components/{searchTable → organisms/searchTable}/searchTable.doc.mdx +2 -2
- package/src/components/{searchTable → organisms/searchTable}/searchTable.stories.tsx +1 -2
- package/src/components/{searchTable → organisms/searchTable}/searchTable.tsx +1 -2
- package/src/components/{sidebar → organisms/sidebar}/sidebar.doc.mdx +2 -2
- package/src/components/{sidebar → organisms/sidebar}/sidebar.stories.tsx +1 -2
- package/src/components/{sidebar → organisms/sidebar}/sidebar.tsx +45 -43
- package/src/components/{toast → organisms/toast}/toast.doc.mdx +2 -2
- package/src/components/{toast → organisms/toast}/toast.stories.tsx +2 -3
- package/src/components/{toast → organisms/toast}/toast.tsx +1 -2
- package/src/components/{topbar → organisms/topbar}/topbar.doc.mdx +2 -2
- package/src/components/{topbar → organisms/topbar}/topbar.stories.tsx +1 -2
- package/src/components/{topbar → organisms/topbar}/topbar.tsx +25 -25
- package/src/components/{triple-filter → organisms/triple-filter}/tripleFilter.doc.mdx +2 -2
- package/src/components/{triple-filter → organisms/triple-filter}/tripleFilter.props.ts +0 -1
- package/src/components/{triple-filter → organisms/triple-filter}/tripleFilter.stories.tsx +0 -1
- package/src/components/{triple-filter → organisms/triple-filter}/tripleFilter.tsx +1 -1
- package/src/components/{layout → templates/layout}/layout.doc.mdx +2 -2
- package/src/components/{layout → templates/layout}/layout.props.ts +2 -2
- package/src/components/{layout → templates/layout}/layout.stories.tsx +1 -2
- package/src/components/{layout → templates/layout}/layout.tsx +2 -2
- package/src/components/{page → templates/page}/page.doc.mdx +2 -2
- package/src/components/{page → templates/page}/page.props.ts +1 -1
- package/src/components/{page → templates/page}/page.stories.tsx +6 -7
- package/src/components/{page → templates/page}/page.tsx +6 -6
- package/src/components/theme-provider/themePresets.ts +154 -0
- package/src/components/theme-provider/themeProvider.doc.mdx +10 -2
- package/src/components/theme-provider/themeProvider.props.ts +6 -0
- package/src/components/theme-provider/themeProvider.stories.tsx +3 -4
- package/src/components/theme-provider/themeProvider.tsx +210 -268
- package/src/hooks/useEditableRow.ts +1 -1
- package/src/index.css +36 -86
- package/src/index.ts +97 -97
- package/src/showcases/DataShowcases.tsx +4 -8
- package/src/showcases/FeedbackShowcases.tsx +6 -6
- package/src/showcases/FormShowcases.tsx +7 -7
- package/src/showcases/GettingStartedShowcase.tsx +8 -9
- package/src/showcases/HomeShowcase.tsx +12 -12
- package/src/showcases/LayoutPrimitivesShowcases.tsx +36 -57
- package/src/showcases/PageShowcases.tsx +41 -53
- package/src/showcases/ShowcaseLayout.tsx +1 -2
- package/src/showcases/SizesShowcase.tsx +85 -0
- package/src/showcases/StructureShowcases.tsx +31 -33
- package/src/theme/theme-context.ts +37 -0
- package/src/theme/theme.ts +71 -64
- package/src/theme/theme.types.ts +41 -0
- package/src/types/badget.types.ts +3 -3
- package/src/types/button.types.ts +3 -3
- package/src/types/sizes.types.ts +2 -1
- package/src/utils/styles.ts +37 -0
- package/src/components/calendar/index.ts +0 -3
- package/src/components/stepper/stepper.css +0 -26
- package/src/components/toast/toast.css +0 -32
- package/src/types/input.types.ts +0 -14
- /package/src/components/{avatar → atoms/avatar}/avatar.props.ts +0 -0
- /package/src/components/{checkbox → atoms/checkbox}/checkbox.props.ts +0 -0
- /package/src/components/{divider → atoms/divider}/divider.props.ts +0 -0
- /package/src/components/{divider → atoms/divider}/divider.tsx +0 -0
- /package/src/components/{flex → atoms/flex}/flex.props.ts +0 -0
- /package/src/components/{flex → atoms/flex}/flex.tsx +0 -0
- /package/src/components/{grid → atoms/grid}/grid.props.ts +0 -0
- /package/src/components/{grid → atoms/grid}/grid.tsx +0 -0
- /package/src/components/{image → atoms/image}/image.props.ts +0 -0
- /package/src/components/{image → atoms/image}/image.tsx +0 -0
- /package/src/components/{loader → atoms/loader}/loader.props.ts +0 -0
- /package/src/components/{popover → atoms/popover}/popover.props.ts +0 -0
- /package/src/components/{popover → atoms/popover}/popover.tsx +0 -0
- /package/src/components/{progress → atoms/progress}/progress.props.ts +0 -0
- /package/src/components/{progress → atoms/progress}/progress.tsx +0 -0
- /package/src/components/{radio → atoms/radio}/radio.props.ts +0 -0
- /package/src/components/{segmented-control → atoms/segmented-control}/segmented-control.props.ts +0 -0
- /package/src/components/{skeleton → atoms/skeleton}/skeleton.props.ts +0 -0
- /package/src/components/{skeleton → atoms/skeleton}/skeleton.tsx +0 -0
- /package/src/components/{slide → atoms/slide}/slide.props.ts +0 -0
- /package/src/components/{slide → atoms/slide}/slide.tsx +0 -0
- /package/src/components/{slider → atoms/slider}/slider.props.ts +0 -0
- /package/src/components/{stack → atoms/stack}/stack.props.ts +0 -0
- /package/src/components/{stack → atoms/stack}/stack.tsx +0 -0
- /package/src/components/{text → atoms/text}/text.props.ts +0 -0
- /package/src/components/{text → atoms/text}/text.tsx +0 -0
- /package/src/components/{tooltip → atoms/tooltip}/tooltip.props.ts +0 -0
- /package/src/components/{alert → molecules/alert}/alert.props.ts +0 -0
- /package/src/components/{breadcrumbs → molecules/breadcrumbs}/breadcrumbs.props.ts +0 -0
- /package/src/components/{calendar → molecules/calendar}/calendar.props.ts +0 -0
- /package/src/components/{card → molecules/card}/card.props.ts +0 -0
- /package/src/components/{empty-state → molecules/empty-state}/empty-state.props.ts +0 -0
- /package/src/components/{form-header → molecules/form-header}/form-header.props.ts +0 -0
- /package/src/components/{pagination → molecules/pagination}/pagination.props.ts +0 -0
- /package/src/components/{select → molecules/select}/select.props.ts +0 -0
- /package/src/components/{stat-card → molecules/stat-card}/stat-card.props.ts +0 -0
- /package/src/components/{stepper → molecules/stepper}/stepper.props.ts +0 -0
- /package/src/components/{table → molecules/table}/table.props.ts +0 -0
- /package/src/components/{tabs → molecules/tabs}/tabs.props.ts +0 -0
- /package/src/components/{confirm-dialog → organisms/confirm-dialog}/confirm-dialog.props.ts +0 -0
- /package/src/components/{dialog → organisms/dialog}/dialog.props.ts +0 -0
- /package/src/components/{drawer → organisms/drawer}/drawer.props.ts +0 -0
- /package/src/components/{form-builder → organisms/form-builder}/formBuilder.props.ts +0 -0
- /package/src/components/{navbar → organisms/navbar}/navbar.props.ts +0 -0
- /package/src/components/{searchTable → organisms/searchTable}/components/TableHeader.tsx +0 -0
- /package/src/components/{searchTable → organisms/searchTable}/components/TableRow.tsx +0 -0
- /package/src/components/{searchTable → organisms/searchTable}/searchTable.props.ts +0 -0
- /package/src/components/{sidebar → organisms/sidebar}/sidebar.props.ts +0 -0
- /package/src/components/{toast → organisms/toast}/toast.props.ts +0 -0
- /package/src/components/{topbar → organisms/topbar}/topbar.props.ts +0 -0
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.
|
|
7
|
+
"version": "1.2.14",
|
|
8
8
|
"type": "module",
|
|
9
9
|
"sideEffects": [
|
|
10
10
|
"*.css"
|
|
@@ -31,7 +31,9 @@
|
|
|
31
31
|
"build": "pnpm bundle",
|
|
32
32
|
"build:app": "tsc -b && vite build -c vite.app.config.ts",
|
|
33
33
|
"build:css": "node scripts/build-css.mjs",
|
|
34
|
-
"lint": "eslint .",
|
|
34
|
+
"lint": "eslint . && node scripts/check-atomic-deps.mjs && node scripts/check-css-isolation.mjs",
|
|
35
|
+
"check:atomic": "node scripts/check-atomic-deps.mjs",
|
|
36
|
+
"check:css": "node scripts/check-css-isolation.mjs",
|
|
35
37
|
"preview": "vite preview",
|
|
36
38
|
"bundle": "tsup src/index.ts && node scripts/build-css.mjs",
|
|
37
39
|
"watch": "tsup src/index.ts --watch",
|
package/src/App.tsx
CHANGED
|
@@ -13,6 +13,7 @@ import "./index.css";
|
|
|
13
13
|
// Import Showcases
|
|
14
14
|
import { HomeShowcase } from "./showcases/HomeShowcase";
|
|
15
15
|
import { GettingStartedShowcase } from "./showcases/GettingStartedShowcase";
|
|
16
|
+
import { SizesShowcase } from "./showcases/SizesShowcase";
|
|
16
17
|
import {
|
|
17
18
|
CardShowcase,
|
|
18
19
|
LayoutShowcase,
|
|
@@ -62,12 +63,93 @@ import {
|
|
|
62
63
|
|
|
63
64
|
type ViewMode = "home" | "ui-system";
|
|
64
65
|
|
|
66
|
+
// Group definitions for the sidebar (UI System showroom). Estático: se define
|
|
67
|
+
// fuera del componente para que su referencia sea estable en los deps del memo.
|
|
68
|
+
const categories = [
|
|
69
|
+
{
|
|
70
|
+
id: "general",
|
|
71
|
+
label: "General",
|
|
72
|
+
icon: <FaHome />,
|
|
73
|
+
subitems: [
|
|
74
|
+
{ id: "getting-started", label: "Getting Started" },
|
|
75
|
+
{ id: "sizes", label: "Medidas · sm / md / lg" },
|
|
76
|
+
],
|
|
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
|
+
],
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
id: "forms",
|
|
97
|
+
label: "Formularios & Inputs",
|
|
98
|
+
icon: <FaKeyboard />,
|
|
99
|
+
subitems: [
|
|
100
|
+
{ id: "button", label: "ITButton" },
|
|
101
|
+
{ id: "input", label: "ITInput" },
|
|
102
|
+
{ id: "select", label: "ITSelect" },
|
|
103
|
+
{ id: "searchselect", label: "ITSearchSelect" },
|
|
104
|
+
{ id: "datepicker", label: "ITDatePicker" },
|
|
105
|
+
{ id: "timepicker", label: "ITTimePicker" },
|
|
106
|
+
{ id: "calendar", label: "ITCalendar" },
|
|
107
|
+
{ id: "slidetoggle", label: "ITSlideToggle" },
|
|
108
|
+
{ id: "dropfile", label: "ITDropfile" },
|
|
109
|
+
{ id: "formbuilder", label: "ITFormBuilder" },
|
|
110
|
+
],
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
id: "data",
|
|
114
|
+
label: "Visualización Datos",
|
|
115
|
+
icon: <FaTable />,
|
|
116
|
+
subitems: [
|
|
117
|
+
{ id: "table", label: "ITTable" },
|
|
118
|
+
{ id: "datatable", label: "ITDataTable" },
|
|
119
|
+
{ id: "badget", label: "ITBadget" },
|
|
120
|
+
{ id: "image", label: "ITImage" },
|
|
121
|
+
],
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
id: "nav",
|
|
125
|
+
label: "Navegación & Control",
|
|
126
|
+
icon: <FaSlidersH />,
|
|
127
|
+
subitems: [
|
|
128
|
+
{ id: "tabs", label: "ITTabs" },
|
|
129
|
+
{ id: "stepper", label: "ITStepper" },
|
|
130
|
+
{ id: "pagination", label: "ITPagination" },
|
|
131
|
+
{ id: "triplefilter", label: "ITTripleFilter" },
|
|
132
|
+
],
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
id: "feed",
|
|
136
|
+
label: "Feedback & Sistema",
|
|
137
|
+
icon: <FaRegBell />,
|
|
138
|
+
subitems: [
|
|
139
|
+
{ id: "dialog", label: "ITDialog" },
|
|
140
|
+
{ id: "toast", label: "ITToast" },
|
|
141
|
+
{ id: "loader", label: "ITLoader" },
|
|
142
|
+
{ id: "themeprovider", label: "ITThemeProvider" },
|
|
143
|
+
],
|
|
144
|
+
},
|
|
145
|
+
];
|
|
146
|
+
|
|
65
147
|
function App() {
|
|
66
148
|
const [view, setView] = useState<ViewMode>(() => {
|
|
67
149
|
const hash = window.location.hash.replace("#", "");
|
|
68
150
|
return hash.startsWith("ui-system") ? "ui-system" : "home";
|
|
69
151
|
});
|
|
70
|
-
const [showroomActive, setShowroomActive] = useState("
|
|
152
|
+
const [showroomActive, setShowroomActive] = useState("screen-form");
|
|
71
153
|
const [searchTerm] = useState("");
|
|
72
154
|
const [subitemConnector] = useState<
|
|
73
155
|
"dot" | "|" | "none"
|
|
@@ -82,85 +164,6 @@ function App() {
|
|
|
82
164
|
return () => window.removeEventListener("hashchange", onHashChange);
|
|
83
165
|
}, []);
|
|
84
166
|
|
|
85
|
-
// Group definitions for the sidebar (UI System showroom)
|
|
86
|
-
const categories = [
|
|
87
|
-
{
|
|
88
|
-
id: "general",
|
|
89
|
-
label: "General",
|
|
90
|
-
icon: <FaHome />,
|
|
91
|
-
subitems: [
|
|
92
|
-
{ id: "getting-started", label: "Getting Started" },
|
|
93
|
-
],
|
|
94
|
-
},
|
|
95
|
-
{
|
|
96
|
-
id: "struc",
|
|
97
|
-
label: "Estructura & Layout",
|
|
98
|
-
icon: <FaCreditCard />,
|
|
99
|
-
subitems: [
|
|
100
|
-
{ id: "layout", label: "ITLayout & ITNavbar" },
|
|
101
|
-
{ id: "stack", label: "ITStack" },
|
|
102
|
-
{ id: "flex", label: "ITFlex" },
|
|
103
|
-
{ id: "grid", label: "ITGrid" },
|
|
104
|
-
{ id: "card", label: "ITCard" },
|
|
105
|
-
{ id: "text", label: "ITText" },
|
|
106
|
-
{ id: "pageheader", label: "ITPageHeader" },
|
|
107
|
-
{ id: "page", label: "ITPage" },
|
|
108
|
-
{ id: "screen-dashboard", label: "Dashboard Ejemplo" },
|
|
109
|
-
{ id: "screen-form", label: "Formulario Ejemplo" },
|
|
110
|
-
],
|
|
111
|
-
},
|
|
112
|
-
{
|
|
113
|
-
id: "forms",
|
|
114
|
-
label: "Formularios & Inputs",
|
|
115
|
-
icon: <FaKeyboard />,
|
|
116
|
-
subitems: [
|
|
117
|
-
{ id: "button", label: "ITButton" },
|
|
118
|
-
{ id: "input", label: "ITInput" },
|
|
119
|
-
{ id: "select", label: "ITSelect" },
|
|
120
|
-
{ id: "searchselect", label: "ITSearchSelect" },
|
|
121
|
-
{ id: "datepicker", label: "ITDatePicker" },
|
|
122
|
-
{ id: "timepicker", label: "ITTimePicker" },
|
|
123
|
-
{ id: "calendar", label: "ITCalendar" },
|
|
124
|
-
{ id: "slidetoggle", label: "ITSlideToggle" },
|
|
125
|
-
{ id: "dropfile", label: "ITDropfile" },
|
|
126
|
-
{ id: "formbuilder", label: "ITFormBuilder" },
|
|
127
|
-
],
|
|
128
|
-
},
|
|
129
|
-
{
|
|
130
|
-
id: "data",
|
|
131
|
-
label: "Visualización Datos",
|
|
132
|
-
icon: <FaTable />,
|
|
133
|
-
subitems: [
|
|
134
|
-
{ id: "table", label: "ITTable" },
|
|
135
|
-
{ id: "datatable", label: "ITDataTable" },
|
|
136
|
-
{ id: "badget", label: "ITBadget" },
|
|
137
|
-
{ id: "image", label: "ITImage" },
|
|
138
|
-
],
|
|
139
|
-
},
|
|
140
|
-
{
|
|
141
|
-
id: "nav",
|
|
142
|
-
label: "Navegación & Control",
|
|
143
|
-
icon: <FaSlidersH />,
|
|
144
|
-
subitems: [
|
|
145
|
-
{ id: "tabs", label: "ITTabs" },
|
|
146
|
-
{ id: "stepper", label: "ITStepper" },
|
|
147
|
-
{ id: "pagination", label: "ITPagination" },
|
|
148
|
-
{ id: "triplefilter", label: "ITTripleFilter" },
|
|
149
|
-
],
|
|
150
|
-
},
|
|
151
|
-
{
|
|
152
|
-
id: "feed",
|
|
153
|
-
label: "Feedback & Sistema",
|
|
154
|
-
icon: <FaRegBell />,
|
|
155
|
-
subitems: [
|
|
156
|
-
{ id: "dialog", label: "ITDialog" },
|
|
157
|
-
{ id: "toast", label: "ITToast" },
|
|
158
|
-
{ id: "loader", label: "ITLoader" },
|
|
159
|
-
{ id: "themeprovider", label: "ITThemeProvider" },
|
|
160
|
-
],
|
|
161
|
-
},
|
|
162
|
-
];
|
|
163
|
-
|
|
164
167
|
// Filter sidebar navigation items based on search term
|
|
165
168
|
const filteredNavigationItems = useMemo(() => {
|
|
166
169
|
return categories
|
|
@@ -254,6 +257,8 @@ function App() {
|
|
|
254
257
|
return <ScreenDashboardShowcase />;
|
|
255
258
|
case "screen-form":
|
|
256
259
|
return <ScreenFormShowcase />;
|
|
260
|
+
case "sizes":
|
|
261
|
+
return <SizesShowcase />;
|
|
257
262
|
// Forms
|
|
258
263
|
case "button":
|
|
259
264
|
return <ButtonShowcase />;
|
|
@@ -308,7 +313,7 @@ function App() {
|
|
|
308
313
|
};
|
|
309
314
|
|
|
310
315
|
return (
|
|
311
|
-
<ITThemeProvider showFab={false}>
|
|
316
|
+
<ITThemeProvider showFab={false} density={0.98} radius={10} shadow={2}>
|
|
312
317
|
{view === "home" ? (
|
|
313
318
|
<div className="min-h-screen bg-slate-50 dark:bg-slate-950 py-10 px-4 sm:px-6 lg:px-8">
|
|
314
319
|
<div className="max-w-6xl mx-auto">
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import type { Meta, StoryObj } from "@storybook/react";
|
|
2
|
-
import ITAvatar from "
|
|
2
|
+
import ITAvatar from "@/components/atoms/avatar/avatar";
|
|
3
3
|
import { FaCircle } from "react-icons/fa";
|
|
4
4
|
|
|
5
5
|
const meta: Meta<typeof ITAvatar> = {
|
|
6
6
|
title: "Components/Data Display/ITAvatar",
|
|
7
7
|
component: ITAvatar,
|
|
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 { ITAvatarProps, AvatarSize } from "./avatar.props";
|
|
3
|
-
import ITText from "@/components/text/text";
|
|
3
|
+
import ITText from "@/components/atoms/text/text";
|
|
4
4
|
|
|
5
5
|
const sizeMap: Record<AvatarSize, { container: string; text: string }> = {
|
|
6
6
|
xs: { container: "w-6 h-6", text: "text-[10px]" },
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Meta, Title, Description, Primary, Controls, Stories } from '@storybook/blocks';
|
|
2
|
-
import * as
|
|
2
|
+
import * as StoriesData from './badget.stories';
|
|
3
3
|
|
|
4
|
-
<Meta of={
|
|
4
|
+
<Meta of={StoriesData} />
|
|
5
5
|
|
|
6
6
|
# ITBadget
|
|
7
7
|
|
|
@@ -14,7 +14,7 @@ Small status tags and labels for highlighting metadata, categories, or states. O
|
|
|
14
14
|
| `label` | `string` | — | Text label displayed inside the badge. Overridden if `children` is provided. |
|
|
15
15
|
| `children` | `ReactNode` | — | Custom content rendered inside the badge. Takes precedence over `label`. |
|
|
16
16
|
| `color` | `ColorsTypes` | `"primary"` | Color theme key (`"primary"`, `"secondary"`, `"success"`, `"danger"`, `"warning"`, `"purple"`, `"info"`). |
|
|
17
|
-
| `size` | `SizesTypes` | `"
|
|
17
|
+
| `size` | `SizesTypes` | `"md"` | Badge size (`"sm"`, `"md"`, `"lg"`). |
|
|
18
18
|
| `variant` | `"filled" \| "outlined"` | `"filled"` | Visual style — solid background or transparent with colored border. |
|
|
19
19
|
| `className` | `string` | — | Additional CSS class names for the badge element. |
|
|
20
20
|
|
|
@@ -25,7 +25,7 @@ import { ITBadget } from '@axzydev/axzy_ui_system';
|
|
|
25
25
|
|
|
26
26
|
<ITBadget label="Active" color="success" variant="filled" />
|
|
27
27
|
|
|
28
|
-
<ITBadget color="danger" variant="outlined" size="
|
|
28
|
+
<ITBadget color="danger" variant="outlined" size="sm">
|
|
29
29
|
<span className="flex items-center gap-1">3 new</span>
|
|
30
30
|
</ITBadget>
|
|
31
31
|
```
|
|
@@ -9,7 +9,7 @@ export interface ITBadgetProps {
|
|
|
9
9
|
children?: React.ReactNode;
|
|
10
10
|
/** Color theme key. Values come from the semantic color palette (e.g. `"primary"`, `"secondary"`, `"success"`, `"danger"`, `"warning"`, `"info"`, `"purple"`, `"error"`, `"gray"`). @default "primary" */
|
|
11
11
|
color?: ColorsTypes;
|
|
12
|
-
/** Badge size. Valid values: `"
|
|
12
|
+
/** Badge size. Valid values: `"sm"`, `"md"`, `"lg"`. @default "md" */
|
|
13
13
|
size?: SizesTypes;
|
|
14
14
|
/** Badge visual style. Valid values: `"filled"`, `"outlined"`. @default "filled" */
|
|
15
15
|
variant?: keyof typeof badgeVariants;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Meta, StoryObj } from '@storybook/react';
|
|
2
|
-
import ITBadget from '
|
|
2
|
+
import ITBadget from '@/components/atoms/badget/badget';
|
|
3
3
|
|
|
4
4
|
const meta = {
|
|
5
5
|
title: 'Components/Data Display/ITBadge',
|
|
@@ -7,7 +7,6 @@ const meta = {
|
|
|
7
7
|
parameters: {
|
|
8
8
|
layout: 'centered',
|
|
9
9
|
},
|
|
10
|
-
tags: ['autodocs'],
|
|
11
10
|
argTypes: {
|
|
12
11
|
color: {
|
|
13
12
|
control: 'select',
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
badgeSizes,
|
|
6
6
|
} from "@/types/badget.types";
|
|
7
7
|
import { theme } from "@/theme/theme";
|
|
8
|
-
import ITText from "@/components/text/text";
|
|
8
|
+
import ITText from "@/components/atoms/text/text";
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* Small status tag or label with theme-based colors and filled/outlined variants.
|
|
@@ -14,7 +14,7 @@ import ITText from "@/components/text/text";
|
|
|
14
14
|
* <ITBadget label="Active" color="success" variant="filled" />
|
|
15
15
|
*
|
|
16
16
|
* @example
|
|
17
|
-
* <ITBadget color="danger" variant="outlined" size="
|
|
17
|
+
* <ITBadget color="danger" variant="outlined" size="sm">
|
|
18
18
|
* <span className="flex items-center gap-1">3 new</span>
|
|
19
19
|
* </ITBadget>
|
|
20
20
|
*/
|
|
@@ -22,7 +22,7 @@ export default function ITBadget({
|
|
|
22
22
|
children,
|
|
23
23
|
label,
|
|
24
24
|
color = "primary",
|
|
25
|
-
size = "
|
|
25
|
+
size = "md",
|
|
26
26
|
variant = "filled",
|
|
27
27
|
className,
|
|
28
28
|
}: ITBadgetProps) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Meta, Title, Description, Primary, Controls, Stories } from '@storybook/blocks';
|
|
2
|
-
import * as
|
|
2
|
+
import * as StoriesData from './button.stories';
|
|
3
3
|
|
|
4
|
-
<Meta of={
|
|
4
|
+
<Meta of={StoriesData} />
|
|
5
5
|
|
|
6
6
|
# ITButton
|
|
7
7
|
|
|
@@ -16,7 +16,7 @@ The primary action component for triggering user interactions. Supports 8 distin
|
|
|
16
16
|
| `icon` | `ReactNode` | — | Icon element rendered before the label. |
|
|
17
17
|
| `onClick` | `() => void` | — | Click handler for the button. |
|
|
18
18
|
| `color` | `ColorsTypes` | `"primary"` | Color theme key (`"primary"`, `"secondary"`, `"success"`, `"danger"`, `"warning"`, `"purple"`, `"info"`). |
|
|
19
|
-
| `size` | `SizesTypes` | `"
|
|
19
|
+
| `size` | `SizesTypes` | `"md"` | Button size (`"sm"`, `"md"`, `"lg"`). |
|
|
20
20
|
| `variant` | `"filled" \| "outlined" \| "raised" \| "rounded" \| "text" \| "raised-text" \| "icon-only" \| "link"` | `"filled"` | Visual style variant. |
|
|
21
21
|
| `disabled` | `boolean` | `false` | Disables interaction and applies reduced opacity. |
|
|
22
22
|
| `className` | `string` | — | Additional CSS class names for the button element. |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { buttonVariants } from "@/types/button.types";
|
|
2
|
-
import { ColorsTypes } from "
|
|
3
|
-
import { SizesTypes } from "
|
|
2
|
+
import { ColorsTypes } from "@/types/colors.types";
|
|
3
|
+
import { SizesTypes } from "@/types/sizes.types";
|
|
4
4
|
|
|
5
5
|
export interface ITButtonProps {
|
|
6
6
|
/** Button text label. Overridden if `children` is provided. */
|
|
@@ -13,7 +13,7 @@ export interface ITButtonProps {
|
|
|
13
13
|
onClick?: () => void;
|
|
14
14
|
/** Color theme key. Values come from the semantic color palette (e.g. `"primary"`, `"secondary"`, `"success"`, `"danger"`, `"warning"`, `"info"`, `"purple"`, `"error"`, `"gray"`). @default "primary" */
|
|
15
15
|
color?: ColorsTypes;
|
|
16
|
-
/** Button size. Valid values: `"
|
|
16
|
+
/** Button size. Valid values: `"sm"`, `"md"`, `"lg"`. @default "md" */
|
|
17
17
|
size?: SizesTypes;
|
|
18
18
|
/** Button visual style. Valid values: `"filled"`, `"outlined"`, `"raised"`, `"rounded"`, `"text"`, `"raised-text"`, `"icon-only"`, `"link"`. @default "filled" */
|
|
19
19
|
variant?: keyof typeof buttonVariants;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Meta, StoryObj } from '@storybook/react';
|
|
2
|
-
import ITButton from '
|
|
2
|
+
import ITButton from '@/components/atoms/button/button';
|
|
3
3
|
|
|
4
4
|
const meta = {
|
|
5
5
|
title: 'Components/Actions/ITButton',
|
|
@@ -7,7 +7,6 @@ const meta = {
|
|
|
7
7
|
parameters: {
|
|
8
8
|
layout: 'centered',
|
|
9
9
|
},
|
|
10
|
-
tags: ['autodocs'],
|
|
11
10
|
argTypes: {
|
|
12
11
|
color: {
|
|
13
12
|
control: 'select',
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
buttonSizes,
|
|
3
3
|
buttonVariants,
|
|
4
|
-
} from "
|
|
4
|
+
} from "@/types/button.types";
|
|
5
5
|
import clsx from "clsx";
|
|
6
6
|
import { useState } from "react";
|
|
7
7
|
import { theme } from "@/theme/theme";
|
|
8
8
|
import { ITButtonProps } from "./button.props";
|
|
9
|
-
import ITText from "@/components/text/text";
|
|
9
|
+
import ITText from "@/components/atoms/text/text";
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* Highly configurable action button supporting 8 visual variants, theme colors, 3 sizes, icons, and hover/focus states.
|
|
@@ -15,7 +15,7 @@ import ITText from "@/components/text/text";
|
|
|
15
15
|
* <ITButton label="Submit" color="primary" variant="filled" onClick={() => {}} />
|
|
16
16
|
*
|
|
17
17
|
* @example
|
|
18
|
-
* <ITButton color="danger" variant="outlined" size="
|
|
18
|
+
* <ITButton color="danger" variant="outlined" size="sm" icon={<FaTrash />}>
|
|
19
19
|
* Delete
|
|
20
20
|
* </ITButton>
|
|
21
21
|
*/
|
|
@@ -26,7 +26,7 @@ export default function ITButton({
|
|
|
26
26
|
onClick,
|
|
27
27
|
type = "button",
|
|
28
28
|
color = "primary",
|
|
29
|
-
size = "
|
|
29
|
+
size = "md",
|
|
30
30
|
disabled = false,
|
|
31
31
|
className,
|
|
32
32
|
variant = "filled",
|
|
@@ -52,7 +52,7 @@ export default function ITButton({
|
|
|
52
52
|
const mainColor = themeConfig.backgroundColor; // The vibrant color
|
|
53
53
|
const textColor = themeConfig.color; // Usually white for filled
|
|
54
54
|
|
|
55
|
-
|
|
55
|
+
const style: React.CSSProperties = {
|
|
56
56
|
// fontSize: themeConfig.fontSize, // Removed to allow size prop to control font size
|
|
57
57
|
fontWeight: themeConfig.fontWeight,
|
|
58
58
|
// padding: themeConfig.padding, // Removed to allow size prop to control padding
|
|
@@ -82,9 +82,9 @@ export default function ITButton({
|
|
|
82
82
|
style.backgroundColor = (isHovered && !disabled) ? `${mainColor}10` : "transparent";
|
|
83
83
|
style.color = mainColor;
|
|
84
84
|
} else if (isRaisedText) {
|
|
85
|
-
style.backgroundColor = "var(--card-bg, #ffffff)";
|
|
85
|
+
style.backgroundColor = "var(--it-card-bg, #ffffff)";
|
|
86
86
|
style.color = mainColor;
|
|
87
|
-
if (isHovered && !disabled) style.backgroundColor = "var(--card-header-bg, #f8fafc)";
|
|
87
|
+
if (isHovered && !disabled) style.backgroundColor = "var(--it-card-header-bg, #f8fafc)";
|
|
88
88
|
}
|
|
89
89
|
|
|
90
90
|
// Apply focus style from theme (box-shadow ring)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Meta, Title, Description, Primary, Controls, Stories } from '@storybook/blocks';
|
|
2
|
-
import * as
|
|
2
|
+
import * as StoriesData from './checkbox.stories';
|
|
3
3
|
|
|
4
|
-
<Meta of={
|
|
4
|
+
<Meta of={StoriesData} />
|
|
5
5
|
|
|
6
6
|
# ITCheckbox
|
|
7
7
|
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import type { Meta, StoryObj } from "@storybook/react";
|
|
2
2
|
import { useState } from "react";
|
|
3
|
-
import ITCheckbox from "
|
|
4
|
-
import ITStack from "
|
|
3
|
+
import ITCheckbox from "@/components/atoms/checkbox/checkbox";
|
|
4
|
+
import ITStack from "@/components/atoms/stack/stack";
|
|
5
5
|
|
|
6
6
|
const meta: Meta<typeof ITCheckbox> = {
|
|
7
7
|
title: "Components/Inputs/ITCheckbox",
|
|
8
8
|
component: ITCheckbox,
|
|
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 { ITCheckboxProps } from "./checkbox.props";
|
|
3
|
-
import ITText from "@/components/text/text";
|
|
3
|
+
import ITText from "@/components/atoms/text/text";
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Checkbox component with label, indeterminate state, and disabled support. Uses a visually hidden native input for accessibility.
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import type { Meta, StoryObj } from "@storybook/react";
|
|
2
|
-
import ITDivider from "
|
|
3
|
-
import ITStack from "
|
|
4
|
-
import ITFlex from "
|
|
2
|
+
import ITDivider from "@/components/atoms/divider/divider";
|
|
3
|
+
import ITStack from "@/components/atoms/stack/stack";
|
|
4
|
+
import ITFlex from "@/components/atoms/flex/flex";
|
|
5
5
|
|
|
6
6
|
const meta: Meta<typeof ITDivider> = {
|
|
7
7
|
title: "Components/Layout/ITDivider",
|
|
8
8
|
component: ITDivider,
|
|
9
|
-
tags: ["autodocs"],
|
|
10
9
|
};
|
|
11
10
|
|
|
12
11
|
export default meta;
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import type { Meta, StoryObj } from "@storybook/react";
|
|
2
|
-
import ITFlex from "
|
|
2
|
+
import ITFlex from "@/components/atoms/flex/flex";
|
|
3
3
|
|
|
4
4
|
const meta: Meta<typeof ITFlex> = {
|
|
5
5
|
title: "Layout/ITFlex",
|
|
6
6
|
component: ITFlex,
|
|
7
|
-
tags: ["autodocs"],
|
|
8
7
|
argTypes: {
|
|
9
8
|
direction: {
|
|
10
9
|
control: "select",
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import type { Meta, StoryObj } from "@storybook/react";
|
|
2
|
-
import ITGrid from "
|
|
2
|
+
import ITGrid from "@/components/atoms/grid/grid";
|
|
3
3
|
|
|
4
4
|
const meta: Meta<typeof ITGrid> = {
|
|
5
5
|
title: "Layout/ITGrid",
|
|
6
6
|
component: ITGrid,
|
|
7
|
-
tags: ["autodocs"],
|
|
8
7
|
argTypes: {
|
|
9
8
|
spacing: { control: { type: "range", min: 0, max: 8, step: 1 } },
|
|
10
9
|
columns: { control: { type: "number", min: 1, max: 12 } },
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import type { Meta, StoryObj } from '@storybook/react';
|
|
2
|
-
import ITImage from '
|
|
2
|
+
import ITImage from '@/components/atoms/image/image';
|
|
3
3
|
|
|
4
4
|
const meta = {
|
|
5
5
|
title: 'Components/Data Display/ITImage',
|
|
6
6
|
component: ITImage,
|
|
7
7
|
parameters: { layout: 'centered' },
|
|
8
|
-
tags: ['autodocs'],
|
|
9
8
|
argTypes: {
|
|
10
9
|
src: { control: 'text', description: 'Image source URL' },
|
|
11
10
|
alt: { control: 'text', description: 'Alternative text for accessibility' },
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Meta, Title, Description, Primary, Controls, Stories } from '@storybook/blocks';
|
|
2
|
-
import * as
|
|
2
|
+
import * as StoriesData from './input.stories';
|
|
3
3
|
|
|
4
|
-
<Meta of={
|
|
4
|
+
<Meta of={StoriesData} />
|
|
5
5
|
|
|
6
6
|
# ITInput
|
|
7
7
|
|
|
@@ -23,7 +23,7 @@ A versatile form input component supporting text, password, email, number, texta
|
|
|
23
23
|
| `touched` | `boolean` | `undefined` | Whether the field has been touched by the user. |
|
|
24
24
|
| `required` | `boolean` | `false` | Mark the field as required (adds asterisk to label). |
|
|
25
25
|
| `disabled` | `boolean` | `false` | Disable the input. |
|
|
26
|
-
| `size` | `SizesTypes` | `'md'` | Size preset: `
|
|
26
|
+
| `size` | `SizesTypes` | `'md'` | Size preset: `"sm"`, `"md"`, `"lg"`. |
|
|
27
27
|
| `variant` | `ColorsTypes` | `undefined` | Color variant from the theme palette. |
|
|
28
28
|
| `iconLeft` | `ReactNode` | `undefined` | Icon element rendered on the left side. |
|
|
29
29
|
| `iconRight` | `ReactNode` | `undefined` | Icon element rendered on the right side. |
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ColorsTypes } from "
|
|
2
|
-
import { SizesTypes } from "
|
|
1
|
+
import { ColorsTypes } from "@/types/colors.types";
|
|
2
|
+
import { SizesTypes } from "@/types/sizes.types";
|
|
3
3
|
import { ReactNode } from "react";
|
|
4
4
|
|
|
5
5
|
export interface ITInputProps {
|
|
@@ -40,7 +40,7 @@ export interface ITInputProps {
|
|
|
40
40
|
minLength?: number;
|
|
41
41
|
/** Color variant from the theme palette */
|
|
42
42
|
variant?: ColorsTypes;
|
|
43
|
-
/** Size preset: "
|
|
43
|
+
/** Size preset: "sm" | "md" | "lg". @default "md" */
|
|
44
44
|
size?: SizesTypes;
|
|
45
45
|
/** Disable the input */
|
|
46
46
|
disabled?: boolean;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Meta
|
|
2
|
-
import ITInput from '
|
|
1
|
+
import type { Meta } from '@storybook/react';
|
|
2
|
+
import ITInput from '@/components/atoms/input/input';
|
|
3
3
|
import { FaUser, FaLock, FaEnvelope } from 'react-icons/fa';
|
|
4
4
|
|
|
5
5
|
const meta = {
|
|
@@ -8,7 +8,6 @@ const meta = {
|
|
|
8
8
|
parameters: {
|
|
9
9
|
layout: 'centered',
|
|
10
10
|
},
|
|
11
|
-
tags: ['autodocs'],
|
|
12
11
|
argTypes: {
|
|
13
12
|
type: {
|
|
14
13
|
control: 'select',
|
|
@@ -20,7 +19,6 @@ const meta = {
|
|
|
20
19
|
} satisfies Meta<typeof ITInput>;
|
|
21
20
|
|
|
22
21
|
export default meta;
|
|
23
|
-
type Story = StoryObj<typeof meta>;
|
|
24
22
|
|
|
25
23
|
export const Default: any = {
|
|
26
24
|
args: {
|