@tsed/react-formio 3.0.0-alpha.11 → 3.0.0-alpha.13

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 (228) hide show
  1. package/dist/all.d.ts +0 -0
  2. package/dist/all.js +38 -0
  3. package/dist/all.js.map +1 -0
  4. package/dist/atoms/icon/Icon.js.map +1 -1
  5. package/dist/chunks/_commonjsHelpers.js +30 -3
  6. package/dist/chunks/_commonjsHelpers.js.map +1 -1
  7. package/dist/chunks/index.js +33 -30
  8. package/dist/chunks/index.js.map +1 -1
  9. package/dist/chunks/index.module.js +16 -16
  10. package/dist/chunks/index.module.js.map +1 -1
  11. package/dist/chunks/index2.js +56953 -0
  12. package/dist/chunks/index2.js.map +1 -0
  13. package/dist/chunks/react-select-animated.esm.js +1204 -1101
  14. package/dist/chunks/react-select-animated.esm.js.map +1 -1
  15. package/dist/contexts/FormioContext.d.ts +20 -0
  16. package/dist/contexts/FormioContext.js +40 -0
  17. package/dist/contexts/FormioContext.js.map +1 -0
  18. package/dist/hooks/keyboard.constants.js.map +1 -1
  19. package/dist/hooks/useFormioContext.d.ts +10 -0
  20. package/dist/hooks/useFormioContext.js +12 -0
  21. package/dist/hooks/useFormioContext.js.map +1 -0
  22. package/dist/hooks/useI18n.d.ts +4 -0
  23. package/dist/hooks/useI18n.js +9 -0
  24. package/dist/hooks/useI18n.js.map +1 -0
  25. package/dist/hooks/useKeyboardControls.js.map +1 -1
  26. package/dist/hooks/useTooltip.js.map +1 -1
  27. package/dist/index.d.ts +1 -6
  28. package/dist/index.js +18 -13
  29. package/dist/index.js.map +1 -1
  30. package/dist/interfaces/ComponentType.d.ts +6 -2
  31. package/dist/interfaces/FormBuilderOptions.d.ts +7 -0
  32. package/dist/interfaces/FormBuilderOptions.js +2 -0
  33. package/dist/interfaces/FormBuilderOptions.js.map +1 -0
  34. package/dist/interfaces/FormOptions.d.ts +6 -13
  35. package/dist/interfaces/FormType.d.ts +4 -11
  36. package/dist/interfaces/SubmissionType.d.ts +5 -10
  37. package/dist/interfaces/index.d.ts +1 -0
  38. package/dist/molecules/alert/Alert.js.map +1 -1
  39. package/dist/molecules/button/Button.js +17 -20
  40. package/dist/molecules/button/Button.js.map +1 -1
  41. package/dist/molecules/card/Card.js.map +1 -1
  42. package/dist/molecules/forms/form-control/FormControl.js.map +1 -1
  43. package/dist/molecules/forms/input-tags/InputTags.js.map +1 -1
  44. package/dist/molecules/forms/input-tags/components/ChoicesTags.d.ts +19 -19
  45. package/dist/molecules/forms/input-tags/components/ChoicesTags.js +32 -32
  46. package/dist/molecules/forms/input-tags/components/ChoicesTags.js.map +1 -1
  47. package/dist/molecules/forms/input-tags/components/ReactTags.js +289 -300
  48. package/dist/molecules/forms/input-tags/components/ReactTags.js.map +1 -1
  49. package/dist/molecules/forms/input-text/InputText.js +3 -3
  50. package/dist/molecules/forms/input-text/InputText.js.map +1 -1
  51. package/dist/molecules/forms/select/Select.js.map +1 -1
  52. package/dist/molecules/forms/select/components/ChoicesSelect.js +71 -73
  53. package/dist/molecules/forms/select/components/ChoicesSelect.js.map +1 -1
  54. package/dist/molecules/forms/select/components/HtmlSelect.js.map +1 -1
  55. package/dist/molecules/forms/select/components/ReactSelect.js +13 -14
  56. package/dist/molecules/forms/select/components/ReactSelect.js.map +1 -1
  57. package/dist/molecules/forms/select/components/choices.template.js +2340 -2257
  58. package/dist/molecules/forms/select/components/choices.template.js.map +1 -1
  59. package/dist/molecules/forms/select/hooks/useOptions.js.map +1 -1
  60. package/dist/molecules/loader/Loader.js.map +1 -1
  61. package/dist/molecules/modal/Modal.js +23 -24
  62. package/dist/molecules/modal/Modal.js.map +1 -1
  63. package/dist/molecules/pagination/Pagination.d.ts +2 -1
  64. package/dist/molecules/pagination/Pagination.js +29 -29
  65. package/dist/molecules/pagination/Pagination.js.map +1 -1
  66. package/dist/molecules/pagination/PaginationButton.js.map +1 -1
  67. package/dist/molecules/pagination/utils/getPageNumbers.js.map +1 -1
  68. package/dist/molecules/table/Table.js +35 -41
  69. package/dist/molecules/table/Table.js.map +1 -1
  70. package/dist/molecules/table/components/DefaultArrowSort.js.map +1 -1
  71. package/dist/molecules/table/components/DefaultCell.js.map +1 -1
  72. package/dist/molecules/table/components/DefaultCellFooter.js.map +1 -1
  73. package/dist/molecules/table/components/DefaultCellHeader.js.map +1 -1
  74. package/dist/molecules/table/components/DefaultCellOperations.js +10 -10
  75. package/dist/molecules/table/components/DefaultCellOperations.js.map +1 -1
  76. package/dist/molecules/table/components/DefaultFilter.js.map +1 -1
  77. package/dist/molecules/table/components/DefaultOperationButton.js +1 -1
  78. package/dist/molecules/table/components/DefaultOperationButton.js.map +1 -1
  79. package/dist/molecules/table/filters/RangeFilter.js +23 -24
  80. package/dist/molecules/table/filters/RangeFilter.js.map +1 -1
  81. package/dist/molecules/table/filters/SelectFilter.js +11 -13
  82. package/dist/molecules/table/filters/SelectFilter.js.map +1 -1
  83. package/dist/molecules/table/filters/TextFieldFilter.js.map +1 -1
  84. package/dist/molecules/table/hooks/useTable.d.ts +3 -3
  85. package/dist/molecules/table/hooks/useTable.js +17 -16
  86. package/dist/molecules/table/hooks/useTable.js.map +1 -1
  87. package/dist/molecules/table/hooks/useUniqValues.js.map +1 -1
  88. package/dist/molecules/table/utils/mapFormToColumns.js +21 -22
  89. package/dist/molecules/table/utils/mapFormToColumns.js.map +1 -1
  90. package/dist/molecules/tabs/Tab.js +36 -37
  91. package/dist/molecules/tabs/Tab.js.map +1 -1
  92. package/dist/molecules/tabs/TabList.js +9 -10
  93. package/dist/molecules/tabs/TabList.js.map +1 -1
  94. package/dist/molecules/tabs/TabPanel.js.map +1 -1
  95. package/dist/molecules/tabs/Tabs.js.map +1 -1
  96. package/dist/molecules/tabs/TabsBody.js.map +1 -1
  97. package/dist/molecules/tabs/TabsLegacy.d.ts +3 -2
  98. package/dist/molecules/tabs/TabsLegacy.js +30 -30
  99. package/dist/molecules/tabs/TabsLegacy.js.map +1 -1
  100. package/dist/molecules/tabs/context/TabControl.js.map +1 -1
  101. package/dist/molecules/tabs/hooks/tabControl.js.map +1 -1
  102. package/dist/organisms/form/Form.js.map +1 -1
  103. package/dist/organisms/form/access/FormAccess.js +41 -41
  104. package/dist/organisms/form/access/FormAccess.js.map +1 -1
  105. package/dist/organisms/form/access/FormAccess.schema.js +1 -0
  106. package/dist/organisms/form/access/FormAccess.schema.js.map +1 -1
  107. package/dist/organisms/form/access/FormAccess.utils.js +2 -2
  108. package/dist/organisms/form/access/FormAccess.utils.js.map +1 -1
  109. package/dist/organisms/form/actions/FormAction.js +15 -13
  110. package/dist/organisms/form/actions/FormAction.js.map +1 -1
  111. package/dist/organisms/form/builder/FormBuilder.js.map +1 -1
  112. package/dist/organisms/form/builder/FormEdit.d.ts +4 -3
  113. package/dist/organisms/form/builder/FormEdit.js +36 -36
  114. package/dist/organisms/form/builder/FormEdit.js.map +1 -1
  115. package/dist/organisms/form/builder/FormEdit.reducer.js.map +1 -1
  116. package/dist/organisms/form/builder/FormEditCtas.d.ts +2 -2
  117. package/dist/organisms/form/builder/FormEditCtas.js +36 -35
  118. package/dist/organisms/form/builder/FormEditCtas.js.map +1 -1
  119. package/dist/organisms/form/builder/FormParameters.js.map +1 -1
  120. package/dist/organisms/form/builder/useFormBuilder.d.ts +4 -4
  121. package/dist/organisms/form/builder/useFormBuilder.js +36 -33
  122. package/dist/organisms/form/builder/useFormBuilder.js.map +1 -1
  123. package/dist/organisms/form/builder/useFormEdit.d.ts +1 -1
  124. package/dist/organisms/form/builder/useFormEdit.js +17 -17
  125. package/dist/organisms/form/builder/useFormEdit.js.map +1 -1
  126. package/dist/organisms/form/exports/FormExport.d.ts +3 -2
  127. package/dist/organisms/form/exports/FormExport.js +23 -22
  128. package/dist/organisms/form/exports/FormExport.js.map +1 -1
  129. package/dist/organisms/form/preview/FormPreview.d.ts +3 -3
  130. package/dist/organisms/form/preview/FormPreview.js +5 -4
  131. package/dist/organisms/form/preview/FormPreview.js.map +1 -1
  132. package/dist/organisms/form/settings/FormSettings.js +28 -28
  133. package/dist/organisms/form/settings/FormSettings.js.map +1 -1
  134. package/dist/organisms/form/settings/FormSettings.schema.js.map +1 -1
  135. package/dist/organisms/form/settings/FormSettings.utils.js.map +1 -1
  136. package/dist/organisms/form/useForm.d.ts +2 -1
  137. package/dist/organisms/form/useForm.js +664 -661
  138. package/dist/organisms/form/useForm.js.map +1 -1
  139. package/dist/organisms/modal/RemoveModal.js +16 -17
  140. package/dist/organisms/modal/RemoveModal.js.map +1 -1
  141. package/dist/organisms/table/actions/ActionsTable.d.ts +2 -1
  142. package/dist/organisms/table/actions/ActionsTable.js +10 -9
  143. package/dist/organisms/table/actions/ActionsTable.js.map +1 -1
  144. package/dist/organisms/table/forms/FormsTable.d.ts +1 -1
  145. package/dist/organisms/table/forms/FormsTable.js +9 -8
  146. package/dist/organisms/table/forms/FormsTable.js.map +1 -1
  147. package/dist/organisms/table/forms/components/FormsCell.js +10 -10
  148. package/dist/organisms/table/forms/components/FormsCell.js.map +1 -1
  149. package/dist/organisms/table/submissions/SubmissionsTable.js.map +1 -1
  150. package/dist/organisms/views/FormViews.d.ts +3 -3
  151. package/dist/organisms/views/FormViews.js +47 -46
  152. package/dist/organisms/views/FormViews.js.map +1 -1
  153. package/dist/registries/components.js.map +1 -1
  154. package/dist/utils/getEventValue.js.map +1 -1
  155. package/dist/utils/iconClass.js +4 -5
  156. package/dist/utils/iconClass.js.map +1 -1
  157. package/dist/utils/mapPagination.js.map +1 -1
  158. package/dist/utils/stopPropagationWrapper.js.map +1 -1
  159. package/package.json +7 -7
  160. package/src/all.ts +34 -0
  161. package/src/atoms/icon/Icon.stories.tsx +1 -1
  162. package/src/contexts/FormioContext.tsx +96 -0
  163. package/src/hooks/useFormioContext.ts +13 -0
  164. package/src/hooks/useI18n.ts +9 -0
  165. package/src/index.ts +17 -13
  166. package/src/interfaces/ComponentType.ts +2 -2
  167. package/src/interfaces/FormBuilderOptions.ts +9 -0
  168. package/src/interfaces/FormOptions.ts +7 -13
  169. package/src/interfaces/FormType.ts +5 -11
  170. package/src/interfaces/SubmissionType.ts +9 -8
  171. package/src/interfaces/index.ts +1 -0
  172. package/src/molecules/button/Button.stories.tsx +1 -1
  173. package/src/molecules/forms/form-control/FormControl.spec.tsx +5 -2
  174. package/src/molecules/forms/form-control/FormControl.stories.tsx +1 -1
  175. package/src/molecules/forms/input-tags/components/ChoicesTags.stories.tsx +1 -1
  176. package/src/molecules/forms/input-tags/components/ChoicesTags.tsx +4 -4
  177. package/src/molecules/forms/input-tags/components/ReactTags.stories.tsx +1 -1
  178. package/src/molecules/forms/input-text/InputText.stories.tsx +2 -2
  179. package/src/molecules/forms/select/components/ChoicesSelect.stories.tsx +2 -2
  180. package/src/molecules/forms/select/components/ChoicesSelect.tsx +2 -2
  181. package/src/molecules/forms/select/components/HtmlSelect.stories.tsx +2 -2
  182. package/src/molecules/forms/select/components/ReactSelect.stories.tsx +2 -2
  183. package/src/molecules/loader/Loader.stories.tsx +1 -1
  184. package/src/molecules/modal/Modal.stories.tsx +1 -1
  185. package/src/molecules/pagination/Pagination.stories.tsx +1 -1
  186. package/src/molecules/pagination/Pagination.tsx +10 -10
  187. package/src/molecules/table/Table.stories.tsx +8 -8
  188. package/src/molecules/table/Table.tsx +1 -1
  189. package/src/molecules/table/filters/SelectFilter.tsx +1 -1
  190. package/src/molecules/table/hooks/useTable.tsx +7 -6
  191. package/src/molecules/table/utils/mapFormToColumns.tsx +6 -5
  192. package/src/molecules/tabs/Tabs.stories.tsx +2 -2
  193. package/src/molecules/tabs/TabsLegacy.stories.tsx +2 -2
  194. package/src/molecules/tabs/TabsLegacy.tsx +5 -3
  195. package/src/organisms/form/Form.stories.tsx +98 -118
  196. package/src/organisms/form/access/FormAccess.schema.ts +1 -0
  197. package/src/organisms/form/access/FormAccess.stories.tsx +5 -3
  198. package/src/organisms/form/actions/FormAction.stories.tsx +6 -2
  199. package/src/organisms/form/actions/FormAction.tsx +2 -2
  200. package/src/organisms/form/builder/FormBuilder.stories.tsx +4 -1
  201. package/src/organisms/form/builder/FormEdit.stories.tsx +11 -7
  202. package/src/organisms/form/builder/FormEdit.tsx +6 -6
  203. package/src/organisms/form/builder/FormEditCtas.tsx +10 -10
  204. package/src/organisms/form/builder/useFormBuilder.ts +12 -7
  205. package/src/organisms/form/exports/FormExport.stories.tsx +9 -12
  206. package/src/organisms/form/exports/FormExport.tsx +12 -9
  207. package/src/organisms/form/preview/FormPreview.stories.tsx +7 -10
  208. package/src/organisms/form/preview/FormPreview.tsx +7 -5
  209. package/src/organisms/form/settings/FormSettings.component.spec.tsx +3 -1
  210. package/src/organisms/form/settings/FormSettings.stories.tsx +1 -1
  211. package/src/organisms/form/settings/FormSettings.tsx +6 -6
  212. package/src/organisms/form/useForm.ts +2 -3
  213. package/src/organisms/modal/RemoveModal.stories.tsx +1 -1
  214. package/src/organisms/table/actions/ActionsTable.stories.tsx +2 -2
  215. package/src/organisms/table/actions/ActionsTable.tsx +7 -5
  216. package/src/organisms/table/forms/FormsTable.tsx +6 -5
  217. package/src/organisms/table/submissions/SubmissionsTable.stories.tsx +11 -14
  218. package/src/organisms/views/FormViews.stories.tsx +14 -17
  219. package/src/organisms/views/FormViews.tsx +18 -16
  220. package/src/utils/iconClass.ts +1 -3
  221. package/vite.config.mts +2 -2
  222. package/dist/typings.d.js +0 -2
  223. package/dist/typings.d.js.map +0 -1
  224. package/src/typings.d.ts +0 -3
  225. package/tsconfig.app.json +0 -11
  226. package/tsconfig.json +0 -21
  227. package/tsconfig.node.json +0 -13
  228. package/tsconfig.spec.json +0 -14
