@sqrzro/admin 2.0.0 → 2.1.0-bz.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 (704) hide show
  1. package/.babelrc.json +16 -0
  2. package/.eslintignore +6 -0
  3. package/.eslintrc +1 -4
  4. package/.sqrzrorc +5 -0
  5. package/.storybook/main.js +10 -11
  6. package/.turbo/turbo-build.log +20 -0
  7. package/.turbo/turbo-prettier.log +41 -213
  8. package/COMPONENTS.md +45 -0
  9. package/dist/components/AppLayout/index.d.ts +2 -2
  10. package/dist/components/AppLayout/index.js +7 -15
  11. package/dist/components/AppNavigation/index.d.ts +3 -0
  12. package/dist/components/AppNavigation/index.js +15 -0
  13. package/dist/components/BooleanFilter/index.d.ts +5 -0
  14. package/dist/components/BooleanFilter/index.js +19 -0
  15. package/dist/components/Config/index.d.ts +6 -0
  16. package/dist/components/Config/index.js +9 -0
  17. package/dist/components/Dashboard/index.d.ts +7 -0
  18. package/dist/components/Dashboard/index.js +5 -0
  19. package/dist/components/DateFilter/index.d.ts +6 -0
  20. package/dist/components/DateFilter/index.js +32 -0
  21. package/dist/components/DropdownFilter/index.d.ts +6 -0
  22. package/dist/components/DropdownFilter/index.js +9 -0
  23. package/dist/components/FilterBar/index.d.ts +8 -0
  24. package/dist/components/FilterBar/index.js +12 -0
  25. package/dist/components/FilterBarItem/index.d.ts +14 -0
  26. package/dist/components/FilterBarItem/index.js +31 -0
  27. package/dist/components/GridList/index.d.ts +5 -0
  28. package/dist/components/GridList/index.js +7 -0
  29. package/dist/components/GridListItem/index.d.ts +4 -0
  30. package/dist/components/GridListItem/index.js +7 -0
  31. package/dist/components/Icon/index.d.ts +8 -0
  32. package/dist/components/Icon/index.js +22 -0
  33. package/dist/components/List/index.d.ts +19 -33
  34. package/dist/components/List/index.js +19 -43
  35. package/dist/components/ListAction/index.d.ts +7 -0
  36. package/dist/components/ListAction/index.js +9 -0
  37. package/dist/components/ListActions/index.d.ts +6 -16
  38. package/dist/components/ListActions/index.js +9 -11
  39. package/dist/components/ListItem/index.d.ts +14 -0
  40. package/dist/components/ListItem/index.js +12 -0
  41. package/dist/components/LoginForm/index.d.ts +5 -2
  42. package/dist/components/LoginForm/index.js +4 -44
  43. package/dist/components/MeActions/index.d.ts +3 -0
  44. package/dist/components/MeActions/index.js +13 -0
  45. package/dist/components/MePanel/index.d.ts +3 -0
  46. package/dist/components/MePanel/index.js +9 -0
  47. package/dist/components/Page/index.d.ts +12 -0
  48. package/dist/components/Page/index.js +8 -0
  49. package/dist/components/PageActions/index.d.ts +6 -0
  50. package/dist/components/PageActions/index.js +13 -0
  51. package/dist/components/Panel/index.d.ts +7 -0
  52. package/dist/components/Panel/index.js +5 -0
  53. package/dist/components/RootLayout/index.d.ts +5 -3
  54. package/dist/components/RootLayout/index.js +12 -5
  55. package/dist/components/Table/index.d.ts +7 -26
  56. package/dist/components/Table/index.js +14 -52
  57. package/dist/components/TableClientComponent/index.d.ts +16 -0
  58. package/dist/components/TableClientComponent/index.js +44 -0
  59. package/dist/components/Tabs/index.d.ts +8 -0
  60. package/dist/components/Tabs/index.js +6 -0
  61. package/dist/components/index.d.ts +24 -0
  62. package/dist/components/index.js +13 -0
  63. package/dist/icons/ErrorIcon/index.d.ts +3 -0
  64. package/dist/icons/ErrorIcon/index.js +5 -0
  65. package/dist/icons/InfoIcon/index.d.ts +3 -0
  66. package/dist/icons/InfoIcon/index.js +5 -0
  67. package/dist/icons/SuccessIcon/index.d.ts +3 -0
  68. package/dist/icons/SuccessIcon/index.js +5 -0
  69. package/dist/icons/WarningIcon/index.d.ts +3 -0
  70. package/dist/icons/WarningIcon/index.js +5 -0
  71. package/dist/index.d.ts +2 -208
  72. package/dist/index.js +2 -212
  73. package/dist/interfaces.d.ts +4 -0
  74. package/dist/services/ConfigService.d.ts +7 -40
  75. package/dist/services/ConfigService.js +10 -48
  76. package/dist/styles/config.d.ts +3 -0
  77. package/dist/styles/config.js +82 -0
  78. package/dist/styles.css +873 -134
  79. package/dist/utility/formatters.d.ts +1 -0
  80. package/dist/utility/formatters.js +8 -0
  81. package/next-env.d.ts +5 -0
  82. package/package.json +39 -29
  83. package/src/components/AppLayout/index.tsx +21 -11
  84. package/src/components/AppNavigation/index.tsx +39 -0
  85. package/src/components/BooleanFilter/index.tsx +28 -0
  86. package/src/components/Config/index.tsx +17 -0
  87. package/src/components/Dashboard/index.tsx +15 -0
  88. package/src/components/DateFilter/index.tsx +49 -0
  89. package/src/components/DropdownFilter/index.tsx +19 -0
  90. package/src/components/FilterBar/index.tsx +35 -0
  91. package/src/components/FilterBarItem/index.tsx +126 -0
  92. package/src/components/GridList/index.tsx +11 -0
  93. package/src/components/GridListItem/index.tsx +31 -0
  94. package/src/components/Icon/index.tsx +33 -0
  95. package/src/components/List/index.tsx +52 -72
  96. package/src/components/ListAction/index.tsx +25 -0
  97. package/src/components/ListActions/index.tsx +32 -19
  98. package/src/components/ListItem/index.tsx +56 -0
  99. package/src/components/LoginForm/index.tsx +25 -105
  100. package/src/components/MeActions/index.tsx +21 -0
  101. package/src/components/MePanel/index.tsx +21 -0
  102. package/src/components/Page/index.tsx +60 -0
  103. package/src/components/PageActions/index.tsx +22 -0
  104. package/src/components/Panel/Panel.spec.tsx +10 -0
  105. package/src/components/Panel/Panel.stories.tsx +9 -0
  106. package/src/components/Panel/index.tsx +15 -0
  107. package/src/components/RootLayout/index.tsx +23 -29
  108. package/src/components/Table/index.tsx +22 -111
  109. package/src/components/TableClientComponent/index.tsx +112 -0
  110. package/src/components/Tabs/index.tsx +25 -0
  111. package/src/components/index.ts +68 -0
  112. package/src/icons/ErrorIcon/index.tsx +19 -0
  113. package/src/icons/InfoIcon/index.tsx +19 -0
  114. package/src/icons/SuccessIcon/index.tsx +19 -0
  115. package/src/icons/WarningIcon/index.tsx +19 -0
  116. package/src/index.ts +2 -214
  117. package/src/interfaces.ts +3 -0
  118. package/src/react.d.ts +12 -0
  119. package/src/services/ConfigService.ts +15 -84
  120. package/src/styles/config.ts +95 -0
  121. package/src/styles/tailwind.css +25 -35
  122. package/src/utility/formatters.ts +9 -0
  123. package/tailwind.config.js +8 -3
  124. package/tsconfig.build.json +4 -0
  125. package/tsconfig.json +3 -3
  126. package/.turbo/turbo-docs.log +0 -0
  127. package/.turbo/turbo-lint.log +0 -112
  128. package/.turbo/turbo-test.log +0 -6
  129. package/dist/components/Alert/index.d.ts +0 -4
  130. package/dist/components/Alert/index.js +0 -15
  131. package/dist/components/Allow/index.d.ts +0 -20
  132. package/dist/components/Allow/index.js +0 -29
  133. package/dist/components/AppLayout/AppLayout.stories.d.ts +0 -5
  134. package/dist/components/AppLayout/AppLayout.stories.js +0 -11
  135. package/dist/components/AutoSuggest/index.d.ts +0 -74
  136. package/dist/components/AutoSuggest/index.js +0 -143
  137. package/dist/components/Button/Button.stories.d.ts +0 -11
  138. package/dist/components/Button/Button.stories.js +0 -41
  139. package/dist/components/Button/index.d.ts +0 -49
  140. package/dist/components/Button/index.js +0 -50
  141. package/dist/components/CalendarInput/index.d.ts +0 -24
  142. package/dist/components/CalendarInput/index.js +0 -54
  143. package/dist/components/CheckboxList/index.d.ts +0 -17
  144. package/dist/components/CheckboxList/index.js +0 -25
  145. package/dist/components/CodeInput/index.d.ts +0 -9
  146. package/dist/components/CodeInput/index.js +0 -51
  147. package/dist/components/ConnectedDropdown/index.d.ts +0 -14
  148. package/dist/components/ConnectedDropdown/index.js +0 -36
  149. package/dist/components/ConnectedList/index.d.ts +0 -5
  150. package/dist/components/ConnectedList/index.js +0 -7
  151. package/dist/components/ConnectedTable/index.d.ts +0 -5
  152. package/dist/components/ConnectedTable/index.js +0 -7
  153. package/dist/components/ContentBlock/index.d.ts +0 -16
  154. package/dist/components/ContentBlock/index.js +0 -13
  155. package/dist/components/DataPanel/index.d.ts +0 -8
  156. package/dist/components/DataPanel/index.js +0 -8
  157. package/dist/components/DateInput/index.d.ts +0 -18
  158. package/dist/components/DateInput/index.js +0 -81
  159. package/dist/components/Dropdown/index.d.ts +0 -36
  160. package/dist/components/Dropdown/index.js +0 -122
  161. package/dist/components/ErrorMessage/index.d.ts +0 -16
  162. package/dist/components/ErrorMessage/index.js +0 -17
  163. package/dist/components/Fieldset/index.d.ts +0 -18
  164. package/dist/components/Fieldset/index.js +0 -19
  165. package/dist/components/FileInput/index.d.ts +0 -10
  166. package/dist/components/FileInput/index.js +0 -26
  167. package/dist/components/FilterLink/index.d.ts +0 -14
  168. package/dist/components/FilterLink/index.js +0 -15
  169. package/dist/components/Form/index.d.ts +0 -14
  170. package/dist/components/Form/index.js +0 -15
  171. package/dist/components/FormActions/index.d.ts +0 -18
  172. package/dist/components/FormActions/index.js +0 -14
  173. package/dist/components/FormField/index.d.ts +0 -14
  174. package/dist/components/FormField/index.js +0 -40
  175. package/dist/components/FormRepeater/index.d.ts +0 -18
  176. package/dist/components/FormRepeater/index.js +0 -65
  177. package/dist/components/ImageInput/index.d.ts +0 -13
  178. package/dist/components/ImageInput/index.js +0 -45
  179. package/dist/components/InfoPanel/index.d.ts +0 -14
  180. package/dist/components/InfoPanel/index.js +0 -11
  181. package/dist/components/Link/__mocks__/index.d.ts +0 -6
  182. package/dist/components/Link/__mocks__/index.js +0 -12
  183. package/dist/components/Link/index.d.ts +0 -23
  184. package/dist/components/Link/index.js +0 -21
  185. package/dist/components/Message/index.d.ts +0 -14
  186. package/dist/components/Message/index.js +0 -14
  187. package/dist/components/Modal/index.d.ts +0 -4
  188. package/dist/components/Modal/index.js +0 -18
  189. package/dist/components/ModalActions/index.d.ts +0 -21
  190. package/dist/components/ModalActions/index.js +0 -18
  191. package/dist/components/MoneyInput/index.d.ts +0 -10
  192. package/dist/components/MoneyInput/index.js +0 -13
  193. package/dist/components/PasswordForm/index.d.ts +0 -35
  194. package/dist/components/PasswordForm/index.js +0 -21
  195. package/dist/components/PasswordInput/index.d.ts +0 -4
  196. package/dist/components/PasswordInput/index.js +0 -12
  197. package/dist/components/RadioList/index.d.ts +0 -9
  198. package/dist/components/RadioList/index.js +0 -7
  199. package/dist/components/SummaryList/index.d.ts +0 -18
  200. package/dist/components/SummaryList/index.js +0 -15
  201. package/dist/components/Switch/index.d.ts +0 -21
  202. package/dist/components/Switch/index.js +0 -31
  203. package/dist/components/Tag/index.d.ts +0 -15
  204. package/dist/components/Tag/index.js +0 -13
  205. package/dist/components/TextArea/index.d.ts +0 -18
  206. package/dist/components/TextArea/index.js +0 -26
  207. package/dist/components/TextInput/index.d.ts +0 -14
  208. package/dist/components/TextInput/index.js +0 -27
  209. package/dist/components/WebsiteInput/index.d.ts +0 -10
  210. package/dist/components/WebsiteInput/index.js +0 -13
  211. package/dist/components/WeekCalendar/index.d.ts +0 -24
  212. package/dist/components/WeekCalendar/index.js +0 -48
  213. package/dist/core/AlertComponent/index.d.ts +0 -26
  214. package/dist/core/AlertComponent/index.js +0 -35
  215. package/dist/core/AppHeader/index.d.ts +0 -3
  216. package/dist/core/AppHeader/index.js +0 -17
  217. package/dist/core/AppLogo/index.d.ts +0 -12
  218. package/dist/core/AppLogo/index.js +0 -16
  219. package/dist/core/AppLogoImage/index.d.ts +0 -3
  220. package/dist/core/AppLogoImage/index.js +0 -11
  221. package/dist/core/AppLogoPlaceholder/index.d.ts +0 -3
  222. package/dist/core/AppLogoPlaceholder/index.js +0 -10
  223. package/dist/core/Assistive/index.d.ts +0 -12
  224. package/dist/core/Assistive/index.js +0 -9
  225. package/dist/core/AuthForm/index.d.ts +0 -10
  226. package/dist/core/AuthForm/index.js +0 -13
  227. package/dist/core/Banner/index.d.ts +0 -3
  228. package/dist/core/Banner/index.js +0 -14
  229. package/dist/core/Calendar/index.d.ts +0 -21
  230. package/dist/core/Calendar/index.js +0 -69
  231. package/dist/core/CalendarDay/index.d.ts +0 -30
  232. package/dist/core/CalendarDay/index.js +0 -30
  233. package/dist/core/CalendarMonth/index.d.ts +0 -23
  234. package/dist/core/CalendarMonth/index.js +0 -45
  235. package/dist/core/CalendarNavigation/index.d.ts +0 -17
  236. package/dist/core/CalendarNavigation/index.js +0 -24
  237. package/dist/core/CalendarWeek/index.d.ts +0 -28
  238. package/dist/core/CalendarWeek/index.js +0 -46
  239. package/dist/core/ChkRad/index.d.ts +0 -26
  240. package/dist/core/ChkRad/index.js +0 -33
  241. package/dist/core/ChkRadIcon/index.d.ts +0 -14
  242. package/dist/core/ChkRadIcon/index.js +0 -12
  243. package/dist/core/ChkRadList/index.d.ts +0 -32
  244. package/dist/core/ChkRadList/index.js +0 -37
  245. package/dist/core/CloseButton/index.d.ts +0 -17
  246. package/dist/core/CloseButton/index.js +0 -12
  247. package/dist/core/ConfirmModal/index.d.ts +0 -3
  248. package/dist/core/ConfirmModal/index.js +0 -38
  249. package/dist/core/ConnectedRepeater/index.d.ts +0 -50
  250. package/dist/core/ConnectedRepeater/index.js +0 -154
  251. package/dist/core/ConnectedRepeaterComponent/index.d.ts +0 -24
  252. package/dist/core/ConnectedRepeaterComponent/index.js +0 -25
  253. package/dist/core/Container/index.d.ts +0 -14
  254. package/dist/core/Container/index.js +0 -12
  255. package/dist/core/DataPanelItem/index.d.ts +0 -8
  256. package/dist/core/DataPanelItem/index.js +0 -7
  257. package/dist/core/DropdownPanel/index.d.ts +0 -31
  258. package/dist/core/DropdownPanel/index.js +0 -32
  259. package/dist/core/EmptyMessage/index.d.ts +0 -21
  260. package/dist/core/EmptyMessage/index.js +0 -21
  261. package/dist/core/FilterItem/index.d.ts +0 -25
  262. package/dist/core/FilterItem/index.js +0 -82
  263. package/dist/core/Filters/index.d.ts +0 -31
  264. package/dist/core/Filters/index.js +0 -85
  265. package/dist/core/FixedActions/index.d.ts +0 -24
  266. package/dist/core/FixedActions/index.js +0 -22
  267. package/dist/core/FormError/index.d.ts +0 -12
  268. package/dist/core/FormError/index.js +0 -9
  269. package/dist/core/FormLabel/index.d.ts +0 -16
  270. package/dist/core/FormLabel/index.js +0 -13
  271. package/dist/core/FormLegend/index.d.ts +0 -12
  272. package/dist/core/FormLegend/index.js +0 -9
  273. package/dist/core/Header/Header.stories.d.ts +0 -5
  274. package/dist/core/Header/Header.stories.js +0 -11
  275. package/dist/core/Header/index.d.ts +0 -14
  276. package/dist/core/Header/index.js +0 -12
  277. package/dist/core/Icon/index.d.ts +0 -14
  278. package/dist/core/Icon/index.js +0 -32
  279. package/dist/core/IconButton/index.d.ts +0 -22
  280. package/dist/core/IconButton/index.js +0 -20
  281. package/dist/core/InputPanel/index.d.ts +0 -16
  282. package/dist/core/InputPanel/index.js +0 -11
  283. package/dist/core/ListItem/index.d.ts +0 -39
  284. package/dist/core/ListItem/index.js +0 -44
  285. package/dist/core/ListItemAction/index.d.ts +0 -11
  286. package/dist/core/ListItemAction/index.js +0 -13
  287. package/dist/core/ListItemActions/index.d.ts +0 -8
  288. package/dist/core/ListItemActions/index.js +0 -16
  289. package/dist/core/ListItemMetaItem/index.d.ts +0 -19
  290. package/dist/core/ListItemMetaItem/index.js +0 -29
  291. package/dist/core/ListItemTitle/index.d.ts +0 -19
  292. package/dist/core/ListItemTitle/index.js +0 -44
  293. package/dist/core/Loader/index.d.ts +0 -15
  294. package/dist/core/Loader/index.js +0 -16
  295. package/dist/core/MeActions/index.d.ts +0 -3
  296. package/dist/core/MeActions/index.js +0 -48
  297. package/dist/core/MePanel/index.d.ts +0 -19
  298. package/dist/core/MePanel/index.js +0 -29
  299. package/dist/core/ModalComponent/index.d.ts +0 -22
  300. package/dist/core/ModalComponent/index.js +0 -29
  301. package/dist/core/Navigation/index.d.ts +0 -3
  302. package/dist/core/Navigation/index.js +0 -33
  303. package/dist/core/NavigationDivider/index.d.ts +0 -3
  304. package/dist/core/NavigationDivider/index.js +0 -8
  305. package/dist/core/NavigationItem/index.d.ts +0 -16
  306. package/dist/core/NavigationItem/index.js +0 -21
  307. package/dist/core/Pagination/index.d.ts +0 -15
  308. package/dist/core/Pagination/index.js +0 -64
  309. package/dist/core/PaginationItem/index.d.ts +0 -10
  310. package/dist/core/PaginationItem/index.js +0 -17
  311. package/dist/core/Panel/index.d.ts +0 -17
  312. package/dist/core/Panel/index.js +0 -13
  313. package/dist/core/PasswordForgotForm/index.d.ts +0 -7
  314. package/dist/core/PasswordForgotForm/index.js +0 -40
  315. package/dist/core/PasswordResetForm/index.d.ts +0 -7
  316. package/dist/core/PasswordResetForm/index.js +0 -34
  317. package/dist/core/RadialProgress/index.d.ts +0 -16
  318. package/dist/core/RadialProgress/index.js +0 -23
  319. package/dist/core/SettingsForm/index.d.ts +0 -3
  320. package/dist/core/SettingsForm/index.js +0 -14
  321. package/dist/core/StaticTextInput/index.d.ts +0 -29
  322. package/dist/core/StaticTextInput/index.js +0 -39
  323. package/dist/core/Styled/index.d.ts +0 -6
  324. package/dist/core/Styled/index.js +0 -39
  325. package/dist/core/SummaryListItem/index.d.ts +0 -23
  326. package/dist/core/SummaryListItem/index.js +0 -31
  327. package/dist/core/TabItem/index.d.ts +0 -4
  328. package/dist/core/TabItem/index.js +0 -13
  329. package/dist/core/TableActionsCell/index.d.ts +0 -8
  330. package/dist/core/TableActionsCell/index.js +0 -8
  331. package/dist/core/TableCell/index.d.ts +0 -15
  332. package/dist/core/TableCell/index.js +0 -20
  333. package/dist/core/TableHead/index.d.ts +0 -18
  334. package/dist/core/TableHead/index.js +0 -18
  335. package/dist/core/TableRow/index.d.ts +0 -13
  336. package/dist/core/TableRow/index.js +0 -18
  337. package/dist/core/Tabs/index.d.ts +0 -7
  338. package/dist/core/Tabs/index.js +0 -13
  339. package/dist/core/TextInputAncillary/index.d.ts +0 -29
  340. package/dist/core/TextInputAncillary/index.js +0 -31
  341. package/dist/core/Toast/index.d.ts +0 -3
  342. package/dist/core/Toast/index.js +0 -47
  343. package/dist/core/TwoFactor/index.d.ts +0 -13
  344. package/dist/core/TwoFactor/index.js +0 -49
  345. package/dist/core/TwoFactorAuthenticator/index.d.ts +0 -10
  346. package/dist/core/TwoFactorAuthenticator/index.js +0 -9
  347. package/dist/core/TwoFactorMethodList/index.d.ts +0 -10
  348. package/dist/core/TwoFactorMethodList/index.js +0 -22
  349. package/dist/core/TwoFactorSetup/index.d.ts +0 -12
  350. package/dist/core/TwoFactorSetup/index.js +0 -43
  351. package/dist/core/TwoFactorSetupAuthenticator/index.d.ts +0 -20
  352. package/dist/core/TwoFactorSetupAuthenticator/index.js +0 -42
  353. package/dist/core/TwoFactorSetupYubikey/index.d.ts +0 -16
  354. package/dist/core/TwoFactorSetupYubikey/index.js +0 -14
  355. package/dist/core/TwoFactorYubikey/index.d.ts +0 -9
  356. package/dist/core/TwoFactorYubikey/index.js +0 -14
  357. package/dist/core/WeekCalendarDay/index.d.ts +0 -27
  358. package/dist/core/WeekCalendarDay/index.js +0 -35
  359. package/dist/core/YubikeyInput/index.d.ts +0 -4
  360. package/dist/core/YubikeyInput/index.js +0 -14
  361. package/dist/filters/BooleanFilter/index.d.ts +0 -14
  362. package/dist/filters/BooleanFilter/index.js +0 -35
  363. package/dist/filters/DateFilter/index.d.ts +0 -5
  364. package/dist/filters/DateFilter/index.js +0 -24
  365. package/dist/filters/DropdownFilter/index.d.ts +0 -17
  366. package/dist/filters/DropdownFilter/index.js +0 -32
  367. package/dist/filters/QuickDateFilter/index.d.ts +0 -13
  368. package/dist/filters/QuickDateFilter/index.js +0 -40
  369. package/dist/filters/interfaces.d.ts +0 -35
  370. package/dist/hooks/useAlert.d.ts +0 -12
  371. package/dist/hooks/useAlert.js +0 -18
  372. package/dist/hooks/useAppConfig.d.ts +0 -3
  373. package/dist/hooks/useAppConfig.js +0 -5
  374. package/dist/hooks/useConnectedList.d.ts +0 -7
  375. package/dist/hooks/useConnectedList.js +0 -6
  376. package/dist/hooks/useConnectedRepeater.d.ts +0 -7
  377. package/dist/hooks/useConnectedRepeater.js +0 -14
  378. package/dist/hooks/useConnectedTable.d.ts +0 -7
  379. package/dist/hooks/useConnectedTable.js +0 -6
  380. package/dist/hooks/useFilters.d.ts +0 -9
  381. package/dist/hooks/useFilters.js +0 -24
  382. package/dist/hooks/useLayout.d.ts +0 -7
  383. package/dist/hooks/useLayout.js +0 -10
  384. package/dist/hooks/useLayout.spec.d.ts +0 -1
  385. package/dist/hooks/useLayout.spec.js +0 -24
  386. package/dist/hooks/useModal.d.ts +0 -12
  387. package/dist/hooks/useModal.js +0 -39
  388. package/dist/hooks/useModalOffset.d.ts +0 -2
  389. package/dist/hooks/useModalOffset.js +0 -16
  390. package/dist/hooks/useModalOffset.spec.d.ts +0 -1
  391. package/dist/hooks/useModalOffset.spec.js +0 -19
  392. package/dist/hooks/useNavigation.d.ts +0 -7
  393. package/dist/hooks/useNavigation.js +0 -113
  394. package/dist/hooks/useRemote.d.ts +0 -7
  395. package/dist/hooks/useRemote.js +0 -29
  396. package/dist/hooks/useVariant.d.ts +0 -9
  397. package/dist/hooks/useVariant.js +0 -14
  398. package/dist/scenes/Error404Scene.d.ts +0 -3
  399. package/dist/scenes/Error404Scene.js +0 -5
  400. package/dist/services/AppService.d.ts +0 -5
  401. package/dist/services/AppService.js +0 -11
  402. package/dist/services/ConfirmService.d.ts +0 -12
  403. package/dist/services/ConfirmService.js +0 -10
  404. package/dist/services/DateService.d.ts +0 -26
  405. package/dist/services/DateService.js +0 -132
  406. package/dist/services/DateService.spec.d.ts +0 -1
  407. package/dist/services/DateService.spec.js +0 -83
  408. package/dist/services/DownloadService.d.ts +0 -7
  409. package/dist/services/DownloadService.js +0 -16
  410. package/dist/services/DownloadService.spec.d.ts +0 -1
  411. package/dist/services/DownloadService.spec.js +0 -18
  412. package/dist/services/FilterComponentService.d.ts +0 -25
  413. package/dist/services/FilterComponentService.js +0 -54
  414. package/dist/services/FilterService.d.ts +0 -34
  415. package/dist/services/FilterService.js +0 -58
  416. package/dist/services/FilterService.spec.d.ts +0 -1
  417. package/dist/services/FilterService.spec.js +0 -67
  418. package/dist/services/FormatService.d.ts +0 -11
  419. package/dist/services/FormatService.js +0 -45
  420. package/dist/services/FormatService.spec.d.ts +0 -1
  421. package/dist/services/FormatService.spec.js +0 -66
  422. package/dist/services/ToastService.d.ts +0 -7
  423. package/dist/services/ToastService.js +0 -17
  424. package/dist/services/ToastService.spec.d.ts +0 -1
  425. package/dist/services/ToastService.spec.js +0 -34
  426. package/dist/utility/MockRouter/index.d.ts +0 -2
  427. package/dist/utility/MockRouter/index.js +0 -37
  428. package/dist/utility/StorybookPanel/index.d.ts +0 -14
  429. package/dist/utility/StorybookPanel/index.js +0 -12
  430. package/dist/utility/TestChangeHandler/index.d.ts +0 -15
  431. package/dist/utility/TestChangeHandler/index.js +0 -30
  432. package/dist/utility/icons.d.ts +0 -3
  433. package/dist/utility/icons.js +0 -12
  434. package/dist/utility/interfaces.d.ts +0 -79
  435. package/dist/utility/interfaces.js +0 -18
  436. package/dist/utility/middleware.d.ts +0 -4
  437. package/dist/utility/middleware.js +0 -9
  438. package/dist/utility/prop-types.d.ts +0 -57
  439. package/dist/utility/prop-types.js +0 -77
  440. package/dist/utility/register.d.ts +0 -3
  441. package/dist/utility/register.js +0 -9
  442. package/src/components/Alert/index.tsx +0 -111
  443. package/src/components/Allow/Allow.spec.tsx +0 -37
  444. package/src/components/Allow/index.tsx +0 -42
  445. package/src/components/AppLayout/AppLayout.stories.tsx +0 -20
  446. package/src/components/AutoSuggest/AutoSuggest.module.css +0 -8
  447. package/src/components/AutoSuggest/AutoSuggest.spec.tsx +0 -222
  448. package/src/components/AutoSuggest/AutoSuggest.story.tsx +0 -32
  449. package/src/components/AutoSuggest/index.tsx +0 -215
  450. package/src/components/Button/Button.spec.tsx +0 -61
  451. package/src/components/Button/Button.stories.tsx +0 -62
  452. package/src/components/Button/index.tsx +0 -15
  453. package/src/components/CalendarInput/CalendarInput.module.css +0 -8
  454. package/src/components/CalendarInput/CalendarInput.spec.tsx +0 -222
  455. package/src/components/CalendarInput/CalendarInput.story.tsx +0 -62
  456. package/src/components/CalendarInput/index.tsx +0 -126
  457. package/src/components/CheckboxList/CheckboxList.spec.tsx +0 -93
  458. package/src/components/CheckboxList/index.tsx +0 -51
  459. package/src/components/ConnectedDropdown/index.tsx +0 -53
  460. package/src/components/ConnectedList/index.tsx +0 -19
  461. package/src/components/ConnectedTable/index.tsx +0 -21
  462. package/src/components/ContentBlock/ContentBlock.module.css +0 -17
  463. package/src/components/ContentBlock/ContentBlock.spec.tsx +0 -25
  464. package/src/components/ContentBlock/index.tsx +0 -28
  465. package/src/components/DataPanel/index.tsx +0 -25
  466. package/src/components/DateInput/DateInput.module.css +0 -15
  467. package/src/components/DateInput/DateInput.spec.tsx +0 -87
  468. package/src/components/DateInput/index.tsx +0 -145
  469. package/src/components/ErrorMessage/ErrorMessage.module.css +0 -25
  470. package/src/components/ErrorMessage/ErrorMessage.spec.tsx +0 -31
  471. package/src/components/ErrorMessage/index.tsx +0 -36
  472. package/src/components/Fieldset/Fieldset.spec.tsx +0 -22
  473. package/src/components/Fieldset/Fieldset.story.tsx +0 -25
  474. package/src/components/Fieldset/index.tsx +0 -32
  475. package/src/components/FileInput/FileInput.module.css +0 -18
  476. package/src/components/FileInput/FileInput.spec.tsx +0 -52
  477. package/src/components/FileInput/FileInput.story.tsx +0 -8
  478. package/src/components/FileInput/index.tsx +0 -75
  479. package/src/components/FilterLink/FilterLink.module.css +0 -9
  480. package/src/components/FilterLink/FilterLink.spec.tsx +0 -34
  481. package/src/components/FilterLink/index.tsx +0 -36
  482. package/src/components/Form/Form.spec.tsx +0 -39
  483. package/src/components/Form/index.tsx +0 -25
  484. package/src/components/FormActions/FormActions.spec.tsx +0 -10
  485. package/src/components/FormActions/FormActions.story.tsx +0 -27
  486. package/src/components/FormActions/index.tsx +0 -35
  487. package/src/components/FormField/FormField.module.css +0 -71
  488. package/src/components/FormField/FormField.spec.tsx +0 -177
  489. package/src/components/FormField/FormField.stories.tsx +0 -44
  490. package/src/components/FormField/index.tsx +0 -14
  491. package/src/components/FormRepeater/FormRepeater.module.css +0 -7
  492. package/src/components/FormRepeater/FormRepeater.spec.tsx +0 -156
  493. package/src/components/FormRepeater/index.tsx +0 -121
  494. package/src/components/ImageInput/ImageInput.module.css +0 -74
  495. package/src/components/ImageInput/ImageInput.spec.tsx +0 -47
  496. package/src/components/ImageInput/ImageInput.story.tsx +0 -8
  497. package/src/components/ImageInput/index.tsx +0 -93
  498. package/src/components/InfoPanel/InfoPanel.module.css +0 -20
  499. package/src/components/InfoPanel/InfoPanel.spec.tsx +0 -15
  500. package/src/components/InfoPanel/InfoPanel.story.tsx +0 -32
  501. package/src/components/InfoPanel/index.tsx +0 -25
  502. package/src/components/Link/Link.spec.tsx +0 -64
  503. package/src/components/Link/__mocks__/index.tsx +0 -24
  504. package/src/components/Link/index.tsx +0 -60
  505. package/src/components/List/List.module.css +0 -9
  506. package/src/components/List/List.spec.tsx +0 -379
  507. package/src/components/List/List.story.tsx +0 -119
  508. package/src/components/ListActions/ListActions.spec.tsx +0 -10
  509. package/src/components/ListActions/ListActions.story.tsx +0 -8
  510. package/src/components/LoginForm/LoginForm.spec.tsx +0 -68
  511. package/src/components/LoginForm/LoginForm.story.tsx +0 -25
  512. package/src/components/Message/Message.module.css +0 -14
  513. package/src/components/Message/Message.spec.tsx +0 -20
  514. package/src/components/Message/index.tsx +0 -29
  515. package/src/components/Modal/index.tsx +0 -27
  516. package/src/components/ModalActions/ModalActions.module.css +0 -5
  517. package/src/components/ModalActions/ModalActions.spec.tsx +0 -49
  518. package/src/components/ModalActions/ModalActions.story.tsx +0 -8
  519. package/src/components/ModalActions/index.tsx +0 -51
  520. package/src/components/MoneyInput/MoneyInput.spec.tsx +0 -17
  521. package/src/components/MoneyInput/MoneyInput.story.tsx +0 -8
  522. package/src/components/MoneyInput/index.tsx +0 -18
  523. package/src/components/PasswordForm/index.tsx +0 -36
  524. package/src/components/RadioList/RadioList.spec.tsx +0 -47
  525. package/src/components/RadioList/index.tsx +0 -19
  526. package/src/components/SummaryList/SummaryList.module.css +0 -31
  527. package/src/components/SummaryList/SummaryList.spec.tsx +0 -89
  528. package/src/components/SummaryList/SummaryList.story.tsx +0 -13
  529. package/src/components/SummaryList/index.tsx +0 -39
  530. package/src/components/Switch/Switch.module.css +0 -86
  531. package/src/components/Switch/Switch.spec.tsx +0 -64
  532. package/src/components/Switch/index.tsx +0 -89
  533. package/src/components/Table/Table.module.css +0 -14
  534. package/src/components/Table/Table.spec.tsx +0 -136
  535. package/src/components/Table/Table.story.tsx +0 -108
  536. package/src/components/TextArea/TextArea.module.css +0 -23
  537. package/src/components/TextArea/TextArea.spec.tsx +0 -77
  538. package/src/components/TextArea/index.tsx +0 -61
  539. package/src/components/TextInput/TextInput.module.css +0 -62
  540. package/src/components/TextInput/TextInput.spec.tsx +0 -127
  541. package/src/components/TextInput/TextInput.stories.tsx +0 -46
  542. package/src/components/TextInput/index.tsx +0 -11
  543. package/src/components/WebsiteInput/WebsiteInput.spec.tsx +0 -17
  544. package/src/components/WebsiteInput/index.tsx +0 -18
  545. package/src/components/WeekCalendar/WeekCalendar.module.css +0 -19
  546. package/src/components/WeekCalendar/index.tsx +0 -80
  547. package/src/core/AlertComponent/AlertComponent.module.css +0 -110
  548. package/src/core/AlertComponent/AlertComponent.spec.tsx +0 -85
  549. package/src/core/AlertComponent/AlertComponent.story.tsx +0 -29
  550. package/src/core/AlertComponent/index.tsx +0 -109
  551. package/src/core/AppHeader/index.tsx +0 -25
  552. package/src/core/AppLogo/AppLogo.module.css +0 -18
  553. package/src/core/AppLogo/index.tsx +0 -35
  554. package/src/core/AppLogoImage/index.tsx +0 -19
  555. package/src/core/AppLogoPlaceholder/index.tsx +0 -32
  556. package/src/core/Assistive/index.tsx +0 -1
  557. package/src/core/AuthForm/AuthForm.module.css +0 -35
  558. package/src/core/AuthForm/AuthForm.spec.tsx +0 -72
  559. package/src/core/AuthForm/index.tsx +0 -63
  560. package/src/core/Banner/Banner.module.css +0 -34
  561. package/src/core/Banner/index.tsx +0 -25
  562. package/src/core/Calendar/index.tsx +0 -118
  563. package/src/core/CalendarDay/CalendarDay.module.css +0 -61
  564. package/src/core/CalendarDay/index.tsx +0 -82
  565. package/src/core/CalendarMonth/CalendarMonth.module.css +0 -13
  566. package/src/core/CalendarMonth/index.tsx +0 -103
  567. package/src/core/CalendarNavigation/CalendarNavigation.module.css +0 -26
  568. package/src/core/CalendarNavigation/index.tsx +0 -55
  569. package/src/core/CalendarWeek/index.tsx +0 -97
  570. package/src/core/ChkRadList/ChkRadList.module.css +0 -12
  571. package/src/core/ChkRadList/index.tsx +0 -88
  572. package/src/core/CloseButton/CloseButton.spec.tsx +0 -38
  573. package/src/core/CloseButton/index.tsx +0 -33
  574. package/src/core/ConfirmModal/ConfirmModal.spec.tsx +0 -94
  575. package/src/core/ConfirmModal/index.tsx +0 -59
  576. package/src/core/ConnectedRepeater/index.tsx +0 -284
  577. package/src/core/ConnectedRepeaterComponent/index.tsx +0 -71
  578. package/src/core/Container/Container.module.css +0 -13
  579. package/src/core/Container/index.tsx +0 -29
  580. package/src/core/DataPanelItem/index.tsx +0 -19
  581. package/src/core/EmptyMessage/EmptyMessage.module.css +0 -18
  582. package/src/core/EmptyMessage/EmptyMessage.stories.tsx +0 -33
  583. package/src/core/EmptyMessage/index.tsx +0 -15
  584. package/src/core/FilterItem/FilterItem.module.css +0 -104
  585. package/src/core/FilterItem/index.tsx +0 -172
  586. package/src/core/Filters/Filters.module.css +0 -86
  587. package/src/core/Filters/Filters.spec.tsx +0 -573
  588. package/src/core/Filters/index.tsx +0 -168
  589. package/src/core/FixedActions/FixedActions.module.css +0 -23
  590. package/src/core/FixedActions/FixedActions.spec.tsx +0 -53
  591. package/src/core/FixedActions/index.tsx +0 -54
  592. package/src/core/FormLegend/FormLegend.module.css +0 -13
  593. package/src/core/FormLegend/index.tsx +0 -18
  594. package/src/core/Header/Header.stories.tsx +0 -20
  595. package/src/core/Header/index.tsx +0 -32
  596. package/src/core/Icon/Icon.spec.tsx +0 -30
  597. package/src/core/Icon/index.tsx +0 -70
  598. package/src/core/IconButton/IconButton.module.css +0 -32
  599. package/src/core/IconButton/index.tsx +0 -53
  600. package/src/core/ListItem/ListItem.module.css +0 -28
  601. package/src/core/ListItem/ListItem.story.tsx +0 -32
  602. package/src/core/ListItem/index.tsx +0 -109
  603. package/src/core/ListItemAction/ListItemAction.module.css +0 -33
  604. package/src/core/ListItemAction/index.tsx +0 -30
  605. package/src/core/ListItemActions/ListItemActions.module.css +0 -94
  606. package/src/core/ListItemActions/index.tsx +0 -42
  607. package/src/core/ListItemMetaItem/ListItemMetaItem.module.css +0 -18
  608. package/src/core/ListItemMetaItem/index.tsx +0 -54
  609. package/src/core/ListItemTitle/ListItemTitle.module.css +0 -22
  610. package/src/core/ListItemTitle/ListItemTitle.spec.tsx +0 -53
  611. package/src/core/ListItemTitle/index.tsx +0 -82
  612. package/src/core/Loader/Loader.module.css +0 -57
  613. package/src/core/Loader/Loader.stories.tsx +0 -22
  614. package/src/core/Loader/index.tsx +0 -2
  615. package/src/core/MeActions/MeActions.module.css +0 -47
  616. package/src/core/MeActions/index.tsx +0 -74
  617. package/src/core/MePanel/MePanel.module.css +0 -79
  618. package/src/core/MePanel/index.tsx +0 -58
  619. package/src/core/ModalComponent/ModalComponent.module.css +0 -86
  620. package/src/core/ModalComponent/ModalComponent.spec.tsx +0 -55
  621. package/src/core/ModalComponent/index.tsx +0 -66
  622. package/src/core/Navigation/Navigation.module.css +0 -89
  623. package/src/core/Navigation/Navigation.spec.tsx +0 -121
  624. package/src/core/Navigation/index.tsx +0 -69
  625. package/src/core/NavigationDivider/NavigationDivider.module.css +0 -3
  626. package/src/core/NavigationDivider/index.tsx +0 -13
  627. package/src/core/NavigationItem/NavigationItem.module.css +0 -46
  628. package/src/core/NavigationItem/index.tsx +0 -50
  629. package/src/core/Panel/Panel.module.css +0 -26
  630. package/src/core/Panel/Panel.spec.tsx +0 -16
  631. package/src/core/Panel/index.tsx +0 -35
  632. package/src/core/PasswordForgotForm/index.tsx +0 -62
  633. package/src/core/PasswordResetForm/index.tsx +0 -65
  634. package/src/core/RadialProgress/RadialProgress.module.css +0 -78
  635. package/src/core/RadialProgress/index.tsx +0 -49
  636. package/src/core/SettingsForm/index.tsx +0 -26
  637. package/src/core/SummaryListItem/SummaryListItem.module.css +0 -20
  638. package/src/core/SummaryListItem/index.tsx +0 -65
  639. package/src/core/TabItem/TabItem.module.css +0 -28
  640. package/src/core/TabItem/index.tsx +0 -42
  641. package/src/core/Tabs/Tabs.module.css +0 -19
  642. package/src/core/Tabs/Tabs.spec.tsx +0 -30
  643. package/src/core/Tabs/index.tsx +0 -36
  644. package/src/core/Toast/Toast.module.css +0 -54
  645. package/src/core/Toast/Toast.spec.tsx +0 -80
  646. package/src/core/Toast/index.tsx +0 -79
  647. package/src/core/TwoFactor/TwoFactor.spec.tsx +0 -183
  648. package/src/core/TwoFactor/index.tsx +0 -102
  649. package/src/core/TwoFactorAuthenticator/index.tsx +0 -39
  650. package/src/core/TwoFactorMethodList/TwoFactorMethodList.module.css +0 -50
  651. package/src/core/TwoFactorMethodList/index.tsx +0 -49
  652. package/src/core/TwoFactorSetup/index.tsx +0 -91
  653. package/src/core/TwoFactorSetupAuthenticator/TwoFactorSetupAuthenticator.module.css +0 -6
  654. package/src/core/TwoFactorSetupAuthenticator/index.tsx +0 -100
  655. package/src/core/TwoFactorSetupYubikey/index.tsx +0 -49
  656. package/src/core/TwoFactorYubikey/index.tsx +0 -41
  657. package/src/core/WeekCalendarDay/WeekCalendarDay.module.css +0 -32
  658. package/src/core/WeekCalendarDay/index.tsx +0 -68
  659. package/src/core/YubikeyInput/YubikeyInput.module.css +0 -27
  660. package/src/core/YubikeyInput/YubikeyInput.spec.tsx +0 -77
  661. package/src/core/YubikeyInput/index.tsx +0 -76
  662. package/src/filters/BooleanFilter/index.tsx +0 -47
  663. package/src/filters/DateFilter/index.tsx +0 -36
  664. package/src/filters/DropdownFilter/index.tsx +0 -51
  665. package/src/filters/QuickDateFilter/index.tsx +0 -74
  666. package/src/filters/interfaces.ts +0 -39
  667. package/src/hooks/useAlert.spec.tsx +0 -72
  668. package/src/hooks/useAlert.ts +0 -37
  669. package/src/hooks/useConfig.ts +0 -31
  670. package/src/hooks/useConnectedList.ts +0 -15
  671. package/src/hooks/useConnectedRepeater.ts +0 -25
  672. package/src/hooks/useConnectedTable.ts +0 -15
  673. package/src/hooks/useFilters.ts +0 -34
  674. package/src/hooks/useLayout.spec.ts +0 -31
  675. package/src/hooks/useLayout.ts +0 -23
  676. package/src/hooks/useModal.spec.tsx +0 -72
  677. package/src/hooks/useModal.ts +0 -62
  678. package/src/hooks/useModalOffset.spec.ts +0 -27
  679. package/src/hooks/useModalOffset.ts +0 -26
  680. package/src/hooks/useNavigation.ts +0 -160
  681. package/src/hooks/useRemote.ts +0 -43
  682. package/src/scenes/Error404Scene.tsx +0 -7
  683. package/src/services/AppService.ts +0 -16
  684. package/src/services/ConfirmService.ts +0 -26
  685. package/src/services/DateService.spec.ts +0 -102
  686. package/src/services/DateService.ts +0 -182
  687. package/src/services/DownloadService.spec.ts +0 -23
  688. package/src/services/DownloadService.ts +0 -21
  689. package/src/services/FilterComponentService.tsx +0 -67
  690. package/src/services/FilterService.spec.ts +0 -105
  691. package/src/services/FilterService.ts +0 -80
  692. package/src/services/FormatService.spec.ts +0 -85
  693. package/src/services/FormatService.ts +0 -60
  694. package/src/services/ToastService.spec.ts +0 -44
  695. package/src/services/ToastService.ts +0 -24
  696. package/src/typings.d.ts +0 -4
  697. package/src/utility/MockRouter/index.ts +0 -46
  698. package/src/utility/icons.tsx +0 -51
  699. package/src/utility/interfaces.ts +0 -142
  700. package/src/utility/middleware.ts +0 -10
  701. package/src/utility/prop-types.ts +0 -89
  702. package/src/utility/register.tsx +0 -11
  703. package/tsconfig.eslint.json +0 -4
  704. /package/dist/{filters/interfaces.js → interfaces.js} +0 -0
