@sqrzro/admin 1.0.0-beta.1
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/.eslintrc +4 -0
- package/.gitattributes +1 -0
- package/.prettierrc +9 -0
- package/.storybook/main.js +40 -0
- package/.storybook/manager.js +4 -0
- package/.storybook/postcss.config.js +3 -0
- package/.storybook/preview.js +11 -0
- package/.storybook/theme.js +7 -0
- package/.stylelintrc +9 -0
- package/LICENSE +5 -0
- package/README.md +9 -0
- package/__mocks__/squarezero-utility.ts +40 -0
- package/assets/logo-horizontal-dark.svg +21 -0
- package/assets/logo-horizontal-white.svg +21 -0
- package/assets/logo-vertical-dark.svg +21 -0
- package/assets/logo-vertical-white.svg +21 -0
- package/dist/index.css +3554 -0
- package/dist/index.js +5099 -0
- package/dist/index.js.map +1 -0
- package/dist/types/components/Alert/index.d.ts +10 -0
- package/dist/types/components/Allow/index.d.ts +13 -0
- package/dist/types/components/App/index.d.ts +19 -0
- package/dist/types/components/AutoSuggest/index.d.ts +60 -0
- package/dist/types/components/Button/index.d.ts +36 -0
- package/dist/types/components/CalendarInput/index.d.ts +10 -0
- package/dist/types/components/CheckboxList/index.d.ts +4 -0
- package/dist/types/components/ConnectedDropdown/index.d.ts +8 -0
- package/dist/types/components/ConnectedList/index.d.ts +4 -0
- package/dist/types/components/ConnectedScene/index.d.ts +11 -0
- package/dist/types/components/ConnectedTable/index.d.ts +4 -0
- package/dist/types/components/ContentBlock/index.d.ts +6 -0
- package/dist/types/components/DateInput/index.d.ts +7 -0
- package/dist/types/components/Document/index.d.ts +6 -0
- package/dist/types/components/Dropdown/index.d.ts +14 -0
- package/dist/types/components/Fieldset/index.d.ts +11 -0
- package/dist/types/components/FileInput/index.d.ts +4 -0
- package/dist/types/components/FilterLink/index.d.ts +7 -0
- package/dist/types/components/Form/index.d.ts +11 -0
- package/dist/types/components/FormActions/index.d.ts +9 -0
- package/dist/types/components/FormField/index.d.ts +27 -0
- package/dist/types/components/FormRepeater/index.d.ts +8 -0
- package/dist/types/components/ImageInput/index.d.ts +4 -0
- package/dist/types/components/InfoPanel/index.d.ts +8 -0
- package/dist/types/components/Link/__mocks__/index.d.ts +6 -0
- package/dist/types/components/Link/index.d.ts +13 -0
- package/dist/types/components/List/index.d.ts +23 -0
- package/dist/types/components/ListActions/index.d.ts +9 -0
- package/dist/types/components/LoginForm/index.d.ts +3 -0
- package/dist/types/components/Message/index.d.ts +7 -0
- package/dist/types/components/ModalActions/index.d.ts +11 -0
- package/dist/types/components/MoneyInput/index.d.ts +10 -0
- package/dist/types/components/PasswordForm/index.d.ts +3 -0
- package/dist/types/components/PasswordInput/index.d.ts +8 -0
- package/dist/types/components/RadioList/index.d.ts +4 -0
- package/dist/types/components/Scene/index.d.ts +10 -0
- package/dist/types/components/SummaryList/index.d.ts +8 -0
- package/dist/types/components/Switch/index.d.ts +9 -0
- package/dist/types/components/Table/index.d.ts +13 -0
- package/dist/types/components/Tag/index.d.ts +8 -0
- package/dist/types/components/TextArea/index.d.ts +4 -0
- package/dist/types/components/TextInput/index.d.ts +17 -0
- package/dist/types/components/WebsiteInput/index.d.ts +10 -0
- package/dist/types/components/WeekCalendar/index.d.ts +12 -0
- package/dist/types/core/AppHeader/index.d.ts +3 -0
- package/dist/types/core/AppLogo/index.d.ts +6 -0
- package/dist/types/core/AppLogoImage/index.d.ts +3 -0
- package/dist/types/core/AppLogoPlaceholder/index.d.ts +3 -0
- package/dist/types/core/Assistive/index.d.ts +6 -0
- package/dist/types/core/Banner/index.d.ts +3 -0
- package/dist/types/core/BuildModal/index.d.ts +3 -0
- package/dist/types/core/Calendar/index.d.ts +11 -0
- package/dist/types/core/CalendarDay/index.d.ts +16 -0
- package/dist/types/core/CalendarMonth/index.d.ts +12 -0
- package/dist/types/core/CalendarNavigation/index.d.ts +9 -0
- package/dist/types/core/CalendarWeek/index.d.ts +14 -0
- package/dist/types/core/ChkRad/index.d.ts +10 -0
- package/dist/types/core/ChkRadIcon/index.d.ts +7 -0
- package/dist/types/core/ChkRadList/index.d.ts +15 -0
- package/dist/types/core/CloseButton/index.d.ts +9 -0
- package/dist/types/core/ConfirmModal/index.d.ts +3 -0
- package/dist/types/core/ConnectedRepeater/index.d.ts +26 -0
- package/dist/types/core/ConnectedRepeaterComponent/index.d.ts +24 -0
- package/dist/types/core/Container/index.d.ts +7 -0
- package/dist/types/core/DropdownPanel/index.d.ts +18 -0
- package/dist/types/core/EmptyMessage/index.d.ts +12 -0
- package/dist/types/core/ErrorBoundary/index.d.ts +15 -0
- package/dist/types/core/ErrorMessage/index.d.ts +8 -0
- package/dist/types/core/FilterItem/index.d.ts +10 -0
- package/dist/types/core/Filters/index.d.ts +11 -0
- package/dist/types/core/FixedActions/index.d.ts +12 -0
- package/dist/types/core/FormError/index.d.ts +6 -0
- package/dist/types/core/FormLabel/index.d.ts +8 -0
- package/dist/types/core/FormLegend/index.d.ts +6 -0
- package/dist/types/core/Header/index.d.ts +8 -0
- package/dist/types/core/Icon/index.d.ts +7 -0
- package/dist/types/core/IconButton/Icon/index.d.ts +7 -0
- package/dist/types/core/IconButton/index.d.ts +11 -0
- package/dist/types/core/InputPanel/index.d.ts +8 -0
- package/dist/types/core/ListItem/index.d.ts +16 -0
- package/dist/types/core/ListItemAction/index.d.ts +4 -0
- package/dist/types/core/ListItemActions/index.d.ts +8 -0
- package/dist/types/core/ListItemMetaItem/index.d.ts +10 -0
- package/dist/types/core/ListItemTitle/index.d.ts +9 -0
- package/dist/types/core/Loader/index.d.ts +6 -0
- package/dist/types/core/MeActions/index.d.ts +3 -0
- package/dist/types/core/MePanel/index.d.ts +9 -0
- package/dist/types/core/Modal/index.d.ts +12 -0
- package/dist/types/core/Navigation/index.d.ts +3 -0
- package/dist/types/core/NavigationDivider/index.d.ts +3 -0
- package/dist/types/core/NavigationItem/index.d.ts +7 -0
- package/dist/types/core/Pagination/index.d.ts +7 -0
- package/dist/types/core/PaginationItem/index.d.ts +7 -0
- package/dist/types/core/Panel/index.d.ts +8 -0
- package/dist/types/core/RadialProgress/index.d.ts +8 -0
- package/dist/types/core/StaticTextInput/index.d.ts +12 -0
- package/dist/types/core/Styled/index.d.ts +6 -0
- package/dist/types/core/SummaryListItem/index.d.ts +15 -0
- package/dist/types/core/TableActionsCell/index.d.ts +8 -0
- package/dist/types/core/TableCell/index.d.ts +8 -0
- package/dist/types/core/TableHead/index.d.ts +8 -0
- package/dist/types/core/TableRow/index.d.ts +13 -0
- package/dist/types/core/Tabs/index.d.ts +11 -0
- package/dist/types/core/TextInputAncillary/index.d.ts +11 -0
- package/dist/types/core/Toast/index.d.ts +3 -0
- package/dist/types/core/WeekCalendarDay/index.d.ts +14 -0
- package/dist/types/filters/BooleanFilter/index.d.ts +5 -0
- package/dist/types/filters/DateFilter/index.d.ts +5 -0
- package/dist/types/filters/DropdownFilter/index.d.ts +5 -0
- package/dist/types/filters/QuickDateFilter/index.d.ts +5 -0
- package/dist/types/filters/interfaces.d.ts +36 -0
- package/dist/types/hooks/useAccessiblePanel.d.ts +13 -0
- package/dist/types/hooks/useAppContext.d.ts +37 -0
- package/dist/types/hooks/useClickOutside.d.ts +3 -0
- package/dist/types/hooks/useConnectedList.d.ts +7 -0
- package/dist/types/hooks/useFilters.d.ts +3 -0
- package/dist/types/hooks/useForm.d.ts +26 -0
- package/dist/types/hooks/useFormData.d.ts +9 -0
- package/dist/types/hooks/useLayout.d.ts +6 -0
- package/dist/types/hooks/useModal.d.ts +12 -0
- package/dist/types/hooks/useVariant.d.ts +6 -0
- package/dist/types/index.d.ts +187 -0
- package/dist/types/scenes/Error404Scene.d.ts +3 -0
- package/dist/types/services/BuildService.d.ts +5 -0
- package/dist/types/services/ConfirmService.d.ts +12 -0
- package/dist/types/services/DateService.d.ts +17 -0
- package/dist/types/services/DownloadService.d.ts +5 -0
- package/dist/types/services/FilterComponentService.d.ts +8 -0
- package/dist/types/services/FilterService.d.ts +13 -0
- package/dist/types/services/FormatService.d.ts +7 -0
- package/dist/types/services/ToastService.d.ts +5 -0
- package/dist/types/utility/MockRouter/index.d.ts +2 -0
- package/dist/types/utility/StorybookPanel/index.d.ts +7 -0
- package/dist/types/utility/TestChangeHandler/index.d.ts +8 -0
- package/dist/types/utility/create-app.d.ts +4 -0
- package/dist/types/utility/interfaces.d.ts +72 -0
- package/dist/types/utility/prop-types.d.ts +40 -0
- package/docs/guides/01-installation.story.mdx +33 -0
- package/docs/guides/02-configuration.story.mdx +80 -0
- package/docs/guides/03-pages.story.mdx +18 -0
- package/docs/guides/04-integration.story.mdx +33 -0
- package/docs/guides/a11y.story.mdx +7 -0
- package/docs/guides/theming.story.mdx +7 -0
- package/docs/introduction.story.mdx +17 -0
- package/jest.config.js +19 -0
- package/package.json +101 -0
- package/postcss.config.js +3 -0
- package/rollup.config.js +36 -0
- package/scripts/create-exports.js +74 -0
- package/scripts/update-license.js +8 -0
- package/squarezero.config.js +5 -0
- package/src/components/Alert/Alert.module.css +50 -0
- package/src/components/Alert/Alert.spec.tsx +63 -0
- package/src/components/Alert/Alert.story.tsx +23 -0
- package/src/components/Alert/index.tsx +67 -0
- package/src/components/Allow/Allow.spec.tsx +37 -0
- package/src/components/Allow/index.tsx +42 -0
- package/src/components/App/App.module.css +22 -0
- package/src/components/App/App.spec.tsx +128 -0
- package/src/components/App/index.tsx +108 -0
- package/src/components/AutoSuggest/AutoSuggest.module.css +8 -0
- package/src/components/AutoSuggest/AutoSuggest.spec.tsx +211 -0
- package/src/components/AutoSuggest/AutoSuggest.story.tsx +30 -0
- package/src/components/AutoSuggest/index.tsx +216 -0
- package/src/components/Button/Button.module.css +95 -0
- package/src/components/Button/Button.spec.tsx +69 -0
- package/src/components/Button/Button.story.tsx +39 -0
- package/src/components/Button/index.tsx +99 -0
- package/src/components/CalendarInput/CalendarInput.module.css +8 -0
- package/src/components/CalendarInput/CalendarInput.spec.tsx +206 -0
- package/src/components/CalendarInput/CalendarInput.story.tsx +62 -0
- package/src/components/CalendarInput/index.tsx +122 -0
- package/src/components/CheckboxList/CheckboxList.spec.tsx +83 -0
- package/src/components/CheckboxList/index.tsx +53 -0
- package/src/components/ConnectedDropdown/index.tsx +56 -0
- package/src/components/ConnectedList/index.tsx +15 -0
- package/src/components/ConnectedScene/index.tsx +95 -0
- package/src/components/ConnectedTable/index.tsx +17 -0
- package/src/components/ContentBlock/ContentBlock.module.css +8 -0
- package/src/components/ContentBlock/ContentBlock.spec.tsx +15 -0
- package/src/components/ContentBlock/index.tsx +16 -0
- package/src/components/DateInput/DateInput.module.css +15 -0
- package/src/components/DateInput/DateInput.spec.tsx +91 -0
- package/src/components/DateInput/index.tsx +149 -0
- package/src/components/Document/index.tsx +20 -0
- package/src/components/Dropdown/Dropdown.module.css +8 -0
- package/src/components/Dropdown/Dropdown.spec.tsx +286 -0
- package/src/components/Dropdown/Dropdown.story.tsx +53 -0
- package/src/components/Dropdown/index.tsx +224 -0
- package/src/components/Fieldset/Fieldset.spec.tsx +22 -0
- package/src/components/Fieldset/Fieldset.story.tsx +21 -0
- package/src/components/Fieldset/index.tsx +30 -0
- package/src/components/FileInput/FileInput.module.css +18 -0
- package/src/components/FileInput/FileInput.spec.tsx +42 -0
- package/src/components/FileInput/FileInput.story.tsx +6 -0
- package/src/components/FileInput/index.tsx +72 -0
- package/src/components/FilterLink/FilterLink.module.css +9 -0
- package/src/components/FilterLink/FilterLink.spec.tsx +20 -0
- package/src/components/FilterLink/index.tsx +31 -0
- package/src/components/Form/Form.spec.tsx +68 -0
- package/src/components/Form/index.tsx +87 -0
- package/src/components/FormActions/FormActions.spec.tsx +10 -0
- package/src/components/FormActions/FormActions.story.tsx +23 -0
- package/src/components/FormActions/index.tsx +31 -0
- package/src/components/FormField/FormField.module.css +71 -0
- package/src/components/FormField/FormField.spec.tsx +137 -0
- package/src/components/FormField/FormField.story.tsx +22 -0
- package/src/components/FormField/index.tsx +162 -0
- package/src/components/FormRepeater/FormRepeater.module.css +3 -0
- package/src/components/FormRepeater/FormRepeater.spec.tsx +127 -0
- package/src/components/FormRepeater/index.tsx +118 -0
- package/src/components/ImageInput/ImageInput.module.css +74 -0
- package/src/components/ImageInput/ImageInput.spec.tsx +45 -0
- package/src/components/ImageInput/ImageInput.story.tsx +6 -0
- package/src/components/ImageInput/index.tsx +91 -0
- package/src/components/InfoPanel/InfoPanel.module.css +18 -0
- package/src/components/InfoPanel/InfoPanel.spec.tsx +15 -0
- package/src/components/InfoPanel/InfoPanel.story.tsx +32 -0
- package/src/components/InfoPanel/index.tsx +25 -0
- package/src/components/Link/Link.spec.tsx +62 -0
- package/src/components/Link/__mocks__/index.tsx +24 -0
- package/src/components/Link/index.tsx +51 -0
- package/src/components/List/List.module.css +9 -0
- package/src/components/List/List.spec.tsx +311 -0
- package/src/components/List/List.story.tsx +92 -0
- package/src/components/List/index.tsx +79 -0
- package/src/components/ListActions/ListActions.spec.tsx +10 -0
- package/src/components/ListActions/ListActions.story.tsx +6 -0
- package/src/components/ListActions/index.tsx +31 -0
- package/src/components/LoginForm/LoginForm.module.css +21 -0
- package/src/components/LoginForm/LoginForm.spec.tsx +63 -0
- package/src/components/LoginForm/index.tsx +102 -0
- package/src/components/Message/Message.module.css +14 -0
- package/src/components/Message/Message.spec.tsx +20 -0
- package/src/components/Message/index.tsx +27 -0
- package/src/components/ModalActions/ModalActions.module.css +5 -0
- package/src/components/ModalActions/ModalActions.spec.tsx +53 -0
- package/src/components/ModalActions/ModalActions.story.tsx +6 -0
- package/src/components/ModalActions/index.tsx +47 -0
- package/src/components/MoneyInput/MoneyInput.spec.tsx +17 -0
- package/src/components/MoneyInput/MoneyInput.story.tsx +6 -0
- package/src/components/MoneyInput/index.tsx +16 -0
- package/src/components/PasswordForm/PasswordForm.module.css +21 -0
- package/src/components/PasswordForm/index.tsx +94 -0
- package/src/components/PasswordInput/PasswordInput.module.css +23 -0
- package/src/components/PasswordInput/PasswordInput.spec.tsx +31 -0
- package/src/components/PasswordInput/PasswordInput.story.tsx +16 -0
- package/src/components/PasswordInput/index.tsx +27 -0
- package/src/components/RadioList/RadioList.spec.tsx +45 -0
- package/src/components/RadioList/index.tsx +10 -0
- package/src/components/Scene/Scene.spec.tsx +123 -0
- package/src/components/Scene/Scene.story.tsx +6 -0
- package/src/components/Scene/index.tsx +58 -0
- package/src/components/SummaryList/SummaryList.module.css +16 -0
- package/src/components/SummaryList/SummaryList.spec.tsx +77 -0
- package/src/components/SummaryList/SummaryList.story.tsx +11 -0
- package/src/components/SummaryList/index.tsx +37 -0
- package/src/components/Switch/Switch.module.css +86 -0
- package/src/components/Switch/Switch.spec.tsx +64 -0
- package/src/components/Switch/index.tsx +85 -0
- package/src/components/Table/Table.module.css +14 -0
- package/src/components/Table/Table.spec.tsx +128 -0
- package/src/components/Table/Table.story.tsx +101 -0
- package/src/components/Table/index.tsx +114 -0
- package/src/components/Tag/Tag.module.css +37 -0
- package/src/components/Tag/Tag.spec.tsx +10 -0
- package/src/components/Tag/Tag.story.tsx +55 -0
- package/src/components/Tag/index.tsx +27 -0
- package/src/components/TextArea/TextArea.module.css +23 -0
- package/src/components/TextArea/TextArea.spec.tsx +77 -0
- package/src/components/TextArea/index.tsx +59 -0
- package/src/components/TextInput/TextInput.module.css +57 -0
- package/src/components/TextInput/TextInput.spec.tsx +134 -0
- package/src/components/TextInput/TextInput.story.tsx +24 -0
- package/src/components/TextInput/index.tsx +146 -0
- package/src/components/WebsiteInput/WebsiteInput.spec.tsx +17 -0
- package/src/components/WebsiteInput/index.tsx +16 -0
- package/src/components/WeekCalendar/WeekCalendar.module.css +19 -0
- package/src/components/WeekCalendar/index.tsx +80 -0
- package/src/core/AppHeader/index.tsx +23 -0
- package/src/core/AppLogo/AppLogo.module.css +19 -0
- package/src/core/AppLogo/index.tsx +33 -0
- package/src/core/AppLogoImage/index.tsx +19 -0
- package/src/core/AppLogoPlaceholder/index.tsx +26 -0
- package/src/core/Assistive/Assistive.module.css +10 -0
- package/src/core/Assistive/index.tsx +18 -0
- package/src/core/Banner/Banner.module.css +36 -0
- package/src/core/Banner/index.tsx +25 -0
- package/src/core/BuildModal/index.tsx +119 -0
- package/src/core/Calendar/index.tsx +116 -0
- package/src/core/CalendarDay/CalendarDay.module.css +61 -0
- package/src/core/CalendarDay/index.tsx +82 -0
- package/src/core/CalendarMonth/CalendarMonth.module.css +13 -0
- package/src/core/CalendarMonth/index.tsx +101 -0
- package/src/core/CalendarNavigation/CalendarNavigation.module.css +26 -0
- package/src/core/CalendarNavigation/index.tsx +56 -0
- package/src/core/CalendarWeek/index.tsx +95 -0
- package/src/core/ChkRad/ChkRad.module.css +31 -0
- package/src/core/ChkRad/ChkRad.spec.tsx +72 -0
- package/src/core/ChkRad/index.tsx +80 -0
- package/src/core/ChkRadIcon/ChkRadIcon.module.css +28 -0
- package/src/core/ChkRadIcon/index.tsx +33 -0
- package/src/core/ChkRadList/ChkRadList.module.css +10 -0
- package/src/core/ChkRadList/index.tsx +85 -0
- package/src/core/CloseButton/CloseButton.spec.tsx +36 -0
- package/src/core/CloseButton/index.tsx +31 -0
- package/src/core/ConfirmModal/ConfirmModal.spec.tsx +88 -0
- package/src/core/ConfirmModal/index.tsx +51 -0
- package/src/core/ConnectedRepeater/index.tsx +248 -0
- package/src/core/ConnectedRepeaterComponent/index.tsx +66 -0
- package/src/core/Container/Container.module.css +12 -0
- package/src/core/Container/index.tsx +35 -0
- package/src/core/DropdownPanel/DropdownPanel.module.css +68 -0
- package/src/core/DropdownPanel/index.tsx +92 -0
- package/src/core/EmptyMessage/EmptyMessage.module.css +18 -0
- package/src/core/EmptyMessage/index.tsx +31 -0
- package/src/core/ErrorBoundary/ErrorBoundary.spec.tsx +33 -0
- package/src/core/ErrorBoundary/index.tsx +42 -0
- package/src/core/ErrorMessage/ErrorMessage.module.css +25 -0
- package/src/core/ErrorMessage/ErrorMessage.spec.tsx +31 -0
- package/src/core/ErrorMessage/index.tsx +37 -0
- package/src/core/FilterItem/FilterItem.module.css +104 -0
- package/src/core/FilterItem/index.tsx +164 -0
- package/src/core/Filters/Filters.module.css +86 -0
- package/src/core/Filters/Filters.spec.tsx +533 -0
- package/src/core/Filters/index.tsx +158 -0
- package/src/core/FixedActions/FixedActions.module.css +24 -0
- package/src/core/FixedActions/index.tsx +52 -0
- package/src/core/FormError/FormError.module.css +7 -0
- package/src/core/FormError/index.tsx +18 -0
- package/src/core/FormLabel/FormLabel.module.css +15 -0
- package/src/core/FormLabel/index.tsx +25 -0
- package/src/core/FormLegend/FormLegend.module.css +13 -0
- package/src/core/FormLegend/index.tsx +18 -0
- package/src/core/Header/Header.module.css +35 -0
- package/src/core/Header/index.tsx +37 -0
- package/src/core/Icon/Icon.spec.tsx +31 -0
- package/src/core/Icon/index.tsx +64 -0
- package/src/core/IconButton/Icon/Icon.spec.tsx +31 -0
- package/src/core/IconButton/Icon/index.tsx +64 -0
- package/src/core/IconButton/IconButton.module.css +32 -0
- package/src/core/IconButton/index.tsx +55 -0
- package/src/core/InputPanel/InputPanel.module.css +70 -0
- package/src/core/InputPanel/index.tsx +28 -0
- package/src/core/ListItem/ListItem.module.css +28 -0
- package/src/core/ListItem/ListItem.story.tsx +28 -0
- package/src/core/ListItem/index.tsx +99 -0
- package/src/core/ListItemAction/ListItemAction.module.css +28 -0
- package/src/core/ListItemAction/index.tsx +30 -0
- package/src/core/ListItemActions/ListItemActions.module.css +94 -0
- package/src/core/ListItemActions/index.tsx +55 -0
- package/src/core/ListItemMetaItem/ListItemMetaItem.module.css +18 -0
- package/src/core/ListItemMetaItem/index.tsx +54 -0
- package/src/core/ListItemTitle/ListItemTitle.module.css +14 -0
- package/src/core/ListItemTitle/ListItemTitle.spec.tsx +33 -0
- package/src/core/ListItemTitle/index.tsx +72 -0
- package/src/core/Loader/Loader.module.css +57 -0
- package/src/core/Loader/Loader.story.tsx +8 -0
- package/src/core/Loader/index.tsx +27 -0
- package/src/core/MeActions/MeActions.module.css +45 -0
- package/src/core/MeActions/index.tsx +46 -0
- package/src/core/MePanel/MePanel.module.css +75 -0
- package/src/core/MePanel/index.tsx +45 -0
- package/src/core/Modal/Modal.module.css +84 -0
- package/src/core/Modal/Modal.spec.tsx +51 -0
- package/src/core/Modal/index.tsx +66 -0
- package/src/core/Navigation/Navigation.module.css +83 -0
- package/src/core/Navigation/Navigation.spec.tsx +101 -0
- package/src/core/Navigation/index.tsx +109 -0
- package/src/core/NavigationDivider/NavigationDivider.module.css +18 -0
- package/src/core/NavigationDivider/index.tsx +13 -0
- package/src/core/NavigationItem/NavigationItem.module.css +51 -0
- package/src/core/NavigationItem/index.tsx +59 -0
- package/src/core/Pagination/Pagination.module.css +15 -0
- package/src/core/Pagination/index.tsx +100 -0
- package/src/core/PaginationItem/PaginationItem.module.css +33 -0
- package/src/core/PaginationItem/index.tsx +46 -0
- package/src/core/Panel/Panel.module.css +15 -0
- package/src/core/Panel/index.tsx +31 -0
- package/src/core/RadialProgress/RadialProgress.module.css +78 -0
- package/src/core/RadialProgress/index.tsx +52 -0
- package/src/core/StaticTextInput/StaticTextInput.module.css +79 -0
- package/src/core/StaticTextInput/StaticTextInput.spec.tsx +133 -0
- package/src/core/StaticTextInput/index.tsx +114 -0
- package/src/core/Styled/Styled.spec.tsx +38 -0
- package/src/core/Styled/Styled.story.tsx +10 -0
- package/src/core/Styled/index.tsx +62 -0
- package/src/core/SummaryListItem/SummaryListItem.module.css +28 -0
- package/src/core/SummaryListItem/index.tsx +60 -0
- package/src/core/TableActionsCell/TableActionsCell.module.css +3 -0
- package/src/core/TableActionsCell/index.tsx +37 -0
- package/src/core/TableCell/TableCell.module.css +16 -0
- package/src/core/TableCell/index.tsx +39 -0
- package/src/core/TableHead/TableHead.module.css +12 -0
- package/src/core/TableHead/index.tsx +48 -0
- package/src/core/TableRow/index.tsx +64 -0
- package/src/core/Tabs/Tabs.module.css +50 -0
- package/src/core/Tabs/index.tsx +94 -0
- package/src/core/TextInputAncillary/TextInputAncillary.module.css +64 -0
- package/src/core/TextInputAncillary/index.tsx +72 -0
- package/src/core/Toast/Toast.module.css +55 -0
- package/src/core/Toast/Toast.spec.tsx +78 -0
- package/src/core/Toast/index.tsx +81 -0
- package/src/core/WeekCalendarDay/WeekCalendarDay.module.css +32 -0
- package/src/core/WeekCalendarDay/index.tsx +68 -0
- package/src/filters/BooleanFilter/index.tsx +46 -0
- package/src/filters/DateFilter/index.tsx +36 -0
- package/src/filters/DropdownFilter/index.tsx +53 -0
- package/src/filters/QuickDateFilter/index.tsx +74 -0
- package/src/filters/interfaces.ts +40 -0
- package/src/hooks/useAccessiblePanel.spec.tsx +88 -0
- package/src/hooks/useAccessiblePanel.ts +74 -0
- package/src/hooks/useAppContext.ts +77 -0
- package/src/hooks/useClickOutside.ts +49 -0
- package/src/hooks/useConnectedList.ts +26 -0
- package/src/hooks/useFilters.ts +26 -0
- package/src/hooks/useForm.spec.ts +126 -0
- package/src/hooks/useForm.ts +99 -0
- package/src/hooks/useFormData.spec.ts +40 -0
- package/src/hooks/useFormData.ts +27 -0
- package/src/hooks/useLayout.spec.ts +55 -0
- package/src/hooks/useLayout.ts +29 -0
- package/src/hooks/useModal.spec.tsx +63 -0
- package/src/hooks/useModal.ts +60 -0
- package/src/hooks/useVariant.spec.ts +14 -0
- package/src/hooks/useVariant.ts +34 -0
- package/src/index.ts +194 -0
- package/src/scenes/Error404Scene.tsx +5 -0
- package/src/services/BuildService.spec.ts +56 -0
- package/src/services/BuildService.ts +34 -0
- package/src/services/ConfirmService.ts +21 -0
- package/src/services/DateService.spec.ts +87 -0
- package/src/services/DateService.ts +137 -0
- package/src/services/DownloadService.spec.ts +29 -0
- package/src/services/DownloadService.ts +14 -0
- package/src/services/FilterComponentService.tsx +46 -0
- package/src/services/FilterService.spec.ts +87 -0
- package/src/services/FilterService.ts +58 -0
- package/src/services/FormatService.spec.ts +83 -0
- package/src/services/FormatService.ts +55 -0
- package/src/services/ToastService.spec.ts +44 -0
- package/src/services/ToastService.ts +19 -0
- package/src/styles/layout.css +64 -0
- package/src/styles/variables.css +85 -0
- package/src/typings.d.ts +4 -0
- package/src/utility/MockRouter/index.ts +45 -0
- package/src/utility/StorybookPanel/StorybookPanel.module.css +9 -0
- package/src/utility/StorybookPanel/index.tsx +25 -0
- package/src/utility/TestChangeHandler/TestChangeHandler.module.css +7 -0
- package/src/utility/TestChangeHandler/TestChangeHandler.spec.tsx +24 -0
- package/src/utility/TestChangeHandler/index.tsx +54 -0
- package/src/utility/create-app.tsx +29 -0
- package/src/utility/interfaces.ts +119 -0
- package/src/utility/prop-types.ts +67 -0
- package/tests/setupFilesAfterEnv.js +10 -0
- package/tsconfig.json +26 -0
- package/tsconfig.types.json +9 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { SimpleAction, StyleVariant } from '../../utility/interfaces';
|
|
3
|
+
interface AlertProps {
|
|
4
|
+
actions?: SimpleAction[];
|
|
5
|
+
children: React.ReactNode;
|
|
6
|
+
title: string;
|
|
7
|
+
variant?: StyleVariant;
|
|
8
|
+
}
|
|
9
|
+
declare const Alert: React.FunctionComponent<AlertProps>;
|
|
10
|
+
export default Alert;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface AllowProps {
|
|
3
|
+
children: React.ReactNode;
|
|
4
|
+
permission?: string;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* The `Allow` component is essentially a wrappy that lets a developer display or hide child content
|
|
8
|
+
* based on the permissions a particular user has.
|
|
9
|
+
*
|
|
10
|
+
* By default, the
|
|
11
|
+
*/
|
|
12
|
+
declare const Allow: React.FunctionComponent<AllowProps>;
|
|
13
|
+
export default Allow;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { AppContext, AppInitialProps } from 'next/app';
|
|
3
|
+
import type { NextRouter } from 'next/router';
|
|
4
|
+
import type { Config } from '../../hooks/useAppContext';
|
|
5
|
+
import 'modern-normalize';
|
|
6
|
+
import '../../styles/variables.css';
|
|
7
|
+
import '../../styles/layout.css';
|
|
8
|
+
import type { SceneComponentType } from '../../utility/interfaces';
|
|
9
|
+
export interface AppProps {
|
|
10
|
+
Component: SceneComponentType;
|
|
11
|
+
Logo?: React.ComponentType | null;
|
|
12
|
+
config?: Config;
|
|
13
|
+
router: NextRouter;
|
|
14
|
+
}
|
|
15
|
+
export declare type AppType = React.FunctionComponent<AppProps> & {
|
|
16
|
+
getInitialProps: (context: AppContext) => Promise<AppInitialProps>;
|
|
17
|
+
};
|
|
18
|
+
declare const App: React.FunctionComponent<AppProps>;
|
|
19
|
+
export default App;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { DropdownItem } from '../../core/DropdownPanel';
|
|
3
|
+
import type { InputProps } from '../../utility/interfaces';
|
|
4
|
+
interface AutoSuggestProps extends InputProps {
|
|
5
|
+
/**
|
|
6
|
+
* An array of strings to filter for the suggestions. If a `remote` prop is specified, this is
|
|
7
|
+
* ignored.
|
|
8
|
+
*/
|
|
9
|
+
data?: (DropdownItem | string)[] | null;
|
|
10
|
+
/** The URL for the endpoint that will return the suggestions */
|
|
11
|
+
remote?: string | null;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* As a user types, suggestions based on they've typed are displayed in a panel below. When a user
|
|
15
|
+
* clicks a suggestion, the value is updated. Under the hood, it is more or less a combination of a
|
|
16
|
+
* `TextInput` and a `DropdownPanel`.
|
|
17
|
+
*
|
|
18
|
+
* ## Request Methods
|
|
19
|
+
*
|
|
20
|
+
* At its most basic, the suggestions are a predefined array of `data`. However,
|
|
21
|
+
* if the `remote` prop is specified, the AutoSuggest will `GET` that endpoint as the user types.
|
|
22
|
+
* The following will be appended onto the query:
|
|
23
|
+
*
|
|
24
|
+
* ````
|
|
25
|
+
* ?search={value}
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
* The endpoint should then handle filtering the data, and returning an array of the results. If the
|
|
29
|
+
* value of the input changes before the previous `GET` request has completed, that one is
|
|
30
|
+
* cancelled and a new one started, with the updated search query.
|
|
31
|
+
*
|
|
32
|
+
* ## Data Formats
|
|
33
|
+
*
|
|
34
|
+
* The data returned should be one of two formats. The choice of format has an impact on how the
|
|
35
|
+
* value is stored, and the label that is displayed.
|
|
36
|
+
*
|
|
37
|
+
* The most basic format is an array of strings. The value is stored as the string itself, and the
|
|
38
|
+
* label displays the same string. This is most useful for situations where no relationships are
|
|
39
|
+
* required on the backend, and the `AutoSuggest` is purely being used to assist the user in
|
|
40
|
+
* defining a value.
|
|
41
|
+
*
|
|
42
|
+
* An example of this data would be:
|
|
43
|
+
*
|
|
44
|
+
* ```
|
|
45
|
+
* ['apple', 'banana', 'carrot']
|
|
46
|
+
* ```
|
|
47
|
+
*
|
|
48
|
+
* The second format is an array of objects. The value is stored as the `id` of the object, and the
|
|
49
|
+
* label displays the `name` of the object. This is most useful for situations where a relationship
|
|
50
|
+
* is required on the backend, and the `AutoSuggest` is being used to assist the user in defining
|
|
51
|
+
* a value. With this format, the `AutoSuggest` works more like a `Dropdown`.
|
|
52
|
+
*
|
|
53
|
+
* For example:
|
|
54
|
+
*
|
|
55
|
+
* ```
|
|
56
|
+
* [{ id: 1, name: 'apple' }, { id: 2, name: 'banana' }, { id: 3, name: 'carrot' }]
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
declare const AutoSuggest: React.FunctionComponent<AutoSuggestProps>;
|
|
60
|
+
export default AutoSuggest;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ButtonVariant } from '../../utility/interfaces';
|
|
3
|
+
export interface ButtonProps {
|
|
4
|
+
/** Probably the button text, but could be any HTML element or React component */
|
|
5
|
+
children: React.ReactNode;
|
|
6
|
+
/** If set to true, the Button will be greyed out and non-interactive */
|
|
7
|
+
isDisabled?: boolean | null;
|
|
8
|
+
isFullWidth?: boolean | null;
|
|
9
|
+
onClick?: React.MouseEventHandler<HTMLAnchorElement | HTMLButtonElement>;
|
|
10
|
+
/** If specified, the Button will be created as a Link element. */
|
|
11
|
+
to?: string;
|
|
12
|
+
/** The type of button. Button's with a type of `submit` will submit a parent form */
|
|
13
|
+
type?: 'button' | 'submit';
|
|
14
|
+
/** With the exception of `bordered` these variants correspond to the theme colours */
|
|
15
|
+
variant?: ButtonVariant | ButtonVariant[];
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Either a `Link` component or a `button` element, depending on whether a `to` prop is specified.
|
|
19
|
+
*
|
|
20
|
+
* As a `Link`, it provides navigation between pages, and as a `button` it will handle the
|
|
21
|
+
* `onClick` function when clicked (if one is specified).
|
|
22
|
+
*
|
|
23
|
+
* ## to & onClick
|
|
24
|
+
*
|
|
25
|
+
* Although it is possible to omit both the `to` and `onClick` props, there will
|
|
26
|
+
* be nearly zero situations where this would be useful. It is also possible to include both props.
|
|
27
|
+
* This will create a `Link` component, and handle the `onClick` function before navigation.
|
|
28
|
+
*
|
|
29
|
+
* ## Styles
|
|
30
|
+
*
|
|
31
|
+
* The `Button` will stretch to the full width of its parent element. If you wish to have a smaller
|
|
32
|
+
* width, you can wrap it in a `div`, and then wrap that `div` in a component with a flex property.
|
|
33
|
+
* Components like `ListActions` and `ModalActions` do this for you.
|
|
34
|
+
*/
|
|
35
|
+
declare const Button: React.FunctionComponent<ButtonProps>;
|
|
36
|
+
export default Button;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { InputProps } from '../../utility/interfaces';
|
|
3
|
+
export interface CalendarInputProps extends InputProps {
|
|
4
|
+
disabledDates?: string[] | ((date: string) => boolean);
|
|
5
|
+
isOptional?: boolean;
|
|
6
|
+
isPanelOnly?: boolean;
|
|
7
|
+
isRange?: boolean;
|
|
8
|
+
}
|
|
9
|
+
declare const CalendarInput: React.FunctionComponent<CalendarInputProps>;
|
|
10
|
+
export default CalendarInput;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { InputProps, Remote } from '../../utility/interfaces';
|
|
3
|
+
interface ConnnectedDropdownProps extends InputProps {
|
|
4
|
+
isPanelOnly?: boolean;
|
|
5
|
+
remote: Remote;
|
|
6
|
+
}
|
|
7
|
+
declare const ConnectedDropdown: React.FunctionComponent<ConnnectedDropdownProps>;
|
|
8
|
+
export default ConnectedDropdown;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { TabItem } from '../../core/Tabs';
|
|
3
|
+
import type { Remote } from '../../utility/interfaces';
|
|
4
|
+
interface ConnectedSceneProps {
|
|
5
|
+
children: React.ReactNode;
|
|
6
|
+
remote: Remote;
|
|
7
|
+
tabs?: TabItem[];
|
|
8
|
+
title: string | ((data: Record<string, unknown>) => string);
|
|
9
|
+
}
|
|
10
|
+
declare const ConnectedScene: React.FunctionComponent<ConnectedSceneProps>;
|
|
11
|
+
export default ConnectedScene;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { InputProps, InputValue, SimpleObject } from '../../utility/interfaces';
|
|
3
|
+
export declare type DropdownTransformer = (item: Record<string, unknown> | SimpleObject) => SimpleObject;
|
|
4
|
+
interface DropdownProps extends InputProps {
|
|
5
|
+
data?: Record<string, unknown>[] | SimpleObject[];
|
|
6
|
+
isMultiple?: boolean;
|
|
7
|
+
isOptional?: boolean;
|
|
8
|
+
isPanelOnly?: boolean;
|
|
9
|
+
placeholder?: string;
|
|
10
|
+
transformer?: DropdownTransformer;
|
|
11
|
+
}
|
|
12
|
+
export declare const renderLabel: (transformed: SimpleObject[], value?: InputValue | undefined, isMultiple?: boolean | undefined) => string | null;
|
|
13
|
+
declare const Dropdown: React.FunctionComponent<DropdownProps>;
|
|
14
|
+
export default Dropdown;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface FieldsetProps {
|
|
3
|
+
children: React.ReactNode;
|
|
4
|
+
legend?: string;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Simply a styled wrapper for a `fieldset` element. The `legend` prop isn't required but is
|
|
8
|
+
* probably recommended in most instances.
|
|
9
|
+
*/
|
|
10
|
+
declare const Fieldset: React.FunctionComponent<FieldsetProps>;
|
|
11
|
+
export default Fieldset;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { InputValue } from '../../utility/interfaces';
|
|
3
|
+
interface FormProps {
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
data: Record<string, InputValue>;
|
|
6
|
+
errors?: Record<string, string>;
|
|
7
|
+
onChange: (key: string, value: InputValue) => void;
|
|
8
|
+
onSubmit?: (event: React.FormEvent) => void;
|
|
9
|
+
}
|
|
10
|
+
declare const Form: React.FunctionComponent<FormProps>;
|
|
11
|
+
export default Form;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { InputProps, SimpleAction } from '../../utility/interfaces';
|
|
3
|
+
export interface FormFieldComponentProps extends InputProps {
|
|
4
|
+
action?: SimpleAction | null;
|
|
5
|
+
onKeyDown?: React.KeyboardEventHandler<HTMLInputElement>;
|
|
6
|
+
}
|
|
7
|
+
interface FormFieldProps extends FormFieldComponentProps {
|
|
8
|
+
error?: string;
|
|
9
|
+
isOptional?: boolean;
|
|
10
|
+
isShallow?: boolean;
|
|
11
|
+
label?: string | null;
|
|
12
|
+
render?: ((props: FormFieldComponentProps) => React.ReactNode) | null;
|
|
13
|
+
width?: 'full' | null;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Render some kind of form control, plus a label and error message if specified. By default, it
|
|
17
|
+
* will render a `TextInput`. Using the `render` prop however, you can render any component you
|
|
18
|
+
* like. The rendered component will be passed the following props from `FormField`:
|
|
19
|
+
*
|
|
20
|
+
* ```
|
|
21
|
+
* name, value, hasError, isOptional, onChange
|
|
22
|
+
* ```
|
|
23
|
+
*
|
|
24
|
+
* The rendered component can then handle these in any way it likes.
|
|
25
|
+
*/
|
|
26
|
+
declare const FormField: React.FunctionComponent<FormFieldProps>;
|
|
27
|
+
export default FormField;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { InputProps } from '../../utility/interfaces';
|
|
3
|
+
interface FormRepeaterProps extends InputProps {
|
|
4
|
+
label?: string;
|
|
5
|
+
max?: number;
|
|
6
|
+
}
|
|
7
|
+
declare const FormRepeater: React.FunctionComponent<FormRepeaterProps>;
|
|
8
|
+
export default FormRepeater;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { StyleVariant } from '../../utility/interfaces';
|
|
3
|
+
export interface InfoPanelProps {
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
variant?: StyleVariant;
|
|
6
|
+
}
|
|
7
|
+
declare const InfoPanel: React.FunctionComponent<InfoPanelProps>;
|
|
8
|
+
export default InfoPanel;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface DataProps {
|
|
3
|
+
'data-test-id'?: string;
|
|
4
|
+
}
|
|
5
|
+
interface LinkProps extends DataProps {
|
|
6
|
+
children: React.ReactNode;
|
|
7
|
+
className?: string;
|
|
8
|
+
isNewWindow?: boolean;
|
|
9
|
+
to: string;
|
|
10
|
+
onClick?: React.MouseEventHandler<HTMLAnchorElement>;
|
|
11
|
+
}
|
|
12
|
+
declare const Link: React.FunctionComponent<LinkProps>;
|
|
13
|
+
export default Link;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { Transformer } from '../../utility/interfaces';
|
|
3
|
+
export interface ListProps {
|
|
4
|
+
data?: Record<string, unknown>[];
|
|
5
|
+
isDisabled?: boolean;
|
|
6
|
+
pagination?: {
|
|
7
|
+
activePage: number;
|
|
8
|
+
pageCount: number;
|
|
9
|
+
} | null;
|
|
10
|
+
transformer?: Transformer;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Displays a list of items. Each item in the `data` prop is passed through the `transformer`
|
|
14
|
+
* function and then displayed. For more information about what `transformer` options are
|
|
15
|
+
* available, take a look at the `ListItem` documentation.
|
|
16
|
+
*
|
|
17
|
+
* The only value that is required for each transformed item is an `$id` as this is used for the
|
|
18
|
+
* `key` prop.
|
|
19
|
+
*
|
|
20
|
+
* If there is no data, an `EmptyMessage` is displayed.
|
|
21
|
+
*/
|
|
22
|
+
declare const List: React.FunctionComponent<ListProps>;
|
|
23
|
+
export default List;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface ListActionsProps {
|
|
3
|
+
children?: React.ReactNode;
|
|
4
|
+
label: string;
|
|
5
|
+
onClick?: React.MouseEventHandler<HTMLButtonElement>;
|
|
6
|
+
to?: string;
|
|
7
|
+
}
|
|
8
|
+
declare const ListActions: React.FunctionComponent<ListActionsProps>;
|
|
9
|
+
export default ListActions;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ButtonVariant } from '../../utility/interfaces';
|
|
3
|
+
interface ModalActionsProps {
|
|
4
|
+
isDisabled?: boolean;
|
|
5
|
+
isLoading?: boolean;
|
|
6
|
+
label: string;
|
|
7
|
+
onClick?: React.MouseEventHandler<HTMLButtonElement>;
|
|
8
|
+
variant?: ButtonVariant | ButtonVariant[];
|
|
9
|
+
}
|
|
10
|
+
declare const ModalActions: React.FunctionComponent<ModalActionsProps>;
|
|
11
|
+
export default ModalActions;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { TextInputProps } from '../TextInput';
|
|
3
|
+
/**
|
|
4
|
+
* A `TextInput` component with a pre-defined `prefix` prop set to a pound sign. All other props are
|
|
5
|
+
* simply passed through to the TextInput. Technically, the order of the props is such that the
|
|
6
|
+
* prefix can be overridden or removed all together. If this is the case, the component is no
|
|
7
|
+
* different to a `TextInput`.
|
|
8
|
+
*/
|
|
9
|
+
declare const MoneyInput: React.FunctionComponent<TextInputProps>;
|
|
10
|
+
export default MoneyInput;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { TextInputProps } from '../TextInput';
|
|
3
|
+
/**
|
|
4
|
+
* A `TextInput` component, with a control that toggles it `type` between 'text' and 'password'. All
|
|
5
|
+
* the props are simply passed though to the `TextInput`, so check there for more information.
|
|
6
|
+
*/
|
|
7
|
+
declare const PasswordInput: React.FunctionComponent<TextInputProps>;
|
|
8
|
+
export default PasswordInput;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { TabItem } from '../../core/Tabs';
|
|
3
|
+
interface SceneProps {
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
isWide?: boolean;
|
|
6
|
+
tabs?: TabItem[];
|
|
7
|
+
title: string;
|
|
8
|
+
}
|
|
9
|
+
declare const Scene: React.FunctionComponent<SceneProps>;
|
|
10
|
+
export default Scene;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { SummaryListObject } from '../../core/SummaryListItem';
|
|
3
|
+
interface SummaryListProps {
|
|
4
|
+
data: SummaryListObject[];
|
|
5
|
+
isDisabled?: boolean;
|
|
6
|
+
}
|
|
7
|
+
declare const SummaryList: React.FunctionComponent<SummaryListProps>;
|
|
8
|
+
export default SummaryList;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { InputProps } from '../../utility/interfaces';
|
|
3
|
+
interface SwitchProps extends InputProps {
|
|
4
|
+
extra?: string;
|
|
5
|
+
label: React.ReactNode | string;
|
|
6
|
+
isMultiline?: boolean;
|
|
7
|
+
}
|
|
8
|
+
declare const Switch: React.FunctionComponent<SwitchProps>;
|
|
9
|
+
export default Switch;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { Columns } from '../../core/TableCell';
|
|
3
|
+
import type { PaginationObject, Transformer } from '../../utility/interfaces';
|
|
4
|
+
export interface TableProps {
|
|
5
|
+
columns: Columns;
|
|
6
|
+
data?: Record<string, unknown>[];
|
|
7
|
+
isDisabled?: boolean;
|
|
8
|
+
pagination?: PaginationObject;
|
|
9
|
+
totals?: Record<string, number> | null;
|
|
10
|
+
transformer?: Transformer;
|
|
11
|
+
}
|
|
12
|
+
declare const Table: React.FunctionComponent<TableProps>;
|
|
13
|
+
export default Table;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { StyleVariant } from '../../utility/interfaces';
|
|
3
|
+
export interface TagProps {
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
variant?: StyleVariant | StyleVariant[];
|
|
6
|
+
}
|
|
7
|
+
declare const Tag: React.FunctionComponent<TagProps>;
|
|
8
|
+
export default Tag;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { InputProps, InputValue, SimpleEventHandler } from '../../utility/interfaces';
|
|
3
|
+
export interface TextInputProps extends InputProps<InputValue, HTMLInputElement | HTMLTextAreaElement> {
|
|
4
|
+
autocomplete?: boolean;
|
|
5
|
+
isClearable?: boolean;
|
|
6
|
+
isLoading?: boolean;
|
|
7
|
+
onClear?: SimpleEventHandler;
|
|
8
|
+
placeholder?: string;
|
|
9
|
+
prefix?: string | null;
|
|
10
|
+
suffix?: string | null;
|
|
11
|
+
type?: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* A customisable text input component.
|
|
15
|
+
*/
|
|
16
|
+
declare const TextInput: React.FunctionComponent<TextInputProps>;
|
|
17
|
+
export default TextInput;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { TextInputProps } from '../TextInput';
|
|
3
|
+
/**
|
|
4
|
+
* A `TextInput` component with a pre-defined `prefix` prop set to a 'http://'. All other props are
|
|
5
|
+
* simply passed through to the TextInput. Technically, the order of the props is such that the
|
|
6
|
+
* prefix can be overridden or removed all together. If this is the case, the component is no
|
|
7
|
+
* different to a `TextInput`.
|
|
8
|
+
*/
|
|
9
|
+
declare const WebsiteInput: React.FunctionComponent<TextInputProps>;
|
|
10
|
+
export default WebsiteInput;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { SimpleEventHandler } from '../../utility/interfaces';
|
|
3
|
+
interface CalendarProps {
|
|
4
|
+
disabledDates?: string[] | ((date: string) => boolean);
|
|
5
|
+
isRange?: boolean;
|
|
6
|
+
name: string;
|
|
7
|
+
onChange: SimpleEventHandler;
|
|
8
|
+
value?: string;
|
|
9
|
+
}
|
|
10
|
+
declare const Calendar: React.FunctionComponent<CalendarProps>;
|
|
11
|
+
export default Calendar;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { SimpleEventHandler } from '../../utility/interfaces';
|
|
3
|
+
export interface DayObject {
|
|
4
|
+
label: number;
|
|
5
|
+
date: string;
|
|
6
|
+
}
|
|
7
|
+
interface CalendarDayProps {
|
|
8
|
+
data: DayObject | number;
|
|
9
|
+
name: string;
|
|
10
|
+
onClick?: SimpleEventHandler<string>;
|
|
11
|
+
isDisabled?: boolean;
|
|
12
|
+
isHighlighted?: boolean;
|
|
13
|
+
isSelected?: boolean;
|
|
14
|
+
}
|
|
15
|
+
declare const CalendarDay: React.FunctionComponent<CalendarDayProps>;
|
|
16
|
+
export default CalendarDay;
|