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