@@ -1,90 +1,70 @@
1
- import React, { Fragment } from 'react';
1
+ import { Fragment } from 'react';
2
2
  import clsx from 'clsx';
3
- import PropTypes from 'prop-types';
3
+ import { EmptyMessage } from '@sqrzro/components';
4
+ import type { ErrorablePromise } from '@sqrzro/server';
4
5
 
5
- import EmptyMessage from '../../core/EmptyMessage';
6
- import type { EmptyMessageProps } from '../../core/EmptyMessage';
7
- import ListItem from '../../core/ListItem';
8
- import Pagination from '../../core/Pagination';
6
+ import FilterBar from '../FilterBar';
7
+ import type { FilterMap } from '../FilterBar';
8
+ import ListItem from '../ListItem';
9
+ import type { ListObject } from '../ListItem';
9
10
 
10
- import type {
11
- SimpleObject,
12
- TransformedObject,
13
- Transformer,
14
- TransformerWithActions,
15
- } from '../../utility/interfaces';
16
-
17
- // Import styles from './List.module.css';
18
-
19
- const defaultTransformer: Transformer = (item) => ({
20
- ...item,
21
- $id: String(item.id),
22
- $original: item,
23
- });
24
-
25
- const transformData = <T extends SimpleObject>(
26
- data: T[],
27
- transformer?: TransformerWithActions<T>
28
- ): TransformedObject<T>[] => {
29
- const [transformFn, actions] = Array.isArray(transformer)
30
- ? transformer
31
- : [transformer || defaultTransformer];
11
+ export interface ListComponentProps {
12
+ params?: Record<string, string>;
13
+ searchParams?: Record<string, string>;
14
+ }
32
15
 
33
- return data.map((item) => ({ ...transformFn(item), $actions: actions, $original: item }));
34
- };
16
+ export interface ListProps<T> {
17
+ actions?: ({ id }: { readonly id: number }) => React.ReactElement;
18
+ className?: string;
19
+ filters?: FilterMap;
20
+ fn: (
21
+ params?: Record<string, string>,
22
+ searchParams?: Record<string, string>
23
+ ) => ErrorablePromise<T[]>;
24
+ renderItem?: (props: ListObject) => React.ReactElement;
25
+ params?: Record<string, string>;
26
+ searchParams?: Record<string, string>;
27
+ transformer?: (item: T) => ListObject;
28
+ }
35
29
 
