@zidsa/zidmui 2.0.3 → 2.1.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/README.md +1 -1
- package/dist/react/cjs/components/app-checkbox.js +43 -0
- package/dist/react/cjs/components/app-checkbox.js.map +1 -0
- package/dist/react/cjs/components/app-dialog-with-features.js +85 -0
- package/dist/react/cjs/components/app-dialog-with-features.js.map +1 -0
- package/dist/react/cjs/components/app-dialog.js +52 -0
- package/dist/react/cjs/components/app-dialog.js.map +1 -0
- package/dist/react/cjs/components/app-empty-state.js +106 -0
- package/dist/react/cjs/components/app-empty-state.js.map +1 -0
- package/dist/react/cjs/components/app-icon-button.js +30 -0
- package/dist/react/cjs/components/app-icon-button.js.map +1 -0
- package/dist/react/cjs/components/app-input-radio-card.js +86 -0
- package/dist/react/cjs/components/app-input-radio-card.js.map +1 -0
- package/dist/react/cjs/components/app-input-radio.js +69 -0
- package/dist/react/cjs/components/app-input-radio.js.map +1 -0
- package/dist/react/cjs/components/app-pagination.js +19 -0
- package/dist/react/cjs/components/app-pagination.js.map +1 -0
- package/dist/react/cjs/components/app-radio-group.js +46 -0
- package/dist/react/cjs/components/app-radio-group.js.map +1 -0
- package/dist/react/cjs/components/app-status.js +4 -0
- package/dist/react/cjs/components/app-status.js.map +1 -1
- package/dist/react/cjs/components/app-switch-group.js +34 -0
- package/dist/react/cjs/components/app-switch-group.js.map +1 -0
- package/dist/react/cjs/components/app-switch.js +25 -0
- package/dist/react/cjs/components/app-switch.js.map +1 -0
- package/dist/react/cjs/components/app-tabs.js +51 -0
- package/dist/react/cjs/components/app-tabs.js.map +1 -0
- package/dist/react/cjs/stories/css/Button.stories.js +133 -0
- package/dist/react/cjs/stories/css/Button.stories.js.map +1 -0
- package/dist/react/cjs/stories/css/Card.stories.js +145 -0
- package/dist/react/cjs/stories/css/Card.stories.js.map +1 -0
- package/dist/react/cjs/stories/css/Checkbox.stories.js +138 -0
- package/dist/react/cjs/stories/css/Checkbox.stories.js.map +1 -0
- package/dist/react/cjs/stories/css/ComponentReference.stories.js +139 -0
- package/dist/react/cjs/stories/css/ComponentReference.stories.js.map +1 -0
- package/dist/react/cjs/stories/css/Input.stories.js +162 -0
- package/dist/react/cjs/stories/css/Input.stories.js.map +1 -0
- package/dist/react/cjs/stories/css/ListItem.stories.js +166 -0
- package/dist/react/cjs/stories/css/ListItem.stories.js.map +1 -0
- package/dist/react/cjs/stories/css/Modal.stories.js +121 -0
- package/dist/react/cjs/stories/css/Modal.stories.js.map +1 -0
- package/dist/react/cjs/stories/css/Radio.stories.js +118 -0
- package/dist/react/cjs/stories/css/Radio.stories.js.map +1 -0
- package/dist/react/cjs/stories/css/Select.stories.js +187 -0
- package/dist/react/cjs/stories/css/Select.stories.js.map +1 -0
- package/dist/react/cjs/stories/css/Status.stories.js +59 -0
- package/dist/react/cjs/stories/css/Status.stories.js.map +1 -0
- package/dist/react/cjs/stories/css/Switch.stories.js +136 -0
- package/dist/react/cjs/stories/css/Switch.stories.js.map +1 -0
- package/dist/react/cjs/stories/css/Table.stories.js +171 -0
- package/dist/react/cjs/stories/css/Table.stories.js.map +1 -0
- package/dist/react/cjs/stories/css/Tooltip.stories.js +99 -0
- package/dist/react/cjs/stories/css/Tooltip.stories.js.map +1 -0
- package/dist/react/cjs/stories/css/Utilities.stories.js +136 -0
- package/dist/react/cjs/stories/css/Utilities.stories.js.map +1 -0
- package/dist/react/cjs/stories/design/Colors.stories.js +8 -2
- package/dist/react/cjs/stories/design/Colors.stories.js.map +1 -1
- package/dist/react/cjs/stories/design/Typography.stories.js +116 -0
- package/dist/react/cjs/stories/design/Typography.stories.js.map +1 -0
- package/dist/react/cjs/stories/design/spacing/CSS.stories.js +61 -0
- package/dist/react/cjs/stories/design/spacing/CSS.stories.js.map +1 -0
- package/dist/react/cjs/stories/design/{Spacing.stories.js → spacing/React.stories.js} +8 -8
- package/dist/react/cjs/stories/design/spacing/React.stories.js.map +1 -0
- package/dist/react/cjs/stories/react/AppCheckbox.stories.js +67 -0
- package/dist/react/cjs/stories/react/AppCheckbox.stories.js.map +1 -0
- package/dist/react/cjs/stories/react/AppDialog.stories.js +129 -0
- package/dist/react/cjs/stories/react/AppDialog.stories.js.map +1 -0
- package/dist/react/cjs/stories/react/AppDialogWithFeatures.stories.js +127 -0
- package/dist/react/cjs/stories/react/AppDialogWithFeatures.stories.js.map +1 -0
- package/dist/react/cjs/stories/react/AppEmptyState.stories.js +157 -0
- package/dist/react/cjs/stories/react/AppEmptyState.stories.js.map +1 -0
- package/dist/react/cjs/stories/react/AppIconButton.stories.js +53 -0
- package/dist/react/cjs/stories/react/AppIconButton.stories.js.map +1 -0
- package/dist/react/cjs/stories/react/AppInputBase.stories.js +91 -72
- package/dist/react/cjs/stories/react/AppInputBase.stories.js.map +1 -1
- package/dist/react/cjs/stories/react/AppInputBaseSearch.stories.js +34 -26
- package/dist/react/cjs/stories/react/AppInputBaseSearch.stories.js.map +1 -1
- package/dist/react/cjs/stories/react/AppInputRadio.stories.js +262 -0
- package/dist/react/cjs/stories/react/AppInputRadio.stories.js.map +1 -0
- package/dist/react/cjs/stories/react/AppInputRadioCard.stories.js +126 -0
- package/dist/react/cjs/stories/react/AppInputRadioCard.stories.js.map +1 -0
- package/dist/react/cjs/stories/react/AppPagination.stories.js +71 -0
- package/dist/react/cjs/stories/react/AppPagination.stories.js.map +1 -0
- package/dist/react/cjs/stories/react/AppRadioGroup.stories.js +145 -0
- package/dist/react/cjs/stories/react/AppRadioGroup.stories.js.map +1 -0
- package/dist/react/cjs/stories/react/AppSwitch.stories.js +138 -0
- package/dist/react/cjs/stories/react/AppSwitch.stories.js.map +1 -0
- package/dist/react/cjs/stories/react/AppTabs.stories.js +100 -0
- package/dist/react/cjs/stories/react/AppTabs.stories.js.map +1 -0
- package/dist/react/cjs/theme/components/checkbox.js +18 -0
- package/dist/react/cjs/theme/components/checkbox.js.map +1 -0
- package/dist/react/cjs/theme/components/dialog.js +46 -0
- package/dist/react/cjs/theme/components/dialog.js.map +1 -0
- package/dist/react/cjs/theme/components/divider.js +11 -0
- package/dist/react/cjs/theme/components/divider.js.map +1 -0
- package/dist/react/cjs/theme/components/form-group.js +11 -0
- package/dist/react/cjs/theme/components/form-group.js.map +1 -0
- package/dist/react/cjs/theme/components/icon-button.js +137 -0
- package/dist/react/cjs/theme/components/icon-button.js.map +1 -0
- package/dist/react/cjs/theme/components/pagination.js +53 -0
- package/dist/react/cjs/theme/components/pagination.js.map +1 -0
- package/dist/react/cjs/theme/components/radio.js +88 -0
- package/dist/react/cjs/theme/components/radio.js.map +1 -0
- package/dist/react/cjs/theme/components/skeleton.js +9 -0
- package/dist/react/cjs/theme/components/skeleton.js.map +1 -0
- package/dist/react/cjs/theme/components/switch.js +145 -0
- package/dist/react/cjs/theme/components/switch.js.map +1 -0
- package/dist/react/cjs/theme/components/tab.js +11 -0
- package/dist/react/cjs/theme/components/tab.js.map +1 -0
- package/dist/react/cjs/theme/components/tabs.js +98 -0
- package/dist/react/cjs/theme/components/tabs.js.map +1 -0
- package/dist/react/cjs/theme/components.js +34 -5
- package/dist/react/cjs/theme/components.js.map +1 -1
- package/dist/react/cjs/theme/palette.js +30 -30
- package/dist/react/cjs/theme/palette.js.map +1 -1
- package/dist/react/es/components/app-checkbox.js +43 -0
- package/dist/react/es/components/app-checkbox.js.map +1 -0
- package/dist/react/es/components/app-dialog-with-features.js +85 -0
- package/dist/react/es/components/app-dialog-with-features.js.map +1 -0
- package/dist/react/es/components/app-dialog.js +52 -0
- package/dist/react/es/components/app-dialog.js.map +1 -0
- package/dist/react/es/components/app-empty-state.js +106 -0
- package/dist/react/es/components/app-empty-state.js.map +1 -0
- package/dist/react/es/components/app-icon-button.js +30 -0
- package/dist/react/es/components/app-icon-button.js.map +1 -0
- package/dist/react/es/components/app-input-radio-card.js +86 -0
- package/dist/react/es/components/app-input-radio-card.js.map +1 -0
- package/dist/react/es/components/app-input-radio.js +69 -0
- package/dist/react/es/components/app-input-radio.js.map +1 -0
- package/dist/react/es/components/app-pagination.js +19 -0
- package/dist/react/es/components/app-pagination.js.map +1 -0
- package/dist/react/es/components/app-radio-group.js +46 -0
- package/dist/react/es/components/app-radio-group.js.map +1 -0
- package/dist/react/es/components/app-status.js +4 -0
- package/dist/react/es/components/app-status.js.map +1 -1
- package/dist/react/es/components/app-switch-group.js +34 -0
- package/dist/react/es/components/app-switch-group.js.map +1 -0
- package/dist/react/es/components/app-switch.js +25 -0
- package/dist/react/es/components/app-switch.js.map +1 -0
- package/dist/react/es/components/app-tabs.js +51 -0
- package/dist/react/es/components/app-tabs.js.map +1 -0
- package/dist/react/es/stories/css/Button.stories.js +133 -0
- package/dist/react/es/stories/css/Button.stories.js.map +1 -0
- package/dist/react/es/stories/css/Card.stories.js +145 -0
- package/dist/react/es/stories/css/Card.stories.js.map +1 -0
- package/dist/react/es/stories/css/Checkbox.stories.js +138 -0
- package/dist/react/es/stories/css/Checkbox.stories.js.map +1 -0
- package/dist/react/es/stories/css/ComponentReference.stories.js +139 -0
- package/dist/react/es/stories/css/ComponentReference.stories.js.map +1 -0
- package/dist/react/es/stories/css/Input.stories.js +162 -0
- package/dist/react/es/stories/css/Input.stories.js.map +1 -0
- package/dist/react/es/stories/css/ListItem.stories.js +166 -0
- package/dist/react/es/stories/css/ListItem.stories.js.map +1 -0
- package/dist/react/es/stories/css/Modal.stories.js +121 -0
- package/dist/react/es/stories/css/Modal.stories.js.map +1 -0
- package/dist/react/es/stories/css/Radio.stories.js +118 -0
- package/dist/react/es/stories/css/Radio.stories.js.map +1 -0
- package/dist/react/es/stories/css/Select.stories.js +187 -0
- package/dist/react/es/stories/css/Select.stories.js.map +1 -0
- package/dist/react/es/stories/css/Status.stories.js +59 -0
- package/dist/react/es/stories/css/Status.stories.js.map +1 -0
- package/dist/react/es/stories/css/Switch.stories.js +136 -0
- package/dist/react/es/stories/css/Switch.stories.js.map +1 -0
- package/dist/react/es/stories/css/Table.stories.js +171 -0
- package/dist/react/es/stories/css/Table.stories.js.map +1 -0
- package/dist/react/es/stories/css/Tooltip.stories.js +99 -0
- package/dist/react/es/stories/css/Tooltip.stories.js.map +1 -0
- package/dist/react/es/stories/css/Utilities.stories.js +136 -0
- package/dist/react/es/stories/css/Utilities.stories.js.map +1 -0
- package/dist/react/es/stories/design/Colors.stories.js +8 -2
- package/dist/react/es/stories/design/Colors.stories.js.map +1 -1
- package/dist/react/es/stories/design/Typography.stories.js +116 -0
- package/dist/react/es/stories/design/Typography.stories.js.map +1 -0
- package/dist/react/es/stories/design/spacing/CSS.stories.js +61 -0
- package/dist/react/es/stories/design/spacing/CSS.stories.js.map +1 -0
- package/dist/react/es/stories/design/{Spacing.stories.js → spacing/React.stories.js} +8 -8
- package/dist/react/es/stories/design/spacing/React.stories.js.map +1 -0
- package/dist/react/es/stories/react/AppCheckbox.stories.js +67 -0
- package/dist/react/es/stories/react/AppCheckbox.stories.js.map +1 -0
- package/dist/react/es/stories/react/AppDialog.stories.js +129 -0
- package/dist/react/es/stories/react/AppDialog.stories.js.map +1 -0
- package/dist/react/es/stories/react/AppDialogWithFeatures.stories.js +127 -0
- package/dist/react/es/stories/react/AppDialogWithFeatures.stories.js.map +1 -0
- package/dist/react/es/stories/react/AppEmptyState.stories.js +157 -0
- package/dist/react/es/stories/react/AppEmptyState.stories.js.map +1 -0
- package/dist/react/es/stories/react/AppIconButton.stories.js +53 -0
- package/dist/react/es/stories/react/AppIconButton.stories.js.map +1 -0
- package/dist/react/es/stories/react/AppInputBase.stories.js +91 -72
- package/dist/react/es/stories/react/AppInputBase.stories.js.map +1 -1
- package/dist/react/es/stories/react/AppInputBaseSearch.stories.js +34 -26
- package/dist/react/es/stories/react/AppInputBaseSearch.stories.js.map +1 -1
- package/dist/react/es/stories/react/AppInputRadio.stories.js +262 -0
- package/dist/react/es/stories/react/AppInputRadio.stories.js.map +1 -0
- package/dist/react/es/stories/react/AppInputRadioCard.stories.js +126 -0
- package/dist/react/es/stories/react/AppInputRadioCard.stories.js.map +1 -0
- package/dist/react/es/stories/react/AppPagination.stories.js +71 -0
- package/dist/react/es/stories/react/AppPagination.stories.js.map +1 -0
- package/dist/react/es/stories/react/AppRadioGroup.stories.js +145 -0
- package/dist/react/es/stories/react/AppRadioGroup.stories.js.map +1 -0
- package/dist/react/es/stories/react/AppSwitch.stories.js +138 -0
- package/dist/react/es/stories/react/AppSwitch.stories.js.map +1 -0
- package/dist/react/es/stories/react/AppTabs.stories.js +100 -0
- package/dist/react/es/stories/react/AppTabs.stories.js.map +1 -0
- package/dist/react/es/theme/components/checkbox.js +18 -0
- package/dist/react/es/theme/components/checkbox.js.map +1 -0
- package/dist/react/es/theme/components/dialog.js +46 -0
- package/dist/react/es/theme/components/dialog.js.map +1 -0
- package/dist/react/es/theme/components/divider.js +11 -0
- package/dist/react/es/theme/components/divider.js.map +1 -0
- package/dist/react/es/theme/components/form-group.js +11 -0
- package/dist/react/es/theme/components/form-group.js.map +1 -0
- package/dist/react/es/theme/components/icon-button.js +137 -0
- package/dist/react/es/theme/components/icon-button.js.map +1 -0
- package/dist/react/es/theme/components/pagination.js +53 -0
- package/dist/react/es/theme/components/pagination.js.map +1 -0
- package/dist/react/es/theme/components/radio.js +88 -0
- package/dist/react/es/theme/components/radio.js.map +1 -0
- package/dist/react/es/theme/components/skeleton.js +9 -0
- package/dist/react/es/theme/components/skeleton.js.map +1 -0
- package/dist/react/es/theme/components/switch.js +145 -0
- package/dist/react/es/theme/components/switch.js.map +1 -0
- package/dist/react/es/theme/components/tab.js +11 -0
- package/dist/react/es/theme/components/tab.js.map +1 -0
- package/dist/react/es/theme/components/tabs.js +98 -0
- package/dist/react/es/theme/components/tabs.js.map +1 -0
- package/dist/react/es/theme/components.js +34 -5
- package/dist/react/es/theme/components.js.map +1 -1
- package/dist/react/es/theme/palette.js +20 -20
- package/dist/react/es/theme/palette.js.map +1 -1
- package/dist/react/types/components/app-checkbox.d.ts +11 -0
- package/dist/react/types/components/app-dialog-with-features.d.ts +16 -0
- package/dist/react/types/components/app-dialog.d.ts +15 -0
- package/dist/react/types/components/app-empty-state.d.ts +22 -0
- package/dist/react/types/components/app-icon-button.d.ts +14 -0
- package/dist/react/types/components/app-input-radio-card.d.ts +15 -0
- package/dist/react/types/components/app-input-radio.d.ts +24 -0
- package/dist/react/types/components/app-pagination.d.ts +5 -0
- package/dist/react/types/components/app-radio-group.d.ts +13 -0
- package/dist/react/types/components/app-status.d.ts +1 -1
- package/dist/react/types/components/app-switch-group.d.ts +13 -0
- package/dist/react/types/components/app-switch.d.ts +10 -0
- package/dist/react/types/components/app-tabs.d.ts +13 -0
- package/dist/react/types/stories/css/Button.stories.d.ts +15 -0
- package/dist/react/types/stories/css/Card.stories.d.ts +16 -0
- package/dist/react/types/stories/css/Checkbox.stories.d.ts +14 -0
- package/dist/react/types/stories/css/ComponentReference.stories.d.ts +13 -0
- package/dist/react/types/stories/css/Input.stories.d.ts +15 -0
- package/dist/react/types/stories/css/ListItem.stories.d.ts +15 -0
- package/dist/react/types/stories/css/Modal.stories.d.ts +14 -0
- package/dist/react/types/stories/css/Radio.stories.d.ts +13 -0
- package/dist/react/types/stories/css/Select.stories.d.ts +14 -0
- package/dist/react/types/stories/css/Status.stories.d.ts +11 -0
- package/dist/react/types/stories/css/Switch.stories.d.ts +14 -0
- package/dist/react/types/stories/css/Table.stories.d.ts +14 -0
- package/dist/react/types/stories/css/Tooltip.stories.d.ts +14 -0
- package/dist/react/types/stories/css/Utilities.stories.d.ts +12 -0
- package/dist/react/types/stories/design/Typography.stories.d.ts +12 -0
- package/dist/react/types/stories/design/spacing/CSS.stories.d.ts +11 -0
- package/dist/react/types/stories/react/AppCheckbox.stories.d.ts +32 -0
- package/dist/react/types/stories/react/AppDialog.stories.d.ts +31 -0
- package/dist/react/types/stories/react/AppDialogWithFeatures.stories.d.ts +22 -0
- package/dist/react/types/stories/react/AppEmptyState.stories.d.ts +39 -0
- package/dist/react/types/stories/react/AppIconButton.stories.d.ts +15 -0
- package/dist/react/types/stories/react/AppInputRadio.stories.d.ts +55 -0
- package/dist/react/types/stories/react/AppInputRadioCard.stories.d.ts +37 -0
- package/dist/react/types/stories/react/AppPagination.stories.d.ts +35 -0
- package/dist/react/types/stories/react/AppRadioGroup.stories.d.ts +44 -0
- package/dist/react/types/stories/react/AppSwitch.stories.d.ts +38 -0
- package/dist/react/types/stories/react/AppTabs.stories.d.ts +22 -0
- package/dist/react/types/theme/components/checkbox.d.ts +2 -0
- package/dist/react/types/theme/components/dialog.d.ts +5 -0
- package/dist/react/types/theme/components/divider.d.ts +2 -0
- package/dist/react/types/theme/components/form-group.d.ts +2 -0
- package/dist/react/types/theme/components/icon-button.d.ts +2 -0
- package/dist/react/types/theme/components/pagination.d.ts +2 -0
- package/dist/react/types/theme/components/radio.d.ts +2 -0
- package/dist/react/types/theme/components/skeleton.d.ts +2 -0
- package/dist/react/types/theme/components/switch.d.ts +2 -0
- package/dist/react/types/theme/components/tab.d.ts +2 -0
- package/dist/react/types/theme/components/tabs.d.ts +2 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/dist/react/cjs/node_modules/.pnpm/@mui_system@7.3.5_@emotion_react@11.14.0_@types_react@19.2.14_react@19.2.4__@emotion_st_11ad1bc919f221d0594f2562584c38ea/node_modules/@mui/system/esm/colorManipulator/colorManipulator.js +0 -102
- package/dist/react/cjs/node_modules/.pnpm/@mui_system@7.3.5_@emotion_react@11.14.0_@types_react@19.2.14_react@19.2.4__@emotion_st_11ad1bc919f221d0594f2562584c38ea/node_modules/@mui/system/esm/colorManipulator/colorManipulator.js.map +0 -1
- package/dist/react/cjs/node_modules/.pnpm/@mui_utils@7.3.5_@types_react@19.2.14_react@19.2.4/node_modules/@mui/utils/esm/clamp/clamp.js +0 -6
- package/dist/react/cjs/node_modules/.pnpm/@mui_utils@7.3.5_@types_react@19.2.14_react@19.2.4/node_modules/@mui/utils/esm/clamp/clamp.js.map +0 -1
- package/dist/react/cjs/node_modules/.pnpm/@mui_utils@7.3.5_@types_react@19.2.14_react@19.2.4/node_modules/@mui/utils/esm/formatMuiErrorMessage/formatMuiErrorMessage.js +0 -8
- package/dist/react/cjs/node_modules/.pnpm/@mui_utils@7.3.5_@types_react@19.2.14_react@19.2.4/node_modules/@mui/utils/esm/formatMuiErrorMessage/formatMuiErrorMessage.js.map +0 -1
- package/dist/react/cjs/stories/design/Spacing.stories.js.map +0 -1
- package/dist/react/es/node_modules/.pnpm/@mui_system@7.3.5_@emotion_react@11.14.0_@types_react@19.2.14_react@19.2.4__@emotion_st_11ad1bc919f221d0594f2562584c38ea/node_modules/@mui/system/esm/colorManipulator/colorManipulator.js +0 -102
- package/dist/react/es/node_modules/.pnpm/@mui_system@7.3.5_@emotion_react@11.14.0_@types_react@19.2.14_react@19.2.4__@emotion_st_11ad1bc919f221d0594f2562584c38ea/node_modules/@mui/system/esm/colorManipulator/colorManipulator.js.map +0 -1
- package/dist/react/es/node_modules/.pnpm/@mui_utils@7.3.5_@types_react@19.2.14_react@19.2.4/node_modules/@mui/utils/esm/clamp/clamp.js +0 -7
- package/dist/react/es/node_modules/.pnpm/@mui_utils@7.3.5_@types_react@19.2.14_react@19.2.4/node_modules/@mui/utils/esm/clamp/clamp.js.map +0 -1
- package/dist/react/es/node_modules/.pnpm/@mui_utils@7.3.5_@types_react@19.2.14_react@19.2.4/node_modules/@mui/utils/esm/formatMuiErrorMessage/formatMuiErrorMessage.js +0 -9
- package/dist/react/es/node_modules/.pnpm/@mui_utils@7.3.5_@types_react@19.2.14_react@19.2.4/node_modules/@mui/utils/esm/formatMuiErrorMessage/formatMuiErrorMessage.js.map +0 -1
- package/dist/react/es/stories/design/Spacing.stories.js.map +0 -1
- /package/dist/react/types/stories/design/{Spacing.stories.d.ts → spacing/React.stories.d.ts} +0 -0
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
/* empty css */
|
|
3
|
+
const meta = {
|
|
4
|
+
title: "Design System/Typography/CSS",
|
|
5
|
+
parameters: {
|
|
6
|
+
layout: "fullscreen"
|
|
7
|
+
}
|
|
8
|
+
};
|
|
9
|
+
const CSSTypography = {
|
|
10
|
+
render: () => /* @__PURE__ */ jsxs("div", { style: { padding: "24px", maxWidth: "900px", fontFamily: "var(--zid-font-family)" }, children: [
|
|
11
|
+
/* @__PURE__ */ jsxs("div", { style: { marginBottom: "32px" }, children: [
|
|
12
|
+
/* @__PURE__ */ jsx("h2", { style: { marginBottom: "8px" }, children: "Typography Scale" }),
|
|
13
|
+
/* @__PURE__ */ jsxs("p", { style: { color: "var(--zid-text-secondary)" }, children: [
|
|
14
|
+
"Access typography via CSS variables: ",
|
|
15
|
+
/* @__PURE__ */ jsx("code", { children: "var(--zid-font-{property})" })
|
|
16
|
+
] })
|
|
17
|
+
] }),
|
|
18
|
+
/* @__PURE__ */ jsxs("div", { style: { marginBottom: "48px" }, children: [
|
|
19
|
+
/* @__PURE__ */ jsx("h3", { style: { marginBottom: "16px" }, children: "Font Family" }),
|
|
20
|
+
/* @__PURE__ */ jsxs("div", { style: { padding: "20px", background: "var(--zid-base-neutral)", borderRadius: "8px", marginBottom: "16px" }, children: [
|
|
21
|
+
/* @__PURE__ */ jsx("p", { style: { fontSize: "24px", margin: 0 }, children: "IBM Plex Sans Arabic" }),
|
|
22
|
+
/* @__PURE__ */ jsx("p", { style: { fontSize: "14px", color: "var(--zid-text-secondary)", margin: "8px 0 0 0" }, children: "The quick brown fox jumps over the lazy dog" })
|
|
23
|
+
] }),
|
|
24
|
+
/* @__PURE__ */ jsx("pre", { style: { background: "#1f0433", color: "#fff", padding: "16px", borderRadius: "8px", fontSize: "13px", margin: 0 }, children: `font-family: var(--zid-font-family);` })
|
|
25
|
+
] }),
|
|
26
|
+
/* @__PURE__ */ jsxs("div", { style: { marginBottom: "48px" }, children: [
|
|
27
|
+
/* @__PURE__ */ jsx("h3", { style: { marginBottom: "16px" }, children: "Font Sizes" }),
|
|
28
|
+
/* @__PURE__ */ jsx("div", { style: { display: "flex", flexDirection: "column", gap: "16px" }, children: [
|
|
29
|
+
{ name: "4xl (36px)", var: "--zid-font-size-4xl" },
|
|
30
|
+
{ name: "3xl (30px)", var: "--zid-font-size-3xl" },
|
|
31
|
+
{ name: "2xl (24px)", var: "--zid-font-size-2xl" },
|
|
32
|
+
{ name: "xl (20px)", var: "--zid-font-size-xl" },
|
|
33
|
+
{ name: "lg (18px)", var: "--zid-font-size-lg" },
|
|
34
|
+
{ name: "base (16px)", var: "--zid-font-size-base" },
|
|
35
|
+
{ name: "sm (14px)", var: "--zid-font-size-sm" },
|
|
36
|
+
{ name: "xs (12px)", var: "--zid-font-size-xs" }
|
|
37
|
+
].map((size) => /* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "baseline", gap: "16px", padding: "12px 0", borderBottom: "1px solid var(--zid-divider)" }, children: [
|
|
38
|
+
/* @__PURE__ */ jsx("div", { style: { width: "100px", fontFamily: "monospace", fontSize: "13px", color: "var(--zid-text-secondary)" }, children: size.name }),
|
|
39
|
+
/* @__PURE__ */ jsx("div", { style: { fontSize: `var(${size.var})`, flex: 1 }, children: "Heading Text" })
|
|
40
|
+
] }, size.name)) })
|
|
41
|
+
] })
|
|
42
|
+
] })
|
|
43
|
+
};
|
|
44
|
+
const FontWeights = {
|
|
45
|
+
render: () => /* @__PURE__ */ jsxs("div", { style: { padding: "24px", maxWidth: "900px", fontFamily: "var(--zid-font-family)" }, children: [
|
|
46
|
+
/* @__PURE__ */ jsx("h2", { style: { marginBottom: "24px" }, children: "Font Weights" }),
|
|
47
|
+
/* @__PURE__ */ jsxs("div", { style: { display: "flex", flexDirection: "column", gap: "16px", marginBottom: "32px" }, children: [
|
|
48
|
+
/* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: "16px", padding: "16px", background: "var(--zid-base-neutral)", borderRadius: "8px" }, children: [
|
|
49
|
+
/* @__PURE__ */ jsx("div", { style: { width: "120px", fontFamily: "monospace", fontSize: "13px" }, children: "regular (400)" }),
|
|
50
|
+
/* @__PURE__ */ jsx("div", { style: { fontSize: "24px", fontWeight: "var(--zid-font-weight-regular)", flex: 1 }, children: "The quick brown fox" })
|
|
51
|
+
] }),
|
|
52
|
+
/* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: "16px", padding: "16px", background: "var(--zid-base-neutral)", borderRadius: "8px" }, children: [
|
|
53
|
+
/* @__PURE__ */ jsx("div", { style: { width: "120px", fontFamily: "monospace", fontSize: "13px" }, children: "medium (500)" }),
|
|
54
|
+
/* @__PURE__ */ jsx("div", { style: { fontSize: "24px", fontWeight: "var(--zid-font-weight-medium)", flex: 1 }, children: "The quick brown fox" })
|
|
55
|
+
] }),
|
|
56
|
+
/* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: "16px", padding: "16px", background: "var(--zid-base-neutral)", borderRadius: "8px" }, children: [
|
|
57
|
+
/* @__PURE__ */ jsx("div", { style: { width: "120px", fontFamily: "monospace", fontSize: "13px" }, children: "semibold (600)" }),
|
|
58
|
+
/* @__PURE__ */ jsx("div", { style: { fontSize: "24px", fontWeight: "var(--zid-font-weight-semibold)", flex: 1 }, children: "The quick brown fox" })
|
|
59
|
+
] }),
|
|
60
|
+
/* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: "16px", padding: "16px", background: "var(--zid-base-neutral)", borderRadius: "8px" }, children: [
|
|
61
|
+
/* @__PURE__ */ jsx("div", { style: { width: "120px", fontFamily: "monospace", fontSize: "13px" }, children: "bold (700)" }),
|
|
62
|
+
/* @__PURE__ */ jsx("div", { style: { fontSize: "24px", fontWeight: "var(--zid-font-weight-bold)", flex: 1 }, children: "The quick brown fox" })
|
|
63
|
+
] })
|
|
64
|
+
] }),
|
|
65
|
+
/* @__PURE__ */ jsx("pre", { style: { background: "#1f0433", color: "#fff", padding: "16px", borderRadius: "8px", fontSize: "13px" }, children: `font-weight: var(--zid-font-weight-regular); /* 400 */
|
|
66
|
+
font-weight: var(--zid-font-weight-medium); /* 500 */
|
|
67
|
+
font-weight: var(--zid-font-weight-semibold); /* 600 */
|
|
68
|
+
font-weight: var(--zid-font-weight-bold); /* 700 */` })
|
|
69
|
+
] })
|
|
70
|
+
};
|
|
71
|
+
const UsageExamples = {
|
|
72
|
+
render: () => /* @__PURE__ */ jsxs("div", { style: { padding: "24px", maxWidth: "900px", fontFamily: "var(--zid-font-family)" }, children: [
|
|
73
|
+
/* @__PURE__ */ jsx("h2", { style: { marginBottom: "24px" }, children: "Usage Examples" }),
|
|
74
|
+
/* @__PURE__ */ jsxs("div", { style: { display: "flex", flexDirection: "column", gap: "48px" }, children: [
|
|
75
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
76
|
+
/* @__PURE__ */ jsx("h3", { style: { marginBottom: "16px" }, children: "Page Header" }),
|
|
77
|
+
/* @__PURE__ */ jsxs("div", { style: { padding: "24px", background: "var(--zid-base-neutral)", borderRadius: "8px", marginBottom: "16px" }, children: [
|
|
78
|
+
/* @__PURE__ */ jsx("h1", { style: { fontSize: "var(--zid-font-size-3xl)", fontWeight: "var(--zid-font-weight-bold)", margin: "0 0 8px 0" }, children: "Dashboard Overview" }),
|
|
79
|
+
/* @__PURE__ */ jsx("p", { style: { fontSize: "var(--zid-font-size-base)", color: "var(--zid-text-secondary)", margin: 0 }, children: "Welcome back! Here's what's happening today." })
|
|
80
|
+
] }),
|
|
81
|
+
/* @__PURE__ */ jsx("pre", { style: { background: "#1f0433", color: "#fff", padding: "16px", borderRadius: "8px", fontSize: "13px", margin: 0 }, children: `.page-title {
|
|
82
|
+
font-size: var(--zid-font-size-3xl);
|
|
83
|
+
font-weight: var(--zid-font-weight-bold);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.page-subtitle {
|
|
87
|
+
font-size: var(--zid-font-size-base);
|
|
88
|
+
color: var(--zid-text-secondary);
|
|
89
|
+
}` })
|
|
90
|
+
] }),
|
|
91
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
92
|
+
/* @__PURE__ */ jsx("h3", { style: { marginBottom: "16px" }, children: "Card Content" }),
|
|
93
|
+
/* @__PURE__ */ jsxs("div", { className: "zid-card zid-card--elevation-1", style: { padding: "20px", marginBottom: "16px" }, children: [
|
|
94
|
+
/* @__PURE__ */ jsx("h4", { style: { fontSize: "var(--zid-font-size-lg)", fontWeight: "var(--zid-font-weight-semibold)", margin: "0 0 8px 0" }, children: "Card Title" }),
|
|
95
|
+
/* @__PURE__ */ jsx("p", { style: { fontSize: "var(--zid-font-size-sm)", color: "var(--zid-text-secondary)", lineHeight: "var(--zid-line-height-normal)", margin: 0 }, children: "This is the card description with proper typography settings applied." })
|
|
96
|
+
] }),
|
|
97
|
+
/* @__PURE__ */ jsx("pre", { style: { background: "#1f0433", color: "#fff", padding: "16px", borderRadius: "8px", fontSize: "13px", margin: 0 }, children: `.card-title {
|
|
98
|
+
font-size: var(--zid-font-size-lg);
|
|
99
|
+
font-weight: var(--zid-font-weight-semibold);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.card-description {
|
|
103
|
+
font-size: var(--zid-font-size-sm);
|
|
104
|
+
line-height: var(--zid-line-height-normal);
|
|
105
|
+
}` })
|
|
106
|
+
] })
|
|
107
|
+
] })
|
|
108
|
+
] })
|
|
109
|
+
};
|
|
110
|
+
export {
|
|
111
|
+
CSSTypography,
|
|
112
|
+
FontWeights,
|
|
113
|
+
UsageExamples,
|
|
114
|
+
meta as default
|
|
115
|
+
};
|
|
116
|
+
//# sourceMappingURL=Typography.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Typography.stories.js","sources":["../../../../../src/stories/design/Typography.stories.tsx"],"sourcesContent":["import type { StoryObj } from '@storybook/react-vite';\nimport '../../css/index.css';\n\nconst meta = {\n title: 'Design System/Typography/CSS',\n parameters: {\n layout: 'fullscreen',\n },\n};\n\nexport default meta;\ntype Story = StoryObj<typeof meta>;\n\nexport const CSSTypography: Story = {\n render: () => (\n <div style={{ padding: '24px', maxWidth: '900px', fontFamily: 'var(--zid-font-family)' }}>\n <div style={{ marginBottom: '32px' }}>\n <h2 style={{ marginBottom: '8px' }}>Typography Scale</h2>\n <p style={{ color: 'var(--zid-text-secondary)' }}>Access typography via CSS variables: <code>var(--zid-font-{property})</code></p>\n </div>\n\n <div style={{ marginBottom: '48px' }}>\n <h3 style={{ marginBottom: '16px' }}>Font Family</h3>\n <div style={{ padding: '20px', background: 'var(--zid-base-neutral)', borderRadius: '8px', marginBottom: '16px' }}>\n <p style={{ fontSize: '24px', margin: 0 }}>IBM Plex Sans Arabic</p>\n <p style={{ fontSize: '14px', color: 'var(--zid-text-secondary)', margin: '8px 0 0 0' }}>The quick brown fox jumps over the lazy dog</p>\n </div>\n <pre style={{ background: '#1f0433', color: '#fff', padding: '16px', borderRadius: '8px', fontSize: '13px', margin: 0 }}>\n{`font-family: var(--zid-font-family);`}\n </pre>\n </div>\n\n <div style={{ marginBottom: '48px' }}>\n <h3 style={{ marginBottom: '16px' }}>Font Sizes</h3>\n <div style={{ display: 'flex', flexDirection: 'column', gap: '16px' }}>\n {[\n { name: '4xl (36px)', var: '--zid-font-size-4xl' },\n { name: '3xl (30px)', var: '--zid-font-size-3xl' },\n { name: '2xl (24px)', var: '--zid-font-size-2xl' },\n { name: 'xl (20px)', var: '--zid-font-size-xl' },\n { name: 'lg (18px)', var: '--zid-font-size-lg' },\n { name: 'base (16px)', var: '--zid-font-size-base' },\n { name: 'sm (14px)', var: '--zid-font-size-sm' },\n { name: 'xs (12px)', var: '--zid-font-size-xs' },\n ].map(size => (\n <div key={size.name} style={{ display: 'flex', alignItems: 'baseline', gap: '16px', padding: '12px 0', borderBottom: '1px solid var(--zid-divider)' }}>\n <div style={{ width: '100px', fontFamily: 'monospace', fontSize: '13px', color: 'var(--zid-text-secondary)' }}>{size.name}</div>\n <div style={{ fontSize: `var(${size.var})`, flex: 1 }}>Heading Text</div>\n </div>\n ))}\n </div>\n </div>\n </div>\n ),\n};\n\nexport const FontWeights: Story = {\n render: () => (\n <div style={{ padding: '24px', maxWidth: '900px', fontFamily: 'var(--zid-font-family)' }}>\n <h2 style={{ marginBottom: '24px' }}>Font Weights</h2>\n <div style={{ display: 'flex', flexDirection: 'column', gap: '16px', marginBottom: '32px' }}>\n <div style={{ display: 'flex', alignItems: 'center', gap: '16px', padding: '16px', background: 'var(--zid-base-neutral)', borderRadius: '8px' }}>\n <div style={{ width: '120px', fontFamily: 'monospace', fontSize: '13px' }}>regular (400)</div>\n <div style={{ fontSize: '24px', fontWeight: 'var(--zid-font-weight-regular)', flex: 1 }}>The quick brown fox</div>\n </div>\n <div style={{ display: 'flex', alignItems: 'center', gap: '16px', padding: '16px', background: 'var(--zid-base-neutral)', borderRadius: '8px' }}>\n <div style={{ width: '120px', fontFamily: 'monospace', fontSize: '13px' }}>medium (500)</div>\n <div style={{ fontSize: '24px', fontWeight: 'var(--zid-font-weight-medium)', flex: 1 }}>The quick brown fox</div>\n </div>\n <div style={{ display: 'flex', alignItems: 'center', gap: '16px', padding: '16px', background: 'var(--zid-base-neutral)', borderRadius: '8px' }}>\n <div style={{ width: '120px', fontFamily: 'monospace', fontSize: '13px' }}>semibold (600)</div>\n <div style={{ fontSize: '24px', fontWeight: 'var(--zid-font-weight-semibold)', flex: 1 }}>The quick brown fox</div>\n </div>\n <div style={{ display: 'flex', alignItems: 'center', gap: '16px', padding: '16px', background: 'var(--zid-base-neutral)', borderRadius: '8px' }}>\n <div style={{ width: '120px', fontFamily: 'monospace', fontSize: '13px' }}>bold (700)</div>\n <div style={{ fontSize: '24px', fontWeight: 'var(--zid-font-weight-bold)', flex: 1 }}>The quick brown fox</div>\n </div>\n </div>\n <pre style={{ background: '#1f0433', color: '#fff', padding: '16px', borderRadius: '8px', fontSize: '13px' }}>\n{`font-weight: var(--zid-font-weight-regular); /* 400 */\nfont-weight: var(--zid-font-weight-medium); /* 500 */\nfont-weight: var(--zid-font-weight-semibold); /* 600 */\nfont-weight: var(--zid-font-weight-bold); /* 700 */`}\n </pre>\n </div>\n ),\n};\n\nexport const UsageExamples: Story = {\n render: () => (\n <div style={{ padding: '24px', maxWidth: '900px', fontFamily: 'var(--zid-font-family)' }}>\n <h2 style={{ marginBottom: '24px' }}>Usage Examples</h2>\n <div style={{ display: 'flex', flexDirection: 'column', gap: '48px' }}>\n <div>\n <h3 style={{ marginBottom: '16px' }}>Page Header</h3>\n <div style={{ padding: '24px', background: 'var(--zid-base-neutral)', borderRadius: '8px', marginBottom: '16px' }}>\n <h1 style={{ fontSize: 'var(--zid-font-size-3xl)', fontWeight: 'var(--zid-font-weight-bold)', margin: '0 0 8px 0' }}>Dashboard Overview</h1>\n <p style={{ fontSize: 'var(--zid-font-size-base)', color: 'var(--zid-text-secondary)', margin: 0 }}>Welcome back! Here's what's happening today.</p>\n </div>\n <pre style={{ background: '#1f0433', color: '#fff', padding: '16px', borderRadius: '8px', fontSize: '13px', margin: 0 }}>\n{`.page-title {\n font-size: var(--zid-font-size-3xl);\n font-weight: var(--zid-font-weight-bold);\n}\n\n.page-subtitle {\n font-size: var(--zid-font-size-base);\n color: var(--zid-text-secondary);\n}`}\n </pre>\n </div>\n <div>\n <h3 style={{ marginBottom: '16px' }}>Card Content</h3>\n <div className=\"zid-card zid-card--elevation-1\" style={{ padding: '20px', marginBottom: '16px' }}>\n <h4 style={{ fontSize: 'var(--zid-font-size-lg)', fontWeight: 'var(--zid-font-weight-semibold)', margin: '0 0 8px 0' }}>Card Title</h4>\n <p style={{ fontSize: 'var(--zid-font-size-sm)', color: 'var(--zid-text-secondary)', lineHeight: 'var(--zid-line-height-normal)', margin: 0 }}>This is the card description with proper typography settings applied.</p>\n </div>\n <pre style={{ background: '#1f0433', color: '#fff', padding: '16px', borderRadius: '8px', fontSize: '13px', margin: 0 }}>\n{`.card-title {\n font-size: var(--zid-font-size-lg);\n font-weight: var(--zid-font-weight-semibold);\n}\n\n.card-description {\n font-size: var(--zid-font-size-sm);\n line-height: var(--zid-line-height-normal);\n}`}\n </pre>\n </div>\n </div>\n </div>\n ),\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
/* empty css */
|
|
3
|
+
const meta = {
|
|
4
|
+
title: "Design System/Spacing/CSS",
|
|
5
|
+
parameters: {
|
|
6
|
+
layout: "fullscreen"
|
|
7
|
+
},
|
|
8
|
+
tags: ["autodocs"]
|
|
9
|
+
};
|
|
10
|
+
const spacingTokens = [
|
|
11
|
+
{ name: "0", px: "0px" },
|
|
12
|
+
{ name: "0-25", px: "2px" },
|
|
13
|
+
{ name: "0-5", px: "4px" },
|
|
14
|
+
{ name: "0-75", px: "6px" },
|
|
15
|
+
{ name: "1", px: "8px" },
|
|
16
|
+
{ name: "1-5", px: "12px" },
|
|
17
|
+
{ name: "2", px: "16px" },
|
|
18
|
+
{ name: "2-5", px: "20px" },
|
|
19
|
+
{ name: "3", px: "24px" },
|
|
20
|
+
{ name: "3-5", px: "28px" },
|
|
21
|
+
{ name: "4", px: "32px" },
|
|
22
|
+
{ name: "5", px: "40px" },
|
|
23
|
+
{ name: "6", px: "48px" },
|
|
24
|
+
{ name: "7", px: "56px" },
|
|
25
|
+
{ name: "8", px: "64px" },
|
|
26
|
+
{ name: "9", px: "72px" },
|
|
27
|
+
{ name: "10", px: "80px" },
|
|
28
|
+
{ name: "11", px: "88px" },
|
|
29
|
+
{ name: "12", px: "96px" }
|
|
30
|
+
];
|
|
31
|
+
const SpacingScale = {
|
|
32
|
+
render: () => /* @__PURE__ */ jsxs("div", { style: { padding: "24px", maxWidth: "900px", fontFamily: "var(--zid-font-family)" }, children: [
|
|
33
|
+
/* @__PURE__ */ jsxs("div", { style: { marginBottom: "32px" }, children: [
|
|
34
|
+
/* @__PURE__ */ jsx("h2", { style: { marginBottom: "8px" }, children: "CSS Spacing Scale" }),
|
|
35
|
+
/* @__PURE__ */ jsxs("p", { style: { color: "var(--zid-text-secondary)", marginBottom: "8px" }, children: [
|
|
36
|
+
/* @__PURE__ */ jsx("strong", { children: "How to use in CSS:" }),
|
|
37
|
+
" ",
|
|
38
|
+
/* @__PURE__ */ jsx("code", { children: "var(--zid-spacing-{value})" })
|
|
39
|
+
] })
|
|
40
|
+
] }),
|
|
41
|
+
/* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: "16px", padding: "12px 0", borderBottom: "2px solid var(--zid-divider)", fontWeight: 600, fontSize: "14px" }, children: [
|
|
42
|
+
/* @__PURE__ */ jsx("div", { style: { width: "80px" }, children: "Token" }),
|
|
43
|
+
/* @__PURE__ */ jsx("div", { style: { width: "60px" }, children: "Value" }),
|
|
44
|
+
/* @__PURE__ */ jsx("div", { style: { flex: 1 }, children: "Preview (gap between boxes)" })
|
|
45
|
+
] }),
|
|
46
|
+
spacingTokens.map((token) => /* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: "16px", padding: "12px 0", borderBottom: "1px solid var(--zid-divider)" }, children: [
|
|
47
|
+
/* @__PURE__ */ jsx("div", { style: { width: "80px", fontFamily: "monospace", fontSize: "14px" }, children: token.name }),
|
|
48
|
+
/* @__PURE__ */ jsx("div", { style: { width: "60px", color: "var(--zid-text-secondary)", fontSize: "14px" }, children: token.px }),
|
|
49
|
+
/* @__PURE__ */ jsxs("div", { style: { flex: 1, display: "flex", gap: token.px }, children: [
|
|
50
|
+
/* @__PURE__ */ jsx("div", { style: { width: "40px", height: "40px", backgroundColor: "var(--zid-primary-main)", borderRadius: "4px" } }),
|
|
51
|
+
/* @__PURE__ */ jsx("div", { style: { width: "40px", height: "40px", backgroundColor: "var(--zid-primary-main)", borderRadius: "4px" } }),
|
|
52
|
+
/* @__PURE__ */ jsx("div", { style: { width: "40px", height: "40px", backgroundColor: "var(--zid-primary-main)", borderRadius: "4px" } })
|
|
53
|
+
] })
|
|
54
|
+
] }, token.name))
|
|
55
|
+
] })
|
|
56
|
+
};
|
|
57
|
+
export {
|
|
58
|
+
SpacingScale,
|
|
59
|
+
meta as default
|
|
60
|
+
};
|
|
61
|
+
//# sourceMappingURL=CSS.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CSS.stories.js","sources":["../../../../../../src/stories/design/spacing/CSS.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from '@storybook/react-vite';\nimport '../../../css/index.css';\n\n//\n//\n\nconst meta = {\n title: 'Design System/Spacing/CSS',\n parameters: {\n layout: 'fullscreen',\n },\n tags: ['autodocs'],\n} satisfies Meta;\n\nexport default meta;\ntype Story = StoryObj<typeof meta>;\n\n//\n// CSS Spacing Tokens\n//\n\nconst spacingTokens = [\n { name: '0', px: '0px' },\n { name: '0-25', px: '2px' },\n { name: '0-5', px: '4px' },\n { name: '0-75', px: '6px' },\n { name: '1', px: '8px' },\n { name: '1-5', px: '12px' },\n { name: '2', px: '16px' },\n { name: '2-5', px: '20px' },\n { name: '3', px: '24px' },\n { name: '3-5', px: '28px' },\n { name: '4', px: '32px' },\n { name: '5', px: '40px' },\n { name: '6', px: '48px' },\n { name: '7', px: '56px' },\n { name: '8', px: '64px' },\n { name: '9', px: '72px' },\n { name: '10', px: '80px' },\n { name: '11', px: '88px' },\n { name: '12', px: '96px' },\n];\n\nexport const SpacingScale: Story = {\n render: () => (\n <div style={{ padding: '24px', maxWidth: '900px', fontFamily: 'var(--zid-font-family)' }}>\n <div style={{ marginBottom: '32px' }}>\n <h2 style={{ marginBottom: '8px' }}>CSS Spacing Scale</h2>\n <p style={{ color: 'var(--zid-text-secondary)', marginBottom: '8px' }}>\n <strong>How to use in CSS:</strong> <code>var(--zid-spacing-{value})</code>\n </p>\n </div>\n <div style={{ display: 'flex', alignItems: 'center', gap: '16px', padding: '12px 0', borderBottom: '2px solid var(--zid-divider)', fontWeight: 600, fontSize: '14px' }}>\n <div style={{ width: '80px' }}>Token</div>\n <div style={{ width: '60px' }}>Value</div>\n <div style={{ flex: 1 }}>Preview (gap between boxes)</div>\n </div>\n {spacingTokens.map(token => (\n <div key={token.name} style={{ display: 'flex', alignItems: 'center', gap: '16px', padding: '12px 0', borderBottom: '1px solid var(--zid-divider)' }}>\n <div style={{ width: '80px', fontFamily: 'monospace', fontSize: '14px' }}>{token.name}</div>\n <div style={{ width: '60px', color: 'var(--zid-text-secondary)', fontSize: '14px' }}>{token.px}</div>\n <div style={{ flex: 1, display: 'flex', gap: token.px }}>\n <div style={{ width: '40px', height: '40px', backgroundColor: 'var(--zid-primary-main)', borderRadius: '4px' }}></div>\n <div style={{ width: '40px', height: '40px', backgroundColor: 'var(--zid-primary-main)', borderRadius: '4px' }}></div>\n <div style={{ width: '40px', height: '40px', backgroundColor: 'var(--zid-primary-main)', borderRadius: '4px' }}></div>\n </div>\n </div>\n ))}\n </div>\n ),\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { IconButton, Box } from "@mui/material";
|
|
3
3
|
import { useState } from "react";
|
|
4
|
-
import { StackColumn } from "
|
|
5
|
-
import { StackRow } from "
|
|
6
|
-
import { AppTooltip } from "
|
|
7
|
-
import { IconFileCopyLine } from "
|
|
8
|
-
import { IconCheckLine } from "
|
|
9
|
-
import { AppTypography } from "
|
|
4
|
+
import { StackColumn } from "../../../components/stack-column.js";
|
|
5
|
+
import { StackRow } from "../../../components/stack-row.js";
|
|
6
|
+
import { AppTooltip } from "../../../components/app-tooltip.js";
|
|
7
|
+
import { IconFileCopyLine } from "../../../icons/document/file-copy-line.js";
|
|
8
|
+
import { IconCheckLine } from "../../../icons/system/check-line.js";
|
|
9
|
+
import { AppTypography } from "../../../components/app-typography.js";
|
|
10
10
|
const meta = {
|
|
11
|
-
title: "Design System/Spacing",
|
|
11
|
+
title: "Design System/Spacing/React",
|
|
12
12
|
parameters: {
|
|
13
13
|
layout: "centered"
|
|
14
14
|
},
|
|
@@ -99,4 +99,4 @@ export {
|
|
|
99
99
|
StackRowSpacing,
|
|
100
100
|
meta as default
|
|
101
101
|
};
|
|
102
|
-
//# sourceMappingURL=
|
|
102
|
+
//# sourceMappingURL=React.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"React.stories.js","sources":["../../../../../../src/stories/design/spacing/React.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from '@storybook/react-vite';\nimport { Box, IconButton } from '@mui/material';\nimport { useState } from 'react';\nimport { StackColumn } from '~/components/stack-column';\nimport { StackRow } from '~/components/stack-row';\nimport { AppTooltip } from '~/components/app-tooltip';\nimport { IconFileCopyLine } from '~/icons/document/file-copy-line';\nimport { IconCheckLine } from '~/icons/system/check-line';\nimport { AppTypography } from '~/components/app-typography';\n\n//\n//\n\nconst meta = {\n title: 'Design System/Spacing/React',\n parameters: {\n layout: 'centered',\n },\n tags: ['autodocs'],\n} satisfies Meta;\n\nexport default meta;\ntype Story = StoryObj<typeof meta>;\n\nconst DemoBox = ({ color = '#1976d2' }: { color?: string }) => (\n <Box\n sx={{\n width: 60,\n height: 60,\n backgroundColor: color,\n borderRadius: 1,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n color: 'white',\n fontSize: '12px',\n fontWeight: 'bold',\n }}\n >\n Box\n </Box>\n);\n\nconst CopyButton = ({ value }: { value: number | string }) => {\n const [copied, setCopied] = useState(false);\n\n const handleCopy = () => {\n navigator.clipboard.writeText(`gap={${value}}`);\n setCopied(true);\n setTimeout(() => setCopied(false), 2000);\n };\n\n return (\n <AppTooltip description={copied ? 'Copied!' : 'Copy'}>\n <IconButton size=\"small\" onClick={handleCopy}>\n {copied ? <IconCheckLine fontSize=\"small\" /> : <IconFileCopyLine fontSize=\"small\" />}\n </IconButton>\n </AppTooltip>\n );\n};\n\nconst spacingValues = [\n 1, 1.25, 1.5, 1.75, 2, 2.25, 2.5, 2.75, 3, 3.25, 3.5, 3.75, 4, 4.25, 4.5, 4.75, 5,\n];\n\nexport const StackRowSpacing: Story = {\n render: () => (\n <StackColumn gap={3}>\n {spacingValues.map(spacing => (\n <StackColumn key={`row-${spacing}`} gap={0.75}>\n <StackRow gap={0}>\n <AppTypography variant=\"subtitle1\" minWidth={60}>\n Gap: {spacing}\n </AppTypography>\n <CopyButton value={spacing} />\n </StackRow>\n\n <StackRow gap={spacing}>\n <DemoBox />\n <DemoBox />\n <DemoBox />\n <DemoBox />\n </StackRow>\n </StackColumn>\n ))}\n </StackColumn>\n ),\n};\n\nexport const StackColumnSpacing: Story = {\n render: () => (\n <StackColumn gap={3}>\n {spacingValues.map(spacing => (\n <StackColumn key={`col-${spacing}`} gap={0.75}>\n <StackRow gap={0}>\n <AppTypography variant=\"subtitle1\" minWidth={60}>\n Gap: {spacing}\n </AppTypography>\n <CopyButton value={spacing} />\n </StackRow>\n <StackColumn gap={spacing}>\n <DemoBox color=\"#dc3545\" />\n <DemoBox color=\"#dc3545\" />\n <DemoBox color=\"#dc3545\" />\n <DemoBox color=\"#dc3545\" />\n </StackColumn>\n </StackColumn>\n ))}\n </StackColumn>\n ),\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from "react";
|
|
3
|
+
import { AppCheckbox } from "../../components/app-checkbox.js";
|
|
4
|
+
const meta = {
|
|
5
|
+
title: "React/App Checkbox",
|
|
6
|
+
component: AppCheckbox,
|
|
7
|
+
parameters: {
|
|
8
|
+
layout: "centered"
|
|
9
|
+
},
|
|
10
|
+
tags: ["autodocs"],
|
|
11
|
+
argTypes: {
|
|
12
|
+
label: {
|
|
13
|
+
control: "text"
|
|
14
|
+
},
|
|
15
|
+
checked: {
|
|
16
|
+
control: "boolean"
|
|
17
|
+
},
|
|
18
|
+
disabled: {
|
|
19
|
+
control: "boolean"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
args: {
|
|
23
|
+
label: "Checkbox label",
|
|
24
|
+
checked: false,
|
|
25
|
+
disabled: false
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
const Default = {
|
|
29
|
+
args: {
|
|
30
|
+
label: "Default checkbox"
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
const Checked = {
|
|
34
|
+
args: {
|
|
35
|
+
label: "Checked checkbox",
|
|
36
|
+
checked: true
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
const Disabled = {
|
|
40
|
+
args: {
|
|
41
|
+
label: "Disabled checkbox",
|
|
42
|
+
disabled: true
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
const DisabledChecked = {
|
|
46
|
+
args: {
|
|
47
|
+
label: "Disabled checked",
|
|
48
|
+
checked: true,
|
|
49
|
+
disabled: true
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
const InteractiveComponent = () => {
|
|
53
|
+
const [checked, setChecked] = useState(false);
|
|
54
|
+
return /* @__PURE__ */ jsx(AppCheckbox, { label: "Click me", checked, onChange: (_, value) => setChecked(value) });
|
|
55
|
+
};
|
|
56
|
+
const Interactive = {
|
|
57
|
+
render: () => /* @__PURE__ */ jsx(InteractiveComponent, {})
|
|
58
|
+
};
|
|
59
|
+
export {
|
|
60
|
+
Checked,
|
|
61
|
+
Default,
|
|
62
|
+
Disabled,
|
|
63
|
+
DisabledChecked,
|
|
64
|
+
Interactive,
|
|
65
|
+
meta as default
|
|
66
|
+
};
|
|
67
|
+
//# sourceMappingURL=AppCheckbox.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppCheckbox.stories.js","sources":["../../../../../src/stories/react/AppCheckbox.stories.tsx"],"sourcesContent":["import { useState } from 'react';\n\nimport type { Meta, StoryObj } from '@storybook/react-vite';\nimport { AppCheckbox } from '~/components/app-checkbox';\n\n//\n//\n\n// Meta\nconst meta = {\n title: 'React/App Checkbox',\n component: AppCheckbox,\n parameters: {\n layout: 'centered',\n },\n tags: ['autodocs'],\n argTypes: {\n label: {\n control: 'text',\n },\n checked: {\n control: 'boolean',\n },\n disabled: {\n control: 'boolean',\n },\n },\n args: {\n label: 'Checkbox label',\n checked: false,\n disabled: false,\n },\n} satisfies Meta<typeof AppCheckbox>;\n\nexport default meta;\ntype Story = StoryObj<typeof meta>;\n\n//\n\nexport const Default: Story = {\n args: {\n label: 'Default checkbox',\n },\n};\n\n//\n\nexport const Checked: Story = {\n args: {\n label: 'Checked checkbox',\n checked: true,\n },\n};\n\n//\n\nexport const Disabled: Story = {\n args: {\n label: 'Disabled checkbox',\n disabled: true,\n },\n};\n\n//\n\nexport const DisabledChecked: Story = {\n args: {\n label: 'Disabled checked',\n checked: true,\n disabled: true,\n },\n};\n\n//\n\nconst InteractiveComponent = () => {\n const [checked, setChecked] = useState(false);\n\n return (\n <AppCheckbox label=\"Click me\" checked={checked} onChange={(_, value) => setChecked(value)} />\n );\n};\n\nexport const Interactive: Story = {\n render: () => <InteractiveComponent />,\n};\n"],"names":[],"mappings":";;;AASA,MAAM,OAAO;AAAA,EACX,OAAO;AAAA,EACP,WAAW;AAAA,EACX,YAAY;AAAA,IACV,QAAQ;AAAA,EAAA;AAAA,EAEV,MAAM,CAAC,UAAU;AAAA,EACjB,UAAU;AAAA,IACR,OAAO;AAAA,MACL,SAAS;AAAA,IAAA;AAAA,IAEX,SAAS;AAAA,MACP,SAAS;AAAA,IAAA;AAAA,IAEX,UAAU;AAAA,MACR,SAAS;AAAA,IAAA;AAAA,EACX;AAAA,EAEF,MAAM;AAAA,IACJ,OAAO;AAAA,IACP,SAAS;AAAA,IACT,UAAU;AAAA,EAAA;AAEd;AAOO,MAAM,UAAiB;AAAA,EAC5B,MAAM;AAAA,IACJ,OAAO;AAAA,EAAA;AAEX;AAIO,MAAM,UAAiB;AAAA,EAC5B,MAAM;AAAA,IACJ,OAAO;AAAA,IACP,SAAS;AAAA,EAAA;AAEb;AAIO,MAAM,WAAkB;AAAA,EAC7B,MAAM;AAAA,IACJ,OAAO;AAAA,IACP,UAAU;AAAA,EAAA;AAEd;AAIO,MAAM,kBAAyB;AAAA,EACpC,MAAM;AAAA,IACJ,OAAO;AAAA,IACP,SAAS;AAAA,IACT,UAAU;AAAA,EAAA;AAEd;AAIA,MAAM,uBAAuB,MAAM;AACjC,QAAM,CAAC,SAAS,UAAU,IAAI,SAAS,KAAK;AAE5C,SACE,oBAAC,aAAA,EAAY,OAAM,YAAW,SAAkB,UAAU,CAAC,GAAG,UAAU,WAAW,KAAK,EAAA,CAAG;AAE/F;AAEO,MAAM,cAAqB;AAAA,EAChC,QAAQ,MAAM,oBAAC,sBAAA,CAAA,CAAqB;AACtC;"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { jsx, jsxs, Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from "react";
|
|
3
|
+
import { AppDialog } from "../../components/app-dialog.js";
|
|
4
|
+
import { AppButton } from "../../components/app-button.js";
|
|
5
|
+
import { AppTypography } from "../../components/app-typography.js";
|
|
6
|
+
const meta = {
|
|
7
|
+
title: "React/App Dialog",
|
|
8
|
+
component: AppDialog,
|
|
9
|
+
parameters: {
|
|
10
|
+
layout: "centered"
|
|
11
|
+
},
|
|
12
|
+
tags: ["autodocs"],
|
|
13
|
+
argTypes: {
|
|
14
|
+
title: {
|
|
15
|
+
control: "text"
|
|
16
|
+
},
|
|
17
|
+
description: {
|
|
18
|
+
control: "text"
|
|
19
|
+
},
|
|
20
|
+
maxWidth: {
|
|
21
|
+
control: "select",
|
|
22
|
+
options: ["xs", "sm", "md", "lg", "xl"]
|
|
23
|
+
},
|
|
24
|
+
darkerBackdrop: {
|
|
25
|
+
control: "boolean"
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
const DefaultComponent = () => {
|
|
30
|
+
const [open, setOpen] = useState(false);
|
|
31
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
32
|
+
/* @__PURE__ */ jsx(AppButton, { onClick: () => setOpen(true), children: "Open Dialog" }),
|
|
33
|
+
/* @__PURE__ */ jsx(AppDialog, { open, onClose: () => setOpen(false), children: /* @__PURE__ */ jsx(AppTypography, { children: "Dialog content goes here." }) })
|
|
34
|
+
] });
|
|
35
|
+
};
|
|
36
|
+
const Default = {
|
|
37
|
+
args: {
|
|
38
|
+
open: false,
|
|
39
|
+
children: null
|
|
40
|
+
},
|
|
41
|
+
render: () => /* @__PURE__ */ jsx(DefaultComponent, {})
|
|
42
|
+
};
|
|
43
|
+
const WithTitleComponent = () => {
|
|
44
|
+
const [open, setOpen] = useState(false);
|
|
45
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
46
|
+
/* @__PURE__ */ jsx(AppButton, { onClick: () => setOpen(true), children: "Open Dialog" }),
|
|
47
|
+
/* @__PURE__ */ jsx(AppDialog, { open, onClose: () => setOpen(false), title: "Dialog Title", children: /* @__PURE__ */ jsx(AppTypography, { children: "Dialog content with title." }) })
|
|
48
|
+
] });
|
|
49
|
+
};
|
|
50
|
+
const WithTitle = {
|
|
51
|
+
args: {
|
|
52
|
+
open: false,
|
|
53
|
+
children: null
|
|
54
|
+
},
|
|
55
|
+
render: () => /* @__PURE__ */ jsx(WithTitleComponent, {})
|
|
56
|
+
};
|
|
57
|
+
const WithTitleAndDescriptionComponent = () => {
|
|
58
|
+
const [open, setOpen] = useState(false);
|
|
59
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
60
|
+
/* @__PURE__ */ jsx(AppButton, { onClick: () => setOpen(true), children: "Open Dialog" }),
|
|
61
|
+
/* @__PURE__ */ jsx(
|
|
62
|
+
AppDialog,
|
|
63
|
+
{
|
|
64
|
+
open,
|
|
65
|
+
onClose: () => setOpen(false),
|
|
66
|
+
title: "Dialog Title",
|
|
67
|
+
description: "This is a description that provides more context about the dialog.",
|
|
68
|
+
children: /* @__PURE__ */ jsx(AppTypography, { children: "Dialog content with title and description." })
|
|
69
|
+
}
|
|
70
|
+
)
|
|
71
|
+
] });
|
|
72
|
+
};
|
|
73
|
+
const WithTitleAndDescription = {
|
|
74
|
+
args: {
|
|
75
|
+
open: false,
|
|
76
|
+
children: null
|
|
77
|
+
},
|
|
78
|
+
render: () => /* @__PURE__ */ jsx(WithTitleAndDescriptionComponent, {})
|
|
79
|
+
};
|
|
80
|
+
const WithActionsComponent = () => {
|
|
81
|
+
const [open, setOpen] = useState(false);
|
|
82
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
83
|
+
/* @__PURE__ */ jsx(AppButton, { onClick: () => setOpen(true), children: "Open Dialog" }),
|
|
84
|
+
/* @__PURE__ */ jsx(
|
|
85
|
+
AppDialog,
|
|
86
|
+
{
|
|
87
|
+
open,
|
|
88
|
+
onClose: () => setOpen(false),
|
|
89
|
+
title: "Confirm Action",
|
|
90
|
+
description: "Are you sure you want to proceed?",
|
|
91
|
+
actions: /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
92
|
+
/* @__PURE__ */ jsx(AppButton, { variant: "outlined", color: "secondary", onClick: () => setOpen(false), children: "Cancel" }),
|
|
93
|
+
/* @__PURE__ */ jsx(AppButton, { variant: "contained", color: "primary", onClick: () => setOpen(false), children: "Confirm" })
|
|
94
|
+
] }),
|
|
95
|
+
children: /* @__PURE__ */ jsx(AppTypography, { children: "This action cannot be undone." })
|
|
96
|
+
}
|
|
97
|
+
)
|
|
98
|
+
] });
|
|
99
|
+
};
|
|
100
|
+
const WithActions = {
|
|
101
|
+
args: {
|
|
102
|
+
open: false,
|
|
103
|
+
children: null
|
|
104
|
+
},
|
|
105
|
+
render: () => /* @__PURE__ */ jsx(WithActionsComponent, {})
|
|
106
|
+
};
|
|
107
|
+
const DarkerBackdropComponent = () => {
|
|
108
|
+
const [open, setOpen] = useState(false);
|
|
109
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
110
|
+
/* @__PURE__ */ jsx(AppButton, { onClick: () => setOpen(true), children: "Open Dialog" }),
|
|
111
|
+
/* @__PURE__ */ jsx(AppDialog, { open, onClose: () => setOpen(false), title: "Darker Backdrop", darkerBackdrop: true, children: /* @__PURE__ */ jsx(AppTypography, { children: "This dialog has a darker backdrop." }) })
|
|
112
|
+
] });
|
|
113
|
+
};
|
|
114
|
+
const DarkerBackdrop = {
|
|
115
|
+
args: {
|
|
116
|
+
open: false,
|
|
117
|
+
children: null
|
|
118
|
+
},
|
|
119
|
+
render: () => /* @__PURE__ */ jsx(DarkerBackdropComponent, {})
|
|
120
|
+
};
|
|
121
|
+
export {
|
|
122
|
+
DarkerBackdrop,
|
|
123
|
+
Default,
|
|
124
|
+
WithActions,
|
|
125
|
+
WithTitle,
|
|
126
|
+
WithTitleAndDescription,
|
|
127
|
+
meta as default
|
|
128
|
+
};
|
|
129
|
+
//# sourceMappingURL=AppDialog.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppDialog.stories.js","sources":["../../../../../src/stories/react/AppDialog.stories.tsx"],"sourcesContent":["import { useState } from 'react';\n\nimport type { Meta, StoryObj } from '@storybook/react-vite';\n\nimport { AppDialog } from '~/components/app-dialog';\nimport { AppButton } from '~/components/app-button';\nimport { AppTypography } from '~/components/app-typography';\n\n//\n//\n\n// Meta\nconst meta = {\n title: 'React/App Dialog',\n component: AppDialog,\n parameters: {\n layout: 'centered',\n },\n tags: ['autodocs'],\n argTypes: {\n title: {\n control: 'text',\n },\n description: {\n control: 'text',\n },\n maxWidth: {\n control: 'select',\n options: ['xs', 'sm', 'md', 'lg', 'xl'],\n },\n darkerBackdrop: {\n control: 'boolean',\n },\n },\n} satisfies Meta<typeof AppDialog>;\n\nexport default meta;\ntype Story = StoryObj<typeof meta>;\n\n//\n\nconst DefaultComponent = () => {\n const [open, setOpen] = useState(false);\n\n return (\n <>\n <AppButton onClick={() => setOpen(true)}>Open Dialog</AppButton>\n <AppDialog open={open} onClose={() => setOpen(false)}>\n <AppTypography>Dialog content goes here.</AppTypography>\n </AppDialog>\n </>\n );\n};\n\nexport const Default: Story = {\n args: {\n open: false,\n children: null,\n },\n render: () => <DefaultComponent />,\n};\n\n//\n\nconst WithTitleComponent = () => {\n const [open, setOpen] = useState(false);\n\n return (\n <>\n <AppButton onClick={() => setOpen(true)}>Open Dialog</AppButton>\n <AppDialog open={open} onClose={() => setOpen(false)} title=\"Dialog Title\">\n <AppTypography>Dialog content with title.</AppTypography>\n </AppDialog>\n </>\n );\n};\n\nexport const WithTitle: Story = {\n args: {\n open: false,\n children: null,\n },\n render: () => <WithTitleComponent />,\n};\n\n//\n\nconst WithTitleAndDescriptionComponent = () => {\n const [open, setOpen] = useState(false);\n\n return (\n <>\n <AppButton onClick={() => setOpen(true)}>Open Dialog</AppButton>\n <AppDialog\n open={open}\n onClose={() => setOpen(false)}\n title=\"Dialog Title\"\n description=\"This is a description that provides more context about the dialog.\"\n >\n <AppTypography>Dialog content with title and description.</AppTypography>\n </AppDialog>\n </>\n );\n};\n\nexport const WithTitleAndDescription: Story = {\n args: {\n open: false,\n children: null,\n },\n render: () => <WithTitleAndDescriptionComponent />,\n};\n\n//\n\nconst WithActionsComponent = () => {\n const [open, setOpen] = useState(false);\n\n return (\n <>\n <AppButton onClick={() => setOpen(true)}>Open Dialog</AppButton>\n <AppDialog\n open={open}\n onClose={() => setOpen(false)}\n title=\"Confirm Action\"\n description=\"Are you sure you want to proceed?\"\n actions={\n <>\n <AppButton variant=\"outlined\" color=\"secondary\" onClick={() => setOpen(false)}>\n Cancel\n </AppButton>\n <AppButton variant=\"contained\" color=\"primary\" onClick={() => setOpen(false)}>\n Confirm\n </AppButton>\n </>\n }\n >\n <AppTypography>This action cannot be undone.</AppTypography>\n </AppDialog>\n </>\n );\n};\n\nexport const WithActions: Story = {\n args: {\n open: false,\n children: null,\n },\n render: () => <WithActionsComponent />,\n};\n\n//\n\nconst DarkerBackdropComponent = () => {\n const [open, setOpen] = useState(false);\n\n return (\n <>\n <AppButton onClick={() => setOpen(true)}>Open Dialog</AppButton>\n <AppDialog open={open} onClose={() => setOpen(false)} title=\"Darker Backdrop\" darkerBackdrop>\n <AppTypography>This dialog has a darker backdrop.</AppTypography>\n </AppDialog>\n </>\n );\n};\n\nexport const DarkerBackdrop: Story = {\n args: {\n open: false,\n children: null,\n },\n render: () => <DarkerBackdropComponent />,\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { jsx, jsxs, Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from "react";
|
|
3
|
+
import { AppDialogWithFeatures } from "../../components/app-dialog-with-features.js";
|
|
4
|
+
import { AppButton } from "../../components/app-button.js";
|
|
5
|
+
import { AppTypography } from "../../components/app-typography.js";
|
|
6
|
+
const meta = {
|
|
7
|
+
title: "React/App Dialog With Features",
|
|
8
|
+
component: AppDialogWithFeatures,
|
|
9
|
+
parameters: {
|
|
10
|
+
layout: "centered"
|
|
11
|
+
},
|
|
12
|
+
tags: ["autodocs"],
|
|
13
|
+
argTypes: {
|
|
14
|
+
title: {
|
|
15
|
+
control: "text"
|
|
16
|
+
},
|
|
17
|
+
isLoading: {
|
|
18
|
+
control: "boolean"
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
const DefaultComponent = () => {
|
|
23
|
+
const [open, setOpen] = useState(false);
|
|
24
|
+
const [search, setSearch] = useState("");
|
|
25
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
26
|
+
/* @__PURE__ */ jsx(AppButton, { onClick: () => setOpen(true), children: "Open Dialog" }),
|
|
27
|
+
/* @__PURE__ */ jsxs(
|
|
28
|
+
AppDialogWithFeatures,
|
|
29
|
+
{
|
|
30
|
+
open,
|
|
31
|
+
onClose: () => setOpen(false),
|
|
32
|
+
title: "Select Item",
|
|
33
|
+
search,
|
|
34
|
+
onSearchChange: setSearch,
|
|
35
|
+
children: [
|
|
36
|
+
/* @__PURE__ */ jsx(AppTypography, { children: "Item One" }),
|
|
37
|
+
/* @__PURE__ */ jsx(AppTypography, { children: "Item Two" }),
|
|
38
|
+
/* @__PURE__ */ jsx(AppTypography, { children: "Item Three" }),
|
|
39
|
+
/* @__PURE__ */ jsx(AppTypography, { children: "Item Four" })
|
|
40
|
+
]
|
|
41
|
+
}
|
|
42
|
+
)
|
|
43
|
+
] });
|
|
44
|
+
};
|
|
45
|
+
const Default = {
|
|
46
|
+
args: {
|
|
47
|
+
open: false,
|
|
48
|
+
onClose: () => {
|
|
49
|
+
},
|
|
50
|
+
search: "",
|
|
51
|
+
children: null
|
|
52
|
+
},
|
|
53
|
+
render: () => /* @__PURE__ */ jsx(DefaultComponent, {})
|
|
54
|
+
};
|
|
55
|
+
const WithPaginationComponent = () => {
|
|
56
|
+
const [open, setOpen] = useState(false);
|
|
57
|
+
const [search, setSearch] = useState("");
|
|
58
|
+
const [page, setPage] = useState(1);
|
|
59
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
60
|
+
/* @__PURE__ */ jsx(AppButton, { onClick: () => setOpen(true), children: "Open Dialog" }),
|
|
61
|
+
/* @__PURE__ */ jsxs(
|
|
62
|
+
AppDialogWithFeatures,
|
|
63
|
+
{
|
|
64
|
+
open,
|
|
65
|
+
onClose: () => setOpen(false),
|
|
66
|
+
title: "Select Item",
|
|
67
|
+
search,
|
|
68
|
+
onSearchChange: setSearch,
|
|
69
|
+
pagination: {
|
|
70
|
+
count: 5,
|
|
71
|
+
page,
|
|
72
|
+
onChange: (_, newPage) => setPage(newPage)
|
|
73
|
+
},
|
|
74
|
+
children: [
|
|
75
|
+
/* @__PURE__ */ jsx(AppTypography, { children: "Item One" }),
|
|
76
|
+
/* @__PURE__ */ jsx(AppTypography, { children: "Item Two" }),
|
|
77
|
+
/* @__PURE__ */ jsx(AppTypography, { children: "Item Three" }),
|
|
78
|
+
/* @__PURE__ */ jsx(AppTypography, { children: "Item Four" })
|
|
79
|
+
]
|
|
80
|
+
}
|
|
81
|
+
)
|
|
82
|
+
] });
|
|
83
|
+
};
|
|
84
|
+
const WithPagination = {
|
|
85
|
+
args: {
|
|
86
|
+
open: false,
|
|
87
|
+
onClose: () => {
|
|
88
|
+
},
|
|
89
|
+
search: "",
|
|
90
|
+
children: null
|
|
91
|
+
},
|
|
92
|
+
render: () => /* @__PURE__ */ jsx(WithPaginationComponent, {})
|
|
93
|
+
};
|
|
94
|
+
const LoadingComponent = () => {
|
|
95
|
+
const [open, setOpen] = useState(false);
|
|
96
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
97
|
+
/* @__PURE__ */ jsx(AppButton, { onClick: () => setOpen(true), children: "Open Dialog" }),
|
|
98
|
+
/* @__PURE__ */ jsx(
|
|
99
|
+
AppDialogWithFeatures,
|
|
100
|
+
{
|
|
101
|
+
open,
|
|
102
|
+
onClose: () => setOpen(false),
|
|
103
|
+
title: "Loading...",
|
|
104
|
+
search: "",
|
|
105
|
+
isLoading: true,
|
|
106
|
+
children: /* @__PURE__ */ jsx(AppTypography, { children: "Content" })
|
|
107
|
+
}
|
|
108
|
+
)
|
|
109
|
+
] });
|
|
110
|
+
};
|
|
111
|
+
const Loading = {
|
|
112
|
+
args: {
|
|
113
|
+
open: false,
|
|
114
|
+
onClose: () => {
|
|
115
|
+
},
|
|
116
|
+
search: "",
|
|
117
|
+
children: null
|
|
118
|
+
},
|
|
119
|
+
render: () => /* @__PURE__ */ jsx(LoadingComponent, {})
|
|
120
|
+
};
|
|
121
|
+
export {
|
|
122
|
+
Default,
|
|
123
|
+
Loading,
|
|
124
|
+
WithPagination,
|
|
125
|
+
meta as default
|
|
126
|
+
};
|
|
127
|
+
//# sourceMappingURL=AppDialogWithFeatures.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppDialogWithFeatures.stories.js","sources":["../../../../../src/stories/react/AppDialogWithFeatures.stories.tsx"],"sourcesContent":["import { useState } from 'react';\n\nimport type { Meta, StoryObj } from '@storybook/react-vite';\n\nimport { AppDialogWithFeatures } from '~/components/app-dialog-with-features';\nimport { AppButton } from '~/components/app-button';\nimport { AppTypography } from '~/components/app-typography';\n\n//\n//\n\n// Meta\nconst meta = {\n title: 'React/App Dialog With Features',\n component: AppDialogWithFeatures,\n parameters: {\n layout: 'centered',\n },\n tags: ['autodocs'],\n argTypes: {\n title: {\n control: 'text',\n },\n isLoading: {\n control: 'boolean',\n },\n },\n} satisfies Meta<typeof AppDialogWithFeatures>;\n\nexport default meta;\ntype Story = StoryObj<typeof meta>;\n\n//\n\nconst DefaultComponent = () => {\n const [open, setOpen] = useState(false);\n const [search, setSearch] = useState('');\n\n return (\n <>\n <AppButton onClick={() => setOpen(true)}>Open Dialog</AppButton>\n <AppDialogWithFeatures\n open={open}\n onClose={() => setOpen(false)}\n title=\"Select Item\"\n search={search}\n onSearchChange={setSearch}\n >\n <AppTypography>Item One</AppTypography>\n <AppTypography>Item Two</AppTypography>\n <AppTypography>Item Three</AppTypography>\n <AppTypography>Item Four</AppTypography>\n </AppDialogWithFeatures>\n </>\n );\n};\n\nexport const Default: Story = {\n args: {\n open: false,\n onClose: () => {},\n search: '',\n children: null,\n },\n render: () => <DefaultComponent />,\n};\n\n//\n\nconst WithPaginationComponent = () => {\n const [open, setOpen] = useState(false);\n const [search, setSearch] = useState('');\n const [page, setPage] = useState(1);\n\n return (\n <>\n <AppButton onClick={() => setOpen(true)}>Open Dialog</AppButton>\n <AppDialogWithFeatures\n open={open}\n onClose={() => setOpen(false)}\n title=\"Select Item\"\n search={search}\n onSearchChange={setSearch}\n pagination={{\n count: 5,\n page,\n onChange: (_, newPage) => setPage(newPage),\n }}\n >\n <AppTypography>Item One</AppTypography>\n <AppTypography>Item Two</AppTypography>\n <AppTypography>Item Three</AppTypography>\n <AppTypography>Item Four</AppTypography>\n </AppDialogWithFeatures>\n </>\n );\n};\n\nexport const WithPagination: Story = {\n args: {\n open: false,\n onClose: () => {},\n search: '',\n children: null,\n },\n render: () => <WithPaginationComponent />,\n};\n\n//\n\nconst LoadingComponent = () => {\n const [open, setOpen] = useState(false);\n\n return (\n <>\n <AppButton onClick={() => setOpen(true)}>Open Dialog</AppButton>\n <AppDialogWithFeatures\n open={open}\n onClose={() => setOpen(false)}\n title=\"Loading...\"\n search=\"\"\n isLoading\n >\n <AppTypography>Content</AppTypography>\n </AppDialogWithFeatures>\n </>\n );\n};\n\nexport const Loading: Story = {\n args: {\n open: false,\n onClose: () => {},\n search: '',\n children: null,\n },\n render: () => <LoadingComponent />,\n};\n"],"names":[],"mappings":"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"}
|