@@ -1 +1 @@
1
- {"version":3,"file":"TabPanel.js","sources":["../../../src/molecules/tabs/TabPanel.tsx"],"sourcesContent":["import classnames from \"classnames\";\n\nimport { registerComponent } from \"../../registries/components.js\";\nimport { useActiveTab, useTabsUid } from \"./hooks/tabControl.js\";\n\nexport interface TabPanelProps {\n className?: string;\n /**\n * Tab panel index<br/>\n * _Can be **0** or **1** indexed_\n */\n value: number;\n}\n\nexport function TabPanel({ value, className, children }: React.PropsWithChildren<TabPanelProps>) {\n const tabSelected = useActiveTab();\n const uid = useTabsUid();\n const isActive = tabSelected === value;\n\n return (\n <div\n id={`TabPanel_${value}_${uid}`}\n data-name={`TabPanel_${value}`}\n role='tabpanel'\n aria-hidden={!isActive}\n aria-labelledby={`Tab_${value}_${uid}`}\n tabIndex={isActive ? 0 : -1}\n className={classnames(\"tw-tabs__panel\", className, {\n \"-active\": isActive\n })}\n >\n {children}\n </div>\n );\n}\n\nregisterComponent(\"TabPanel\", TabPanel);\n"],"names":["TabPanel","value","className","children","tabSelected","useActiveTab","uid","useTabsUid","isActive","jsx","classnames","registerComponent"],"mappings":";;;;AAcO,SAASA,EAAS,EAAE,OAAAC,GAAO,WAAAC,GAAW,UAAAC,KAAoD;AAC/F,QAAMC,IAAcC,EAAa,GAC3BC,IAAMC,EAAW,GACjBC,IAAWJ,MAAgBH;AAG/B,SAAA,gBAAAQ;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,IAAI,YAAYR,CAAK,IAAIK,CAAG;AAAA,MAC5B,aAAW,YAAYL,CAAK;AAAA,MAC5B,MAAK;AAAA,MACL,eAAa,CAACO;AAAA,MACd,mBAAiB,OAAOP,CAAK,IAAIK,CAAG;AAAA,MACpC,UAAUE,IAAW,IAAI;AAAA,MACzB,WAAWE,EAAW,kBAAkBR,GAAW;AAAA,QACjD,WAAWM;AAAA,MAAA,CACZ;AAAA,MAEA,UAAAL;AAAA,IAAA;AAAA,EACH;AAEJ;AAEAQ,EAAkB,YAAYX,CAAQ;"}
1
+ {"version":3,"file":"TabPanel.js","sources":["../../../src/molecules/tabs/TabPanel.tsx"],"sourcesContent":["import classnames from \"classnames\";\n\nimport { registerComponent } from \"../../registries/components.js\";\nimport { useActiveTab, useTabsUid } from \"./hooks/tabControl.js\";\n\nexport interface TabPanelProps {\n className?: string;\n /**\n * Tab panel index<br/>\n * _Can be **0** or **1** indexed_\n */\n value: number;\n}\n\nexport function TabPanel({ value, className, children }: React.PropsWithChildren<TabPanelProps>) {\n const tabSelected = useActiveTab();\n const uid = useTabsUid();\n const isActive = tabSelected === value;\n\n return (\n <div\n id={`TabPanel_${value}_${uid}`}\n data-name={`TabPanel_${value}`}\n role='tabpanel'\n aria-hidden={!isActive}\n aria-labelledby={`Tab_${value}_${uid}`}\n tabIndex={isActive ? 0 : -1}\n className={classnames(\"tw-tabs__panel\", className, {\n \"-active\": isActive\n })}\n >\n {children}\n </div>\n );\n}\n\nregisterComponent(\"TabPanel\", TabPanel);\n"],"names":["TabPanel","value","className","children","tabSelected","useActiveTab","uid","useTabsUid","isActive","jsx","classnames","registerComponent"],"mappings":";;;;AAcO,SAASA,EAAS,EAAE,OAAAC,GAAO,WAAAC,GAAW,UAAAC,KAAoD;AAC/F,QAAMC,IAAcC,EAAA,GACdC,IAAMC,EAAA,GACNC,IAAWJ,MAAgBH;AAEjC,SACE,gBAAAQ;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,IAAI,YAAYR,CAAK,IAAIK,CAAG;AAAA,MAC5B,aAAW,YAAYL,CAAK;AAAA,MAC5B,MAAK;AAAA,MACL,eAAa,CAACO;AAAA,MACd,mBAAiB,OAAOP,CAAK,IAAIK,CAAG;AAAA,MACpC,UAAUE,IAAW,IAAI;AAAA,MACzB,WAAWE,EAAW,kBAAkBR,GAAW;AAAA,QACjD,WAAWM;AAAA,MAAA,CACZ;AAAA,MAEA,UAAAL;AAAA,IAAA;AAAA,EAAA;AAGP;AAEAQ,EAAkB,YAAYX,CAAQ;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.js","sources":["../../../src/molecules/tabs/Tabs.tsx"],"sourcesContent":["import classnames from \"classnames\";\nimport type { CSSProperties, PropsWithChildren } from \"react\";\n\nimport { registerComponent } from \"../../registries/components.js\";\nimport { TabsProvider } from \"./context/TabControl.js\";\n\nexport interface TabsProps extends Record<string, any> {\n style?: CSSProperties;\n className?: string;\n selected?: number;\n}\n\nexport function Tabs({ style, selected, children, className }: PropsWithChildren<TabsProps>) {\n return (\n <div data-testid={\"Tabs\"} className={classnames(\"tw-tabs\", className)} style={style}>\n <TabsProvider selected={selected}>{children}</TabsProvider>\n </div>\n );\n}\n\nregisterComponent(\"Tabs\", Tabs);\n"],"names":["Tabs","style","selected","children","className","jsx","classnames","TabsProvider","registerComponent"],"mappings":";;;;AAYO,SAASA,EAAK,EAAE,OAAAC,GAAO,UAAAC,GAAU,UAAAC,GAAU,WAAAC,KAA2C;AAC3F,SACG,gBAAAC,EAAA,OAAA,EAAI,eAAa,QAAQ,WAAWC,EAAW,WAAWF,CAAS,GAAG,OAAAH,GACrE,UAAA,gBAAAI,EAACE,GAAa,EAAA,UAAAL,GAAqB,UAAAC,EAAS,CAAA,GAC9C;AAEJ;AAEAK,EAAkB,QAAQR,CAAI;"}
1
+ {"version":3,"file":"Tabs.js","sources":["../../../src/molecules/tabs/Tabs.tsx"],"sourcesContent":["import classnames from \"classnames\";\nimport type { CSSProperties, PropsWithChildren } from \"react\";\n\nimport { registerComponent } from \"../../registries/components.js\";\nimport { TabsProvider } from \"./context/TabControl.js\";\n\nexport interface TabsProps extends Record<string, any> {\n style?: CSSProperties;\n className?: string;\n selected?: number;\n}\n\nexport function Tabs({ style, selected, children, className }: PropsWithChildren<TabsProps>) {\n return (\n <div data-testid={\"Tabs\"} className={classnames(\"tw-tabs\", className)} style={style}>\n <TabsProvider selected={selected}>{children}</TabsProvider>\n </div>\n );\n}\n\nregisterComponent(\"Tabs\", Tabs);\n"],"names":["Tabs","style","selected","children","className","jsx","classnames","TabsProvider","registerComponent"],"mappings":";;;;AAYO,SAASA,EAAK,EAAE,OAAAC,GAAO,UAAAC,GAAU,UAAAC,GAAU,WAAAC,KAA2C;AAC3F,SACE,gBAAAC,EAAC,OAAA,EAAI,eAAa,QAAQ,WAAWC,EAAW,WAAWF,CAAS,GAAG,OAAAH,GACrE,UAAA,gBAAAI,EAACE,GAAA,EAAa,UAAAL,GAAqB,UAAAC,GAAS,GAC9C;AAEJ;AAEAK,EAAkB,QAAQR,CAAI;"}
@@ -1 +1 @@
1
- {"version":3,"file":"TabsBody.js","sources":["../../../src/molecules/tabs/TabsBody.tsx"],"sourcesContent":["import { registerComponent } from \"../../registries/components.js\";\n\nexport function TabsBody(props: React.PropsWithChildren<{}>) {\n return (\n <div title={\"tabs-body\"} data-testid={\"TabsBody\"} className={\"tw-tabs__body\"}>\n {props.children}\n </div>\n );\n}\n\nregisterComponent(\"TabsBody\", TabsBody);\n"],"names":["TabsBody","props","jsx","registerComponent"],"mappings":";;AAEO,SAASA,EAASC,GAAoC;AAEzD,SAAA,gBAAAC,EAAC,SAAI,OAAO,aAAa,eAAa,YAAY,WAAW,iBAC1D,UAAAD,EAAM,SACT,CAAA;AAEJ;AAEAE,EAAkB,YAAYH,CAAQ;"}
1
+ {"version":3,"file":"TabsBody.js","sources":["../../../src/molecules/tabs/TabsBody.tsx"],"sourcesContent":["import { registerComponent } from \"../../registries/components.js\";\n\nexport function TabsBody(props: React.PropsWithChildren<{}>) {\n return (\n <div title={\"tabs-body\"} data-testid={\"TabsBody\"} className={\"tw-tabs__body\"}>\n {props.children}\n </div>\n );\n}\n\nregisterComponent(\"TabsBody\", TabsBody);\n"],"names":["TabsBody","props","jsx","registerComponent"],"mappings":";;AAEO,SAASA,EAASC,GAAoC;AAC3D,SACE,gBAAAC,EAAC,SAAI,OAAO,aAAa,eAAa,YAAY,WAAW,iBAC1D,UAAAD,EAAM,SAAA,CACT;AAEJ;AAEAE,EAAkB,YAAYH,CAAQ;"}
@@ -1,4 +1,5 @@
1
1
  import { CSSProperties, ReactNode } from 'react';
