@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,140 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { gothamColors } from '../../utils/colorUtils.js';
|
|
3
|
+
import { interactWithCanvas } from '../../utils/storyInteractions.js';
|
|
4
|
+
import { RadioField } from './RadioField.js';
|
|
5
|
+
const meta = {
|
|
6
|
+
argTypes: {
|
|
7
|
+
color: {
|
|
8
|
+
control: 'select',
|
|
9
|
+
description: 'The color of the radio group',
|
|
10
|
+
options: gothamColors
|
|
11
|
+
},
|
|
12
|
+
defaultValue: {
|
|
13
|
+
control: 'text',
|
|
14
|
+
description: 'The default selected value'
|
|
15
|
+
},
|
|
16
|
+
label: {
|
|
17
|
+
control: 'text',
|
|
18
|
+
description: 'The label text for the radio group'
|
|
19
|
+
},
|
|
20
|
+
name: {
|
|
21
|
+
control: 'text',
|
|
22
|
+
description: 'The name of the radio group'
|
|
23
|
+
},
|
|
24
|
+
optionClass: {
|
|
25
|
+
control: 'text',
|
|
26
|
+
description: 'The class name for the radio options'
|
|
27
|
+
},
|
|
28
|
+
options: {
|
|
29
|
+
control: 'object',
|
|
30
|
+
description: 'Array of radio options'
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
component: RadioField,
|
|
34
|
+
decorators: [
|
|
35
|
+
(Story)=>/*#__PURE__*/ _jsx("div", {
|
|
36
|
+
className: "p-4 max-w-md",
|
|
37
|
+
children: /*#__PURE__*/ _jsx(Story, {})
|
|
38
|
+
})
|
|
39
|
+
],
|
|
40
|
+
parameters: {
|
|
41
|
+
backgrounds: {
|
|
42
|
+
default: 'light',
|
|
43
|
+
values: [
|
|
44
|
+
{
|
|
45
|
+
name: 'light',
|
|
46
|
+
value: '#ffffff'
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'dark',
|
|
50
|
+
value: '#1a1a1a'
|
|
51
|
+
}
|
|
52
|
+
]
|
|
53
|
+
},
|
|
54
|
+
layout: 'centered'
|
|
55
|
+
},
|
|
56
|
+
title: 'Components/Form/RadioField'
|
|
57
|
+
};
|
|
58
|
+
export default meta;
|
|
59
|
+
const defaultOptions = [
|
|
60
|
+
{
|
|
61
|
+
description: 'This is the first option description',
|
|
62
|
+
id: 'option1',
|
|
63
|
+
label: 'First Option',
|
|
64
|
+
value: '1'
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
description: 'This is the second option description',
|
|
68
|
+
id: 'option2',
|
|
69
|
+
label: 'Second Option',
|
|
70
|
+
value: '2'
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
description: 'This is the third option description',
|
|
74
|
+
id: 'option3',
|
|
75
|
+
label: 'Third Option',
|
|
76
|
+
value: '3'
|
|
77
|
+
}
|
|
78
|
+
];
|
|
79
|
+
export const Default = {
|
|
80
|
+
args: {
|
|
81
|
+
label: 'Choose a Color',
|
|
82
|
+
name: 'colorSelection',
|
|
83
|
+
options: [
|
|
84
|
+
{
|
|
85
|
+
id: 'red',
|
|
86
|
+
label: 'Red',
|
|
87
|
+
value: 'red'
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
id: 'blue',
|
|
91
|
+
label: 'Blue',
|
|
92
|
+
value: 'blue'
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
id: 'green',
|
|
96
|
+
label: 'Green',
|
|
97
|
+
value: 'green'
|
|
98
|
+
}
|
|
99
|
+
]
|
|
100
|
+
},
|
|
101
|
+
play: interactWithCanvas
|
|
102
|
+
};
|
|
103
|
+
export const WithDefaultValue = {
|
|
104
|
+
args: {
|
|
105
|
+
defaultValue: '2',
|
|
106
|
+
label: 'Select an Option',
|
|
107
|
+
name: 'radioGroupWithDefault',
|
|
108
|
+
options: defaultOptions
|
|
109
|
+
},
|
|
110
|
+
play: interactWithCanvas
|
|
111
|
+
};
|
|
112
|
+
export const WithLongDescriptions = {
|
|
113
|
+
args: {
|
|
114
|
+
label: 'Select a Plan',
|
|
115
|
+
name: 'planSelection',
|
|
116
|
+
options: [
|
|
117
|
+
{
|
|
118
|
+
description: 'Perfect for individuals and small projects. Includes basic features and support.',
|
|
119
|
+
id: 'basic',
|
|
120
|
+
label: 'Basic Plan',
|
|
121
|
+
value: 'basic'
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
description: 'Ideal for growing businesses. Includes advanced features, priority support, and team collaboration tools.',
|
|
125
|
+
id: 'pro',
|
|
126
|
+
label: 'Professional Plan',
|
|
127
|
+
value: 'pro'
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
description: 'Enterprise-grade solution with all features, dedicated support, and custom integrations.',
|
|
131
|
+
id: 'enterprise',
|
|
132
|
+
label: 'Enterprise Plan',
|
|
133
|
+
value: 'enterprise'
|
|
134
|
+
}
|
|
135
|
+
]
|
|
136
|
+
},
|
|
137
|
+
play: interactWithCanvas
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L2dvdGhhbWpzL3NyYy9jb21wb25lbnRzL1JhZGlvRmllbGQvUmFkaW9GaWVsZC5zdG9yaWVzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2dvdGhhbUNvbG9yc30gZnJvbSAnLi4vLi4vdXRpbHMvY29sb3JVdGlscy5qcyc7XG5pbXBvcnQge2ludGVyYWN0V2l0aENhbnZhc30gZnJvbSAnLi4vLi4vdXRpbHMvc3RvcnlJbnRlcmFjdGlvbnMuanMnO1xuaW1wb3J0IHtSYWRpb0ZpZWxkfSBmcm9tICcuL1JhZGlvRmllbGQuanMnO1xuXG5pbXBvcnQgdHlwZSB7TWV0YSwgU3RvcnlPYmp9IGZyb20gJ0BubGFicy9sZXgvc3Rvcnlib29rJztcblxuY29uc3QgbWV0YTogTWV0YTx0eXBlb2YgUmFkaW9GaWVsZD4gPSB7XG4gIGFyZ1R5cGVzOiB7XG4gICAgY29sb3I6IHtcbiAgICAgIGNvbnRyb2w6ICdzZWxlY3QnLFxuICAgICAgZGVzY3JpcHRpb246ICdUaGUgY29sb3Igb2YgdGhlIHJhZGlvIGdyb3VwJyxcbiAgICAgIG9wdGlvbnM6IGdvdGhhbUNvbG9yc1xuICAgIH0sXG4gICAgZGVmYXVsdFZhbHVlOiB7XG4gICAgICBjb250cm9sOiAndGV4dCcsXG4gICAgICBkZXNjcmlwdGlvbjogJ1RoZSBkZWZhdWx0IHNlbGVjdGVkIHZhbHVlJ1xuICAgIH0sXG4gICAgbGFiZWw6IHtcbiAgICAgIGNvbnRyb2w6ICd0ZXh0JyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnVGhlIGxhYmVsIHRleHQgZm9yIHRoZSByYWRpbyBncm91cCdcbiAgICB9LFxuICAgIG5hbWU6IHtcbiAgICAgIGNvbnRyb2w6ICd0ZXh0JyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnVGhlIG5hbWUgb2YgdGhlIHJhZGlvIGdyb3VwJ1xuICAgIH0sXG4gICAgb3B0aW9uQ2xhc3M6IHtcbiAgICAgIGNvbnRyb2w6ICd0ZXh0JyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnVGhlIGNsYXNzIG5hbWUgZm9yIHRoZSByYWRpbyBvcHRpb25zJ1xuICAgIH0sXG4gICAgb3B0aW9uczoge1xuICAgICAgY29udHJvbDogJ29iamVjdCcsXG4gICAgICBkZXNjcmlwdGlvbjogJ0FycmF5IG9mIHJhZGlvIG9wdGlvbnMnXG4gICAgfVxuICB9LFxuICBjb21wb25lbnQ6IFJhZGlvRmllbGQsXG4gIGRlY29yYXRvcnM6IFtcbiAgICAoU3RvcnkpID0+IChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicC00IG1heC13LW1kXCI+XG4gICAgICAgIDxTdG9yeSAvPlxuICAgICAgPC9kaXY+XG4gICAgKVxuICBdLFxuICBwYXJhbWV0ZXJzOiB7XG4gICAgYmFja2dyb3VuZHM6IHtcbiAgICAgIGRlZmF1bHQ6ICdsaWdodCcsXG4gICAgICB2YWx1ZXM6IFtcbiAgICAgICAge25hbWU6ICdsaWdodCcsIHZhbHVlOiAnI2ZmZmZmZid9LFxuICAgICAgICB7bmFtZTogJ2RhcmsnLCB2YWx1ZTogJyMxYTFhMWEnfVxuICAgICAgXVxuICAgIH0sXG4gICAgbGF5b3V0OiAnY2VudGVyZWQnXG4gIH0sXG4gIHRpdGxlOiAnQ29tcG9uZW50cy9Gb3JtL1JhZGlvRmllbGQnXG59O1xuXG5leHBvcnQgZGVmYXVsdCBtZXRhO1xudHlwZSBTdG9yeSA9IFN0b3J5T2JqPHR5cGVvZiBSYWRpb0ZpZWxkPjtcblxuY29uc3QgZGVmYXVsdE9wdGlvbnMgPSBbXG4gIHtcbiAgICBkZXNjcmlwdGlvbjogJ1RoaXMgaXMgdGhlIGZpcnN0IG9wdGlvbiBkZXNjcmlwdGlvbicsXG4gICAgaWQ6ICdvcHRpb24xJyxcbiAgICBsYWJlbDogJ0ZpcnN0IE9wdGlvbicsXG4gICAgdmFsdWU6ICcxJ1xuICB9LFxuICB7XG4gICAgZGVzY3JpcHRpb246ICdUaGlzIGlzIHRoZSBzZWNvbmQgb3B0aW9uIGRlc2NyaXB0aW9uJyxcbiAgICBpZDogJ29wdGlvbjInLFxuICAgIGxhYmVsOiAnU2Vjb25kIE9wdGlvbicsXG4gICAgdmFsdWU6ICcyJ1xuICB9LFxuICB7XG4gICAgZGVzY3JpcHRpb246ICdUaGlzIGlzIHRoZSB0aGlyZCBvcHRpb24gZGVzY3JpcHRpb24nLFxuICAgIGlkOiAnb3B0aW9uMycsXG4gICAgbGFiZWw6ICdUaGlyZCBPcHRpb24nLFxuICAgIHZhbHVlOiAnMydcbiAgfVxuXTtcblxuXG5leHBvcnQgY29uc3QgRGVmYXVsdDogU3RvcnkgPSB7XG4gIGFyZ3M6IHtcbiAgICBsYWJlbDogJ0Nob29zZSBhIENvbG9yJyxcbiAgICBuYW1lOiAnY29sb3JTZWxlY3Rpb24nLFxuICAgIG9wdGlvbnM6IFtcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdyZWQnLFxuICAgICAgICBsYWJlbDogJ1JlZCcsXG4gICAgICAgIHZhbHVlOiAncmVkJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdibHVlJyxcbiAgICAgICAgbGFiZWw6ICdCbHVlJyxcbiAgICAgICAgdmFsdWU6ICdibHVlJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdncmVlbicsXG4gICAgICAgIGxhYmVsOiAnR3JlZW4nLFxuICAgICAgICB2YWx1ZTogJ2dyZWVuJ1xuICAgICAgfVxuICAgIF1cbiAgfSxcbiAgcGxheTogaW50ZXJhY3RXaXRoQ2FudmFzXG59O1xuXG5leHBvcnQgY29uc3QgV2l0aERlZmF1bHRWYWx1ZTogU3RvcnkgPSB7XG4gIGFyZ3M6IHtcbiAgICBkZWZhdWx0VmFsdWU6ICcyJyxcbiAgICBsYWJlbDogJ1NlbGVjdCBhbiBPcHRpb24nLFxuICAgIG5hbWU6ICdyYWRpb0dyb3VwV2l0aERlZmF1bHQnLFxuICAgIG9wdGlvbnM6IGRlZmF1bHRPcHRpb25zXG4gIH0sXG4gIHBsYXk6IGludGVyYWN0V2l0aENhbnZhc1xufTtcblxuZXhwb3J0IGNvbnN0IFdpdGhMb25nRGVzY3JpcHRpb25zOiBTdG9yeSA9IHtcbiAgYXJnczoge1xuICAgIGxhYmVsOiAnU2VsZWN0IGEgUGxhbicsXG4gICAgbmFtZTogJ3BsYW5TZWxlY3Rpb24nLFxuICAgIG9wdGlvbnM6IFtcbiAgICAgIHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdQZXJmZWN0IGZvciBpbmRpdmlkdWFscyBhbmQgc21hbGwgcHJvamVjdHMuIEluY2x1ZGVzIGJhc2ljIGZlYXR1cmVzIGFuZCBzdXBwb3J0LicsXG4gICAgICAgIGlkOiAnYmFzaWMnLFxuICAgICAgICBsYWJlbDogJ0Jhc2ljIFBsYW4nLFxuICAgICAgICB2YWx1ZTogJ2Jhc2ljJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdJZGVhbCBmb3IgZ3Jvd2luZyBidXNpbmVzc2VzLiBJbmNsdWRlcyBhZHZhbmNlZCBmZWF0dXJlcywgcHJpb3JpdHkgc3VwcG9ydCwgYW5kIHRlYW0gY29sbGFib3JhdGlvbiB0b29scy4nLFxuICAgICAgICBpZDogJ3BybycsXG4gICAgICAgIGxhYmVsOiAnUHJvZmVzc2lvbmFsIFBsYW4nLFxuICAgICAgICB2YWx1ZTogJ3BybydcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiAnRW50ZXJwcmlzZS1ncmFkZSBzb2x1dGlvbiB3aXRoIGFsbCBmZWF0dXJlcywgZGVkaWNhdGVkIHN1cHBvcnQsIGFuZCBjdXN0b20gaW50ZWdyYXRpb25zLicsXG4gICAgICAgIGlkOiAnZW50ZXJwcmlzZScsXG4gICAgICAgIGxhYmVsOiAnRW50ZXJwcmlzZSBQbGFuJyxcbiAgICAgICAgdmFsdWU6ICdlbnRlcnByaXNlJ1xuICAgICAgfVxuICAgIF1cbiAgfSxcbiAgcGxheTogaW50ZXJhY3RXaXRoQ2FudmFzXG59O1xuIl0sIm5hbWVzIjpbImdvdGhhbUNvbG9ycyIsImludGVyYWN0V2l0aENhbnZhcyIsIlJhZGlvRmllbGQiLCJtZXRhIiwiYXJnVHlwZXMiLCJjb2xvciIsImNvbnRyb2wiLCJkZXNjcmlwdGlvbiIsIm9wdGlvbnMiLCJkZWZhdWx0VmFsdWUiLCJsYWJlbCIsIm5hbWUiLCJvcHRpb25DbGFzcyIsImNvbXBvbmVudCIsImRlY29yYXRvcnMiLCJTdG9yeSIsImRpdiIsImNsYXNzTmFtZSIsInBhcmFtZXRlcnMiLCJiYWNrZ3JvdW5kcyIsImRlZmF1bHQiLCJ2YWx1ZXMiLCJ2YWx1ZSIsImxheW91dCIsInRpdGxlIiwiZGVmYXVsdE9wdGlvbnMiLCJpZCIsIkRlZmF1bHQiLCJhcmdzIiwicGxheSIsIldpdGhEZWZhdWx0VmFsdWUiLCJXaXRoTG9uZ0Rlc2NyaXB0aW9ucyJdLCJtYXBwaW5ncyI6IjtBQUFBLFNBQVFBLFlBQVksUUFBTyw0QkFBNEI7QUFDdkQsU0FBUUMsa0JBQWtCLFFBQU8sbUNBQW1DO0FBQ3BFLFNBQVFDLFVBQVUsUUFBTyxrQkFBa0I7QUFJM0MsTUFBTUMsT0FBZ0M7SUFDcENDLFVBQVU7UUFDUkMsT0FBTztZQUNMQyxTQUFTO1lBQ1RDLGFBQWE7WUFDYkMsU0FBU1I7UUFDWDtRQUNBUyxjQUFjO1lBQ1pILFNBQVM7WUFDVEMsYUFBYTtRQUNmO1FBQ0FHLE9BQU87WUFDTEosU0FBUztZQUNUQyxhQUFhO1FBQ2Y7UUFDQUksTUFBTTtZQUNKTCxTQUFTO1lBQ1RDLGFBQWE7UUFDZjtRQUNBSyxhQUFhO1lBQ1hOLFNBQVM7WUFDVEMsYUFBYTtRQUNmO1FBQ0FDLFNBQVM7WUFDUEYsU0FBUztZQUNUQyxhQUFhO1FBQ2Y7SUFDRjtJQUNBTSxXQUFXWDtJQUNYWSxZQUFZO1FBQ1YsQ0FBQ0Msc0JBQ0MsS0FBQ0M7Z0JBQUlDLFdBQVU7MEJBQ2IsY0FBQSxLQUFDRjs7S0FHTjtJQUNERyxZQUFZO1FBQ1ZDLGFBQWE7WUFDWEMsU0FBUztZQUNUQyxRQUFRO2dCQUNOO29CQUFDVixNQUFNO29CQUFTVyxPQUFPO2dCQUFTO2dCQUNoQztvQkFBQ1gsTUFBTTtvQkFBUVcsT0FBTztnQkFBUzthQUNoQztRQUNIO1FBQ0FDLFFBQVE7SUFDVjtJQUNBQyxPQUFPO0FBQ1Q7QUFFQSxlQUFlckIsS0FBSztBQUdwQixNQUFNc0IsaUJBQWlCO0lBQ3JCO1FBQ0VsQixhQUFhO1FBQ2JtQixJQUFJO1FBQ0poQixPQUFPO1FBQ1BZLE9BQU87SUFDVDtJQUNBO1FBQ0VmLGFBQWE7UUFDYm1CLElBQUk7UUFDSmhCLE9BQU87UUFDUFksT0FBTztJQUNUO0lBQ0E7UUFDRWYsYUFBYTtRQUNibUIsSUFBSTtRQUNKaEIsT0FBTztRQUNQWSxPQUFPO0lBQ1Q7Q0FDRDtBQUdELE9BQU8sTUFBTUssVUFBaUI7SUFDNUJDLE1BQU07UUFDSmxCLE9BQU87UUFDUEMsTUFBTTtRQUNOSCxTQUFTO1lBQ1A7Z0JBQ0VrQixJQUFJO2dCQUNKaEIsT0FBTztnQkFDUFksT0FBTztZQUNUO1lBQ0E7Z0JBQ0VJLElBQUk7Z0JBQ0poQixPQUFPO2dCQUNQWSxPQUFPO1lBQ1Q7WUFDQTtnQkFDRUksSUFBSTtnQkFDSmhCLE9BQU87Z0JBQ1BZLE9BQU87WUFDVDtTQUNEO0lBQ0g7SUFDQU8sTUFBTTVCO0FBQ1IsRUFBRTtBQUVGLE9BQU8sTUFBTTZCLG1CQUEwQjtJQUNyQ0YsTUFBTTtRQUNKbkIsY0FBYztRQUNkQyxPQUFPO1FBQ1BDLE1BQU07UUFDTkgsU0FBU2lCO0lBQ1g7SUFDQUksTUFBTTVCO0FBQ1IsRUFBRTtBQUVGLE9BQU8sTUFBTThCLHVCQUE4QjtJQUN6Q0gsTUFBTTtRQUNKbEIsT0FBTztRQUNQQyxNQUFNO1FBQ05ILFNBQVM7WUFDUDtnQkFDRUQsYUFBYTtnQkFDYm1CLElBQUk7Z0JBQ0poQixPQUFPO2dCQUNQWSxPQUFPO1lBQ1Q7WUFDQTtnQkFDRWYsYUFBYTtnQkFDYm1CLElBQUk7Z0JBQ0poQixPQUFPO2dCQUNQWSxPQUFPO1lBQ1Q7WUFDQTtnQkFDRWYsYUFBYTtnQkFDYm1CLElBQUk7Z0JBQ0poQixPQUFPO2dCQUNQWSxPQUFPO1lBQ1Q7U0FDRDtJQUNIO0lBQ0FPLE1BQU01QjtBQUNSLEVBQUUifQ==
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { HTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
export interface ReviewItem {
|
|
3
|
+
readonly author: string;
|
|
4
|
+
readonly avatarSrc?: string;
|
|
5
|
+
readonly body: ReactNode;
|
|
6
|
+
readonly id?: string | number;
|
|
7
|
+
readonly rating?: number;
|
|
8
|
+
readonly title?: ReactNode;
|
|
9
|
+
}
|
|
10
|
+
export interface ReviewListProps extends HTMLAttributes<HTMLDivElement> {
|
|
11
|
+
readonly reviews: ReviewItem[];
|
|
12
|
+
}
|
|
13
|
+
declare const ReviewListComponent: ({ className, reviews, ...props }: ReviewListProps) => import("react").JSX.Element;
|
|
14
|
+
export declare const ReviewList: import("react").MemoExoticComponent<typeof ReviewListComponent>;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from '@nlabs/utils';
|
|
3
|
+
import { Star } from 'lucide-react';
|
|
4
|
+
import { memo } from 'react';
|
|
5
|
+
import { Avatar } from '../Avatar/Avatar.js';
|
|
6
|
+
const ReviewListComponent = ({ className, reviews, ...props })=>/*#__PURE__*/ _jsx("div", {
|
|
7
|
+
className: cn('grid grid-cols-1 gap-6 lg:grid-cols-2', className),
|
|
8
|
+
"data-slot": "review-list",
|
|
9
|
+
...props,
|
|
10
|
+
children: reviews.map((review)=>/*#__PURE__*/ _jsxs("figure", {
|
|
11
|
+
className: "rounded-lg border border-border bg-card p-6 shadow-sm dark:border-border-dark dark:bg-card-dark",
|
|
12
|
+
children: [
|
|
13
|
+
typeof review.rating === 'number' ? /*#__PURE__*/ _jsx("div", {
|
|
14
|
+
"aria-label": `${review.rating} out of 5 stars`,
|
|
15
|
+
className: "flex gap-1 text-primary dark:text-primary-dark",
|
|
16
|
+
children: Array.from({
|
|
17
|
+
length: 5
|
|
18
|
+
}, (_, index)=>/*#__PURE__*/ _jsx(Star, {
|
|
19
|
+
"aria-hidden": "true",
|
|
20
|
+
className: cn('size-4', index < review.rating ? 'fill-current' : 'opacity-25')
|
|
21
|
+
}, index))
|
|
22
|
+
}) : null,
|
|
23
|
+
review.title ? /*#__PURE__*/ _jsx("h3", {
|
|
24
|
+
className: "mt-4 text-base font-semibold text-foreground dark:text-foreground-dark",
|
|
25
|
+
children: review.title
|
|
26
|
+
}) : null,
|
|
27
|
+
/*#__PURE__*/ _jsx("blockquote", {
|
|
28
|
+
className: "mt-3 text-sm/6 text-muted-foreground dark:text-muted-foreground-dark",
|
|
29
|
+
children: review.body
|
|
30
|
+
}),
|
|
31
|
+
/*#__PURE__*/ _jsxs("figcaption", {
|
|
32
|
+
className: "mt-6 flex items-center gap-3",
|
|
33
|
+
children: [
|
|
34
|
+
/*#__PURE__*/ _jsx(Avatar, {
|
|
35
|
+
initials: review.author.slice(0, 2).toUpperCase(),
|
|
36
|
+
size: "sm",
|
|
37
|
+
src: review.avatarSrc
|
|
38
|
+
}),
|
|
39
|
+
/*#__PURE__*/ _jsx("span", {
|
|
40
|
+
className: "text-sm font-medium text-foreground dark:text-foreground-dark",
|
|
41
|
+
children: review.author
|
|
42
|
+
})
|
|
43
|
+
]
|
|
44
|
+
})
|
|
45
|
+
]
|
|
46
|
+
}, review.id ?? review.author))
|
|
47
|
+
});
|
|
48
|
+
export const ReviewList = /*#__PURE__*/ memo(ReviewListComponent);
|
|
49
|
+
ReviewList.displayName = 'ReviewList';
|
|
50
|
+
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L2dvdGhhbWpzL3NyYy9jb21wb25lbnRzL1Jldmlld0xpc3QvUmV2aWV3TGlzdC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjbn0gZnJvbSAnQG5sYWJzL3V0aWxzJztcbmltcG9ydCB7U3Rhcn0gZnJvbSAnbHVjaWRlLXJlYWN0JztcbmltcG9ydCB7bWVtb30gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQge0F2YXRhcn0gZnJvbSAnLi4vQXZhdGFyL0F2YXRhci5qcyc7XG5cbmltcG9ydCB0eXBlIHtIVE1MQXR0cmlidXRlcywgUmVhY3ROb2RlfSBmcm9tICdyZWFjdCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmV2aWV3SXRlbSB7XG4gIHJlYWRvbmx5IGF1dGhvcjogc3RyaW5nO1xuICByZWFkb25seSBhdmF0YXJTcmM/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGJvZHk6IFJlYWN0Tm9kZTtcbiAgcmVhZG9ubHkgaWQ/OiBzdHJpbmcgfCBudW1iZXI7XG4gIHJlYWRvbmx5IHJhdGluZz86IG51bWJlcjtcbiAgcmVhZG9ubHkgdGl0bGU/OiBSZWFjdE5vZGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmV2aWV3TGlzdFByb3BzIGV4dGVuZHMgSFRNTEF0dHJpYnV0ZXM8SFRNTERpdkVsZW1lbnQ+IHtcbiAgcmVhZG9ubHkgcmV2aWV3czogUmV2aWV3SXRlbVtdO1xufVxuXG5jb25zdCBSZXZpZXdMaXN0Q29tcG9uZW50ID0gKHtcbiAgY2xhc3NOYW1lLFxuICByZXZpZXdzLFxuICAuLi5wcm9wc1xufTogUmV2aWV3TGlzdFByb3BzKSA9PiAoXG4gIDxkaXYgY2xhc3NOYW1lPXtjbignZ3JpZCBncmlkLWNvbHMtMSBnYXAtNiBsZzpncmlkLWNvbHMtMicsIGNsYXNzTmFtZSl9IGRhdGEtc2xvdD1cInJldmlldy1saXN0XCIgey4uLnByb3BzfT5cbiAgICB7cmV2aWV3cy5tYXAoKHJldmlldykgPT4gKFxuICAgICAgPGZpZ3VyZSBjbGFzc05hbWU9XCJyb3VuZGVkLWxnIGJvcmRlciBib3JkZXItYm9yZGVyIGJnLWNhcmQgcC02IHNoYWRvdy1zbSBkYXJrOmJvcmRlci1ib3JkZXItZGFyayBkYXJrOmJnLWNhcmQtZGFya1wiIGtleT17cmV2aWV3LmlkID8/IHJldmlldy5hdXRob3J9PlxuICAgICAgICB7dHlwZW9mIHJldmlldy5yYXRpbmcgPT09ICdudW1iZXInID8gKFxuICAgICAgICAgIDxkaXYgYXJpYS1sYWJlbD17YCR7cmV2aWV3LnJhdGluZ30gb3V0IG9mIDUgc3RhcnNgfSBjbGFzc05hbWU9XCJmbGV4IGdhcC0xIHRleHQtcHJpbWFyeSBkYXJrOnRleHQtcHJpbWFyeS1kYXJrXCI+XG4gICAgICAgICAgICB7QXJyYXkuZnJvbSh7bGVuZ3RoOiA1fSwgKF8sIGluZGV4KSA9PiAoXG4gICAgICAgICAgICAgIDxTdGFyXG4gICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NuKCdzaXplLTQnLCBpbmRleCA8IHJldmlldy5yYXRpbmchID8gJ2ZpbGwtY3VycmVudCcgOiAnb3BhY2l0eS0yNScpfVxuICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIHtyZXZpZXcudGl0bGUgPyA8aDMgY2xhc3NOYW1lPVwibXQtNCB0ZXh0LWJhc2UgZm9udC1zZW1pYm9sZCB0ZXh0LWZvcmVncm91bmQgZGFyazp0ZXh0LWZvcmVncm91bmQtZGFya1wiPntyZXZpZXcudGl0bGV9PC9oMz4gOiBudWxsfVxuICAgICAgICA8YmxvY2txdW90ZSBjbGFzc05hbWU9XCJtdC0zIHRleHQtc20vNiB0ZXh0LW11dGVkLWZvcmVncm91bmQgZGFyazp0ZXh0LW11dGVkLWZvcmVncm91bmQtZGFya1wiPntyZXZpZXcuYm9keX08L2Jsb2NrcXVvdGU+XG4gICAgICAgIDxmaWdjYXB0aW9uIGNsYXNzTmFtZT1cIm10LTYgZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTNcIj5cbiAgICAgICAgICA8QXZhdGFyIGluaXRpYWxzPXtyZXZpZXcuYXV0aG9yLnNsaWNlKDAsIDIpLnRvVXBwZXJDYXNlKCl9IHNpemU9XCJzbVwiIHNyYz17cmV2aWV3LmF2YXRhclNyY30gLz5cbiAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtZm9yZWdyb3VuZCBkYXJrOnRleHQtZm9yZWdyb3VuZC1kYXJrXCI+e3Jldmlldy5hdXRob3J9PC9zcGFuPlxuICAgICAgICA8L2ZpZ2NhcHRpb24+XG4gICAgICA8L2ZpZ3VyZT5cbiAgICApKX1cbiAgPC9kaXY+XG4pO1xuXG5leHBvcnQgY29uc3QgUmV2aWV3TGlzdCA9IG1lbW8oUmV2aWV3TGlzdENvbXBvbmVudCk7XG5SZXZpZXdMaXN0LmRpc3BsYXlOYW1lID0gJ1Jldmlld0xpc3QnO1xuIl0sIm5hbWVzIjpbImNuIiwiU3RhciIsIm1lbW8iLCJBdmF0YXIiLCJSZXZpZXdMaXN0Q29tcG9uZW50IiwiY2xhc3NOYW1lIiwicmV2aWV3cyIsInByb3BzIiwiZGl2IiwiZGF0YS1zbG90IiwibWFwIiwicmV2aWV3IiwiZmlndXJlIiwicmF0aW5nIiwiYXJpYS1sYWJlbCIsIkFycmF5IiwiZnJvbSIsImxlbmd0aCIsIl8iLCJpbmRleCIsImFyaWEtaGlkZGVuIiwidGl0bGUiLCJoMyIsImJsb2NrcXVvdGUiLCJib2R5IiwiZmlnY2FwdGlvbiIsImluaXRpYWxzIiwiYXV0aG9yIiwic2xpY2UiLCJ0b1VwcGVyQ2FzZSIsInNpemUiLCJzcmMiLCJhdmF0YXJTcmMiLCJzcGFuIiwiaWQiLCJSZXZpZXdMaXN0IiwiZGlzcGxheU5hbWUiXSwibWFwcGluZ3MiOiI7QUFBQSxTQUFRQSxFQUFFLFFBQU8sZUFBZTtBQUNoQyxTQUFRQyxJQUFJLFFBQU8sZUFBZTtBQUNsQyxTQUFRQyxJQUFJLFFBQU8sUUFBUTtBQUUzQixTQUFRQyxNQUFNLFFBQU8sc0JBQXNCO0FBaUIzQyxNQUFNQyxzQkFBc0IsQ0FBQyxFQUMzQkMsU0FBUyxFQUNUQyxPQUFPLEVBQ1AsR0FBR0MsT0FDYSxpQkFDaEIsS0FBQ0M7UUFBSUgsV0FBV0wsR0FBRyx5Q0FBeUNLO1FBQVlJLGFBQVU7UUFBZSxHQUFHRixLQUFLO2tCQUN0R0QsUUFBUUksR0FBRyxDQUFDLENBQUNDLHVCQUNaLE1BQUNDO2dCQUFPUCxXQUFVOztvQkFDZixPQUFPTSxPQUFPRSxNQUFNLEtBQUsseUJBQ3hCLEtBQUNMO3dCQUFJTSxjQUFZLEdBQUdILE9BQU9FLE1BQU0sQ0FBQyxlQUFlLENBQUM7d0JBQUVSLFdBQVU7a0NBQzNEVSxNQUFNQyxJQUFJLENBQUM7NEJBQUNDLFFBQVE7d0JBQUMsR0FBRyxDQUFDQyxHQUFHQyxzQkFDM0IsS0FBQ2xCO2dDQUNDbUIsZUFBWTtnQ0FDWmYsV0FBV0wsR0FBRyxVQUFVbUIsUUFBUVIsT0FBT0UsTUFBTSxHQUFJLGlCQUFpQjsrQkFDN0RNO3lCQUlUO29CQUNIUixPQUFPVSxLQUFLLGlCQUFHLEtBQUNDO3dCQUFHakIsV0FBVTtrQ0FBMEVNLE9BQU9VLEtBQUs7eUJBQVM7a0NBQzdILEtBQUNFO3dCQUFXbEIsV0FBVTtrQ0FBd0VNLE9BQU9hLElBQUk7O2tDQUN6RyxNQUFDQzt3QkFBV3BCLFdBQVU7OzBDQUNwQixLQUFDRjtnQ0FBT3VCLFVBQVVmLE9BQU9nQixNQUFNLENBQUNDLEtBQUssQ0FBQyxHQUFHLEdBQUdDLFdBQVc7Z0NBQUlDLE1BQUs7Z0NBQUtDLEtBQUtwQixPQUFPcUIsU0FBUzs7MENBQzFGLEtBQUNDO2dDQUFLNUIsV0FBVTswQ0FBaUVNLE9BQU9nQixNQUFNOzs7OztlQWhCdUJoQixPQUFPdUIsRUFBRSxJQUFJdkIsT0FBT2dCLE1BQU07O0FBdUJ6SixPQUFPLE1BQU1RLDJCQUFhakMsS0FBS0UscUJBQXFCO0FBQ3BEK0IsV0FBV0MsV0FBVyxHQUFHIn0=
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { ReviewList } from './ReviewList.js';
|
|
2
|
+
const meta = {
|
|
3
|
+
component: ReviewList,
|
|
4
|
+
parameters: {
|
|
5
|
+
layout: 'padded'
|
|
6
|
+
},
|
|
7
|
+
title: 'Ecommerce/ReviewList'
|
|
8
|
+
};
|
|
9
|
+
export default meta;
|
|
10
|
+
export const MultiColumn = {
|
|
11
|
+
args: {
|
|
12
|
+
reviews: [
|
|
13
|
+
{
|
|
14
|
+
author: 'Judith Black',
|
|
15
|
+
body: 'The quality is excellent and the packaging feels considered.',
|
|
16
|
+
rating: 5,
|
|
17
|
+
title: 'Worth it'
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
author: 'Leslie Alexander',
|
|
21
|
+
body: 'Beautiful details, quick shipping, and easy checkout.',
|
|
22
|
+
rating: 4,
|
|
23
|
+
title: 'Great experience'
|
|
24
|
+
}
|
|
25
|
+
]
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L2dvdGhhbWpzL3NyYy9jb21wb25lbnRzL1Jldmlld0xpc3QvUmV2aWV3TGlzdC5zdG9yaWVzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1Jldmlld0xpc3R9IGZyb20gJy4vUmV2aWV3TGlzdC5qcyc7XG5cbmltcG9ydCB0eXBlIHtNZXRhLCBTdG9yeU9ian0gZnJvbSAnQG5sYWJzL2xleC9zdG9yeWJvb2snO1xuXG5jb25zdCBtZXRhOiBNZXRhPHR5cGVvZiBSZXZpZXdMaXN0PiA9IHtcbiAgY29tcG9uZW50OiBSZXZpZXdMaXN0LFxuICBwYXJhbWV0ZXJzOiB7XG4gICAgbGF5b3V0OiAncGFkZGVkJ1xuICB9LFxuICB0aXRsZTogJ0Vjb21tZXJjZS9SZXZpZXdMaXN0J1xufTtcblxuZXhwb3J0IGRlZmF1bHQgbWV0YTtcblxudHlwZSBTdG9yeSA9IFN0b3J5T2JqPHR5cGVvZiBSZXZpZXdMaXN0PjtcblxuZXhwb3J0IGNvbnN0IE11bHRpQ29sdW1uOiBTdG9yeSA9IHtcbiAgYXJnczoge1xuICAgIHJldmlld3M6IFtcbiAgICAgIHthdXRob3I6ICdKdWRpdGggQmxhY2snLCBib2R5OiAnVGhlIHF1YWxpdHkgaXMgZXhjZWxsZW50IGFuZCB0aGUgcGFja2FnaW5nIGZlZWxzIGNvbnNpZGVyZWQuJywgcmF0aW5nOiA1LCB0aXRsZTogJ1dvcnRoIGl0J30sXG4gICAgICB7YXV0aG9yOiAnTGVzbGllIEFsZXhhbmRlcicsIGJvZHk6ICdCZWF1dGlmdWwgZGV0YWlscywgcXVpY2sgc2hpcHBpbmcsIGFuZCBlYXN5IGNoZWNrb3V0LicsIHJhdGluZzogNCwgdGl0bGU6ICdHcmVhdCBleHBlcmllbmNlJ31cbiAgICBdXG4gIH1cbn07XG4iXSwibmFtZXMiOlsiUmV2aWV3TGlzdCIsIm1ldGEiLCJjb21wb25lbnQiLCJwYXJhbWV0ZXJzIiwibGF5b3V0IiwidGl0bGUiLCJNdWx0aUNvbHVtbiIsImFyZ3MiLCJyZXZpZXdzIiwiYXV0aG9yIiwiYm9keSIsInJhdGluZyJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBUUEsVUFBVSxRQUFPLGtCQUFrQjtBQUkzQyxNQUFNQyxPQUFnQztJQUNwQ0MsV0FBV0Y7SUFDWEcsWUFBWTtRQUNWQyxRQUFRO0lBQ1Y7SUFDQUMsT0FBTztBQUNUO0FBRUEsZUFBZUosS0FBSztBQUlwQixPQUFPLE1BQU1LLGNBQXFCO0lBQ2hDQyxNQUFNO1FBQ0pDLFNBQVM7WUFDUDtnQkFBQ0MsUUFBUTtnQkFBZ0JDLE1BQU07Z0JBQWdFQyxRQUFRO2dCQUFHTixPQUFPO1lBQVU7WUFDM0g7Z0JBQUNJLFFBQVE7Z0JBQW9CQyxNQUFNO2dCQUF5REMsUUFBUTtnQkFBR04sT0FBTztZQUFrQjtTQUNqSTtJQUNIO0FBQ0YsRUFBRSJ9
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { HTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
export interface SectionHeaderProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {
|
|
3
|
+
readonly actions?: ReactNode;
|
|
4
|
+
readonly align?: 'left' | 'center';
|
|
5
|
+
readonly eyebrow?: ReactNode;
|
|
6
|
+
readonly subtitle?: ReactNode;
|
|
7
|
+
readonly title: ReactNode;
|
|
8
|
+
}
|
|
9
|
+
export declare const SectionHeader: ({ actions, align, children, className, eyebrow, subtitle, title, ...props }: SectionHeaderProps) => import("react").JSX.Element;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from '@nlabs/utils';
|
|
3
|
+
export const SectionHeader = ({ actions, align = 'left', children, className, eyebrow, subtitle, title, ...props })=>{
|
|
4
|
+
const actionClasses = actions && align === 'left' ? 'sm:max-w-none sm:flex-row sm:items-end sm:justify-between' : '';
|
|
5
|
+
return /*#__PURE__*/ _jsxs("div", {
|
|
6
|
+
className: cn('flex flex-col gap-4', align === 'center' ? 'mx-auto max-w-3xl items-center text-center' : 'max-w-3xl', actionClasses, className),
|
|
7
|
+
"data-slot": "section-header",
|
|
8
|
+
...props,
|
|
9
|
+
children: [
|
|
10
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
11
|
+
className: cn('min-w-0', align === 'center' && 'flex flex-col items-center'),
|
|
12
|
+
children: [
|
|
13
|
+
eyebrow ? /*#__PURE__*/ _jsx("p", {
|
|
14
|
+
className: "text-sm/6 font-semibold text-primary dark:text-primary-dark",
|
|
15
|
+
children: eyebrow
|
|
16
|
+
}) : null,
|
|
17
|
+
/*#__PURE__*/ _jsx("h2", {
|
|
18
|
+
className: "mt-2 text-3xl font-semibold tracking-tight text-foreground sm:text-4xl dark:text-foreground-dark",
|
|
19
|
+
children: title
|
|
20
|
+
}),
|
|
21
|
+
subtitle ? /*#__PURE__*/ _jsx("p", {
|
|
22
|
+
className: "mt-4 text-base/7 text-muted-foreground dark:text-muted-foreground-dark",
|
|
23
|
+
children: subtitle
|
|
24
|
+
}) : null,
|
|
25
|
+
children
|
|
26
|
+
]
|
|
27
|
+
}),
|
|
28
|
+
actions ? /*#__PURE__*/ _jsx("div", {
|
|
29
|
+
className: "flex shrink-0 items-center gap-3",
|
|
30
|
+
children: actions
|
|
31
|
+
}) : null
|
|
32
|
+
]
|
|
33
|
+
});
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L2dvdGhhbWpzL3NyYy9jb21wb25lbnRzL1NlY3Rpb25IZWFkZXIvU2VjdGlvbkhlYWRlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjbn0gZnJvbSAnQG5sYWJzL3V0aWxzJztcblxuaW1wb3J0IHR5cGUge0hUTUxBdHRyaWJ1dGVzLCBSZWFjdE5vZGV9IGZyb20gJ3JlYWN0JztcblxuZXhwb3J0IGludGVyZmFjZSBTZWN0aW9uSGVhZGVyUHJvcHMgZXh0ZW5kcyBPbWl0PEhUTUxBdHRyaWJ1dGVzPEhUTUxEaXZFbGVtZW50PiwgJ3RpdGxlJz4ge1xuICByZWFkb25seSBhY3Rpb25zPzogUmVhY3ROb2RlO1xuICByZWFkb25seSBhbGlnbj86ICdsZWZ0JyB8ICdjZW50ZXInO1xuICByZWFkb25seSBleWVicm93PzogUmVhY3ROb2RlO1xuICByZWFkb25seSBzdWJ0aXRsZT86IFJlYWN0Tm9kZTtcbiAgcmVhZG9ubHkgdGl0bGU6IFJlYWN0Tm9kZTtcbn1cblxuZXhwb3J0IGNvbnN0IFNlY3Rpb25IZWFkZXIgPSAoe1xuICBhY3Rpb25zLFxuICBhbGlnbiA9ICdsZWZ0JyxcbiAgY2hpbGRyZW4sXG4gIGNsYXNzTmFtZSxcbiAgZXllYnJvdyxcbiAgc3VidGl0bGUsXG4gIHRpdGxlLFxuICAuLi5wcm9wc1xufTogU2VjdGlvbkhlYWRlclByb3BzKSA9PiB7XG4gIGNvbnN0IGFjdGlvbkNsYXNzZXMgPSBhY3Rpb25zICYmIGFsaWduID09PSAnbGVmdCdcbiAgICA/ICdzbTptYXgtdy1ub25lIHNtOmZsZXgtcm93IHNtOml0ZW1zLWVuZCBzbTpqdXN0aWZ5LWJldHdlZW4nXG4gICAgOiAnJztcblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNsYXNzTmFtZT17Y24oXG4gICAgICAgICdmbGV4IGZsZXgtY29sIGdhcC00JyxcbiAgICAgICAgYWxpZ24gPT09ICdjZW50ZXInID8gJ214LWF1dG8gbWF4LXctM3hsIGl0ZW1zLWNlbnRlciB0ZXh0LWNlbnRlcicgOiAnbWF4LXctM3hsJyxcbiAgICAgICAgYWN0aW9uQ2xhc3NlcyxcbiAgICAgICAgY2xhc3NOYW1lXG4gICAgICApfVxuICAgICAgZGF0YS1zbG90PVwic2VjdGlvbi1oZWFkZXJcIlxuICAgICAgey4uLnByb3BzfVxuICAgID5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbignbWluLXctMCcsIGFsaWduID09PSAnY2VudGVyJyAmJiAnZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXInKX0+XG4gICAgICAgIHtleWVicm93ID8gKFxuICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtc20vNiBmb250LXNlbWlib2xkIHRleHQtcHJpbWFyeSBkYXJrOnRleHQtcHJpbWFyeS1kYXJrXCI+e2V5ZWJyb3d9PC9wPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPGgyIGNsYXNzTmFtZT1cIm10LTIgdGV4dC0zeGwgZm9udC1zZW1pYm9sZCB0cmFja2luZy10aWdodCB0ZXh0LWZvcmVncm91bmQgc206dGV4dC00eGwgZGFyazp0ZXh0LWZvcmVncm91bmQtZGFya1wiPlxuICAgICAgICAgIHt0aXRsZX1cbiAgICAgICAgPC9oMj5cbiAgICAgICAge3N1YnRpdGxlID8gKFxuICAgICAgICAgIDxwIGNsYXNzTmFtZT1cIm10LTQgdGV4dC1iYXNlLzcgdGV4dC1tdXRlZC1mb3JlZ3JvdW5kIGRhcms6dGV4dC1tdXRlZC1mb3JlZ3JvdW5kLWRhcmtcIj57c3VidGl0bGV9PC9wPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9kaXY+XG4gICAgICB7YWN0aW9ucyA/IDxkaXYgY2xhc3NOYW1lPVwiZmxleCBzaHJpbmstMCBpdGVtcy1jZW50ZXIgZ2FwLTNcIj57YWN0aW9uc308L2Rpdj4gOiBudWxsfVxuICAgIDwvZGl2PlxuICApO1xufTtcbiJdLCJuYW1lcyI6WyJjbiIsIlNlY3Rpb25IZWFkZXIiLCJhY3Rpb25zIiwiYWxpZ24iLCJjaGlsZHJlbiIsImNsYXNzTmFtZSIsImV5ZWJyb3ciLCJzdWJ0aXRsZSIsInRpdGxlIiwicHJvcHMiLCJhY3Rpb25DbGFzc2VzIiwiZGl2IiwiZGF0YS1zbG90IiwicCIsImgyIl0sIm1hcHBpbmdzIjoiO0FBQUEsU0FBUUEsRUFBRSxRQUFPLGVBQWU7QUFZaEMsT0FBTyxNQUFNQyxnQkFBZ0IsQ0FBQyxFQUM1QkMsT0FBTyxFQUNQQyxRQUFRLE1BQU0sRUFDZEMsUUFBUSxFQUNSQyxTQUFTLEVBQ1RDLE9BQU8sRUFDUEMsUUFBUSxFQUNSQyxLQUFLLEVBQ0wsR0FBR0MsT0FDZ0I7SUFDbkIsTUFBTUMsZ0JBQWdCUixXQUFXQyxVQUFVLFNBQ3ZDLDhEQUNBO0lBRUoscUJBQ0UsTUFBQ1E7UUFDQ04sV0FBV0wsR0FDVCx1QkFDQUcsVUFBVSxXQUFXLCtDQUErQyxhQUNwRU8sZUFDQUw7UUFFRk8sYUFBVTtRQUNULEdBQUdILEtBQUs7OzBCQUVULE1BQUNFO2dCQUFJTixXQUFXTCxHQUFHLFdBQVdHLFVBQVUsWUFBWTs7b0JBQ2pERyx3QkFDQyxLQUFDTzt3QkFBRVIsV0FBVTtrQ0FBK0RDO3lCQUMxRTtrQ0FDSixLQUFDUTt3QkFBR1QsV0FBVTtrQ0FDWEc7O29CQUVGRCx5QkFDQyxLQUFDTTt3QkFBRVIsV0FBVTtrQ0FBMEVFO3lCQUNyRjtvQkFDSEg7OztZQUVGRix3QkFBVSxLQUFDUztnQkFBSU4sV0FBVTswQkFBb0NIO2lCQUFpQjs7O0FBR3JGLEVBQUUifQ==
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { jsx as _jsx } 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 { SectionHeader } from './SectionHeader.js';
|
|
6
|
+
const meta = {
|
|
7
|
+
component: SectionHeader,
|
|
8
|
+
parameters: {
|
|
9
|
+
layout: 'padded'
|
|
10
|
+
},
|
|
11
|
+
title: 'Marketing/Sections/SectionHeader'
|
|
12
|
+
};
|
|
13
|
+
export default meta;
|
|
14
|
+
export const Default = {
|
|
15
|
+
args: {
|
|
16
|
+
eyebrow: 'Deploy faster',
|
|
17
|
+
subtitle: 'Composable section headers for marketing and application surfaces.',
|
|
18
|
+
title: 'Everything you need to ship'
|
|
19
|
+
},
|
|
20
|
+
play: interactWithCanvas
|
|
21
|
+
};
|
|
22
|
+
export const WithAction = {
|
|
23
|
+
play: interactWithCanvas,
|
|
24
|
+
render: ()=>/*#__PURE__*/ _jsx(SectionHeader, {
|
|
25
|
+
actions: /*#__PURE__*/ _jsx(Button, {
|
|
26
|
+
label: "View all",
|
|
27
|
+
size: "sm",
|
|
28
|
+
variant: "outlined"
|
|
29
|
+
}),
|
|
30
|
+
subtitle: "A compact page heading with a trailing action.",
|
|
31
|
+
title: "Recent activity"
|
|
32
|
+
})
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L2dvdGhhbWpzL3NyYy9jb21wb25lbnRzL1NlY3Rpb25IZWFkZXIvU2VjdGlvbkhlYWRlci5zdG9yaWVzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQge2ludGVyYWN0V2l0aENhbnZhc30gZnJvbSAnLi4vLi4vdXRpbHMvc3RvcnlJbnRlcmFjdGlvbnMuanMnO1xuaW1wb3J0IHtCdXR0b259IGZyb20gJy4uL0J1dHRvbi9CdXR0b24uanMnO1xuaW1wb3J0IHtTZWN0aW9uSGVhZGVyfSBmcm9tICcuL1NlY3Rpb25IZWFkZXIuanMnO1xuXG5pbXBvcnQgdHlwZSB7TWV0YSwgU3RvcnlPYmp9IGZyb20gJ0BubGFicy9sZXgvc3Rvcnlib29rJztcblxuY29uc3QgbWV0YTogTWV0YTx0eXBlb2YgU2VjdGlvbkhlYWRlcj4gPSB7XG4gIGNvbXBvbmVudDogU2VjdGlvbkhlYWRlcixcbiAgcGFyYW1ldGVyczoge1xuICAgIGxheW91dDogJ3BhZGRlZCdcbiAgfSxcbiAgdGl0bGU6ICdNYXJrZXRpbmcvU2VjdGlvbnMvU2VjdGlvbkhlYWRlcidcbn07XG5cbmV4cG9ydCBkZWZhdWx0IG1ldGE7XG5cbnR5cGUgU3RvcnkgPSBTdG9yeU9iajx0eXBlb2YgU2VjdGlvbkhlYWRlcj47XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0OiBTdG9yeSA9IHtcbiAgYXJnczoge1xuICAgIGV5ZWJyb3c6ICdEZXBsb3kgZmFzdGVyJyxcbiAgICBzdWJ0aXRsZTogJ0NvbXBvc2FibGUgc2VjdGlvbiBoZWFkZXJzIGZvciBtYXJrZXRpbmcgYW5kIGFwcGxpY2F0aW9uIHN1cmZhY2VzLicsXG4gICAgdGl0bGU6ICdFdmVyeXRoaW5nIHlvdSBuZWVkIHRvIHNoaXAnXG4gIH0sXG4gIHBsYXk6IGludGVyYWN0V2l0aENhbnZhc1xufTtcblxuZXhwb3J0IGNvbnN0IFdpdGhBY3Rpb246IFN0b3J5ID0ge1xuICBwbGF5OiBpbnRlcmFjdFdpdGhDYW52YXMsXG4gIHJlbmRlcjogKCkgPT4gKFxuICAgIDxTZWN0aW9uSGVhZGVyXG4gICAgICBhY3Rpb25zPXs8QnV0dG9uIGxhYmVsPVwiVmlldyBhbGxcIiBzaXplPVwic21cIiB2YXJpYW50PVwib3V0bGluZWRcIiAvPn1cbiAgICAgIHN1YnRpdGxlPVwiQSBjb21wYWN0IHBhZ2UgaGVhZGluZyB3aXRoIGEgdHJhaWxpbmcgYWN0aW9uLlwiXG4gICAgICB0aXRsZT1cIlJlY2VudCBhY3Rpdml0eVwiXG4gICAgLz5cbiAgKVxufTtcbiJdLCJuYW1lcyI6WyJSZWFjdCIsImludGVyYWN0V2l0aENhbnZhcyIsIkJ1dHRvbiIsIlNlY3Rpb25IZWFkZXIiLCJtZXRhIiwiY29tcG9uZW50IiwicGFyYW1ldGVycyIsImxheW91dCIsInRpdGxlIiwiRGVmYXVsdCIsImFyZ3MiLCJleWVicm93Iiwic3VidGl0bGUiLCJwbGF5IiwiV2l0aEFjdGlvbiIsInJlbmRlciIsImFjdGlvbnMiLCJsYWJlbCIsInNpemUiLCJ2YXJpYW50Il0sIm1hcHBpbmdzIjoiO0FBQUEsT0FBT0EsV0FBVyxRQUFRO0FBRTFCLFNBQVFDLGtCQUFrQixRQUFPLG1DQUFtQztBQUNwRSxTQUFRQyxNQUFNLFFBQU8sc0JBQXNCO0FBQzNDLFNBQVFDLGFBQWEsUUFBTyxxQkFBcUI7QUFJakQsTUFBTUMsT0FBbUM7SUFDdkNDLFdBQVdGO0lBQ1hHLFlBQVk7UUFDVkMsUUFBUTtJQUNWO0lBQ0FDLE9BQU87QUFDVDtBQUVBLGVBQWVKLEtBQUs7QUFJcEIsT0FBTyxNQUFNSyxVQUFpQjtJQUM1QkMsTUFBTTtRQUNKQyxTQUFTO1FBQ1RDLFVBQVU7UUFDVkosT0FBTztJQUNUO0lBQ0FLLE1BQU1aO0FBQ1IsRUFBRTtBQUVGLE9BQU8sTUFBTWEsYUFBb0I7SUFDL0JELE1BQU1aO0lBQ05jLFFBQVEsa0JBQ04sS0FBQ1o7WUFDQ2EsdUJBQVMsS0FBQ2Q7Z0JBQU9lLE9BQU07Z0JBQVdDLE1BQUs7Z0JBQUtDLFNBQVE7O1lBQ3BEUCxVQUFTO1lBQ1RKLE9BQU07O0FBR1osRUFBRSJ9
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { InputBorderType } from '../InputField/InputField.js';
|
|
2
|
+
import { SelectFieldOption } from './SelectOption.js';
|
|
3
|
+
import type { GothamColor } from '../../utils/colorUtils.js';
|
|
4
|
+
export type SelectFieldProps = {
|
|
5
|
+
readonly backgroundColor?: GothamColor;
|
|
6
|
+
readonly borderColor?: GothamColor;
|
|
7
|
+
readonly borderType?: InputBorderType;
|
|
8
|
+
readonly className?: string;
|
|
9
|
+
readonly color?: GothamColor;
|
|
10
|
+
readonly defaultValue?: string;
|
|
11
|
+
readonly label?: string;
|
|
12
|
+
readonly labelColor?: GothamColor;
|
|
13
|
+
readonly labelClass?: string;
|
|
14
|
+
readonly name: string;
|
|
15
|
+
readonly options: SelectFieldOption[];
|
|
16
|
+
readonly showChevron?: boolean;
|
|
17
|
+
};
|
|
18
|
+
export declare const SelectField: import("react").NamedExoticComponent<SelectFieldProps>;
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { Label, Listbox, ListboxButton, ListboxOptions } from '@headlessui/react';
|
|
4
|
+
import { cn } from '@nlabs/utils';
|
|
5
|
+
import { ChevronDown } from 'lucide-react';
|
|
6
|
+
import { memo, useMemo, useState } from 'react';
|
|
7
|
+
import { useIsMobile } from '../../hooks/useIsMobile.js';
|
|
8
|
+
import { getBackgroundClasses, getOutlineClasses, getTextClasses } from '../../utils/colorUtils.js';
|
|
9
|
+
import { useGothamFormField } from '../Form/FormContext.js';
|
|
10
|
+
import { getInputBorderClass } from '../InputField/InputField.js';
|
|
11
|
+
import { Svg } from '../Svg/Svg.js';
|
|
12
|
+
import { SelectOption } from './SelectOption.js';
|
|
13
|
+
const SelectFieldComponent = ({ backgroundColor = 'transparent', borderColor = 'black', borderType = 'solid', className = 'cursor-default grid outline-1 w-full grid-cols-1 rounded-md px-3.5 py-2 text-left sm:text-sm/6', color = 'primary', defaultValue, label, labelClass, labelColor = 'neutral', name, options, showChevron = true })=>{
|
|
14
|
+
const isMobile = useIsMobile();
|
|
15
|
+
const form = useGothamFormField(name);
|
|
16
|
+
const [localValue, setLocalValue] = useState(defaultValue ?? '');
|
|
17
|
+
const fieldValue = form?.value ?? localValue;
|
|
18
|
+
const normalizedFieldValue = fieldValue === undefined || fieldValue === null ? '' : String(fieldValue);
|
|
19
|
+
const selectClasses = useMemo(()=>cn('flex relative w-full', getInputBorderClass(borderType, borderColor, color, 'transparent'), className), [
|
|
20
|
+
borderType,
|
|
21
|
+
borderColor,
|
|
22
|
+
color,
|
|
23
|
+
className
|
|
24
|
+
]);
|
|
25
|
+
const nativeSelectClasses = useMemo(()=>cn(selectClasses, 'appearance-none', {
|
|
26
|
+
'pr-10': showChevron
|
|
27
|
+
}), [
|
|
28
|
+
selectClasses,
|
|
29
|
+
showChevron
|
|
30
|
+
]);
|
|
31
|
+
const labelClasses = useMemo(()=>cn(labelClass, 'block text-sm/6 font-medium', getTextClasses(labelColor)), [
|
|
32
|
+
labelClass,
|
|
33
|
+
labelColor
|
|
34
|
+
]);
|
|
35
|
+
const optionsClasses = useMemo(()=>cn('absolute z-10 max-h-56 w-full overflow-auto rounded-md py-1 text-base focus:outline-hidden data-leave:transition data-leave:duration-100 data-leave:ease-in data-closed:data-leave:opacity-0 sm:text-sm', getBackgroundClasses('white'), getOutlineClasses(color, {
|
|
36
|
+
hasFocus: true,
|
|
37
|
+
hasHover: true
|
|
38
|
+
})), [
|
|
39
|
+
backgroundColor,
|
|
40
|
+
color
|
|
41
|
+
]);
|
|
42
|
+
const chevronClasses = useMemo(()=>cn('col-start-1 row-start-1 mr-3 size-5 self-center justify-self-end sm:size-4', getTextClasses(color)), [
|
|
43
|
+
color
|
|
44
|
+
]);
|
|
45
|
+
const selected = useMemo(()=>options.find((option)=>String(option?.value) === normalizedFieldValue), [
|
|
46
|
+
normalizedFieldValue,
|
|
47
|
+
options
|
|
48
|
+
]);
|
|
49
|
+
const onChange = (value)=>{
|
|
50
|
+
if (!form) {
|
|
51
|
+
setLocalValue(String(value));
|
|
52
|
+
}
|
|
53
|
+
form?.setValue(name, String(value));
|
|
54
|
+
form?.clearError(name);
|
|
55
|
+
};
|
|
56
|
+
return isMobile ? /*#__PURE__*/ _jsxs("div", {
|
|
57
|
+
className: "relative w-full",
|
|
58
|
+
children: [
|
|
59
|
+
/*#__PURE__*/ _jsx("select", {
|
|
60
|
+
className: nativeSelectClasses,
|
|
61
|
+
name: name,
|
|
62
|
+
onChange: (event)=>onChange(event.target.value),
|
|
63
|
+
value: normalizedFieldValue,
|
|
64
|
+
children: options.map((option)=>/*#__PURE__*/ _jsx("option", {
|
|
65
|
+
value: String(option.value),
|
|
66
|
+
children: option.label
|
|
67
|
+
}, option.id))
|
|
68
|
+
}),
|
|
69
|
+
showChevron ? /*#__PURE__*/ _jsx(ChevronDown, {
|
|
70
|
+
"aria-hidden": "true",
|
|
71
|
+
className: cn('pointer-events-none absolute right-3 top-1/2 size-5 -translate-y-1/2', getTextClasses(color))
|
|
72
|
+
}) : null
|
|
73
|
+
]
|
|
74
|
+
}) : /*#__PURE__*/ _jsx("div", {
|
|
75
|
+
className: "flex flex-col w-full",
|
|
76
|
+
children: /*#__PURE__*/ _jsxs(Listbox, {
|
|
77
|
+
onChange: onChange,
|
|
78
|
+
value: normalizedFieldValue,
|
|
79
|
+
children: [
|
|
80
|
+
/*#__PURE__*/ _jsx(Label, {
|
|
81
|
+
className: labelClasses,
|
|
82
|
+
children: label
|
|
83
|
+
}),
|
|
84
|
+
/*#__PURE__*/ _jsx("select", {
|
|
85
|
+
hidden: true,
|
|
86
|
+
name: name,
|
|
87
|
+
onChange: (event)=>onChange(event.target.value),
|
|
88
|
+
value: normalizedFieldValue,
|
|
89
|
+
children: options.map((option)=>/*#__PURE__*/ _jsx("option", {
|
|
90
|
+
value: String(option.value),
|
|
91
|
+
children: option.label
|
|
92
|
+
}, option.id))
|
|
93
|
+
}),
|
|
94
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
95
|
+
className: cn('flex flex-col relative w-full', {
|
|
96
|
+
'mt-2': label
|
|
97
|
+
}),
|
|
98
|
+
children: [
|
|
99
|
+
/*#__PURE__*/ _jsxs(ListboxButton, {
|
|
100
|
+
className: selectClasses,
|
|
101
|
+
children: [
|
|
102
|
+
/*#__PURE__*/ _jsxs("span", {
|
|
103
|
+
className: "col-start-1 row-start-1 flex items-center gap-3 pr-6",
|
|
104
|
+
children: [
|
|
105
|
+
selected?.image && /*#__PURE__*/ _jsx("img", {
|
|
106
|
+
alt: "",
|
|
107
|
+
className: "size-5 shrink-0 rounded-full",
|
|
108
|
+
src: selected.image
|
|
109
|
+
}),
|
|
110
|
+
selected?.icon && /*#__PURE__*/ _jsx(Svg, {
|
|
111
|
+
className: "size-5 shrink-0 rounded-full",
|
|
112
|
+
name: selected.icon
|
|
113
|
+
}),
|
|
114
|
+
/*#__PURE__*/ _jsxs("span", {
|
|
115
|
+
className: "block truncate",
|
|
116
|
+
children: [
|
|
117
|
+
selected?.label,
|
|
118
|
+
" "
|
|
119
|
+
]
|
|
120
|
+
})
|
|
121
|
+
]
|
|
122
|
+
}),
|
|
123
|
+
showChevron ? /*#__PURE__*/ _jsx(ChevronDown, {
|
|
124
|
+
"aria-hidden": "true",
|
|
125
|
+
className: chevronClasses
|
|
126
|
+
}) : null
|
|
127
|
+
]
|
|
128
|
+
}),
|
|
129
|
+
/*#__PURE__*/ _jsx(ListboxOptions, {
|
|
130
|
+
className: optionsClasses,
|
|
131
|
+
transition: true,
|
|
132
|
+
children: options.map((option)=>option && /*#__PURE__*/ _jsx(SelectOption, {
|
|
133
|
+
option: option
|
|
134
|
+
}, option?.id || option?.label))
|
|
135
|
+
})
|
|
136
|
+
]
|
|
137
|
+
})
|
|
138
|
+
]
|
|
139
|
+
})
|
|
140
|
+
});
|
|
141
|
+
};
|
|
142
|
+
export const SelectField = /*#__PURE__*/ memo(SelectFieldComponent);
|
|
143
|
+
SelectField.displayName = 'SelectField';
|
|
144
|
+
|
|
145
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L2dvdGhhbWpzL3NyYy9jb21wb25lbnRzL1NlbGVjdEZpZWxkL1NlbGVjdEZpZWxkLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCc7XG5cbmltcG9ydCB7TGFiZWwsIExpc3Rib3gsIExpc3Rib3hCdXR0b24sIExpc3Rib3hPcHRpb25zfSBmcm9tICdAaGVhZGxlc3N1aS9yZWFjdCc7XG5pbXBvcnQge2NufSBmcm9tICdAbmxhYnMvdXRpbHMnO1xuaW1wb3J0IHtDaGV2cm9uRG93bn0gZnJvbSAnbHVjaWRlLXJlYWN0JztcbmltcG9ydCB7bWVtbywgdXNlTWVtbywgdXNlU3RhdGV9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHt1c2VJc01vYmlsZX0gZnJvbSAnLi4vLi4vaG9va3MvdXNlSXNNb2JpbGUuanMnO1xuaW1wb3J0IHtnZXRCYWNrZ3JvdW5kQ2xhc3NlcywgZ2V0T3V0bGluZUNsYXNzZXMsIGdldFRleHRDbGFzc2VzfSBmcm9tICcuLi8uLi91dGlscy9jb2xvclV0aWxzLmpzJztcbmltcG9ydCB7dXNlR290aGFtRm9ybUZpZWxkfSBmcm9tICcuLi9Gb3JtL0Zvcm1Db250ZXh0LmpzJztcbmltcG9ydCB7SW5wdXRCb3JkZXJUeXBlLCBnZXRJbnB1dEJvcmRlckNsYXNzfSBmcm9tICcuLi9JbnB1dEZpZWxkL0lucHV0RmllbGQuanMnO1xuaW1wb3J0IHtTdmd9IGZyb20gJy4uL1N2Zy9TdmcuanMnO1xuaW1wb3J0IHtTZWxlY3RGaWVsZE9wdGlvbiwgU2VsZWN0T3B0aW9ufSBmcm9tICcuL1NlbGVjdE9wdGlvbi5qcyc7XG5cbmltcG9ydCB0eXBlIHtGQ30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHR5cGUge0dvdGhhbUNvbG9yfSBmcm9tICcuLi8uLi91dGlscy9jb2xvclV0aWxzLmpzJztcblxuZXhwb3J0IHR5cGUgU2VsZWN0RmllbGRQcm9wcyA9IHtcbiAgcmVhZG9ubHkgYmFja2dyb3VuZENvbG9yPzogR290aGFtQ29sb3I7XG4gIHJlYWRvbmx5IGJvcmRlckNvbG9yPzogR290aGFtQ29sb3I7XG4gIHJlYWRvbmx5IGJvcmRlclR5cGU/OiBJbnB1dEJvcmRlclR5cGU7XG4gIHJlYWRvbmx5IGNsYXNzTmFtZT86IHN0cmluZztcbiAgcmVhZG9ubHkgY29sb3I/OiBHb3RoYW1Db2xvcjtcbiAgcmVhZG9ubHkgZGVmYXVsdFZhbHVlPzogc3RyaW5nO1xuICByZWFkb25seSBsYWJlbD86IHN0cmluZztcbiAgcmVhZG9ubHkgbGFiZWxDb2xvcj86IEdvdGhhbUNvbG9yO1xuICByZWFkb25seSBsYWJlbENsYXNzPzogc3RyaW5nO1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG9wdGlvbnM6IFNlbGVjdEZpZWxkT3B0aW9uW107XG4gIHJlYWRvbmx5IHNob3dDaGV2cm9uPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IFNlbGVjdEZpZWxkQ29tcG9uZW50OiBGQzxTZWxlY3RGaWVsZFByb3BzPiA9ICh7XG4gIGJhY2tncm91bmRDb2xvciA9ICd0cmFuc3BhcmVudCcsXG4gIGJvcmRlckNvbG9yID0gJ2JsYWNrJyxcbiAgYm9yZGVyVHlwZSA9ICdzb2xpZCcsXG4gIGNsYXNzTmFtZSA9ICdjdXJzb3ItZGVmYXVsdCBncmlkIG91dGxpbmUtMSB3LWZ1bGwgZ3JpZC1jb2xzLTEgcm91bmRlZC1tZCBweC0zLjUgcHktMiB0ZXh0LWxlZnQgc206dGV4dC1zbS82JyxcbiAgY29sb3IgPSAncHJpbWFyeScsXG4gIGRlZmF1bHRWYWx1ZSxcbiAgbGFiZWwsXG4gIGxhYmVsQ2xhc3MsXG4gIGxhYmVsQ29sb3IgPSAnbmV1dHJhbCcsXG4gIG5hbWUsXG4gIG9wdGlvbnMsXG4gIHNob3dDaGV2cm9uID0gdHJ1ZVxufSkgPT4ge1xuICBjb25zdCBpc01vYmlsZSA9IHVzZUlzTW9iaWxlKCk7XG4gIGNvbnN0IGZvcm0gPSB1c2VHb3RoYW1Gb3JtRmllbGQobmFtZSk7XG4gIGNvbnN0IFtsb2NhbFZhbHVlLCBzZXRMb2NhbFZhbHVlXSA9IHVzZVN0YXRlKGRlZmF1bHRWYWx1ZSA/PyAnJyk7XG4gIGNvbnN0IGZpZWxkVmFsdWUgPSBmb3JtPy52YWx1ZSA/PyBsb2NhbFZhbHVlO1xuICBjb25zdCBub3JtYWxpemVkRmllbGRWYWx1ZSA9IGZpZWxkVmFsdWUgPT09IHVuZGVmaW5lZCB8fCBmaWVsZFZhbHVlID09PSBudWxsID8gJycgOiBTdHJpbmcoZmllbGRWYWx1ZSk7XG4gIGNvbnN0IHNlbGVjdENsYXNzZXMgPSB1c2VNZW1vKCgpID0+IGNuKFxuICAgICdmbGV4IHJlbGF0aXZlIHctZnVsbCcsXG4gICAgZ2V0SW5wdXRCb3JkZXJDbGFzcyhib3JkZXJUeXBlLCBib3JkZXJDb2xvciwgY29sb3IsICd0cmFuc3BhcmVudCcpLCBjbGFzc05hbWUpLCBbYm9yZGVyVHlwZSwgYm9yZGVyQ29sb3IsIGNvbG9yLCBjbGFzc05hbWVdXG4gICk7XG4gIGNvbnN0IG5hdGl2ZVNlbGVjdENsYXNzZXMgPSB1c2VNZW1vKCgpID0+IGNuKFxuICAgIHNlbGVjdENsYXNzZXMsXG4gICAgJ2FwcGVhcmFuY2Utbm9uZScsXG4gICAgeydwci0xMCc6IHNob3dDaGV2cm9ufVxuICApLCBbc2VsZWN0Q2xhc3Nlcywgc2hvd0NoZXZyb25dKTtcbiAgY29uc3QgbGFiZWxDbGFzc2VzID0gdXNlTWVtbygoKSA9PiBjbihcbiAgICBsYWJlbENsYXNzLFxuICAgICdibG9jayB0ZXh0LXNtLzYgZm9udC1tZWRpdW0nLFxuICAgIGdldFRleHRDbGFzc2VzKGxhYmVsQ29sb3IpXG4gICksIFtsYWJlbENsYXNzLCBsYWJlbENvbG9yXSk7XG4gIGNvbnN0IG9wdGlvbnNDbGFzc2VzID0gdXNlTWVtbygoKSA9PiBjbihcbiAgICAnYWJzb2x1dGUgei0xMCBtYXgtaC01NiB3LWZ1bGwgb3ZlcmZsb3ctYXV0byByb3VuZGVkLW1kIHB5LTEgdGV4dC1iYXNlIGZvY3VzOm91dGxpbmUtaGlkZGVuIGRhdGEtbGVhdmU6dHJhbnNpdGlvbiBkYXRhLWxlYXZlOmR1cmF0aW9uLTEwMCBkYXRhLWxlYXZlOmVhc2UtaW4gZGF0YS1jbG9zZWQ6ZGF0YS1sZWF2ZTpvcGFjaXR5LTAgc206dGV4dC1zbScsXG4gICAgZ2V0QmFja2dyb3VuZENsYXNzZXMoJ3doaXRlJyksXG4gICAgZ2V0T3V0bGluZUNsYXNzZXMoY29sb3IsIHtoYXNGb2N1czogdHJ1ZSwgaGFzSG92ZXI6IHRydWV9KVxuICApLCBbYmFja2dyb3VuZENvbG9yLCBjb2xvcl0pO1xuICBjb25zdCBjaGV2cm9uQ2xhc3NlcyA9IHVzZU1lbW8oKCkgPT4gY24oXG4gICAgJ2NvbC1zdGFydC0xIHJvdy1zdGFydC0xIG1yLTMgc2l6ZS01IHNlbGYtY2VudGVyIGp1c3RpZnktc2VsZi1lbmQgc206c2l6ZS00JyxcbiAgICBnZXRUZXh0Q2xhc3Nlcyhjb2xvcilcbiAgKSwgW2NvbG9yXSk7XG4gIGNvbnN0IHNlbGVjdGVkID0gdXNlTWVtbyhcbiAgICAoKSA9PiBvcHRpb25zLmZpbmQoKG9wdGlvbikgPT4gU3RyaW5nKG9wdGlvbj8udmFsdWUpID09PSBub3JtYWxpemVkRmllbGRWYWx1ZSksXG4gICAgW25vcm1hbGl6ZWRGaWVsZFZhbHVlLCBvcHRpb25zXVxuICApO1xuXG4gIGNvbnN0IG9uQ2hhbmdlID0gKHZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICBpZighZm9ybSkge1xuICAgICAgc2V0TG9jYWxWYWx1ZShTdHJpbmcodmFsdWUpKTtcbiAgICB9XG4gICAgZm9ybT8uc2V0VmFsdWUobmFtZSwgU3RyaW5nKHZhbHVlKSk7XG4gICAgZm9ybT8uY2xlYXJFcnJvcihuYW1lKTtcbiAgfTtcblxuICByZXR1cm4gaXNNb2JpbGUgPyAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJyZWxhdGl2ZSB3LWZ1bGxcIj5cbiAgICAgIDxzZWxlY3RcbiAgICAgICAgY2xhc3NOYW1lPXtuYXRpdmVTZWxlY3RDbGFzc2VzfVxuICAgICAgICBuYW1lPXtuYW1lfVxuICAgICAgICBvbkNoYW5nZT17KGV2ZW50KSA9PiBvbkNoYW5nZShldmVudC50YXJnZXQudmFsdWUpfVxuICAgICAgICB2YWx1ZT17bm9ybWFsaXplZEZpZWxkVmFsdWV9PlxuICAgICAgICB7b3B0aW9ucy5tYXAoKG9wdGlvbikgPT4gKFxuICAgICAgICAgIDxvcHRpb24ga2V5PXtvcHRpb24uaWR9IHZhbHVlPXtTdHJpbmcob3B0aW9uLnZhbHVlKX0+e29wdGlvbi5sYWJlbH08L29wdGlvbj5cbiAgICAgICAgKSl9XG4gICAgICA8L3NlbGVjdD5cbiAgICAgIHtzaG93Q2hldnJvbiA/IChcbiAgICAgICAgPENoZXZyb25Eb3duXG4gICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICBjbGFzc05hbWU9e2NuKCdwb2ludGVyLWV2ZW50cy1ub25lIGFic29sdXRlIHJpZ2h0LTMgdG9wLTEvMiBzaXplLTUgLXRyYW5zbGF0ZS15LTEvMicsIGdldFRleHRDbGFzc2VzKGNvbG9yKSl9XG4gICAgICAgIC8+XG4gICAgICApIDogbnVsbH1cbiAgICA8L2Rpdj5cbiAgKSA6IChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZmxleC1jb2wgdy1mdWxsXCI+XG4gICAgICA8TGlzdGJveCBvbkNoYW5nZT17b25DaGFuZ2V9IHZhbHVlPXtub3JtYWxpemVkRmllbGRWYWx1ZX0+XG4gICAgICAgIDxMYWJlbCBjbGFzc05hbWU9e2xhYmVsQ2xhc3Nlc30+XG4gICAgICAgICAge2xhYmVsfVxuICAgICAgICA8L0xhYmVsPlxuICAgICAgICA8c2VsZWN0IGhpZGRlbiBuYW1lPXtuYW1lfSBvbkNoYW5nZT17KGV2ZW50KSA9PiBvbkNoYW5nZShldmVudC50YXJnZXQudmFsdWUpfSB2YWx1ZT17bm9ybWFsaXplZEZpZWxkVmFsdWV9PlxuICAgICAgICAgIHtvcHRpb25zLm1hcCgob3B0aW9uKSA9PiAoXG4gICAgICAgICAgICA8b3B0aW9uIGtleT17b3B0aW9uLmlkfSB2YWx1ZT17U3RyaW5nKG9wdGlvbi52YWx1ZSl9PntvcHRpb24ubGFiZWx9PC9vcHRpb24+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvc2VsZWN0PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y24oJ2ZsZXggZmxleC1jb2wgcmVsYXRpdmUgdy1mdWxsJywgeydtdC0yJzogbGFiZWx9KX0+XG4gICAgICAgICAgPExpc3Rib3hCdXR0b24gY2xhc3NOYW1lPXtzZWxlY3RDbGFzc2VzfT5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImNvbC1zdGFydC0xIHJvdy1zdGFydC0xIGZsZXggaXRlbXMtY2VudGVyIGdhcC0zIHByLTZcIj5cbiAgICAgICAgICAgICAge3NlbGVjdGVkPy5pbWFnZSAmJiA8aW1nIGFsdD1cIlwiIGNsYXNzTmFtZT1cInNpemUtNSBzaHJpbmstMCByb3VuZGVkLWZ1bGxcIiBzcmM9e3NlbGVjdGVkLmltYWdlfSAvPn1cbiAgICAgICAgICAgICAge3NlbGVjdGVkPy5pY29uICYmIDxTdmcgY2xhc3NOYW1lPVwic2l6ZS01IHNocmluay0wIHJvdW5kZWQtZnVsbFwiIG5hbWU9e3NlbGVjdGVkLmljb259IC8+fVxuICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJibG9jayB0cnVuY2F0ZVwiPntzZWxlY3RlZD8ubGFiZWx9Jm5ic3A7PC9zcGFuPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAge3Nob3dDaGV2cm9uID8gKFxuICAgICAgICAgICAgICA8Q2hldnJvbkRvd25cbiAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2hldnJvbkNsYXNzZXN9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8L0xpc3Rib3hCdXR0b24+XG5cbiAgICAgICAgICA8TGlzdGJveE9wdGlvbnNcbiAgICAgICAgICAgIGNsYXNzTmFtZT17b3B0aW9uc0NsYXNzZXN9XG4gICAgICAgICAgICB0cmFuc2l0aW9uXG4gICAgICAgICAgPlxuICAgICAgICAgICAge29wdGlvbnMubWFwKChvcHRpb24pID0+IG9wdGlvbiAmJiAoXG4gICAgICAgICAgICAgIDxTZWxlY3RPcHRpb24ga2V5PXtvcHRpb24/LmlkIHx8IG9wdGlvbj8ubGFiZWx9IG9wdGlvbj17b3B0aW9ufSAvPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgICAgPC9MaXN0Ym94T3B0aW9ucz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L0xpc3Rib3g+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgU2VsZWN0RmllbGQgPSBtZW1vKFNlbGVjdEZpZWxkQ29tcG9uZW50KTtcblNlbGVjdEZpZWxkLmRpc3BsYXlOYW1lID0gJ1NlbGVjdEZpZWxkJztcbiJdLCJuYW1lcyI6WyJMYWJlbCIsIkxpc3Rib3giLCJMaXN0Ym94QnV0dG9uIiwiTGlzdGJveE9wdGlvbnMiLCJjbiIsIkNoZXZyb25Eb3duIiwibWVtbyIsInVzZU1lbW8iLCJ1c2VTdGF0ZSIsInVzZUlzTW9iaWxlIiwiZ2V0QmFja2dyb3VuZENsYXNzZXMiLCJnZXRPdXRsaW5lQ2xhc3NlcyIsImdldFRleHRDbGFzc2VzIiwidXNlR290aGFtRm9ybUZpZWxkIiwiZ2V0SW5wdXRCb3JkZXJDbGFzcyIsIlN2ZyIsIlNlbGVjdE9wdGlvbiIsIlNlbGVjdEZpZWxkQ29tcG9uZW50IiwiYmFja2dyb3VuZENvbG9yIiwiYm9yZGVyQ29sb3IiLCJib3JkZXJUeXBlIiwiY2xhc3NOYW1lIiwiY29sb3IiLCJkZWZhdWx0VmFsdWUiLCJsYWJlbCIsImxhYmVsQ2xhc3MiLCJsYWJlbENvbG9yIiwibmFtZSIsIm9wdGlvbnMiLCJzaG93Q2hldnJvbiIsImlzTW9iaWxlIiwiZm9ybSIsImxvY2FsVmFsdWUiLCJzZXRMb2NhbFZhbHVlIiwiZmllbGRWYWx1ZSIsInZhbHVlIiwibm9ybWFsaXplZEZpZWxkVmFsdWUiLCJ1bmRlZmluZWQiLCJTdHJpbmciLCJzZWxlY3RDbGFzc2VzIiwibmF0aXZlU2VsZWN0Q2xhc3NlcyIsImxhYmVsQ2xhc3NlcyIsIm9wdGlvbnNDbGFzc2VzIiwiaGFzRm9jdXMiLCJoYXNIb3ZlciIsImNoZXZyb25DbGFzc2VzIiwic2VsZWN0ZWQiLCJmaW5kIiwib3B0aW9uIiwib25DaGFuZ2UiLCJzZXRWYWx1ZSIsImNsZWFyRXJyb3IiLCJkaXYiLCJzZWxlY3QiLCJldmVudCIsInRhcmdldCIsIm1hcCIsImlkIiwiYXJpYS1oaWRkZW4iLCJoaWRkZW4iLCJzcGFuIiwiaW1hZ2UiLCJpbWciLCJhbHQiLCJzcmMiLCJpY29uIiwidHJhbnNpdGlvbiIsIlNlbGVjdEZpZWxkIiwiZGlzcGxheU5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOztBQUVBLFNBQVFBLEtBQUssRUFBRUMsT0FBTyxFQUFFQyxhQUFhLEVBQUVDLGNBQWMsUUFBTyxvQkFBb0I7QUFDaEYsU0FBUUMsRUFBRSxRQUFPLGVBQWU7QUFDaEMsU0FBUUMsV0FBVyxRQUFPLGVBQWU7QUFDekMsU0FBUUMsSUFBSSxFQUFFQyxPQUFPLEVBQUVDLFFBQVEsUUFBTyxRQUFRO0FBRTlDLFNBQVFDLFdBQVcsUUFBTyw2QkFBNkI7QUFDdkQsU0FBUUMsb0JBQW9CLEVBQUVDLGlCQUFpQixFQUFFQyxjQUFjLFFBQU8sNEJBQTRCO0FBQ2xHLFNBQVFDLGtCQUFrQixRQUFPLHlCQUF5QjtBQUMxRCxTQUF5QkMsbUJBQW1CLFFBQU8sOEJBQThCO0FBQ2pGLFNBQVFDLEdBQUcsUUFBTyxnQkFBZ0I7QUFDbEMsU0FBMkJDLFlBQVksUUFBTyxvQkFBb0I7QUFvQmxFLE1BQU1DLHVCQUE2QyxDQUFDLEVBQ2xEQyxrQkFBa0IsYUFBYSxFQUMvQkMsY0FBYyxPQUFPLEVBQ3JCQyxhQUFhLE9BQU8sRUFDcEJDLFlBQVksZ0dBQWdHLEVBQzVHQyxRQUFRLFNBQVMsRUFDakJDLFlBQVksRUFDWkMsS0FBSyxFQUNMQyxVQUFVLEVBQ1ZDLGFBQWEsU0FBUyxFQUN0QkMsSUFBSSxFQUNKQyxPQUFPLEVBQ1BDLGNBQWMsSUFBSSxFQUNuQjtJQUNDLE1BQU1DLFdBQVdyQjtJQUNqQixNQUFNc0IsT0FBT2xCLG1CQUFtQmM7SUFDaEMsTUFBTSxDQUFDSyxZQUFZQyxjQUFjLEdBQUd6QixTQUFTZSxnQkFBZ0I7SUFDN0QsTUFBTVcsYUFBYUgsTUFBTUksU0FBU0g7SUFDbEMsTUFBTUksdUJBQXVCRixlQUFlRyxhQUFhSCxlQUFlLE9BQU8sS0FBS0ksT0FBT0o7SUFDM0YsTUFBTUssZ0JBQWdCaEMsUUFBUSxJQUFNSCxHQUNsQyx3QkFDQVUsb0JBQW9CTSxZQUFZRCxhQUFhRyxPQUFPLGdCQUFnQkQsWUFBWTtRQUFDRDtRQUFZRDtRQUFhRztRQUFPRDtLQUFVO0lBRTdILE1BQU1tQixzQkFBc0JqQyxRQUFRLElBQU1ILEdBQ3hDbUMsZUFDQSxtQkFDQTtZQUFDLFNBQVNWO1FBQVcsSUFDcEI7UUFBQ1U7UUFBZVY7S0FBWTtJQUMvQixNQUFNWSxlQUFlbEMsUUFBUSxJQUFNSCxHQUNqQ3FCLFlBQ0EsK0JBQ0FiLGVBQWVjLGNBQ2Q7UUFBQ0Q7UUFBWUM7S0FBVztJQUMzQixNQUFNZ0IsaUJBQWlCbkMsUUFBUSxJQUFNSCxHQUNuQywyTUFDQU0scUJBQXFCLFVBQ3JCQyxrQkFBa0JXLE9BQU87WUFBQ3FCLFVBQVU7WUFBTUMsVUFBVTtRQUFJLEtBQ3ZEO1FBQUMxQjtRQUFpQkk7S0FBTTtJQUMzQixNQUFNdUIsaUJBQWlCdEMsUUFBUSxJQUFNSCxHQUNuQyw4RUFDQVEsZUFBZVUsU0FDZDtRQUFDQTtLQUFNO0lBQ1YsTUFBTXdCLFdBQVd2QyxRQUNmLElBQU1xQixRQUFRbUIsSUFBSSxDQUFDLENBQUNDLFNBQVdWLE9BQU9VLFFBQVFiLFdBQVdDLHVCQUN6RDtRQUFDQTtRQUFzQlI7S0FBUTtJQUdqQyxNQUFNcUIsV0FBVyxDQUFDZDtRQUNoQixJQUFHLENBQUNKLE1BQU07WUFDUkUsY0FBY0ssT0FBT0g7UUFDdkI7UUFDQUosTUFBTW1CLFNBQVN2QixNQUFNVyxPQUFPSDtRQUM1QkosTUFBTW9CLFdBQVd4QjtJQUNuQjtJQUVBLE9BQU9HLHlCQUNMLE1BQUNzQjtRQUFJL0IsV0FBVTs7MEJBQ2IsS0FBQ2dDO2dCQUNDaEMsV0FBV21CO2dCQUNYYixNQUFNQTtnQkFDTnNCLFVBQVUsQ0FBQ0ssUUFBVUwsU0FBU0ssTUFBTUMsTUFBTSxDQUFDcEIsS0FBSztnQkFDaERBLE9BQU9DOzBCQUNOUixRQUFRNEIsR0FBRyxDQUFDLENBQUNSLHVCQUNaLEtBQUNBO3dCQUF1QmIsT0FBT0csT0FBT1UsT0FBT2IsS0FBSztrQ0FBSWEsT0FBT3hCLEtBQUs7dUJBQXJEd0IsT0FBT1MsRUFBRTs7WUFHekI1Qiw0QkFDQyxLQUFDeEI7Z0JBQ0NxRCxlQUFZO2dCQUNackMsV0FBV2pCLEdBQUcsd0VBQXdFUSxlQUFlVTtpQkFFckc7O3VCQUdOLEtBQUM4QjtRQUFJL0IsV0FBVTtrQkFDYixjQUFBLE1BQUNwQjtZQUFRZ0QsVUFBVUE7WUFBVWQsT0FBT0M7OzhCQUNsQyxLQUFDcEM7b0JBQU1xQixXQUFXb0I7OEJBQ2ZqQjs7OEJBRUgsS0FBQzZCO29CQUFPTSxNQUFNO29CQUFDaEMsTUFBTUE7b0JBQU1zQixVQUFVLENBQUNLLFFBQVVMLFNBQVNLLE1BQU1DLE1BQU0sQ0FBQ3BCLEtBQUs7b0JBQUdBLE9BQU9DOzhCQUNsRlIsUUFBUTRCLEdBQUcsQ0FBQyxDQUFDUix1QkFDWixLQUFDQTs0QkFBdUJiLE9BQU9HLE9BQU9VLE9BQU9iLEtBQUs7c0NBQUlhLE9BQU94QixLQUFLOzJCQUFyRHdCLE9BQU9TLEVBQUU7OzhCQUcxQixNQUFDTDtvQkFBSS9CLFdBQVdqQixHQUFHLGlDQUFpQzt3QkFBQyxRQUFRb0I7b0JBQUs7O3NDQUNoRSxNQUFDdEI7NEJBQWNtQixXQUFXa0I7OzhDQUN4QixNQUFDcUI7b0NBQUt2QyxXQUFVOzt3Q0FDYnlCLFVBQVVlLHVCQUFTLEtBQUNDOzRDQUFJQyxLQUFJOzRDQUFHMUMsV0FBVTs0Q0FBK0IyQyxLQUFLbEIsU0FBU2UsS0FBSzs7d0NBQzNGZixVQUFVbUIsc0JBQVEsS0FBQ2xEOzRDQUFJTSxXQUFVOzRDQUErQk0sTUFBTW1CLFNBQVNtQixJQUFJOztzREFDcEYsTUFBQ0w7NENBQUt2QyxXQUFVOztnREFBa0J5QixVQUFVdEI7Z0RBQU07Ozs7O2dDQUVuREssNEJBQ0MsS0FBQ3hCO29DQUNDcUQsZUFBWTtvQ0FDWnJDLFdBQVd3QjtxQ0FFWDs7O3NDQUdOLEtBQUMxQzs0QkFDQ2tCLFdBQVdxQjs0QkFDWHdCLFVBQVU7c0NBRVR0QyxRQUFRNEIsR0FBRyxDQUFDLENBQUNSLFNBQVdBLHdCQUN2QixLQUFDaEM7b0NBQStDZ0MsUUFBUUE7bUNBQXJDQSxRQUFRUyxNQUFNVCxRQUFReEI7Ozs7Ozs7QUFPdkQ7QUFFQSxPQUFPLE1BQU0yQyw0QkFBYzdELEtBQUtXLHNCQUFzQjtBQUN0RGtELFlBQVlDLFdBQVcsR0FBRyJ9
|