@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.
Files changed (476) hide show
  1. package/.eslintrc +4 -0
  2. package/.gitattributes +1 -0
  3. package/.prettierrc +9 -0
  4. package/.storybook/main.js +40 -0
  5. package/.storybook/manager.js +4 -0
  6. package/.storybook/postcss.config.js +3 -0
  7. package/.storybook/preview.js +11 -0
  8. package/.storybook/theme.js +7 -0
  9. package/.stylelintrc +9 -0
  10. package/LICENSE +5 -0
  11. package/README.md +9 -0
  12. package/__mocks__/squarezero-utility.ts +40 -0
  13. package/assets/logo-horizontal-dark.svg +21 -0
  14. package/assets/logo-horizontal-white.svg +21 -0
  15. package/assets/logo-vertical-dark.svg +21 -0
  16. package/assets/logo-vertical-white.svg +21 -0
  17. package/dist/index.css +3554 -0
  18. package/dist/index.js +5099 -0
  19. package/dist/index.js.map +1 -0
  20. package/dist/types/components/Alert/index.d.ts +10 -0
  21. package/dist/types/components/Allow/index.d.ts +13 -0
  22. package/dist/types/components/App/index.d.ts +19 -0
  23. package/dist/types/components/AutoSuggest/index.d.ts +60 -0
  24. package/dist/types/components/Button/index.d.ts +36 -0
  25. package/dist/types/components/CalendarInput/index.d.ts +10 -0
  26. package/dist/types/components/CheckboxList/index.d.ts +4 -0
  27. package/dist/types/components/ConnectedDropdown/index.d.ts +8 -0
  28. package/dist/types/components/ConnectedList/index.d.ts +4 -0
  29. package/dist/types/components/ConnectedScene/index.d.ts +11 -0
  30. package/dist/types/components/ConnectedTable/index.d.ts +4 -0
  31. package/dist/types/components/ContentBlock/index.d.ts +6 -0
  32. package/dist/types/components/DateInput/index.d.ts +7 -0
  33. package/dist/types/components/Document/index.d.ts +6 -0
  34. package/dist/types/components/Dropdown/index.d.ts +14 -0
  35. package/dist/types/components/Fieldset/index.d.ts +11 -0
  36. package/dist/types/components/FileInput/index.d.ts +4 -0
  37. package/dist/types/components/FilterLink/index.d.ts +7 -0
  38. package/dist/types/components/Form/index.d.ts +11 -0
  39. package/dist/types/components/FormActions/index.d.ts +9 -0
  40. package/dist/types/components/FormField/index.d.ts +27 -0
  41. package/dist/types/components/FormRepeater/index.d.ts +8 -0
  42. package/dist/types/components/ImageInput/index.d.ts +4 -0
  43. package/dist/types/components/InfoPanel/index.d.ts +8 -0
  44. package/dist/types/components/Link/__mocks__/index.d.ts +6 -0
  45. package/dist/types/components/Link/index.d.ts +13 -0
  46. package/dist/types/components/List/index.d.ts +23 -0
  47. package/dist/types/components/ListActions/index.d.ts +9 -0
  48. package/dist/types/components/LoginForm/index.d.ts +3 -0
  49. package/dist/types/components/Message/index.d.ts +7 -0
  50. package/dist/types/components/ModalActions/index.d.ts +11 -0
  51. package/dist/types/components/MoneyInput/index.d.ts +10 -0
  52. package/dist/types/components/PasswordForm/index.d.ts +3 -0
  53. package/dist/types/components/PasswordInput/index.d.ts +8 -0
  54. package/dist/types/components/RadioList/index.d.ts +4 -0
  55. package/dist/types/components/Scene/index.d.ts +10 -0
  56. package/dist/types/components/SummaryList/index.d.ts +8 -0
  57. package/dist/types/components/Switch/index.d.ts +9 -0
  58. package/dist/types/components/Table/index.d.ts +13 -0
  59. package/dist/types/components/Tag/index.d.ts +8 -0
  60. package/dist/types/components/TextArea/index.d.ts +4 -0
  61. package/dist/types/components/TextInput/index.d.ts +17 -0
  62. package/dist/types/components/WebsiteInput/index.d.ts +10 -0
  63. package/dist/types/components/WeekCalendar/index.d.ts +12 -0
  64. package/dist/types/core/AppHeader/index.d.ts +3 -0
  65. package/dist/types/core/AppLogo/index.d.ts +6 -0
  66. package/dist/types/core/AppLogoImage/index.d.ts +3 -0
  67. package/dist/types/core/AppLogoPlaceholder/index.d.ts +3 -0
  68. package/dist/types/core/Assistive/index.d.ts +6 -0
  69. package/dist/types/core/Banner/index.d.ts +3 -0
  70. package/dist/types/core/BuildModal/index.d.ts +3 -0
  71. package/dist/types/core/Calendar/index.d.ts +11 -0
  72. package/dist/types/core/CalendarDay/index.d.ts +16 -0
  73. package/dist/types/core/CalendarMonth/index.d.ts +12 -0
  74. package/dist/types/core/CalendarNavigation/index.d.ts +9 -0
  75. package/dist/types/core/CalendarWeek/index.d.ts +14 -0
  76. package/dist/types/core/ChkRad/index.d.ts +10 -0
  77. package/dist/types/core/ChkRadIcon/index.d.ts +7 -0
  78. package/dist/types/core/ChkRadList/index.d.ts +15 -0
  79. package/dist/types/core/CloseButton/index.d.ts +9 -0
  80. package/dist/types/core/ConfirmModal/index.d.ts +3 -0
  81. package/dist/types/core/ConnectedRepeater/index.d.ts +26 -0
  82. package/dist/types/core/ConnectedRepeaterComponent/index.d.ts +24 -0
  83. package/dist/types/core/Container/index.d.ts +7 -0
  84. package/dist/types/core/DropdownPanel/index.d.ts +18 -0
  85. package/dist/types/core/EmptyMessage/index.d.ts +12 -0
  86. package/dist/types/core/ErrorBoundary/index.d.ts +15 -0
  87. package/dist/types/core/ErrorMessage/index.d.ts +8 -0
  88. package/dist/types/core/FilterItem/index.d.ts +10 -0
  89. package/dist/types/core/Filters/index.d.ts +11 -0
  90. package/dist/types/core/FixedActions/index.d.ts +12 -0
  91. package/dist/types/core/FormError/index.d.ts +6 -0
  92. package/dist/types/core/FormLabel/index.d.ts +8 -0
  93. package/dist/types/core/FormLegend/index.d.ts +6 -0
  94. package/dist/types/core/Header/index.d.ts +8 -0
  95. package/dist/types/core/Icon/index.d.ts +7 -0
  96. package/dist/types/core/IconButton/Icon/index.d.ts +7 -0
  97. package/dist/types/core/IconButton/index.d.ts +11 -0
  98. package/dist/types/core/InputPanel/index.d.ts +8 -0
  99. package/dist/types/core/ListItem/index.d.ts +16 -0
  100. package/dist/types/core/ListItemAction/index.d.ts +4 -0
  101. package/dist/types/core/ListItemActions/index.d.ts +8 -0
  102. package/dist/types/core/ListItemMetaItem/index.d.ts +10 -0
  103. package/dist/types/core/ListItemTitle/index.d.ts +9 -0
  104. package/dist/types/core/Loader/index.d.ts +6 -0
  105. package/dist/types/core/MeActions/index.d.ts +3 -0
  106. package/dist/types/core/MePanel/index.d.ts +9 -0
  107. package/dist/types/core/Modal/index.d.ts +12 -0
  108. package/dist/types/core/Navigation/index.d.ts +3 -0
  109. package/dist/types/core/NavigationDivider/index.d.ts +3 -0
  110. package/dist/types/core/NavigationItem/index.d.ts +7 -0
  111. package/dist/types/core/Pagination/index.d.ts +7 -0
  112. package/dist/types/core/PaginationItem/index.d.ts +7 -0
  113. package/dist/types/core/Panel/index.d.ts +8 -0
  114. package/dist/types/core/RadialProgress/index.d.ts +8 -0
  115. package/dist/types/core/StaticTextInput/index.d.ts +12 -0
  116. package/dist/types/core/Styled/index.d.ts +6 -0
  117. package/dist/types/core/SummaryListItem/index.d.ts +15 -0
  118. package/dist/types/core/TableActionsCell/index.d.ts +8 -0
  119. package/dist/types/core/TableCell/index.d.ts +8 -0
  120. package/dist/types/core/TableHead/index.d.ts +8 -0
  121. package/dist/types/core/TableRow/index.d.ts +13 -0
  122. package/dist/types/core/Tabs/index.d.ts +11 -0
  123. package/dist/types/core/TextInputAncillary/index.d.ts +11 -0
  124. package/dist/types/core/Toast/index.d.ts +3 -0
  125. package/dist/types/core/WeekCalendarDay/index.d.ts +14 -0
  126. package/dist/types/filters/BooleanFilter/index.d.ts +5 -0
  127. package/dist/types/filters/DateFilter/index.d.ts +5 -0
  128. package/dist/types/filters/DropdownFilter/index.d.ts +5 -0
  129. package/dist/types/filters/QuickDateFilter/index.d.ts +5 -0
  130. package/dist/types/filters/interfaces.d.ts +36 -0
  131. package/dist/types/hooks/useAccessiblePanel.d.ts +13 -0
  132. package/dist/types/hooks/useAppContext.d.ts +37 -0
  133. package/dist/types/hooks/useClickOutside.d.ts +3 -0
  134. package/dist/types/hooks/useConnectedList.d.ts +7 -0
  135. package/dist/types/hooks/useFilters.d.ts +3 -0
  136. package/dist/types/hooks/useForm.d.ts +26 -0
  137. package/dist/types/hooks/useFormData.d.ts +9 -0
  138. package/dist/types/hooks/useLayout.d.ts +6 -0
  139. package/dist/types/hooks/useModal.d.ts +12 -0
  140. package/dist/types/hooks/useVariant.d.ts +6 -0
  141. package/dist/types/index.d.ts +187 -0
  142. package/dist/types/scenes/Error404Scene.d.ts +3 -0
  143. package/dist/types/services/BuildService.d.ts +5 -0
  144. package/dist/types/services/ConfirmService.d.ts +12 -0
  145. package/dist/types/services/DateService.d.ts +17 -0
  146. package/dist/types/services/DownloadService.d.ts +5 -0
  147. package/dist/types/services/FilterComponentService.d.ts +8 -0
  148. package/dist/types/services/FilterService.d.ts +13 -0
  149. package/dist/types/services/FormatService.d.ts +7 -0
  150. package/dist/types/services/ToastService.d.ts +5 -0
  151. package/dist/types/utility/MockRouter/index.d.ts +2 -0
  152. package/dist/types/utility/StorybookPanel/index.d.ts +7 -0
  153. package/dist/types/utility/TestChangeHandler/index.d.ts +8 -0
  154. package/dist/types/utility/create-app.d.ts +4 -0
  155. package/dist/types/utility/interfaces.d.ts +72 -0
  156. package/dist/types/utility/prop-types.d.ts +40 -0
  157. package/docs/guides/01-installation.story.mdx +33 -0
  158. package/docs/guides/02-configuration.story.mdx +80 -0
  159. package/docs/guides/03-pages.story.mdx +18 -0
  160. package/docs/guides/04-integration.story.mdx +33 -0
  161. package/docs/guides/a11y.story.mdx +7 -0
  162. package/docs/guides/theming.story.mdx +7 -0
  163. package/docs/introduction.story.mdx +17 -0
  164. package/jest.config.js +19 -0
  165. package/package.json +101 -0
  166. package/postcss.config.js +3 -0
  167. package/rollup.config.js +36 -0
  168. package/scripts/create-exports.js +74 -0
  169. package/scripts/update-license.js +8 -0
  170. package/squarezero.config.js +5 -0
  171. package/src/components/Alert/Alert.module.css +50 -0
  172. package/src/components/Alert/Alert.spec.tsx +63 -0
  173. package/src/components/Alert/Alert.story.tsx +23 -0
  174. package/src/components/Alert/index.tsx +67 -0
  175. package/src/components/Allow/Allow.spec.tsx +37 -0
  176. package/src/components/Allow/index.tsx +42 -0
  177. package/src/components/App/App.module.css +22 -0
  178. package/src/components/App/App.spec.tsx +128 -0
  179. package/src/components/App/index.tsx +108 -0
  180. package/src/components/AutoSuggest/AutoSuggest.module.css +8 -0
  181. package/src/components/AutoSuggest/AutoSuggest.spec.tsx +211 -0
  182. package/src/components/AutoSuggest/AutoSuggest.story.tsx +30 -0
  183. package/src/components/AutoSuggest/index.tsx +216 -0
  184. package/src/components/Button/Button.module.css +95 -0
  185. package/src/components/Button/Button.spec.tsx +69 -0
  186. package/src/components/Button/Button.story.tsx +39 -0
  187. package/src/components/Button/index.tsx +99 -0
  188. package/src/components/CalendarInput/CalendarInput.module.css +8 -0
  189. package/src/components/CalendarInput/CalendarInput.spec.tsx +206 -0
  190. package/src/components/CalendarInput/CalendarInput.story.tsx +62 -0
  191. package/src/components/CalendarInput/index.tsx +122 -0
  192. package/src/components/CheckboxList/CheckboxList.spec.tsx +83 -0
  193. package/src/components/CheckboxList/index.tsx +53 -0
  194. package/src/components/ConnectedDropdown/index.tsx +56 -0
  195. package/src/components/ConnectedList/index.tsx +15 -0
  196. package/src/components/ConnectedScene/index.tsx +95 -0
  197. package/src/components/ConnectedTable/index.tsx +17 -0
  198. package/src/components/ContentBlock/ContentBlock.module.css +8 -0
  199. package/src/components/ContentBlock/ContentBlock.spec.tsx +15 -0
  200. package/src/components/ContentBlock/index.tsx +16 -0
  201. package/src/components/DateInput/DateInput.module.css +15 -0
  202. package/src/components/DateInput/DateInput.spec.tsx +91 -0
  203. package/src/components/DateInput/index.tsx +149 -0
  204. package/src/components/Document/index.tsx +20 -0
  205. package/src/components/Dropdown/Dropdown.module.css +8 -0
  206. package/src/components/Dropdown/Dropdown.spec.tsx +286 -0
  207. package/src/components/Dropdown/Dropdown.story.tsx +53 -0
  208. package/src/components/Dropdown/index.tsx +224 -0
  209. package/src/components/Fieldset/Fieldset.spec.tsx +22 -0
  210. package/src/components/Fieldset/Fieldset.story.tsx +21 -0
  211. package/src/components/Fieldset/index.tsx +30 -0
  212. package/src/components/FileInput/FileInput.module.css +18 -0
  213. package/src/components/FileInput/FileInput.spec.tsx +42 -0
  214. package/src/components/FileInput/FileInput.story.tsx +6 -0
  215. package/src/components/FileInput/index.tsx +72 -0
  216. package/src/components/FilterLink/FilterLink.module.css +9 -0
  217. package/src/components/FilterLink/FilterLink.spec.tsx +20 -0
  218. package/src/components/FilterLink/index.tsx +31 -0
  219. package/src/components/Form/Form.spec.tsx +68 -0
  220. package/src/components/Form/index.tsx +87 -0
  221. package/src/components/FormActions/FormActions.spec.tsx +10 -0
  222. package/src/components/FormActions/FormActions.story.tsx +23 -0
  223. package/src/components/FormActions/index.tsx +31 -0
  224. package/src/components/FormField/FormField.module.css +71 -0
  225. package/src/components/FormField/FormField.spec.tsx +137 -0
  226. package/src/components/FormField/FormField.story.tsx +22 -0
  227. package/src/components/FormField/index.tsx +162 -0
  228. package/src/components/FormRepeater/FormRepeater.module.css +3 -0
  229. package/src/components/FormRepeater/FormRepeater.spec.tsx +127 -0
  230. package/src/components/FormRepeater/index.tsx +118 -0
  231. package/src/components/ImageInput/ImageInput.module.css +74 -0
  232. package/src/components/ImageInput/ImageInput.spec.tsx +45 -0
  233. package/src/components/ImageInput/ImageInput.story.tsx +6 -0
  234. package/src/components/ImageInput/index.tsx +91 -0
  235. package/src/components/InfoPanel/InfoPanel.module.css +18 -0
  236. package/src/components/InfoPanel/InfoPanel.spec.tsx +15 -0
  237. package/src/components/InfoPanel/InfoPanel.story.tsx +32 -0
  238. package/src/components/InfoPanel/index.tsx +25 -0
  239. package/src/components/Link/Link.spec.tsx +62 -0
  240. package/src/components/Link/__mocks__/index.tsx +24 -0
  241. package/src/components/Link/index.tsx +51 -0
  242. package/src/components/List/List.module.css +9 -0
  243. package/src/components/List/List.spec.tsx +311 -0
  244. package/src/components/List/List.story.tsx +92 -0
  245. package/src/components/List/index.tsx +79 -0
  246. package/src/components/ListActions/ListActions.spec.tsx +10 -0
  247. package/src/components/ListActions/ListActions.story.tsx +6 -0
  248. package/src/components/ListActions/index.tsx +31 -0
  249. package/src/components/LoginForm/LoginForm.module.css +21 -0
  250. package/src/components/LoginForm/LoginForm.spec.tsx +63 -0
  251. package/src/components/LoginForm/index.tsx +102 -0
  252. package/src/components/Message/Message.module.css +14 -0
  253. package/src/components/Message/Message.spec.tsx +20 -0
  254. package/src/components/Message/index.tsx +27 -0
  255. package/src/components/ModalActions/ModalActions.module.css +5 -0
  256. package/src/components/ModalActions/ModalActions.spec.tsx +53 -0
  257. package/src/components/ModalActions/ModalActions.story.tsx +6 -0
  258. package/src/components/ModalActions/index.tsx +47 -0
  259. package/src/components/MoneyInput/MoneyInput.spec.tsx +17 -0
  260. package/src/components/MoneyInput/MoneyInput.story.tsx +6 -0
  261. package/src/components/MoneyInput/index.tsx +16 -0
  262. package/src/components/PasswordForm/PasswordForm.module.css +21 -0
  263. package/src/components/PasswordForm/index.tsx +94 -0
  264. package/src/components/PasswordInput/PasswordInput.module.css +23 -0
  265. package/src/components/PasswordInput/PasswordInput.spec.tsx +31 -0
  266. package/src/components/PasswordInput/PasswordInput.story.tsx +16 -0
  267. package/src/components/PasswordInput/index.tsx +27 -0
  268. package/src/components/RadioList/RadioList.spec.tsx +45 -0
  269. package/src/components/RadioList/index.tsx +10 -0
  270. package/src/components/Scene/Scene.spec.tsx +123 -0
  271. package/src/components/Scene/Scene.story.tsx +6 -0
  272. package/src/components/Scene/index.tsx +58 -0
  273. package/src/components/SummaryList/SummaryList.module.css +16 -0
  274. package/src/components/SummaryList/SummaryList.spec.tsx +77 -0
  275. package/src/components/SummaryList/SummaryList.story.tsx +11 -0
  276. package/src/components/SummaryList/index.tsx +37 -0
  277. package/src/components/Switch/Switch.module.css +86 -0
  278. package/src/components/Switch/Switch.spec.tsx +64 -0
  279. package/src/components/Switch/index.tsx +85 -0
  280. package/src/components/Table/Table.module.css +14 -0
  281. package/src/components/Table/Table.spec.tsx +128 -0
  282. package/src/components/Table/Table.story.tsx +101 -0
  283. package/src/components/Table/index.tsx +114 -0
  284. package/src/components/Tag/Tag.module.css +37 -0
  285. package/src/components/Tag/Tag.spec.tsx +10 -0
  286. package/src/components/Tag/Tag.story.tsx +55 -0
  287. package/src/components/Tag/index.tsx +27 -0
  288. package/src/components/TextArea/TextArea.module.css +23 -0
  289. package/src/components/TextArea/TextArea.spec.tsx +77 -0
  290. package/src/components/TextArea/index.tsx +59 -0
  291. package/src/components/TextInput/TextInput.module.css +57 -0
  292. package/src/components/TextInput/TextInput.spec.tsx +134 -0
  293. package/src/components/TextInput/TextInput.story.tsx +24 -0
  294. package/src/components/TextInput/index.tsx +146 -0
  295. package/src/components/WebsiteInput/WebsiteInput.spec.tsx +17 -0
  296. package/src/components/WebsiteInput/index.tsx +16 -0
  297. package/src/components/WeekCalendar/WeekCalendar.module.css +19 -0
  298. package/src/components/WeekCalendar/index.tsx +80 -0
  299. package/src/core/AppHeader/index.tsx +23 -0
  300. package/src/core/AppLogo/AppLogo.module.css +19 -0
  301. package/src/core/AppLogo/index.tsx +33 -0
  302. package/src/core/AppLogoImage/index.tsx +19 -0
  303. package/src/core/AppLogoPlaceholder/index.tsx +26 -0
  304. package/src/core/Assistive/Assistive.module.css +10 -0
  305. package/src/core/Assistive/index.tsx +18 -0
  306. package/src/core/Banner/Banner.module.css +36 -0
  307. package/src/core/Banner/index.tsx +25 -0
  308. package/src/core/BuildModal/index.tsx +119 -0
  309. package/src/core/Calendar/index.tsx +116 -0
  310. package/src/core/CalendarDay/CalendarDay.module.css +61 -0
  311. package/src/core/CalendarDay/index.tsx +82 -0
  312. package/src/core/CalendarMonth/CalendarMonth.module.css +13 -0
  313. package/src/core/CalendarMonth/index.tsx +101 -0
  314. package/src/core/CalendarNavigation/CalendarNavigation.module.css +26 -0
  315. package/src/core/CalendarNavigation/index.tsx +56 -0
  316. package/src/core/CalendarWeek/index.tsx +95 -0
  317. package/src/core/ChkRad/ChkRad.module.css +31 -0
  318. package/src/core/ChkRad/ChkRad.spec.tsx +72 -0
  319. package/src/core/ChkRad/index.tsx +80 -0
  320. package/src/core/ChkRadIcon/ChkRadIcon.module.css +28 -0
  321. package/src/core/ChkRadIcon/index.tsx +33 -0
  322. package/src/core/ChkRadList/ChkRadList.module.css +10 -0
  323. package/src/core/ChkRadList/index.tsx +85 -0
  324. package/src/core/CloseButton/CloseButton.spec.tsx +36 -0
  325. package/src/core/CloseButton/index.tsx +31 -0
  326. package/src/core/ConfirmModal/ConfirmModal.spec.tsx +88 -0
  327. package/src/core/ConfirmModal/index.tsx +51 -0
  328. package/src/core/ConnectedRepeater/index.tsx +248 -0
  329. package/src/core/ConnectedRepeaterComponent/index.tsx +66 -0
  330. package/src/core/Container/Container.module.css +12 -0
  331. package/src/core/Container/index.tsx +35 -0
  332. package/src/core/DropdownPanel/DropdownPanel.module.css +68 -0
  333. package/src/core/DropdownPanel/index.tsx +92 -0
  334. package/src/core/EmptyMessage/EmptyMessage.module.css +18 -0
  335. package/src/core/EmptyMessage/index.tsx +31 -0
  336. package/src/core/ErrorBoundary/ErrorBoundary.spec.tsx +33 -0
  337. package/src/core/ErrorBoundary/index.tsx +42 -0
  338. package/src/core/ErrorMessage/ErrorMessage.module.css +25 -0
  339. package/src/core/ErrorMessage/ErrorMessage.spec.tsx +31 -0
  340. package/src/core/ErrorMessage/index.tsx +37 -0
  341. package/src/core/FilterItem/FilterItem.module.css +104 -0
  342. package/src/core/FilterItem/index.tsx +164 -0
  343. package/src/core/Filters/Filters.module.css +86 -0
  344. package/src/core/Filters/Filters.spec.tsx +533 -0
  345. package/src/core/Filters/index.tsx +158 -0
  346. package/src/core/FixedActions/FixedActions.module.css +24 -0
  347. package/src/core/FixedActions/index.tsx +52 -0
  348. package/src/core/FormError/FormError.module.css +7 -0
  349. package/src/core/FormError/index.tsx +18 -0
  350. package/src/core/FormLabel/FormLabel.module.css +15 -0
  351. package/src/core/FormLabel/index.tsx +25 -0
  352. package/src/core/FormLegend/FormLegend.module.css +13 -0
  353. package/src/core/FormLegend/index.tsx +18 -0
  354. package/src/core/Header/Header.module.css +35 -0
  355. package/src/core/Header/index.tsx +37 -0
  356. package/src/core/Icon/Icon.spec.tsx +31 -0
  357. package/src/core/Icon/index.tsx +64 -0
  358. package/src/core/IconButton/Icon/Icon.spec.tsx +31 -0
  359. package/src/core/IconButton/Icon/index.tsx +64 -0
  360. package/src/core/IconButton/IconButton.module.css +32 -0
  361. package/src/core/IconButton/index.tsx +55 -0
  362. package/src/core/InputPanel/InputPanel.module.css +70 -0
  363. package/src/core/InputPanel/index.tsx +28 -0
  364. package/src/core/ListItem/ListItem.module.css +28 -0
  365. package/src/core/ListItem/ListItem.story.tsx +28 -0
  366. package/src/core/ListItem/index.tsx +99 -0
  367. package/src/core/ListItemAction/ListItemAction.module.css +28 -0
  368. package/src/core/ListItemAction/index.tsx +30 -0
  369. package/src/core/ListItemActions/ListItemActions.module.css +94 -0
  370. package/src/core/ListItemActions/index.tsx +55 -0
  371. package/src/core/ListItemMetaItem/ListItemMetaItem.module.css +18 -0
  372. package/src/core/ListItemMetaItem/index.tsx +54 -0
  373. package/src/core/ListItemTitle/ListItemTitle.module.css +14 -0
  374. package/src/core/ListItemTitle/ListItemTitle.spec.tsx +33 -0
  375. package/src/core/ListItemTitle/index.tsx +72 -0
  376. package/src/core/Loader/Loader.module.css +57 -0
  377. package/src/core/Loader/Loader.story.tsx +8 -0
  378. package/src/core/Loader/index.tsx +27 -0
  379. package/src/core/MeActions/MeActions.module.css +45 -0
  380. package/src/core/MeActions/index.tsx +46 -0
  381. package/src/core/MePanel/MePanel.module.css +75 -0
  382. package/src/core/MePanel/index.tsx +45 -0
  383. package/src/core/Modal/Modal.module.css +84 -0
  384. package/src/core/Modal/Modal.spec.tsx +51 -0
  385. package/src/core/Modal/index.tsx +66 -0
  386. package/src/core/Navigation/Navigation.module.css +83 -0
  387. package/src/core/Navigation/Navigation.spec.tsx +101 -0
  388. package/src/core/Navigation/index.tsx +109 -0
  389. package/src/core/NavigationDivider/NavigationDivider.module.css +18 -0
  390. package/src/core/NavigationDivider/index.tsx +13 -0
  391. package/src/core/NavigationItem/NavigationItem.module.css +51 -0
  392. package/src/core/NavigationItem/index.tsx +59 -0
  393. package/src/core/Pagination/Pagination.module.css +15 -0
  394. package/src/core/Pagination/index.tsx +100 -0
  395. package/src/core/PaginationItem/PaginationItem.module.css +33 -0
  396. package/src/core/PaginationItem/index.tsx +46 -0
  397. package/src/core/Panel/Panel.module.css +15 -0
  398. package/src/core/Panel/index.tsx +31 -0
  399. package/src/core/RadialProgress/RadialProgress.module.css +78 -0
  400. package/src/core/RadialProgress/index.tsx +52 -0
  401. package/src/core/StaticTextInput/StaticTextInput.module.css +79 -0
  402. package/src/core/StaticTextInput/StaticTextInput.spec.tsx +133 -0
  403. package/src/core/StaticTextInput/index.tsx +114 -0
  404. package/src/core/Styled/Styled.spec.tsx +38 -0
  405. package/src/core/Styled/Styled.story.tsx +10 -0
  406. package/src/core/Styled/index.tsx +62 -0
  407. package/src/core/SummaryListItem/SummaryListItem.module.css +28 -0
  408. package/src/core/SummaryListItem/index.tsx +60 -0
  409. package/src/core/TableActionsCell/TableActionsCell.module.css +3 -0
  410. package/src/core/TableActionsCell/index.tsx +37 -0
  411. package/src/core/TableCell/TableCell.module.css +16 -0
  412. package/src/core/TableCell/index.tsx +39 -0
  413. package/src/core/TableHead/TableHead.module.css +12 -0
  414. package/src/core/TableHead/index.tsx +48 -0
  415. package/src/core/TableRow/index.tsx +64 -0
  416. package/src/core/Tabs/Tabs.module.css +50 -0
  417. package/src/core/Tabs/index.tsx +94 -0
  418. package/src/core/TextInputAncillary/TextInputAncillary.module.css +64 -0
  419. package/src/core/TextInputAncillary/index.tsx +72 -0
  420. package/src/core/Toast/Toast.module.css +55 -0
  421. package/src/core/Toast/Toast.spec.tsx +78 -0
  422. package/src/core/Toast/index.tsx +81 -0
  423. package/src/core/WeekCalendarDay/WeekCalendarDay.module.css +32 -0
  424. package/src/core/WeekCalendarDay/index.tsx +68 -0
  425. package/src/filters/BooleanFilter/index.tsx +46 -0
  426. package/src/filters/DateFilter/index.tsx +36 -0
  427. package/src/filters/DropdownFilter/index.tsx +53 -0
  428. package/src/filters/QuickDateFilter/index.tsx +74 -0
  429. package/src/filters/interfaces.ts +40 -0
  430. package/src/hooks/useAccessiblePanel.spec.tsx +88 -0
  431. package/src/hooks/useAccessiblePanel.ts +74 -0
  432. package/src/hooks/useAppContext.ts +77 -0
  433. package/src/hooks/useClickOutside.ts +49 -0
  434. package/src/hooks/useConnectedList.ts +26 -0
  435. package/src/hooks/useFilters.ts +26 -0
  436. package/src/hooks/useForm.spec.ts +126 -0
  437. package/src/hooks/useForm.ts +99 -0
  438. package/src/hooks/useFormData.spec.ts +40 -0
  439. package/src/hooks/useFormData.ts +27 -0
  440. package/src/hooks/useLayout.spec.ts +55 -0
  441. package/src/hooks/useLayout.ts +29 -0
  442. package/src/hooks/useModal.spec.tsx +63 -0
  443. package/src/hooks/useModal.ts +60 -0
  444. package/src/hooks/useVariant.spec.ts +14 -0
  445. package/src/hooks/useVariant.ts +34 -0
  446. package/src/index.ts +194 -0
  447. package/src/scenes/Error404Scene.tsx +5 -0
  448. package/src/services/BuildService.spec.ts +56 -0
  449. package/src/services/BuildService.ts +34 -0
  450. package/src/services/ConfirmService.ts +21 -0
  451. package/src/services/DateService.spec.ts +87 -0
  452. package/src/services/DateService.ts +137 -0
  453. package/src/services/DownloadService.spec.ts +29 -0
  454. package/src/services/DownloadService.ts +14 -0
  455. package/src/services/FilterComponentService.tsx +46 -0
  456. package/src/services/FilterService.spec.ts +87 -0
  457. package/src/services/FilterService.ts +58 -0
  458. package/src/services/FormatService.spec.ts +83 -0
  459. package/src/services/FormatService.ts +55 -0
  460. package/src/services/ToastService.spec.ts +44 -0
  461. package/src/services/ToastService.ts +19 -0
  462. package/src/styles/layout.css +64 -0
  463. package/src/styles/variables.css +85 -0
  464. package/src/typings.d.ts +4 -0
  465. package/src/utility/MockRouter/index.ts +45 -0
  466. package/src/utility/StorybookPanel/StorybookPanel.module.css +9 -0
  467. package/src/utility/StorybookPanel/index.tsx +25 -0
  468. package/src/utility/TestChangeHandler/TestChangeHandler.module.css +7 -0
  469. package/src/utility/TestChangeHandler/TestChangeHandler.spec.tsx +24 -0
  470. package/src/utility/TestChangeHandler/index.tsx +54 -0
  471. package/src/utility/create-app.tsx +29 -0
  472. package/src/utility/interfaces.ts +119 -0
  473. package/src/utility/prop-types.ts +67 -0
  474. package/tests/setupFilesAfterEnv.js +10 -0
  475. package/tsconfig.json +26 -0
  476. package/tsconfig.types.json +9 -0