2
+ import { FormOptions } from '../../interfaces/index.js';
2
3
  export interface TabsItemProps extends Record<string, any> {
3
4
  label?: string;
4
5
  icon?: string;
@@ -12,6 +13,6 @@ export interface TabsLegacyProps extends Record<string, any> {
12
13
  className?: string;
13
14
  reverse?: boolean;
14
15
  onClick?: (item: TabsItemProps) => void;
15
- i18n?: (f: string) => string;
16
+ i18n?: FormOptions["i18n"];
16
17
  }
17
- export declare function TabsLegacy({ style, current, items, HeaderChildren, AddButton, className, onClick, i18n, reverse, after, ...additionalProps }: TabsLegacyProps): import("react/jsx-runtime").JSX.Element;
18
+ export declare function TabsLegacy({ style, current, items, HeaderChildren, AddButton, className, onClick, reverse, after, ...additionalProps }: TabsLegacyProps): import("react/jsx-runtime").JSX.Element;
@@ -1,49 +1,49 @@
1
- import { jsxs as s, jsx as r } from "react/jsx-runtime";
1
+ import { jsxs as t, jsx as r } from "react/jsx-runtime";
2
2
  import "./Tab.js";
3
3
  import "./TabList.js";
4
4
  import "./TabPanel.js";
5
5
  import "./Tabs.js";
6
6
  import "./TabsBody.js";
7
- import { getComponent as a } from "../../registries/components.js";
8
- function w({
9
- style: p,
10
- current: t,
11
- items: m = [],
7
+ import { useI18n as x } from "../../hooks/useI18n.js";
8
+ import { getComponent as c } from "../../registries/components.js";
9
+ function C({
10
+ style: m,
11
+ current: a,
12
+ items: T = [],
12
13
  HeaderChildren: e,
13
- AddButton: l,
14
- className: h,
15
- onClick: b,
16
- i18n: f = (c) => c,
17
- reverse: u,
18
- after: v,
19
- ...i
14
+ AddButton: b,
15
+ className: p,
16
+ onClick: l,
17
+ reverse: h,
18
+ after: f,
19
+ ...s
20
20
  }) {
21
- const c = a("Tab"), y = a("TabsBody"), L = a("TabList"), d = a("TabPanel"), g = a("Tabs"), T = m.filter((o) => o.label || o.icon);
22
- return /* @__PURE__ */ s(g, { className: h, style: p, children: [
23
- /* @__PURE__ */ s("div", { children: [
24
- /* @__PURE__ */ s(L, { children: [
25
- T.map((o, n) => /* @__PURE__ */ r(
26
- c,
21
+ const u = c("Tab"), v = c("TabsBody"), y = c("TabList"), L = c("TabPanel"), g = c("Tabs"), i = T.filter((n) => n.label || n.icon), { t: j } = x(s.i18n);
22
+ return /* @__PURE__ */ t(g, { className: p, style: m, children: [
23
+ /* @__PURE__ */ t("div", { children: [
24
+ /* @__PURE__ */ t(y, { children: [
25
+ i.map((n, o) => /* @__PURE__ */ r(
26
+ u,
27
27
  {
28
28
  onClick: () => {
29
- b && b(o);
29
+ l && l(n);
30
30
  },
31
- icon: o.icon,
32
- value: n,
33
- className: u ? "-reverse" : "",
34
- after: v,
35
- children: f(o.label || "")
31
+ icon: n.icon,
32
+ value: o,
33
+ className: h ? "-reverse" : "",
34
+ after: f,
35
+ children: j(n.label || "")
36
36
  },
37
- n
37
+ o
38
38
  )),
39
- l && /* @__PURE__ */ r(l, { ...i, current: t })
39
+ b && /* @__PURE__ */ r(b, { ...s, current: a })
40
40
  ] }),
41
- e && /* @__PURE__ */ r(e, { ...i, current: t })
41
+ e && /* @__PURE__ */ r(e, { ...s, current: a })
42
42
  ] }),
43
- /* @__PURE__ */ r(y, { children: T.map((o, n) => /* @__PURE__ */ r(d, { value: n, children: o.children || o.content }, n)) })
43
+ /* @__PURE__ */ r(v, { children: i.map((n, o) => /* @__PURE__ */ r(L, { value: o, children: n.children || n.content }, o)) })
44
44
  ] });
45
45
  }
46
46
  export {
47
- w as TabsLegacy
47
+ C as TabsLegacy
48
48
  };
49
49
  //# sourceMappingURL=TabsLegacy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TabsLegacy.js","sources":["../../../src/molecules/tabs/TabsLegacy.tsx"],"sourcesContent":["import \"./all.js\";\n\nimport { CSSProperties, ReactNode } from \"react\";\n\nimport { getComponent } from \"../../registries/components.js\";\nimport type { Tab as DefaultTab } from \"./Tab.js\";\nimport type { TabList as DefaultTabList } from \"./TabList.js\";\nimport type { TabPanel as DefaultTabPanel } from \"./TabPanel.js\";\nimport type { Tabs as DefaultTabs } from \"./Tabs.js\";\nimport type { TabsBody as DefaultTabsBody } from \"./TabsBody.js\";\n\nexport interface TabsItemProps extends Record<string, any> {\n label?: string;\n icon?: string;\n children?: ReactNode;\n}\n\nexport interface TabsLegacyProps extends Record<string, any> {\n AddButton?: any;\n current?: TabsItemProps;\n items?: TabsItemProps[];\n style?: CSSProperties;\n className?: string;\n reverse?: boolean;\n onClick?: (item: TabsItemProps) => void;\n i18n?: (f: string) => string;\n}\n\nexport function TabsLegacy({\n style,\n current,\n items = [],\n HeaderChildren,\n AddButton,\n className,\n onClick,\n i18n = (f) => f,\n reverse,\n after,\n ...additionalProps\n}: TabsLegacyProps) {\n const Tab = getComponent<typeof DefaultTab>(\"Tab\");\n const TabsBody = getComponent<typeof DefaultTabsBody>(\"TabsBody\");\n const TabList = getComponent<typeof DefaultTabList>(\"TabList\");\n const TabPanel = getComponent<typeof DefaultTabPanel>(\"TabPanel\");\n const Tabs = getComponent<typeof DefaultTabs>(\"Tabs\");\n const tabs = items.filter((item) => item.label || item.icon);\n\n return (\n <Tabs className={className} style={style}>\n <div>\n <TabList>\n {tabs.map((item, index) => {\n return (\n <Tab\n key={index}\n onClick={() => {\n onClick && onClick(item);\n }}\n icon={item.icon}\n value={index}\n className={reverse ? \"-reverse\" : \"\"}\n after={after}\n >\n {i18n(item.label || \"\")}\n </Tab>\n );\n })}\n {AddButton && <AddButton {...additionalProps} current={current} />}\n </TabList>\n {HeaderChildren && <HeaderChildren {...additionalProps} current={current} />}\n </div>\n <TabsBody>\n {tabs.map((item, index) => {\n return (\n <TabPanel key={index} value={index}>\n {item.children || item.content}\n </TabPanel>\n );\n })}\n </TabsBody>\n </Tabs>\n );\n}\n"],"names":["TabsLegacy","style","current","items","HeaderChildren","AddButton","className","onClick","i18n","f","reverse","after","additionalProps","Tab","getComponent","TabsBody","TabList","TabPanel","Tabs","tabs","item","jsxs","index","jsx"],"mappings":";;;;;;;AA4BO,SAASA,EAAW;AAAA,EACzB,OAAAC;AAAA,EACA,SAAAC;AAAA,EACA,OAAAC,IAAQ,CAAC;AAAA,EACT,gBAAAC;AAAA,EACA,WAAAC;AAAA,EACA,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,MAAAC,IAAO,CAACC,MAAMA;AAAA,EACd,SAAAC;AAAA,EACA,OAAAC;AAAA,EACA,GAAGC;AACL,GAAoB;AACZ,QAAAC,IAAMC,EAAgC,KAAK,GAC3CC,IAAWD,EAAqC,UAAU,GAC1DE,IAAUF,EAAoC,SAAS,GACvDG,IAAWH,EAAqC,UAAU,GAC1DI,IAAOJ,EAAiC,MAAM,GAC9CK,IAAOhB,EAAM,OAAO,CAACiB,MAASA,EAAK,SAASA,EAAK,IAAI;AAGzD,SAAA,gBAAAC,EAACH,GAAK,EAAA,WAAAZ,GAAsB,OAAAL,GAC1B,UAAA;AAAA,IAAA,gBAAAoB,EAAC,OACC,EAAA,UAAA;AAAA,MAAA,gBAAAA,EAACL,GACE,EAAA,UAAA;AAAA,QAAKG,EAAA,IAAI,CAACC,GAAME,MAEb,gBAAAC;AAAA,UAACV;AAAA,UAAA;AAAA,YAEC,SAAS,MAAM;AACb,cAAAN,KAAWA,EAAQa,CAAI;AAAA,YACzB;AAAA,YACA,MAAMA,EAAK;AAAA,YACX,OAAOE;AAAA,YACP,WAAWZ,IAAU,aAAa;AAAA,YAClC,OAAAC;AAAA,YAEC,UAAAH,EAAKY,EAAK,SAAS,EAAE;AAAA,UAAA;AAAA,UATjBE;AAAA,QAUP,CAEH;AAAA,QACAjB,KAAa,gBAAAkB,EAAClB,GAAW,EAAA,GAAGO,GAAiB,SAAAV,EAAkB,CAAA;AAAA,MAAA,GAClE;AAAA,MACCE,KAAkB,gBAAAmB,EAACnB,GAAgB,EAAA,GAAGQ,GAAiB,SAAAV,EAAkB,CAAA;AAAA,IAAA,GAC5E;AAAA,sBACCa,GACE,EAAA,UAAAI,EAAK,IAAI,CAACC,GAAME,MAEb,gBAAAC,EAACN,KAAqB,OAAOK,GAC1B,YAAK,YAAYF,EAAK,WADVE,CAEf,CAEH,EACH,CAAA;AAAA,EAAA,GACF;AAEJ;"}
1
+ {"version":3,"file":"TabsLegacy.js","sources":["../../../src/molecules/tabs/TabsLegacy.tsx"],"sourcesContent":["import \"./all.js\";\n\nimport { CSSProperties, ReactNode } from \"react\";\n\nimport { useI18n } from \"../../hooks/useI18n.js\";\nimport type { FormOptions } from \"../../interfaces/index.js\";\nimport { getComponent } from \"../../registries/components.js\";\nimport type { Tab as DefaultTab } from \"./Tab.js\";\nimport type { TabList as DefaultTabList } from \"./TabList.js\";\nimport type { TabPanel as DefaultTabPanel } from \"./TabPanel.js\";\nimport type { Tabs as DefaultTabs } from \"./Tabs.js\";\nimport type { TabsBody as DefaultTabsBody } from \"./TabsBody.js\";\n\nexport interface TabsItemProps extends Record<string, any> {\n label?: string;\n icon?: string;\n children?: ReactNode;\n}\n\nexport interface TabsLegacyProps extends Record<string, any> {\n AddButton?: any;\n current?: TabsItemProps;\n items?: TabsItemProps[];\n style?: CSSProperties;\n className?: string;\n reverse?: boolean;\n onClick?: (item: TabsItemProps) => void;\n i18n?: FormOptions[\"i18n\"];\n}\n\nexport function TabsLegacy({\n style,\n current,\n items = [],\n HeaderChildren,\n AddButton,\n className,\n onClick,\n reverse,\n after,\n ...additionalProps\n}: TabsLegacyProps) {\n const Tab = getComponent<typeof DefaultTab>(\"Tab\");\n const TabsBody = getComponent<typeof DefaultTabsBody>(\"TabsBody\");\n const TabList = getComponent<typeof DefaultTabList>(\"TabList\");\n const TabPanel = getComponent<typeof DefaultTabPanel>(\"TabPanel\");\n const Tabs = getComponent<typeof DefaultTabs>(\"Tabs\");\n const tabs = items.filter((item) => item.label || item.icon);\n const { t } = useI18n(additionalProps.i18n);\n\n return (\n <Tabs className={className} style={style}>\n <div>\n <TabList>\n {tabs.map((item, index) => {\n return (\n <Tab\n key={index}\n onClick={() => {\n onClick && onClick(item);\n }}\n icon={item.icon}\n value={index}\n className={reverse ? \"-reverse\" : \"\"}\n after={after}\n >\n {t(item.label || \"\")}\n </Tab>\n );\n })}\n {AddButton && <AddButton {...additionalProps} current={current} />}\n </TabList>\n {HeaderChildren && <HeaderChildren {...additionalProps} current={current} />}\n </div>\n <TabsBody>\n {tabs.map((item, index) => {\n return (\n <TabPanel key={index} value={index}>\n {item.children || item.content}\n </TabPanel>\n );\n })}\n </TabsBody>\n </Tabs>\n );\n}\n"],"names":["TabsLegacy","style","current","items","HeaderChildren","AddButton","className","onClick","reverse","after","additionalProps","Tab","getComponent","TabsBody","TabList","TabPanel","Tabs","tabs","item","t","useI18n","jsxs","index","jsx"],"mappings":";;;;;;;;AA8BO,SAASA,EAAW;AAAA,EACzB,OAAAC;AAAA,EACA,SAAAC;AAAA,EACA,OAAAC,IAAQ,CAAA;AAAA,EACR,gBAAAC;AAAA,EACA,WAAAC;AAAA,EACA,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,SAAAC;AAAA,EACA,OAAAC;AAAA,EACA,GAAGC;AACL,GAAoB;AAClB,QAAMC,IAAMC,EAAgC,KAAK,GAC3CC,IAAWD,EAAqC,UAAU,GAC1DE,IAAUF,EAAoC,SAAS,GACvDG,IAAWH,EAAqC,UAAU,GAC1DI,IAAOJ,EAAiC,MAAM,GAC9CK,IAAOd,EAAM,OAAO,CAACe,MAASA,EAAK,SAASA,EAAK,IAAI,GACrD,EAAE,GAAAC,EAAA,IAAMC,EAAQV,EAAgB,IAAI;AAE1C,SACE,gBAAAW,EAACL,GAAA,EAAK,WAAAV,GAAsB,OAAAL,GAC1B,UAAA;AAAA,IAAA,gBAAAoB,EAAC,OAAA,EACC,UAAA;AAAA,MAAA,gBAAAA,EAACP,GAAA,EACE,UAAA;AAAA,QAAAG,EAAK,IAAI,CAACC,GAAMI,MAEb,gBAAAC;AAAA,UAACZ;AAAA,UAAA;AAAA,YAEC,SAAS,MAAM;AACb,cAAAJ,KAAWA,EAAQW,CAAI;AAAA,YACzB;AAAA,YACA,MAAMA,EAAK;AAAA,YACX,OAAOI;AAAA,YACP,WAAWd,IAAU,aAAa;AAAA,YAClC,OAAAC;AAAA,YAEC,UAAAU,EAAED,EAAK,SAAS,EAAE;AAAA,UAAA;AAAA,UATdI;AAAA,QAAA,CAYV;AAAA,QACAjB,KAAa,gBAAAkB,EAAClB,GAAA,EAAW,GAAGK,GAAiB,SAAAR,EAAA,CAAkB;AAAA,MAAA,GAClE;AAAA,MACCE,KAAkB,gBAAAmB,EAACnB,GAAA,EAAgB,GAAGM,GAAiB,SAAAR,EAAA,CAAkB;AAAA,IAAA,GAC5E;AAAA,sBACCW,GAAA,EACE,UAAAI,EAAK,IAAI,CAACC,GAAMI,MAEb,gBAAAC,EAACR,KAAqB,OAAOO,GAC1B,YAAK,YAAYJ,EAAK,WADVI,CAEf,CAEH,EAAA,CACH;AAAA,EAAA,GACF;AAEJ;"}
@@ -1 +1 @@
1
- {"version":3,"file":"TabControl.js","sources":["../../../../src/molecules/tabs/context/TabControl.tsx"],"sourcesContent":["\"use client\";\n\nimport { createContext, type Dispatch, type PropsWithChildren, type RefObject, useCallback, useId, useReducer } from \"react\";\n\ntype RefTab<T extends HTMLElement = HTMLElement> = RefObject<T>;\ntype RefTabs<T extends HTMLElement = HTMLElement> = Map<number, RefTab<T>>;\n\ntype TabsUpdateAction = {\n type: \"update\";\n payload: number;\n};\n\ntype TabsRegisterAction<T extends HTMLElement = HTMLElement> = {\n type: \"register\";\n payload: { value: number; ref: RefObject<T> };\n};\n\ntype TabsUnregisterAction = {\n type: \"unregister\";\n payload: { value: number };\n};\n\ntype TabsAction<T extends HTMLElement = HTMLElement> =\n | { type: \"start\" | \"end\" | \"previous\" | \"next\" }\n | TabsUpdateAction\n | TabsRegisterAction<T>\n | TabsUnregisterAction;\n\ninterface TabsState<T extends HTMLElement = HTMLElement> {\n uid: string;\n value: number;\n refs: RefTabs<T>;\n}\n\ninterface TabControl<T extends HTMLElement = HTMLElement> extends TabsState<T> {\n uid: string;\n value: number;\n refs: RefTabs<T>;\n dispatch: Dispatch<TabsAction>;\n register: (value: number, ref: RefTab<T>) => void;\n unregister: (value: number) => void;\n}\n\nfunction next(state: TabsState) {\n const keys = [...state.refs.keys()];\n const index = keys.findIndex((value) => value === state.value);\n const nextIndex = (index + 1) % keys.length;\n\n return { ...state, value: keys[nextIndex] };\n}\n\nfunction previous(state: TabsState) {\n const keys = [...state.refs.keys()];\n const index = keys.findIndex((value) => value === state.value);\n const previousIndex = (index - 1 + keys.length) % keys.length;\n\n return { ...state, value: keys[previousIndex] };\n}\n\nfunction start(state: TabsState) {\n const keys = [...state.refs.keys()];\n const firstIndex = keys[0];\n\n return {\n ...state,\n value: firstIndex\n };\n}\n\nfunction end(state: TabsState) {\n const keys = [...state.refs.keys()];\n const lastIndex = keys[keys.length - 1];\n\n return {\n ...state,\n value: lastIndex\n };\n}\n\nfunction unregister(state: TabsState, action: TabsUnregisterAction) {\n const deletedRefs = new Map(state.refs);\n deletedRefs.delete(action.payload.value);\n\n return {\n ...state,\n refs: deletedRefs\n };\n}\n\nfunction register(state: TabsState, action: TabsRegisterAction) {\n return {\n ...state,\n refs: new Map(state.refs).set(action.payload.value, action.payload.ref)\n };\n}\n\nfunction update(state: TabsState, action: TabsUpdateAction) {\n return { ...state, value: action.payload };\n}\n\nconst actions = {\n next,\n previous,\n start,\n end,\n register,\n unregister,\n update\n};\n\nfunction tabsReducer(state: TabsState, action: TabsAction): TabsState {\n if (action.type in actions) {\n const actionFunction = actions[action.type as keyof typeof actions] as (state: TabsState, action: TabsAction) => TabsState;\n\n return actionFunction(state, action);\n }\n\n return state;\n}\n\nexport const TabControlContext = createContext<TabControl>({\n uid: \"\",\n value: 0,\n refs: new Map(),\n dispatch: () => {\n console.warn(\"Tab Controller Context dispatch used outside of Provider\");\n },\n register: () => {\n console.warn(\"Tab Controller Context register used outside of Provider\");\n },\n unregister: () => {\n console.warn(\"Tab Controller Context unregister used outside of Provider\");\n }\n});\n\nTabControlContext.displayName = \"TabControlContext\";\n\nexport interface TabsProviderProps {\n selected?: number;\n /**\n * The selected tab value\n * @deprecated Min props as no effect on the Tabs component and will be removed in future versions\n */\n min?: number;\n\n /**\n * The selected tab value\n * @deprecated Max props as no effect on the Tabs component and will be removed in future versions\n */\n max?: number;\n}\n\nexport function TabsProvider({ selected = 0, children }: PropsWithChildren<TabsProviderProps>) {\n const uid = useId();\n const [state, dispatch] = useReducer(tabsReducer, { uid, value: selected, refs: new Map() });\n\n const register = useCallback(<T extends HTMLElement>(value: number, ref: RefTab<T>) => {\n dispatch({ type: \"register\", payload: { value, ref } });\n }, []);\n\n const unregister = useCallback((value: number) => {\n dispatch({ type: \"unregister\", payload: { value } });\n }, []);\n\n return <TabControlContext.Provider value={{ ...state, dispatch, register, unregister }}>{children}</TabControlContext.Provider>;\n}\n"],"names":["next","state","keys","nextIndex","value","previous","previousIndex","start","firstIndex","end","lastIndex","unregister","action","deletedRefs","register","update","actions","tabsReducer","actionFunction","TabControlContext","createContext","TabsProvider","selected","children","uid","useId","dispatch","useReducer","useCallback","ref","jsx"],"mappings":"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"}
1
+ {"version":3,"file":"TabControl.js","sources":["../../../../src/molecules/tabs/context/TabControl.tsx"],"sourcesContent":["\"use client\";\n\nimport { createContext, type Dispatch, type PropsWithChildren, type RefObject, useCallback, useId, useReducer } from \"react\";\n\ntype RefTab<T extends HTMLElement = HTMLElement> = RefObject<T>;\ntype RefTabs<T extends HTMLElement = HTMLElement> = Map<number, RefTab<T>>;\n\ntype TabsUpdateAction = {\n type: \"update\";\n payload: number;\n};\n\ntype TabsRegisterAction<T extends HTMLElement = HTMLElement> = {\n type: \"register\";\n payload: { value: number; ref: RefObject<T> };\n};\n\ntype TabsUnregisterAction = {\n type: \"unregister\";\n payload: { value: number };\n};\n\ntype TabsAction<T extends HTMLElement = HTMLElement> =\n | { type: \"start\" | \"end\" | \"previous\" | \"next\" }\n | TabsUpdateAction\n | TabsRegisterAction<T>\n | TabsUnregisterAction;\n\ninterface TabsState<T extends HTMLElement = HTMLElement> {\n uid: string;\n value: number;\n refs: RefTabs<T>;\n}\n\ninterface TabControl<T extends HTMLElement = HTMLElement> extends TabsState<T> {\n uid: string;\n value: number;\n refs: RefTabs<T>;\n dispatch: Dispatch<TabsAction>;\n register: (value: number, ref: RefTab<T>) => void;\n unregister: (value: number) => void;\n}\n\nfunction next(state: TabsState) {\n const keys = [...state.refs.keys()];\n const index = keys.findIndex((value) => value === state.value);\n const nextIndex = (index + 1) % keys.length;\n\n return { ...state, value: keys[nextIndex] };\n}\n\nfunction previous(state: TabsState) {\n const keys = [...state.refs.keys()];\n const index = keys.findIndex((value) => value === state.value);\n const previousIndex = (index - 1 + keys.length) % keys.length;\n\n return { ...state, value: keys[previousIndex] };\n}\n\nfunction start(state: TabsState) {\n const keys = [...state.refs.keys()];\n const firstIndex = keys[0];\n\n return {\n ...state,\n value: firstIndex\n };\n}\n\nfunction end(state: TabsState) {\n const keys = [...state.refs.keys()];\n const lastIndex = keys[keys.length - 1];\n\n return {\n ...state,\n value: lastIndex\n };\n}\n\nfunction unregister(state: TabsState, action: TabsUnregisterAction) {\n const deletedRefs = new Map(state.refs);\n deletedRefs.delete(action.payload.value);\n\n return {\n ...state,\n refs: deletedRefs\n };\n}\n\nfunction register(state: TabsState, action: TabsRegisterAction) {\n return {\n ...state,\n refs: new Map(state.refs).set(action.payload.value, action.payload.ref)\n };\n}\n\nfunction update(state: TabsState, action: TabsUpdateAction) {\n return { ...state, value: action.payload };\n}\n\nconst actions = {\n next,\n previous,\n start,\n end,\n register,\n unregister,\n update\n};\n\nfunction tabsReducer(state: TabsState, action: TabsAction): TabsState {\n if (action.type in actions) {\n const actionFunction = actions[action.type as keyof typeof actions] as (state: TabsState, action: TabsAction) => TabsState;\n\n return actionFunction(state, action);\n }\n\n return state;\n}\n\nexport const TabControlContext = createContext<TabControl>({\n uid: \"\",\n value: 0,\n refs: new Map(),\n dispatch: () => {\n console.warn(\"Tab Controller Context dispatch used outside of Provider\");\n },\n register: () => {\n console.warn(\"Tab Controller Context register used outside of Provider\");\n },\n unregister: () => {\n console.warn(\"Tab Controller Context unregister used outside of Provider\");\n }\n});\n\nTabControlContext.displayName = \"TabControlContext\";\n\nexport interface TabsProviderProps {\n selected?: number;\n /**\n * The selected tab value\n * @deprecated Min props as no effect on the Tabs component and will be removed in future versions\n */\n min?: number;\n\n /**\n * The selected tab value\n * @deprecated Max props as no effect on the Tabs component and will be removed in future versions\n */\n max?: number;\n}\n\nexport function TabsProvider({ selected = 0, children }: PropsWithChildren<TabsProviderProps>) {\n const uid = useId();\n const [state, dispatch] = useReducer(tabsReducer, { uid, value: selected, refs: new Map() });\n\n const register = useCallback(<T extends HTMLElement>(value: number, ref: RefTab<T>) => {\n dispatch({ type: \"register\", payload: { value, ref } });\n }, []);\n\n const unregister = useCallback((value: number) => {\n dispatch({ type: \"unregister\", payload: { value } });\n }, []);\n\n return <TabControlContext.Provider value={{ ...state, dispatch, register, unregister }}>{children}</TabControlContext.Provider>;\n}\n"],"names":["next","state","keys","nextIndex","value","previous","previousIndex","start","firstIndex","end","lastIndex","unregister","action","deletedRefs","register","update","actions","tabsReducer","actionFunction","TabControlContext","createContext","TabsProvider","selected","children","uid","useId","dispatch","useReducer","useCallback","ref","jsx"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tabControl.js","sources":["../../../../src/molecules/tabs/hooks/tabControl.ts"],"sourcesContent":["import { type RefObject, useContext, useEffect } from \"react\";\n\nimport { TabControlContext } from \"../context/TabControl\";\n\nexport const useActiveTab = () => {\n const { value } = useContext(TabControlContext);\n\n return value;\n};\n\nexport const useTabDispatch = () => {\n const { dispatch } = useContext(TabControlContext);\n\n return dispatch;\n};\n\nexport const useTabsUid = () => {\n const { uid } = useContext(TabControlContext);\n\n return uid;\n};\n\ninterface Props<T extends HTMLElement> {\n value: number;\n ref: RefObject<T>;\n}\n\nexport function useRegisterTabControl<T extends HTMLElement>({ value, ref }: Props<T>) {\n const { dispatch, register, unregister } = useContext(TabControlContext);\n\n useEffect(() => {\n register(value, ref);\n\n return () => {\n unregister(value);\n };\n }, [value, ref, register, unregister]);\n\n return dispatch;\n}\n\nexport const useTabControls = () => {\n const { refs } = useContext(TabControlContext);\n\n return refs;\n};\n\nexport const useActiveTabControl = () => {\n const { value, refs } = useContext(TabControlContext);\n\n return [value, refs.get(value)] as const;\n};\n"],"names":["useActiveTab","value","useContext","TabControlContext","useTabDispatch","dispatch","useTabsUid","uid","useRegisterTabControl","ref","register","unregister","useEffect","useTabControls","refs","useActiveTabControl"],"mappings":";;AAIO,MAAMA,IAAe,MAAM;AAChC,QAAM,EAAE,OAAAC,EAAA,IAAUC,EAAWC,CAAiB;AAEvC,SAAAF;AACT,GAEaG,IAAiB,MAAM;AAClC,QAAM,EAAE,UAAAC,EAAA,IAAaH,EAAWC,CAAiB;AAE1C,SAAAE;AACT,GAEaC,IAAa,MAAM;AAC9B,QAAM,EAAE,KAAAC,EAAA,IAAQL,EAAWC,CAAiB;AAErC,SAAAI;AACT;AAOO,SAASC,EAA6C,EAAE,OAAAP,GAAO,KAAAQ,KAAiB;AACrF,QAAM,EAAE,UAAAJ,GAAU,UAAAK,GAAU,YAAAC,EAAW,IAAIT,EAAWC,CAAiB;AAEvE,SAAAS,EAAU,OACRF,EAAST,GAAOQ,CAAG,GAEZ,MAAM;AACX,IAAAE,EAAWV,CAAK;AAAA,EAClB,IACC,CAACA,GAAOQ,GAAKC,GAAUC,CAAU,CAAC,GAE9BN;AACT;AAEO,MAAMQ,IAAiB,MAAM;AAClC,QAAM,EAAE,MAAAC,EAAA,IAASZ,EAAWC,CAAiB;AAEtC,SAAAW;AACT,GAEaC,IAAsB,MAAM;AACvC,QAAM,EAAE,OAAAd,GAAO,MAAAa,MAASZ,EAAWC,CAAiB;AAEpD,SAAO,CAACF,GAAOa,EAAK,IAAIb,CAAK,CAAC;AAChC;"}
1
+ {"version":3,"file":"tabControl.js","sources":["../../../../src/molecules/tabs/hooks/tabControl.ts"],"sourcesContent":["import { type RefObject, useContext, useEffect } from \"react\";\n\nimport { TabControlContext } from \"../context/TabControl\";\n\nexport const useActiveTab = () => {\n const { value } = useContext(TabControlContext);\n\n return value;\n};\n\nexport const useTabDispatch = () => {\n const { dispatch } = useContext(TabControlContext);\n\n return dispatch;\n};\n\nexport const useTabsUid = () => {\n const { uid } = useContext(TabControlContext);\n\n return uid;\n};\n\ninterface Props<T extends HTMLElement> {\n value: number;\n ref: RefObject<T>;\n}\n\nexport function useRegisterTabControl<T extends HTMLElement>({ value, ref }: Props<T>) {\n const { dispatch, register, unregister } = useContext(TabControlContext);\n\n useEffect(() => {\n register(value, ref);\n\n return () => {\n unregister(value);\n };\n }, [value, ref, register, unregister]);\n\n return dispatch;\n}\n\nexport const useTabControls = () => {\n const { refs } = useContext(TabControlContext);\n\n return refs;\n};\n\nexport const useActiveTabControl = () => {\n const { value, refs } = useContext(TabControlContext);\n\n return [value, refs.get(value)] as const;\n};\n"],"names":["useActiveTab","value","useContext","TabControlContext","useTabDispatch","dispatch","useTabsUid","uid","useRegisterTabControl","ref","register","unregister","useEffect","useTabControls","refs","useActiveTabControl"],"mappings":";;AAIO,MAAMA,IAAe,MAAM;AAChC,QAAM,EAAE,OAAAC,EAAA,IAAUC,EAAWC,CAAiB;AAE9C,SAAOF;AACT,GAEaG,IAAiB,MAAM;AAClC,QAAM,EAAE,UAAAC,EAAA,IAAaH,EAAWC,CAAiB;AAEjD,SAAOE;AACT,GAEaC,IAAa,MAAM;AAC9B,QAAM,EAAE,KAAAC,EAAA,IAAQL,EAAWC,CAAiB;AAE5C,SAAOI;AACT;AAOO,SAASC,EAA6C,EAAE,OAAAP,GAAO,KAAAQ,KAAiB;AACrF,QAAM,EAAE,UAAAJ,GAAU,UAAAK,GAAU,YAAAC,EAAA,IAAeT,EAAWC,CAAiB;AAEvE,SAAAS,EAAU,OACRF,EAAST,GAAOQ,CAAG,GAEZ,MAAM;AACX,IAAAE,EAAWV,CAAK;AAAA,EAClB,IACC,CAACA,GAAOQ,GAAKC,GAAUC,CAAU,CAAC,GAE9BN;AACT;AAEO,MAAMQ,IAAiB,MAAM;AAClC,QAAM,EAAE,MAAAC,EAAA,IAASZ,EAAWC,CAAiB;AAE7C,SAAOW;AACT,GAEaC,IAAsB,MAAM;AACvC,QAAM,EAAE,OAAAd,GAAO,MAAAa,MAASZ,EAAWC,CAAiB;AAEpD,SAAO,CAACF,GAAOa,EAAK,IAAIb,CAAK,CAAC;AAChC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Form.js","sources":["../../../src/organisms/form/Form.tsx"],"sourcesContent":["import { JSON } from \"../../interfaces\";\nimport { useForm, UseFormProps } from \"./useForm\";\n\nclass CSSProperties {}\n\nexport interface FormProps<Data extends { [key: string]: JSON } = { [key: string]: JSON }> extends UseFormProps<Data> {\n [\"data-testid\"]?: string;\n /**\n *\n */\n className?: string;\n\n style?: CSSProperties;\n}\n\nexport function Form<Data extends { [key: string]: JSON } = { [key: string]: JSON }>({\n style,\n className,\n \"data-testid\": dataTestId = \"formio-container\",\n ...props\n}: Partial<FormProps<Data>>) {\n const { element } = useForm<Data>(props);\n\n return (\n <div>\n <div data-testid={dataTestId} style={style} className={className} ref={element} />\n </div>\n );\n}\n"],"names":["Form","style","className","dataTestId","props","element","useForm","jsx"],"mappings":";;AAeO,SAASA,EAAqE;AAAA,EACnF,OAAAC;AAAA,EACA,WAAAC;AAAA,EACA,eAAeC,IAAa;AAAA,EAC5B,GAAGC;AACL,GAA6B;AAC3B,QAAM,EAAE,SAAAC,EAAA,IAAYC,EAAcF,CAAK;AAGrC,SAAA,gBAAAG,EAAC,OACC,EAAA,UAAA,gBAAAA,EAAC,OAAI,EAAA,eAAaJ,GAAY,OAAAF,GAAc,WAAAC,GAAsB,KAAKG,EAAA,CAAS,EAClF,CAAA;AAEJ;"}
1
+ {"version":3,"file":"Form.js","sources":["../../../src/organisms/form/Form.tsx"],"sourcesContent":["import { JSON } from \"../../interfaces\";\nimport { useForm, UseFormProps } from \"./useForm\";\n\nclass CSSProperties {}\n\nexport interface FormProps<Data extends { [key: string]: JSON } = { [key: string]: JSON }> extends UseFormProps<Data> {\n [\"data-testid\"]?: string;\n /**\n *\n */\n className?: string;\n\n style?: CSSProperties;\n}\n\nexport function Form<Data extends { [key: string]: JSON } = { [key: string]: JSON }>({\n style,\n className,\n \"data-testid\": dataTestId = \"formio-container\",\n ...props\n}: Partial<FormProps<Data>>) {\n const { element } = useForm<Data>(props);\n\n return (\n <div>\n <div data-testid={dataTestId} style={style} className={className} ref={element} />\n </div>\n );\n}\n"],"names":["Form","style","className","dataTestId","props","element","useForm","jsx"],"mappings":";;AAeO,SAASA,EAAqE;AAAA,EACnF,OAAAC;AAAA,EACA,WAAAC;AAAA,EACA,eAAeC,IAAa;AAAA,EAC5B,GAAGC;AACL,GAA6B;AAC3B,QAAM,EAAE,SAAAC,EAAA,IAAYC,EAAcF,CAAK;AAEvC,SACE,gBAAAG,EAAC,OAAA,EACC,UAAA,gBAAAA,EAAC,OAAA,EAAI,eAAaJ,GAAY,OAAAF,GAAc,WAAAC,GAAsB,KAAKG,EAAA,CAAS,EAAA,CAClF;AAEJ;"}
@@ -1,85 +1,85 @@
1
- import { jsxs as a, jsx as e, Fragment as y } from "react/jsx-runtime";
2
- import { useMemo as f, useState as g, useCallback as A, useEffect as N } from "react";
3
- import { Card as d } from "../../../molecules/card/Card.js";
1
+ import { jsxs as o, jsx as e, Fragment as g } from "react/jsx-runtime";
2
+ import { useMemo as y, useState as w, useCallback as A, useEffect as N } from "react";
3
+ import { Card as m } from "../../../molecules/card/Card.js";
4
4
  import { Form as v } from "../Form.js";
5
- import { getFormAccess as S, dataAccessToSubmissions as b, updateSubmissions as x, shouldUpdate as p, submissionsToDataAccess as F } from "./FormAccess.utils.js";
6
- function T({ form: s, roles: r, onSubmit: l, options: t }) {
7
- const o = f(() => S(r), [r]), [i, n] = g(() => b(s, o)), m = A(
8
- (c, h) => {
9
- x(c, h, i, n);
5
+ import { getFormAccess as S, dataAccessToSubmissions as b, updateSubmissions as x, shouldUpdate as f, submissionsToDataAccess as F } from "./FormAccess.utils.js";
6
+ function T({ form: s, roles: l, onSubmit: a, options: c }) {
7
+ const n = y(() => S(l), [l]), [i, r] = w(() => b(s, n)), d = A(
8
+ (t, h) => {
9
+ x(t, h, i, r);
10
10
  },
11
11
  [i]
12
12
  );
13
13
  return N(() => {
14
- const c = b(s, o);
15
- s != null && s._id && (p("access", i.access, c) || p("submissionAccess", i.submissionAccess, c)) && n(c);
16
- }, [s == null ? void 0 : s._id]), {
17
- options: t,
18
- form: o,
14
+ const t = b(s, n);
15
+ s?._id && (f("access", i.access, t) || f("submissionAccess", i.submissionAccess, t)) && r(t);
16
+ }, [s?._id]), {
17
+ options: c,
18
+ form: n,
19
19
  type: s.type,
20
20
  submissions: i,
21
- onChange: m,
21
+ onChange: d,
22
22
  onSubmit: () => {
23
- l && l(F(s, i));
23
+ a && a(F(s, i));
24
24
  }
25
25
  };
26
26
  }
27
- function w({ name: s, form: r, submissions: l, options: t, onChange: o, onSubmit: i, children: n }) {
28
- const [m, c] = g(!0);
29
- return /* @__PURE__ */ a(y, { children: [
27
+ function p({ name: s, form: l, submissions: a, options: c, onChange: n, onSubmit: i, children: r }) {
28
+ const [d, t] = w(!0);
29
+ return /* @__PURE__ */ o(g, { children: [
30
30
  /* @__PURE__ */ e(
31
31
  v,
32
32
  {
33
- form: r[s],
34
- submission: l[s],
33
+ form: l[s],
34
+ submission: a[s],
35
35
  onChange: ({ data: h, isValid: u }) => {
36
- u && o(s, { data: h }), c(u);
36
+ u && n(s, { data: h }), t(u);
37
37
  },
38
- options: t
38
+ options: c
39
39
  }
40
40
  ),
41
- /* @__PURE__ */ e("button", { disabled: !m, className: "mt-5 btn btn-primary", onClick: i, children: "Save access" }),
42
- n,
41
+ /* @__PURE__ */ e("button", { disabled: !d, className: "mt-5 btn btn-primary", onClick: i, children: "Save access" }),
42
+ r,
43
43
  /* @__PURE__ */ e("div", { className: "alert alert-warning mt-5", children: "Elevated permissions allow users to access and modify other user's entities. Assign with caution." })
44
44
  ] });
45
45
  }
46
46
  function O(s) {
47
- const { type: r, form: l, submissions: t, options: o, onChange: i, onSubmit: n } = T(s);
48
- return /* @__PURE__ */ a("div", { children: [
47
+ const { type: l, form: a, submissions: c, options: n, onChange: i, onSubmit: r } = T(s);
48
+ return /* @__PURE__ */ o("div", { children: [
49
49
  s.children,
50
- /* @__PURE__ */ a("div", { className: "flex mb-5", children: [
51
- /* @__PURE__ */ e(d, { label: "Manage submission access", className: "flex-1", children: /* @__PURE__ */ e(
52
- w,
50
+ /* @__PURE__ */ o("div", { className: "flex mb-5", children: [
51
+ /* @__PURE__ */ e(m, { label: "Manage submission access", className: "flex-1", children: /* @__PURE__ */ e(
52
+ p,
53
53
  {
54
54
  name: "submissionAccess",
55
- form: l,
56
- submissions: t,
55
+ form: a,
56
+ submissions: c,
57
57
  onChange: i,
58
- onSubmit: n,
59
- options: o,
58
+ onSubmit: r,
59
+ options: n,
60
60
  children: s.children
61
61
  }
62
62
  ) }),
63
- /* @__PURE__ */ e("div", { className: "w-1/4 pl-4", children: /* @__PURE__ */ a(d, { label: "About Submission Data Permissions", children: [
63
+ /* @__PURE__ */ e("div", { className: "w-1/4 pl-4", children: /* @__PURE__ */ o(m, { label: "About Submission Data Permissions", children: [
64
64
  /* @__PURE__ */ e("p", { children: "Submission Data Permissions allow you to control who can create, view, and modify form submission data." }),
65
- /* @__PURE__ */ a("ul", { className: "mt-5 pl-7 list-disc", children: [
66
- /* @__PURE__ */ a("li", { className: "pb-2", children: [
65
+ /* @__PURE__ */ o("ul", { className: "mt-5 pl-7 list-disc", children: [
66
+ /* @__PURE__ */ o("li", { className: "pb-2", children: [
67
67
  /* @__PURE__ */ e("strong", { children: "Own Permissions" }),
68
68
  " - These permissions apply if the user is the original creator of the submission data and is listed as the owner of the submission in submission.owner. This allows users to create and edit their own submission data without seeing other user's data."
69
69
  ] }),
70
- /* @__PURE__ */ a("li", { children: [
70
+ /* @__PURE__ */ o("li", { children: [
71
71
  /* @__PURE__ */ e("strong", { children: "All Permissions" }),
72
72
  " - These permissions apply to all submission data regardless of who owns it."
73
73
  ] })
74
74
  ] })
75
75
  ] }) })
76
76
  ] }),
77
- /* @__PURE__ */ a("div", { className: "flex mb-5", children: [
78
- /* @__PURE__ */ e(d, { label: `Manage ${r} definition access`, className: "flex-1", children: /* @__PURE__ */ e(w, { name: "access", form: l, submissions: t, onChange: i, onSubmit: n, options: o, children: s.children }) }),
79
- /* @__PURE__ */ e("div", { className: "w-1/4 pl-4", children: /* @__PURE__ */ a(d, { label: "About Form Definition Access", children: [
77
+ /* @__PURE__ */ o("div", { className: "flex mb-5", children: [
78
+ /* @__PURE__ */ e(m, { label: `Manage ${l} definition access`, className: "flex-1", children: /* @__PURE__ */ e(p, { name: "access", form: a, submissions: c, onChange: i, onSubmit: r, options: n, children: s.children }) }),
79
+ /* @__PURE__ */ e("div", { className: "w-1/4 pl-4", children: /* @__PURE__ */ o(m, { label: "About Form Definition Access", children: [
80
80
  /* @__PURE__ */ e("p", { children: "These permissions allow you to give access to a single form's JSON definition so they can render the form." }),
81
81
  /* @__PURE__ */ e("p", { children: "Typically you will want to allow all of your roles to be able to Read the form definition." }),
82
- /* @__PURE__ */ a("p", { children: [
82
+ /* @__PURE__ */ o("p", { children: [
83
83
  "Each form also has an owner at ",
84
84
  /* @__PURE__ */ e("strong", { children: "form.owner" }),
85
85
  " which is the user who created the form. In some applications users are allowed to create their own forms. In those cases it is helpful to have Owner based permissions as well."
@@ -1 +1 @@
1
- {"version":3,"file":"FormAccess.js","sources":["../../../../src/organisms/form/access/FormAccess.tsx"],"sourcesContent":["import { PropsWithChildren, useCallback, useEffect, useMemo, useState } from \"react\";\n\nimport type { FormOptions, FormType, SubmissionType } from \"../../../interfaces\";\nimport { Card } from \"../../../molecules/card/Card\";\nimport { Form } from \"../../form/Form\";\nimport {\n AccessRolesType,\n dataAccessToSubmissions,\n FormAccessType,\n getFormAccess,\n shouldUpdate,\n SubmissionAccessType,\n submissionsToDataAccess,\n updateSubmissions\n} from \"./FormAccess.utils\";\n\nexport interface FormAccessProps {\n form: Partial<FormType>;\n roles: any;\n onSubmit?: Function;\n options?: FormOptions;\n}\n\nfunction useFormAccess({ form: formDefinition, roles, onSubmit, options }: FormAccessProps) {\n const form = useMemo(() => getFormAccess(roles), [roles]);\n\n const [submissions, setSubmissions] = useState(() => dataAccessToSubmissions(formDefinition, form));\n\n const onChange = useCallback(\n (type: string, submission: SubmissionType<AccessRolesType>) => {\n updateSubmissions(type, submission, submissions, setSubmissions);\n },\n [submissions]\n );\n\n useEffect(() => {\n const input = dataAccessToSubmissions(formDefinition, form);\n if (formDefinition?._id) {\n if (shouldUpdate(\"access\", submissions.access, input) || shouldUpdate(\"submissionAccess\", submissions.submissionAccess, input)) {\n setSubmissions(input);\n }\n }\n }, [formDefinition?._id]);\n\n return {\n options,\n form,\n type: formDefinition.type,\n submissions,\n onChange,\n onSubmit: () => {\n onSubmit && onSubmit(submissionsToDataAccess(formDefinition, submissions));\n }\n };\n}\n\ninterface NamedFormAccessProps {\n name: \"access\" | \"submissionAccess\";\n form: FormAccessType;\n submissions: SubmissionAccessType;\n options: any;\n onSubmit: any;\n\n onChange(name: \"access\" | \"submissionAccess\", submission: SubmissionType<AccessRolesType>): void;\n}\n\nfunction NamedFormAccess({ name, form, submissions, options, onChange, onSubmit, children }: PropsWithChildren<NamedFormAccessProps>) {\n const [isValid, setIsValid] = useState(true);\n\n return (\n <>\n <Form<AccessRolesType>\n form={form[name]}\n submission={submissions[name]}\n onChange={({ data, isValid }) => {\n isValid && onChange(name, { data: data as unknown as AccessRolesType });\n setIsValid(isValid);\n }}\n options={options}\n />\n\n <button disabled={!isValid} className={\"mt-5 btn btn-primary\"} onClick={onSubmit}>\n Save access\n </button>\n\n {children}\n\n <div className={\"alert alert-warning mt-5\"}>\n Elevated permissions allow users to access and modify other user's entities. Assign with caution.\n </div>\n </>\n );\n}\n\nexport function FormAccess(props: PropsWithChildren<FormAccessProps>) {\n const { type, form, submissions, options, onChange, onSubmit } = useFormAccess(props);\n\n return (\n <div>\n {props.children}\n <div className={\"flex mb-5\"}>\n <Card label={\"Manage submission access\"} className={\"flex-1\"}>\n <NamedFormAccess\n name={\"submissionAccess\"}\n form={form}\n submissions={submissions}\n onChange={onChange}\n onSubmit={onSubmit}\n options={options}\n >\n {props.children}\n </NamedFormAccess>\n </Card>\n <div className={\"w-1/4 pl-4\"}>\n <Card label={\"About Submission Data Permissions\"}>\n <p>Submission Data Permissions allow you to control who can create, view, and modify form submission data.</p>\n\n <ul className={\"mt-5 pl-7 list-disc\"}>\n <li className={\"pb-2\"}>\n <strong>Own Permissions</strong> - These permissions apply if the user is the original creator of the submission data and is\n listed as the owner of the submission in submission.owner. This allows users to create and edit their own submission data\n without seeing other user's data.\n </li>\n <li>\n <strong>All Permissions</strong> - These permissions apply to all submission data regardless of who owns it.\n </li>\n </ul>\n </Card>\n </div>\n </div>\n <div className={\"flex mb-5\"}>\n <Card label={`Manage ${type} definition access`} className={\"flex-1\"}>\n <NamedFormAccess name={\"access\"} form={form} submissions={submissions} onChange={onChange} onSubmit={onSubmit} options={options}>\n {props.children}\n </NamedFormAccess>\n </Card>\n\n <div className={\"w-1/4 pl-4\"}>\n <Card label={\"About Form Definition Access\"}>\n <p>These permissions allow you to give access to a single form's JSON definition so they can render the form.</p>\n\n <p>Typically you will want to allow all of your roles to be able to Read the form definition.</p>\n\n <p>\n Each form also has an owner at <strong>form.owner</strong> which is the user who created the form. In some applications users\n are allowed to create their own forms. In those cases it is helpful to have Owner based permissions as well.\n </p>\n </Card>\n </div>\n </div>\n </div>\n );\n}\n"],"names":["useFormAccess","formDefinition","roles","onSubmit","options","form","useMemo","getFormAccess","submissions","setSubmissions","useState","dataAccessToSubmissions","onChange","useCallback","type","submission","updateSubmissions","useEffect","input","shouldUpdate","submissionsToDataAccess","NamedFormAccess","name","children","isValid","setIsValid","jsxs","Fragment","jsx","Form","data","FormAccess","props","Card"],"mappings":"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"}
1
+ {"version":3,"file":"FormAccess.js","sources":["../../../../src/organisms/form/access/FormAccess.tsx"],"sourcesContent":["import { PropsWithChildren, useCallback, useEffect, useMemo, useState } from \"react\";\n\nimport type { FormOptions, FormType, SubmissionType } from \"../../../interfaces\";\nimport { Card } from \"../../../molecules/card/Card\";\nimport { Form } from \"../../form/Form\";\nimport {\n AccessRolesType,\n dataAccessToSubmissions,\n FormAccessType,\n getFormAccess,\n shouldUpdate,\n SubmissionAccessType,\n submissionsToDataAccess,\n updateSubmissions\n} from \"./FormAccess.utils\";\n\nexport interface FormAccessProps {\n form: Partial<FormType>;\n roles: any;\n onSubmit?: Function;\n options?: FormOptions;\n}\n\nfunction useFormAccess({ form: formDefinition, roles, onSubmit, options }: FormAccessProps) {\n const form = useMemo(() => getFormAccess(roles), [roles]);\n\n const [submissions, setSubmissions] = useState(() => dataAccessToSubmissions(formDefinition, form));\n\n const onChange = useCallback(\n (type: string, submission: SubmissionType<AccessRolesType>) => {\n updateSubmissions(type, submission, submissions, setSubmissions);\n },\n [submissions]\n );\n\n useEffect(() => {\n const input = dataAccessToSubmissions(formDefinition, form);\n if (formDefinition?._id) {\n if (shouldUpdate(\"access\", submissions.access, input) || shouldUpdate(\"submissionAccess\", submissions.submissionAccess, input)) {\n setSubmissions(input);\n }\n }\n }, [formDefinition?._id]);\n\n return {\n options,\n form,\n type: formDefinition.type,\n submissions,\n onChange,\n onSubmit: () => {\n onSubmit && onSubmit(submissionsToDataAccess(formDefinition, submissions));\n }\n };\n}\n\ninterface NamedFormAccessProps {\n name: \"access\" | \"submissionAccess\";\n form: FormAccessType;\n submissions: SubmissionAccessType;\n options: any;\n onSubmit: any;\n\n onChange(name: \"access\" | \"submissionAccess\", submission: SubmissionType<AccessRolesType>): void;\n}\n\nfunction NamedFormAccess({ name, form, submissions, options, onChange, onSubmit, children }: PropsWithChildren<NamedFormAccessProps>) {\n const [isValid, setIsValid] = useState(true);\n\n return (\n <>\n <Form<AccessRolesType>\n form={form[name]}\n submission={submissions[name]}\n onChange={({ data, isValid }) => {\n isValid && onChange(name, { data: data as unknown as AccessRolesType });\n setIsValid(isValid);\n }}\n options={options}\n />\n\n <button disabled={!isValid} className={\"mt-5 btn btn-primary\"} onClick={onSubmit}>\n Save access\n </button>\n\n {children}\n\n <div className={\"alert alert-warning mt-5\"}>\n Elevated permissions allow users to access and modify other user's entities. Assign with caution.\n </div>\n </>\n );\n}\n\nexport function FormAccess(props: PropsWithChildren<FormAccessProps>) {\n const { type, form, submissions, options, onChange, onSubmit } = useFormAccess(props);\n\n return (\n <div>\n {props.children}\n <div className={\"flex mb-5\"}>\n <Card label={\"Manage submission access\"} className={\"flex-1\"}>\n <NamedFormAccess\n name={\"submissionAccess\"}\n form={form}\n submissions={submissions}\n onChange={onChange}\n onSubmit={onSubmit}\n options={options}\n >\n {props.children}\n </NamedFormAccess>\n </Card>\n <div className={\"w-1/4 pl-4\"}>\n <Card label={\"About Submission Data Permissions\"}>\n <p>Submission Data Permissions allow you to control who can create, view, and modify form submission data.</p>\n\n <ul className={\"mt-5 pl-7 list-disc\"}>\n <li className={\"pb-2\"}>\n <strong>Own Permissions</strong> - These permissions apply if the user is the original creator of the submission data and is\n listed as the owner of the submission in submission.owner. This allows users to create and edit their own submission data\n without seeing other user's data.\n </li>\n <li>\n <strong>All Permissions</strong> - These permissions apply to all submission data regardless of who owns it.\n </li>\n </ul>\n </Card>\n </div>\n </div>\n <div className={\"flex mb-5\"}>\n <Card label={`Manage ${type} definition access`} className={\"flex-1\"}>\n <NamedFormAccess name={\"access\"} form={form} submissions={submissions} onChange={onChange} onSubmit={onSubmit} options={options}>\n {props.children}\n </NamedFormAccess>\n </Card>\n\n <div className={\"w-1/4 pl-4\"}>\n <Card label={\"About Form Definition Access\"}>\n <p>These permissions allow you to give access to a single form's JSON definition so they can render the form.</p>\n\n <p>Typically you will want to allow all of your roles to be able to Read the form definition.</p>\n\n <p>\n Each form also has an owner at <strong>form.owner</strong> which is the user who created the form. In some applications users\n are allowed to create their own forms. In those cases it is helpful to have Owner based permissions as well.\n </p>\n </Card>\n </div>\n </div>\n </div>\n );\n}\n"],"names":["useFormAccess","formDefinition","roles","onSubmit","options","form","useMemo","getFormAccess","submissions","setSubmissions","useState","dataAccessToSubmissions","onChange","useCallback","type","submission","updateSubmissions","useEffect","input","shouldUpdate","submissionsToDataAccess","NamedFormAccess","name","children","isValid","setIsValid","jsxs","Fragment","jsx","Form","data","FormAccess","props","Card"],"mappings":"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"}
@@ -9,6 +9,7 @@ function s({ label: e, key: o, description: i, choices: l, data: a }) {
9
9
  placeholder: "Select roles...",
10
10
  tooltip: "",
11
11
  multiple: !0,
12
+ input: !0,
12
13
  dataSrc: "values",
13
14
  defaultValue: "",
14
15
  data: {
@@ -1 +1 @@
1
- {"version":3,"file":"FormAccess.schema.js","sources":["../../../../src/organisms/form/access/FormAccess.schema.ts"],"sourcesContent":["import type { ComponentType, FormType } from \"../../../interfaces\";\n\nexport function getRoleComponent({ label, key, description, choices, data }: any): ComponentType {\n return {\n label,\n key,\n description,\n type: \"select\",\n labelPosition: \"top\",\n widget: \"choicesjs\",\n placeholder: \"Select roles...\",\n tooltip: \"\",\n multiple: true,\n dataSrc: \"values\",\n defaultValue: \"\",\n data: {\n values: choices\n },\n template: \"<span>{{ item.label }}</span>\",\n searchEnabled: true,\n selectThreshold: 0,\n validate: {\n required: false,\n custom: \"\",\n customPrivate: false\n },\n values: data\n };\n}\n\nfunction toDescription(description: string, hr = true): string {\n return '<span class=\"text-sm\">' + description + \"</span> \" + (hr ? '<hr class=\"mt-6 mb-5 border-gray-200 mx-20\"/>' : \"\");\n}\n\nexport function getSubmissionPermissionForm({ choices }: any): FormType {\n return {\n description: \"<strong>Elevated permissions allow users to access and modify other user's entities. Assign with caution.</strong>\",\n components: [\n getRoleComponent({\n key: \"create_own\",\n label: '<h4 class=\"text-gray-800\">Create Own Submissions</h4>',\n description: toDescription(\n \"The Create Own Submissions permission will allow a user with one of the Roles to create a Submission. Upon creating the Submission, the user will be defined as its owner.\"\n ),\n choices\n }),\n getRoleComponent({\n key: \"create_all\",\n label: '<h4 class=\"text-gray-800\">Create All Submissions</h4>',\n description: toDescription(\n '<strong class=\"text-yellow-600\">Elevated Permission:</strong> The Create All Submissions permission will allow a user with one of the Roles to create a new Submission and assign ownership of that Submission to another user.'\n ),\n choices\n }),\n getRoleComponent({\n key: \"read_own\",\n label: '<h4 class=\"text-gray-800\">Read Own Submissions</h4>',\n description: toDescription(\n \"The Read Own Submissions permission will allow a user with one of the Roles to read a Submission. A user can only read a Submission if they are defined as its owner.\"\n ),\n choices\n }),\n getRoleComponent({\n key: \"read_all\",\n label: '<h4 class=\"text-gray-800\">Read All Submissions</h4>',\n description: toDescription(\n '<strong class=\"text-yellow-600\">Elevated Permission:</strong> The Read All Submissions permission will allow a user with one of the Roles to read all Submissions regardless of who owns them.'\n ),\n choices\n }),\n getRoleComponent({\n key: \"update_own\",\n label: '<h4 class=\"text-gray-800\">Update Own Submissions</h4>',\n description: toDescription(\n \"The Update Own Submissions permission will allow a user with one of the Roles to update a Submission. A user can only update a Submission if they are defined as its owner.\"\n ),\n choices\n }),\n getRoleComponent({\n key: \"update_all\",\n label: '<h4 class=\"text-gray-800\">Update All Submissions</h4>',\n description: toDescription(\n '<strong class=\"text-yellow-600\">Elevated Permission:</strong> The Update All Submissions permission will allow a user with one of the Roles to update a Submission, regardless of who owns the Submission. Additionally with this permission, a user can change the owner of a Submission.'\n ),\n choices\n }),\n getRoleComponent({\n key: \"delete_own\",\n label: '<h4 class=\"text-gray-800\">Delete Own Submissions</h4>',\n description: toDescription(\n \"The Delete Own Submissions permission will allow a user with one of the Roles, to delete a Submission. A user can only delete a Submission if they are defined as its owner.\"\n ),\n choices\n }),\n getRoleComponent({\n key: \"delete_all\",\n label: '<h4 class=\"text-gray-800\">Delete All Submissions</h4>',\n description: toDescription(\n '<strong class=\"text-yellow-600\">Elevated Permission:</strong> The Delete All Submissions permission will allow a user with one of the Roles to delete a Submission, regardless of who owns the Submission.',\n false\n ),\n choices\n })\n ]\n };\n}\n\nexport function getAccessPermissionForm({ choices }: any): FormType {\n return {\n description: \"<strong>Elevated permissions allow users to access and modify other user's entities. Assign with caution.</strong>\",\n components: [\n getRoleComponent({\n key: \"read_own\",\n label: '<h4 class=\"text-gray-800\">Read Form Definition (Restricted to owner)</h4>',\n description: toDescription(\n \"The Read Own permission will allow a user, with one of the given Roles, to read a form. A user can only read a form if they are defined as its owner.\"\n ),\n choices\n }),\n getRoleComponent({\n key: \"read_all\",\n label: \"<h4>Read Form Definition</h4>\",\n description: toDescription(\n '<strong class=\"text-yellow-600\">Elevated Permission:</strong> The Read permission will allow a user, with one of the given Roles, to read the form.'\n ),\n choices\n }),\n getRoleComponent({\n key: \"update_own\",\n label: '<h4 class=\"text-gray-800\">Update Form Definition (Restricted to owner)</h4>',\n description: toDescription(\n \"The Update Own permission will allow a user, with one of the given Roles, to update a form. A user can only update a form if they are defined as its owner.\"\n ),\n choices\n }),\n getRoleComponent({\n key: \"update_all\",\n label: '<h4 class=\"text-gray-800\">Update Form Definition</h4>',\n description: toDescription(\n '<strong class=\"text-yellow-600\">Elevated Permission:</strong> The Update permission will allow a user, with one of the given Roles, to read and edit the form.'\n ),\n choices\n }),\n getRoleComponent({\n key: \"delete_own\",\n label: '<h4 class=\"text-gray-800\">Delete Form Definition (Restricted to owner)</h4>',\n description: toDescription(\n \"The Delete Own permission will allow a user, with one of the given Roles, to delete a form. A user can only delete a form if they are defined as its owner.\"\n ),\n choices\n }),\n getRoleComponent({\n key: \"delete_all\",\n label: '<h4 class=\"text-gray-800\">Delete Form Definition</h4>',\n description: toDescription(\n '<strong class=\"text-yellow-600\">Elevated Permission:</strong> The Delete permission will allow a user, with one of the given Roles, to delete the form.',\n false\n ),\n choices\n })\n ]\n };\n}\n"],"names":["getRoleComponent","label","key","description","choices","data","toDescription","hr","getSubmissionPermissionForm","getAccessPermissionForm"],"mappings":"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"}
1
+ {"version":3,"file":"FormAccess.schema.js","sources":["../../../../src/organisms/form/access/FormAccess.schema.ts"],"sourcesContent":["import type { ComponentType, FormType } from \"../../../interfaces\";\n\nexport function getRoleComponent({ label, key, description, choices, data }: any): ComponentType {\n return {\n label,\n key,\n description,\n type: \"select\",\n labelPosition: \"top\",\n widget: \"choicesjs\",\n placeholder: \"Select roles...\",\n tooltip: \"\",\n multiple: true,\n input: true,\n dataSrc: \"values\",\n defaultValue: \"\",\n data: {\n values: choices\n },\n template: \"<span>{{ item.label }}</span>\",\n searchEnabled: true,\n selectThreshold: 0,\n validate: {\n required: false,\n custom: \"\",\n customPrivate: false\n },\n values: data\n };\n}\n\nfunction toDescription(description: string, hr = true): string {\n return '<span class=\"text-sm\">' + description + \"</span> \" + (hr ? '<hr class=\"mt-6 mb-5 border-gray-200 mx-20\"/>' : \"\");\n}\n\nexport function getSubmissionPermissionForm({ choices }: any): FormType {\n return {\n description: \"<strong>Elevated permissions allow users to access and modify other user's entities. Assign with caution.</strong>\",\n components: [\n getRoleComponent({\n key: \"create_own\",\n label: '<h4 class=\"text-gray-800\">Create Own Submissions</h4>',\n description: toDescription(\n \"The Create Own Submissions permission will allow a user with one of the Roles to create a Submission. Upon creating the Submission, the user will be defined as its owner.\"\n ),\n choices\n }),\n getRoleComponent({\n key: \"create_all\",\n label: '<h4 class=\"text-gray-800\">Create All Submissions</h4>',\n description: toDescription(\n '<strong class=\"text-yellow-600\">Elevated Permission:</strong> The Create All Submissions permission will allow a user with one of the Roles to create a new Submission and assign ownership of that Submission to another user.'\n ),\n choices\n }),\n getRoleComponent({\n key: \"read_own\",\n label: '<h4 class=\"text-gray-800\">Read Own Submissions</h4>',\n description: toDescription(\n \"The Read Own Submissions permission will allow a user with one of the Roles to read a Submission. A user can only read a Submission if they are defined as its owner.\"\n ),\n choices\n }),\n getRoleComponent({\n key: \"read_all\",\n label: '<h4 class=\"text-gray-800\">Read All Submissions</h4>',\n description: toDescription(\n '<strong class=\"text-yellow-600\">Elevated Permission:</strong> The Read All Submissions permission will allow a user with one of the Roles to read all Submissions regardless of who owns them.'\n ),\n choices\n }),\n getRoleComponent({\n key: \"update_own\",\n label: '<h4 class=\"text-gray-800\">Update Own Submissions</h4>',\n description: toDescription(\n \"The Update Own Submissions permission will allow a user with one of the Roles to update a Submission. A user can only update a Submission if they are defined as its owner.\"\n ),\n choices\n }),\n getRoleComponent({\n key: \"update_all\",\n label: '<h4 class=\"text-gray-800\">Update All Submissions</h4>',\n description: toDescription(\n '<strong class=\"text-yellow-600\">Elevated Permission:</strong> The Update All Submissions permission will allow a user with one of the Roles to update a Submission, regardless of who owns the Submission. Additionally with this permission, a user can change the owner of a Submission.'\n ),\n choices\n }),\n getRoleComponent({\n key: \"delete_own\",\n label: '<h4 class=\"text-gray-800\">Delete Own Submissions</h4>',\n description: toDescription(\n \"The Delete Own Submissions permission will allow a user with one of the Roles, to delete a Submission. A user can only delete a Submission if they are defined as its owner.\"\n ),\n choices\n }),\n getRoleComponent({\n key: \"delete_all\",\n label: '<h4 class=\"text-gray-800\">Delete All Submissions</h4>',\n description: toDescription(\n '<strong class=\"text-yellow-600\">Elevated Permission:</strong> The Delete All Submissions permission will allow a user with one of the Roles to delete a Submission, regardless of who owns the Submission.',\n false\n ),\n choices\n })\n ]\n };\n}\n\nexport function getAccessPermissionForm({ choices }: any): FormType {\n return {\n description: \"<strong>Elevated permissions allow users to access and modify other user's entities. Assign with caution.</strong>\",\n components: [\n getRoleComponent({\n key: \"read_own\",\n label: '<h4 class=\"text-gray-800\">Read Form Definition (Restricted to owner)</h4>',\n description: toDescription(\n \"The Read Own permission will allow a user, with one of the given Roles, to read a form. A user can only read a form if they are defined as its owner.\"\n ),\n choices\n }),\n getRoleComponent({\n key: \"read_all\",\n label: \"<h4>Read Form Definition</h4>\",\n description: toDescription(\n '<strong class=\"text-yellow-600\">Elevated Permission:</strong> The Read permission will allow a user, with one of the given Roles, to read the form.'\n ),\n choices\n }),\n getRoleComponent({\n key: \"update_own\",\n label: '<h4 class=\"text-gray-800\">Update Form Definition (Restricted to owner)</h4>',\n description: toDescription(\n \"The Update Own permission will allow a user, with one of the given Roles, to update a form. A user can only update a form if they are defined as its owner.\"\n ),\n choices\n }),\n getRoleComponent({\n key: \"update_all\",\n label: '<h4 class=\"text-gray-800\">Update Form Definition</h4>',\n description: toDescription(\n '<strong class=\"text-yellow-600\">Elevated Permission:</strong> The Update permission will allow a user, with one of the given Roles, to read and edit the form.'\n ),\n choices\n }),\n getRoleComponent({\n key: \"delete_own\",\n label: '<h4 class=\"text-gray-800\">Delete Form Definition (Restricted to owner)</h4>',\n description: toDescription(\n \"The Delete Own permission will allow a user, with one of the given Roles, to delete a form. A user can only delete a form if they are defined as its owner.\"\n ),\n choices\n }),\n getRoleComponent({\n key: \"delete_all\",\n label: '<h4 class=\"text-gray-800\">Delete Form Definition</h4>',\n description: toDescription(\n '<strong class=\"text-yellow-600\">Elevated Permission:</strong> The Delete permission will allow a user, with one of the given Roles, to delete the form.',\n false\n ),\n choices\n })\n ]\n };\n}\n"],"names":["getRoleComponent","label","key","description","choices","data","toDescription","hr","getSubmissionPermissionForm","getAccessPermissionForm"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import r from "lodash/cloneDeep";
2
2
  import i from "lodash/isEqual";
3
3
  import u from "lodash/noop";
4
- import { getAccessPermissionForm as m, getSubmissionPermissionForm as d } from "./FormAccess.schema.js";
4
+ import { getSubmissionPermissionForm as m, getAccessPermissionForm as d } from "./FormAccess.schema.js";
5
5
  function f(e) {
6
6
  return Object.values(e).map((s) => ({
7
7
  label: s.title || "",
@@ -25,7 +25,7 @@ function a(e) {
25
25
  }), s;
26
26
  }
27
27
  function g(e) {
28
- const s = f(e), c = m({ choices: s }), t = d({ choices: s });
28
+ const s = f(e), c = d({ choices: s }), t = m({ choices: s });
29
29
  return {
30
30
  access: c,
31
31
  submissionAccess: t
@@ -1 +1 @@
1
- {"version":3,"file":"FormAccess.utils.js","sources":["../../../../src/organisms/form/access/FormAccess.utils.ts"],"sourcesContent":["import cloneDeep from \"lodash/cloneDeep\";\nimport isEqual from \"lodash/isEqual\";\nimport noop from \"lodash/noop\";\n\nimport type { ComponentType, FormType, RoleType, SubmissionType } from \"../../../interfaces\";\nimport { getAccessPermissionForm, getSubmissionPermissionForm } from \"./FormAccess.schema\";\n\nexport interface Choice {\n label: string;\n value: string;\n}\n\nexport interface Access {\n roles: string[];\n type: string;\n}\n\nexport type AccessRolesType = Record<string, string[]>;\n\nexport type FormAccessType = {\n access: FormType;\n submissionAccess: FormType;\n};\n\nexport type SubmissionAccessType = {\n access: SubmissionType<AccessRolesType>;\n submissionAccess: SubmissionType<AccessRolesType>;\n};\n\nfunction rolesToChoices(roles: RoleType[]): Choice[] {\n return Object.values(roles).map((role) => {\n return {\n label: role.title || \"\",\n value: role._id || \"\"\n };\n });\n}\n\nfunction accessToHash(keys: (string | undefined)[] | undefined, access: Access[] = []): AccessRolesType {\n const hash = Object.values(access).reduce((o: any, role: any) => {\n o[role.type] = role.roles;\n return o;\n }, {});\n\n return ((keys || []).filter(Boolean) as any[]).reduce((data, key: string) => {\n return {\n ...data,\n [key]: hash[key] || []\n };\n }, {});\n}\n\nfunction hashToAccess(data: AccessRolesType) {\n const accessRoles: any[] = [];\n\n Object.entries(data).forEach(([accessType, roles]) => {\n if (accessType === \"submit\") {\n return;\n }\n accessRoles.push({\n type: accessType,\n roles\n });\n });\n\n return accessRoles;\n}\n\nexport function getFormAccess(roles: RoleType[]): FormAccessType {\n const choices = rolesToChoices(roles);\n const access = getAccessPermissionForm({ choices });\n const submissionAccess = getSubmissionPermissionForm({ choices });\n\n return {\n access,\n submissionAccess\n };\n}\n\nexport function dataAccessToSubmissions(form: Partial<FormType>, formAccess: FormAccessType): SubmissionAccessType {\n const getKeys = (components: ComponentType[]) => components.map(({ key }) => key);\n\n return {\n access: {\n data: accessToHash(getKeys(formAccess.access.components), form.access)\n },\n submissionAccess: {\n data: accessToHash(getKeys(formAccess.submissionAccess.components), form.submissionAccess)\n }\n };\n}\n\nexport function submissionsToDataAccess(form: Partial<FormType>, submissions: SubmissionAccessType): Partial<FormType> {\n return {\n ...cloneDeep(form),\n access: hashToAccess(submissions.access.data),\n submissionAccess: hashToAccess(submissions.submissionAccess.data)\n };\n}\n\nexport function shouldUpdate(type: string, submission: SubmissionType<AccessRolesType>, submissions: SubmissionAccessType) {\n return !isEqual(submission.data, (submissions as any)[type].data);\n}\n\nexport function updateSubmissions(\n type: string,\n submission: SubmissionType<AccessRolesType>,\n submissions: SubmissionAccessType,\n cb: Function = noop\n) {\n if (shouldUpdate(type, submission, submissions)) {\n submissions = {\n ...submissions,\n [type]: { data: submission.data }\n };\n cb(submissions);\n }\n\n return submissions;\n}\n"],"names":["rolesToChoices","roles","role","accessToHash","keys","access","hash","o","data","key","hashToAccess","accessRoles","accessType","getFormAccess","choices","getAccessPermissionForm","submissionAccess","getSubmissionPermissionForm","dataAccessToSubmissions","form","formAccess","getKeys","components","submissionsToDataAccess","submissions","cloneDeep","shouldUpdate","type","submission","isEqual","updateSubmissions","cb","noop"],"mappings":";;;;AA6BA,SAASA,EAAeC,GAA6B;AACnD,SAAO,OAAO,OAAOA,CAAK,EAAE,IAAI,CAACC,OACxB;AAAA,IACL,OAAOA,EAAK,SAAS;AAAA,IACrB,OAAOA,EAAK,OAAO;AAAA,EACrB,EACD;AACH;AAEA,SAASC,EAAaC,GAA0CC,IAAmB,IAAqB;AAChG,QAAAC,IAAO,OAAO,OAAOD,CAAM,EAAE,OAAO,CAACE,GAAQL,OAC/CK,EAAAL,EAAK,IAAI,IAAIA,EAAK,OACbK,IACN,EAAE;AAEI,UAAAH,KAAQ,CAAA,GAAI,OAAO,OAAO,EAAY,OAAO,CAACI,GAAMC,OACpD;AAAA,IACL,GAAGD;AAAA,IACH,CAACC,CAAG,GAAGH,EAAKG,CAAG,KAAK,CAAA;AAAA,EACtB,IACC,EAAE;AACP;AAEA,SAASC,EAAaF,GAAuB;AAC3C,QAAMG,IAAqB,CAAC;AAErB,gBAAA,QAAQH,CAAI,EAAE,QAAQ,CAAC,CAACI,GAAYX,CAAK,MAAM;AACpD,IAAIW,MAAe,YAGnBD,EAAY,KAAK;AAAA,MACf,MAAMC;AAAA,MACN,OAAAX;AAAA,IAAA,CACD;AAAA,EAAA,CACF,GAEMU;AACT;AAEO,SAASE,EAAcZ,GAAmC;AACzD,QAAAa,IAAUd,EAAeC,CAAK,GAC9BI,IAASU,EAAwB,EAAE,SAAAD,GAAS,GAC5CE,IAAmBC,EAA4B,EAAE,SAAAH,GAAS;AAEzD,SAAA;AAAA,IACL,QAAAT;AAAA,IACA,kBAAAW;AAAA,EACF;AACF;AAEgB,SAAAE,EAAwBC,GAAyBC,GAAkD;AAC3G,QAAAC,IAAU,CAACC,MAAgCA,EAAW,IAAI,CAAC,EAAE,KAAAb,EAAI,MAAMA,CAAG;AAEzE,SAAA;AAAA,IACL,QAAQ;AAAA,MACN,MAAMN,EAAakB,EAAQD,EAAW,OAAO,UAAU,GAAGD,EAAK,MAAM;AAAA,IACvE;AAAA,IACA,kBAAkB;AAAA,MAChB,MAAMhB,EAAakB,EAAQD,EAAW,iBAAiB,UAAU,GAAGD,EAAK,gBAAgB;AAAA,IAAA;AAAA,EAE7F;AACF;AAEgB,SAAAI,EAAwBJ,GAAyBK,GAAsD;AAC9G,SAAA;AAAA,IACL,GAAGC,EAAUN,CAAI;AAAA,IACjB,QAAQT,EAAac,EAAY,OAAO,IAAI;AAAA,IAC5C,kBAAkBd,EAAac,EAAY,iBAAiB,IAAI;AAAA,EAClE;AACF;AAEgB,SAAAE,EAAaC,GAAcC,GAA6CJ,GAAmC;AACzH,SAAO,CAACK,EAAQD,EAAW,MAAOJ,EAAoBG,CAAI,EAAE,IAAI;AAClE;AAEO,SAASG,EACdH,GACAC,GACAJ,GACAO,IAAeC,GACf;AACA,SAAIN,EAAaC,GAAMC,GAAYJ,CAAW,MAC9BA,IAAA;AAAA,IACZ,GAAGA;AAAA,IACH,CAACG,CAAI,GAAG,EAAE,MAAMC,EAAW,KAAK;AAAA,EAClC,GACAG,EAAGP,CAAW,IAGTA;AACT;"}
1
+ {"version":3,"file":"FormAccess.utils.js","sources":["../../../../src/organisms/form/access/FormAccess.utils.ts"],"sourcesContent":["import cloneDeep from \"lodash/cloneDeep\";\nimport isEqual from \"lodash/isEqual\";\nimport noop from \"lodash/noop\";\n\nimport type { ComponentType, FormType, RoleType, SubmissionType } from \"../../../interfaces\";\nimport { getAccessPermissionForm, getSubmissionPermissionForm } from \"./FormAccess.schema\";\n\nexport interface Choice {\n label: string;\n value: string;\n}\n\nexport interface Access {\n roles: string[];\n type: string;\n}\n\nexport type AccessRolesType = Record<string, string[]>;\n\nexport type FormAccessType = {\n access: FormType;\n submissionAccess: FormType;\n};\n\nexport type SubmissionAccessType = {\n access: SubmissionType<AccessRolesType>;\n submissionAccess: SubmissionType<AccessRolesType>;\n};\n\nfunction rolesToChoices(roles: RoleType[]): Choice[] {\n return Object.values(roles).map((role) => {\n return {\n label: role.title || \"\",\n value: role._id || \"\"\n };\n });\n}\n\nfunction accessToHash(keys: (string | undefined)[] | undefined, access: Access[] = []): AccessRolesType {\n const hash = Object.values(access).reduce((o: any, role: any) => {\n o[role.type] = role.roles;\n return o;\n }, {});\n\n return ((keys || []).filter(Boolean) as any[]).reduce((data, key: string) => {\n return {\n ...data,\n [key]: hash[key] || []\n };\n }, {});\n}\n\nfunction hashToAccess(data: AccessRolesType) {\n const accessRoles: any[] = [];\n\n Object.entries(data).forEach(([accessType, roles]) => {\n if (accessType === \"submit\") {\n return;\n }\n accessRoles.push({\n type: accessType,\n roles\n });\n });\n\n return accessRoles;\n}\n\nexport function getFormAccess(roles: RoleType[]): FormAccessType {\n const choices = rolesToChoices(roles);\n const access = getAccessPermissionForm({ choices });\n const submissionAccess = getSubmissionPermissionForm({ choices });\n\n return {\n access,\n submissionAccess\n };\n}\n\nexport function dataAccessToSubmissions(form: Partial<FormType>, formAccess: FormAccessType): SubmissionAccessType {\n const getKeys = (components: ComponentType[]) => components.map(({ key }) => key);\n\n return {\n access: {\n data: accessToHash(getKeys(formAccess.access.components), form.access)\n },\n submissionAccess: {\n data: accessToHash(getKeys(formAccess.submissionAccess.components), form.submissionAccess)\n }\n };\n}\n\nexport function submissionsToDataAccess(form: Partial<FormType>, submissions: SubmissionAccessType): Partial<FormType> {\n return {\n ...cloneDeep(form),\n access: hashToAccess(submissions.access.data),\n submissionAccess: hashToAccess(submissions.submissionAccess.data)\n };\n}\n\nexport function shouldUpdate(type: string, submission: SubmissionType<AccessRolesType>, submissions: SubmissionAccessType) {\n return !isEqual(submission.data, (submissions as any)[type].data);\n}\n\nexport function updateSubmissions(\n type: string,\n submission: SubmissionType<AccessRolesType>,\n submissions: SubmissionAccessType,\n cb: Function = noop\n) {\n if (shouldUpdate(type, submission, submissions)) {\n submissions = {\n ...submissions,\n [type]: { data: submission.data }\n };\n cb(submissions);\n }\n\n return submissions;\n}\n"],"names":["rolesToChoices","roles","role","accessToHash","keys","access","hash","o","data","key","hashToAccess","accessRoles","accessType","getFormAccess","choices","getAccessPermissionForm","submissionAccess","getSubmissionPermissionForm","dataAccessToSubmissions","form","formAccess","getKeys","components","submissionsToDataAccess","submissions","cloneDeep","shouldUpdate","type","submission","isEqual","updateSubmissions","cb","noop"],"mappings":";;;;AA6BA,SAASA,EAAeC,GAA6B;AACnD,SAAO,OAAO,OAAOA,CAAK,EAAE,IAAI,CAACC,OACxB;AAAA,IACL,OAAOA,EAAK,SAAS;AAAA,IACrB,OAAOA,EAAK,OAAO;AAAA,EAAA,EAEtB;AACH;AAEA,SAASC,EAAaC,GAA0CC,IAAmB,IAAqB;AACtG,QAAMC,IAAO,OAAO,OAAOD,CAAM,EAAE,OAAO,CAACE,GAAQL,OACjDK,EAAEL,EAAK,IAAI,IAAIA,EAAK,OACbK,IACN,CAAA,CAAE;AAEL,UAASH,KAAQ,CAAA,GAAI,OAAO,OAAO,EAAY,OAAO,CAACI,GAAMC,OACpD;AAAA,IACL,GAAGD;AAAA,IACH,CAACC,CAAG,GAAGH,EAAKG,CAAG,KAAK,CAAA;AAAA,EAAC,IAEtB,CAAA,CAAE;AACP;AAEA,SAASC,EAAaF,GAAuB;AAC3C,QAAMG,IAAqB,CAAA;AAE3B,gBAAO,QAAQH,CAAI,EAAE,QAAQ,CAAC,CAACI,GAAYX,CAAK,MAAM;AACpD,IAAIW,MAAe,YAGnBD,EAAY,KAAK;AAAA,MACf,MAAMC;AAAA,MACN,OAAAX;AAAA,IAAA,CACD;AAAA,EACH,CAAC,GAEMU;AACT;AAEO,SAASE,EAAcZ,GAAmC;AAC/D,QAAMa,IAAUd,EAAeC,CAAK,GAC9BI,IAASU,EAAwB,EAAE,SAAAD,GAAS,GAC5CE,IAAmBC,EAA4B,EAAE,SAAAH,GAAS;AAEhE,SAAO;AAAA,IACL,QAAAT;AAAA,IACA,kBAAAW;AAAA,EAAA;AAEJ;AAEO,SAASE,EAAwBC,GAAyBC,GAAkD;AACjH,QAAMC,IAAU,CAACC,MAAgCA,EAAW,IAAI,CAAC,EAAE,KAAAb,EAAA,MAAUA,CAAG;AAEhF,SAAO;AAAA,IACL,QAAQ;AAAA,MACN,MAAMN,EAAakB,EAAQD,EAAW,OAAO,UAAU,GAAGD,EAAK,MAAM;AAAA,IAAA;AAAA,IAEvE,kBAAkB;AAAA,MAChB,MAAMhB,EAAakB,EAAQD,EAAW,iBAAiB,UAAU,GAAGD,EAAK,gBAAgB;AAAA,IAAA;AAAA,EAC3F;AAEJ;AAEO,SAASI,EAAwBJ,GAAyBK,GAAsD;AACrH,SAAO;AAAA,IACL,GAAGC,EAAUN,CAAI;AAAA,IACjB,QAAQT,EAAac,EAAY,OAAO,IAAI;AAAA,IAC5C,kBAAkBd,EAAac,EAAY,iBAAiB,IAAI;AAAA,EAAA;AAEpE;AAEO,SAASE,EAAaC,GAAcC,GAA6CJ,GAAmC;AACzH,SAAO,CAACK,EAAQD,EAAW,MAAOJ,EAAoBG,CAAI,EAAE,IAAI;AAClE;AAEO,SAASG,EACdH,GACAC,GACAJ,GACAO,IAAeC,GACf;AACA,SAAIN,EAAaC,GAAMC,GAAYJ,CAAW,MAC5CA,IAAc;AAAA,IACZ,GAAGA;AAAA,IACH,CAACG,CAAI,GAAG,EAAE,MAAMC,EAAW,KAAA;AAAA,EAAK,GAElCG,EAAGP,CAAW,IAGTA;AACT;"}
@@ -1,32 +1,34 @@
1
1
  import { jsxs as m, jsx as l } from "react/jsx-runtime";
2
- import f from "formiojs/utils";
3
- import { Form as d } from "../Form.js";
4
- function n(t, s) {
2
+ import { g as f } from "../../../chunks/_commonjsHelpers.js";
3
+ import { r as c } from "../../../chunks/index2.js";
4
+ import { Form as p } from "../Form.js";
5
+ var d = c();
6
+ const n = /* @__PURE__ */ f(d);
7
+ function x(t, s) {
5
8
  return {
6
9
  ...s,
7
10
  ...t
8
11
  };
9
12
  }
10
- function c({ action: t, ...s }) {
11
- return f.eachComponent(s.components, (r) => {
12
- const e = "";
13
+ function b({ action: t, ...s }) {
14
+ return n.eachComponent(s.components, (r) => {
13
15
  r.type === "resourcefields" && (r.type = "select", r.label = r.title, r.dataSrc = "url", r.data = {
14
- url: `${r.basePath}?type=resource${e}`
16
+ url: `${r.basePath}?type=resource`
15
17
  }, r.valueProperty = "_id", r.template = "<span>{{ item.title }}</span>", r.persistent = !0);
16
18
  }), s;
17
19
  }
18
- function F({ actionInfo: t, children: s, onSubmit: r, options: e, ...i }) {
19
- const { form: u, submission: a } = (() => {
20
- const o = n(i.submission || {}, t.defaults);
21
- return { form: c(t.settingsForm), submission: { data: o } };
20
+ function v({ actionInfo: t, children: s, onSubmit: r, options: e, ...i }) {
21
+ const { form: u, submission: o } = (() => {
22
+ const a = x(i.submission || {}, t.defaults);
23
+ return { form: b(t.settingsForm), submission: { data: a } };
22
24
  })();
23
25
  return /* @__PURE__ */ m("div", { children: [
24
26
  s,
25
- /* @__PURE__ */ l(d, { form: u, submission: a, onSubmit: r, options: e }),
27
+ /* @__PURE__ */ l(p, { form: u, submission: o, onSubmit: r, options: e }),
26
28
  s
27
29
  ] });
28
30
  }
29
31
  export {
30
- F as FormAction
32
+ v as FormAction
31
33
  };
32
34
  //# sourceMappingURL=FormAction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormAction.js","sources":["../../../../src/organisms/form/actions/FormAction.tsx"],"sourcesContent":["import FormioUtils from \"formiojs/utils\";\nimport { PropsWithChildren, ReactElement } from \"react\";\n\nimport { ActionDefaultsType, ActionType, FormOptions, SubmissionType } from \"../../../interfaces\";\nimport { Form } from \"../../form/Form\";\n\nfunction mapData(options: any, defaults: ActionDefaultsType): any {\n return {\n ...defaults,\n ...options\n };\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction mapSettingsForm({ action, ...settingsForm }: any): any {\n FormioUtils.eachComponent(settingsForm.components, (component: any) => {\n const resourceExclude = \"\";\n\n if (component.type === \"resourcefields\") {\n component.type = \"select\";\n component.label = component.title;\n component.dataSrc = \"url\";\n component.data = {\n url: `${component.basePath}?type=resource${resourceExclude}`\n };\n component.valueProperty = \"_id\";\n component.template = \"<span>{{ item.title }}</span>\";\n component.persistent = true;\n }\n });\n\n return settingsForm;\n}\n\nexport interface FormActionProps {\n actionInfo: Partial<ActionType>;\n submission?: Partial<SubmissionType>;\n onSubmit?: (submission: SubmissionType<ActionType>) => void;\n options: FormOptions;\n}\n\nexport function FormAction({ actionInfo, children, onSubmit, options, ...props }: PropsWithChildren<FormActionProps>): ReactElement {\n const { form, submission } = (() => {\n const submission = mapData(props.submission || {}, actionInfo.defaults!);\n const form = mapSettingsForm(actionInfo.settingsForm);\n\n return { form, submission: { data: submission } };\n })();\n\n return (\n <div>\n {children}\n\n <Form<ActionType> form={form} submission={submission} onSubmit={onSubmit} options={options} />\n\n {children}\n </div>\n );\n}\n"],"names":["mapData","options","defaults","mapSettingsForm","action","settingsForm","FormioUtils","component","resourceExclude","FormAction","actionInfo","children","onSubmit","props","form","submission","jsx","Form"],"mappings":";;;AAMA,SAASA,EAAQC,GAAcC,GAAmC;AACzD,SAAA;AAAA,IACL,GAAGA;AAAA,IACH,GAAGD;AAAA,EACL;AACF;AAGA,SAASE,EAAgB,EAAE,QAAAC,GAAQ,GAAGC,KAA0B;AAC9D,SAAAC,EAAY,cAAcD,EAAa,YAAY,CAACE,MAAmB;AACrE,UAAMC,IAAkB;AAEpB,IAAAD,EAAU,SAAS,qBACrBA,EAAU,OAAO,UACjBA,EAAU,QAAQA,EAAU,OAC5BA,EAAU,UAAU,OACpBA,EAAU,OAAO;AAAA,MACf,KAAK,GAAGA,EAAU,QAAQ,iBAAiBC,CAAe;AAAA,IAC5D,GACAD,EAAU,gBAAgB,OAC1BA,EAAU,WAAW,iCACrBA,EAAU,aAAa;AAAA,EACzB,CACD,GAEMF;AACT;AASgB,SAAAI,EAAW,EAAE,YAAAC,GAAY,UAAAC,GAAU,UAAAC,GAAU,SAAAX,GAAS,GAAGY,KAA2D;AAClI,QAAM,EAAE,MAAAC,GAAM,YAAAC,EAAW,KAAK,MAAM;AAClC,UAAMA,IAAaf,EAAQa,EAAM,cAAc,CAAC,GAAGH,EAAW,QAAS;AAGvE,WAAO,EAAE,MAFIP,EAAgBO,EAAW,YAAY,GAErC,YAAY,EAAE,MAAMK,IAAa;AAAA,EAAA,GAC/C;AAEH,2BACG,OACE,EAAA,UAAA;AAAA,IAAAJ;AAAA,IAEA,gBAAAK,EAAAC,GAAA,EAAiB,MAAAH,GAAY,YAAAC,GAAwB,UAAAH,GAAoB,SAAAX,GAAkB;AAAA,IAE3FU;AAAA,EAAA,GACH;AAEJ;"}
1
+ {"version":3,"file":"FormAction.js","sources":["../../../../src/organisms/form/actions/FormAction.tsx"],"sourcesContent":["import FormioUtils from \"@formio/js/utils\";\nimport { PropsWithChildren, ReactElement } from \"react\";\n\nimport { ActionDefaultsType, ActionType, FormOptions, SubmissionType } from \"../../../interfaces\";\nimport { Form } from \"../../form/Form\";\n\nfunction mapData(options: any, defaults: ActionDefaultsType): any {\n return {\n ...defaults,\n ...options\n };\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction mapSettingsForm({ action, ...settingsForm }: any): any {\n FormioUtils.eachComponent(settingsForm.components, (component: any) => {\n const resourceExclude = \"\";\n\n if (component.type === \"resourcefields\") {\n component.type = \"select\";\n component.label = component.title;\n component.dataSrc = \"url\";\n component.data = {\n url: `${component.basePath}?type=resource${resourceExclude}`\n };\n component.valueProperty = \"_id\";\n component.template = \"<span>{{ item.title }}</span>\";\n component.persistent = true;\n }\n });\n\n return settingsForm;\n}\n\nexport interface FormActionProps {\n actionInfo: Partial<ActionType>;\n submission?: Partial<SubmissionType>;\n onSubmit?: (submission: SubmissionType<ActionType>) => void;\n options: FormOptions;\n}\n\nexport function FormAction({ actionInfo, children, onSubmit, options, ...props }: PropsWithChildren<FormActionProps>): ReactElement {\n const { form, submission } = (() => {\n const submission = mapData(props.submission || {}, actionInfo.defaults!);\n const form = mapSettingsForm(actionInfo.settingsForm);\n\n return { form, submission: { data: submission } as SubmissionType<ActionType> };\n })();\n\n return (\n <div>\n {children}\n\n <Form<ActionType> form={form} submission={submission} onSubmit={onSubmit} options={options} />\n\n {children}\n </div>\n );\n}\n"],"names":["mapData","options","defaults","mapSettingsForm","action","settingsForm","FormioUtils","component","FormAction","actionInfo","children","onSubmit","props","form","submission","jsx","Form"],"mappings":";;;;;;AAMA,SAASA,EAAQC,GAAcC,GAAmC;AAChE,SAAO;AAAA,IACL,GAAGA;AAAA,IACH,GAAGD;AAAA,EAAA;AAEP;AAGA,SAASE,EAAgB,EAAE,QAAAC,GAAQ,GAAGC,KAA0B;AAC9D,SAAAC,EAAY,cAAcD,EAAa,YAAY,CAACE,MAAmB;AAGrE,IAAIA,EAAU,SAAS,qBACrBA,EAAU,OAAO,UACjBA,EAAU,QAAQA,EAAU,OAC5BA,EAAU,UAAU,OACpBA,EAAU,OAAO;AAAA,MACf,KAAK,GAAGA,EAAU,QAAQ;AAAA,IAAgC,GAE5DA,EAAU,gBAAgB,OAC1BA,EAAU,WAAW,iCACrBA,EAAU,aAAa;AAAA,EAE3B,CAAC,GAEMF;AACT;AASO,SAASG,EAAW,EAAE,YAAAC,GAAY,UAAAC,GAAU,UAAAC,GAAU,SAAAV,GAAS,GAAGW,KAA2D;AAClI,QAAM,EAAE,MAAAC,GAAM,YAAAC,EAAA,KAAgB,MAAM;AAClC,UAAMA,IAAad,EAAQY,EAAM,cAAc,CAAA,GAAIH,EAAW,QAAS;AAGvE,WAAO,EAAE,MAFIN,EAAgBM,EAAW,YAAY,GAErC,YAAY,EAAE,MAAMK,IAAW;AAAA,EAChD,GAAA;AAEA,2BACG,OAAA,EACE,UAAA;AAAA,IAAAJ;AAAA,IAED,gBAAAK,EAACC,GAAA,EAAiB,MAAAH,GAAY,YAAAC,GAAwB,UAAAH,GAAoB,SAAAV,GAAkB;AAAA,IAE3FS;AAAA,EAAA,GACH;AAEJ;"}