@nlabs/gothamui 1.8.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/LICENSE +21 -0
- package/MIGRATION.md +36 -0
- package/README.md +768 -0
- package/docs/assets/gothamui-app-architecture.svg +159 -0
- package/docs/assets/gothamui-logo.png +0 -0
- package/docs/assets/gothamui-logo.svg +42 -0
- package/docs/render-performance.md +34 -0
- package/lib/actions/GothamActions.d.ts +42 -0
- package/lib/actions/GothamActions.js +67 -0
- package/lib/actions/MarkdownActions.d.ts +4 -0
- package/lib/actions/MarkdownActions.js +48 -0
- package/lib/app.d.ts +1 -0
- package/lib/app.js +198 -0
- package/lib/components/Alert/Alert.d.ts +8 -0
- package/lib/components/Alert/Alert.js +24 -0
- package/lib/components/Alert/Alert.stories.js +59 -0
- package/lib/components/AuthRoute/AuthRoute.d.ts +3 -0
- package/lib/components/AuthRoute/AuthRoute.js +21 -0
- package/lib/components/AuthRoute/AuthRoute.stories.js +45 -0
- package/lib/components/AutocompleteField/AutocompleteField.d.ts +24 -0
- package/lib/components/AutocompleteField/AutocompleteField.js +148 -0
- package/lib/components/AutocompleteField/AutocompleteField.stories.js +62 -0
- package/lib/components/Avatar/Avatar.d.ts +29 -0
- package/lib/components/Avatar/Avatar.js +154 -0
- package/lib/components/Avatar/Avatar.stories.js +105 -0
- package/lib/components/Badge/Badge.d.ts +9 -0
- package/lib/components/Badge/Badge.js +22 -0
- package/lib/components/Badge/Badge.stories.js +53 -0
- package/lib/components/Breadcrumbs/Breadcrumbs.d.ts +19 -0
- package/lib/components/Breadcrumbs/Breadcrumbs.js +74 -0
- package/lib/components/Breadcrumbs/Breadcrumbs.stories.js +95 -0
- package/lib/components/Button/Button.d.ts +25 -0
- package/lib/components/Button/Button.js +157 -0
- package/lib/components/Button/Button.stories.js +119 -0
- package/lib/components/Card/Card.d.ts +8 -0
- package/lib/components/Card/Card.js +39 -0
- package/lib/components/Card/Card.stories.js +60 -0
- package/lib/components/CategoryGrid/CategoryGrid.d.ts +15 -0
- package/lib/components/CategoryGrid/CategoryGrid.js +42 -0
- package/lib/components/CategoryGrid/CategoryGrid.stories.js +35 -0
- package/lib/components/Chat/AudioMessage/AudioMessage.css +1 -0
- package/lib/components/Chat/AudioMessage/AudioMessage.d.ts +3 -0
- package/lib/components/Chat/AudioMessage/AudioMessage.js +28 -0
- package/lib/components/Chat/Avatar/Avatar.css +1 -0
- package/lib/components/Chat/Avatar/Avatar.d.ts +3 -0
- package/lib/components/Chat/Avatar/Avatar.js +72 -0
- package/lib/components/Chat/Button/Button.css +1 -0
- package/lib/components/Chat/Button/Button.d.ts +3 -0
- package/lib/components/Chat/Button/Button.js +37 -0
- package/lib/components/Chat/Chat.stories.js +688 -0
- package/lib/components/Chat/ChatItem/ChatItem.css +1 -0
- package/lib/components/Chat/ChatItem/ChatItem.d.ts +3 -0
- package/lib/components/Chat/ChatItem/ChatItem.js +183 -0
- package/lib/components/Chat/ChatList/ChatList.css +1 -0
- package/lib/components/Chat/ChatList/ChatList.d.ts +3 -0
- package/lib/components/Chat/ChatList/ChatList.js +84 -0
- package/lib/components/Chat/Circle/Circle.d.ts +3 -0
- package/lib/components/Chat/Circle/Circle.js +27 -0
- package/lib/components/Chat/Dropdown/Dropdown.css +1 -0
- package/lib/components/Chat/Dropdown/Dropdown.d.ts +3 -0
- package/lib/components/Chat/Dropdown/Dropdown.js +66 -0
- package/lib/components/Chat/FileMessage/FileMessage.css +1 -0
- package/lib/components/Chat/FileMessage/FileMessage.d.ts +3 -0
- package/lib/components/Chat/FileMessage/FileMessage.js +77 -0
- package/lib/components/Chat/Input/Input.css +1 -0
- package/lib/components/Chat/Input/Input.d.ts +3 -0
- package/lib/components/Chat/Input/Input.js +108 -0
- package/lib/components/Chat/LocationMessage/LocationMessage.css +1 -0
- package/lib/components/Chat/LocationMessage/LocationMessage.d.ts +3 -0
- package/lib/components/Chat/LocationMessage/LocationMessage.js +36 -0
- package/lib/components/Chat/MeetingItem/MeetingItem.css +1 -0
- package/lib/components/Chat/MeetingItem/MeetingItem.d.ts +3 -0
- package/lib/components/Chat/MeetingItem/MeetingItem.js +106 -0
- package/lib/components/Chat/MeetingLink/MeetingLink.css +1 -0
- package/lib/components/Chat/MeetingLink/MeetingLink.d.ts +3 -0
- package/lib/components/Chat/MeetingLink/MeetingLink.js +26 -0
- package/lib/components/Chat/MeetingList/MeetingList.css +1 -0
- package/lib/components/Chat/MeetingList/MeetingList.d.ts +3 -0
- package/lib/components/Chat/MeetingList/MeetingList.js +52 -0
- package/lib/components/Chat/MeetingMessage/MeetingMessage.css +1 -0
- package/lib/components/Chat/MeetingMessage/MeetingMessage.d.ts +3 -0
- package/lib/components/Chat/MeetingMessage/MeetingMessage.js +227 -0
- package/lib/components/Chat/MessageBox/MessageBox.css +1 -0
- package/lib/components/Chat/MessageBox/MessageBox.d.ts +3 -0
- package/lib/components/Chat/MessageBox/MessageBox.js +263 -0
- package/lib/components/Chat/MessageList/MessageList.css +1 -0
- package/lib/components/Chat/MessageList/MessageList.d.ts +2 -0
- package/lib/components/Chat/MessageList/MessageList.js +196 -0
- package/lib/components/Chat/Navbar/Navbar.css +1 -0
- package/lib/components/Chat/Navbar/Navbar.d.ts +3 -0
- package/lib/components/Chat/Navbar/Navbar.js +21 -0
- package/lib/components/Chat/PhotoMessage/PhotoMessage.css +1 -0
- package/lib/components/Chat/PhotoMessage/PhotoMessage.d.ts +3 -0
- package/lib/components/Chat/PhotoMessage/PhotoMessage.js +73 -0
- package/lib/components/Chat/Popup/Popup.css +1 -0
- package/lib/components/Chat/Popup/Popup.d.ts +3 -0
- package/lib/components/Chat/Popup/Popup.js +45 -0
- package/lib/components/Chat/README.md +50 -0
- package/lib/components/Chat/ReplyMessage/ReplyMessage.css +1 -0
- package/lib/components/Chat/ReplyMessage/ReplyMessage.d.ts +3 -0
- package/lib/components/Chat/ReplyMessage/ReplyMessage.js +42 -0
- package/lib/components/Chat/SideBar/SideBar.css +1 -0
- package/lib/components/Chat/SideBar/SideBar.d.ts +3 -0
- package/lib/components/Chat/SideBar/SideBar.js +21 -0
- package/lib/components/Chat/SpotifyMessage/SpotifyMessage.css +1 -0
- package/lib/components/Chat/SpotifyMessage/SpotifyMessage.d.ts +3 -0
- package/lib/components/Chat/SpotifyMessage/SpotifyMessage.js +28 -0
- package/lib/components/Chat/SystemMessage/SystemMessage.css +1 -0
- package/lib/components/Chat/SystemMessage/SystemMessage.d.ts +3 -0
- package/lib/components/Chat/SystemMessage/SystemMessage.js +14 -0
- package/lib/components/Chat/VideoMessage/VideoMessage.css +1 -0
- package/lib/components/Chat/VideoMessage/VideoMessage.d.ts +3 -0
- package/lib/components/Chat/VideoMessage/VideoMessage.js +88 -0
- package/lib/components/Chat/assets/img/leftArrow.svg +6 -0
- package/lib/components/Chat/assets/img/rightArrow.svg +6 -0
- package/lib/components/Chat/index.d.ts +25 -0
- package/lib/components/Chat/index.js +27 -0
- package/lib/components/Chat/type.d.js +52 -0
- package/lib/components/Chat/utils/formatRelativeDate.d.ts +4 -0
- package/lib/components/Chat/utils/formatRelativeDate.js +110 -0
- package/lib/components/Checkbox/Checkbox.d.ts +15 -0
- package/lib/components/Checkbox/Checkbox.js +106 -0
- package/lib/components/Checkbox/Checkbox.stories.js +51 -0
- package/lib/components/ComponentUtils/renderWithAsChild.d.ts +9 -0
- package/lib/components/ComponentUtils/renderWithAsChild.js +27 -0
- package/lib/components/Container/Container.d.ts +7 -0
- package/lib/components/Container/Container.js +16 -0
- package/lib/components/Container/Container.stories.js +36 -0
- package/lib/components/DateField/DateField.d.ts +22 -0
- package/lib/components/DateField/DateField.js +145 -0
- package/lib/components/DateField/DateField.stories.js +125 -0
- package/lib/components/DateField/DatePicker.d.ts +9 -0
- package/lib/components/DateField/DatePicker.js +205 -0
- package/lib/components/DateField/DatePicker.stories.js +33 -0
- package/lib/components/DescriptionList/DescriptionList.d.ts +4 -0
- package/lib/components/DescriptionList/DescriptionList.js +19 -0
- package/lib/components/DescriptionList/DescriptionList.stories.js +34 -0
- package/lib/components/Dialog/Dialog.d.ts +25 -0
- package/lib/components/Dialog/Dialog.js +66 -0
- package/lib/components/Dialog/Dialog.stories.js +88 -0
- package/lib/components/DropUpload/DropUpload.d.ts +37 -0
- package/lib/components/DropUpload/DropUpload.js +323 -0
- package/lib/components/DropUpload/DropUpload.stories.js +48 -0
- package/lib/components/Empty/Empty.d.ts +11 -0
- package/lib/components/Empty/Empty.js +39 -0
- package/lib/components/Empty/Empty.stories.js +52 -0
- package/lib/components/EmptyState/EmptyState.d.ts +15 -0
- package/lib/components/EmptyState/EmptyState.js +44 -0
- package/lib/components/EmptyState/EmptyState.stories.js +36 -0
- package/lib/components/ErrorMessage/ErrorMessage.d.ts +7 -0
- package/lib/components/ErrorMessage/ErrorMessage.js +20 -0
- package/lib/components/ErrorMessage/ErrorMessage.stories.js +25 -0
- package/lib/components/FaqSection/FaqSection.d.ts +14 -0
- package/lib/components/FaqSection/FaqSection.js +37 -0
- package/lib/components/FaqSection/FaqSection.stories.js +31 -0
- package/lib/components/Fieldset/Fieldset.d.ts +21 -0
- package/lib/components/Fieldset/Fieldset.js +39 -0
- package/lib/components/Fieldset/Fieldset.stories.js +42 -0
- package/lib/components/Footer/Footer.d.ts +26 -0
- package/lib/components/Footer/Footer.js +119 -0
- package/lib/components/Footer/Footer.stories.js +184 -0
- package/lib/components/Form/Form.d.ts +42 -0
- package/lib/components/Form/Form.js +198 -0
- package/lib/components/Form/Form.stories.js +65 -0
- package/lib/components/Form/FormContext.d.ts +35 -0
- package/lib/components/Form/FormContext.js +71 -0
- package/lib/components/GothamRoute/GothamRoute.d.ts +0 -0
- package/lib/components/GothamRoute/GothamRoute.js +56 -0
- package/lib/components/GothamRouter/GothamRouter.d.ts +0 -0
- package/lib/components/GothamRouter/GothamRouter.js +52 -0
- package/lib/components/Heading/Heading.d.ts +7 -0
- package/lib/components/Heading/Heading.js +20 -0
- package/lib/components/Heading/Heading.stories.js +51 -0
- package/lib/components/IncentiveGrid/IncentiveGrid.d.ts +15 -0
- package/lib/components/IncentiveGrid/IncentiveGrid.js +34 -0
- package/lib/components/IncentiveGrid/IncentiveGrid.stories.js +41 -0
- package/lib/components/InputField/InputField.d.ts +25 -0
- package/lib/components/InputField/InputField.js +68 -0
- package/lib/components/InputField/InputField.stories.js +58 -0
- package/lib/components/Item/Item.d.ts +25 -0
- package/lib/components/Item/Item.js +79 -0
- package/lib/components/Item/Item.stories.js +94 -0
- package/lib/components/Kbd/Kbd.d.ts +2 -0
- package/lib/components/Kbd/Kbd.js +9 -0
- package/lib/components/Kbd/Kbd.stories.js +24 -0
- package/lib/components/Label/Label.d.ts +11 -0
- package/lib/components/Label/Label.js +23 -0
- package/lib/components/Label/Label.stories.js +38 -0
- package/lib/components/Link/Link.d.ts +7 -0
- package/lib/components/Link/Link.js +13 -0
- package/lib/components/Link/Link.stories.js +28 -0
- package/lib/components/ListContainer/ListContainer.d.ts +8 -0
- package/lib/components/ListContainer/ListContainer.js +14 -0
- package/lib/components/ListContainer/ListContainer.stories.js +45 -0
- package/lib/components/Loader/Loader.d.ts +9 -0
- package/lib/components/Loader/Loader.js +36 -0
- package/lib/components/Loader/Loader.stories.js +94 -0
- package/lib/components/LogoCloud/LogoCloud.d.ts +15 -0
- package/lib/components/LogoCloud/LogoCloud.js +43 -0
- package/lib/components/LogoCloud/LogoCloud.stories.js +28 -0
- package/lib/components/Markdown/Markdown.d.ts +8 -0
- package/lib/components/Markdown/Markdown.js +64 -0
- package/lib/components/Markdown/Markdown.stories.js +34 -0
- package/lib/components/MediaLightbox/MediaLightbox.d.ts +22 -0
- package/lib/components/MediaLightbox/MediaLightbox.js +80 -0
- package/lib/components/MediaObject/MediaObject.d.ts +8 -0
- package/lib/components/MediaObject/MediaObject.js +37 -0
- package/lib/components/MediaObject/MediaObject.stories.js +28 -0
- package/lib/components/Navbar/Navbar.d.ts +43 -0
- package/lib/components/Navbar/Navbar.js +213 -0
- package/lib/components/Navbar/Navbar.stories.js +235 -0
- package/lib/components/NotFound/NotFound.d.ts +34 -0
- package/lib/components/NotFound/NotFound.js +351 -0
- package/lib/components/NotFound/NotFound.stories.js +80 -0
- package/lib/components/Notify/Notify.d.ts +18 -0
- package/lib/components/Notify/Notify.js +178 -0
- package/lib/components/Notify/Notify.stories.js +148 -0
- package/lib/components/Notify/NotifyExample.d.ts +1 -0
- package/lib/components/Notify/NotifyExample.js +174 -0
- package/lib/components/Notify/README.md +103 -0
- package/lib/components/Pagination/Pagination.d.ts +18 -0
- package/lib/components/Pagination/Pagination.js +225 -0
- package/lib/components/Pagination/Pagination.stories.js +69 -0
- package/lib/components/PasswordStrengthMeter/PasswordStrengthMeter.d.ts +12 -0
- package/lib/components/PasswordStrengthMeter/PasswordStrengthMeter.js +88 -0
- package/lib/components/PasswordStrengthMeter/PasswordStrengthMeter.stories.js +16 -0
- package/lib/components/PaymentMethodPanel/PaymentMethodPanel.d.ts +18 -0
- package/lib/components/PaymentMethodPanel/PaymentMethodPanel.js +113 -0
- package/lib/components/PaymentMethodPanel/PaymentMethodPanel.stories.js +88 -0
- package/lib/components/Pricing/Pricing.d.ts +78 -0
- package/lib/components/Pricing/Pricing.js +764 -0
- package/lib/components/Pricing/Pricing.stories.js +146 -0
- package/lib/components/ProductGrid/ProductGrid.d.ts +23 -0
- package/lib/components/ProductGrid/ProductGrid.js +79 -0
- package/lib/components/ProductGrid/ProductGrid.stories.js +50 -0
- package/lib/components/ProgressSteps/ProgressSteps.d.ts +13 -0
- package/lib/components/ProgressSteps/ProgressSteps.js +51 -0
- package/lib/components/ProgressSteps/ProgressSteps.stories.js +35 -0
- package/lib/components/RadioField/RadioField.d.ts +16 -0
- package/lib/components/RadioField/RadioField.js +63 -0
- package/lib/components/RadioField/RadioField.stories.js +140 -0
- package/lib/components/ReviewList/ReviewList.d.ts +15 -0
- package/lib/components/ReviewList/ReviewList.js +51 -0
- package/lib/components/ReviewList/ReviewList.stories.js +29 -0
- package/lib/components/SectionHeader/SectionHeader.d.ts +9 -0
- package/lib/components/SectionHeader/SectionHeader.js +36 -0
- package/lib/components/SectionHeader/SectionHeader.stories.js +35 -0
- package/lib/components/SelectField/SelectField.d.ts +18 -0
- package/lib/components/SelectField/SelectField.js +145 -0
- package/lib/components/SelectField/SelectField.stories.js +155 -0
- package/lib/components/SelectField/SelectOption.d.ts +13 -0
- package/lib/components/SelectField/SelectOption.js +40 -0
- package/lib/components/SelectField/SelectOption.stories.js +40 -0
- package/lib/components/Separator/Separator.d.ts +6 -0
- package/lib/components/Separator/Separator.js +13 -0
- package/lib/components/Separator/Separator.stories.js +70 -0
- package/lib/components/Skeleton/Skeleton.d.ts +2 -0
- package/lib/components/Skeleton/Skeleton.js +9 -0
- package/lib/components/Skeleton/Skeleton.stories.js +24 -0
- package/lib/components/Svg/Svg.d.ts +9 -0
- package/lib/components/Svg/Svg.js +25 -0
- package/lib/components/Svg/Svg.stories.js +34 -0
- package/lib/components/Switch/Switch.d.ts +12 -0
- package/lib/components/Switch/Switch.js +54 -0
- package/lib/components/Switch/Switch.stories.js +61 -0
- package/lib/components/Table/Table.d.ts +18 -0
- package/lib/components/Table/Table.js +99 -0
- package/lib/components/Table/Table.stories.js +79 -0
- package/lib/components/Tabs/Tabs.d.ts +17 -0
- package/lib/components/Tabs/Tabs.js +85 -0
- package/lib/components/Tabs/Tabs.stories.js +45 -0
- package/lib/components/Text/Text.d.ts +5 -0
- package/lib/components/Text/Text.js +24 -0
- package/lib/components/Text/Text.stories.js +35 -0
- package/lib/components/TextField/TextField.d.ts +31 -0
- package/lib/components/TextField/TextField.js +91 -0
- package/lib/components/TextField/TextField.stories.js +158 -0
- package/lib/components/Textarea/Textarea.d.ts +5 -0
- package/lib/components/Textarea/Textarea.js +10 -0
- package/lib/components/Textarea/Textarea.stories.js +32 -0
- package/lib/components/index.d.ts +60 -0
- package/lib/components/index.js +62 -0
- package/lib/config/appConfig.d.ts +5 -0
- package/lib/config/appConfig.js +20 -0
- package/lib/constants/AuthConstants.d.ts +8 -0
- package/lib/constants/AuthConstants.js +9 -0
- package/lib/constants/GothamConstants.d.ts +24 -0
- package/lib/constants/GothamConstants.js +25 -0
- package/lib/constants/MarkdownConstants.d.ts +8 -0
- package/lib/constants/MarkdownConstants.js +9 -0
- package/lib/constants/MessageConstants.d.ts +10 -0
- package/lib/constants/MessageConstants.js +11 -0
- package/lib/docs/analytics.md +231 -0
- package/lib/docs/api-reference.md +364 -0
- package/lib/docs/comparison.md +83 -0
- package/lib/docs/containers.md +11 -0
- package/lib/docs/gettingStarted.md +338 -0
- package/lib/docs/payments.md +79 -0
- package/lib/editor/CodeEditor.d.ts +11 -0
- package/lib/editor/CodeEditor.js +15 -0
- package/lib/editor/CodeEditor.stories.js +24 -0
- package/lib/editor/index.d.ts +1 -0
- package/lib/editor/index.js +3 -0
- package/lib/errors/UserError.d.ts +8 -0
- package/lib/errors/UserError.js +12 -0
- package/lib/examples/OptimizedFormExample.d.ts +1 -0
- package/lib/examples/OptimizedFormExample.js +130 -0
- package/lib/form/index.d.ts +11 -0
- package/lib/form/index.js +13 -0
- package/lib/hooks/useIsMobile.d.ts +1 -0
- package/lib/hooks/useIsMobile.js +12 -0
- package/lib/i18n/index.d.ts +8 -0
- package/lib/i18n/index.js +7 -0
- package/lib/icons/Dual Ring-1s-100px.svg +1 -0
- package/lib/icons/gotham-logo.svg +17 -0
- package/lib/icons/gotham.svg +8 -0
- package/lib/icons/index.d.ts +5 -0
- package/lib/icons/index.js +6 -0
- package/lib/icons/pencil.svg +6 -0
- package/lib/img/arkhamjs-logo.png +0 -0
- package/lib/img/logo.png +0 -0
- package/lib/index.d.ts +25 -0
- package/lib/index.js +25 -0
- package/lib/router/index.d.ts +5 -0
- package/lib/router/index.js +6 -0
- package/lib/stores/GothamAppStore.d.ts +35 -0
- package/lib/stores/GothamAppStore.js +70 -0
- package/lib/stories/Button.d.ts +28 -0
- package/lib/stories/Button.js +22 -0
- package/lib/stories/Header.d.ts +12 -0
- package/lib/stories/Header.js +78 -0
- package/lib/stories/Page.d.ts +3 -0
- package/lib/stories/Page.js +108 -0
- package/lib/stories/assets/accessibility.png +0 -0
- package/lib/stories/assets/accessibility.svg +5 -0
- package/lib/stories/assets/addon-library.png +0 -0
- package/lib/stories/assets/assets.png +0 -0
- package/lib/stories/assets/context.png +0 -0
- package/lib/stories/assets/discord.svg +15 -0
- package/lib/stories/assets/docs.png +0 -0
- package/lib/stories/assets/figma-plugin.png +0 -0
- package/lib/stories/assets/github.svg +3 -0
- package/lib/stories/assets/share.png +0 -0
- package/lib/stories/assets/styling.png +0 -0
- package/lib/stories/assets/testing.png +0 -0
- package/lib/stories/assets/theming.png +0 -0
- package/lib/stories/assets/tutorials.svg +12 -0
- package/lib/stories/assets/youtube.svg +4 -0
- package/lib/stories/button.css +1 -0
- package/lib/stories/header.css +1 -0
- package/lib/stories/page.css +1 -0
- package/lib/styles/chat.css +1 -0
- package/lib/styles/index.css +2 -0
- package/lib/styles/tailwind.css +1 -0
- package/lib/types/assets.d.js +2 -0
- package/lib/types/gotham.d.ts +12 -0
- package/lib/types/gotham.js +3 -0
- package/lib/types/vitest-globals.d.js +3 -0
- package/lib/utils/GothamContext.d.ts +14 -0
- package/lib/utils/GothamContext.js +14 -0
- package/lib/utils/awsRum.d.ts +23 -0
- package/lib/utils/awsRum.js +50 -0
- package/lib/utils/colorUtils.d.ts +20 -0
- package/lib/utils/colorUtils.js +499 -0
- package/lib/utils/contentUtils.d.ts +2 -0
- package/lib/utils/contentUtils.js +18 -0
- package/lib/utils/i18nUtil.d.ts +1 -0
- package/lib/utils/i18nUtil.js +7 -0
- package/lib/utils/imageUtils.d.ts +5 -0
- package/lib/utils/imageUtils.js +48 -0
- package/lib/utils/interactionAnalytics.d.ts +10 -0
- package/lib/utils/interactionAnalytics.js +142 -0
- package/lib/utils/navEventQueue.d.ts +6 -0
- package/lib/utils/navEventQueue.js +50 -0
- package/lib/utils/refUtils.d.ts +2 -0
- package/lib/utils/refUtils.js +11 -0
- package/lib/utils/routeUtils.d.ts +12 -0
- package/lib/utils/routeUtils.js +109 -0
- package/lib/utils/sizeUtils.d.ts +5 -0
- package/lib/utils/sizeUtils.js +6 -0
- package/lib/utils/storyInteractions.d.ts +6 -0
- package/lib/utils/storyInteractions.js +45 -0
- package/lib/utils/storyUtils.d.ts +1 -0
- package/lib/utils/storyUtils.js +11 -0
- package/lib/utils/testUtils.d.ts +3 -0
- package/lib/utils/testUtils.js +56 -0
- package/lib/utils/timer.d.ts +21 -0
- package/lib/utils/timer.js +38 -0
- package/lib/utils/useBreakpoint.d.ts +6 -0
- package/lib/utils/useBreakpoint.js +56 -0
- package/lib/utils/viewPerformance.d.ts +34 -0
- package/lib/utils/viewPerformance.js +103 -0
- package/lib/utils/viewUtils.d.ts +9 -0
- package/lib/utils/viewUtils.js +44 -0
- package/lib/views/AuthSignInView/AuthSignInView.d.ts +20 -0
- package/lib/views/AuthSignInView/AuthSignInView.js +107 -0
- package/lib/views/AuthSignInView/AuthSignInView.stories.js +29 -0
- package/lib/views/AuthSignUpView/AuthSignUpView.d.ts +21 -0
- package/lib/views/AuthSignUpView/AuthSignUpView.js +146 -0
- package/lib/views/AuthSignUpView/AuthSignUpView.stories.js +30 -0
- package/lib/views/AuthView/AuthView.d.ts +16 -0
- package/lib/views/AuthView/AuthView.js +60 -0
- package/lib/views/AuthView/AuthView.stories.js +34 -0
- package/lib/views/DefaultView/DefaultView.d.ts +5 -0
- package/lib/views/DefaultView/DefaultView.js +134 -0
- package/lib/views/Gotham/Gotham.d.ts +44 -0
- package/lib/views/Gotham/Gotham.js +24 -0
- package/lib/views/Gotham/Gotham.stories.js +31 -0
- package/lib/views/Gotham/GothamListeners.d.ts +0 -0
- package/lib/views/Gotham/GothamListeners.js +2 -0
- package/lib/views/Gotham/GothamProvider.d.ts +43 -0
- package/lib/views/Gotham/GothamProvider.js +217 -0
- package/lib/views/Gotham/GothamRoot.d.ts +6 -0
- package/lib/views/Gotham/GothamRoot.js +69 -0
- package/lib/views/HomeView/HomeView.d.ts +10 -0
- package/lib/views/HomeView/HomeView.js +134 -0
- package/lib/views/LoaderView/LoaderView.d.ts +8 -0
- package/lib/views/LoaderView/LoaderView.js +30 -0
- package/lib/views/MenuView/MenuView.d.ts +13 -0
- package/lib/views/MenuView/MenuView.js +305 -0
- package/lib/views/NotFoundView/NotFoundView.d.ts +2 -0
- package/lib/views/NotFoundView/NotFoundView.js +12 -0
- package/lib/views/index.d.ts +11 -0
- package/lib/views/index.js +13 -0
- package/package.json +202 -0
- package/styles/tailwind.css +1 -0
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from '@nlabs/utils';
|
|
3
|
+
import { useTranslation } from '../../i18n/index.js';
|
|
4
|
+
import { getBackgroundClasses, getBorderClasses, getTextClasses } from '../../utils/colorUtils.js';
|
|
5
|
+
import { renderWithAsChild } from '../ComponentUtils/renderWithAsChild.js';
|
|
6
|
+
const getNormalizedVariant = (variant)=>{
|
|
7
|
+
if (variant === 'contained') return 'solid';
|
|
8
|
+
if (variant === 'outlined') return 'outline';
|
|
9
|
+
return variant;
|
|
10
|
+
};
|
|
11
|
+
export const Button = ({ as, asChild = false, backgroundColor, children, className, color = 'primary', disabled, hasNotification = false, hasShadow = false, icon, isLoading = false, label = '', labelColor, onClick = ()=>{}, ref, rounded = 0, size = 'md', style, type = 'button', variant = 'solid', ...props })=>{
|
|
12
|
+
const { t } = useTranslation();
|
|
13
|
+
const normalizedVariant = getNormalizedVariant(variant);
|
|
14
|
+
const resolvedBackgroundColor = backgroundColor ?? (normalizedVariant === 'solid' ? color : 'transparent');
|
|
15
|
+
const resolvedLabelColor = labelColor ?? (normalizedVariant === 'solid' ? 'white' : color);
|
|
16
|
+
const resolvedBorderColor = normalizedVariant === 'outline' ? resolvedLabelColor : resolvedBackgroundColor;
|
|
17
|
+
const classes = [
|
|
18
|
+
'disabled:pointer-events-none',
|
|
19
|
+
'disabled:opacity-50'
|
|
20
|
+
];
|
|
21
|
+
if (variant) {
|
|
22
|
+
classes.push(...[
|
|
23
|
+
'cursor-pointer',
|
|
24
|
+
'flex',
|
|
25
|
+
'focus-visible:outline',
|
|
26
|
+
'focus-visible:outline-2',
|
|
27
|
+
'focus-visible:outline-offset-2',
|
|
28
|
+
'focus-visible:outline-secondary',
|
|
29
|
+
'items-center',
|
|
30
|
+
'justify-center',
|
|
31
|
+
'leading-6',
|
|
32
|
+
'relative',
|
|
33
|
+
'transition-colors',
|
|
34
|
+
'duration-300',
|
|
35
|
+
'ease-out'
|
|
36
|
+
]);
|
|
37
|
+
switch(normalizedVariant){
|
|
38
|
+
case 'outline':
|
|
39
|
+
classes.push(getBackgroundClasses(resolvedBackgroundColor, {
|
|
40
|
+
hasFocus: true,
|
|
41
|
+
hasHover: resolvedBackgroundColor !== 'transparent'
|
|
42
|
+
}), 'border-1', 'font-semibold', getBorderClasses(resolvedBorderColor, {
|
|
43
|
+
hasFocus: true,
|
|
44
|
+
hasHover: true
|
|
45
|
+
}), getTextClasses(resolvedLabelColor, {
|
|
46
|
+
hasFocus: true,
|
|
47
|
+
hasHover: true
|
|
48
|
+
}));
|
|
49
|
+
break;
|
|
50
|
+
case 'text':
|
|
51
|
+
classes.push(getBackgroundClasses(resolvedBackgroundColor, {
|
|
52
|
+
hasFocus: true,
|
|
53
|
+
hasHover: resolvedBackgroundColor !== 'transparent'
|
|
54
|
+
}), 'font-semibold', getTextClasses(resolvedLabelColor, {
|
|
55
|
+
hasFocus: true,
|
|
56
|
+
hasHover: true
|
|
57
|
+
}));
|
|
58
|
+
break;
|
|
59
|
+
case 'solid':
|
|
60
|
+
default:
|
|
61
|
+
classes.push(getBackgroundClasses(resolvedBackgroundColor, {
|
|
62
|
+
hasFocus: true,
|
|
63
|
+
hasHover: true
|
|
64
|
+
}), getBorderClasses(resolvedBackgroundColor, {
|
|
65
|
+
hasFocus: true,
|
|
66
|
+
hasHover: true
|
|
67
|
+
}), 'font-medium', getTextClasses(resolvedLabelColor, {
|
|
68
|
+
hasFocus: true,
|
|
69
|
+
hasHover: resolvedLabelColor !== 'white'
|
|
70
|
+
}));
|
|
71
|
+
break;
|
|
72
|
+
}
|
|
73
|
+
if (hasShadow && variant !== 'text') {
|
|
74
|
+
classes.push('shadow-[0_0_12px_rgba(0,0,0,0.12)] dark:shadow-[0_0_12px_rgba(0,0,0,0.28)]');
|
|
75
|
+
}
|
|
76
|
+
switch(size){
|
|
77
|
+
case 'sm':
|
|
78
|
+
classes.push('px-4', 'py-0.5', 'text-sm');
|
|
79
|
+
break;
|
|
80
|
+
case 'lg':
|
|
81
|
+
classes.push('px-8', 'py-4', 'text-lg');
|
|
82
|
+
break;
|
|
83
|
+
case 'md':
|
|
84
|
+
default:
|
|
85
|
+
classes.push('px-6', 'py-2', 'text-md');
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
let buttonNotification = null;
|
|
89
|
+
if (hasNotification) {
|
|
90
|
+
buttonNotification = /*#__PURE__*/ _jsxs("span", {
|
|
91
|
+
className: "absolute top-0 right-0 -mt-1 -mr-1 flex size-3",
|
|
92
|
+
children: [
|
|
93
|
+
/*#__PURE__*/ _jsx("span", {
|
|
94
|
+
className: "absolute inline-flex h-full w-full animate-ping rounded-full bg-sky-400 opacity-75"
|
|
95
|
+
}),
|
|
96
|
+
/*#__PURE__*/ _jsx("span", {
|
|
97
|
+
className: "relative inline-flex size-3 rounded-full bg-sky-500"
|
|
98
|
+
})
|
|
99
|
+
]
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
const buttonContent = asChild ? children : /*#__PURE__*/ _jsxs(_Fragment, {
|
|
103
|
+
children: [
|
|
104
|
+
buttonNotification,
|
|
105
|
+
/*#__PURE__*/ _jsxs("span", {
|
|
106
|
+
className: cn('inline-flex items-center justify-center gap-2', isLoading && 'opacity-0'),
|
|
107
|
+
children: [
|
|
108
|
+
icon,
|
|
109
|
+
children ? children : t(label)
|
|
110
|
+
]
|
|
111
|
+
}),
|
|
112
|
+
isLoading ? /*#__PURE__*/ _jsxs("svg", {
|
|
113
|
+
"aria-hidden": "true",
|
|
114
|
+
className: "absolute left-1/2 top-1/2 size-5 -translate-x-1/2 -translate-y-1/2 animate-spin",
|
|
115
|
+
fill: "none",
|
|
116
|
+
viewBox: "0 0 24 24",
|
|
117
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
118
|
+
children: [
|
|
119
|
+
/*#__PURE__*/ _jsx("circle", {
|
|
120
|
+
className: "opacity-25",
|
|
121
|
+
cx: "12",
|
|
122
|
+
cy: "12",
|
|
123
|
+
r: "10",
|
|
124
|
+
stroke: "currentColor",
|
|
125
|
+
strokeWidth: "4"
|
|
126
|
+
}),
|
|
127
|
+
/*#__PURE__*/ _jsx("path", {
|
|
128
|
+
className: "opacity-75",
|
|
129
|
+
d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z",
|
|
130
|
+
fill: "currentColor"
|
|
131
|
+
})
|
|
132
|
+
]
|
|
133
|
+
}) : null
|
|
134
|
+
]
|
|
135
|
+
});
|
|
136
|
+
return renderWithAsChild({
|
|
137
|
+
as: as ?? 'button',
|
|
138
|
+
asChild,
|
|
139
|
+
children: buttonContent,
|
|
140
|
+
className: cn(...classes, className),
|
|
141
|
+
'data-testid': `button-${label || children}`,
|
|
142
|
+
disabled: isLoading || disabled,
|
|
143
|
+
onClick,
|
|
144
|
+
ref,
|
|
145
|
+
style: {
|
|
146
|
+
...style,
|
|
147
|
+
borderRadius: rounded
|
|
148
|
+
},
|
|
149
|
+
type,
|
|
150
|
+
...props
|
|
151
|
+
}, {
|
|
152
|
+
'data-slot': 'button',
|
|
153
|
+
'data-variant': variant
|
|
154
|
+
});
|
|
155
|
+
};
|
|
156
|
+
|
|
157
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L2dvdGhhbWpzL3NyYy9jb21wb25lbnRzL0J1dHRvbi9CdXR0b24udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Y259IGZyb20gJ0BubGFicy91dGlscyc7XG5cbmltcG9ydCB7dXNlVHJhbnNsYXRpb259IGZyb20gJy4uLy4uL2kxOG4vaW5kZXguanMnO1xuaW1wb3J0IHtnZXRCYWNrZ3JvdW5kQ2xhc3NlcywgZ2V0Qm9yZGVyQ2xhc3NlcywgZ2V0VGV4dENsYXNzZXN9IGZyb20gJy4uLy4uL3V0aWxzL2NvbG9yVXRpbHMuanMnO1xuaW1wb3J0IHtyZW5kZXJXaXRoQXNDaGlsZH0gZnJvbSAnLi4vQ29tcG9uZW50VXRpbHMvcmVuZGVyV2l0aEFzQ2hpbGQuanMnO1xuXG5pbXBvcnQgdHlwZSB7QnV0dG9uSFRNTEF0dHJpYnV0ZXMsIENTU1Byb3BlcnRpZXMsIEVsZW1lbnRUeXBlLCBSZWFjdE5vZGUsIFJlZn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHR5cGUge0dvdGhhbUNvbG9yfSBmcm9tICcuLi8uLi91dGlscy9jb2xvclV0aWxzLmpzJztcbmltcG9ydCB0eXBlIHtHb3RoYW1TaXplfSBmcm9tICcuLi8uLi91dGlscy9zaXplVXRpbHMuanMnO1xuXG5leHBvcnQgdHlwZSBCdXR0b25UeXBlID0gJ2J1dHRvbicgfCAncmVzZXQnIHwgJ3N1Ym1pdCc7XG5leHBvcnQgdHlwZSBCdXR0b25WYXJpYW50ID0gJ3RleHQnIHwgJ3NvbGlkJyB8ICdvdXRsaW5lJyB8ICdjb250YWluZWQnIHwgJ291dGxpbmVkJztcblxuZXhwb3J0IGludGVyZmFjZSBCdXR0b25Qcm9wcyBleHRlbmRzIE9taXQ8QnV0dG9uSFRNTEF0dHJpYnV0ZXM8SFRNTEJ1dHRvbkVsZW1lbnQ+LCAnY2hpbGRyZW4nIHwgJ2NvbG9yJyB8ICdvbkNsaWNrJyB8ICd0eXBlJz4ge1xuICByZWFkb25seSBhcz86IEVsZW1lbnRUeXBlO1xuICByZWFkb25seSBhc0NoaWxkPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgYmFja2dyb3VuZENvbG9yPzogR290aGFtQ29sb3I7XG4gIHJlYWRvbmx5IGNoaWxkcmVuPzogUmVhY3ROb2RlO1xuICByZWFkb25seSBjb2xvcj86IEdvdGhhbUNvbG9yO1xuICByZWFkb25seSBoYXNOb3RpZmljYXRpb24/OiBib29sZWFuO1xuICByZWFkb25seSBoYXNTaGFkb3c/OiBib29sZWFuO1xuICByZWFkb25seSBpY29uPzogUmVhY3ROb2RlO1xuICByZWFkb25seSBpc0xvYWRpbmc/OiBib29sZWFuO1xuICByZWFkb25seSBsYWJlbD86IHN0cmluZztcbiAgcmVhZG9ubHkgbGFiZWxDb2xvcj86IEdvdGhhbUNvbG9yO1xuICByZWFkb25seSBvbkNsaWNrPzogKGV2ZW50PzogdW5rbm93bikgPT4gdm9pZDtcbiAgcmVhZG9ubHkgcmVmPzogUmVmPEhUTUxCdXR0b25FbGVtZW50PjtcbiAgcmVhZG9ubHkgcm91bmRlZD86IG51bWJlcjtcbiAgcmVhZG9ubHkgc2l6ZT86IEdvdGhhbVNpemU7XG4gIHJlYWRvbmx5IHR5cGU/OiBCdXR0b25UeXBlO1xuICByZWFkb25seSB2YXJpYW50PzogQnV0dG9uVmFyaWFudDtcbn1cblxuY29uc3QgZ2V0Tm9ybWFsaXplZFZhcmlhbnQgPSAodmFyaWFudDogQnV0dG9uVmFyaWFudCk6ICd0ZXh0JyB8ICdzb2xpZCcgfCAnb3V0bGluZScgPT4ge1xuICBpZih2YXJpYW50ID09PSAnY29udGFpbmVkJykgcmV0dXJuICdzb2xpZCc7XG4gIGlmKHZhcmlhbnQgPT09ICdvdXRsaW5lZCcpIHJldHVybiAnb3V0bGluZSc7XG5cbiAgcmV0dXJuIHZhcmlhbnQ7XG59O1xuXG5leHBvcnQgY29uc3QgQnV0dG9uID0gKHtcbiAgYXMsXG4gIGFzQ2hpbGQgPSBmYWxzZSxcbiAgYmFja2dyb3VuZENvbG9yLFxuICBjaGlsZHJlbixcbiAgY2xhc3NOYW1lLFxuICBjb2xvciA9ICdwcmltYXJ5JyxcbiAgZGlzYWJsZWQsXG4gIGhhc05vdGlmaWNhdGlvbiA9IGZhbHNlLFxuICBoYXNTaGFkb3cgPSBmYWxzZSxcbiAgaWNvbixcbiAgaXNMb2FkaW5nID0gZmFsc2UsXG4gIGxhYmVsID0gJycsXG4gIGxhYmVsQ29sb3IsXG4gIG9uQ2xpY2sgPSAoKSA9PiB7fSxcbiAgcmVmLFxuICByb3VuZGVkID0gMCxcbiAgc2l6ZSA9ICdtZCcsXG4gIHN0eWxlLFxuICB0eXBlID0gJ2J1dHRvbicsXG4gIHZhcmlhbnQgPSAnc29saWQnLFxuICAuLi5wcm9wc1xufTogQnV0dG9uUHJvcHMpID0+IHtcbiAgY29uc3Qge3R9ID0gdXNlVHJhbnNsYXRpb24oKTtcbiAgY29uc3Qgbm9ybWFsaXplZFZhcmlhbnQgPSBnZXROb3JtYWxpemVkVmFyaWFudCh2YXJpYW50KTtcbiAgY29uc3QgcmVzb2x2ZWRCYWNrZ3JvdW5kQ29sb3IgPSBiYWNrZ3JvdW5kQ29sb3IgPz8gKG5vcm1hbGl6ZWRWYXJpYW50ID09PSAnc29saWQnID8gY29sb3IgOiAndHJhbnNwYXJlbnQnKTtcbiAgY29uc3QgcmVzb2x2ZWRMYWJlbENvbG9yID0gbGFiZWxDb2xvciA/PyAobm9ybWFsaXplZFZhcmlhbnQgPT09ICdzb2xpZCcgPyAnd2hpdGUnIDogY29sb3IpO1xuICBjb25zdCByZXNvbHZlZEJvcmRlckNvbG9yID0gbm9ybWFsaXplZFZhcmlhbnQgPT09ICdvdXRsaW5lJyA/IHJlc29sdmVkTGFiZWxDb2xvciA6IHJlc29sdmVkQmFja2dyb3VuZENvbG9yO1xuICBjb25zdCBjbGFzc2VzOiBzdHJpbmdbXSA9IFtcbiAgICAnZGlzYWJsZWQ6cG9pbnRlci1ldmVudHMtbm9uZScsXG4gICAgJ2Rpc2FibGVkOm9wYWNpdHktNTAnXG4gIF07XG5cbiAgaWYodmFyaWFudCkge1xuICAgIGNsYXNzZXMucHVzaCguLi5bXG4gICAgICAnY3Vyc29yLXBvaW50ZXInLFxuICAgICAgJ2ZsZXgnLFxuICAgICAgJ2ZvY3VzLXZpc2libGU6b3V0bGluZScsXG4gICAgICAnZm9jdXMtdmlzaWJsZTpvdXRsaW5lLTInLFxuICAgICAgJ2ZvY3VzLXZpc2libGU6b3V0bGluZS1vZmZzZXQtMicsXG4gICAgICAnZm9jdXMtdmlzaWJsZTpvdXRsaW5lLXNlY29uZGFyeScsXG4gICAgICAnaXRlbXMtY2VudGVyJyxcbiAgICAgICdqdXN0aWZ5LWNlbnRlcicsXG4gICAgICAnbGVhZGluZy02JyxcbiAgICAgICdyZWxhdGl2ZScsXG4gICAgICAndHJhbnNpdGlvbi1jb2xvcnMnLFxuICAgICAgJ2R1cmF0aW9uLTMwMCcsXG4gICAgICAnZWFzZS1vdXQnXG4gICAgXSk7XG5cbiAgICBzd2l0Y2gobm9ybWFsaXplZFZhcmlhbnQpIHtcbiAgICAgIGNhc2UgJ291dGxpbmUnOlxuICAgICAgICBjbGFzc2VzLnB1c2goXG4gICAgICAgICAgZ2V0QmFja2dyb3VuZENsYXNzZXMocmVzb2x2ZWRCYWNrZ3JvdW5kQ29sb3IsIHtoYXNGb2N1czogdHJ1ZSwgaGFzSG92ZXI6IHJlc29sdmVkQmFja2dyb3VuZENvbG9yICE9PSAndHJhbnNwYXJlbnQnfSksXG4gICAgICAgICAgJ2JvcmRlci0xJyxcbiAgICAgICAgICAnZm9udC1zZW1pYm9sZCcsXG4gICAgICAgICAgZ2V0Qm9yZGVyQ2xhc3NlcyhyZXNvbHZlZEJvcmRlckNvbG9yLCB7aGFzRm9jdXM6IHRydWUsIGhhc0hvdmVyOiB0cnVlfSksXG4gICAgICAgICAgZ2V0VGV4dENsYXNzZXMocmVzb2x2ZWRMYWJlbENvbG9yLCB7aGFzRm9jdXM6IHRydWUsIGhhc0hvdmVyOiB0cnVlfSlcbiAgICAgICAgKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICd0ZXh0JzpcbiAgICAgICAgY2xhc3Nlcy5wdXNoKFxuICAgICAgICAgIGdldEJhY2tncm91bmRDbGFzc2VzKHJlc29sdmVkQmFja2dyb3VuZENvbG9yLCB7aGFzRm9jdXM6IHRydWUsIGhhc0hvdmVyOiByZXNvbHZlZEJhY2tncm91bmRDb2xvciAhPT0gJ3RyYW5zcGFyZW50J30pLFxuICAgICAgICAgICdmb250LXNlbWlib2xkJyxcbiAgICAgICAgICBnZXRUZXh0Q2xhc3NlcyhyZXNvbHZlZExhYmVsQ29sb3IsIHtoYXNGb2N1czogdHJ1ZSwgaGFzSG92ZXI6IHRydWV9KVxuICAgICAgICApO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3NvbGlkJzpcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGNsYXNzZXMucHVzaChcbiAgICAgICAgICBnZXRCYWNrZ3JvdW5kQ2xhc3NlcyhyZXNvbHZlZEJhY2tncm91bmRDb2xvciwge2hhc0ZvY3VzOiB0cnVlLCBoYXNIb3ZlcjogdHJ1ZX0pLFxuICAgICAgICAgIGdldEJvcmRlckNsYXNzZXMocmVzb2x2ZWRCYWNrZ3JvdW5kQ29sb3IsIHtoYXNGb2N1czogdHJ1ZSwgaGFzSG92ZXI6IHRydWV9KSxcbiAgICAgICAgICAnZm9udC1tZWRpdW0nLFxuICAgICAgICAgIGdldFRleHRDbGFzc2VzKHJlc29sdmVkTGFiZWxDb2xvciwge2hhc0ZvY3VzOiB0cnVlLCBoYXNIb3ZlcjogcmVzb2x2ZWRMYWJlbENvbG9yICE9PSAnd2hpdGUnfSlcbiAgICAgICAgKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgaWYoaGFzU2hhZG93ICYmIHZhcmlhbnQgIT09ICd0ZXh0Jykge1xuICAgICAgY2xhc3Nlcy5wdXNoKCdzaGFkb3ctWzBfMF8xMnB4X3JnYmEoMCwwLDAsMC4xMildIGRhcms6c2hhZG93LVswXzBfMTJweF9yZ2JhKDAsMCwwLDAuMjgpXScpO1xuICAgIH1cblxuICAgIHN3aXRjaChzaXplKSB7XG4gICAgICBjYXNlICdzbSc6XG4gICAgICAgIGNsYXNzZXMucHVzaChcbiAgICAgICAgICAncHgtNCcsXG4gICAgICAgICAgJ3B5LTAuNScsXG4gICAgICAgICAgJ3RleHQtc20nXG4gICAgICAgICk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnbGcnOlxuICAgICAgICBjbGFzc2VzLnB1c2goXG4gICAgICAgICAgJ3B4LTgnLFxuICAgICAgICAgICdweS00JyxcbiAgICAgICAgICAndGV4dC1sZydcbiAgICAgICAgKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdtZCc6XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBjbGFzc2VzLnB1c2goXG4gICAgICAgICAgJ3B4LTYnLFxuICAgICAgICAgICdweS0yJyxcbiAgICAgICAgICAndGV4dC1tZCdcbiAgICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBsZXQgYnV0dG9uTm90aWZpY2F0aW9uOiBSZWFjdE5vZGUgfCBudWxsID0gbnVsbDtcblxuICBpZihoYXNOb3RpZmljYXRpb24pIHtcbiAgICBidXR0b25Ob3RpZmljYXRpb24gPSAoXG4gICAgICA8c3BhbiBjbGFzc05hbWU9XCJhYnNvbHV0ZSB0b3AtMCByaWdodC0wIC1tdC0xIC1tci0xIGZsZXggc2l6ZS0zXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImFic29sdXRlIGlubGluZS1mbGV4IGgtZnVsbCB3LWZ1bGwgYW5pbWF0ZS1waW5nIHJvdW5kZWQtZnVsbCBiZy1za3ktNDAwIG9wYWNpdHktNzVcIj48L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInJlbGF0aXZlIGlubGluZS1mbGV4IHNpemUtMyByb3VuZGVkLWZ1bGwgYmctc2t5LTUwMFwiPjwvc3Bhbj5cbiAgICAgIDwvc3Bhbj5cbiAgICApO1xuICB9XG5cbiAgY29uc3QgYnV0dG9uQ29udGVudCA9IGFzQ2hpbGQgPyBjaGlsZHJlbiA6IChcbiAgICA8PlxuICAgICAge2J1dHRvbk5vdGlmaWNhdGlvbn1cbiAgICAgIDxzcGFuIGNsYXNzTmFtZT17Y24oJ2lubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBnYXAtMicsIGlzTG9hZGluZyAmJiAnb3BhY2l0eS0wJyl9PlxuICAgICAgICB7aWNvbn1cbiAgICAgICAge2NoaWxkcmVuID8gY2hpbGRyZW4gOiB0KGxhYmVsKX1cbiAgICAgIDwvc3Bhbj5cbiAgICAgIHtpc0xvYWRpbmcgPyAoXG4gICAgICAgIDxzdmdcbiAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgIGNsYXNzTmFtZT1cImFic29sdXRlIGxlZnQtMS8yIHRvcC0xLzIgc2l6ZS01IC10cmFuc2xhdGUteC0xLzIgLXRyYW5zbGF0ZS15LTEvMiBhbmltYXRlLXNwaW5cIlxuICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxjaXJjbGUgY2xhc3NOYW1lPVwib3BhY2l0eS0yNVwiIGN4PVwiMTJcIiBjeT1cIjEyXCIgcj1cIjEwXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlV2lkdGg9XCI0XCI+PC9jaXJjbGU+XG4gICAgICAgICAgPHBhdGggY2xhc3NOYW1lPVwib3BhY2l0eS03NVwiIGQ9XCJNNCAxMmE4IDggMCAwMTgtOFYwQzUuMzczIDAgMCA1LjM3MyAwIDEyaDR6bTIgNS4yOTFBNy45NjIgNy45NjIgMCAwMTQgMTJIMGMwIDMuMDQyIDEuMTM1IDUuODI0IDMgNy45MzhsMy0yLjY0N3pcIiBmaWxsPVwiY3VycmVudENvbG9yXCI+PC9wYXRoPlxuICAgICAgICA8L3N2Zz5cbiAgICAgICkgOiBudWxsfVxuICAgIDwvPlxuICApO1xuXG4gIHJldHVybiByZW5kZXJXaXRoQXNDaGlsZChcbiAgICB7XG4gICAgICBhczogYXMgPz8gJ2J1dHRvbicsXG4gICAgICBhc0NoaWxkLFxuICAgICAgY2hpbGRyZW46IGJ1dHRvbkNvbnRlbnQsXG4gICAgICBjbGFzc05hbWU6IGNuKC4uLmNsYXNzZXMsIGNsYXNzTmFtZSksXG4gICAgICAnZGF0YS10ZXN0aWQnOiBgYnV0dG9uLSR7bGFiZWwgfHwgY2hpbGRyZW59YCxcbiAgICAgIGRpc2FibGVkOiBpc0xvYWRpbmcgfHwgZGlzYWJsZWQsXG4gICAgICBvbkNsaWNrLFxuICAgICAgcmVmLFxuICAgICAgc3R5bGU6IHtcbiAgICAgICAgLi4uc3R5bGUsXG4gICAgICAgIGJvcmRlclJhZGl1czogcm91bmRlZFxuICAgICAgfSBhcyBDU1NQcm9wZXJ0aWVzLFxuICAgICAgdHlwZSxcbiAgICAgIC4uLnByb3BzXG4gICAgfSBhcyBuZXZlcixcbiAgICB7XG4gICAgICAnZGF0YS1zbG90JzogJ2J1dHRvbicsXG4gICAgICAnZGF0YS12YXJpYW50JzogdmFyaWFudFxuICAgIH1cbiAgKTtcbn07XG4iXSwibmFtZXMiOlsiY24iLCJ1c2VUcmFuc2xhdGlvbiIsImdldEJhY2tncm91bmRDbGFzc2VzIiwiZ2V0Qm9yZGVyQ2xhc3NlcyIsImdldFRleHRDbGFzc2VzIiwicmVuZGVyV2l0aEFzQ2hpbGQiLCJnZXROb3JtYWxpemVkVmFyaWFudCIsInZhcmlhbnQiLCJCdXR0b24iLCJhcyIsImFzQ2hpbGQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJjaGlsZHJlbiIsImNsYXNzTmFtZSIsImNvbG9yIiwiZGlzYWJsZWQiLCJoYXNOb3RpZmljYXRpb24iLCJoYXNTaGFkb3ciLCJpY29uIiwiaXNMb2FkaW5nIiwibGFiZWwiLCJsYWJlbENvbG9yIiwib25DbGljayIsInJlZiIsInJvdW5kZWQiLCJzaXplIiwic3R5bGUiLCJ0eXBlIiwicHJvcHMiLCJ0Iiwibm9ybWFsaXplZFZhcmlhbnQiLCJyZXNvbHZlZEJhY2tncm91bmRDb2xvciIsInJlc29sdmVkTGFiZWxDb2xvciIsInJlc29sdmVkQm9yZGVyQ29sb3IiLCJjbGFzc2VzIiwicHVzaCIsImhhc0ZvY3VzIiwiaGFzSG92ZXIiLCJidXR0b25Ob3RpZmljYXRpb24iLCJzcGFuIiwiYnV0dG9uQ29udGVudCIsInN2ZyIsImFyaWEtaGlkZGVuIiwiZmlsbCIsInZpZXdCb3giLCJ4bWxucyIsImNpcmNsZSIsImN4IiwiY3kiLCJyIiwic3Ryb2tlIiwic3Ryb2tlV2lkdGgiLCJwYXRoIiwiZCIsImJvcmRl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
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { I18nextProvider, initReactI18next } from 'react-i18next';
|
|
4
|
+
import { i18n } from '../../i18n/index.js';
|
|
5
|
+
import { gothamColors } from '../../utils/colorUtils.js';
|
|
6
|
+
import { interactWithCanvas } from '../../utils/storyInteractions.js';
|
|
7
|
+
import { Button as ButtonComponent } from './Button.js';
|
|
8
|
+
const meta = {
|
|
9
|
+
argTypes: {
|
|
10
|
+
color: {
|
|
11
|
+
control: 'select',
|
|
12
|
+
options: gothamColors
|
|
13
|
+
},
|
|
14
|
+
backgroundColor: {
|
|
15
|
+
control: 'select',
|
|
16
|
+
options: [
|
|
17
|
+
...gothamColors,
|
|
18
|
+
'transparent'
|
|
19
|
+
]
|
|
20
|
+
},
|
|
21
|
+
hasShadow: {
|
|
22
|
+
control: 'boolean'
|
|
23
|
+
},
|
|
24
|
+
isLoading: {
|
|
25
|
+
control: 'boolean'
|
|
26
|
+
},
|
|
27
|
+
labelColor: {
|
|
28
|
+
control: 'select',
|
|
29
|
+
options: gothamColors
|
|
30
|
+
},
|
|
31
|
+
rounded: {
|
|
32
|
+
control: {
|
|
33
|
+
max: 32,
|
|
34
|
+
min: 0,
|
|
35
|
+
step: 1,
|
|
36
|
+
type: 'number'
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
size: {
|
|
40
|
+
control: 'select',
|
|
41
|
+
options: [
|
|
42
|
+
'sm',
|
|
43
|
+
'md',
|
|
44
|
+
'lg'
|
|
45
|
+
]
|
|
46
|
+
},
|
|
47
|
+
variant: {
|
|
48
|
+
control: 'select',
|
|
49
|
+
options: [
|
|
50
|
+
'solid',
|
|
51
|
+
'outline',
|
|
52
|
+
'text',
|
|
53
|
+
'contained',
|
|
54
|
+
'outlined'
|
|
55
|
+
]
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
component: ButtonComponent,
|
|
59
|
+
decorators: [
|
|
60
|
+
(Story)=>{
|
|
61
|
+
// Initialize i18n for Storybook
|
|
62
|
+
const storyI18n = i18n.createInstance();
|
|
63
|
+
storyI18n.use(initReactI18next).init({
|
|
64
|
+
fallbackLng: 'en',
|
|
65
|
+
interpolation: {
|
|
66
|
+
escapeValue: false
|
|
67
|
+
},
|
|
68
|
+
lng: 'en',
|
|
69
|
+
resources: {
|
|
70
|
+
en: {
|
|
71
|
+
translation: {
|
|
72
|
+
Button: 'Button'
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
return /*#__PURE__*/ _jsx(I18nextProvider, {
|
|
78
|
+
i18n: storyI18n,
|
|
79
|
+
children: /*#__PURE__*/ _jsx("div", {
|
|
80
|
+
className: "p-4",
|
|
81
|
+
children: /*#__PURE__*/ _jsx(Story, {})
|
|
82
|
+
})
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
],
|
|
86
|
+
parameters: {
|
|
87
|
+
backgrounds: {
|
|
88
|
+
default: 'light',
|
|
89
|
+
values: [
|
|
90
|
+
{
|
|
91
|
+
name: 'light',
|
|
92
|
+
value: '#ffffff'
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
name: 'dark',
|
|
96
|
+
value: '#1a1a1a'
|
|
97
|
+
}
|
|
98
|
+
]
|
|
99
|
+
},
|
|
100
|
+
layout: 'centered'
|
|
101
|
+
},
|
|
102
|
+
title: 'Components/Button'
|
|
103
|
+
};
|
|
104
|
+
export default meta;
|
|
105
|
+
export const Button = {
|
|
106
|
+
args: {
|
|
107
|
+
color: 'secondary',
|
|
108
|
+
disabled: false,
|
|
109
|
+
hasShadow: false,
|
|
110
|
+
isLoading: false,
|
|
111
|
+
label: 'Button',
|
|
112
|
+
rounded: 0,
|
|
113
|
+
size: 'md',
|
|
114
|
+
variant: 'solid'
|
|
115
|
+
},
|
|
116
|
+
play: interactWithCanvas
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L2dvdGhhbWpzL3NyYy9jb21wb25lbnRzL0J1dHRvbi9CdXR0b24uc3Rvcmllcy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7STE4bmV4dFByb3ZpZGVyLCBpbml0UmVhY3RJMThuZXh0fSBmcm9tICdyZWFjdC1pMThuZXh0JztcblxuaW1wb3J0IHtpMThufSBmcm9tICcuLi8uLi9pMThuL2luZGV4LmpzJztcbmltcG9ydCB7Z290aGFtQ29sb3JzfSBmcm9tICcuLi8uLi91dGlscy9jb2xvclV0aWxzLmpzJztcbmltcG9ydCB7aW50ZXJhY3RXaXRoQ2FudmFzfSBmcm9tICcuLi8uLi91dGlscy9zdG9yeUludGVyYWN0aW9ucy5qcyc7XG5pbXBvcnQge0J1dHRvbiBhcyBCdXR0b25Db21wb25lbnR9IGZyb20gJy4vQnV0dG9uLmpzJztcblxuaW1wb3J0IHR5cGUge01ldGEsIFN0b3J5T2JqfSBmcm9tICdAbmxhYnMvbGV4L3N0b3J5Ym9vayc7XG5cbmNvbnN0IG1ldGE6IE1ldGE8dHlwZW9mIEJ1dHRvbkNvbXBvbmVudD4gPSB7XG4gIGFyZ1R5cGVzOiB7XG4gICAgY29sb3I6IHtcbiAgICAgIGNvbnRyb2w6ICdzZWxlY3QnLFxuICAgICAgb3B0aW9uczogZ290aGFtQ29sb3JzXG4gICAgfSxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IHtcbiAgICAgIGNvbnRyb2w6ICdzZWxlY3QnLFxuICAgICAgb3B0aW9uczogWy4uLmdvdGhhbUNvbG9ycywgJ3RyYW5zcGFyZW50J11cbiAgICB9LFxuICAgIGhhc1NoYWRvdzoge1xuICAgICAgY29udHJvbDogJ2Jvb2xlYW4nXG4gICAgfSxcbiAgICBpc0xvYWRpbmc6IHtcbiAgICAgIGNvbnRyb2w6ICdib29sZWFuJ1xuICAgIH0sXG4gICAgbGFiZWxDb2xvcjoge1xuICAgICAgY29udHJvbDogJ3NlbGVjdCcsXG4gICAgICBvcHRpb25zOiBnb3RoYW1Db2xvcnNcbiAgICB9LFxuICAgIHJvdW5kZWQ6IHtcbiAgICAgIGNvbnRyb2w6IHtcbiAgICAgICAgbWF4OiAzMixcbiAgICAgICAgbWluOiAwLFxuICAgICAgICBzdGVwOiAxLFxuICAgICAgICB0eXBlOiAnbnVtYmVyJ1xuICAgICAgfVxuICAgIH0sXG4gICAgc2l6ZToge1xuICAgICAgY29udHJvbDogJ3NlbGVjdCcsXG4gICAgICBvcHRpb25zOiBbJ3NtJywgJ21kJywgJ2xnJ11cbiAgICB9LFxuICAgIHZhcmlhbnQ6IHtcbiAgICAgIGNvbnRyb2w6ICdzZWxlY3QnLFxuICAgICAgb3B0aW9uczogWydzb2xpZCcsICdvdXRsaW5lJywgJ3RleHQnLCAnY29udGFpbmVkJywgJ291dGxpbmVkJ11cbiAgICB9XG4gIH0sXG4gIGNvbXBvbmVudDogQnV0dG9uQ29tcG9uZW50LFxuICBkZWNvcmF0b3JzOiBbXG4gICAgKFN0b3J5KSA9PiB7XG4gICAgICAvLyBJbml0aWFsaXplIGkxOG4gZm9yIFN0b3J5Ym9va1xuICAgICAgY29uc3Qgc3RvcnlJMThuID0gaTE4bi5jcmVhdGVJbnN0YW5jZSgpO1xuICAgICAgc3RvcnlJMThuXG4gICAgICAgIC51c2UoaW5pdFJlYWN0STE4bmV4dClcbiAgICAgICAgLmluaXQoe1xuICAgICAgICAgIGZhbGxiYWNrTG5nOiAnZW4nLFxuICAgICAgICAgIGludGVycG9sYXRpb246IHtcbiAgICAgICAgICAgIGVzY2FwZVZhbHVlOiBmYWxzZVxuICAgICAgICAgIH0sXG4gICAgICAgICAgbG5nOiAnZW4nLFxuICAgICAgICAgIHJlc291cmNlczoge1xuICAgICAgICAgICAgZW46IHtcbiAgICAgICAgICAgICAgdHJhbnNsYXRpb246IHtcbiAgICAgICAgICAgICAgICBCdXR0b246ICdCdXR0b24nXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8STE4bmV4dFByb3ZpZGVyIGkxOG49e3N0b3J5STE4bn0+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJwLTRcIj5cbiAgICAgICAgICAgIDxTdG9yeSAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L0kxOG5leHRQcm92aWRlcj5cbiAgICAgICk7XG4gICAgfVxuICBdLFxuICBwYXJhbWV0ZXJzOiB7XG4gICAgYmFja2dyb3VuZHM6IHtcbiAgICAgIGRlZmF1bHQ6ICdsaWdodCcsXG4gICAgICB2YWx1ZXM6IFtcbiAgICAgICAge25hbWU6ICdsaWdodCcsIHZhbHVlOiAnI2ZmZmZmZid9LFxuICAgICAgICB7bmFtZTogJ2RhcmsnLCB2YWx1ZTogJyMxYTFhMWEnfVxuICAgICAgXVxuICAgIH0sXG4gICAgbGF5b3V0OiAnY2VudGVyZWQnXG4gIH0sXG4gIHRpdGxlOiAnQ29tcG9uZW50cy9CdXR0b24nXG59O1xuXG5leHBvcnQgZGVmYXVsdCBtZXRhO1xuXG50eXBlIFN0b3J5ID0gU3RvcnlPYmo8dHlwZW9mIEJ1dHRvbkNvbXBvbmVudD47XG5cbmV4cG9ydCBjb25zdCBCdXR0b246IFN0b3J5ID0ge1xuICBhcmdzOiB7XG4gICAgY29sb3I6ICdzZWNvbmRhcnknLFxuICAgIGRpc2FibGVkOiBmYWxzZSxcbiAgICBoYXNTaGFkb3c6IGZhbHNlLFxuICAgIGlzTG9hZGluZzogZmFsc2UsXG4gICAgbGFiZWw6ICdCdXR0b24nLFxuICAgIHJvdW5kZWQ6IDAsXG4gICAgc2l6ZTogJ21kJyxcbiAgICB2YXJpYW50OiAnc29saWQnXG4gIH0sXG4gIHBsYXk6IGludGVyYWN0V2l0aENhbnZhc1xufTtcbiJdLCJuYW1lcyI6WyJSZWFjdCIsIkkxOG5leHRQcm92aWRlciIsImluaXRSZWFjdEkxOG5leHQiLCJpMThuIiwiZ290aGFtQ29sb3JzIiwiaW50ZXJhY3RXaXRoQ2FudmFzIiwiQnV0dG9uIiwiQnV0dG9uQ29tcG9uZW50IiwibWV0YSIsImFyZ1R5cGVzIiwiY29sb3IiLCJjb250cm9sIiwib3B0aW9ucyIsImJhY2tncm91bmRDb2xvciIsImhhc1NoYWRvdyIsImlzTG9hZGluZyIsImxhYmVsQ29sb3IiLCJyb3VuZGVkIiwibWF4IiwibWluIiwic3RlcCIsInR5cGUiLCJzaXplIiwidmFyaWFudCIsImNvbXBvbmVudCIsImRlY29yYXRvcnMiLCJTdG9yeSIsInN0b3J5STE4biIsImNyZWF0ZUluc3RhbmNlIiwidXNlIiwiaW5pdCIsImZhbGxiYWNrTG5nIiwiaW50ZXJwb2xhdGlvbiIsImVzY2FwZVZhbHVlIiwibG5nIiwicmVzb3VyY2VzIiwiZW4iLCJ0cmFuc2xhdGlvbiIsImRpdiIsImNsYXNzTmFtZSIsInBhcmFtZXRlcnMiLCJiYWNrZ3JvdW5kcyIsImRlZmF1bHQiLCJ2YWx1ZXMiLCJuYW1lIiwidmFsdWUiLCJsYXlvdXQiLCJ0aXRsZSIsImFyZ3MiLCJkaXNhYmxlZCIsImxhYmVsIiwicGxheSJdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU9BLFdBQVcsUUFBUTtBQUMxQixTQUFRQyxlQUFlLEVBQUVDLGdCQUFnQixRQUFPLGdCQUFnQjtBQUVoRSxTQUFRQyxJQUFJLFFBQU8sc0JBQXNCO0FBQ3pDLFNBQVFDLFlBQVksUUFBTyw0QkFBNEI7QUFDdkQsU0FBUUMsa0JBQWtCLFFBQU8sbUNBQW1DO0FBQ3BFLFNBQVFDLFVBQVVDLGVBQWUsUUFBTyxjQUFjO0FBSXRELE1BQU1DLE9BQXFDO0lBQ3pDQyxVQUFVO1FBQ1JDLE9BQU87WUFDTEMsU0FBUztZQUNUQyxTQUFTUjtRQUNYO1FBQ0FTLGlCQUFpQjtZQUNmRixTQUFTO1lBQ1RDLFNBQVM7bUJBQUlSO2dCQUFjO2FBQWM7UUFDM0M7UUFDQVUsV0FBVztZQUNUSCxTQUFTO1FBQ1g7UUFDQUksV0FBVztZQUNUSixTQUFTO1FBQ1g7UUFDQUssWUFBWTtZQUNWTCxTQUFTO1lBQ1RDLFNBQVNSO1FBQ1g7UUFDQWEsU0FBUztZQUNQTixTQUFTO2dCQUNQTyxLQUFLO2dCQUNMQyxLQUFLO2dCQUNMQyxNQUFNO2dCQUNOQyxNQUFNO1lBQ1I7UUFDRjtRQUNBQyxNQUFNO1lBQ0pYLFNBQVM7WUFDVEMsU0FBUztnQkFBQztnQkFBTTtnQkFBTTthQUFLO1FBQzdCO1FBQ0FXLFNBQVM7WUFDUFosU0FBUztZQUNUQyxTQUFTO2dCQUFDO2dCQUFTO2dCQUFXO2dCQUFRO2dCQUFhO2FBQVc7UUFDaEU7SUFDRjtJQUNBWSxXQUFXakI7SUFDWGtCLFlBQVk7UUFDVixDQUFDQztZQUNDLGdDQUFnQztZQUNoQyxNQUFNQyxZQUFZeEIsS0FBS3lCLGNBQWM7WUFDckNELFVBQ0dFLEdBQUcsQ0FBQzNCLGtCQUNKNEIsSUFBSSxDQUFDO2dCQUNKQyxhQUFhO2dCQUNiQyxlQUFlO29CQUNiQyxhQUFhO2dCQUNmO2dCQUNBQyxLQUFLO2dCQUNMQyxXQUFXO29CQUNUQyxJQUFJO3dCQUNGQyxhQUFhOzRCQUNYL0IsUUFBUTt3QkFDVjtvQkFDRjtnQkFDRjtZQUNGO1lBRUYscUJBQ0UsS0FBQ0w7Z0JBQWdCRSxNQUFNd0I7MEJBQ3JCLGNBQUEsS0FBQ1c7b0JBQUlDLFdBQVU7OEJBQ2IsY0FBQSxLQUFDYjs7O1FBSVQ7S0FDRDtJQUNEYyxZQUFZO1FBQ1ZDLGFBQWE7WUFDWEMsU0FBUztZQUNUQyxRQUFRO2dCQUNOO29CQUFDQyxNQUFNO29CQUFTQyxPQUFPO2dCQUFTO2dCQUNoQztvQkFBQ0QsTUFBTTtvQkFBUUMsT0FBTztnQkFBUzthQUNoQztRQUNIO1FBQ0FDLFFBQVE7SUFDVjtJQUNBQyxPQUFPO0FBQ1Q7QUFFQSxlQUFldkMsS0FBSztBQUlwQixPQUFPLE1BQU1GLFNBQWdCO0lBQzNCMEMsTUFBTTtRQUNKdEMsT0FBTztRQUNQdUMsVUFBVTtRQUNWbkMsV0FBVztRQUNYQyxXQUFXO1FBQ1htQyxPQUFPO1FBQ1BqQyxTQUFTO1FBQ1RLLE1BQU07UUFDTkMsU0FBUztJQUNYO0lBQ0E0QixNQUFNOUM7QUFDUixFQUFFIn0=
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { HTMLAttributes } from 'react';
|
|
2
|
+
export declare const Card: ({ className, ...props }: HTMLAttributes<HTMLDivElement>) => import("react").JSX.Element;
|
|
3
|
+
export declare const CardHeader: ({ className, ...props }: HTMLAttributes<HTMLDivElement>) => import("react").JSX.Element;
|
|
4
|
+
export declare const CardTitle: ({ className, ...props }: HTMLAttributes<HTMLDivElement>) => import("react").JSX.Element;
|
|
5
|
+
export declare const CardDescription: ({ className, ...props }: HTMLAttributes<HTMLDivElement>) => import("react").JSX.Element;
|
|
6
|
+
export declare const CardAction: ({ className, ...props }: HTMLAttributes<HTMLDivElement>) => import("react").JSX.Element;
|
|
7
|
+
export declare const CardContent: ({ className, ...props }: HTMLAttributes<HTMLDivElement>) => import("react").JSX.Element;
|
|
8
|
+
export declare const CardFooter: ({ className, ...props }: HTMLAttributes<HTMLDivElement>) => import("react").JSX.Element;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from '@nlabs/utils';
|
|
3
|
+
export const Card = ({ className, ...props })=>/*#__PURE__*/ _jsx("div", {
|
|
4
|
+
className: cn('flex flex-col gap-6 rounded-xl border border-border bg-card py-6 text-card-foreground shadow-sm', className),
|
|
5
|
+
"data-slot": "card",
|
|
6
|
+
...props
|
|
7
|
+
});
|
|
8
|
+
export const CardHeader = ({ className, ...props })=>/*#__PURE__*/ _jsx("div", {
|
|
9
|
+
className: cn('@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6', className),
|
|
10
|
+
"data-slot": "card-header",
|
|
11
|
+
...props
|
|
12
|
+
});
|
|
13
|
+
export const CardTitle = ({ className, ...props })=>/*#__PURE__*/ _jsx("div", {
|
|
14
|
+
className: cn('leading-none font-semibold', className),
|
|
15
|
+
"data-slot": "card-title",
|
|
16
|
+
...props
|
|
17
|
+
});
|
|
18
|
+
export const CardDescription = ({ className, ...props })=>/*#__PURE__*/ _jsx("div", {
|
|
19
|
+
className: cn('text-sm text-muted-foreground', className),
|
|
20
|
+
"data-slot": "card-description",
|
|
21
|
+
...props
|
|
22
|
+
});
|
|
23
|
+
export const CardAction = ({ className, ...props })=>/*#__PURE__*/ _jsx("div", {
|
|
24
|
+
className: cn('col-start-2 row-span-2 row-start-1 self-start justify-self-end', className),
|
|
25
|
+
"data-slot": "card-action",
|
|
26
|
+
...props
|
|
27
|
+
});
|
|
28
|
+
export const CardContent = ({ className, ...props })=>/*#__PURE__*/ _jsx("div", {
|
|
29
|
+
className: cn('px-6', className),
|
|
30
|
+
"data-slot": "card-content",
|
|
31
|
+
...props
|
|
32
|
+
});
|
|
33
|
+
export const CardFooter = ({ className, ...props })=>/*#__PURE__*/ _jsx("div", {
|
|
34
|
+
className: cn('flex items-center px-6 [.border-t]:pt-6', className),
|
|
35
|
+
"data-slot": "card-footer",
|
|
36
|
+
...props
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L2dvdGhhbWpzL3NyYy9jb21wb25lbnRzL0NhcmQvQ2FyZC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjbn0gZnJvbSAnQG5sYWJzL3V0aWxzJztcblxuaW1wb3J0IHR5cGUge0hUTUxBdHRyaWJ1dGVzfSBmcm9tICdyZWFjdCc7XG5cbmV4cG9ydCBjb25zdCBDYXJkID0gKHtjbGFzc05hbWUsIC4uLnByb3BzfTogSFRNTEF0dHJpYnV0ZXM8SFRNTERpdkVsZW1lbnQ+KSA9PiAoXG4gIDxkaXZcbiAgICBjbGFzc05hbWU9e2NuKCdmbGV4IGZsZXgtY29sIGdhcC02IHJvdW5kZWQteGwgYm9yZGVyIGJvcmRlci1ib3JkZXIgYmctY2FyZCBweS02IHRleHQtY2FyZC1mb3JlZ3JvdW5kIHNoYWRvdy1zbScsIGNsYXNzTmFtZSl9XG4gICAgZGF0YS1zbG90PVwiY2FyZFwiXG4gICAgey4uLnByb3BzfVxuICAvPlxuKTtcblxuZXhwb3J0IGNvbnN0IENhcmRIZWFkZXIgPSAoe2NsYXNzTmFtZSwgLi4ucHJvcHN9OiBIVE1MQXR0cmlidXRlczxIVE1MRGl2RWxlbWVudD4pID0+IChcbiAgPGRpdlxuICAgIGNsYXNzTmFtZT17Y24oJ0Bjb250YWluZXIvY2FyZC1oZWFkZXIgZ3JpZCBhdXRvLXJvd3MtbWluIGdyaWQtcm93cy1bYXV0b19hdXRvXSBpdGVtcy1zdGFydCBnYXAtMiBweC02IGhhcy1kYXRhLVtzbG90PWNhcmQtYWN0aW9uXTpncmlkLWNvbHMtWzFmcl9hdXRvXSBbLmJvcmRlci1iXTpwYi02JywgY2xhc3NOYW1lKX1cbiAgICBkYXRhLXNsb3Q9XCJjYXJkLWhlYWRlclwiXG4gICAgey4uLnByb3BzfVxuICAvPlxuKTtcblxuZXhwb3J0IGNvbnN0IENhcmRUaXRsZSA9ICh7Y2xhc3NOYW1lLCAuLi5wcm9wc306IEhUTUxBdHRyaWJ1dGVzPEhUTUxEaXZFbGVtZW50PikgPT4gKFxuICA8ZGl2XG4gICAgY2xhc3NOYW1lPXtjbignbGVhZGluZy1ub25lIGZvbnQtc2VtaWJvbGQnLCBjbGFzc05hbWUpfVxuICAgIGRhdGEtc2xvdD1cImNhcmQtdGl0bGVcIlxuICAgIHsuLi5wcm9wc31cbiAgLz5cbik7XG5cbmV4cG9ydCBjb25zdCBDYXJkRGVzY3JpcHRpb24gPSAoe2NsYXNzTmFtZSwgLi4ucHJvcHN9OiBIVE1MQXR0cmlidXRlczxIVE1MRGl2RWxlbWVudD4pID0+IChcbiAgPGRpdlxuICAgIGNsYXNzTmFtZT17Y24oJ3RleHQtc20gdGV4dC1tdXRlZC1mb3JlZ3JvdW5kJywgY2xhc3NOYW1lKX1cbiAgICBkYXRhLXNsb3Q9XCJjYXJkLWRlc2NyaXB0aW9uXCJcbiAgICB7Li4ucHJvcHN9XG4gIC8+XG4pO1xuXG5leHBvcnQgY29uc3QgQ2FyZEFjdGlvbiA9ICh7Y2xhc3NOYW1lLCAuLi5wcm9wc306IEhUTUxBdHRyaWJ1dGVzPEhUTUxEaXZFbGVtZW50PikgPT4gKFxuICA8ZGl2XG4gICAgY2xhc3NOYW1lPXtjbignY29sLXN0YXJ0LTIgcm93LXNwYW4tMiByb3ctc3RhcnQtMSBzZWxmLXN0YXJ0IGp1c3RpZnktc2VsZi1lbmQnLCBjbGFzc05hbWUpfVxuICAgIGRhdGEtc2xvdD1cImNhcmQtYWN0aW9uXCJcbiAgICB7Li4ucHJvcHN9XG4gIC8+XG4pO1xuXG5leHBvcnQgY29uc3QgQ2FyZENvbnRlbnQgPSAoe2NsYXNzTmFtZSwgLi4ucHJvcHN9OiBIVE1MQXR0cmlidXRlczxIVE1MRGl2RWxlbWVudD4pID0+IChcbiAgPGRpdlxuICAgIGNsYXNzTmFtZT17Y24oJ3B4LTYnLCBjbGFzc05hbWUpfVxuICAgIGRhdGEtc2xvdD1cImNhcmQtY29udGVudFwiXG4gICAgey4uLnByb3BzfVxuICAvPlxuKTtcblxuZXhwb3J0IGNvbnN0IENhcmRGb290ZXIgPSAoe2NsYXNzTmFtZSwgLi4ucHJvcHN9OiBIVE1MQXR0cmlidXRlczxIVE1MRGl2RWxlbWVudD4pID0+IChcbiAgPGRpdlxuICAgIGNsYXNzTmFtZT17Y24oJ2ZsZXggaXRlbXMtY2VudGVyIHB4LTYgWy5ib3JkZXItdF06cHQtNicsIGNsYXNzTmFtZSl9XG4gICAgZGF0YS1zbG90PVwiY2FyZC1mb290ZXJcIlxuICAgIHsuLi5wcm9wc31cbiAgLz5cbik7XG4iXSwibmFtZXMiOlsiY24iLCJDYXJkIiwiY2xhc3NOYW1lIiwicHJvcHMiLCJkaXYiLCJkYXRhLXNsb3QiLCJDYXJkSGVhZGVyIiwiQ2FyZFRpdGxlIiwiQ2FyZERlc2NyaXB0aW9uIiwiQ2FyZEFjdGlvbiIsIkNhcmRDb250ZW50IiwiQ2FyZEZvb3RlciJdLCJtYXBwaW5ncyI6IjtBQUFBLFNBQVFBLEVBQUUsUUFBTyxlQUFlO0FBSWhDLE9BQU8sTUFBTUMsT0FBTyxDQUFDLEVBQUNDLFNBQVMsRUFBRSxHQUFHQyxPQUFzQyxpQkFDeEUsS0FBQ0M7UUFDQ0YsV0FBV0YsR0FBRyxtR0FBbUdFO1FBQ2pIRyxhQUFVO1FBQ1QsR0FBR0YsS0FBSztPQUVYO0FBRUYsT0FBTyxNQUFNRyxhQUFhLENBQUMsRUFBQ0osU0FBUyxFQUFFLEdBQUdDLE9BQXNDLGlCQUM5RSxLQUFDQztRQUNDRixXQUFXRixHQUFHLDRKQUE0SkU7UUFDMUtHLGFBQVU7UUFDVCxHQUFHRixLQUFLO09BRVg7QUFFRixPQUFPLE1BQU1JLFlBQVksQ0FBQyxFQUFDTCxTQUFTLEVBQUUsR0FBR0MsT0FBc0MsaUJBQzdFLEtBQUNDO1FBQ0NGLFdBQVdGLEdBQUcsOEJBQThCRTtRQUM1Q0csYUFBVTtRQUNULEdBQUdGLEtBQUs7T0FFWDtBQUVGLE9BQU8sTUFBTUssa0JBQWtCLENBQUMsRUFBQ04sU0FBUyxFQUFFLEdBQUdDLE9BQXNDLGlCQUNuRixLQUFDQztRQUNDRixXQUFXRixHQUFHLGlDQUFpQ0U7UUFDL0NHLGFBQVU7UUFDVCxHQUFHRixLQUFLO09BRVg7QUFFRixPQUFPLE1BQU1NLGFBQWEsQ0FBQyxFQUFDUCxTQUFTLEVBQUUsR0FBR0MsT0FBc0MsaUJBQzlFLEtBQUNDO1FBQ0NGLFdBQVdGLEdBQUcsa0VBQWtFRTtRQUNoRkcsYUFBVTtRQUNULEdBQUdGLEtBQUs7T0FFWDtBQUVGLE9BQU8sTUFBTU8sY0FBYyxDQUFDLEVBQUNSLFNBQVMsRUFBRSxHQUFHQyxPQUFzQyxpQkFDL0UsS0FBQ0M7UUFDQ0YsV0FBV0YsR0FBRyxRQUFRRTtRQUN0QkcsYUFBVTtRQUNULEdBQUdGLEtBQUs7T0FFWDtBQUVGLE9BQU8sTUFBTVEsYUFBYSxDQUFDLEVBQUNULFNBQVMsRUFBRSxHQUFHQyxPQUFzQyxpQkFDOUUsS0FBQ0M7UUFDQ0YsV0FBV0YsR0FBRywyQ0FBMkNFO1FBQ3pERyxhQUFVO1FBQ1QsR0FBR0YsS0FBSztPQUVYIn0=
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { interactWithCanvas } from '../../utils/storyInteractions.js';
|
|
4
|
+
import { Button } from '../Button/Button.js';
|
|
5
|
+
import { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from './Card.js';
|
|
6
|
+
const meta = {
|
|
7
|
+
argTypes: {
|
|
8
|
+
className: {
|
|
9
|
+
control: 'text'
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
component: Card,
|
|
13
|
+
parameters: {
|
|
14
|
+
layout: 'centered'
|
|
15
|
+
},
|
|
16
|
+
title: 'Components/Card'
|
|
17
|
+
};
|
|
18
|
+
export default meta;
|
|
19
|
+
export const Default = {
|
|
20
|
+
args: {
|
|
21
|
+
className: 'w-96'
|
|
22
|
+
},
|
|
23
|
+
play: interactWithCanvas,
|
|
24
|
+
render: (args)=>/*#__PURE__*/ _jsxs(Card, {
|
|
25
|
+
...args,
|
|
26
|
+
children: [
|
|
27
|
+
/*#__PURE__*/ _jsxs(CardHeader, {
|
|
28
|
+
children: [
|
|
29
|
+
/*#__PURE__*/ _jsx(CardTitle, {
|
|
30
|
+
children: "Release checklist"
|
|
31
|
+
}),
|
|
32
|
+
/*#__PURE__*/ _jsx(CardDescription, {
|
|
33
|
+
children: "Review package health before publishing."
|
|
34
|
+
}),
|
|
35
|
+
/*#__PURE__*/ _jsx(CardAction, {
|
|
36
|
+
children: /*#__PURE__*/ _jsx(BadgeLabel, {})
|
|
37
|
+
})
|
|
38
|
+
]
|
|
39
|
+
}),
|
|
40
|
+
/*#__PURE__*/ _jsx(CardContent, {
|
|
41
|
+
children: /*#__PURE__*/ _jsx("p", {
|
|
42
|
+
className: "text-sm text-muted-foreground",
|
|
43
|
+
children: "Stories, controls, and interaction coverage are ready for verification."
|
|
44
|
+
})
|
|
45
|
+
}),
|
|
46
|
+
/*#__PURE__*/ _jsx(CardFooter, {
|
|
47
|
+
children: /*#__PURE__*/ _jsx(Button, {
|
|
48
|
+
label: "Review",
|
|
49
|
+
size: "sm"
|
|
50
|
+
})
|
|
51
|
+
})
|
|
52
|
+
]
|
|
53
|
+
})
|
|
54
|
+
};
|
|
55
|
+
const BadgeLabel = ()=>/*#__PURE__*/ _jsx("span", {
|
|
56
|
+
className: "rounded-full bg-primary/10 px-2 py-1 text-xs font-medium text-primary",
|
|
57
|
+
children: "Ready"
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L2dvdGhhbWpzL3NyYy9jb21wb25lbnRzL0NhcmQvQ2FyZC5zdG9yaWVzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtpbnRlcmFjdFdpdGhDYW52YXN9IGZyb20gJy4uLy4uL3V0aWxzL3N0b3J5SW50ZXJhY3Rpb25zLmpzJztcbmltcG9ydCB7QnV0dG9ufSBmcm9tICcuLi9CdXR0b24vQnV0dG9uLmpzJztcbmltcG9ydCB7Q2FyZCwgQ2FyZEFjdGlvbiwgQ2FyZENvbnRlbnQsIENhcmREZXNjcmlwdGlvbiwgQ2FyZEZvb3RlciwgQ2FyZEhlYWRlciwgQ2FyZFRpdGxlfSBmcm9tICcuL0NhcmQuanMnO1xuXG5pbXBvcnQgdHlwZSB7TWV0YSwgU3RvcnlPYmp9IGZyb20gJ0BubGFicy9sZXgvc3Rvcnlib29rJztcblxuY29uc3QgbWV0YTogTWV0YTx0eXBlb2YgQ2FyZD4gPSB7XG4gIGFyZ1R5cGVzOiB7XG4gICAgY2xhc3NOYW1lOiB7XG4gICAgICBjb250cm9sOiAndGV4dCdcbiAgICB9XG4gIH0sXG4gIGNvbXBvbmVudDogQ2FyZCxcbiAgcGFyYW1ldGVyczoge1xuICAgIGxheW91dDogJ2NlbnRlcmVkJ1xuICB9LFxuICB0aXRsZTogJ0NvbXBvbmVudHMvQ2FyZCdcbn07XG5cbmV4cG9ydCBkZWZhdWx0IG1ldGE7XG5cbnR5cGUgU3RvcnkgPSBTdG9yeU9iajx0eXBlb2YgQ2FyZD47XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0OiBTdG9yeSA9IHtcbiAgYXJnczoge1xuICAgIGNsYXNzTmFtZTogJ3ctOTYnXG4gIH0sXG4gIHBsYXk6IGludGVyYWN0V2l0aENhbnZhcyxcbiAgcmVuZGVyOiAoYXJncykgPT4gKFxuICAgIDxDYXJkIHsuLi5hcmdzfT5cbiAgICAgIDxDYXJkSGVhZGVyPlxuICAgICAgICA8Q2FyZFRpdGxlPlJlbGVhc2UgY2hlY2tsaXN0PC9DYXJkVGl0bGU+XG4gICAgICAgIDxDYXJkRGVzY3JpcHRpb24+UmV2aWV3IHBhY2thZ2UgaGVhbHRoIGJlZm9yZSBwdWJsaXNoaW5nLjwvQ2FyZERlc2NyaXB0aW9uPlxuICAgICAgICA8Q2FyZEFjdGlvbj5cbiAgICAgICAgICA8QmFkZ2VMYWJlbCAvPlxuICAgICAgICA8L0NhcmRBY3Rpb24+XG4gICAgICA8L0NhcmRIZWFkZXI+XG4gICAgICA8Q2FyZENvbnRlbnQ+XG4gICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtc20gdGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCI+U3RvcmllcywgY29udHJvbHMsIGFuZCBpbnRlcmFjdGlvbiBjb3ZlcmFnZSBhcmUgcmVhZHkgZm9yIHZlcmlmaWNhdGlvbi48L3A+XG4gICAgICA8L0NhcmRDb250ZW50PlxuICAgICAgPENhcmRGb290ZXI+XG4gICAgICAgIDxCdXR0b24gbGFiZWw9XCJSZXZpZXdcIiBzaXplPVwic21cIiAvPlxuICAgICAgPC9DYXJkRm9vdGVyPlxuICAgIDwvQ2FyZD5cbiAgKVxufTtcblxuY29uc3QgQmFkZ2VMYWJlbCA9ICgpID0+IChcbiAgPHNwYW4gY2xhc3NOYW1lPVwicm91bmRlZC1mdWxsIGJnLXByaW1hcnkvMTAgcHgtMiBweS0xIHRleHQteHMgZm9udC1tZWRpdW0gdGV4dC1wcmltYXJ5XCI+UmVhZHk8L3NwYW4+XG4pO1xuIl0sIm5hbWVzIjpbIlJlYWN0IiwiaW50ZXJhY3RXaXRoQ2FudmFzIiwiQnV0dG9uIiwiQ2FyZCIsIkNhcmRBY3Rpb24iLCJDYXJkQ29udGVudCIsIkNhcmREZXNjcmlwdGlvbiIsIkNhcmRGb290ZXIiLCJDYXJkSGVhZGVyIiwiQ2FyZFRpdGxlIiwibWV0YSIsImFyZ1R5cGVzIiwiY2xhc3NOYW1lIiwiY29udHJvbCIsImNvbXBvbmVudCIsInBhcmFtZXRlcnMiLCJsYXlvdXQiLCJ0aXRsZSIsIkRlZmF1bHQiLCJhcmdzIiwicGxheSIsInJlbmRlciIsIkJhZGdlTGFiZWwiLCJwIiwibGFiZWwiLCJzaXplIiwic3BhbiJdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU9BLFdBQVcsUUFBUTtBQUMxQixTQUFRQyxrQkFBa0IsUUFBTyxtQ0FBbUM7QUFDcEUsU0FBUUMsTUFBTSxRQUFPLHNCQUFzQjtBQUMzQyxTQUFRQyxJQUFJLEVBQUVDLFVBQVUsRUFBRUMsV0FBVyxFQUFFQyxlQUFlLEVBQUVDLFVBQVUsRUFBRUMsVUFBVSxFQUFFQyxTQUFTLFFBQU8sWUFBWTtBQUk1RyxNQUFNQyxPQUEwQjtJQUM5QkMsVUFBVTtRQUNSQyxXQUFXO1lBQ1RDLFNBQVM7UUFDWDtJQUNGO0lBQ0FDLFdBQVdYO0lBQ1hZLFlBQVk7UUFDVkMsUUFBUTtJQUNWO0lBQ0FDLE9BQU87QUFDVDtBQUVBLGVBQWVQLEtBQUs7QUFJcEIsT0FBTyxNQUFNUSxVQUFpQjtJQUM1QkMsTUFBTTtRQUNKUCxXQUFXO0lBQ2I7SUFDQVEsTUFBTW5CO0lBQ05vQixRQUFRLENBQUNGLHFCQUNQLE1BQUNoQjtZQUFNLEdBQUdnQixJQUFJOzs4QkFDWixNQUFDWDs7c0NBQ0MsS0FBQ0M7c0NBQVU7O3NDQUNYLEtBQUNIO3NDQUFnQjs7c0NBQ2pCLEtBQUNGO3NDQUNDLGNBQUEsS0FBQ2tCOzs7OzhCQUdMLEtBQUNqQjs4QkFDQyxjQUFBLEtBQUNrQjt3QkFBRVgsV0FBVTtrQ0FBZ0M7Ozs4QkFFL0MsS0FBQ0w7OEJBQ0MsY0FBQSxLQUFDTDt3QkFBT3NCLE9BQU07d0JBQVNDLE1BQUs7Ozs7O0FBSXBDLEVBQUU7QUFFRixNQUFNSCxhQUFhLGtCQUNqQixLQUFDSTtRQUFLZCxXQUFVO2tCQUF3RSJ9
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { HTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
export interface CategoryItem {
|
|
3
|
+
readonly description?: ReactNode;
|
|
4
|
+
readonly href?: string;
|
|
5
|
+
readonly id?: string | number;
|
|
6
|
+
readonly imageAlt: string;
|
|
7
|
+
readonly imageSrc: string;
|
|
8
|
+
readonly name: ReactNode;
|
|
9
|
+
}
|
|
10
|
+
export interface CategoryGridProps extends HTMLAttributes<HTMLDivElement> {
|
|
11
|
+
readonly categories: CategoryItem[];
|
|
12
|
+
}
|
|
13
|
+
declare const CategoryGridComponent: ({ categories, className, ...props }: CategoryGridProps) => import("react").JSX.Element;
|
|
14
|
+
export declare const CategoryGrid: import("react").MemoExoticComponent<typeof CategoryGridComponent>;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from '@nlabs/utils';
|
|
3
|
+
import { memo } from 'react';
|
|
4
|
+
const CategoryGridComponent = ({ categories, className, ...props })=>/*#__PURE__*/ _jsx("div", {
|
|
5
|
+
className: cn('grid grid-cols-1 gap-6 sm:grid-cols-2 lg:grid-cols-3', className),
|
|
6
|
+
"data-slot": "category-grid",
|
|
7
|
+
...props,
|
|
8
|
+
children: categories.map((category)=>{
|
|
9
|
+
const Element = category.href ? 'a' : 'article';
|
|
10
|
+
return /*#__PURE__*/ _jsxs(Element, {
|
|
11
|
+
className: "group relative block overflow-hidden rounded-lg bg-muted dark:bg-muted-dark",
|
|
12
|
+
href: category.href,
|
|
13
|
+
children: [
|
|
14
|
+
/*#__PURE__*/ _jsx("img", {
|
|
15
|
+
alt: category.imageAlt,
|
|
16
|
+
className: "aspect-3/2 w-full object-cover transition-transform duration-300 group-hover:scale-105",
|
|
17
|
+
src: category.imageSrc
|
|
18
|
+
}),
|
|
19
|
+
/*#__PURE__*/ _jsx("div", {
|
|
20
|
+
className: "absolute inset-0 bg-linear-to-t from-black/70 via-black/15 to-transparent"
|
|
21
|
+
}),
|
|
22
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
23
|
+
className: "absolute inset-x-0 bottom-0 p-5",
|
|
24
|
+
children: [
|
|
25
|
+
/*#__PURE__*/ _jsx("h3", {
|
|
26
|
+
className: "text-lg font-semibold text-white",
|
|
27
|
+
children: category.name
|
|
28
|
+
}),
|
|
29
|
+
category.description ? /*#__PURE__*/ _jsx("p", {
|
|
30
|
+
className: "mt-1 text-sm text-white/80",
|
|
31
|
+
children: category.description
|
|
32
|
+
}) : null
|
|
33
|
+
]
|
|
34
|
+
})
|
|
35
|
+
]
|
|
36
|
+
}, category.id ?? String(category.name));
|
|
37
|
+
})
|
|
38
|
+
});
|
|
39
|
+
export const CategoryGrid = /*#__PURE__*/ memo(CategoryGridComponent);
|
|
40
|
+
CategoryGrid.displayName = 'CategoryGrid';
|
|
41
|
+
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L2dvdGhhbWpzL3NyYy9jb21wb25lbnRzL0NhdGVnb3J5R3JpZC9DYXRlZ29yeUdyaWQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Y259IGZyb20gJ0BubGFicy91dGlscyc7XG5pbXBvcnQge21lbW99IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHR5cGUge0hUTUxBdHRyaWJ1dGVzLCBSZWFjdE5vZGV9IGZyb20gJ3JlYWN0JztcblxuZXhwb3J0IGludGVyZmFjZSBDYXRlZ29yeUl0ZW0ge1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IFJlYWN0Tm9kZTtcbiAgcmVhZG9ubHkgaHJlZj86IHN0cmluZztcbiAgcmVhZG9ubHkgaWQ/OiBzdHJpbmcgfCBudW1iZXI7XG4gIHJlYWRvbmx5IGltYWdlQWx0OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGltYWdlU3JjOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG5hbWU6IFJlYWN0Tm9kZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYXRlZ29yeUdyaWRQcm9wcyBleHRlbmRzIEhUTUxBdHRyaWJ1dGVzPEhUTUxEaXZFbGVtZW50PiB7XG4gIHJlYWRvbmx5IGNhdGVnb3JpZXM6IENhdGVnb3J5SXRlbVtdO1xufVxuXG5jb25zdCBDYXRlZ29yeUdyaWRDb21wb25lbnQgPSAoe1xuICBjYXRlZ29yaWVzLFxuICBjbGFzc05hbWUsXG4gIC4uLnByb3BzXG59OiBDYXRlZ29yeUdyaWRQcm9wcykgPT4gKFxuICA8ZGl2IGNsYXNzTmFtZT17Y24oJ2dyaWQgZ3JpZC1jb2xzLTEgZ2FwLTYgc206Z3JpZC1jb2xzLTIgbGc6Z3JpZC1jb2xzLTMnLCBjbGFzc05hbWUpfSBkYXRhLXNsb3Q9XCJjYXRlZ29yeS1ncmlkXCIgey4uLnByb3BzfT5cbiAgICB7Y2F0ZWdvcmllcy5tYXAoKGNhdGVnb3J5KSA9PiB7XG4gICAgICBjb25zdCBFbGVtZW50ID0gY2F0ZWdvcnkuaHJlZiA/ICdhJyA6ICdhcnRpY2xlJztcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPEVsZW1lbnRcbiAgICAgICAgICBjbGFzc05hbWU9XCJncm91cCByZWxhdGl2ZSBibG9jayBvdmVyZmxvdy1oaWRkZW4gcm91bmRlZC1sZyBiZy1tdXRlZCBkYXJrOmJnLW11dGVkLWRhcmtcIlxuICAgICAgICAgIGhyZWY9e2NhdGVnb3J5LmhyZWYgYXMgbmV2ZXJ9XG4gICAgICAgICAga2V5PXtjYXRlZ29yeS5pZCA/PyBTdHJpbmcoY2F0ZWdvcnkubmFtZSl9XG4gICAgICAgID5cbiAgICAgICAgICA8aW1nXG4gICAgICAgICAgICBhbHQ9e2NhdGVnb3J5LmltYWdlQWx0fVxuICAgICAgICAgICAgY2xhc3NOYW1lPVwiYXNwZWN0LTMvMiB3LWZ1bGwgb2JqZWN0LWNvdmVyIHRyYW5zaXRpb24tdHJhbnNmb3JtIGR1cmF0aW9uLTMwMCBncm91cC1ob3ZlcjpzY2FsZS0xMDVcIlxuICAgICAgICAgICAgc3JjPXtjYXRlZ29yeS5pbWFnZVNyY31cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgaW5zZXQtMCBiZy1saW5lYXItdG8tdCBmcm9tLWJsYWNrLzcwIHZpYS1ibGFjay8xNSB0by10cmFuc3BhcmVudFwiIC8+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJhYnNvbHV0ZSBpbnNldC14LTAgYm90dG9tLTAgcC01XCI+XG4gICAgICAgICAgICA8aDMgY2xhc3NOYW1lPVwidGV4dC1sZyBmb250LXNlbWlib2xkIHRleHQtd2hpdGVcIj57Y2F0ZWdvcnkubmFtZX08L2gzPlxuICAgICAgICAgICAge2NhdGVnb3J5LmRlc2NyaXB0aW9uID8gPHAgY2xhc3NOYW1lPVwibXQtMSB0ZXh0LXNtIHRleHQtd2hpdGUvODBcIj57Y2F0ZWdvcnkuZGVzY3JpcHRpb259PC9wPiA6IG51bGx9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvRWxlbWVudD5cbiAgICAgICk7XG4gICAgfSl9XG4gIDwvZGl2PlxuKTtcblxuZXhwb3J0IGNvbnN0IENhdGVnb3J5R3JpZCA9IG1lbW8oQ2F0ZWdvcnlHcmlkQ29tcG9uZW50KTtcbkNhdGVnb3J5R3JpZC5kaXNwbGF5TmFtZSA9ICdDYXRlZ29yeUdyaWQnO1xuIl0sIm5hbWVzIjpbImNuIiwibWVtbyIsIkNhdGVnb3J5R3JpZENvbXBvbmVudCIsImNhdGVnb3JpZXMiLCJjbGFzc05hbWUiLCJwcm9wcyIsImRpdiIsImRhdGEtc2xvdCIsIm1hcCIsImNhdGVnb3J5IiwiRWxlbWVudCIsImhyZWYiLCJpbWciLCJhbHQiLCJpbWFnZUFsdCIsInNyYyIsImltYWdlU3JjIiwiaDMiLCJuYW1lIiwiZGVzY3JpcHRpb24iLCJwIiwiaWQiLCJTdHJpbmciLCJDYXRlZ29yeUdyaWQiLCJkaXNwbGF5TmFtZSJdLCJtYXBwaW5ncyI6IjtBQUFBLFNBQVFBLEVBQUUsUUFBTyxlQUFlO0FBQ2hDLFNBQVFDLElBQUksUUFBTyxRQUFRO0FBaUIzQixNQUFNQyx3QkFBd0IsQ0FBQyxFQUM3QkMsVUFBVSxFQUNWQyxTQUFTLEVBQ1QsR0FBR0MsT0FDZSxpQkFDbEIsS0FBQ0M7UUFBSUYsV0FBV0osR0FBRyx3REFBd0RJO1FBQVlHLGFBQVU7UUFBaUIsR0FBR0YsS0FBSztrQkFDdkhGLFdBQVdLLEdBQUcsQ0FBQyxDQUFDQztZQUNmLE1BQU1DLFVBQVVELFNBQVNFLElBQUksR0FBRyxNQUFNO1lBRXRDLHFCQUNFLE1BQUNEO2dCQUNDTixXQUFVO2dCQUNWTyxNQUFNRixTQUFTRSxJQUFJOztrQ0FHbkIsS0FBQ0M7d0JBQ0NDLEtBQUtKLFNBQVNLLFFBQVE7d0JBQ3RCVixXQUFVO3dCQUNWVyxLQUFLTixTQUFTTyxRQUFROztrQ0FFeEIsS0FBQ1Y7d0JBQUlGLFdBQVU7O2tDQUNmLE1BQUNFO3dCQUFJRixXQUFVOzswQ0FDYixLQUFDYTtnQ0FBR2IsV0FBVTswQ0FBb0NLLFNBQVNTLElBQUk7OzRCQUM5RFQsU0FBU1UsV0FBVyxpQkFBRyxLQUFDQztnQ0FBRWhCLFdBQVU7MENBQThCSyxTQUFTVSxXQUFXO2lDQUFROzs7O2VBVjVGVixTQUFTWSxFQUFFLElBQUlDLE9BQU9iLFNBQVNTLElBQUk7UUFjOUM7O0FBSUosT0FBTyxNQUFNSyw2QkFBZXRCLEtBQUtDLHVCQUF1QjtBQUN4RHFCLGFBQWFDLFdBQVcsR0FBRyJ9
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { CategoryGrid } from './CategoryGrid.js';
|
|
2
|
+
const meta = {
|
|
3
|
+
component: CategoryGrid,
|
|
4
|
+
parameters: {
|
|
5
|
+
layout: 'padded'
|
|
6
|
+
},
|
|
7
|
+
title: 'Ecommerce/CategoryGrid'
|
|
8
|
+
};
|
|
9
|
+
export default meta;
|
|
10
|
+
export const ImageBackgrounds = {
|
|
11
|
+
args: {
|
|
12
|
+
categories: [
|
|
13
|
+
{
|
|
14
|
+
href: '#',
|
|
15
|
+
imageAlt: 'Desk accessories arranged on a tabletop.',
|
|
16
|
+
imageSrc: 'https://tailwindcss.com/plus-assets/img/ecommerce-images/home-page-02-edition-01.jpg',
|
|
17
|
+
name: 'Desk and office'
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
href: '#',
|
|
21
|
+
imageAlt: 'Organized productivity products.',
|
|
22
|
+
imageSrc: 'https://tailwindcss.com/plus-assets/img/ecommerce-images/home-page-02-edition-02.jpg',
|
|
23
|
+
name: 'Self-improvement'
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
href: '#',
|
|
27
|
+
imageAlt: 'Travel products in warm light.',
|
|
28
|
+
imageSrc: 'https://tailwindcss.com/plus-assets/img/ecommerce-images/home-page-02-edition-03.jpg',
|
|
29
|
+
name: 'Travel'
|
|
30
|
+
}
|
|
31
|
+
]
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L2dvdGhhbWpzL3NyYy9jb21wb25lbnRzL0NhdGVnb3J5R3JpZC9DYXRlZ29yeUdyaWQuc3Rvcmllcy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDYXRlZ29yeUdyaWR9IGZyb20gJy4vQ2F0ZWdvcnlHcmlkLmpzJztcblxuaW1wb3J0IHR5cGUge01ldGEsIFN0b3J5T2JqfSBmcm9tICdAbmxhYnMvbGV4L3N0b3J5Ym9vayc7XG5cbmNvbnN0IG1ldGE6IE1ldGE8dHlwZW9mIENhdGVnb3J5R3JpZD4gPSB7XG4gIGNvbXBvbmVudDogQ2F0ZWdvcnlHcmlkLFxuICBwYXJhbWV0ZXJzOiB7XG4gICAgbGF5b3V0OiAncGFkZGVkJ1xuICB9LFxuICB0aXRsZTogJ0Vjb21tZXJjZS9DYXRlZ29yeUdyaWQnXG59O1xuXG5leHBvcnQgZGVmYXVsdCBtZXRhO1xuXG50eXBlIFN0b3J5ID0gU3RvcnlPYmo8dHlwZW9mIENhdGVnb3J5R3JpZD47XG5cbmV4cG9ydCBjb25zdCBJbWFnZUJhY2tncm91bmRzOiBTdG9yeSA9IHtcbiAgYXJnczoge1xuICAgIGNhdGVnb3JpZXM6IFtcbiAgICAgIHtcbiAgICAgICAgaHJlZjogJyMnLFxuICAgICAgICBpbWFnZUFsdDogJ0Rlc2sgYWNjZXNzb3JpZXMgYXJyYW5nZWQgb24gYSB0YWJsZXRvcC4nLFxuICAgICAgICBpbWFnZVNyYzogJ2h0dHBzOi8vdGFpbHdpbmRjc3MuY29tL3BsdXMtYXNzZXRzL2ltZy9lY29tbWVyY2UtaW1hZ2VzL2hvbWUtcGFnZS0wMi1lZGl0aW9uLTAxLmpwZycsXG4gICAgICAgIG5hbWU6ICdEZXNrIGFuZCBvZmZpY2UnXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBocmVmOiAnIycsXG4gICAgICAgIGltYWdlQWx0OiAnT3JnYW5pemVkIHByb2R1Y3Rpdml0eSBwcm9kdWN0cy4nLFxuICAgICAgICBpbWFnZVNyYzogJ2h0dHBzOi8vdGFpbHdpbmRjc3MuY29tL3BsdXMtYXNzZXRzL2ltZy9lY29tbWVyY2UtaW1hZ2VzL2hvbWUtcGFnZS0wMi1lZGl0aW9uLTAyLmpwZycsXG4gICAgICAgIG5hbWU6ICdTZWxmLWltcHJvdmVtZW50J1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaHJlZjogJyMnLFxuICAgICAgICBpbWFnZUFsdDogJ1RyYXZlbCBwcm9kdWN0cyBpbiB3YXJtIGxpZ2h0LicsXG4gICAgICAgIGltYWdlU3JjOiAnaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vcGx1cy1hc3NldHMvaW1nL2Vjb21tZXJjZS1pbWFnZXMvaG9tZS1wYWdlLTAyLWVkaXRpb24tMDMuanBnJyxcbiAgICAgICAgbmFtZTogJ1RyYXZlbCdcbiAgICAgIH1cbiAgICBdXG4gIH1cbn07XG4iXSwibmFtZXMiOlsiQ2F0ZWdvcnlHcmlkIiwibWV0YSIsImNvbXBvbmVudCIsInBhcmFtZXRlcnMiLCJsYXlvdXQiLCJ0aXRsZSIsIkltYWdlQmFja2dyb3VuZHMiLCJhcmdzIiwiY2F0ZWdvcmllcyIsImhyZWYiLCJpbWFnZUFsdCIsImltYWdlU3JjIiwibmFtZSJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBUUEsWUFBWSxRQUFPLG9CQUFvQjtBQUkvQyxNQUFNQyxPQUFrQztJQUN0Q0MsV0FBV0Y7SUFDWEcsWUFBWTtRQUNWQyxRQUFRO0lBQ1Y7SUFDQUMsT0FBTztBQUNUO0FBRUEsZUFBZUosS0FBSztBQUlwQixPQUFPLE1BQU1LLG1CQUEwQjtJQUNyQ0MsTUFBTTtRQUNKQyxZQUFZO1lBQ1Y7Z0JBQ0VDLE1BQU07Z0JBQ05DLFVBQVU7Z0JBQ1ZDLFVBQVU7Z0JBQ1ZDLE1BQU07WUFDUjtZQUNBO2dCQUNFSCxNQUFNO2dCQUNOQyxVQUFVO2dCQUNWQyxVQUFVO2dCQUNWQyxNQUFNO1lBQ1I7WUFDQTtnQkFDRUgsTUFBTTtnQkFDTkMsVUFBVTtnQkFDVkMsVUFBVTtnQkFDVkMsTUFBTTtZQUNSO1NBQ0Q7SUFDSDtBQUNGLEVBQUUifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.rce-mbox-audio{padding-bottom:10px;max-width:300px}audio:focus{outline:none}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
export const AudioMessage = (props)=>{
|
|
3
|
+
const { controlsList } = props.data;
|
|
4
|
+
return /*#__PURE__*/ _jsxs("div", {
|
|
5
|
+
className: 'rce-mbox-audio',
|
|
6
|
+
style: props.customStyle,
|
|
7
|
+
children: [
|
|
8
|
+
/*#__PURE__*/ _jsxs("audio", {
|
|
9
|
+
...props.audioProps,
|
|
10
|
+
controls: true,
|
|
11
|
+
controlsList: controlsList ? controlsList : 'nodownload',
|
|
12
|
+
children: [
|
|
13
|
+
/*#__PURE__*/ _jsx("source", {
|
|
14
|
+
src: props.data.audioURL,
|
|
15
|
+
type: props.data.audioType || 'audio/mp3'
|
|
16
|
+
}),
|
|
17
|
+
"Your browser does not support the audio element."
|
|
18
|
+
]
|
|
19
|
+
}),
|
|
20
|
+
props.text && /*#__PURE__*/ _jsx("div", {
|
|
21
|
+
className: "rce-mbox-text",
|
|
22
|
+
children: props.text
|
|
23
|
+
})
|
|
24
|
+
]
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L2dvdGhhbWpzL3NyYy9jb21wb25lbnRzL0NoYXQvQXVkaW9NZXNzYWdlL0F1ZGlvTWVzc2FnZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJQXVkaW9NZXNzYWdlUHJvcHN9IGZyb20gJy4uL3R5cGUnO1xuXG5pbXBvcnQgdHlwZSB7RkN9IGZyb20gJ3JlYWN0JztcblxuZXhwb3J0IGNvbnN0IEF1ZGlvTWVzc2FnZTogRkM8SUF1ZGlvTWVzc2FnZVByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7Y29udHJvbHNMaXN0fSA9IHByb3BzLmRhdGE7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17J3JjZS1tYm94LWF1ZGlvJ30gc3R5bGU9e3Byb3BzLmN1c3RvbVN0eWxlfT5cbiAgICAgIDxhdWRpbyB7Li4ucHJvcHMuYXVkaW9Qcm9wc30gY29udHJvbHMgY29udHJvbHNMaXN0PXtjb250cm9sc0xpc3QgPyBjb250cm9sc0xpc3QgOiAnbm9kb3dubG9hZCd9PlxuICAgICAgICA8c291cmNlIHNyYz17cHJvcHMuZGF0YS5hdWRpb1VSTH0gdHlwZT17cHJvcHMuZGF0YS5hdWRpb1R5cGUgfHwgJ2F1ZGlvL21wMyd9IC8+XG4gICAgICAgIFlvdXIgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IHRoZSBhdWRpbyBlbGVtZW50LlxuICAgICAgPC9hdWRpbz5cbiAgICAgIHtwcm9wcy50ZXh0ICYmIDxkaXYgY2xhc3NOYW1lPSdyY2UtbWJveC10ZXh0Jz57cHJvcHMudGV4dH08L2Rpdj59XG4gICAgPC9kaXY+XG4gICk7XG59O1xuIl0sIm5hbWVzIjpbIkF1ZGlvTWVzc2FnZSIsInByb3BzIiwiY29udHJvbHNMaXN0IiwiZGF0YSIsImRpdiIsImNsYXNzTmFtZSIsInN0eWxlIiwiY3VzdG9tU3R5bGUiLCJhdWRpbyIsImF1ZGlvUHJvcHMiLCJjb250cm9scyIsInNvdXJjZSIsInNyYyIsImF1ZGlvVVJMIiwidHlwZSIsImF1ZGlvVHlwZSIsInRleHQiXSwibWFwcGluZ3MiOiI7QUFJQSxPQUFPLE1BQU1BLGVBQXVDLENBQUNDO0lBQ25ELE1BQU0sRUFBQ0MsWUFBWSxFQUFDLEdBQUdELE1BQU1FLElBQUk7SUFFakMscUJBQ0UsTUFBQ0M7UUFBSUMsV0FBVztRQUFrQkMsT0FBT0wsTUFBTU0sV0FBVzs7MEJBQ3hELE1BQUNDO2dCQUFPLEdBQUdQLE1BQU1RLFVBQVU7Z0JBQUVDLFFBQVE7Z0JBQUNSLGNBQWNBLGVBQWVBLGVBQWU7O2tDQUNoRixLQUFDUzt3QkFBT0MsS0FBS1gsTUFBTUUsSUFBSSxDQUFDVSxRQUFRO3dCQUFFQyxNQUFNYixNQUFNRSxJQUFJLENBQUNZLFNBQVMsSUFBSTs7b0JBQWU7OztZQUdoRmQsTUFBTWUsSUFBSSxrQkFBSSxLQUFDWjtnQkFBSUMsV0FBVTswQkFBaUJKLE1BQU1lLElBQUk7Ozs7QUFHL0QsRUFBRSJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.rce-avatar-container{overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.rce-avatar-container .rce-avatar{width:100%;height:100%}.rce-avatar-container.flexible .rce-avatar{height:auto!important;width:100%!important;border-radius:unset!important;overflow:unset!important}.rce-avatar-container.default{width:25px;height:25px}.rce-avatar-container.rounded{border-radius:5px}.rce-avatar-container.circle{border-radius:100%}.rce-avatar-container.xsmall{width:30px;height:30px}.rce-avatar-container.small{width:35px;height:35px}.rce-avatar-container.medium{width:40px;height:40px}.rce-avatar-container.large{width:45px;height:45px}.rce-avatar-container.xlarge{width:55px;height:55px}@-webkit-keyframes avatarLazy{0%{opacity:1}50%{opacity:.5}to{opacity:1}}@keyframes avatarLazy{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.rce-avatar-lazy{-webkit-animation:avatarLazy 2s ease-in-out infinite normal;animation:avatarLazy 2s ease-in-out infinite normal}.rce-avatar-container.rce-citem-avatar-encircle-status{-webkit-box-sizing:border-box;box-sizing:border-box;position:relative}.rce-avatar-letter{margin-top:5px;font-size:20px;color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.rce-avatar-letter-background{height:35px;width:35px;border-radius:20px}
|