36
- export interface ListProps<T extends SimpleObject> {
37
- data?: T[];
38
- empty?: EmptyMessageProps;
39
- isDisabled?: boolean;
40
- pagination?: { activePage: number; pageCount: number } | null;
41
- transformer?: TransformerWithActions<T>;
30
+ function defaultTransformer(): ListObject {
31
+ return {
32
+ id: 0,
33
+ title: '',
34
+ };
42
35
  }
43
36
 
44
- /**
45
- * Displays a list of items. Each item in the `data` prop is passed through the `transformer`
46
- * function and then displayed. For more information about what `transformer` options are
47
- * available, take a look at the `ListItem` documentation.
48
- *
49
- * The only value that is required for each transformed item is an `$id` as this is used for the
50
- * `key` prop.
51
- *
52
- * If there is no data, an `EmptyMessage` is displayed.
53
- */
54
- function List<T extends SimpleObject>({
55
- data,
56
- empty,
57
- pagination,
37
+ async function List<T extends object>({
38
+ actions,
39
+ className,
40
+ filters,
41
+ fn,
42
+ params,
43
+ renderItem = ListItem,
44
+ searchParams,
58
45
  transformer,
59
- isDisabled,
60
- }: ListProps<T>): React.ReactElement {
61
- if (!data?.length) {
62
- return <EmptyMessage {...empty} />;
46
+ }: Readonly<ListProps<T>>): Promise<React.ReactElement> {
47
+ const [response, error] = await fn(params, searchParams);
48
+
49
+ if (error) {
50
+ return <div>ERRORROROR</div>;
63
51
  }
64
52
 
65
- const transformed = transformData(data, transformer);
53
+ const data = response.map(transformer || defaultTransformer);
54
+ const hasFilters = Boolean(Object.keys(searchParams || []).length);
66
55
 
67
56
  return (
68
57
  <Fragment>
69
- <ul className="/*clsx(styles.root, isDisabled && styles.rootIsDisabled)*/">
70
- {transformed.map((item) => (
71
- <li key={item.$id}>
72
- <ListItem {...item} />
73
- </li>
74
- ))}
75
- </ul>
76
- {pagination ? <Pagination isDisabled={isDisabled} {...pagination} /> : null}
58
+ {filters && (data.length || hasFilters) ? <FilterBar map={filters} /> : null}
59
+ {data.length ? (
60
+ <ul className={clsx(className)}>
61
+ {data.map((item) => renderItem({ actions, ...item }))}
62
+ </ul>
63
+ ) : (
64
+ <EmptyMessage />
65
+ )}
77
66
  </Fragment>
78
67
  );
79
68
  }
80
69
 
81
- List.propTypes = {
82
- data: PropTypes.arrayOf(PropTypes.shape({}).isRequired),
83
- isDisabled: PropTypes.bool,
84
- pagination: PropTypes.shape({
85
- activePage: PropTypes.number.isRequired,
86
- pageCount: PropTypes.number.isRequired,
87
- }),
88
- };
89
-
90
70
  export default List;
@@ -0,0 +1,25 @@
1
+ import { ConfirmableButton } from '@sqrzro/components';
2
+ import type { ConfirmableAction } from '@sqrzro/interfaces';
3
+
4
+ interface ListActionProps extends ConfirmableAction<number> {
5
+ id: number;
6
+ }
7
+
8
+ function ListAction({
9
+ id,
10
+ onClick,
11
+ label,
12
+ variant,
13
+ }: Readonly<ListActionProps>): React.ReactElement {
14
+ function handleClick(): void {
15
+ onClick(id);
16
+ }
17
+
18
+ return (
19
+ <ConfirmableButton onClick={handleClick} variant={variant} isText>
20
+ {label}
21
+ </ConfirmableButton>
22
+ );
23
+ }
24
+
25
+ export default ListAction;
@@ -1,30 +1,43 @@
1
1
  'use client';
2
2
 
3
- import React from 'react';
4
- import PropTypes from 'prop-types';
3
+ import { useClickOutside } from '@sqrzro/hooks';
4
+ import type { ConfirmableAction } from '@sqrzro/interfaces';
5
5
 
6
- import FixedActions from '../../core/FixedActions';
6
+ import ListAction from '../ListAction';
7
7
 
8
- interface ListActionsProps {
9
- children?: React.ReactNode;
10
- label: string;
11
- onClick?: React.MouseEventHandler<HTMLButtonElement>;
12
- to?: string;
8
+ export interface ListActionsProps {
9
+ actions: ConfirmableAction<number>[];
10
+ id: number;
13
11
  }
14
12
 
15
- function ListActions({ children, label, to, onClick }: ListActionsProps): React.ReactElement {
13
+ function ListActions({ actions, id }: Readonly<ListActionsProps>): React.ReactElement {
14
+ const [isOpen, setIsOpen, ref] = useClickOutside();
15
+
16
+ function toggleIsOpen(): void {
17
+ setIsOpen(!isOpen);
18
+ }
19
+
16
20
  return (
17
- <FixedActions label={label} onClick={onClick} to={to}>
18
- {children}
19
- </FixedActions>
21
+ <div ref={ref} className="flex flex-row-reverse items-center gap-4">
22
+ <button
23
+ className="h-4 rotate-90 text-xs leading-[1em] tracking-tighter text-slate-500"
24
+ onClick={toggleIsOpen}
25
+ type="button"
26
+ >
27
+ &bull;&bull;&bull;
28
+ <span className="sr-only">{isOpen ? 'Close' : 'Open'} Actions</span>
29
+ </button>
30
+ {isOpen ? (
31
+ <ul className="showpanel relative flex origin-right gap-4 bg-white before:absolute before:left-[-999em] before:right-full before:h-full before:bg-white/80">
32
+ {actions.map(({ label, onClick, variant }) => (
33
+ <li key={label}>
34
+ <ListAction id={id} label={label} onClick={onClick} variant={variant} />
35
+ </li>
36
+ ))}
37
+ </ul>
38
+ ) : null}
39
+ </div>
20
40
  );
21
41
  }
22
42
 
23
- ListActions.propTypes = {
24
- label: PropTypes.string.isRequired,
25
- children: PropTypes.node,
26
- to: PropTypes.string,
27
- onClick: PropTypes.func,
28
- };
29
-
30
43
  export default ListActions;
@@ -0,0 +1,56 @@
1
+ import { Link } from '@sqrzro/components';
2
+ import { Fragment } from 'react';
3
+
4
+ export interface ListObject {
5
+ actions?: ({ id }: { id: number }) => React.ReactElement;
6
+ href?: string;
7
+ id: number;
8
+ image?: string;
9
+ meta?: string[];
10
+ title: string;
11
+ }
12
+
13
+ export function renderMeta(meta: Record<string, string> | string[]): React.ReactElement {
14
+ if (Array.isArray(meta)) {
15
+ return (
16
+ <ul className="flex gap-4 text-xs">
17
+ {meta.map((item) => (
18
+ <li key={item}>{item}</li>
19
+ ))}
20
+ </ul>
21
+ );
22
+ }
23
+
24
+ return (
25
+ <dl className="w-full text-xs">
26
+ {Object.entries(meta).map(([key, value]) => (
27
+ <div key={key} className="flex justify-between p-2 odd:bg-gray-100">
28
+ <dt>{key}</dt>
29
+ <dd>{value}</dd>
30
+ </div>
31
+ ))}
32
+ </dl>
33
+ );
34
+ }
35
+
36
+ function ListItem({
37
+ actions: Actions,
38
+ href,
39
+ id,
40
+ meta,
41
+ title,
42
+ }: Readonly<ListObject>): React.ReactElement {
43
+ return (
44
+ <li className="mb-4">
45
+ <article className="overflow-hidden rounded-md bg-white p-4 shadow">
46
+ <h2 className="font-semibold">{href ? <Link href={href}>{title}</Link> : title}</h2>
47
+ <div className="mt-2 flex items-center justify-between">
48
+ {meta ? renderMeta(meta) : null}
49
+ {Actions ? <Actions id={id} /> : null}
50
+ </div>
51
+ </article>
52
+ </li>
53
+ );
54
+ }
55
+
56
+ export default ListItem;
@@ -1,113 +1,33 @@
1
1
  'use client';
2
2
 
3
- import React, { Fragment } from 'react';
4
- import Head from 'next/head';
5
- import { useLoginForm } from '@sqrzro/hooks';
3
+ import { Form, FormField, FormSubmit, PasswordInput, TextInput } from '@sqrzro/components';
4
+ import type { UseFormReturn } from '@sqrzro/hooks';
5
+ import type { UserObject } from '@sqrzro/server';
6
6
 
7
- import Alert from '../Alert';
8
- import Button from '../Button';
9
- import FormField from '../FormField';
10
- import Link from '../Link';
11
- import PasswordInput from '../PasswordInput';
12
- import TextInput from '../TextInput';
13
-
14
- import AuthForm from '../../core/AuthForm';
15
- import TwoFactor from '../../core/TwoFactor';
16
- import TwoFactorSetup from '../../core/TwoFactorSetup';
17
-
18
- import useAlert from '../../hooks/useAlert';
19
- import useConfig from '../../hooks/useConfig';
20
-
21
- function LoginForm(): React.ReactElement {
22
- const { alertProps, openAlert, closeAlert } = useAlert();
23
- const {
24
- alertProps: setupAlertProps,
25
- openAlert: openSetupAlert,
26
- closeAlert: closeSetupAlert,
27
- } = useAlert();
28
-
29
- const { auth, name } = useConfig();
30
-
31
- const { fieldProps, formData, formProps, handleSubmit, isLoading, setFormData } = useLoginForm(
32
- auth,
33
- openAlert,
34
- openSetupAlert
35
- );
36
-
37
- function handleKeyDown(event: React.KeyboardEvent): void {
38
- if (event.key === 'Enter') {
39
- handleSubmit();
40
- }
41
- }
42
-
43
- function handleAlertClose(): void {
44
- setFormData('provider', '');
45
- setFormData('two_factor_code', '');
46
- closeAlert();
47
- closeSetupAlert();
48
- }
7
+ export type LoginFormProps = UseFormReturn<UserObject>;
49
8
 
9
+ function LoginForm({ fieldProps, formProps }: Readonly<LoginFormProps>): React.ReactElement {
50
10
  return (
51
- <Fragment>
52
- <Head>
53
- <title>Login | {name}</title>
54
- </Head>
55
- <AuthForm
56
- {...formProps}
57
- footer={
58
- <Link
59
- to={`/auth/password${
60
- formData.identifier ? `?${auth.identifier}=${formData.identifier}` : ''
61
- }`}
62
- >
63
- Forgot Password?
64
- </Link>
65
- }
66
- >
67
- <FormField
68
- {...fieldProps('identifier')}
69
- label={auth.identifierLabel}
70
- onKeyDown={handleKeyDown}
71
- render={TextInput}
72
- isAutoFocus
73
- />
74
- <FormField
75
- {...fieldProps('password')}
76
- label="Password"
77
- onKeyDown={handleKeyDown}
78
- render={PasswordInput}
79
- />
80
- <hr />
81
- <Button isDisabled={isLoading} type="submit" isFullWidth>
82
- {isLoading ? 'Loading...' : 'Log In'}
83
- </Button>
84
- </AuthForm>
85
- <Alert
86
- {...alertProps}
87
- icon="lockClosed"
88
- onClose={handleAlertClose}
89
- title="2-Step Authentication"
90
- variant="warning"
91
- width="sm"
92
- >
93
- <TwoFactor
94
- formData={formData}
95
- isLoading={isLoading}
96
- onSubmit={handleSubmit}
97
- setFormData={setFormData}
98
- />
99
- </Alert>
100
- <Alert
101
- {...setupAlertProps}
102
- icon="lockClosed"
103
- onClose={handleAlertClose}
104
- title="Setup 2-Step Authentication"
105
- variant="warning"
106
- width="sm"
107
- >
108
- <TwoFactorSetup data={formData} />
109
- </Alert>
110
- </Fragment>
11
+ <div className="flex h-screen flex-col items-center justify-center bg-slate-800 pb-[10vh]">
12
+ <div className="mx-auto mb-8 h-12 w-12 rounded-full border-4 border-primary" />
13
+ <div className="w-full max-w-sm rounded-lg bg-white p-8 shadow-lg">
14
+ <h1 className="mb-8 text-center text-xl font-semibold">Sign in to continue</h1>
15
+ <Form {...formProps}>
16
+ <FormField label="Email" {...fieldProps('email')} render={TextInput} />
17
+ <FormField
18
+ label="Password"
19
+ {...fieldProps('password')}
20
+ render={PasswordInput}
21
+ />
22
+ <div className="mt-8 text-center">
23
+ <a className="mb-6 block text-primary" href="/#">
24
+ Forgot Password?
25
+ </a>
26
+ <FormSubmit isFullWidth>Sign In</FormSubmit>
27
+ </div>
28
+ </Form>
29
+ </div>
30
+ </div>
111
31
  );
112
32
  }
113
33
 
@@ -0,0 +1,21 @@
1
+ 'use client';
2
+
3
+ import { removeSession } from '@sqrzro/server';
4
+ import { useRouter } from 'next/navigation';
5
+
6
+ function MeActions(): React.ReactElement {
7
+ const router = useRouter();
8
+
9
+ async function handleLogout(): Promise<void> {
10
+ await removeSession();
11
+ router.refresh();
12
+ }
13
+
14
+ return (
15
+ <button className="text-xs text-gray-300" onClick={handleLogout} type="button">
16
+ Log Out
17
+ </button>
18
+ );
19
+ }
20
+
21
+ export default MeActions;
@@ -0,0 +1,21 @@
1
+ 'use server';
2
+
3
+ import { getIdFromSession } from '@sqrzro/server';
4
+
5
+ import MeActions from '../MeActions';
6
+
7
+ async function MePanel(): Promise<React.ReactElement> {
8
+ const id = await getIdFromSession();
9
+
10
+ return (
11
+ <div className="ml-auto flex items-center gap-3">
12
+ <div className="flex flex-col items-end text-white">
13
+ <strong>{id}</strong>
14
+ <MeActions />
15
+ </div>
16
+ <div className="h-9 w-9 rounded-full border-4 border-gray-500" />
17
+ </div>
18
+ );
19
+ }
20
+
21
+ export default MePanel;
@@ -0,0 +1,60 @@
1
+ import { Fragment } from 'react';
2
+ import { Button, Container } from '@sqrzro/components';
3
+ import type { LinkableAction } from '@sqrzro/interfaces';
4
+
5
+ import Tabs from '../Tabs';
6
+
7
+ export interface PageProps {
8
+ actions?: LinkableAction[];
9
+ basePath?: string;
10
+ children: React.ReactNode;
11
+ isFullWidth?: boolean;
12
+ tabs?: LinkableAction[];
13
+ title: string;
14
+ }
15
+
16
+ function Page({
17
+ actions,
18
+ basePath,
19
+ children,
20
+ isFullWidth,
21
+ tabs,
22
+ title,
23
+ }: Readonly<PageProps>): React.ReactElement {
24
+ return (
25
+ <Fragment>
26
+ <header className="bg-gray-800 pb-32 text-white">
27
+ <Container isFullWidth={isFullWidth}>
28
+ <div className="flex items-center justify-between py-10">
29
+ <h1 className="min-h-10 text-3xl font-semibold">{title}</h1>
30
+ <div id="page-actions" />
31
+ {/* {actions ? (
32
+ <div className="sticky top-0">
33
+ {actions.map(({ href, label, onClick }) => (
34
+ <Button
35
+ key={href}
36
+ href={href}
37
+ onClick={onClick}
38
+ variant="primary"
39
+ >
40
+ {label}
41
+ </Button>
42
+ ))}
43
+ </div>
44
+ ) : null} */}
45
+ </div>
46
+ {tabs ? (
47
+ <div className="-mt-4 mb-8">
48
+ <Tabs basePath={basePath} data={tabs} />
49
+ </div>
50
+ ) : null}
51
+ </Container>
52
+ </header>
53
+ <Container isFullWidth={isFullWidth}>
54
+ <div className="-mt-32 flex flex-col gap-8">{children}</div>
55
+ </Container>
56
+ </Fragment>
57
+ );
58
+ }
59
+
60
+ export default Page;
@@ -0,0 +1,22 @@
1
+ 'use client';
2
+
3
+ import { useEffect, useRef, useState } from 'react';
4
+ import { createPortal } from 'react-dom';
5
+
6
+ export interface PageActionsProps {
7
+ children: React.ReactNode;
8
+ }
9
+
10
+ function PageActions({ children }: Readonly<PageActionsProps>): React.ReactElement | null {
11
+ const ref = useRef<HTMLElement | null>(null);
12
+ const [mounted, setMounted] = useState(false);
13
+
14
+ useEffect(() => {
15
+ ref.current = document.getElementById('page-actions');
16
+ setMounted(true);
17
+ }, []);
18
+
19
+ return mounted && ref.current ? createPortal(children, ref.current) : null;
20
+ }
21
+
22
+ export default PageActions;
@@ -0,0 +1,10 @@
1
+ import { render, screen } from '@testing-library/react';
2
+
3
+ import Panel from './index';
4
+
5
+ describe('Panel', () => {
6
+ it('should render', () => {
7
+ render(<Panel />);
8
+ expect(screen.queryByText('Panel')).toBeInTheDocument();
9
+ });
10
+ });
@@ -0,0 +1,9 @@
1
+ import Panel from './index';
2
+
3
+ export default { title: 'Components/Panel', component: Panel };
4
+
5
+ export const Default = (): React.ReactElement => <Panel>Example Panel</Panel>;
6
+
7
+ export const WithTitle = (): React.ReactElement => (
8
+ <Panel title="Example Title">Example Panel</Panel>
9
+ );
@@ -0,0 +1,15 @@
1
+ interface PanelProps {
2
+ children: React.ReactNode;
3
+ title?: string;
4
+ }
5
+
6
+ function Panel({ children, title }: Readonly<PanelProps>): React.ReactElement {
7
+ return (
8
+ <article>
9
+ {title ? <h3>{title}</h3> : null}
10
+ {children}
11
+ </article>
12
+ );
13
+ }
14
+
15
+ export default Panel;
@@ -1,42 +1,36 @@
1
- import React from 'react';
1
+ import { Suspense } from 'react';
2
2
 
3
- import { TestService } from '@sqrzro/utility';
3
+ import { ClassNames, Toaster, registerClassNames } from '@sqrzro/components';
4
4
 
5
- import ConfirmModal from '../../core/ConfirmModal';
6
- import Toast from '../../core/Toast';
5
+ import { setConfig } from '../../services/ConfigService';
6
+ import type { Config as ConfigObject } from '../../services/ConfigService';
7
7
 
8
- import { ConfigProvider } from '../../hooks/useConfig';
8
+ import classNames from '../../styles/config';
9
9
 
10
- import type { Config } from '../../services/ConfigService';
10
+ import Config from '../Config';
11
11
 
12
- import register from '../../utility/register';
13
-
14
- interface RootLayoutProps {
12
+ export interface RootLayoutProps {
15
13
  children: React.ReactNode;
16
- config: Config;
14
+ config?: ConfigObject;
17
15
  }
18
16
 
19
- function RootLayout({ children, config }: RootLayoutProps): React.ReactElement {
20
- register(config);
17
+ function RootLayout({ children, config }: Readonly<RootLayoutProps>): React.ReactElement {
18
+ registerClassNames(classNames);
19
+
20
+ if (config) {
21
+ setConfig(config);
22
+ }
21
23
 
22
24
  return (
23
- <html>
24
- <head>
25
- <link href="https://fonts.googleapis.com" rel="preconnect" />
26
- <link crossOrigin="" href="https://fonts.gstatic.com" rel="preconnect" />
27
- <link
28
- href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap"
29
- rel="stylesheet"
30
- />
31
- </head>
32
- <body className="bg-slate-50">
33
- <ConfigProvider value={config}>
34
- {children}
35
- <div id="alert-portal" />
36
- <div id="modal-portal" />
37
- <ConfirmModal />
38
- <Toast />
39
- </ConfigProvider>
25
+ <html lang="en">
26
+ <head />
27
+ <body>
28
+ <Config data={config} />
29
+ <ClassNames data={classNames} />
30
+ {children}
31
+ <Suspense fallback={null}>
32
+ <Toaster />
33
+ </Suspense>
40
34
  </body>
41
35
  </html>
42
36
  );