gd-design-library 0.8.0 → 1.0.0
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/ai/README.md +81 -7
- package/ai/codegen.d.ts +0 -10
- package/ai/index.d.ts +0 -1
- package/ai/schemas/components/Accordion.d.ts +39 -0
- package/ai/schemas/components/Avatar.d.ts +44 -0
- package/ai/schemas/components/Box.d.ts +101 -0
- package/ai/schemas/components/Breadcrumbs.d.ts +39 -0
- package/ai/schemas/components/Button.d.ts +45 -7
- package/ai/schemas/components/Card.d.ts +56 -0
- package/ai/schemas/components/ChatBubble.d.ts +43 -0
- package/ai/schemas/components/ChatContainer.d.ts +11 -0
- package/ai/schemas/components/Column.d.ts +11 -0
- package/ai/schemas/components/ContentCarousel.d.ts +78 -5
- package/ai/schemas/components/Counter.d.ts +11 -0
- package/ai/schemas/components/DragAndDropFiles.d.ts +11 -0
- package/ai/schemas/components/FlexContainer.d.ts +11 -0
- package/ai/schemas/components/Form.d.ts +11 -0
- package/ai/schemas/components/Icon.d.ts +85 -0
- package/ai/schemas/components/Image.d.ts +11 -0
- package/ai/schemas/components/InlineNotification.d.ts +11 -0
- package/ai/schemas/components/Input.d.ts +11 -0
- package/ai/schemas/components/InputFile.d.ts +11 -0
- package/ai/schemas/components/Label.d.ts +11 -0
- package/ai/schemas/components/Link.d.ts +11 -0
- package/ai/schemas/components/List.d.ts +11 -0
- package/ai/schemas/components/Loader.d.ts +11 -0
- package/ai/schemas/components/Modal.d.ts +11 -0
- package/ai/schemas/components/Portal.d.ts +11 -0
- package/ai/schemas/components/Price.d.ts +11 -0
- package/ai/schemas/components/ProgressBar.d.ts +11 -0
- package/ai/schemas/components/RadioGroup.d.ts +11 -0
- package/ai/schemas/components/Rating.d.ts +11 -0
- package/ai/schemas/components/Row.d.ts +11 -0
- package/ai/schemas/components/Scroll.d.ts +11 -0
- package/ai/schemas/components/Search.d.ts +11 -0
- package/ai/schemas/components/Select.d.ts +11 -0
- package/ai/schemas/components/Separator.d.ts +11 -0
- package/ai/schemas/components/Skeleton.d.ts +11 -0
- package/ai/schemas/components/Slider.d.ts +11 -0
- package/ai/schemas/components/Snackbar.d.ts +11 -0
- package/ai/schemas/components/SnackbarManager.d.ts +11 -0
- package/ai/schemas/components/Stepper.d.ts +11 -0
- package/ai/schemas/components/Switch.d.ts +11 -0
- package/ai/schemas/components/Tabs.d.ts +11 -0
- package/ai/schemas/components/Textarea.d.ts +13 -0
- package/ai/schemas/components/Toggle.d.ts +11 -0
- package/ai/schemas/components/Tooltip.d.ts +11 -0
- package/ai/schemas/components/Typography.d.ts +11 -0
- package/ai/schemas/components/Wrapper.d.ts +11 -0
- package/assets/icons/chat-bubble.d.ts +5 -0
- package/assets/icons/chat-bubble.js +10 -0
- package/assets/icons/chat.d.ts +5 -0
- package/assets/icons/chat.js +10 -0
- package/assets/icons/edit.d.ts +1 -3
- package/assets/icons/edit.js +7 -14
- package/assets/icons/phone.d.ts +5 -0
- package/assets/icons/phone.js +10 -0
- package/assets/index.d.ts +3 -0
- package/assets/styles.css +1 -1
- package/components/core/Box/Box.d.ts +2 -0
- package/components/core/Box/Box.js +26 -0
- package/components/core/Box/Box.types.d.ts +18 -0
- package/components/core/Box/BoxStyled.d.ts +2 -0
- package/components/core/Box/BoxStyled.js +26 -0
- package/components/core/Box/constants.d.ts +1 -0
- package/components/core/Box/constants.js +4 -0
- package/components/core/Box/index.d.ts +3 -0
- package/components/core/Breadcrumbs/Breadcrumbs.d.ts +1 -1
- package/components/core/Breadcrumbs/BreadcrumbsStyled.d.ts +1 -1
- package/components/core/Breadcrumbs/BreadcrumbsStyled.js +48 -39
- package/components/core/Button/Button.d.ts +1 -1
- package/components/core/Button/Button.js +26 -26
- package/components/core/Button/Button.types.d.ts +7 -5
- package/components/core/Button/ButtonStyled.d.ts +4 -4
- package/components/core/Button/ButtonStyled.js +40 -35
- package/components/core/Dropdown/DropdownStyled.js +15 -10
- package/components/core/DropdownItem/DropdownItemStyled.js +15 -9
- package/components/core/Form/FormStyled.d.ts +1 -1
- package/components/core/Form/FormStyled.js +15 -9
- package/components/core/Icon/Icon.js +9 -9
- package/components/core/Icon/constants.d.ts +16 -3
- package/components/core/Icon/constants.js +106 -100
- package/components/core/Image/Image.d.ts +1 -1
- package/components/core/Image/Image.js +27 -27
- package/components/core/Image/ImageStyled.d.ts +1 -1
- package/components/core/Image/ImageStyled.js +54 -32
- package/components/core/InlineNotification/InlineNotificationStyled.d.ts +1 -1
- package/components/core/InlineNotification/InlineNotificationStyled.js +21 -18
- package/components/core/Input/Input.d.ts +1 -1
- package/components/core/Input/InputAdornment/InputAdornmentStyled.js +14 -8
- package/components/core/Input/InputHelper/InputHelperStyled.js +14 -8
- package/components/core/Input/InputStyled.js +14 -8
- package/components/core/Input/InputWrapper/InputWrapperStyled.js +14 -9
- package/components/core/Label/LabelStyled.js +13 -12
- package/components/core/Link/LinkStyled.js +19 -14
- package/components/core/List/ListStyled.js +29 -22
- package/components/core/Loader/LoaderStyled.js +30 -32
- package/components/core/Menu/Menu.d.ts +1 -1
- package/components/core/Menu/MenuStyled.d.ts +1 -1
- package/components/core/Menu/MenuStyled.js +29 -20
- package/components/core/Modal/ModalStyled.js +76 -45
- package/components/core/Portal/Portal.d.ts +1 -1
- package/components/core/Scroll/ScrollStyled.d.ts +1 -1
- package/components/core/Scroll/ScrollStyled.js +42 -36
- package/components/core/Select/Select.js +60 -57
- package/components/core/Select/SelectStyled.d.ts +1 -2
- package/components/core/Select/SelectStyled.js +62 -48
- package/components/core/Separator/SeparatorStyled.d.ts +1 -1
- package/components/core/Separator/SeparatorStyled.js +56 -45
- package/components/core/Skeleton/SkeletonStyled.d.ts +1 -1
- package/components/core/Skeleton/SkeletonStyled.js +20 -19
- package/components/core/Slider/SliderStyled.js +14 -12
- package/components/core/Snackbar/SnackbarStyled.js +98 -71
- package/components/core/Switch/SwitchStyled.js +59 -34
- package/components/core/Textarea/TextareaStyled.js +19 -14
- package/components/core/Toggle/Toggle.js +17 -17
- package/components/core/Toggle/ToggleStyled.js +15 -10
- package/components/core/Tooltip/TooltipStyled.js +24 -17
- package/components/core/Tooltip/utils.d.ts +1 -1
- package/components/core/Typography/Typography.d.ts +1 -1
- package/components/core/Typography/Typography.js +10 -10
- package/components/core/Typography/TypographyStyled.d.ts +1 -1
- package/components/core/Typography/TypographyStyled.js +28 -23
- package/components/core/Wrapper/WrapperStyled.js +18 -17
- package/components/core/index.d.ts +1 -0
- package/components/domainSpecific/Accordion/AccordionStyled.js +39 -26
- package/components/domainSpecific/Accordion/index.d.ts +1 -0
- package/components/domainSpecific/Avatar/Avatar.js +16 -16
- package/components/domainSpecific/Avatar/AvatarStyled.js +62 -46
- package/components/domainSpecific/Card/Card.d.ts +11 -13
- package/components/domainSpecific/Card/Card.js +28 -40
- package/components/domainSpecific/Card/Card.types.d.ts +2 -16
- package/components/domainSpecific/Card/CardButton/CardButtonStyled.js +17 -11
- package/components/domainSpecific/Card/CardCounter/CardCounterStyled.js +16 -10
- package/components/domainSpecific/Card/CardDescription/CardDescriptionStyled.js +17 -16
- package/components/domainSpecific/Card/CardImage/CardImageStyled.js +16 -10
- package/components/domainSpecific/Card/CardPrice/CardPriceStyled.js +16 -10
- package/components/domainSpecific/Card/CardRating/CardRatingStyled.js +16 -10
- package/components/domainSpecific/Card/CardTitle/CardTitleStyled.js +16 -15
- package/components/domainSpecific/Carousel/Carousel.js +72 -72
- package/components/domainSpecific/Carousel/CarouselStyled.js +112 -97
- package/components/domainSpecific/ChatBubble/ChatBubbleStyled.d.ts +1 -1
- package/components/domainSpecific/ChatBubble/ChatBubbleStyled.js +50 -28
- package/components/domainSpecific/ContentCarousel/ContentCarousel.d.ts +1 -1
- package/components/domainSpecific/ContentCarousel/ContentCarousel.js +37 -38
- package/components/domainSpecific/ContentCarousel/ContentCarouselStyled.d.ts +0 -1
- package/components/domainSpecific/ContentCarousel/ContentCarouselStyled.js +24 -20
- package/components/domainSpecific/Counter/CounterStyled.js +20 -17
- package/components/domainSpecific/DragAndDropFiles/DragAndDropFilesStyled.js +12 -10
- package/components/domainSpecific/Header/HeaderStyled.js +101 -88
- package/components/domainSpecific/Price/Price.d.ts +1 -1
- package/components/domainSpecific/Price/PriceStyled.js +28 -24
- package/components/domainSpecific/ProgressBar/ProgressBarStyled.js +47 -42
- package/components/domainSpecific/RadioGroup/RadioGroup.js +38 -38
- package/components/domainSpecific/RadioGroup/RadioGroupStyled.js +89 -84
- package/components/domainSpecific/Rating/Rating.d.ts +1 -1
- package/components/domainSpecific/Rating/Rating.js +41 -41
- package/components/domainSpecific/Rating/RatingStyled.js +42 -37
- package/components/domainSpecific/Search/SearchStyled.js +15 -9
- package/components/domainSpecific/SearchModal/SearchInput/SearchInputStyled.js +18 -15
- package/components/domainSpecific/SearchModal/SearchItems/SearchItemsStyled.js +63 -54
- package/components/domainSpecific/SearchModal/SearchLoader/SearchLoaderStyled.js +9 -7
- package/components/domainSpecific/SearchModal/SearchModalStyled.d.ts +1 -1
- package/components/domainSpecific/SearchModal/SearchModalStyled.js +25 -18
- package/components/domainSpecific/SearchModal/constants.d.ts +1 -1
- package/components/domainSpecific/SearchModal/constants.js +1 -1
- package/components/domainSpecific/Stepper/StepperStyled.js +41 -35
- package/components/domainSpecific/Tabs/TabsStyled.js +51 -43
- package/components/index.d.ts +0 -1
- package/components/index.types.d.ts +14 -0
- package/components/layout/ChatContainer/ChatContainerStyled.d.ts +1 -1
- package/components/layout/ChatContainer/ChatContainerStyled.js +118 -59
- package/components/layout/Column/ColumnStyled.js +28 -27
- package/components/layout/FlexContainer/FlexContainerStyled.js +13 -12
- package/components/layout/Row/RowStyled.js +26 -25
- package/components/templates/index.d.ts +0 -1
- package/components/widget/DragAndDrop/DragAndDrop.d.ts +1 -1
- package/components/widget/DragAndDrop/DragAndDrop.js +15 -15
- package/components/widget/DragAndDrop/DragAndDropStyled.d.ts +1 -1
- package/components/widget/DragAndDrop/DragAndDropStyled.js +48 -41
- package/hooks/useCarousel/useCarousel.d.ts +1 -10
- package/hooks/useCarousel/useCarousel.js +50 -46
- package/hooks/useTheme/useTheme.types.d.ts +1 -0
- package/hooks/useTheme/utils.d.ts +7 -2
- package/index.js +358 -345
- package/llms.txt +87 -229
- package/package.json +1 -1
- package/tokens/accordion.d.ts +1 -62
- package/tokens/accordion.js +30 -33
- package/tokens/avatar.d.ts +1 -120
- package/tokens/avatar.js +29 -31
- package/tokens/box.d.ts +5 -0
- package/tokens/box.js +50 -0
- package/tokens/breadcrumbs.d.ts +1 -30
- package/tokens/breadcrumbs.js +12 -12
- package/tokens/button.d.ts +1 -155
- package/tokens/button.js +104 -160
- package/tokens/card.d.ts +5 -175
- package/tokens/card.js +101 -149
- package/tokens/carousel.d.ts +1 -197
- package/tokens/carousel.js +43 -45
- package/tokens/chat.d.ts +1 -128
- package/tokens/chat.js +77 -60
- package/tokens/chatbubble.d.ts +1 -48
- package/tokens/chatbubble.js +42 -41
- package/tokens/colors.d.ts +193 -48
- package/tokens/colors.js +202 -57
- package/tokens/constants.js +1 -1
- package/tokens/counter.d.ts +1 -38
- package/tokens/counter.js +7 -7
- package/tokens/defaultTheme.d.ts +586 -3555
- package/tokens/defaultTheme.js +16 -12
- package/tokens/draganddrop.d.ts +1 -61
- package/tokens/draganddrop.js +35 -38
- package/tokens/font.d.ts +7 -0
- package/tokens/font.js +7 -0
- package/tokens/header.d.ts +1 -107
- package/tokens/header.js +34 -36
- package/tokens/image.d.ts +1 -31
- package/tokens/image.js +18 -20
- package/tokens/index.d.ts +512 -3161
- package/tokens/index.js +119 -112
- package/tokens/inlineNotification.d.ts +1 -62
- package/tokens/inlineNotification.js +25 -26
- package/tokens/input.d.ts +1 -212
- package/tokens/input.js +69 -62
- package/tokens/link.d.ts +1 -80
- package/tokens/link.js +66 -40
- package/tokens/list.d.ts +1 -89
- package/tokens/list.js +38 -46
- package/tokens/loader.d.ts +1 -135
- package/tokens/loader.js +31 -33
- package/tokens/menu.d.ts +1 -15
- package/tokens/menu.js +6 -9
- package/tokens/modal.d.ts +1 -89
- package/tokens/modal.js +59 -49
- package/tokens/price.d.ts +1 -23
- package/tokens/price.js +16 -18
- package/tokens/progressbar.d.ts +1 -51
- package/tokens/progressbar.js +20 -23
- package/tokens/radiogroup.d.ts +1 -80
- package/tokens/radiogroup.js +32 -34
- package/tokens/radius.d.ts +1 -1
- package/tokens/radius.js +8 -9
- package/tokens/rating.d.ts +1 -65
- package/tokens/rating.js +16 -15
- package/tokens/scroll.d.ts +1 -91
- package/tokens/scroll.js +20 -22
- package/tokens/search.d.ts +1 -39
- package/tokens/search.js +7 -8
- package/tokens/searchModal.d.ts +1 -155
- package/tokens/searchModal.js +81 -58
- package/tokens/select.d.ts +1 -93
- package/tokens/select.js +39 -40
- package/tokens/shadow.d.ts +9 -8
- package/tokens/shadow.js +14 -16
- package/tokens/skeleton.d.ts +1 -68
- package/tokens/skeleton.js +20 -22
- package/tokens/slider.d.ts +1 -58
- package/tokens/slider.js +11 -11
- package/tokens/snackbar.d.ts +1 -156
- package/tokens/snackbar.js +83 -79
- package/tokens/spacing.d.ts +23 -0
- package/tokens/spacing.js +23 -0
- package/tokens/stepper.d.ts +1 -132
- package/tokens/stepper.js +52 -58
- package/tokens/switch.d.ts +1 -67
- package/tokens/switch.js +15 -15
- package/tokens/tabs.d.ts +1 -88
- package/tokens/tabs.js +33 -37
- package/tokens/toggle.d.ts +1 -9
- package/tokens/toggle.js +10 -11
- package/tokens/tooltip.d.ts +1 -61
- package/tokens/tooltip.js +22 -23
- package/tokens/typography.d.ts +1 -127
- package/tokens/typography.js +106 -90
- package/tokens/utils.d.ts +7 -2
- package/tokens/utils.js +27 -21
- package/types/button.d.ts +3 -11
- package/types/button.js +3 -4
- package/types/carousel.d.ts +10 -0
- package/types/typography.d.ts +3 -0
- package/types/typography.js +3 -3
- package/utils/helpers.d.ts +8 -0
- package/utils/helpers.js +52 -40
- package/components/domainSpecific/Card/CartStyled.d.ts +0 -2
- package/components/domainSpecific/Card/CartStyled.js +0 -26
- package/components/templates/SkeletonSearch/SkeletonSearch.d.ts +0 -2
- package/components/templates/SkeletonSearch/SkeletonSearch.js +0 -30
- package/components/templates/SkeletonSearch/SkeletonSearch.types.d.ts +0 -6
- package/components/templates/SkeletonSearch/SkeletonSearchStyled.d.ts +0 -11
- package/components/templates/SkeletonSearch/SkeletonSearchStyled.js +0 -97
- package/components/templates/SkeletonSearch/constants.d.ts +0 -2
- package/components/templates/SkeletonSearch/constants.js +0 -5
- package/components/templates/SkeletonSearch/index.d.ts +0 -2
package/ai/README.md
CHANGED
|
@@ -14,7 +14,7 @@ Core rule (must follow):
|
|
|
14
14
|
|
|
15
15
|
Single-source import (enforced):
|
|
16
16
|
|
|
17
|
-
- Correct: `import { Form, Input, Button, Typography, FlexContainer, Column, Card, Link } from 'gd-design-library';`
|
|
17
|
+
- Correct: `import { Form, Input, Button, Typography, Box, FlexContainer, Column, Card, Link } from 'gd-design-library';`
|
|
18
18
|
- Incorrect: `import Button from 'some-ui-lib';`, `import { Box } from '@mui/material';`, or using `./styles.css` for layout spacing.
|
|
19
19
|
|
|
20
20
|
How to use the AI helpers
|
|
@@ -48,12 +48,12 @@ Practical generation tips (what the model should output)
|
|
|
48
48
|
|
|
49
49
|
API guardrails from the schema/prompt (must-follow)
|
|
50
50
|
|
|
51
|
-
- Row/Column/Card.Row/Card.Column: use `isWrap` (boolean), NOT `wrap`.
|
|
51
|
+
- Row/Column/Card.Row/Card.Column: use `isWrap` (boolean), NOT `wrap`. **IMPORTANT: `isWrap` defaults to `true`**, use `isWrap={false}` to prevent wrapping.
|
|
52
|
+
- Icon: **ONLY use icon names from the available list**: cross, success, error, warning, info, dot, check, arrowDown, arrowRight, arrowLeft, arrowForward, keyboardArrowDown, keyboardArrowUp, mobileMenu, home, slash, localShipping, favorite, favoriteOutlined, shoppingBag, paymentCard, accountCircle, portrait, deleteOutlined, minus, plus, edit, search, filter, ruler, attachment, upload, folder, folderOpen, contentCopy, fileCopy, eye, volumeUp, send, chat, chatBubble, phone, processing, wifiTethering, star, starOutlined, thumbUp, thumbDown, thumbUpFilled, thumbDownFilled, errorOutline. Do NOT use icons not in this list (e.g., no "settings", "close", "add", "info" icons).
|
|
52
53
|
- Image and Card.Image: `width` and `height` props are numbers only (e.g., `width={96}`), not strings like `"96px"`.
|
|
53
54
|
- Card.Title and other Card subcomponents: `sizeVariant` only accepts `CardSizeVariant.Default` or `CardSizeVariant.Sm`.
|
|
54
55
|
- Counter and Card.Counter: use `initial` (not `value`) for the starting quantity; use `onCounterChange` as the change handler.
|
|
55
|
-
- Button `variant` must be one of `ButtonVariant.
|
|
56
|
-
- Button `color` must be one of `ButtonColorVariant.Primary | ButtonColorVariant.Secondary`.
|
|
56
|
+
- Button `variant` must be one of `ButtonVariant.Primary | ButtonVariant.Secondary | ButtonVariant.Tertiary | ButtonVariant.Outlined | ButtonVariant.Text | ButtonVariant.Inherit`.
|
|
57
57
|
|
|
58
58
|
Component catalog
|
|
59
59
|
|
|
@@ -63,7 +63,7 @@ Component catalog
|
|
|
63
63
|
- The list includes layout, forms, feedback, display, navigation, and theme provider/hook entries. Always consult these when unsure.
|
|
64
64
|
- Quick categories (from schema v1.0.0):
|
|
65
65
|
- Theme: useTheme.provider (ThemeProvider), useTheme.hook (useTheme)
|
|
66
|
-
- Layout: FlexContainer, Column, Row, Wrapper, Scroll, Separator
|
|
66
|
+
- Layout: Box, FlexContainer, Column, Row, Wrapper, Scroll, Separator
|
|
67
67
|
- Forms: Form, Input, Select, Search, Label, Textarea, Switch, Toggle, RadioGroup, Slider, InputFile, DragAndDropFiles
|
|
68
68
|
- Feedback & overlays: InlineNotification, Loader, Skeleton, Snackbar, SnackbarManager, Tooltip, Modal, Portal
|
|
69
69
|
- Navigation & structure: Breadcrumbs, Tabs, Stepper, List, Accordion, Link
|
|
@@ -79,18 +79,92 @@ Patterns from stories (grounded tips)
|
|
|
79
79
|
- Accessibility: use `ariaDescribedBy` to connect helper/error text; set `readOnly`/`disabled` as needed; `autoFocus` is available.
|
|
80
80
|
- Limits and events: `maxLength` to constrain length; `onCustomResize` receives `{ height, width }` when user resizes.
|
|
81
81
|
- Buttons:
|
|
82
|
-
- Variants: `ButtonVariant.
|
|
82
|
+
- Variants: `ButtonVariant.Primary | Secondary | Tertiary | Outlined | Text | Inherit`. For icon-only buttons, set `isIcon`.
|
|
83
|
+
- Rounded: Use `rounded` prop with values: `none | xs | sm | md | lg | xl | round`. Use `round` for circular icon buttons.
|
|
83
84
|
- Forms and labels:
|
|
84
85
|
- Always provide a visible label via the `label` prop or a separate `<Label htmlFor>` paired with the input `name/id`. Wrap controls with `<Form>` and handle submit via `onSubmit`.
|
|
85
86
|
- Layout composition:
|
|
87
|
+
- Use `Box` as the foundational layout primitive with built-in flexbox support and interaction states. Box provides `variant` (horizontal/vertical), `isBordered`, `isHighlighted`, and `withShadowHover` props.
|
|
86
88
|
- Use `FlexContainer` with `Column`/`Row` and `gap` to manage spacing. Avoid raw CSS margins except where necessary.
|
|
89
|
+
- Prefer `Box` over raw divs for all container needs to maintain design system consistency and leverage built-in theming.
|
|
90
|
+
- Communication icons:
|
|
91
|
+
- Use `Icon name="chat"` for general chat or messaging functionality indicators
|
|
92
|
+
- Apply `Icon name="chatBubble"` for individual message bubbles or conversation threads
|
|
93
|
+
- Use `Icon name="phone"` for contact, calling, or communication features
|
|
94
|
+
- Combine with `ChatContainer` and `ChatBubble` components for complete chat interfaces
|
|
95
|
+
|
|
96
|
+
- Complete icon catalog (50+ icons organized by category):
|
|
97
|
+
- Status & Feedback: `cross`, `success`, `error`, `warning`, `info`, `dot`, `check`, `errorOutline`
|
|
98
|
+
- Navigation & Direction: `arrowDown`, `arrowRight`, `arrowLeft`, `arrowForward`, `keyboardArrowDown`, `keyboardArrowUp`
|
|
99
|
+
- UI & Interface: `mobileMenu`, `home`, `slash`
|
|
100
|
+
- E-commerce & Shopping: `localShipping`, `favorite`, `favoriteOutlined`, `shoppingBag`, `paymentCard`
|
|
101
|
+
- User & Account: `accountCircle`, `portrait`
|
|
102
|
+
- Actions & Operations: `deleteOutlined`, `minus`, `plus`, `edit`, `search`, `filter`, `ruler`
|
|
103
|
+
- File & Document: `attachment`, `upload`, `folder`, `folderOpen`, `contentCopy`, `fileCopy`
|
|
104
|
+
- Media & Communication: `eye`, `volumeUp`, `send`, `chat`, `chatBubble`, `phone`
|
|
105
|
+
- System & Technical: `processing`, `wifiTethering`
|
|
106
|
+
- Rating & Feedback: `star`, `starOutlined`, `thumbUp`, `thumbDown`, `thumbUpFilled`, `thumbDownFilled`
|
|
107
|
+
- TextArea component for multi-line text input:
|
|
108
|
+
- Use `Textarea` for detailed information like comments, descriptions, or messages
|
|
109
|
+
- Apply `dynamicHeightAdjustment={true}` for auto-growing text areas
|
|
110
|
+
- Set `maxLength` with character counter display for constrained input
|
|
111
|
+
- Use `resize="vertical"` for height adjustment while preventing horizontal resize
|
|
112
|
+
- Apply `minHeight` and `maxHeight` for size constraints with flexibility
|
|
113
|
+
- Combine with `Label` component using `htmlFor` for accessibility
|
|
114
|
+
- Use `rows` prop for initial visible height without CSS
|
|
115
|
+
- Apply `placeholder` with helpful instructions for user guidance
|
|
116
|
+
- Set `readOnly` with custom styles for display-only text
|
|
117
|
+
- Use with `Form` component and validation for required long-form fields
|
|
118
|
+
- Apply `onChange` with debouncing for auto-save features
|
|
119
|
+
- Combine with `InlineNotification` for validation messages
|
|
120
|
+
- Use `resize="none"` (default) for consistent layout
|
|
121
|
+
- Apply `autoFocus` for primary input fields
|
|
122
|
+
- Set with monospace font via `styles` for code or structured text
|
|
123
|
+
- Use `maxHeight` with overflow scrolling for bounded input areas
|
|
124
|
+
- Apply `dynamicHeightAdjustment` with `maxHeight` for auto-grow with limits
|
|
125
|
+
- Combine with word count display for word limits
|
|
126
|
+
- Use `disabled` during form submission
|
|
127
|
+
- Apply with consistent width or full-width for form alignment
|
|
128
|
+
- Set `onCustomResize` to track user resize preferences
|
|
129
|
+
- Use `defaultValue` for uncontrolled components
|
|
130
|
+
- Apply `value` with `onChange` for controlled components
|
|
131
|
+
- Combine with real-time preview for markdown or rich text editing
|
|
132
|
+
- Use `ariaDescribedBy` for screen reader accessibility
|
|
133
|
+
- Apply with border color changes based on validation state
|
|
134
|
+
- Set `resize="both"` for full user control in resizable panels
|
|
135
|
+
- Use with minimum `rows={3}` for better visual presence
|
|
136
|
+
- Apply with tab key handling for code editors
|
|
137
|
+
- Combine with floating label pattern for modern designs
|
|
138
|
+
- Use `maxLength` with preventOverflow logic
|
|
139
|
+
- Apply with line number display for code editing
|
|
140
|
+
- Set with spell check control for different content types
|
|
141
|
+
- Use in `Modal` for feedback forms
|
|
142
|
+
- Apply with paste event handling for content formatting
|
|
143
|
+
- Combine with emoji picker or formatting toolbar
|
|
144
|
+
- Use `rows` with `dynamicHeightAdjustment` for initial size with growth
|
|
145
|
+
- Apply with consistent padding and font size
|
|
146
|
+
- Use with keyboard shortcuts for power users
|
|
147
|
+
- Apply in `Card` components for comment sections
|
|
148
|
+
- Combine with mention/autocomplete functionality
|
|
149
|
+
- Use with draft saving to localStorage
|
|
150
|
+
- Apply `resize="horizontal"` rarely, only when width adjustment needed
|
|
151
|
+
- Set with custom scrollbar styling
|
|
152
|
+
- Use with focus and blur events for validation timing
|
|
153
|
+
- Apply with consistent error state styling
|
|
154
|
+
- Combine with file drop support
|
|
155
|
+
- Use `dynamicHeightAdjustment` for chat inputs and comments
|
|
156
|
+
- Constrain `maxHeight` to avoid screen takeover
|
|
157
|
+
- Prefer `resize="vertical"` for longer text areas
|
|
158
|
+
- Provide `ariaDescribedBy` for helper text or character counters
|
|
87
159
|
- Cards and images:
|
|
160
|
+
- `Card` now accepts all `Box` props including `variant`, `isBordered`, `isHighlighted`, and `withShadowHover`.
|
|
161
|
+
- Use `Card withShadowHover` for interactive/clickable cards with elevation effect on hover. Combine with `backgroundColor="#fff"` and `cursor: "pointer"` for better visibility.
|
|
88
162
|
- `Card.Title` uses `sizeVariant={CardSizeVariant.Default | CardSizeVariant.Sm}` only. `Card.Image` and `Image` require numeric `width`/`height` props.
|
|
89
163
|
|
|
90
164
|
Example: Correct usage
|
|
91
165
|
|
|
92
166
|
```
|
|
93
|
-
import { Form, Input, Button, Typography, FlexContainer, Column, Card, Link } from 'gd-design-library';
|
|
167
|
+
import { Form, Input, Button, Typography, Box, FlexContainer, Column, Card, Link } from 'gd-design-library';
|
|
94
168
|
|
|
95
169
|
export function LoginCard() {
|
|
96
170
|
return (
|
package/ai/codegen.d.ts
CHANGED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export type AIIntent = 'login';
|
|
2
|
-
export interface GenerateOptions {
|
|
3
|
-
componentName?: string;
|
|
4
|
-
}
|
|
5
|
-
/**
|
|
6
|
-
* Returns a TSX string for a classic Login page composed with gd-design-library components.
|
|
7
|
-
* The output is intentionally framework-agnostic TSX that can be pasted into a React project.
|
|
8
|
-
*/
|
|
9
|
-
export declare function generateLoginPageTSX(options?: GenerateOptions): string;
|
|
10
|
-
export declare function generateUIFromIntent(intent: AIIntent, options?: GenerateOptions): string;
|
package/ai/index.d.ts
CHANGED
|
@@ -3,6 +3,17 @@ declare const _default: {
|
|
|
3
3
|
name: string;
|
|
4
4
|
import: string;
|
|
5
5
|
description: string;
|
|
6
|
+
category: string;
|
|
7
|
+
complexity: string;
|
|
8
|
+
accessibility: string;
|
|
9
|
+
performance: string;
|
|
10
|
+
dependencies: string[];
|
|
11
|
+
peerDependencies: string[];
|
|
12
|
+
bundleSize: string;
|
|
13
|
+
browserSupport: string;
|
|
14
|
+
touchSupport: boolean;
|
|
15
|
+
keyboardSupport: boolean;
|
|
16
|
+
screenReaderSupport: boolean;
|
|
6
17
|
props: ({
|
|
7
18
|
name: string;
|
|
8
19
|
type: string;
|
|
@@ -28,7 +39,35 @@ declare const _default: {
|
|
|
28
39
|
required: boolean;
|
|
29
40
|
default?: undefined;
|
|
30
41
|
})[];
|
|
42
|
+
quickStart: {
|
|
43
|
+
basic: string;
|
|
44
|
+
controlled: string;
|
|
45
|
+
multiple: string;
|
|
46
|
+
faq: string;
|
|
47
|
+
};
|
|
48
|
+
commonPatterns: {
|
|
49
|
+
'FAQ Section': {
|
|
50
|
+
code: string;
|
|
51
|
+
useCase: string;
|
|
52
|
+
};
|
|
53
|
+
'Settings Panel': {
|
|
54
|
+
code: string;
|
|
55
|
+
useCase: string;
|
|
56
|
+
};
|
|
57
|
+
'Step-by-Step Guide': {
|
|
58
|
+
code: string;
|
|
59
|
+
useCase: string;
|
|
60
|
+
};
|
|
61
|
+
};
|
|
31
62
|
examples: string[];
|
|
63
|
+
troubleshooting: {
|
|
64
|
+
'Items not expanding': string;
|
|
65
|
+
'Multiple items not expanding': string;
|
|
66
|
+
'State not updating': string;
|
|
67
|
+
'Accessibility issues': string;
|
|
68
|
+
'Performance issues': string;
|
|
69
|
+
};
|
|
70
|
+
bestPractices: string[];
|
|
32
71
|
};
|
|
33
72
|
compositionTips: string[];
|
|
34
73
|
};
|
|
@@ -3,6 +3,17 @@ declare const _default: {
|
|
|
3
3
|
name: string;
|
|
4
4
|
import: string;
|
|
5
5
|
description: string;
|
|
6
|
+
category: string;
|
|
7
|
+
complexity: string;
|
|
8
|
+
accessibility: string;
|
|
9
|
+
performance: string;
|
|
10
|
+
dependencies: string[];
|
|
11
|
+
peerDependencies: string[];
|
|
12
|
+
bundleSize: string;
|
|
13
|
+
browserSupport: string;
|
|
14
|
+
touchSupport: boolean;
|
|
15
|
+
keyboardSupport: boolean;
|
|
16
|
+
screenReaderSupport: boolean;
|
|
6
17
|
props: ({
|
|
7
18
|
name: string;
|
|
8
19
|
type: string;
|
|
@@ -34,7 +45,40 @@ declare const _default: {
|
|
|
34
45
|
default: {};
|
|
35
46
|
enum?: undefined;
|
|
36
47
|
})[];
|
|
48
|
+
quickStart: {
|
|
49
|
+
basic: string;
|
|
50
|
+
initials: string;
|
|
51
|
+
withBadge: string;
|
|
52
|
+
icon: string;
|
|
53
|
+
online: string;
|
|
54
|
+
};
|
|
55
|
+
commonPatterns: {
|
|
56
|
+
'User Profile': {
|
|
57
|
+
code: string;
|
|
58
|
+
useCase: string;
|
|
59
|
+
};
|
|
60
|
+
'Comment Author': {
|
|
61
|
+
code: string;
|
|
62
|
+
useCase: string;
|
|
63
|
+
};
|
|
64
|
+
'Online Status': {
|
|
65
|
+
code: string;
|
|
66
|
+
useCase: string;
|
|
67
|
+
};
|
|
68
|
+
'Team Member': {
|
|
69
|
+
code: string;
|
|
70
|
+
useCase: string;
|
|
71
|
+
};
|
|
72
|
+
};
|
|
37
73
|
examples: string[];
|
|
74
|
+
troubleshooting: {
|
|
75
|
+
'Image not loading': string;
|
|
76
|
+
'Badge not showing': string;
|
|
77
|
+
'Size not applying': string;
|
|
78
|
+
'Accessibility issues': string;
|
|
79
|
+
'Fallback not working': string;
|
|
80
|
+
};
|
|
81
|
+
bestPractices: string[];
|
|
38
82
|
};
|
|
39
83
|
compositionTips: string[];
|
|
40
84
|
};
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
component: {
|
|
3
|
+
name: string;
|
|
4
|
+
import: string;
|
|
5
|
+
description: string;
|
|
6
|
+
category: string;
|
|
7
|
+
complexity: string;
|
|
8
|
+
accessibility: string;
|
|
9
|
+
performance: string;
|
|
10
|
+
dependencies: string[];
|
|
11
|
+
peerDependencies: string[];
|
|
12
|
+
bundleSize: string;
|
|
13
|
+
browserSupport: string;
|
|
14
|
+
touchSupport: boolean;
|
|
15
|
+
keyboardSupport: boolean;
|
|
16
|
+
screenReaderSupport: boolean;
|
|
17
|
+
props: ({
|
|
18
|
+
name: string;
|
|
19
|
+
type: string;
|
|
20
|
+
description: string;
|
|
21
|
+
default: string;
|
|
22
|
+
enum: string[];
|
|
23
|
+
required: boolean;
|
|
24
|
+
} | {
|
|
25
|
+
name: string;
|
|
26
|
+
type: string;
|
|
27
|
+
description: string;
|
|
28
|
+
default: boolean;
|
|
29
|
+
enum?: undefined;
|
|
30
|
+
required?: undefined;
|
|
31
|
+
} | {
|
|
32
|
+
name: string;
|
|
33
|
+
type: string;
|
|
34
|
+
description: string;
|
|
35
|
+
required: boolean;
|
|
36
|
+
default?: undefined;
|
|
37
|
+
enum?: undefined;
|
|
38
|
+
} | {
|
|
39
|
+
name: string;
|
|
40
|
+
type: string;
|
|
41
|
+
description: string;
|
|
42
|
+
default: number;
|
|
43
|
+
enum?: undefined;
|
|
44
|
+
required?: undefined;
|
|
45
|
+
} | {
|
|
46
|
+
name: string;
|
|
47
|
+
type: string;
|
|
48
|
+
description: string;
|
|
49
|
+
default?: undefined;
|
|
50
|
+
enum?: undefined;
|
|
51
|
+
required?: undefined;
|
|
52
|
+
} | {
|
|
53
|
+
name: string;
|
|
54
|
+
type: string;
|
|
55
|
+
description: string;
|
|
56
|
+
default: {};
|
|
57
|
+
enum?: undefined;
|
|
58
|
+
required?: undefined;
|
|
59
|
+
})[];
|
|
60
|
+
quickStart: {
|
|
61
|
+
basic: string;
|
|
62
|
+
horizontal: string;
|
|
63
|
+
bordered: string;
|
|
64
|
+
interactive: string;
|
|
65
|
+
centered: string;
|
|
66
|
+
};
|
|
67
|
+
commonPatterns: {
|
|
68
|
+
'Card Container': {
|
|
69
|
+
code: string;
|
|
70
|
+
useCase: string;
|
|
71
|
+
};
|
|
72
|
+
'Horizontal Layout': {
|
|
73
|
+
code: string;
|
|
74
|
+
useCase: string;
|
|
75
|
+
};
|
|
76
|
+
'Vertical Stack': {
|
|
77
|
+
code: string;
|
|
78
|
+
useCase: string;
|
|
79
|
+
};
|
|
80
|
+
'Centered Content': {
|
|
81
|
+
code: string;
|
|
82
|
+
useCase: string;
|
|
83
|
+
};
|
|
84
|
+
'Dashboard Section': {
|
|
85
|
+
code: string;
|
|
86
|
+
useCase: string;
|
|
87
|
+
};
|
|
88
|
+
};
|
|
89
|
+
examples: string[];
|
|
90
|
+
troubleshooting: {
|
|
91
|
+
'Children not aligning correctly': string;
|
|
92
|
+
'Hover effects not working': string;
|
|
93
|
+
'Border not showing': string;
|
|
94
|
+
'Gap not working': string;
|
|
95
|
+
'Focus ring not visible': string;
|
|
96
|
+
};
|
|
97
|
+
bestPractices: string[];
|
|
98
|
+
};
|
|
99
|
+
compositionTips: string[];
|
|
100
|
+
};
|
|
101
|
+
export default _default;
|
|
@@ -3,6 +3,17 @@ declare const _default: {
|
|
|
3
3
|
name: string;
|
|
4
4
|
import: string;
|
|
5
5
|
description: string;
|
|
6
|
+
category: string;
|
|
7
|
+
complexity: string;
|
|
8
|
+
accessibility: string;
|
|
9
|
+
performance: string;
|
|
10
|
+
dependencies: string[];
|
|
11
|
+
peerDependencies: string[];
|
|
12
|
+
bundleSize: string;
|
|
13
|
+
browserSupport: string;
|
|
14
|
+
touchSupport: boolean;
|
|
15
|
+
keyboardSupport: boolean;
|
|
16
|
+
screenReaderSupport: boolean;
|
|
6
17
|
props: ({
|
|
7
18
|
name: string;
|
|
8
19
|
type: string;
|
|
@@ -28,7 +39,35 @@ declare const _default: {
|
|
|
28
39
|
default: boolean;
|
|
29
40
|
required?: undefined;
|
|
30
41
|
})[];
|
|
42
|
+
quickStart: {
|
|
43
|
+
basic: string;
|
|
44
|
+
withIcon: string;
|
|
45
|
+
bordered: string;
|
|
46
|
+
custom: string;
|
|
47
|
+
};
|
|
48
|
+
commonPatterns: {
|
|
49
|
+
'E-commerce': {
|
|
50
|
+
code: string;
|
|
51
|
+
useCase: string;
|
|
52
|
+
};
|
|
53
|
+
Documentation: {
|
|
54
|
+
code: string;
|
|
55
|
+
useCase: string;
|
|
56
|
+
};
|
|
57
|
+
'Admin Panel': {
|
|
58
|
+
code: string;
|
|
59
|
+
useCase: string;
|
|
60
|
+
};
|
|
61
|
+
};
|
|
31
62
|
examples: string[];
|
|
63
|
+
troubleshooting: {
|
|
64
|
+
'Links not working': string;
|
|
65
|
+
'Separator not showing': string;
|
|
66
|
+
'Accessibility issues': string;
|
|
67
|
+
'Items not displaying': string;
|
|
68
|
+
'Styling issues': string;
|
|
69
|
+
};
|
|
70
|
+
bestPractices: string[];
|
|
32
71
|
};
|
|
33
72
|
compositionTips: string[];
|
|
34
73
|
};
|
|
@@ -3,6 +3,17 @@ declare const _default: {
|
|
|
3
3
|
name: string;
|
|
4
4
|
import: string;
|
|
5
5
|
description: string;
|
|
6
|
+
category: string;
|
|
7
|
+
complexity: string;
|
|
8
|
+
accessibility: string;
|
|
9
|
+
performance: string;
|
|
10
|
+
dependencies: string[];
|
|
11
|
+
peerDependencies: string[];
|
|
12
|
+
bundleSize: string;
|
|
13
|
+
browserSupport: string;
|
|
14
|
+
touchSupport: boolean;
|
|
15
|
+
keyboardSupport: boolean;
|
|
16
|
+
screenReaderSupport: boolean;
|
|
6
17
|
props: ({
|
|
7
18
|
name: string;
|
|
8
19
|
type: string;
|
|
@@ -10,13 +21,6 @@ declare const _default: {
|
|
|
10
21
|
default: string;
|
|
11
22
|
enum: string[];
|
|
12
23
|
required?: undefined;
|
|
13
|
-
} | {
|
|
14
|
-
name: string;
|
|
15
|
-
type: string;
|
|
16
|
-
description: string;
|
|
17
|
-
default: string;
|
|
18
|
-
enum?: undefined;
|
|
19
|
-
required?: undefined;
|
|
20
24
|
} | {
|
|
21
25
|
name: string;
|
|
22
26
|
type: string;
|
|
@@ -53,7 +57,41 @@ declare const _default: {
|
|
|
53
57
|
enum?: undefined;
|
|
54
58
|
required?: undefined;
|
|
55
59
|
})[];
|
|
60
|
+
quickStart: {
|
|
61
|
+
basic: string;
|
|
62
|
+
primary: string;
|
|
63
|
+
secondary: string;
|
|
64
|
+
rounded: string;
|
|
65
|
+
icon: string;
|
|
66
|
+
withIcon: string;
|
|
67
|
+
};
|
|
68
|
+
commonPatterns: {
|
|
69
|
+
'Primary Action': {
|
|
70
|
+
code: string;
|
|
71
|
+
useCase: string;
|
|
72
|
+
};
|
|
73
|
+
'Secondary Action': {
|
|
74
|
+
code: string;
|
|
75
|
+
useCase: string;
|
|
76
|
+
};
|
|
77
|
+
'Icon Button': {
|
|
78
|
+
code: string;
|
|
79
|
+
useCase: string;
|
|
80
|
+
};
|
|
81
|
+
'Form Submit': {
|
|
82
|
+
code: string;
|
|
83
|
+
useCase: string;
|
|
84
|
+
};
|
|
85
|
+
};
|
|
56
86
|
examples: string[];
|
|
87
|
+
troubleshooting: {
|
|
88
|
+
'Button not clickable': string;
|
|
89
|
+
'Accessibility issues': string;
|
|
90
|
+
'Styling not applied': string;
|
|
91
|
+
'Form submission not working': string;
|
|
92
|
+
'Icon not displaying': string;
|
|
93
|
+
};
|
|
94
|
+
bestPractices: string[];
|
|
57
95
|
};
|
|
58
96
|
compositionTips: string[];
|
|
59
97
|
};
|
|
@@ -3,6 +3,17 @@ declare const _default: {
|
|
|
3
3
|
name: string;
|
|
4
4
|
import: string;
|
|
5
5
|
description: string;
|
|
6
|
+
category: string;
|
|
7
|
+
complexity: string;
|
|
8
|
+
accessibility: string;
|
|
9
|
+
performance: string;
|
|
10
|
+
dependencies: string[];
|
|
11
|
+
peerDependencies: string[];
|
|
12
|
+
bundleSize: string;
|
|
13
|
+
browserSupport: string;
|
|
14
|
+
touchSupport: boolean;
|
|
15
|
+
keyboardSupport: boolean;
|
|
16
|
+
screenReaderSupport: boolean;
|
|
6
17
|
props: ({
|
|
7
18
|
name: string;
|
|
8
19
|
type: string;
|
|
@@ -39,7 +50,52 @@ declare const _default: {
|
|
|
39
50
|
default?: undefined;
|
|
40
51
|
enum?: undefined;
|
|
41
52
|
})[];
|
|
53
|
+
quickStart: {
|
|
54
|
+
basic: string;
|
|
55
|
+
bordered: string;
|
|
56
|
+
horizontal: string;
|
|
57
|
+
highlighted: string;
|
|
58
|
+
interactive: string;
|
|
59
|
+
combined: string;
|
|
60
|
+
scrollable: string;
|
|
61
|
+
};
|
|
62
|
+
commonPatterns: {
|
|
63
|
+
'E-commerce Product Card (Vertical)': {
|
|
64
|
+
code: string;
|
|
65
|
+
useCase: string;
|
|
66
|
+
};
|
|
67
|
+
'Horizontal Media Card': {
|
|
68
|
+
code: string;
|
|
69
|
+
useCase: string;
|
|
70
|
+
};
|
|
71
|
+
'Compact Interactive Card': {
|
|
72
|
+
code: string;
|
|
73
|
+
useCase: string;
|
|
74
|
+
};
|
|
75
|
+
'Simple Content Card': {
|
|
76
|
+
code: string;
|
|
77
|
+
useCase: string;
|
|
78
|
+
};
|
|
79
|
+
'Clickable Card with Shadow': {
|
|
80
|
+
code: string;
|
|
81
|
+
useCase: string;
|
|
82
|
+
};
|
|
83
|
+
'Combined Effects Card': {
|
|
84
|
+
code: string;
|
|
85
|
+
useCase: string;
|
|
86
|
+
};
|
|
87
|
+
};
|
|
42
88
|
examples: string[];
|
|
89
|
+
troubleshooting: {
|
|
90
|
+
'Content overflowing': string;
|
|
91
|
+
'Card too wide on large screens': string;
|
|
92
|
+
'Inconsistent spacing': string;
|
|
93
|
+
'Horizontal layout not working': string;
|
|
94
|
+
'Border not showing': string;
|
|
95
|
+
'Shadow hover not visible': string;
|
|
96
|
+
'Hover effects not working': string;
|
|
97
|
+
};
|
|
98
|
+
bestPractices: string[];
|
|
43
99
|
};
|
|
44
100
|
compositionTips: string[];
|
|
45
101
|
};
|
|
@@ -3,6 +3,17 @@ declare const _default: {
|
|
|
3
3
|
name: string;
|
|
4
4
|
import: string;
|
|
5
5
|
description: string;
|
|
6
|
+
category: string;
|
|
7
|
+
complexity: string;
|
|
8
|
+
accessibility: string;
|
|
9
|
+
performance: string;
|
|
10
|
+
dependencies: string[];
|
|
11
|
+
peerDependencies: string[];
|
|
12
|
+
bundleSize: string;
|
|
13
|
+
browserSupport: string;
|
|
14
|
+
touchSupport: boolean;
|
|
15
|
+
keyboardSupport: boolean;
|
|
16
|
+
screenReaderSupport: boolean;
|
|
6
17
|
props: ({
|
|
7
18
|
name: string;
|
|
8
19
|
type: string;
|
|
@@ -32,7 +43,39 @@ declare const _default: {
|
|
|
32
43
|
default?: undefined;
|
|
33
44
|
required?: undefined;
|
|
34
45
|
})[];
|
|
46
|
+
quickStart: {
|
|
47
|
+
question: string;
|
|
48
|
+
answer: string;
|
|
49
|
+
pending: string;
|
|
50
|
+
withActions: string;
|
|
51
|
+
};
|
|
52
|
+
commonPatterns: {
|
|
53
|
+
'User Question': {
|
|
54
|
+
code: string;
|
|
55
|
+
useCase: string;
|
|
56
|
+
};
|
|
57
|
+
'AI Response': {
|
|
58
|
+
code: string;
|
|
59
|
+
useCase: string;
|
|
60
|
+
};
|
|
61
|
+
'Typing Indicator': {
|
|
62
|
+
code: string;
|
|
63
|
+
useCase: string;
|
|
64
|
+
};
|
|
65
|
+
'System Message': {
|
|
66
|
+
code: string;
|
|
67
|
+
useCase: string;
|
|
68
|
+
};
|
|
69
|
+
};
|
|
35
70
|
examples: string[];
|
|
71
|
+
troubleshooting: {
|
|
72
|
+
'Actions not showing': string;
|
|
73
|
+
'Status not updating': string;
|
|
74
|
+
'Styling issues': string;
|
|
75
|
+
'Accessibility issues': string;
|
|
76
|
+
'Content not displaying': string;
|
|
77
|
+
};
|
|
78
|
+
bestPractices: string[];
|
|
36
79
|
};
|
|
37
80
|
compositionTips: string[];
|
|
38
81
|
};
|
|
@@ -3,6 +3,17 @@ declare const _default: {
|
|
|
3
3
|
name: string;
|
|
4
4
|
import: string;
|
|
5
5
|
description: string;
|
|
6
|
+
category: string;
|
|
7
|
+
complexity: string;
|
|
8
|
+
accessibility: string;
|
|
9
|
+
performance: string;
|
|
10
|
+
dependencies: string[];
|
|
11
|
+
peerDependencies: string[];
|
|
12
|
+
bundleSize: string;
|
|
13
|
+
browserSupport: string;
|
|
14
|
+
touchSupport: boolean;
|
|
15
|
+
keyboardSupport: boolean;
|
|
16
|
+
screenReaderSupport: boolean;
|
|
6
17
|
props: ({
|
|
7
18
|
name: string;
|
|
8
19
|
type: string;
|
|
@@ -3,6 +3,17 @@ declare const _default: {
|
|
|
3
3
|
name: string;
|
|
4
4
|
import: string;
|
|
5
5
|
description: string;
|
|
6
|
+
category: string;
|
|
7
|
+
complexity: string;
|
|
8
|
+
accessibility: string;
|
|
9
|
+
performance: string;
|
|
10
|
+
dependencies: string[];
|
|
11
|
+
peerDependencies: string[];
|
|
12
|
+
bundleSize: string;
|
|
13
|
+
browserSupport: string;
|
|
14
|
+
touchSupport: boolean;
|
|
15
|
+
keyboardSupport: boolean;
|
|
16
|
+
screenReaderSupport: boolean;
|
|
6
17
|
props: ({
|
|
7
18
|
name: string;
|
|
8
19
|
type: string;
|