@sitecore-feaas/clientside 0.2.1 → 0.3.0

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 (113) hide show
  1. package/README.md +7 -7
  2. package/build/components/FEAASComponent.js +72 -10
  3. package/build/components/FEAASComponent.js.map +1 -1
  4. package/build/components/FEAASElement.js +19 -5
  5. package/build/components/FEAASElement.js.map +1 -1
  6. package/build/dom/rendering.js.map +1 -1
  7. package/build/dom/thumbnail.js +29 -24
  8. package/build/dom/thumbnail.js.map +1 -1
  9. package/build/headless.js +5 -0
  10. package/build/headless.js.map +1 -1
  11. package/build/ui/FEAAS.js +5 -0
  12. package/build/ui/FEAAS.js.map +1 -0
  13. package/build/ui/FEAASContext.js +9 -6
  14. package/build/ui/FEAASContext.js.map +1 -1
  15. package/build/ui/FEAASExternal.js +68 -4
  16. package/build/ui/FEAASExternal.js.map +1 -1
  17. package/build/ui/FEAASPicker.js +15 -5
  18. package/build/ui/FEAASPicker.js.map +1 -1
  19. package/build/ui/index.js +3 -4
  20. package/build/ui/index.js.map +1 -1
  21. package/build/ui/react.js +23 -8
  22. package/build/ui/react.js.map +1 -1
  23. package/build/utils/datapath.js +15 -0
  24. package/build/utils/datapath.js.map +1 -1
  25. package/build/utils/fetch.js +40 -0
  26. package/build/utils/fetch.js.map +1 -0
  27. package/build/utils/settings.js +60 -0
  28. package/build/utils/settings.js.map +1 -0
  29. package/dist/browser/headless.cjs +8 -6
  30. package/dist/browser/headless.cjs.map +4 -4
  31. package/dist/browser/headless.esm.js +8 -6
  32. package/dist/browser/headless.esm.js.map +1 -1
  33. package/dist/browser/index.cjs +8 -6
  34. package/dist/browser/index.cjs.map +4 -4
  35. package/dist/browser/index.esm.js +8 -6
  36. package/dist/browser/index.esm.js.map +1 -1
  37. package/dist/browser/react.cjs +8 -6
  38. package/dist/browser/react.cjs.map +4 -4
  39. package/dist/browser/react.esm.js +8 -6
  40. package/dist/browser/react.esm.js.map +1 -1
  41. package/dist/node/headless.cjs +6 -4
  42. package/dist/node/headless.cjs.map +4 -4
  43. package/dist/node/headless.esm.js +6 -4
  44. package/dist/node/headless.esm.js.map +4 -4
  45. package/dist/node/index.cjs +7 -5
  46. package/dist/node/index.cjs.map +4 -4
  47. package/dist/node/index.esm.js +7 -5
  48. package/dist/node/index.esm.js.map +4 -4
  49. package/dist/node/react.cjs +6 -4
  50. package/dist/node/react.cjs.map +4 -4
  51. package/dist/node/react.esm.js +6 -4
  52. package/dist/node/react.esm.js.map +4 -4
  53. package/headless.cjs +6 -4
  54. package/headless.cjs.map +4 -4
  55. package/headless.js +6 -4
  56. package/headless.js.map +4 -4
  57. package/package.json +2 -2
  58. package/react.cjs +8 -6
  59. package/react.cjs.map +4 -4
  60. package/react.js +8 -6
  61. package/react.js.map +4 -4
  62. package/scripts/build.js +1 -1
  63. package/src/components/FEAASComponent.tsx +101 -10
  64. package/src/components/FEAASElement.tsx +30 -5
  65. package/src/dom/rendering.ts +1 -0
  66. package/src/dom/thumbnail.ts +29 -24
  67. package/src/headless.ts +5 -0
  68. package/src/ui/FEAAS.tsx +4 -0
  69. package/src/ui/FEAASContext.tsx +10 -1
  70. package/src/ui/FEAASExternal.tsx +75 -16
  71. package/src/ui/FEAASPicker.tsx +19 -7
  72. package/src/ui/index.ts +4 -4
  73. package/src/ui/react.tsx +48 -14
  74. package/src/utils/datapath.ts +17 -0
  75. package/src/utils/fetch.ts +60 -0
  76. package/src/utils/settings.ts +69 -0
  77. package/test/FEAASComponent.react.test.tsx +1 -1
  78. package/test/FEAASComponent.test.tsx +1 -0
  79. package/test/FEAASComponentData.test.tsx +215 -0
  80. package/test/FEAASContext.test.tsx +3 -3
  81. package/test/FEAASExternal.test.tsx +1 -8
  82. package/test/ServerComponent.test.tsx +33 -0
  83. package/test/fetch-data.ts +55 -0
  84. package/test/settings.test.ts +78 -0
  85. package/types/components/FEAASComponent.d.ts +33 -1
  86. package/types/components/FEAASComponent.d.ts.map +1 -1
  87. package/types/components/FEAASElement.d.ts +10 -1
  88. package/types/components/FEAASElement.d.ts.map +1 -1
  89. package/types/dom/rendering.d.ts.map +1 -1
  90. package/types/dom/thumbnail.d.ts +16 -16
  91. package/types/dom/thumbnail.d.ts.map +1 -1
  92. package/types/headless.d.ts +5 -0
  93. package/types/headless.d.ts.map +1 -1
  94. package/types/tsbuildinfo +1 -1
  95. package/types/ui/FEAAS.d.ts +5 -0
  96. package/types/ui/FEAAS.d.ts.map +1 -0
  97. package/types/ui/FEAASContext.d.ts +8 -0
  98. package/types/ui/FEAASContext.d.ts.map +1 -1
  99. package/types/ui/FEAASExternal.d.ts +56 -3
  100. package/types/ui/FEAASExternal.d.ts.map +1 -1
  101. package/types/ui/FEAASPicker.d.ts +10 -6
  102. package/types/ui/FEAASPicker.d.ts.map +1 -1
  103. package/types/ui/index.d.ts +1 -4
  104. package/types/ui/index.d.ts.map +1 -1
  105. package/types/ui/react.d.ts +7 -2
  106. package/types/ui/react.d.ts.map +1 -1
  107. package/types/ui/tsbuildinfo +1 -1
  108. package/types/utils/datapath.d.ts +2 -0
  109. package/types/utils/datapath.d.ts.map +1 -1
  110. package/types/utils/fetch.d.ts +9 -0
  111. package/types/utils/fetch.d.ts.map +1 -0
  112. package/types/utils/settings.d.ts +13 -0
  113. package/types/utils/settings.d.ts.map +1 -0