@@ -0,0 +1,36 @@
1
+ /// <reference types="react" />
2
+ import type { FormFieldComponentProps } from '../components/FormField';
3
+ import type { InputValue, Remote, SimpleObject } from '../utility/interfaces';
4
+ interface PanelOptions {
5
+ isScrollable?: boolean;
6
+ size?: 'sm' | 'md' | 'lg';
7
+ }
8
+ export interface FilterOptions {
9
+ data?: SimpleObject[] | string[];
10
+ label: string;
11
+ name: string;
12
+ props?: Record<string, unknown>;
13
+ remote?: Remote;
14
+ }
15
+ export interface FilterFieldProps extends FormFieldComponentProps {
16
+ data?: SimpleObject[] | string[];
17
+ extraProps?: Record<string, unknown>;
18
+ panelIndex?: number;
19
+ setPanelIndex?: React.Dispatch<React.SetStateAction<number>>;
20
+ }
21
+ export interface RenderSummaryArgs {
22
+ data?: SimpleObject[] | string[];
23
+ props?: Record<string, unknown>;
24
+ value?: InputValue;
25
+ }
26
+ export interface FilterField {
27
+ data?: SimpleObject[] | string[];
28
+ label: string;
29
+ name: string;
30
+ panelOptions?: PanelOptions | PanelOptions[];
31
+ props?: Record<string, unknown>;
32
+ remote?: Remote;
33
+ renderField: (props: FilterFieldProps) => React.ReactNode;
34
+ renderSummary?: (args: RenderSummaryArgs) => string;
35
+ }
36
+ export {};
@@ -0,0 +1,13 @@
1
+ import type { KeyboardEventHandler } from 'react';
2
+ import type { SimpleEventHandler, SimpleObject } from '../utility/interfaces';
3
+ interface UseAccessiblePanelArgs {
4
+ data?: SimpleObject[];
5
+ name: string;
6
+ onChange?: SimpleEventHandler;
7
+ value?: (number | string)[] | number | string;
8
+ }
9
+ interface UseAccessiblePanelReturn<T> {
10
+ handleKeyboard: KeyboardEventHandler<T>;
11
+ }
12
+ declare const useAccessiblePanel: <T = HTMLButtonElement | HTMLInputElement>({ data, name, onChange, value, }: UseAccessiblePanelArgs) => UseAccessiblePanelReturn<T>;
13
+ export default useAccessiblePanel;
@@ -0,0 +1,37 @@
1
+ /// <reference types="react" />
2
+ import type { NavigationObject } from '../utility/interfaces';
3
+ export interface Me {
4
+ name: string;
5
+ permissions?: string[];
6
+ }
7
+ interface AppContextObject {
8
+ auth: {
9
+ identifier?: string;
10
+ identifierLabel?: string;
11
+ tfa?: boolean;
12
+ } | null;
13
+ Logo: React.ComponentType<{
14
+ isReverse?: boolean;
15
+ }> | null;
16
+ me: Me | null;
17
+ name: string;
18
+ navigation: (NavigationObject | string)[];
19
+ paths: {
20
+ api?: string;
21
+ app?: string;
22
+ };
23
+ style: {
24
+ brand?: string;
25
+ layout?: string;
26
+ } | null;
27
+ }
28
+ export interface Config extends Partial<AppContextObject> {
29
+ name: AppContextObject['name'];
30
+ }
31
+ interface AppContextProviderProps {
32
+ children: React.ReactNode;
33
+ value: Config;
34
+ }
35
+ export declare const AppContextProvider: React.FunctionComponent<AppContextProviderProps>;
36
+ declare const useAppContext: () => AppContextObject;
37
+ export default useAppContext;
@@ -0,0 +1,3 @@
1
+ import type { MutableRefObject } from 'react';
2
+ declare const useClickOutside: () => [boolean, (bool: boolean) => void, MutableRefObject<HTMLDivElement | null>];
3
+ export default useClickOutside;
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import type { ListFunctions } from '../core/ConnectedRepeater';
3
+ interface UseConnectedListReturn extends ListFunctions {
4
+ ConnectedList: React.FunctionComponent;
5
+ }
6
+ declare const useConnectedList: () => UseConnectedListReturn;
7
+ export default useConnectedList;
@@ -0,0 +1,3 @@
1
+ import type { FilterMap, FilterOptions } from '../services/FilterService';
2
+ declare const useFilters: (options?: FilterOptions | undefined) => [FilterMap, (data: FilterMap) => void];
3
+ export default useFilters;
@@ -0,0 +1,26 @@
1
+ import type { InputValue } from '../utility/interfaces';
2
+ interface ApiResponseObject<T = Record<string, unknown>> {
3
+ data: T & {
4
+ errors?: Record<string, [string]>;
5
+ };
6
+ headers: Headers;
7
+ status: number;
8
+ url: string;
9
+ }
10
+ interface UseFormArgs {
11
+ errorMessage?: string | false;
12
+ formData: Record<string, InputValue>;
13
+ method?: 'get' | 'patch' | 'post';
14
+ successMessage?: string | false;
15
+ url: string;
16
+ onSubmitSuccess?: (response: ApiResponseObject) => void;
17
+ onSubmitError?: (err?: Error) => void;
18
+ transformRequest?: (data: Record<string, InputValue>) => Record<string, InputValue>;
19
+ }
20
+ interface UseFormReturn {
21
+ errors: Record<string, string>;
22
+ isLoading: boolean;
23
+ handleSubmit: () => void;
24
+ }
25
+ declare const useForm: ({ errorMessage, formData, method, successMessage, url, onSubmitSuccess, onSubmitError, transformRequest, }: UseFormArgs) => UseFormReturn;
26
+ export default useForm;
@@ -0,0 +1,9 @@
1
+ import type { InputValue } from '../utility/interfaces';
2
+ export interface FormDataArgs {
3
+ data?: Record<string, InputValue>;
4
+ defaults?: Record<string, InputValue>;
5
+ fields?: string[];
6
+ }
7
+ export declare type FormDataReturn = [Record<string, InputValue>, (key: string, value: InputValue) => void];
8
+ declare const useFormData: ({ data, defaults, fields }: FormDataArgs) => FormDataReturn;
9
+ export default useFormData;
@@ -0,0 +1,6 @@
1
+ interface UseLayoutReturn {
2
+ layout: string | null;
3
+ applyLayoutClassName: (styles: Record<string, string>, prefix?: string) => string | null;
4
+ }
5
+ declare const useLayout: () => UseLayoutReturn;
6
+ export default useLayout;
@@ -0,0 +1,12 @@
1
+ /// <reference types="react" />
2
+ import type { ModalProps } from '../core/Modal';
3
+ interface UseModalOptions {
4
+ onClose?: React.MouseEventHandler<HTMLButtonElement>;
5
+ }
6
+ interface UseModalReturn {
7
+ closeModal: () => void;
8
+ Modal: React.FunctionComponent<ModalProps>;
9
+ openModal: () => void;
10
+ }
11
+ declare const useModal: (options?: UseModalOptions | undefined) => UseModalReturn;
12
+ export default useModal;
@@ -0,0 +1,6 @@
1
+ import type { StyleVariant } from '../utility/interfaces';
2
+ interface UseVariantReturn {
3
+ applyVariantClassName: (styles: Record<string, string>, prefix?: string) => string | null;
4
+ }
5
+ declare const useVariant: <T = StyleVariant>(variant?: T | T[] | undefined) => UseVariantReturn;
6
+ export default useVariant;
@@ -0,0 +1,187 @@
1
+ import 'regenerator-runtime/runtime.js';
2
+ export * from './utility/interfaces';
3
+ export { default as createApp } from './utility/create-app';
4
+ export { ApiService, AuthService, EventService, StorageService } from '@sqrzro/utility';
5
+ export * from './components/Alert';
6
+ export { default as Alert } from './components/Alert';
7
+ export * from './components/Allow';
8
+ export { default as Allow } from './components/Allow';
9
+ export * from './components/App';
10
+ export { default as App } from './components/App';
11
+ export * from './components/AutoSuggest';
12
+ export { default as AutoSuggest } from './components/AutoSuggest';
13
+ export * from './components/Button';
14
+ export { default as Button } from './components/Button';
15
+ export * from './components/CalendarInput';
16
+ export { default as CalendarInput } from './components/CalendarInput';
17
+ export * from './components/CheckboxList';
18
+ export { default as CheckboxList } from './components/CheckboxList';
19
+ export * from './components/ConnectedDropdown';
20
+ export { default as ConnectedDropdown } from './components/ConnectedDropdown';
21
+ export * from './components/ConnectedList';
22
+ export { default as ConnectedList } from './components/ConnectedList';
23
+ export * from './components/ConnectedScene';
24
+ export { default as ConnectedScene } from './components/ConnectedScene';
25
+ export * from './components/ConnectedTable';
26
+ export { default as ConnectedTable } from './components/ConnectedTable';
27
+ export * from './components/ContentBlock';
28
+ export { default as ContentBlock } from './components/ContentBlock';
29
+ export * from './components/DateInput';
30
+ export { default as DateInput } from './components/DateInput';
31
+ export * from './components/Document';
32
+ export { default as Document } from './components/Document';
33
+ export * from './components/Dropdown';
34
+ export { default as Dropdown } from './components/Dropdown';
35
+ export * from './components/Fieldset';
36
+ export { default as Fieldset } from './components/Fieldset';
37
+ export * from './components/FileInput';
38
+ export { default as FileInput } from './components/FileInput';
39
+ export * from './components/FilterLink';
40
+ export { default as FilterLink } from './components/FilterLink';
41
+ export * from './components/Form';
42
+ export { default as Form } from './components/Form';
43
+ export * from './components/FormActions';
44
+ export { default as FormActions } from './components/FormActions';
45
+ export * from './components/FormField';
46
+ export { default as FormField } from './components/FormField';
47
+ export * from './components/FormRepeater';
48
+ export { default as FormRepeater } from './components/FormRepeater';
49
+ export * from './components/ImageInput';
50
+ export { default as ImageInput } from './components/ImageInput';
51
+ export * from './components/InfoPanel';
52
+ export { default as InfoPanel } from './components/InfoPanel';
53
+ export * from './components/Link';
54
+ export { default as Link } from './components/Link';
55
+ export * from './components/List';
56
+ export { default as List } from './components/List';
57
+ export * from './components/ListActions';
58
+ export { default as ListActions } from './components/ListActions';
59
+ export * from './components/LoginForm';
60
+ export { default as LoginForm } from './components/LoginForm';
61
+ export * from './components/Message';
62
+ export { default as Message } from './components/Message';
63
+ export * from './components/ModalActions';
64
+ export { default as ModalActions } from './components/ModalActions';
65
+ export * from './components/MoneyInput';
66
+ export { default as MoneyInput } from './components/MoneyInput';
67
+ export * from './components/PasswordForm';
68
+ export { default as PasswordForm } from './components/PasswordForm';
69
+ export * from './components/PasswordInput';
70
+ export { default as PasswordInput } from './components/PasswordInput';
71
+ export * from './components/RadioList';
72
+ export { default as RadioList } from './components/RadioList';
73
+ export * from './components/Scene';
74
+ export { default as Scene } from './components/Scene';
75
+ export * from './components/SummaryList';
76
+ export { default as SummaryList } from './components/SummaryList';
77
+ export * from './components/Switch';
78
+ export { default as Switch } from './components/Switch';
79
+ export * from './components/Table';
80
+ export { default as Table } from './components/Table';
81
+ export * from './components/Tag';
82
+ export { default as Tag } from './components/Tag';
83
+ export * from './components/TextArea';
84
+ export { default as TextArea } from './components/TextArea';
85
+ export * from './components/TextInput';
86
+ export { default as TextInput } from './components/TextInput';
87
+ export * from './components/WebsiteInput';
88
+ export { default as WebsiteInput } from './components/WebsiteInput';
89
+ export * from './components/WeekCalendar';
90
+ export { default as WeekCalendar } from './components/WeekCalendar';
91
+ export * from './core/AppHeader';
92
+ export * from './core/AppLogo';
93
+ export * from './core/AppLogoImage';
94
+ export * from './core/AppLogoPlaceholder';
95
+ export * from './core/Assistive';
96
+ export * from './core/Banner';
97
+ export * from './core/BuildModal';
98
+ export * from './core/Calendar';
99
+ export * from './core/CalendarDay';
100
+ export * from './core/CalendarMonth';
101
+ export * from './core/CalendarNavigation';
102
+ export * from './core/CalendarWeek';
103
+ export * from './core/ChkRad';
104
+ export * from './core/ChkRadIcon';
105
+ export * from './core/ChkRadList';
106
+ export * from './core/CloseButton';
107
+ export * from './core/ConfirmModal';
108
+ export * from './core/ConnectedRepeater';
109
+ export * from './core/ConnectedRepeaterComponent';
110
+ export * from './core/Container';
111
+ export * from './core/DropdownPanel';
112
+ export * from './core/EmptyMessage';
113
+ export * from './core/ErrorBoundary';
114
+ export * from './core/ErrorMessage';
115
+ export * from './core/FilterItem';
116
+ export * from './core/Filters';
117
+ export * from './core/FixedActions';
118
+ export * from './core/FormError';
119
+ export * from './core/FormLabel';
120
+ export * from './core/FormLegend';
121
+ export * from './core/Header';
122
+ export * from './core/Icon';
123
+ export * from './core/IconButton';
124
+ export * from './core/InputPanel';
125
+ export * from './core/ListItem';
126
+ export * from './core/ListItemAction';
127
+ export * from './core/ListItemActions';
128
+ export * from './core/ListItemMetaItem';
129
+ export * from './core/ListItemTitle';
130
+ export * from './core/Loader';
131
+ export * from './core/MeActions';
132
+ export * from './core/MePanel';
133
+ export * from './core/Modal';
134
+ export * from './core/Navigation';
135
+ export * from './core/NavigationDivider';
136
+ export * from './core/NavigationItem';
137
+ export * from './core/Pagination';
138
+ export * from './core/PaginationItem';
139
+ export * from './core/Panel';
140
+ export * from './core/RadialProgress';
141
+ export * from './core/StaticTextInput';
142
+ export * from './core/Styled';
143
+ export * from './core/SummaryListItem';
144
+ export * from './core/TableActionsCell';
145
+ export * from './core/TableCell';
146
+ export * from './core/TableHead';
147
+ export * from './core/TableRow';
148
+ export * from './core/Tabs';
149
+ export * from './core/TextInputAncillary';
150
+ export * from './core/Toast';
151
+ export * from './core/WeekCalendarDay';
152
+ export * from './hooks/useAccessiblePanel';
153
+ export { default as useAccessiblePanel } from './hooks/useAccessiblePanel';
154
+ export * from './hooks/useAppContext';
155
+ export { default as useAppContext } from './hooks/useAppContext';
156
+ export * from './hooks/useClickOutside';
157
+ export { default as useClickOutside } from './hooks/useClickOutside';
158
+ export * from './hooks/useConnectedList';
159
+ export { default as useConnectedList } from './hooks/useConnectedList';
160
+ export * from './hooks/useFilters';
161
+ export { default as useFilters } from './hooks/useFilters';
162
+ export * from './hooks/useForm';
163
+ export { default as useForm } from './hooks/useForm';
164
+ export * from './hooks/useFormData';
165
+ export { default as useFormData } from './hooks/useFormData';
166
+ export * from './hooks/useLayout';
167
+ export { default as useLayout } from './hooks/useLayout';
168
+ export * from './hooks/useModal';
169
+ export { default as useModal } from './hooks/useModal';
170
+ export * from './hooks/useVariant';
171
+ export { default as useVariant } from './hooks/useVariant';
172
+ export * from './services/BuildService';
173
+ export { default as BuildService } from './services/BuildService';
174
+ export * from './services/ConfirmService';
175
+ export { default as ConfirmService } from './services/ConfirmService';
176
+ export * from './services/DateService';
177
+ export { default as DateService } from './services/DateService';
178
+ export * from './services/DownloadService';
179
+ export { default as DownloadService } from './services/DownloadService';
180
+ export * from './services/FilterComponentService';
181
+ export { default as FilterComponentService } from './services/FilterComponentService';
182
+ export * from './services/FilterService';
183
+ export { default as FilterService } from './services/FilterService';
184
+ export * from './services/FormatService';
185
+ export { default as FormatService } from './services/FormatService';
186
+ export * from './services/ToastService';
187
+ export { default as ToastService } from './services/ToastService';
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const Error404Scene: React.FunctionComponent;
3
+ export default Error404Scene;
@@ -0,0 +1,5 @@
1
+ declare const BuildService: {
2
+ start: () => Promise<void>;
3
+ open: () => boolean;
4
+ };
5
+ export default BuildService;
@@ -0,0 +1,12 @@
1
+ import type { ReactNode } from 'react';
2
+ export interface ConfirmModalData {
3
+ description: ReactNode;
4
+ label?: string;
5
+ onConfirm?: () => void;
6
+ }
7
+ export interface ConfirmObject {
8
+ ask: (data: ConfirmModalData) => boolean;
9
+ close: () => boolean;
10
+ }
11
+ declare const ConfirmService: ConfirmObject;
12
+ export default ConfirmService;
@@ -0,0 +1,17 @@
1
+ import type { SimpleObject } from '../utility/interfaces';
2
+ interface DateItem {
3
+ id: number;
4
+ name: string | null;
5
+ }
6
+ declare const DateService: {
7
+ addMonths: (date: string, amount: number) => string;
8
+ getDaysInMonth: (date: string) => number;
9
+ getDayOfWeek: (date: string) => number;
10
+ getDays: () => DateItem[];
11
+ getMonths: () => DateItem[];
12
+ getQuickDates: () => SimpleObject[];
13
+ getYears: (startYear?: number, endYear?: number) => DateItem[];
14
+ isToday: (date: string) => boolean;
15
+ subMonths: (date: string, amount: number) => string;
16
+ };
17
+ export default DateService;
@@ -0,0 +1,5 @@
1
+ declare const _default: {
2
+ download: (alias: string) => void;
3
+ makeUrl: (alias: string) => string;
4
+ };
5
+ export default _default;
@@ -0,0 +1,8 @@
1
+ import type { FilterField, FilterOptions } from '../filters/interfaces';
2
+ declare const FilterComponentService: {
3
+ boolean: (options: FilterOptions) => FilterField;
4
+ date: (options: FilterOptions) => FilterField;
5
+ dropdown: (options: FilterOptions) => FilterField;
6
+ quickDate: (options: FilterOptions) => FilterField;
7
+ };
8
+ export default FilterComponentService;
@@ -0,0 +1,13 @@
1
+ interface Query {
2
+ [key: string]: Query | Query[] | string[] | string;
3
+ }
4
+ export declare type FilterMap = Map<string, string[] | string | null>;
5
+ export interface FilterOptions {
6
+ shouldFilterPage?: boolean;
7
+ }
8
+ declare const _default: {
9
+ getUrlForFilters: (data?: Query | undefined, includePathname?: boolean) => string;
10
+ makeUrl: (data: FilterMap, includePathname?: boolean) => string;
11
+ parseQuery: (query?: Query | undefined, options?: FilterOptions | undefined) => FilterMap;
12
+ };
13
+ export default _default;
@@ -0,0 +1,7 @@
1
+ declare const FormatService: {
2
+ date: (value?: unknown, formatString?: string) => string;
3
+ datetime: (value?: unknown) => string;
4
+ money: (value?: unknown) => string;
5
+ twoDigits: (value?: unknown) => string;
6
+ };
7
+ export default FormatService;
@@ -0,0 +1,5 @@
1
+ declare const ToastService: {
2
+ success: (message: string) => void;
3
+ error: (message: string) => void;
4
+ };
5
+ export default ToastService;
@@ -0,0 +1,2 @@
1
+ import type { NextRouter } from 'next/router';
2
+ export declare const createMockRouter: (pathname?: string | undefined, query?: Record<string, string> | undefined) => NextRouter;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ interface StorybookPanelProps {
3
+ children: React.ReactNode;
4
+ isDeep?: boolean;
5
+ }
6
+ declare const StorybookPanel: React.FunctionComponent<StorybookPanelProps>;
7
+ export default StorybookPanel;
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import type { InputValue } from '../interfaces';
3
+ interface TestChangeHandlerProps {
4
+ children: React.ReactNode;
5
+ defaultValue?: InputValue;
6
+ }
7
+ declare const TestChangeHandler: React.FunctionComponent<TestChangeHandlerProps>;
8
+ export default TestChangeHandler;
@@ -0,0 +1,4 @@
1
+ import type { AppType } from '../components/App';
2
+ import type { Config } from '../hooks/useAppContext';
3
+ declare const createApp: (config: Config) => AppType;
4
+ export default createApp;
@@ -0,0 +1,72 @@
1
+ import type { FunctionComponent, KeyboardEventHandler, MouseEventHandler } from 'react';
2
+ import type { NextRouter } from 'next/router';
3
+ export interface LayoutComponent extends FunctionComponent<{
4
+ children: React.ReactNode;
5
+ }> {
6
+ }
7
+ export interface SceneComponentType extends FunctionComponent<{
8
+ router: NextRouter;
9
+ }> {
10
+ Layout?: LayoutComponent;
11
+ hasLayout?: boolean;
12
+ }
13
+ export interface SimpleAction {
14
+ isDisabled?: boolean | null;
15
+ label: string;
16
+ onClick: () => void;
17
+ variant?: ButtonVariant | ButtonVariant[];
18
+ }
19
+ export interface NavigationObject {
20
+ label: string;
21
+ to?: string | null;
22
+ onClick?: MouseEventHandler<HTMLAnchorElement | HTMLButtonElement>;
23
+ permission?: string;
24
+ }
25
+ export declare type Remote = string | [string, Record<string, string[] | string | null>];
26
+ export interface SimpleObject {
27
+ id: number | string;
28
+ name: string;
29
+ }
30
+ declare type SimpleActionFunction = (data?: Record<string, unknown>) => SimpleAction[];
31
+ export interface TransformedObject {
32
+ [key: string]: unknown;
33
+ $id: number | string;
34
+ $actions?: SimpleAction[] | SimpleActionFunction | null;
35
+ $original?: Record<string, unknown>;
36
+ }
37
+ export declare type Transformer<T = Record<string, unknown>> = ((item: T) => TransformedObject) | [(item: T) => TransformedObject, SimpleAction[] | SimpleActionFunction];
38
+ export interface SimpleEventTarget<T = InputValue> {
39
+ name: string;
40
+ value: T;
41
+ readonly checked?: boolean;
42
+ readonly type?: string;
43
+ }
44
+ export declare type InputValue = File | InputValue[] | boolean | number | string | null;
45
+ export interface SimpleEvent<T = InputValue> {
46
+ item?: SimpleObject;
47
+ target: SimpleEventTarget<T>;
48
+ }
49
+ export declare type SimpleEventHandler<P = InputValue, T = SimpleEvent<P>> = (event: T) => void;
50
+ export declare type StyleVariant = 'bordered' | 'danger' | 'primary' | 'secondary' | 'success' | 'tertiary' | 'warning';
51
+ export declare type ButtonVariant = StyleVariant | 'link';
52
+ export interface InputProps<T = InputValue, E = HTMLInputElement> {
53
+ /** Whether or not the field has a validation error */
54
+ hasError?: boolean;
55
+ id?: string;
56
+ isDisabled?: boolean;
57
+ /** The name of the field */
58
+ name: string;
59
+ onChange?: SimpleEventHandler<T>;
60
+ onKeyDown?: KeyboardEventHandler<E>;
61
+ /** The value of the field */
62
+ value?: T;
63
+ }
64
+ export interface PaginationObject {
65
+ activePage: number;
66
+ pageCount: number;
67
+ }
68
+ export declare const isString: (variable: unknown) => variable is string;
69
+ export declare const isStringArray: (variable: unknown) => variable is string[];
70
+ export declare const isSimpleObject: (variable: unknown) => variable is SimpleObject;
71
+ export declare const isSimpleObjectArray: (variable: unknown) => variable is SimpleObject[];
72
+ export {};
@@ -0,0 +1,40 @@
1
+ import PropTypes from 'prop-types';
2
+ import type { ButtonVariant, StyleVariant } from './interfaces';
3
+ export declare const NextRouterPropType: PropTypes.Requireable<PropTypes.InferProps<{
4
+ asPath: PropTypes.Validator<string>;
5
+ back: PropTypes.Validator<(...args: any[]) => any>;
6
+ basePath: PropTypes.Validator<string>;
7
+ beforePopState: PropTypes.Validator<(...args: any[]) => any>;
8
+ events: PropTypes.Validator<PropTypes.InferProps<{
9
+ emit: PropTypes.Validator<(...args: any[]) => any>;
10
+ off: PropTypes.Validator<(...args: any[]) => any>;
11
+ on: PropTypes.Validator<(...args: any[]) => any>;
12
+ }>>;
13
+ isFallback: PropTypes.Validator<boolean>;
14
+ isLocaleDomain: PropTypes.Validator<boolean>;
15
+ isPreview: PropTypes.Validator<boolean>;
16
+ isReady: PropTypes.Validator<boolean>;
17
+ pathname: PropTypes.Validator<string>;
18
+ prefetch: PropTypes.Validator<(...args: any[]) => any>;
19
+ push: PropTypes.Validator<(...args: any[]) => any>;
20
+ query: PropTypes.Validator<PropTypes.InferProps<{}>>;
21
+ reload: PropTypes.Validator<(...args: any[]) => any>;
22
+ replace: PropTypes.Validator<(...args: any[]) => any>;
23
+ route: PropTypes.Validator<string>;
24
+ }>>;
25
+ export declare const StyleVariantPropType: PropTypes.Requireable<StyleVariant | StyleVariant[]>;
26
+ export declare const ButtonVariantPropType: PropTypes.Requireable<ButtonVariant | ButtonVariant[]>;
27
+ export declare const AppPropTypes: {
28
+ Component: PropTypes.Validator<(...args: any[]) => any>;
29
+ config: PropTypes.Requireable<PropTypes.InferProps<{
30
+ auth: PropTypes.Requireable<PropTypes.InferProps<{}>>;
31
+ name: PropTypes.Validator<string>;
32
+ navigation: PropTypes.Validator<(string | PropTypes.InferProps<{
33
+ label: PropTypes.Validator<string>;
34
+ to: PropTypes.Requireable<string>;
35
+ }>)[]>;
36
+ paths: PropTypes.Validator<PropTypes.InferProps<{}>>;
37
+ style: PropTypes.Requireable<PropTypes.InferProps<{}>>;
38
+ }>>;
39
+ Logo: PropTypes.Requireable<(...args: any[]) => any>;
40
+ };
@@ -0,0 +1,33 @@
1
+ import { Meta } from '@storybook/addon-docs/blocks';
2
+
3
+ <Meta title="Guides/Installation" />
4
+
5
+ # Installation
6
+
7
+ The easiest way to get started is to use Square Zero with the following command:
8
+
9
+ ```
10
+ npx squarezero new example-project —template=admin
11
+ ```
12
+
13
+ Square Zero is a command line tool for quickly generating React and Next.js projects of all shapes and sizes. [You can find out more about Square Zero here](https://sqrzro.com). Handily, it comes with a default template for Square Zero Admin.
14
+
15
+ Running the above command will create a directory named ‘example-project’, and install a basic admin framework into it, including all dependencies.
16
+
17
+ Now you’ll need to update the config file to define certain variables, such as the URL for your backend API, navigation links, general look and feel of the admin, and so on. [You can find a full list of configuration options here](/story/guides-configuration--page), and more [information specifically about the navigation options here](/story/guides-pages-routing--page). The config file is located at `src/config/index.js`. You will find some predefined values there. Feel free to edit those, and add others, to get the admin panel how you would like it.
18
+
19
+ ### A note about API paths
20
+
21
+ As you can see from the config file, by default the API path is set to read from an ‘env.js’ file included in the root. This file is excluded from git, and allows you to define different backend URLs for the same admin panel in different environments. I.e. local, staging, and production versions can all point to different backend URLs.
22
+
23
+ Now that your admin panel is installed and your config updated, you should be able to run the following in the root directory:
24
+
25
+ ```
26
+ yarn start
27
+ ```
28
+
29
+ This will start an instance of the admin system at http://localhost:8080, which you can visit in a browser. At the moment, there will simply be a login screen and a blank Dashboard page. For more information about [integrating your backend to enable authentication, click here](/story/guides-integration-with-api--page). If you’ve got that all set up and you’d like to start [adding your own pages, you can head over to here](/story/guides-pages-routing--page).
30
+
31
+ ## Manual Installation
32
+
33
+ Although it is strongly advised that you install Square Zero Admin via the method above, there are potentially a few cases where you would want to install it manually. Full documentation for this is coming soon.