@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,72 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from '@nlabs/utils';
|
|
3
|
+
import { useEffect } from 'react';
|
|
4
|
+
export const Avatar = ({ type = 'default', size = 'default', lazyLoadingImage = undefined, ...props })=>{
|
|
5
|
+
const loadedAvatars = [];
|
|
6
|
+
let loading = false;
|
|
7
|
+
let { src } = props;
|
|
8
|
+
let isLazyImage = false;
|
|
9
|
+
useEffect(()=>{
|
|
10
|
+
if (lazyLoadingImage) {
|
|
11
|
+
isLazyImage = true;
|
|
12
|
+
if (!isLoaded(src)) {
|
|
13
|
+
src = lazyLoadingImage;
|
|
14
|
+
if (!loading) {
|
|
15
|
+
requestImage(props.src);
|
|
16
|
+
}
|
|
17
|
+
} else {
|
|
18
|
+
isLazyImage = false;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}, []);
|
|
22
|
+
const isLoaded = (src)=>loadedAvatars.indexOf(src) !== -1;
|
|
23
|
+
const requestImage = (src)=>{
|
|
24
|
+
loading = true;
|
|
25
|
+
const loaded = ()=>{
|
|
26
|
+
loadedAvatars.push(src);
|
|
27
|
+
loading = false;
|
|
28
|
+
};
|
|
29
|
+
const img = document.createElement('img');
|
|
30
|
+
img.src = src;
|
|
31
|
+
img.onload = loaded;
|
|
32
|
+
img.onerror = loaded;
|
|
33
|
+
};
|
|
34
|
+
const stringToColour = (str)=>{
|
|
35
|
+
let hash = 0;
|
|
36
|
+
for(let i = 0; i < str.length; i++){
|
|
37
|
+
hash = str.charCodeAt(i) + ((hash << 5) - hash);
|
|
38
|
+
}
|
|
39
|
+
let colour = '#';
|
|
40
|
+
for(let i = 0; i < 3; i++){
|
|
41
|
+
let value = hash >> i * 8 & 0xff;
|
|
42
|
+
value = value % 150 + 50;
|
|
43
|
+
colour += `00${value.toString(16)}`.substr(-2);
|
|
44
|
+
}
|
|
45
|
+
return colour;
|
|
46
|
+
};
|
|
47
|
+
return /*#__PURE__*/ _jsxs("div", {
|
|
48
|
+
className: cn('rce-avatar-container', type, size, props.className),
|
|
49
|
+
children: [
|
|
50
|
+
props.letterItem ? /*#__PURE__*/ _jsx("div", {
|
|
51
|
+
className: "rce-avatar-letter-background",
|
|
52
|
+
style: {
|
|
53
|
+
backgroundColor: stringToColour(props.letterItem.id)
|
|
54
|
+
},
|
|
55
|
+
children: /*#__PURE__*/ _jsx("span", {
|
|
56
|
+
className: "rce-avatar-letter",
|
|
57
|
+
children: props.letterItem.letter
|
|
58
|
+
})
|
|
59
|
+
}) : /*#__PURE__*/ _jsx("img", {
|
|
60
|
+
alt: props.alt,
|
|
61
|
+
src: src,
|
|
62
|
+
onError: props.onError,
|
|
63
|
+
className: cn('rce-avatar', {
|
|
64
|
+
'rce-avatar-lazy': isLazyImage
|
|
65
|
+
})
|
|
66
|
+
}),
|
|
67
|
+
props.sideElement
|
|
68
|
+
]
|
|
69
|
+
});
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L2dvdGhhbWpzL3NyYy9jb21wb25lbnRzL0NoYXQvQXZhdGFyL0F2YXRhci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjbn0gZnJvbSAnQG5sYWJzL3V0aWxzJztcbmltcG9ydCB7dXNlRWZmZWN0fSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7SUF2YXRhclByb3BzfSBmcm9tICcuLi90eXBlJztcblxuaW1wb3J0IHR5cGUge0ZDfSBmcm9tICdyZWFjdCc7XG5cbmV4cG9ydCBjb25zdCBBdmF0YXI6IEZDPElBdmF0YXJQcm9wcz4gPSAoe3R5cGUgPSAnZGVmYXVsdCcsIHNpemUgPSAnZGVmYXVsdCcsIGxhenlMb2FkaW5nSW1hZ2UgPSB1bmRlZmluZWQsIC4uLnByb3BzfSkgPT4ge1xuICBjb25zdCBsb2FkZWRBdmF0YXJzOiBzdHJpbmdbXSA9IFtdO1xuICBsZXQgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuICBsZXQge3NyY30gPSBwcm9wcztcbiAgbGV0IGlzTGF6eUltYWdlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZihsYXp5TG9hZGluZ0ltYWdlKSB7XG4gICAgICBpc0xhenlJbWFnZSA9IHRydWU7XG5cbiAgICAgIGlmKCFpc0xvYWRlZChzcmMpKSB7XG4gICAgICAgIHNyYyA9IGxhenlMb2FkaW5nSW1hZ2U7XG5cbiAgICAgICAgaWYoIWxvYWRpbmcpIHtcbiAgICAgICAgICByZXF1ZXN0SW1hZ2UocHJvcHMuc3JjKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaXNMYXp5SW1hZ2UgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtdKTtcblxuICBjb25zdCBpc0xvYWRlZCA9IChzcmM6IHN0cmluZykgPT4gbG9hZGVkQXZhdGFycy5pbmRleE9mKHNyYykgIT09IC0xO1xuXG4gIGNvbnN0IHJlcXVlc3RJbWFnZSA9IChzcmM6IHN0cmluZykgPT4ge1xuICAgIGxvYWRpbmcgPSB0cnVlO1xuXG4gICAgY29uc3QgbG9hZGVkID0gKCkgPT4ge1xuICAgICAgbG9hZGVkQXZhdGFycy5wdXNoKHNyYyk7XG4gICAgICBsb2FkaW5nID0gZmFsc2U7XG4gICAgfTtcblxuICAgIGNvbnN0IGltZzogSFRNTEltYWdlRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2ltZycpO1xuICAgIGltZy5zcmMgPSBzcmM7XG4gICAgaW1nLm9ubG9hZCA9IGxvYWRlZDtcbiAgICBpbWcub25lcnJvciA9IGxvYWRlZDtcbiAgfTtcblxuICBjb25zdCBzdHJpbmdUb0NvbG91ciA9IChzdHI6IHN0cmluZykgPT4ge1xuICAgIGxldCBoYXNoOiBudW1iZXIgPSAwO1xuICAgIGZvcihsZXQgaTogbnVtYmVyID0gMDsgaSA8IHN0ci5sZW5ndGg7IGkrKykge1xuICAgICAgaGFzaCA9IHN0ci5jaGFyQ29kZUF0KGkpICsgKChoYXNoIDw8IDUpIC0gaGFzaCk7XG4gICAgfVxuICAgIGxldCBjb2xvdXI6IHN0cmluZyA9ICcjJztcbiAgICBmb3IobGV0IGk6IG51bWJlciA9IDA7IGkgPCAzOyBpKyspIHtcbiAgICAgIGxldCB2YWx1ZTogbnVtYmVyID0gKGhhc2ggPj4gKGkgKiA4KSkgJiAweGZmO1xuICAgICAgdmFsdWUgPSAodmFsdWUgJSAxNTApICsgNTA7XG4gICAgICBjb2xvdXIgKz0gKGAwMCR7dmFsdWUudG9TdHJpbmcoMTYpfWApLnN1YnN0cigtMik7XG4gICAgfVxuICAgIHJldHVybiBjb2xvdXI7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17Y24oJ3JjZS1hdmF0YXItY29udGFpbmVyJywgdHlwZSwgc2l6ZSwgcHJvcHMuY2xhc3NOYW1lKX0+XG4gICAgICB7cHJvcHMubGV0dGVySXRlbSA/IChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9J3JjZS1hdmF0YXItbGV0dGVyLWJhY2tncm91bmQnIHN0eWxlPXt7YmFja2dyb3VuZENvbG9yOiBzdHJpbmdUb0NvbG91cihwcm9wcy5sZXR0ZXJJdGVtLmlkKX19PlxuICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT0ncmNlLWF2YXRhci1sZXR0ZXInPntwcm9wcy5sZXR0ZXJJdGVtLmxldHRlcn08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKSA6IChcbiAgICAgICAgPGltZ1xuICAgICAgICAgIGFsdD17cHJvcHMuYWx0fVxuICAgICAgICAgIHNyYz17c3JjfVxuICAgICAgICAgIG9uRXJyb3I9e3Byb3BzLm9uRXJyb3J9XG4gICAgICAgICAgY2xhc3NOYW1lPXtjbigncmNlLWF2YXRhcicsIHsncmNlLWF2YXRhci1sYXp5JzogaXNMYXp5SW1hZ2V9KX1cbiAgICAgICAgLz5cbiAgICAgICl9XG4gICAgICB7cHJvcHMuc2lkZUVsZW1lbnR9XG4gICAgPC9kaXY+XG4gICk7XG59O1xuIl0sIm5hbWVzIjpbImNuIiwidXNlRWZmZWN0IiwiQXZhdGFyIiwidHlwZSIsInNpemUiLCJsYXp5TG9hZGluZ0ltYWdlIiwidW5kZWZpbmVkIiwicHJvcHMiLCJsb2FkZWRBdmF0YXJzIiwibG9hZGluZyIsInNyYyIsImlzTGF6eUltYWdlIiwiaXNMb2FkZWQiLCJyZXF1ZXN0SW1hZ2UiLCJpbmRleE9mIiwibG9hZGVkIiwicHVzaCIsImltZyIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsIm9ubG9hZCIsIm9uZXJyb3IiLCJzdHJpbmdUb0NvbG91ciIsInN0ciIsImhhc2giLCJpIiwibGVuZ3RoIiwiY2hhckNvZGVBdCIsImNvbG91ciIsInZhbHVlIiwidG9TdHJpbmciLCJzdWJzdHIiLCJkaXYiLCJjbGFzc05hbWUiLCJsZXR0ZXJJdGVtIiwic3R5bGUiLCJiYWNrZ3JvdW5kQ29sb3IiLCJpZCIsInNwYW4iLCJsZXR0ZXIiLCJhbHQiLCJvbkVycm9yIiwic2lkZUVsZW1lbnQiXSwibWFwcGluZ3MiOiI7QUFBQSxTQUFRQSxFQUFFLFFBQU8sZUFBZTtBQUNoQyxTQUFRQyxTQUFTLFFBQU8sUUFBUTtBQU1oQyxPQUFPLE1BQU1DLFNBQTJCLENBQUMsRUFBQ0MsT0FBTyxTQUFTLEVBQUVDLE9BQU8sU0FBUyxFQUFFQyxtQkFBbUJDLFNBQVMsRUFBRSxHQUFHQyxPQUFNO0lBQ25ILE1BQU1DLGdCQUEwQixFQUFFO0lBQ2xDLElBQUlDLFVBQW1CO0lBQ3ZCLElBQUksRUFBQ0MsR0FBRyxFQUFDLEdBQUdIO0lBQ1osSUFBSUksY0FBdUI7SUFFM0JWLFVBQVU7UUFDUixJQUFHSSxrQkFBa0I7WUFDbkJNLGNBQWM7WUFFZCxJQUFHLENBQUNDLFNBQVNGLE1BQU07Z0JBQ2pCQSxNQUFNTDtnQkFFTixJQUFHLENBQUNJLFNBQVM7b0JBQ1hJLGFBQWFOLE1BQU1HLEdBQUc7Z0JBQ3hCO1lBQ0YsT0FBTztnQkFDTEMsY0FBYztZQUNoQjtRQUNGO0lBQ0YsR0FBRyxFQUFFO0lBRUwsTUFBTUMsV0FBVyxDQUFDRixNQUFnQkYsY0FBY00sT0FBTyxDQUFDSixTQUFTLENBQUM7SUFFbEUsTUFBTUcsZUFBZSxDQUFDSDtRQUNwQkQsVUFBVTtRQUVWLE1BQU1NLFNBQVM7WUFDYlAsY0FBY1EsSUFBSSxDQUFDTjtZQUNuQkQsVUFBVTtRQUNaO1FBRUEsTUFBTVEsTUFBd0JDLFNBQVNDLGFBQWEsQ0FBQztRQUNyREYsSUFBSVAsR0FBRyxHQUFHQTtRQUNWTyxJQUFJRyxNQUFNLEdBQUdMO1FBQ2JFLElBQUlJLE9BQU8sR0FBR047SUFDaEI7SUFFQSxNQUFNTyxpQkFBaUIsQ0FBQ0M7UUFDdEIsSUFBSUMsT0FBZTtRQUNuQixJQUFJLElBQUlDLElBQVksR0FBR0EsSUFBSUYsSUFBSUcsTUFBTSxFQUFFRCxJQUFLO1lBQzFDRCxPQUFPRCxJQUFJSSxVQUFVLENBQUNGLEtBQU0sQ0FBQSxBQUFDRCxDQUFBQSxRQUFRLENBQUEsSUFBS0EsSUFBRztRQUMvQztRQUNBLElBQUlJLFNBQWlCO1FBQ3JCLElBQUksSUFBSUgsSUFBWSxHQUFHQSxJQUFJLEdBQUdBLElBQUs7WUFDakMsSUFBSUksUUFBZ0IsQUFBQ0wsUUFBU0MsSUFBSSxJQUFNO1lBQ3hDSSxRQUFRLEFBQUNBLFFBQVEsTUFBTztZQUN4QkQsVUFBVSxBQUFDLENBQUMsRUFBRSxFQUFFQyxNQUFNQyxRQUFRLENBQUMsS0FBSyxDQUFFQyxNQUFNLENBQUMsQ0FBQztRQUNoRDtRQUNBLE9BQU9IO0lBQ1Q7SUFFQSxxQkFDRSxNQUFDSTtRQUFJQyxXQUFXakMsR0FBRyx3QkFBd0JHLE1BQU1DLE1BQU1HLE1BQU0wQixTQUFTOztZQUNuRTFCLE1BQU0yQixVQUFVLGlCQUNmLEtBQUNGO2dCQUFJQyxXQUFVO2dCQUErQkUsT0FBTztvQkFBQ0MsaUJBQWlCZCxlQUFlZixNQUFNMkIsVUFBVSxDQUFDRyxFQUFFO2dCQUFDOzBCQUN4RyxjQUFBLEtBQUNDO29CQUFLTCxXQUFVOzhCQUFxQjFCLE1BQU0yQixVQUFVLENBQUNLLE1BQU07OytCQUc5RCxLQUFDdEI7Z0JBQ0N1QixLQUFLakMsTUFBTWlDLEdBQUc7Z0JBQ2Q5QixLQUFLQTtnQkFDTCtCLFNBQVNsQyxNQUFNa0MsT0FBTztnQkFDdEJSLFdBQVdqQyxHQUFHLGNBQWM7b0JBQUMsbUJBQW1CVztnQkFBVzs7WUFHOURKLE1BQU1tQyxXQUFXOzs7QUFHeEIsRUFBRSJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.rce-button{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:12px;border-radius:5px;cursor:pointer;padding:8px;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;background:#3979aa;color:#fff;-webkit-transition:all .15s ease;transition:all .15s ease;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;outline:none;border:none;position:relative}.rce-button,.rce-button-icon--container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.rce-button:hover{opacity:.8}.rce-button:active{opacity:.6}.rce-button.outline{background:transparent!important;border:1px solid #3979aa;color:#3979aa}.rce-button.outline:hover{opacity:.6}.rce-button.outline:active{opacity:.3}.rce-button.transparent{background:transparent!important}.rce-button.transparent:hover{opacity:.6}.rce-button.transparent:active{opacity:.3}.rce-button-icon{position:relative;font-size:18px;padding:0 3px}.rce-button-badge,.rce-button-icon{display:-webkit-box;display:-ms-flexbox;display:flex}.rce-button-badge{border-radius:4px;padding:4px;background:#f64b34;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:absolute;right:-7px;top:-7px;font-size:10px}.rce-button.circle{min-width:35px;min-height:35px;border:1px solid #3979aa;border-radius:100%}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from '@nlabs/utils';
|
|
3
|
+
export const Button = ({ disabled = false, backgroundColor = '#3979aa', color = 'white', ...props })=>/*#__PURE__*/ _jsx("button", {
|
|
4
|
+
ref: props.buttonRef,
|
|
5
|
+
title: props.title,
|
|
6
|
+
className: cn('rce-button', props.type, props.className),
|
|
7
|
+
style: {
|
|
8
|
+
backgroundColor,
|
|
9
|
+
color,
|
|
10
|
+
borderColor: backgroundColor
|
|
11
|
+
},
|
|
12
|
+
disabled: disabled,
|
|
13
|
+
onClick: props.onClick,
|
|
14
|
+
children: props.icon ? /*#__PURE__*/ _jsxs("span", {
|
|
15
|
+
className: "rce-button-icon--container",
|
|
16
|
+
children: [
|
|
17
|
+
(props.icon.float === 'right' || !props.icon.float) && /*#__PURE__*/ _jsx("span", {
|
|
18
|
+
children: props.text
|
|
19
|
+
}),
|
|
20
|
+
/*#__PURE__*/ _jsx("span", {
|
|
21
|
+
style: {
|
|
22
|
+
float: props.icon.float,
|
|
23
|
+
fontSize: props.icon.size || 12
|
|
24
|
+
},
|
|
25
|
+
className: "rce-button-icon",
|
|
26
|
+
children: props.icon.component
|
|
27
|
+
}),
|
|
28
|
+
props.icon.float === 'left' && /*#__PURE__*/ _jsx("span", {
|
|
29
|
+
children: props.text
|
|
30
|
+
})
|
|
31
|
+
]
|
|
32
|
+
}) : /*#__PURE__*/ _jsx("span", {
|
|
33
|
+
children: props.text
|
|
34
|
+
})
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L2dvdGhhbWpzL3NyYy9jb21wb25lbnRzL0NoYXQvQnV0dG9uL0J1dHRvbi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjbn0gZnJvbSAnQG5sYWJzL3V0aWxzJztcblxuaW1wb3J0IHtJQnV0dG9uUHJvcHN9IGZyb20gJy4uL3R5cGUnO1xuXG5pbXBvcnQgdHlwZSB7RkN9IGZyb20gJ3JlYWN0JztcblxuZXhwb3J0IGNvbnN0IEJ1dHRvbjogRkM8SUJ1dHRvblByb3BzPiA9ICh7ZGlzYWJsZWQgPSBmYWxzZSwgYmFja2dyb3VuZENvbG9yID0gJyMzOTc5YWEnLCBjb2xvciA9ICd3aGl0ZScsIC4uLnByb3BzfSkgPT4gKFxuICA8YnV0dG9uXG4gICAgcmVmPXtwcm9wcy5idXR0b25SZWZ9XG4gICAgdGl0bGU9e3Byb3BzLnRpdGxlfVxuICAgIGNsYXNzTmFtZT17Y24oJ3JjZS1idXR0b24nLCBwcm9wcy50eXBlLCBwcm9wcy5jbGFzc05hbWUpfVxuICAgIHN0eWxlPXt7XG4gICAgICBiYWNrZ3JvdW5kQ29sb3IsXG4gICAgICBjb2xvcixcbiAgICAgIGJvcmRlckNvbG9yOiBiYWNrZ3JvdW5kQ29sb3JcbiAgICB9fVxuICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICBvbkNsaWNrPXtwcm9wcy5vbkNsaWNrfVxuICA+XG4gICAge3Byb3BzLmljb24gPyAoXG4gICAgICA8c3BhbiBjbGFzc05hbWU9J3JjZS1idXR0b24taWNvbi0tY29udGFpbmVyJz5cbiAgICAgICAgeyhwcm9wcy5pY29uLmZsb2F0ID09PSAncmlnaHQnIHx8ICFwcm9wcy5pY29uLmZsb2F0KSAmJiA8c3Bhbj57cHJvcHMudGV4dH08L3NwYW4+fVxuXG4gICAgICAgIDxzcGFuIHN0eWxlPXt7ZmxvYXQ6IHByb3BzLmljb24uZmxvYXQsIGZvbnRTaXplOiBwcm9wcy5pY29uLnNpemUgfHwgMTJ9fSBjbGFzc05hbWU9J3JjZS1idXR0b24taWNvbic+XG4gICAgICAgICAge3Byb3BzLmljb24uY29tcG9uZW50fVxuICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAge3Byb3BzLmljb24uZmxvYXQgPT09ICdsZWZ0JyAmJiA8c3Bhbj57cHJvcHMudGV4dH08L3NwYW4+fVxuICAgICAgPC9zcGFuPlxuICAgICkgOiAoXG4gICAgICA8c3Bhbj57cHJvcHMudGV4dH08L3NwYW4+XG4gICAgKX1cbiAgPC9idXR0b24+XG4pO1xuIl0sIm5hbWVzIjpbImNuIiwiQnV0dG9uIiwiZGlzYWJsZWQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJjb2xvciIsInByb3BzIiwiYnV0dG9uIiwicmVmIiwiYnV0dG9uUmVmIiwidGl0bGUiLCJjbGFzc05hbWUiLCJ0eXBlIiwic3R5bGUiLCJib3JkZXJDb2xvciIsIm9uQ2xpY2siLCJpY29uIiwic3BhbiIsImZsb2F0IiwidGV4dCIsImZvbnRTaXplIiwic2l6ZSIsImNvbXBvbmVudCJdLCJtYXBwaW5ncyI6IjtBQUFBLFNBQVFBLEVBQUUsUUFBTyxlQUFlO0FBTWhDLE9BQU8sTUFBTUMsU0FBMkIsQ0FBQyxFQUFDQyxXQUFXLEtBQUssRUFBRUMsa0JBQWtCLFNBQVMsRUFBRUMsUUFBUSxPQUFPLEVBQUUsR0FBR0MsT0FBTSxpQkFDakgsS0FBQ0M7UUFDQ0MsS0FBS0YsTUFBTUcsU0FBUztRQUNwQkMsT0FBT0osTUFBTUksS0FBSztRQUNsQkMsV0FBV1YsR0FBRyxjQUFjSyxNQUFNTSxJQUFJLEVBQUVOLE1BQU1LLFNBQVM7UUFDdkRFLE9BQU87WUFDTFQ7WUFDQUM7WUFDQVMsYUFBYVY7UUFDZjtRQUNBRCxVQUFVQTtRQUNWWSxTQUFTVCxNQUFNUyxPQUFPO2tCQUVyQlQsTUFBTVUsSUFBSSxpQkFDVCxNQUFDQztZQUFLTixXQUFVOztnQkFDWkwsQ0FBQUEsTUFBTVUsSUFBSSxDQUFDRSxLQUFLLEtBQUssV0FBVyxDQUFDWixNQUFNVSxJQUFJLENBQUNFLEtBQUssQUFBRCxtQkFBTSxLQUFDRDs4QkFBTVgsTUFBTWEsSUFBSTs7OEJBRXpFLEtBQUNGO29CQUFLSixPQUFPO3dCQUFDSyxPQUFPWixNQUFNVSxJQUFJLENBQUNFLEtBQUs7d0JBQUVFLFVBQVVkLE1BQU1VLElBQUksQ0FBQ0ssSUFBSSxJQUFJO29CQUFFO29CQUFHVixXQUFVOzhCQUNoRkwsTUFBTVUsSUFBSSxDQUFDTSxTQUFTOztnQkFHdEJoQixNQUFNVSxJQUFJLENBQUNFLEtBQUssS0FBSyx3QkFBVSxLQUFDRDs4QkFBTVgsTUFBTWEsSUFBSTs7OzJCQUduRCxLQUFDRjtzQkFBTVgsTUFBTWEsSUFBSTs7T0FHckIifQ==
|