@@ -1,13 +1,15 @@
1
1
  import { FEAASElement } from '../components/FEAASElement.js';
2
2
  import { ControlledPromise } from '../utils/promise.js';
3
3
  export function FEAASContextProps(element) {
4
- var _a, _b, _c, _d;
4
+ var _a, _b, _c, _d, _e;
5
5
  return {
6
6
  library: element === null || element === void 0 ? void 0 : element.getAttribute('library'),
7
7
  src: (_a = element === null || element === void 0 ? void 0 : element.getAttribute('src')) !== null && _a !== void 0 ? _a : '/context.js',
8
- frontend: (_b = element === null || element === void 0 ? void 0 : element.getAttribute('frontend')) !== null && _b !== void 0 ? _b : 'https://components.sitecorecloud.io',
9
- backend: (_c = element === null || element === void 0 ? void 0 : element.getAttribute('backend')) !== null && _c !== void 0 ? _c : 'https://components.sitecorecloud.io/api',
10
- cdn: (_d = element === null || element === void 0 ? void 0 : element.getAttribute('cdn')) !== null && _d !== void 0 ? _d : 'https://feaas.blob.core.windows.net',
8
+ // override environment
9
+ environment: (_b = element === null || element === void 0 ? void 0 : element.getAttribute('environment')) !== null && _b !== void 0 ? _b : undefined,
10
+ frontend: (_c = element === null || element === void 0 ? void 0 : element.getAttribute('frontend')) !== null && _c !== void 0 ? _c : 'https://components.sitecorecloud.io',
11
+ backend: (_d = element === null || element === void 0 ? void 0 : element.getAttribute('backend')) !== null && _d !== void 0 ? _d : 'https://components.sitecorecloud.io/api',
12
+ cdn: (_e = element === null || element === void 0 ? void 0 : element.getAttribute('cdn')) !== null && _e !== void 0 ? _e : 'https://feaas.blob.core.windows.net',
11
13
  auth: null,
12
14
  isolate: (element === null || element === void 0 ? void 0 : element.getAttribute('isolate')) == null || (element === null || element === void 0 ? void 0 : element.getAttribute('isolate')) == 'true'
13
15
  };
@@ -60,6 +62,7 @@ class FEAASContext extends FEAASElement {
60
62
  }
61
63
  /** Pull in children FEAAS react elements into the shadow DOM so they receieve the styles */
62
64
  connectedCallback() {
65
+ this.setAttribute('feaas-role', 'ui');
63
66
  //if (this.props.isolate)
64
67
  Array.from(this.children).forEach((child) => {
65
68
  this.getRoot().appendChild(child);
@@ -82,10 +85,10 @@ class FEAASContext extends FEAASElement {
82
85
  placement: 'top',
83
86
  portalProps
84
87
  };
85
- return (React.createElement(AppContext, { backend: this.props.backend, libraryId: this.props.library, container: this.getRoot(), auth: this.props.auth, getTheme: this.getTheme, onStatusChange: this.onStatusChange, modalProps: {
88
+ return (React.createElement(AppContext, { environment: this.props.environment, backend: this.props.backend, libraryId: this.props.library, container: this.getRoot(), auth: this.props.auth, getTheme: this.getTheme, onStatusChange: this.onStatusChange, modalProps: {
86
89
  portalProps
87
90
  }, chakraProps: {
88
- resetScope: '.feaas-reset',
91
+ resetScope: ':where([feaas-role="ui"])',
89
92
  cssVarsRoot: ':host',
90
93
  resetCSS: true,
91
94
  toastOptions: {
@@ -1 +1 @@
1
- {"version":3,"file":"FEAASContext.js","sourceRoot":"","sources":["../../src/ui/FEAASContext.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FEAASContext.js","sourceRoot":"","sources":["../../src/ui/FEAASContext.tsx"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ const addTitles = (properties) => Object.keys(properties).reduce((acc, key) => {
17
17
  }
18
18
  return acc;
19
19
  }, {});
20
+ /** Converts the keys of an object to kebab case. */
20
21
  const objectKeysToKebabCase = (object = {}) => Object.keys(object).reduce((acc, key) => {
21
22
  acc[kebabCase(key)] = object[key];
22
23
  return acc;
@@ -52,6 +53,7 @@ const transformUiSchema = (uiSchema, properties) => {
52
53
  });
53
54
  return transformed;
54
55
  };
56
+ /** Parses a property value based on its property name and type defined in the JSON properties object. */
55
57
  export const parseProps = (propName, propValue, properties) => {
56
58
  var _a;
57
59
  //@ts-ignore
@@ -103,11 +105,72 @@ class FEAASExternal extends FEAASElement {
103
105
  getProps() {
104
106
  return FEAASExternalProps(this);
105
107
  }
106
- static registerComponent(component, options = {}) {
107
- const id = options.name || component.name;
108
+ /**
109
+ * Register React component to be renderable as Sitecore component (in Components and Pages). Properties are defined
110
+ * as {@link https://json-schema.org JSON Schema}, from which a configuration form will be produced using
111
+ * {@link https://rjsf-team.github.io/react-jsonschema-form/ RJSF library}. The library allows passing a
112
+ * {@link https://rjsf-team.github.io/react-jsonschema-form/docs/api-reference/uiSchema UI Schema} that allows tight
113
+ * customization of form widgets, styles and behavior.
114
+ *
115
+ * @param {React.ComponentType} component React component that will be rendered.
116
+ * @param {string} options.title Component name as presented to the user.
117
+ * @param {JSONSchema['properties']} options.properties Object of properties.
118
+ * @param {JSONSchema['type']} options.properties[].type JSON Schema type of a property.
119
+ * @param {string} [options.properties[].title] Optional title displayed to the user.
120
+ * @param {string} [options.group] Optional Image to be displayed in the UI.
121
+ * @param {string} [options.thumbnail] Optional title displayed to the user.
122
+ * @param {UISchema} [options.ui] Optional component groupping.
123
+ * @see https://rjsf-team.github.io/react-jsonschema-form/docs/api-reference/uiSchema
124
+ * @see https://json-schema.org
125
+ * @example
126
+ *
127
+ * FEAAS.External.registerComponent(MyComponent, {
128
+ * // Name of a component as it will be presented to the user
129
+ * name: 'My Component',
130
+ * // Title of a component as it will be presented in the inputs form
131
+ * title: 'My Component',
132
+ * // Optional: Thumbnail image for component to be displayed in UI
133
+ * thumbnail: 'http://examaple.com/component.jpg',
134
+ * // Optional: Group components by name
135
+ * group: 'Assorted components',
136
+ * // Definitions of three configurable properties that MyComponent accepts
137
+ * properties: {
138
+ * // Color is a string, but only Red/Green/Blue are allowed
139
+ * color: { type: 'string', enum: ['red', 'green', 'blue'] },
140
+ * // Text is a property labelled as "Text summary"
141
+ * text: { type: 'string', title: 'Text summary' },
142
+ * // Count is a number with 1 as default value
143
+ * count: { type: 'number', default: 1 }
144
+ * },
145
+ * // Optional UI schema customization
146
+ * ui: {
147
+ * // Present color choices as radio buttons
148
+ * color: { 'ui:widget': 'radio' },
149
+ * // Text is a textarea with 5 rows
150
+ * text: { 'ui:widget': 'textarea', 'ui:options': { rows: 5 } },
151
+ * // Count is a number field with spinner button
152
+ * count: { 'ui:widget': 'updown' }
153
+ * },
154
+ * // Color and text area required properties
155
+ * required: ['color', 'text']
156
+ * })
157
+ *
158
+ */
159
+ static registerComponent(component, options) {
160
+ if (!options.name)
161
+ throw new Error('Could not register external component. Please make sure you provide a name in the options');
162
+ const id = options.name;
108
163
  const { thumbnail, group, ui: uiSchema, ...schemaOptions } = options;
109
164
  const schema = { ...schemaOptions, type: 'object' };
110
- FEAASExternal.registered[id] = { component, schema, uiSchema, thumbnail, group, title: (schema === null || schema === void 0 ? void 0 : schema.title) || id };
165
+ FEAASExternal.registered[id] = {
166
+ component,
167
+ name: id,
168
+ schema,
169
+ uiSchema,
170
+ thumbnail,
171
+ group,
172
+ title: (schema === null || schema === void 0 ? void 0 : schema.title) || id
173
+ };
111
174
  FEAASExternal.setRegistrationCallback();
112
175
  }
113
176
  static setRegistrationCallback() {
@@ -136,7 +199,7 @@ class FEAASExternal extends FEAASElement {
136
199
  }
137
200
  /*static loadComponents() {
138
201
  const components = JSON.parse(sessionStorage.getItem('feaas-external-components'))
139
- components.forEach((c: { name: string; schema: any; component: React.FC }) => {
202
+ components.forEach((c: { name: string; schema: any; component: React.ComponentType }) => {
140
203
  const name = c.name
141
204
  const schema = c.schema
142
205
  const component = eval('(' + c.component + ')')
@@ -153,5 +216,6 @@ FEAASExternal.registered = {};
153
216
  export default FEAASExternal;
154
217
  FEAASExternal.register('feaas-external');
155
218
  FEAASExternal.setRegistrationCallback();
219
+ export const registerComponent = FEAASExternal.registerComponent;
156
220
  export { FEAASExternal as External };
157
221
  //# sourceMappingURL=FEAASExternal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FEAASExternal.js","sourceRoot":"","sources":["../../src/ui/FEAASExternal.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FEAASExternal.js","sourceRoot":"","sources":["../../src/ui/FEAASExternal.tsx"],"names":[],"mappings":"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"}
@@ -12,7 +12,8 @@ export function FEAASPickerProps(element) {
12
12
  variant: element === null || element === void 0 ? void 0 : element.getAttribute('variant'),
13
13
  context: undefined,
14
14
  onClose: undefined,
15
- onContextAttributeSet: undefined
15
+ setAttribute: undefined,
16
+ getAttribute: undefined
16
17
  };
17
18
  }
18
19
  class FEAASPicker extends FEAASElement {
@@ -28,13 +29,22 @@ class FEAASPicker extends FEAASElement {
28
29
  load() {
29
30
  return this.import(this.formatURL(this.props.src, this.props.frontend));
30
31
  }
32
+ connectedCallback() {
33
+ this.setAttribute('feaas-role', 'ui');
34
+ super.connectedCallback();
35
+ }
31
36
  render({ placeholder, context, mode, children, variant }, { Picker, React, useLibrary }) {
37
+ const [renders, forceRender] = React.useReducer((c) => c + 1, 0);
32
38
  const collections = useLibrary('collections');
39
+ const components = useLibrary('components');
33
40
  const rules = useLibrary('stylesheet.styles');
34
- return (React.createElement(Picker, { rules: rules, collections: collections, themeContext: context, placeholder: placeholder, mode: mode || undefined, onModeChange: (mode) => {
35
- if (!mode)
36
- this.props.onClose(mode);
37
- }, onContextAttributeSet: this.props.onContextAttributeSet, context: context, variant: variant }, children));
41
+ const component = components.find((c) => c.id == (context === null || context === void 0 ? void 0 : context.getAttribute('component')));
42
+ return (React.createElement(Picker, { rules: rules, collections: collections, themeContext: context, placeholder: placeholder, component: component, versionId: context.getAttribute('version'), mode: mode || 'component', setAttribute: (context, attribute, value) => {
43
+ this.props.setAttribute(context, attribute, value);
44
+ forceRender();
45
+ }, context: context, variant: variant, onModeChange: (mode) => {
46
+ this.set({ mode });
47
+ } }, children));
38
48
  }
39
49
  }
40
50
  FEAASPicker.observedAttributes = ['library', 'mode', 'frontend', 'src', 'hidden', 'variant'];
@@ -1 +1 @@
1
- {"version":3,"file":"FEAASPicker.js","sourceRoot":"","sources":["../../src/ui/FEAASPicker.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAE5D,MAAM,UAAU,gBAAgB,CAAC,OAA+B;;IAC9D,OAAO;QACL,IAAI,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,CAAC,MAAM,CAAC,KAAI,QAAQ;QAC/C,IAAI,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,CAAC,MAAM,CAAC,KAAI,QAAQ;QAC/C,IAAI,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,CAAC,MAAM,CAAqC;QACvE,WAAW,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,CAAC,aAAa,CAAC,KAAI,UAAU;QAC/D,QAAQ,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,mBAAmB,CAAC,UAAU,CAAC,mCAAI,qCAAqC;QAC3F,GAAG,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,CAAC,KAAK,CAAC,mCAAI,YAAY;QACjD,MAAM,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,CAAC,QAAQ,CAAC,KAAI,IAAI;QAC/C,OAAO,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,CAAC,SAAS,CAAyB;QACjE,OAAO,EAAE,SAAsD;QAC/D,OAAO,EAAE,SAAqC;QAC9C,qBAAqB,EAAE,SAAqE;KAC7F,CAAA;AACH,CAAC;AAGD,MAAa,WAAY,SAAQ,YAAyD;IAA1F;;QAGE,iBAAY,GAAG;YACb,MAAM,EAAE,KAAK;SACe,CAAA;IAkChC,CAAC;IAhCC,QAAQ;QACN,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAA;IAC/B,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;IACzE,CAAC;IAED,MAAM,CACJ,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAA6C,EAC5F,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAA6B;QAExD,MAAM,WAAW,GAAG,UAAU,CAAC,aAAa,CAAC,CAAA;QAC7C,MAAM,KAAK,GAAG,UAAU,CAAC,mBAAmB,CAAC,CAAA;QAC7C,OAAO,CACL,oBAAC,MAAM,IACL,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,OAAO,EACrB,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,IAAI,IAAI,SAAS,EACvB,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE;gBACrB,IAAI,CAAC,IAAI;oBAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YACrC,CAAC,EACD,qBAAqB,EAAE,IAAI,CAAC,KAAK,CAAC,qBAAqB,EACvD,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,IAEf,QAAQ,CACF,CACV,CAAA;IACH,CAAC;;AArCM,8BAAkB,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,AAA9D,CAA8D;SAD5E,WAAW;AAgDxB,OAAO,EAAE,WAAW,IAAI,MAAM,EAAE,CAAA;AAChC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA"}
1
+ {"version":3,"file":"FEAASPicker.js","sourceRoot":"","sources":["../../src/ui/FEAASPicker.tsx"],"names":[],"mappings":"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"}
package/build/ui/index.js CHANGED
@@ -1,5 +1,4 @@
1
- export * from '../headless.js';
2
- export * from './FEAASEditor.js';
3
- export * from './FEAASPicker.js';
4
- export * from './FEAASContext.js';
1
+ export * from './FEAAS.js';
2
+ import * as FEAAS from './FEAAS.js';
3
+ FEAAS.Context.prototype.clientside = FEAAS;
5
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,GAAG,KAAK,CAAA"}
package/build/ui/react.js CHANGED
@@ -1,20 +1,35 @@
1
- export * from './index.js';
2
- import { parseComponentSource } from './index.js';
1
+ import { fetchComponent, getComponentURL, getStylesheetURL, parseComponentSource } from './index.js';
3
2
  import React from 'react';
4
3
  import { renderHTMLContent } from '../dom/html.js';
4
+ import { fetchData } from '../utils/fetch.js';
5
5
  export { renderHTMLContent };
6
6
  export { External } from './FEAASExternal.js';
7
+ export * from './index.js';
8
+ export * from '../headless.js';
9
+ export const ServerComponent = async (props) => {
10
+ const fetchedData = await fetchData((props === null || props === void 0 ? void 0 : props.data) || {});
11
+ const p = { ...props };
12
+ if (('src' in p || 'component' in p) && (p === null || p === void 0 ? void 0 : p.template) == null) {
13
+ const response = await fetchComponent(p);
14
+ p.template = response.template;
15
+ // p.lastModified = response.lastModified
16
+ }
17
+ return FEAASEmbed({ ...p, data: fetchedData });
18
+ };
7
19
  export function FEAASEmbed({ data, ...props }) {
20
+ let html = '';
21
+ let preload = null;
8
22
  if ('template' in props && props.template) {
9
- var html = renderHTMLContent(props.template, data || {});
23
+ html = renderHTMLContent(props.template, data || {});
10
24
  }
11
25
  if ('src' in props) {
12
- props = {
13
- ...parseComponentSource(props.src),
14
- ...props
15
- };
26
+ props = { ...parseComponentSource(props.src), ...props };
16
27
  }
17
- return (React.createElement("feaas-component", { ...props, template: null, data: typeof data == 'string' ? data : data ? JSON.stringify(data) : null, dangerouslySetInnerHTML: { __html: html || '' } }));
28
+ return (React.createElement(React.Fragment, null,
29
+ 'preload' in props && preload === true && 'src' in props && (React.createElement(React.Fragment, null,
30
+ React.createElement("link", { rel: 'preload', as: 'fetch', href: getComponentURL(props.src), crossOrigin: 'anonymous' }),
31
+ React.createElement("link", { rel: 'preload', as: 'style', href: getStylesheetURL(props.src), crossOrigin: 'anonymous' }))),
32
+ React.createElement("feaas-component", { ...props, template: null, data: typeof data == 'string' ? data : data ? JSON.stringify(data) : null, dangerouslySetInnerHTML: { __html: html || '' } })));
18
33
  }
19
34
  export const Component = FEAASEmbed;
20
35
  //# sourceMappingURL=react.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"react.js","sourceRoot":"","sources":["../../src/ui/react.tsx"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,OAAO,EAAuB,oBAAoB,EAAE,MAAM,YAAY,CAAA;AACtE,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,CAAA;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAE7C,MAAM,UAAU,UAAU,CAAC,EAAE,IAAI,EAAE,GAAG,KAAK,EAA4B;IACrE,IAAI,UAAU,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE;QACzC,IAAI,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,CAAA;KACzD;IACD,IAAI,KAAK,IAAI,KAAK,EAAE;QAClB,KAAK,GAAG;YACN,GAAG,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC;YAClC,GAAG,KAAK;SACT,CAAA;KACF;IACD,OAAO,CACL,4CACM,KAAK,EACT,QAAQ,EAAE,IAAI,EACd,IAAI,EAAE,OAAO,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EACzE,uBAAuB,EAAE,EAAE,MAAM,EAAE,IAAI,IAAI,EAAE,EAAE,GAC/C,CACH,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CAAA"}
1
+ {"version":3,"file":"react.js","sourceRoot":"","sources":["../../src/ui/react.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAE7C,OAAO,EAAE,iBAAiB,EAAE,CAAA;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAE9B,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAAE,KAA+B,EAAE,EAAE;IACvE,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,KAAI,EAAE,CAAC,CAAA;IAEtD,MAAM,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,CAAA;IAEtB,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,WAAW,IAAI,CAAC,CAAC,IAAI,CAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,QAAQ,KAAI,IAAI,EAAE;QAC3D,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,CAAC,CAAC,CAAA;QAExC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAA;QAC9B,yCAAyC;KAC1C;IAED,OAAO,UAAU,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAA;AAChD,CAAC,CAAA;AAED,MAAM,UAAU,UAAU,CAAC,EAAE,IAAI,EAAE,GAAG,KAAK,EAAkE;IAC3G,IAAI,IAAI,GAAG,EAAE,CAAA;IACb,IAAI,OAAO,GAAG,IAAI,CAAA;IAElB,IAAI,UAAU,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE;QACzC,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,CAAA;KACrD;IAED,IAAI,KAAK,IAAI,KAAK,EAAE;QAClB,KAAK,GAAG,EAAE,GAAG,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,EAAE,CAAA;KACzD;IAED,OAAO,CACL;QACG,SAAS,IAAI,KAAK,IAAI,OAAO,KAAK,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,CAC3D;YACE,8BAAM,GAAG,EAAC,SAAS,EAAC,EAAE,EAAC,OAAO,EAAC,IAAI,EAAE,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,WAAW,EAAC,WAAW,GAAG;YAC3F,8BAAM,GAAG,EAAC,SAAS,EAAC,EAAE,EAAC,OAAO,EAAC,IAAI,EAAE,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,WAAW,EAAC,WAAW,GAAG,CAC3F,CACJ;QACD,4CACM,KAAK,EACT,QAAQ,EAAE,IAAI,EACd,IAAI,EAAE,OAAO,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EACzE,uBAAuB,EAAE,EAAE,MAAM,EAAE,IAAI,IAAI,EAAE,EAAE,GAC/C,CACD,CACJ,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CAAA"}
@@ -26,4 +26,19 @@ export function cleanCollectionBit(path) {
26
26
  export function normalizeCollectionScope(path) {
27
27
  return cleanCollectionBit(path) + '.*';
28
28
  }
29
+ export function getHumanizedLabel(path, maxBits = 2) {
30
+ var bits = cleanCollectionBit(path)
31
+ .split(/]\.|\.\*\./g)
32
+ .pop()
33
+ .split(/\./g)
34
+ .slice(-3);
35
+ bits = bits.filter((b) => isNaN(parseInt(b)));
36
+ return bits
37
+ .map((bit) => bit.charAt(0).toUpperCase() + bit.slice(1))
38
+ .slice(-maxBits)
39
+ .join(' ');
40
+ }
41
+ export function getLastPathBit(path) {
42
+ return cleanCollectionBit(path).split('.').pop();
43
+ }
29
44
  //# sourceMappingURL=datapath.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"datapath.js","sourceRoot":"","sources":["../../src/utils/datapath.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,SAAiB,EAAE,EAAE;;IAC9C,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,CAAC,aAAa,CAAC,0CAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IAChE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;IACpD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,SAAiB,EAAE,EAAE;;IAC9C,MAAM,IAAI,GAAG,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAClB,KAAK,CAAC,cAAc,CAAC,0CAAG,CAAC,EAC1B,KAAK,CAAC,UAAU,EAChB,MAAM,CAAC,OAAO,EACd,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACX,qBAAqB;QACrB,IAAI,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC;YAAE,OAAO,GAAG,CAAA;QACpC,SAAS;QACT,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;QACxC,OAAO,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACpG,CAAC,CAAC,CAAA;IACJ,IAAI,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,CAAC,OAAO,CAAC,CAAA;QAAE,OAAO,IAAI,CAAA;IACtC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACvB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,QAAgB,EAAE,EAAE,WAAC,OAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,CAAC,oBAAoB,CAAC,0CAAG,CAAC,CAAC,CAAA,EAAA,CAAA;AAE5F,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAA;AAClD,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,IAAY;IACnD,OAAO,kBAAkB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;AACxC,CAAC"}
1
+ {"version":3,"file":"datapath.js","sourceRoot":"","sources":["../../src/utils/datapath.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ export const isDataSettings = (data) => {
2
+ if (typeof data.url != 'string')
3
+ return false;
4
+ for (var property in data) {
5
+ if (property == 'body' ||
6
+ property == 'params' ||
7
+ property == 'headers' ||
8
+ property == 'url' ||
9
+ property === 'method' ||
10
+ (property == 'jsonpath' && typeof data[property] == 'string')) {
11
+ continue;
12
+ }
13
+ return false;
14
+ }
15
+ return true;
16
+ };
17
+ const performFetch = async (settings) => {
18
+ try {
19
+ const response = await fetch(settings.url, settings);
20
+ if (!response)
21
+ return {};
22
+ return await response.json();
23
+ }
24
+ catch (e) {
25
+ return {};
26
+ }
27
+ };
28
+ export async function fetchData(data) {
29
+ if (!data)
30
+ return data;
31
+ if (isDataSettings(data))
32
+ return performFetch(data);
33
+ const keys = Object.keys(data);
34
+ const allRequests = await Promise.all(keys.map((key) => (isDataSettings(data[key]) ? performFetch(data[key]) : null)).filter(Boolean));
35
+ return keys.reduce((obj, key) => ({
36
+ ...obj,
37
+ [key]: isDataSettings(data[key]) ? allRequests.shift() : data[key]
38
+ }), {});
39
+ }
40
+ //# sourceMappingURL=fetch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../src/utils/fetch.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAS,EAAwB,EAAE;IAChE,IAAI,OAAO,IAAI,CAAC,GAAG,IAAI,QAAQ;QAAE,OAAO,KAAK,CAAA;IAE7C,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;QACzB,IACE,QAAQ,IAAI,MAAM;YAClB,QAAQ,IAAI,QAAQ;YACpB,QAAQ,IAAI,SAAS;YACrB,QAAQ,IAAI,KAAK;YACjB,QAAQ,KAAK,QAAQ;YACrB,CAAC,QAAQ,IAAI,UAAU,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,EAC7D;YACA,SAAQ;SACT;QAED,OAAO,KAAK,CAAA;KACb;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,MAAM,YAAY,GAAG,KAAK,EACxB,QAEC,EACc,EAAE;IACjB,IAAI;QACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;QAEpD,IAAI,CAAC,QAAQ;YAAE,OAAO,EAAE,CAAA;QAExB,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;KAC7B;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,EAAE,CAAA;KACV;AACH,CAAC,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAA+D;IAC7F,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAA;IAEtB,IAAI,cAAc,CAAC,IAAI,CAAC;QAAE,OAAO,YAAY,CAAC,IAAI,CAAC,CAAA;IAEnD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAE9B,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,GAAG,CACnC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAsB,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CACnH,CAAA;IAED,OAAO,IAAI,CAAC,MAAM,CAChB,CAAC,GAAG,EAAE,GAAsB,EAAE,EAAE,CAAC,CAAC;QAChC,GAAG,GAAG;QACN,CAAC,GAAG,CAAC,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;KACnE,CAAC,EACF,EAAE,CACH,CAAA;AACH,CAAC"}
@@ -0,0 +1,60 @@
1
+ export function clean(settings) {
2
+ let cleanSettings = {};
3
+ const hasNoBody = (settings === null || settings === void 0 ? void 0 : settings.method) === 'GET' || (settings === null || settings === void 0 ? void 0 : settings.method) === 'HEAD' || Object.keys((settings === null || settings === void 0 ? void 0 : settings.body) || {}).length === 0;
4
+ const hasNoHeaders = settings.headers &&
5
+ (Object.keys(settings.headers).length === 0 ||
6
+ (Object.keys(settings.headers).length === 1 &&
7
+ (settings.headers['Content-type'] || settings.headers['Content-Type']) &&
8
+ (settings.headers['Content-type'] === 'application/json' ||
9
+ settings.headers['Content-Type'] === 'application/json')));
10
+ const hasNoParams = settings.params || Object.keys(settings.params || {}).length === 0;
11
+ if (settings.method && settings.method !== 'GET')
12
+ cleanSettings = { ...cleanSettings, method: settings.method };
13
+ if (settings.body && !hasNoBody)
14
+ cleanSettings = { ...cleanSettings, body: settings.body };
15
+ cleanSettings = {
16
+ ...cleanSettings,
17
+ headers: hasNoHeaders ? { 'Content-type': 'application/json' } : settings.headers
18
+ };
19
+ if (settings.params && !hasNoParams)
20
+ cleanSettings = { ...cleanSettings, params: settings.params };
21
+ return { ...cleanSettings, url: settings.url || '' };
22
+ }
23
+ export function toFetchArguments(settings) {
24
+ const normalized = normalize(settings);
25
+ let body = null;
26
+ const contentType = normalized.headers['Content-Type'] || normalized.headers['Content-type'];
27
+ const isJson = contentType === 'application/json';
28
+ const isForm = contentType === 'multipart/form-data';
29
+ const isUrlEncoded = contentType === 'application/x-www-form-urlencoded';
30
+ if (isJson)
31
+ body = JSON.stringify(normalized.body);
32
+ if (isForm)
33
+ body = Object.keys(normalized.body).reduce((form, key) => {
34
+ form.append(key, normalized.body[key]);
35
+ return form;
36
+ }, new FormData());
37
+ if (isUrlEncoded)
38
+ body = new URLSearchParams(normalized.body);
39
+ const params = Object.keys(normalized.params).length ? `?${new URLSearchParams(normalized.params)}` : '';
40
+ let url = `${normalized.url}${params}`;
41
+ let options = {};
42
+ if (body)
43
+ options.body = body;
44
+ if (Object.keys(normalized.headers).length)
45
+ options.headers = normalized.headers;
46
+ if (normalized.method !== 'GET')
47
+ options.method = normalized.method;
48
+ return [url, options];
49
+ }
50
+ export function normalize(settings) {
51
+ return {
52
+ params: (settings === null || settings === void 0 ? void 0 : settings.params) || {},
53
+ headers: (settings === null || settings === void 0 ? void 0 : settings.headers) || {},
54
+ jsonpath: (settings === null || settings === void 0 ? void 0 : settings.jsonpath) || '$',
55
+ method: (settings === null || settings === void 0 ? void 0 : settings.method) || 'GET',
56
+ body: (settings === null || settings === void 0 ? void 0 : settings.body) || {},
57
+ url: (settings === null || settings === void 0 ? void 0 : settings.url) || ''
58
+ };
59
+ }
60
+ //# sourceMappingURL=settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/utils/settings.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,KAAK,CAAC,QAAa;IACjC,IAAI,aAAa,GAAG,EAAE,CAAA;IAEtB,MAAM,SAAS,GACb,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,MAAK,KAAK,IAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,MAAK,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,KAAI,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,CAAA;IAE7G,MAAM,YAAY,GAChB,QAAQ,CAAC,OAAO;QAChB,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC;YACzC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC;gBACzC,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;gBACtE,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,kBAAkB;oBACtD,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,kBAAkB,CAAC,CAAC,CAAC,CAAA;IAElE,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,CAAA;IAEtF,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,KAAK;QAAE,aAAa,GAAG,EAAE,GAAG,aAAa,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAA;IAC/G,IAAI,QAAQ,CAAC,IAAI,IAAI,CAAC,SAAS;QAAE,aAAa,GAAG,EAAE,GAAG,aAAa,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAA;IAC1F,aAAa,GAAG;QACd,GAAG,aAAa;QAChB,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO;KAClF,CAAA;IACD,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,WAAW;QAAE,aAAa,GAAG,EAAE,GAAG,aAAa,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAA;IAElG,OAAO,EAAE,GAAG,aAAa,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,IAAI,EAAE,EAAE,CAAA;AACtD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,QAAc;IAC7C,MAAM,UAAU,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAA;IAEtC,IAAI,IAAI,GAAG,IAAI,CAAA;IAEf,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;IAE5F,MAAM,MAAM,GAAG,WAAW,KAAK,kBAAkB,CAAA;IACjD,MAAM,MAAM,GAAG,WAAW,KAAK,qBAAqB,CAAA;IACpD,MAAM,YAAY,GAAG,WAAW,KAAK,mCAAmC,CAAA;IAExE,IAAI,MAAM;QAAE,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;IAClD,IAAI,MAAM;QACR,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAS,EAAE,GAAG,EAAE,EAAE;YAC5D,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;YACtC,OAAO,IAAI,CAAA;QACb,CAAC,EAAE,IAAI,QAAQ,EAAE,CAAC,CAAA;IACpB,IAAI,YAAY;QAAE,IAAI,GAAG,IAAI,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;IAE7D,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAExG,IAAI,GAAG,GAAG,GAAG,UAAU,CAAC,GAAG,GAAG,MAAM,EAAE,CAAA;IAEtC,IAAI,OAAO,GAAQ,EAAE,CAAA;IAErB,IAAI,IAAI;QAAE,OAAO,CAAC,IAAI,GAAG,IAAI,CAAA;IAC7B,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM;QAAE,OAAO,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAA;IAChF,IAAI,UAAU,CAAC,MAAM,KAAK,KAAK;QAAE,OAAO,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;IAEnE,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;AACvB,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,QAAa;IACrC,OAAO;QACL,MAAM,EAAE,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,KAAI,EAAE;QAC9B,OAAO,EAAE,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,KAAI,EAAE;QAChC,QAAQ,EAAE,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,KAAI,GAAG;QACnC,MAAM,EAAE,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,KAAI,KAAK;QACjC,IAAI,EAAE,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,KAAI,EAAE;QAC1B,GAAG,EAAE,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,GAAG,KAAI,EAAE;KACzB,CAAA;AACH,CAAC"}