@webiny/app-admin 6.5.0-beta.0 → 6.5.0-beta.10

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 (153) hide show
  1. package/base/Admin.js +2 -0
  2. package/base/Admin.js.map +1 -1
  3. package/base/Base/FieldRenderers/AutoCompleteRenderer.js +1 -0
  4. package/base/Base/FieldRenderers/AutoCompleteRenderer.js.map +1 -1
  5. package/base/Base/FieldRenderers/HorizontalTabsRenderer.d.ts +2 -2
  6. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/MultiValueDynamicZone.d.ts +2 -2
  7. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/MultiValueDynamicZone.js +1 -1
  8. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/MultiValueDynamicZone.js.map +1 -1
  9. package/base/Base/FieldRenderers/ObjectRenderer/ObjectFieldComponents.d.ts +8 -4
  10. package/base/Base/FieldRenderers/ObjectRenderer/SingleValueDynamicZone.d.ts +2 -2
  11. package/base/Base/FieldRenderers/ObjectRenderer/SingleValueDynamicZone.js +1 -1
  12. package/base/Base/FieldRenderers/ObjectRenderer/SingleValueDynamicZone.js.map +1 -1
  13. package/base/Base/FieldRenderers/ObjectRenderer/{TemplatePicker.d.ts → TemplatePicker/AddTemplateButton.d.ts} +1 -1
  14. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/AddTemplateButton.js +24 -0
  15. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/AddTemplateButton.js.map +1 -0
  16. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/SelectableTemplate.d.ts +13 -0
  17. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/SelectableTemplate.js +21 -0
  18. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/SelectableTemplate.js.map +1 -0
  19. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/TemplateCard.d.ts +3 -0
  20. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/TemplateCard.js +35 -0
  21. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/TemplateCard.js.map +1 -0
  22. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/TemplateGallery.d.ts +8 -0
  23. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/TemplateGallery.js +22 -0
  24. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/TemplateGallery.js.map +1 -0
  25. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/TemplateGalleryToolbar.d.ts +10 -0
  26. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/TemplateGalleryToolbar.js +46 -0
  27. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/TemplateGalleryToolbar.js.map +1 -0
  28. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/TemplateIcon.d.ts +8 -0
  29. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/TemplateIcon.js +16 -0
  30. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/TemplateIcon.js.map +1 -0
  31. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/TemplateList.d.ts +10 -0
  32. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/TemplateList.js +22 -0
  33. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/TemplateList.js.map +1 -0
  34. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/TemplateListItem.d.ts +3 -0
  35. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/TemplateListItem.js +35 -0
  36. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/TemplateListItem.js.map +1 -0
  37. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/index.d.ts +1 -0
  38. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/index.js +1 -0
  39. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/types.d.ts +6 -0
  40. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker/types.js +0 -0
  41. package/base/Base/FieldRenderers/SelectRenderer.js +1 -0
  42. package/base/Base/FieldRenderers/SelectRenderer.js.map +1 -1
  43. package/base/Base/FieldRenderers/VerticalTabsRenderer.d.ts +2 -2
  44. package/components/Filters/Filters.js +7 -1
  45. package/components/Filters/Filters.js.map +1 -1
  46. package/components/IconPicker/IconPickerComponent.d.ts +2 -2
  47. package/components/IconPicker/IconPickerComponent.js +1 -1
  48. package/components/IconPicker/IconPickerComponent.js.map +1 -1
  49. package/components/ListView/ListViewBulkActions.d.ts +2 -2
  50. package/components/ListView/ListViewContent.d.ts +2 -2
  51. package/components/ListView/ListViewFilters.d.ts +2 -2
  52. package/components/ListView/index.d.ts +6 -6
  53. package/components/RolesMultiAutocomplete/index.js +1 -1
  54. package/components/RolesMultiAutocomplete/index.js.map +1 -1
  55. package/components/Table/components/Table/TableInner.d.ts +2 -2
  56. package/components/TeamsMultiAutocomplete/index.js +1 -1
  57. package/components/TeamsMultiAutocomplete/index.js.map +1 -1
  58. package/domain/Identity.js +1 -1
  59. package/domain/Identity.js.map +1 -1
  60. package/features/debugger/Debugger.d.ts +8 -0
  61. package/features/debugger/Debugger.js +25 -0
  62. package/features/debugger/Debugger.js.map +1 -0
  63. package/features/debugger/DebuggerIndicator.d.ts +16 -0
  64. package/features/debugger/DebuggerIndicator.js +31 -0
  65. package/features/debugger/DebuggerIndicator.js.map +1 -0
  66. package/features/debugger/DebuggerStore.d.ts +55 -0
  67. package/features/debugger/DebuggerStore.js +65 -0
  68. package/features/debugger/DebuggerStore.js.map +1 -0
  69. package/features/debugger/DebuggerView.d.ts +4 -0
  70. package/features/debugger/DebuggerView.js +49 -0
  71. package/features/debugger/DebuggerView.js.map +1 -0
  72. package/features/debugger/GraphQLExtensionsDebugHandler.d.ts +15 -0
  73. package/features/debugger/GraphQLExtensionsDebugHandler.js +15 -0
  74. package/features/debugger/GraphQLExtensionsDebugHandler.js.map +1 -0
  75. package/features/debugger/debuggerLink.d.ts +12 -0
  76. package/features/debugger/debuggerLink.js +10 -0
  77. package/features/debugger/debuggerLink.js.map +1 -0
  78. package/features/debugger/feature.d.ts +1 -0
  79. package/features/debugger/feature.js +18 -0
  80. package/features/debugger/feature.js.map +1 -0
  81. package/features/debugger/index.d.ts +7 -0
  82. package/features/debugger/index.js +7 -0
  83. package/features/debugger/permissions.d.ts +68 -0
  84. package/features/debugger/permissions.js +27 -0
  85. package/features/debugger/permissions.js.map +1 -0
  86. package/features/debugger/report.d.ts +7 -0
  87. package/features/debugger/report.js +22 -0
  88. package/features/debugger/report.js.map +1 -0
  89. package/features/debugger/routes.d.ts +4 -0
  90. package/features/debugger/routes.js +10 -0
  91. package/features/debugger/routes.js.map +1 -0
  92. package/features/formModel/Field.d.ts +7 -1
  93. package/features/formModel/Field.js +13 -5
  94. package/features/formModel/Field.js.map +1 -1
  95. package/features/formModel/FieldBuilder.test.js +25 -0
  96. package/features/formModel/FieldBuilder.test.js.map +1 -1
  97. package/features/formModel/FormErrors.d.ts +2 -2
  98. package/features/formModel/FormErrors.js +1 -1
  99. package/features/formModel/FormErrors.js.map +1 -1
  100. package/features/formModel/FormModel.d.ts +2 -0
  101. package/features/formModel/FormModel.js +25 -0
  102. package/features/formModel/FormModel.js.map +1 -1
  103. package/features/formModel/FormModel.test.js +587 -2
  104. package/features/formModel/FormModel.test.js.map +1 -1
  105. package/features/formModel/FormView.d.ts +8 -4
  106. package/features/formModel/ObjectField.d.ts +11 -1
  107. package/features/formModel/ObjectField.js +45 -20
  108. package/features/formModel/ObjectField.js.map +1 -1
  109. package/features/formModel/PresenterErrors.d.ts +2 -2
  110. package/features/formModel/abstractions.d.ts +30 -1
  111. package/features/formModel/abstractions.js.map +1 -1
  112. package/features/formModel/createFieldRenderer.js +3 -4
  113. package/features/formModel/createFieldRenderer.js.map +1 -1
  114. package/features/formModel/demo/FormModelDemo.d.ts +2 -2
  115. package/features/formModel/fieldTypes/DateTimeFieldType.d.ts +2 -0
  116. package/features/formModel/fieldTypes/DateTimeFieldType.js +19 -15
  117. package/features/formModel/fieldTypes/DateTimeFieldType.js.map +1 -1
  118. package/features/formModel/fieldTypes/ObjectFieldType.d.ts +3 -1
  119. package/features/formModel/fieldTypes/ObjectFieldType.js +23 -1
  120. package/features/formModel/fieldTypes/ObjectFieldType.js.map +1 -1
  121. package/features/notifications/NotificationsRenderer.d.ts +2 -2
  122. package/features/wcp/WcpGateway.js +7 -0
  123. package/features/wcp/WcpGateway.js.map +1 -1
  124. package/hooks/useHotkeys.js +3 -1
  125. package/hooks/useHotkeys.js.map +1 -1
  126. package/hooks/useSnackbar.js.map +1 -1
  127. package/index.d.ts +1 -0
  128. package/index.js +3 -2
  129. package/package.json +34 -34
  130. package/presentation/accessManagement/apiKeys/ApiKeysPresenter.js +1 -2
  131. package/presentation/accessManagement/apiKeys/ApiKeysPresenter.js.map +1 -1
  132. package/presentation/accessManagement/apiKeys/components/ApiKeysView.d.ts +2 -2
  133. package/presentation/accessManagement/roles/RolesPresenter.js +1 -2
  134. package/presentation/accessManagement/roles/RolesPresenter.js.map +1 -1
  135. package/presentation/accessManagement/roles/components/RolesView.d.ts +2 -2
  136. package/presentation/accessManagement/teams/TeamsPresenter.js +1 -2
  137. package/presentation/accessManagement/teams/TeamsPresenter.js.map +1 -1
  138. package/presentation/accessManagement/teams/components/TeamsView.d.ts +2 -2
  139. package/presentation/installation/components/SystemInstaller/SystemInstaller.d.ts +2 -2
  140. package/presentation/listPresenter/FolderAwareDataSource.d.ts +5 -0
  141. package/presentation/listPresenter/FolderAwareDataSource.js +4 -3
  142. package/presentation/listPresenter/FolderAwareDataSource.js.map +1 -1
  143. package/presentation/listPresenter/QueryMatcher.d.ts +28 -5
  144. package/presentation/listPresenter/QueryMatcher.js +74 -4
  145. package/presentation/listPresenter/QueryMatcher.js.map +1 -1
  146. package/presentation/listPresenter/QueryMatcher.test.d.ts +1 -0
  147. package/presentation/listPresenter/QueryMatcher.test.js +345 -0
  148. package/presentation/listPresenter/QueryMatcher.test.js.map +1 -0
  149. package/presentation/trashBin/components/BulkActions/DeleteItems.d.ts +2 -2
  150. package/presentation/trashBin/components/BulkActions/RestoreItems.d.ts +2 -2
  151. package/presentation/trashBin/components/TrashBinOverlay.d.ts +2 -2
  152. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker.js +0 -68
  153. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presentation/listPresenter/QueryMatcher.test.js","sources":["../../../src/presentation/listPresenter/QueryMatcher.test.ts"],"sourcesContent":["import { describe, it, expect } from \"vitest\";\nimport { QueryMatcher } from \"./QueryMatcher.js\";\n\ninterface Row {\n id: string;\n folderId: string;\n savedOn?: string;\n values?: { title?: string };\n}\n\nconst row = (id: string, savedOn?: string, folderId = \"root\"): Row => ({ id, folderId, savedOn });\n\nconst createMatcher = (config: Partial<ConstructorParameters<typeof QueryMatcher<Row>>[0]> = {}) =>\n new QueryMatcher<Row>({\n keyField: \"id\",\n localFilters: {\n folderId: (item, value) => item.folderId === value\n },\n ...config\n });\n\nconst ids = (rows: Row[]) => rows.map(r => r.id);\n\ndescribe(\"QueryMatcher.select\", () => {\n it(\"should only filter before the first query\", () => {\n const matcher = createMatcher();\n\n expect(ids(matcher.select([row(\"b\", \"2\"), row(\"a\", \"1\")]))).toEqual([\"b\", \"a\"]);\n });\n\n it(\"should sort by the applied sort, regardless of cache order\", () => {\n const matcher = createMatcher();\n matcher.updateFromQuery({ sort: { field: \"savedOn\", direction: \"DESC\" } }, [\"c\", \"b\", \"a\"]);\n\n const cached = [row(\"a\", \"1\"), row(\"c\", \"3\"), row(\"b\", \"2\")];\n\n expect(ids(matcher.select(cached))).toEqual([\"c\", \"b\", \"a\"]);\n });\n\n it(\"should apply local filters\", () => {\n const matcher = createMatcher();\n matcher.updateFromQuery(\n { filters: { folderId: \"root\" }, sort: { field: \"savedOn\", direction: \"ASC\" } },\n [\"a\", \"b\"]\n );\n\n const cached = [row(\"a\", \"1\"), row(\"x\", \"0\", \"other\"), row(\"b\", \"2\")];\n\n expect(ids(matcher.select(cached))).toEqual([\"a\", \"b\"]);\n });\n\n it(\"should cut off items that sort past the last loaded item while more are available\", () => {\n const matcher = createMatcher();\n matcher.updateFromQuery({ sort: { field: \"savedOn\", direction: \"ASC\" } }, [\"a\", \"b\"], true);\n\n // \"z\" was cached by another view and sorts after the loaded window.\n const cached = [row(\"z\", \"9\"), row(\"a\", \"1\"), row(\"b\", \"2\")];\n\n expect(ids(matcher.select(cached))).toEqual([\"a\", \"b\"]);\n });\n\n it(\"should include items past the last loaded item when nothing more is available\", () => {\n const matcher = createMatcher();\n matcher.updateFromQuery(\n { sort: { field: \"savedOn\", direction: \"ASC\" } },\n [\"a\", \"b\"],\n false\n );\n\n const cached = [row(\"z\", \"9\"), row(\"a\", \"1\"), row(\"b\", \"2\")];\n\n expect(ids(matcher.select(cached))).toEqual([\"a\", \"b\", \"z\"]);\n });\n\n it(\"should extend the loaded window on appendResultKeys\", () => {\n const matcher = createMatcher();\n matcher.updateFromQuery({ sort: { field: \"savedOn\", direction: \"ASC\" } }, [\"a\"], true);\n matcher.appendResultKeys([\"b\"], true);\n\n const cached = [row(\"c\", \"3\"), row(\"b\", \"2\"), row(\"a\", \"1\")];\n\n expect(ids(matcher.select(cached))).toEqual([\"a\", \"b\"]);\n });\n\n it(\"should keep the server order for items with equal sort values\", () => {\n const matcher = createMatcher();\n matcher.updateFromQuery({ sort: { field: \"savedOn\", direction: \"DESC\" } }, [\"b\", \"a\", \"c\"]);\n\n const cached = [row(\"a\", \"1\"), row(\"c\", \"1\"), row(\"b\", \"1\")];\n\n expect(ids(matcher.select(cached))).toEqual([\"b\", \"a\", \"c\"]);\n });\n\n // Empty values are ordered the same way as the DDB and SQL storage sort them.\n it(\"should sort empty values last in ascending order\", () => {\n const matcher = createMatcher();\n matcher.updateFromQuery({ sort: { field: \"savedOn\", direction: \"ASC\" } }, [\"a\", \"b\"]);\n\n const cached = [row(\"n\"), row(\"b\", \"2\"), row(\"u\"), row(\"a\", \"1\")];\n cached[0].savedOn = null as unknown as string;\n\n expect(ids(matcher.select(cached))).toEqual([\"a\", \"b\", \"n\", \"u\"]);\n });\n\n it(\"should sort empty values first in descending order\", () => {\n const matcher = createMatcher();\n matcher.updateFromQuery({ sort: { field: \"savedOn\", direction: \"DESC\" } }, [\"b\", \"a\"]);\n\n expect(ids(matcher.select([row(\"a\", \"1\"), row(\"e\"), row(\"b\", \"2\")]))).toEqual([\n \"e\",\n \"b\",\n \"a\"\n ]);\n });\n\n it(\"should sort an empty string as a regular string\", () => {\n const matcher = createMatcher();\n matcher.updateFromQuery({ sort: { field: \"savedOn\", direction: \"ASC\" } }, [\"a\", \"b\"]);\n\n expect(ids(matcher.select([row(\"b\", \"1\"), row(\"u\"), row(\"a\", \"\")]))).toEqual([\n \"a\",\n \"b\",\n \"u\"\n ]);\n });\n\n it(\"should keep the server order while searching\", () => {\n const matcher = createMatcher();\n matcher.updateFromQuery({ search: \"hello\", sort: { field: \"savedOn\", direction: \"ASC\" } }, [\n \"c\",\n \"a\",\n \"b\"\n ]);\n\n const cached = [row(\"a\", \"1\"), row(\"b\", \"2\"), row(\"c\", \"3\"), row(\"x\", \"0\")];\n\n expect(ids(matcher.select(cached))).toEqual([\"c\", \"a\", \"b\"]);\n });\n\n it(\"should read nested sort fields by path\", () => {\n const matcher = createMatcher();\n matcher.updateFromQuery({ sort: { field: \"values.title\", direction: \"ASC\" } }, [\"a\", \"b\"]);\n\n const cached: Row[] = [\n { id: \"b\", folderId: \"root\", values: { title: \"Beta\" } },\n { id: \"a\", folderId: \"root\", values: { title: \"Alpha\" } }\n ];\n\n expect(ids(matcher.select(cached))).toEqual([\"a\", \"b\"]);\n });\n\n it(\"should use a custom sort value getter\", () => {\n const matcher = createMatcher({\n getSortValue: (item, field) => (field === \"title\" ? item.values?.title : undefined)\n });\n matcher.updateFromQuery({ sort: { field: \"title\", direction: \"DESC\" } }, [\"a\", \"b\"]);\n\n const cached: Row[] = [\n { id: \"a\", folderId: \"root\", values: { title: \"Alpha\" } },\n { id: \"b\", folderId: \"root\", values: { title: \"Beta\" } }\n ];\n\n expect(ids(matcher.select(cached))).toEqual([\"b\", \"a\"]);\n });\n\n it(\"should put items the server did not return after the server's items among equal values\", () => {\n const matcher = createMatcher();\n matcher.updateFromQuery(\n { sort: { field: \"savedOn\", direction: \"DESC\" } },\n [\"b\", \"a\"],\n true\n );\n\n // \"x\" and \"y\" were cached by another view and tie with the loaded items.\n const cached = [row(\"x\", \"1\"), row(\"a\", \"1\"), row(\"y\", \"1\"), row(\"b\", \"1\")];\n\n // Server items come first, in server order, and the tied leftovers are cut off\n // together with everything else past the last loaded item.\n expect(ids(matcher.select(cached))).toEqual([\"b\", \"a\"]);\n });\n});\n"],"names":["row","id","savedOn","folderId","createMatcher","config","QueryMatcher","item","value","ids","rows","r","describe","it","matcher","expect","cached","field","undefined"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import React from "react";
2
- export declare const BulkActionsDeleteItems: (() => React.JSX.Element) & {
3
- displayName: string;
2
+ export declare const BulkActionsDeleteItems: (() => React.JSX.Element) & React.NamedExoticComponent<unknown> & {
3
+ readonly type: () => React.JSX.Element;
4
4
  };
@@ -1,4 +1,4 @@
1
1
  import React from "react";
2
- export declare const BulkActionsRestoreItems: (() => React.JSX.Element) & {
3
- displayName: string;
2
+ export declare const BulkActionsRestoreItems: (() => React.JSX.Element) & React.NamedExoticComponent<unknown> & {
3
+ readonly type: () => React.JSX.Element;
4
4
  };
@@ -6,7 +6,7 @@ interface TrashBinOverlayProps {
6
6
  onExited: () => void;
7
7
  onItemAfterRestore?: (item: TrashBinItem) => Promise<void>;
8
8
  }
9
- export declare const TrashBinOverlay: (({ presenter, title, onExited, onItemAfterRestore }: TrashBinOverlayProps) => React.JSX.Element) & {
10
- displayName: string;
9
+ export declare const TrashBinOverlay: (({ presenter, title, onExited, onItemAfterRestore }: TrashBinOverlayProps) => React.JSX.Element) & React.NamedExoticComponent<TrashBinOverlayProps> & {
10
+ readonly type: ({ presenter, title, onExited, onItemAfterRestore }: TrashBinOverlayProps) => React.JSX.Element;
11
11
  };
12
12
  export {};
@@ -1,68 +0,0 @@
1
- import react, { useState } from "react";
2
- import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
3
- import { Button, Dialog, Text } from "@webiny/admin-ui";
4
- import { ReactComponent } from "@webiny/icons/add.svg";
5
- import { ReactComponent as add_circle_outline_svg_ReactComponent } from "@webiny/icons/add_circle_outline.svg";
6
- const normalizeIcon = (icon)=>{
7
- if (!icon) return;
8
- return icon.name.split("/");
9
- };
10
- const AddTemplateButton = ({ templates, onSelect, label, size = "sm", variant = "tertiary" })=>/*#__PURE__*/ react.createElement("div", {
11
- className: "flex justify-between items-center"
12
- }, /*#__PURE__*/ react.createElement(Dialog, {
13
- size: "lg",
14
- className: "w-[800px]",
15
- trigger: /*#__PURE__*/ react.createElement(Button, {
16
- size: size,
17
- variant: variant,
18
- text: label,
19
- icon: /*#__PURE__*/ react.createElement(ReactComponent, null)
20
- }),
21
- title: "Insert a template",
22
- info: /*#__PURE__*/ react.createElement(react.Fragment, null)
23
- }, /*#__PURE__*/ react.createElement(TemplateGallery, {
24
- templates: templates,
25
- onSelect: onSelect
26
- })));
27
- const TemplateGallery = ({ templates, onSelect })=>/*#__PURE__*/ react.createElement("div", {
28
- className: "gap-md flex flex-wrap p-xs"
29
- }, templates.map((template)=>/*#__PURE__*/ react.createElement(TemplateCard, {
30
- key: template.id,
31
- template: template,
32
- onSelect: onSelect
33
- })));
34
- const TemplateCard = ({ template, onSelect })=>{
35
- const [isHovered, setIsHovered] = useState(false);
36
- const icon = normalizeIcon(template.icon);
37
- return /*#__PURE__*/ react.createElement("div", {
38
- onMouseEnter: ()=>setIsHovered(true),
39
- onMouseLeave: ()=>setIsHovered(false),
40
- className: "flex flex-col justify-between bg-neutral-base overflow-hidden rounded-lg w-[173px] relative shadow-sm"
41
- }, /*#__PURE__*/ react.createElement("div", null, /*#__PURE__*/ react.createElement("div", {
42
- className: "flex items-center justify-center py-xxl w-full bg-neutral-dimmed"
43
- }, icon ? /*#__PURE__*/ react.createElement(FontAwesomeIcon, {
44
- className: "text-neutral-xstrong",
45
- icon: icon,
46
- style: {
47
- width: 40,
48
- height: 40
49
- }
50
- }) : null), /*#__PURE__*/ react.createElement("div", {
51
- className: "py-sm-extra px-md"
52
- }, /*#__PURE__*/ react.createElement(Text, {
53
- size: "md",
54
- className: "mb-xs text-neutral-primary font-semibold"
55
- }, template.label))), isHovered && /*#__PURE__*/ react.createElement(Dialog.Close, {
56
- asChild: true
57
- }, /*#__PURE__*/ react.createElement("div", {
58
- className: "absolute inset-0 flex items-center justify-center bg-white/80 cursor-pointer",
59
- onClick: ()=>onSelect(template)
60
- }, /*#__PURE__*/ react.createElement(Button, {
61
- size: "lg",
62
- variant: "primary",
63
- icon: /*#__PURE__*/ react.createElement(add_circle_outline_svg_ReactComponent, null)
64
- }, "Insert"))));
65
- };
66
- export { AddTemplateButton };
67
-
68
- //# sourceMappingURL=TemplatePicker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base/Base/FieldRenderers/ObjectRenderer/TemplatePicker.js","sources":["../../../../../src/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport type { IconProp } from \"@fortawesome/fontawesome-svg-core\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { Button, Dialog, Text } from \"@webiny/admin-ui\";\nimport { ReactComponent as AddIcon } from \"@webiny/icons/add.svg\";\nimport { ReactComponent as PlusIcon } from \"@webiny/icons/add_circle_outline.svg\";\nimport type { ITemplateIcon, ITemplateVM } from \"~/features/formModel/index.js\";\n\nconst normalizeIcon = (icon: ITemplateIcon | undefined): IconProp | undefined => {\n if (!icon) {\n return undefined;\n }\n return icon.name.split(\"/\") as IconProp;\n};\n\nexport interface AddTemplateButtonProps {\n templates: ITemplateVM[];\n onSelect: (template: ITemplateVM) => void;\n label?: string;\n size?: \"sm\" | \"md\" | \"lg\";\n variant?: \"primary\" | \"secondary\" | \"tertiary\";\n}\n\nexport const AddTemplateButton = ({\n templates,\n onSelect,\n label,\n size = \"sm\",\n variant = \"tertiary\"\n}: AddTemplateButtonProps) => {\n return (\n <div className={\"flex justify-between items-center\"}>\n <Dialog\n size={\"lg\"}\n className={\"w-[800px]\"}\n trigger={<Button size={size} variant={variant} text={label} icon={<AddIcon />} />}\n title={\"Insert a template\"}\n info={<></>}\n >\n <TemplateGallery templates={templates} onSelect={onSelect} />\n </Dialog>\n </div>\n );\n};\n\ninterface TemplateGalleryProps {\n templates: ITemplateVM[];\n onSelect: (template: ITemplateVM) => void;\n}\n\nconst TemplateGallery = ({ templates, onSelect }: TemplateGalleryProps) => {\n return (\n <div className={\"gap-md flex flex-wrap p-xs\"}>\n {templates.map(template => (\n <TemplateCard key={template.id} template={template} onSelect={onSelect} />\n ))}\n </div>\n );\n};\n\ninterface TemplateCardProps {\n template: ITemplateVM;\n onSelect: (template: ITemplateVM) => void;\n}\n\nconst TemplateCard = ({ template, onSelect }: TemplateCardProps) => {\n const [isHovered, setIsHovered] = useState(false);\n const icon = normalizeIcon(template.icon);\n\n return (\n <div\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n className={\n \"flex flex-col justify-between bg-neutral-base overflow-hidden rounded-lg w-[173px] relative shadow-sm\"\n }\n >\n <div>\n <div className={\"flex items-center justify-center py-xxl w-full bg-neutral-dimmed\"}>\n {icon ? (\n <FontAwesomeIcon\n className={\"text-neutral-xstrong\"}\n icon={icon}\n style={{ width: 40, height: 40 }}\n />\n ) : null}\n </div>\n <div className={\"py-sm-extra px-md\"}>\n <Text size={\"md\"} className={\"mb-xs text-neutral-primary font-semibold\"}>\n {template.label}\n </Text>\n </div>\n </div>\n\n {isHovered && (\n <Dialog.Close asChild>\n <div\n className={\n \"absolute inset-0 flex items-center justify-center bg-white/80 cursor-pointer\"\n }\n onClick={() => onSelect(template)}\n >\n <Button size={\"lg\"} variant={\"primary\"} icon={<PlusIcon />}>\n Insert\n </Button>\n </div>\n </Dialog.Close>\n )}\n </div>\n );\n};\n"],"names":["normalizeIcon","icon","AddTemplateButton","templates","onSelect","label","size","variant","Dialog","Button","AddIcon","TemplateGallery","template","TemplateCard","isHovered","setIsHovered","useState","FontAwesomeIcon","Text","PlusIcon"],"mappings":";;;;;AAQA,MAAMA,gBAAgB,CAACC;IACnB,IAAI,CAACA,MACD;IAEJ,OAAOA,KAAK,IAAI,CAAC,KAAK,CAAC;AAC3B;AAUO,MAAMC,oBAAoB,CAAC,EAC9BC,SAAS,EACTC,QAAQ,EACRC,KAAK,EACLC,OAAO,IAAI,EACXC,UAAU,UAAU,EACC,GACd,WAAP,GACI,oBAAC;QAAI,WAAW;qBACZ,oBAACC,QAAMA;QACH,MAAM;QACN,WAAW;QACX,uBAAS,oBAACC,QAAMA;YAAC,MAAMH;YAAM,SAASC;YAAS,MAAMF;YAAO,oBAAM,oBAACK,gBAAOA;;QAC1E,OAAO;QACP,oBAAM;qBAEN,oBAACC,iBAAeA;QAAC,WAAWR;QAAW,UAAUC;;AAWjE,MAAMO,kBAAkB,CAAC,EAAER,SAAS,EAAEC,QAAQ,EAAwB,GAC3D,WAAP,GACI,oBAAC;QAAI,WAAW;OACXD,UAAU,GAAG,CAACS,CAAAA,WAAAA,WAAAA,GACX,oBAACC,cAAYA;YAAC,KAAKD,SAAS,EAAE;YAAE,UAAUA;YAAU,UAAUR;;AAW9E,MAAMS,eAAe,CAAC,EAAED,QAAQ,EAAER,QAAQ,EAAqB;IAC3D,MAAM,CAACU,WAAWC,aAAa,GAAGC,SAAS;IAC3C,MAAMf,OAAOD,cAAcY,SAAS,IAAI;IAExC,OAAO,WAAP,GACI,oBAAC;QACG,cAAc,IAAMG,aAAa;QACjC,cAAc,IAAMA,aAAa;QACjC,WACI;qBAGJ,oBAAC,2BACG,oBAAC;QAAI,WAAW;OACXd,OAAO,WAAPA,GACG,oBAACgB,iBAAeA;QACZ,WAAW;QACX,MAAMhB;QACN,OAAO;YAAE,OAAO;YAAI,QAAQ;QAAG;SAEnC,qBAER,oBAAC;QAAI,WAAW;qBACZ,oBAACiB,MAAIA;QAAC,MAAM;QAAM,WAAW;OACxBN,SAAS,KAAK,KAK1BE,aAAa,WAAbA,GACG,oBAACN,OAAO,KAAK;QAAC;qBACV,oBAAC;QACG,WACI;QAEJ,SAAS,IAAMJ,SAASQ;qBAExB,oBAACH,QAAMA;QAAC,MAAM;QAAM,SAAS;QAAW,oBAAM,oBAACU,uCAAQA;OAAK;AAQpF"}