@genexus/genexus-ide-ui 0.0.40 → 0.0.42

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 (112) hide show
  1. package/dist/cjs/ch-icon.cjs.entry.js +116 -0
  2. package/dist/cjs/{form-validation-f8e709d0.js → common-facb7f18.js} +0 -19
  3. package/dist/cjs/constants-e63c0ad9.js +10 -0
  4. package/dist/cjs/form-validation-b7fb4ca8.js +21 -0
  5. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  6. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +137 -0
  7. package/dist/cjs/{gxg-date-picker.cjs.entry.js → gx-ide-entity-selector_2.cjs.entry.js} +81 -0
  8. package/dist/cjs/gx-ide-new-environment.cjs.entry.js +3 -2
  9. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +7 -6
  10. package/dist/cjs/gx-ide-object-selector.cjs.entry.js +30 -24
  11. package/dist/cjs/gx-ide-ww-images.cjs.entry.js +229 -0
  12. package/dist/cjs/{gxg-button.cjs.entry.js → gxg-button_2.cjs.entry.js} +61 -0
  13. package/dist/cjs/gxg-combo-box_2.cjs.entry.js +705 -0
  14. package/dist/cjs/gxg-form-checkbox-group.cjs.entry.js +91 -0
  15. package/dist/cjs/{gxg-form-checkbox-group_2.cjs.entry.js → gxg-form-radio.cjs.entry.js} +0 -85
  16. package/dist/cjs/gxg-list-box_2.cjs.entry.js +1 -6
  17. package/dist/cjs/{gxg-combo-box_6.cjs.entry.js → gxg-tab_4.cjs.entry.js} +1 -699
  18. package/dist/cjs/loader.cjs.js +1 -1
  19. package/dist/collection/collection-manifest.json +2 -0
  20. package/dist/collection/common/constants.js +6 -0
  21. package/dist/collection/components/create-kb-from-server/create-kb-from-server.css +162 -0
  22. package/dist/collection/components/create-kb-from-server/create-kb-from-server.js +302 -0
  23. package/dist/collection/components/create-kb-from-server/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.en.json +17 -0
  24. package/dist/collection/components/create-kb-from-server/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.ja.json +3 -0
  25. package/dist/collection/components/create-kb-from-server/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.zh.json +3 -0
  26. package/dist/collection/components/new-kb/new-kb.js +1 -1
  27. package/dist/collection/components/object-selector/gx-ide-assets/object-selector/langs/object-selector.lang.en.json +1 -1
  28. package/dist/collection/components/object-selector/object-selector.js +33 -26
  29. package/dist/collection/components/ww-images/gx-ide-assets/ww-images/langs/ww-images.lang.en.json +47 -0
  30. package/dist/collection/components/ww-images/gx-ide-assets/ww-images/langs/ww-images.lang.ja.json +3 -0
  31. package/dist/collection/components/ww-images/gx-ide-assets/ww-images/langs/ww-images.lang.zh.json +3 -0
  32. package/dist/collection/components/ww-images/ww-images.css +229 -0
  33. package/dist/collection/components/ww-images/ww-images.js +674 -0
  34. package/dist/collection/pages/assets/common.js +20 -0
  35. package/dist/components/combo-box.js +0 -1
  36. package/dist/components/common.js +46 -0
  37. package/dist/components/constants.js +8 -0
  38. package/dist/components/form-validation.js +1 -46
  39. package/dist/components/gx-ide-create-kb-from-server.d.ts +11 -0
  40. package/dist/components/gx-ide-create-kb-from-server.js +246 -0
  41. package/dist/components/gx-ide-new-environment.js +2 -1
  42. package/dist/components/gx-ide-new-kb.js +3 -2
  43. package/dist/components/gx-ide-object-selector.js +30 -24
  44. package/dist/components/gx-ide-ww-images.d.ts +11 -0
  45. package/dist/components/gx-ide-ww-images.js +421 -0
  46. package/dist/components/index.d.ts +2 -0
  47. package/dist/components/index.js +2 -0
  48. package/dist/components/list-box-item.js +0 -1
  49. package/dist/components/list-box.js +1 -5
  50. package/dist/esm/ch-icon.entry.js +112 -0
  51. package/dist/esm/{form-validation-cdb16431.js → common-a3df0966.js} +1 -19
  52. package/dist/esm/constants-7882d1a8.js +8 -0
  53. package/dist/esm/form-validation-09bd4504.js +19 -0
  54. package/dist/esm/genexus-ide-ui.js +1 -1
  55. package/dist/esm/gx-ide-create-kb-from-server.entry.js +133 -0
  56. package/dist/esm/{gxg-date-picker.entry.js → gx-ide-entity-selector_2.entry.js} +81 -1
  57. package/dist/esm/gx-ide-new-environment.entry.js +2 -1
  58. package/dist/esm/gx-ide-new-kb.entry.js +3 -2
  59. package/dist/esm/gx-ide-object-selector.entry.js +30 -24
  60. package/dist/esm/gx-ide-ww-images.entry.js +225 -0
  61. package/dist/esm/{gxg-button.entry.js → gxg-button_2.entry.js} +62 -2
  62. package/dist/esm/gxg-combo-box_2.entry.js +700 -0
  63. package/dist/esm/gxg-form-checkbox-group.entry.js +87 -0
  64. package/dist/esm/{gxg-form-checkbox-group_2.entry.js → gxg-form-radio.entry.js} +1 -85
  65. package/dist/esm/gxg-list-box_2.entry.js +1 -6
  66. package/dist/esm/{gxg-combo-box_6.entry.js → gxg-tab_4.entry.js} +3 -699
  67. package/dist/esm/loader.js +1 -1
  68. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  69. package/dist/genexus-ide-ui/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.en.json +17 -0
  70. package/dist/genexus-ide-ui/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.ja.json +3 -0
  71. package/dist/genexus-ide-ui/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.zh.json +3 -0
  72. package/dist/genexus-ide-ui/gx-ide-assets/object-selector/langs/object-selector.lang.en.json +1 -1
  73. package/dist/genexus-ide-ui/gx-ide-assets/ww-images/langs/ww-images.lang.en.json +47 -0
  74. package/dist/genexus-ide-ui/gx-ide-assets/ww-images/langs/ww-images.lang.ja.json +3 -0
  75. package/dist/genexus-ide-ui/gx-ide-assets/ww-images/langs/ww-images.lang.zh.json +3 -0
  76. package/dist/genexus-ide-ui/p-07e89cdd.entry.js +1 -0
  77. package/dist/genexus-ide-ui/p-35fc1102.entry.js +1 -0
  78. package/dist/genexus-ide-ui/p-44964acf.js +1 -0
  79. package/dist/genexus-ide-ui/p-4b7f7425.entry.js +1 -0
  80. package/dist/genexus-ide-ui/p-4d39c34a.entry.js +1 -0
  81. package/dist/genexus-ide-ui/p-5ad757f4.entry.js +1 -0
  82. package/dist/genexus-ide-ui/p-6010dc9d.js +1 -0
  83. package/dist/genexus-ide-ui/p-764ab316.entry.js +1 -0
  84. package/dist/genexus-ide-ui/p-7a83018d.entry.js +1 -0
  85. package/dist/genexus-ide-ui/p-7a90def4.entry.js +1 -0
  86. package/dist/genexus-ide-ui/p-8bf7f0e1.entry.js +1 -0
  87. package/dist/genexus-ide-ui/p-c6ad49cc.entry.js +1 -0
  88. package/dist/genexus-ide-ui/p-daf4eb69.js +1 -0
  89. package/dist/genexus-ide-ui/p-f305e4d3.entry.js +1 -0
  90. package/dist/genexus-ide-ui/p-f3a1dc7c.entry.js +1 -0
  91. package/dist/genexus-ide-ui/p-fcdcb919.entry.js +1 -0
  92. package/dist/types/common/constants.d.ts +6 -0
  93. package/dist/types/components/create-kb-from-server/create-kb-from-server.d.ts +90 -0
  94. package/dist/types/components/object-selector/object-selector.d.ts +5 -7
  95. package/dist/types/components/ww-images/ww-images.d.ts +191 -0
  96. package/dist/types/components.d.ts +271 -3
  97. package/package.json +3 -3
  98. package/dist/cjs/ch-icon_2.cjs.entry.js +0 -177
  99. package/dist/cjs/gx-ide-entity-selector.cjs.entry.js +0 -87
  100. package/dist/esm/ch-icon_2.entry.js +0 -172
  101. package/dist/esm/gx-ide-entity-selector.entry.js +0 -83
  102. package/dist/genexus-ide-ui/p-2ebd392f.entry.js +0 -1
  103. package/dist/genexus-ide-ui/p-34721f1c.entry.js +0 -1
  104. package/dist/genexus-ide-ui/p-5884a014.entry.js +0 -1
  105. package/dist/genexus-ide-ui/p-5c560dd0.entry.js +0 -1
  106. package/dist/genexus-ide-ui/p-7285d245.entry.js +0 -1
  107. package/dist/genexus-ide-ui/p-a708db45.entry.js +0 -1
  108. package/dist/genexus-ide-ui/p-ad03b1e0.entry.js +0 -1
  109. package/dist/genexus-ide-ui/p-c304345f.entry.js +0 -1
  110. package/dist/genexus-ide-ui/p-c38c6957.entry.js +0 -1
  111. package/dist/genexus-ide-ui/p-db945a17.js +0 -1
  112. package/dist/genexus-ide-ui/p-e1fea866.entry.js +0 -1
@@ -0,0 +1,421 @@
1
+ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
+ import { L as Locale } from './locale.js';
3
+ import { r as renderFormItems } from './common.js';
4
+ import { F as FILTER_AFTER } from './constants.js';
5
+ import { d as defineCustomElement$q } from './ch-grid2.js';
6
+ import { d as defineCustomElement$p } from './ch-grid-column2.js';
7
+ import { d as defineCustomElement$o } from './ch-grid-column-resize2.js';
8
+ import { d as defineCustomElement$n } from './ch-grid-column-settings2.js';
9
+ import { d as defineCustomElement$m } from './ch-grid-columnset2.js';
10
+ import { d as defineCustomElement$l } from './ch-grid-settings2.js';
11
+ import { d as defineCustomElement$k } from './ch-grid-settings-columns2.js';
12
+ import { d as defineCustomElement$j } from './icon.js';
13
+ import { d as defineCustomElement$i } from './ch-window2.js';
14
+ import { d as defineCustomElement$h } from './ch-window-close2.js';
15
+ import { d as defineCustomElement$g } from './entity-selector.js';
16
+ import { d as defineCustomElement$f } from './button.js';
17
+ import { d as defineCustomElement$e } from './combo-box.js';
18
+ import { d as defineCustomElement$d } from './combo-box-item.js';
19
+ import { d as defineCustomElement$c } from './container2.js';
20
+ import { d as defineCustomElement$b } from './date-picker.js';
21
+ import { d as defineCustomElement$a } from './form-checkbox.js';
22
+ import { d as defineCustomElement$9 } from './form-radio.js';
23
+ import { d as defineCustomElement$8 } from './form-text.js';
24
+ import { d as defineCustomElement$7 } from './gxg-grid2.js';
25
+ import { d as defineCustomElement$6 } from './icon2.js';
26
+ import { d as defineCustomElement$5 } from './gxg-label2.js';
27
+ import { d as defineCustomElement$4 } from './text.js';
28
+ import { d as defineCustomElement$3 } from './title.js';
29
+ import { d as defineCustomElement$2 } from './tooltip.js';
30
+
31
+ const wwImagesCss = ".gxi-hidden{display:none !important}.gxi-full-height{height:100%}.align-start{display:flex;align-items:start}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.grid{display:grid;grid-row-gap:var(--gx-ide-grid-row-gap);grid-column-gap:var(--gx-ide-grid-column-gap);grid-template-rows:auto}ch-grid-cell{display:flex}:host(.gx-ide-component){box-shadow:var(--box-shadow-01) !important;height:100% !important;display:flex !important;flex-direction:column !important}:host(:focus-within) gx-ide-top-bar::part(wrapper){background-color:var(--color-secondary-enabled)}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--font-weight-regular);font-size:var(--font-size-lg);line-height:1.6em;height:100%;background-color:var(--gx-ide-component-background-color);display:flex;flex-direction:column;flex-grow:1}.gx-ide-main{flex-grow:1;overflow-y:auto;}.gx-ide-main::-webkit-scrollbar{width:6px;height:6px}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gray-02);border-radius:10px}.gx-ide-main::-webkit-scrollbar-thumb{background:var(--gray-05);border-radius:10px}.gx-ide-main::-webkit-scrollbar-thumb:hover{background:var(--gray-04);cursor:pointer}.gx-ide-main .gxg-scroll{display:block;overflow-y:auto;padding-inline-end:2px}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:6px;height:6px}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gray-02);border-radius:10px}.gx-ide-overflow::-webkit-scrollbar-thumb{background:var(--gray-05);border-radius:10px}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background:var(--gray-04);cursor:pointer}.gx-ide-overflow .gxg-scroll{display:block;overflow-y:auto;padding-inline-end:2px}:host{display:block;border:1px solid var(--gxg-border-color--regular);background-color:var(--color-background)}:host(.gxi-object-selector--shadow){border:none;box-shadow:var(--box-shadow-01)}.filter-grid{grid-template-columns:repeat(4, 1fr)}.filter-grid>:nth-child(3),.filter-grid>:nth-child(6){display:flex;flex-direction:row;align-items:flex-end}.filter-grid>:nth-child(4){grid-area:2/1/3/4}.filter-grid>:nth-child(5){grid-area:3/1/4/2}.filter-grid>:nth-child(6){grid-area:3/4/4/5}.filter-grid>:nth-child(7){grid-area:4/1/5/4}.filter-grid>:nth-child(8){grid-area:5/1/6/2}.filter-grid>:nth-child(9){grid-area:5/2/6/3}.filter-grid>:nth-child(10){grid-area:5/3/6/4}.filter-grid>:nth-child(11){grid-area:5/4/6/5}.flex{display:flex;flex-direction:row;align-items:center}.with-gap{gap:var(--gx-ide-grid-row-gap)}.hide{display:none !important}.images-grid{grid-template-columns:repeat(3, 1fr);grid-column-gap:0}.images-grid>:nth-child(1){grid-area:1/1/1/3}.images-data-flex{display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--gx-ide-grid-row-gap);text-overflow:ellipsis;overflow:hidden}.images-data-flex .image-item{display:flex;flex-direction:column;justify-content:space-between;align-items:center;width:120px}.images-data-flex .image-item .img{width:50px;height:50px;display:flex;align-items:center;justify-content:center;border:1px solid var(--gxg-border-color--regular);padding:var(--gx-ide-grid-row-gap)}.images-data-flex .image-item .img img{max-width:100%;max-height:100%}.objects-count{grid-template-columns:repeat(2, 1fr)}.objects-count *:nth-child(2){justify-content:flex-end;align-items:flex-start}";
32
+
33
+ const GxIdeWWImages = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
34
+ constructor() {
35
+ super();
36
+ this.__registerHost();
37
+ this.__attachShadow();
38
+ this.componentDidLoadEvent = createEvent(this, "componentDidLoadEvent", 7);
39
+ // 9.LOCAL METHODS //
40
+ // Renders
41
+ this.renderFilter = () => {
42
+ var _a, _b, _c, _d, _e;
43
+ return (h("gxg-container", { fieldset: true, displayBorder: true, containerTitle: this._componentLocale.filter.title, part: "filters-container" }, h("div", { class: "grid filter-grid" }, h("gxg-form-text", { "label-position": "above", label: this._componentLocale.filter.name, ref: (el) => (this.filterNameEl = el), part: "filter-name" }), h("gx-ide-entity-selector", { label: this._componentLocale.filter.moduleFolder, "label-position": "above", value: this.defaultModule, defaultValue: this.defaultModule, selectEntityCallback: this.selectModuleCallback, ref: (el) => (this.filterModuleEl = el), part: "filter-module-folder" }), h("div", null, h("gxg-button", { id: "button-more-less", type: "primary-text-only", onClick: this.showMoreFilter, part: "gxg-button gxg-button--more-less" }, this.filterMore
44
+ ? this._componentLocale.filter.btnLess
45
+ : this._componentLocale.filter.btnMore)), h("gxg-form-text", { class: { hide: !this.filterMore }, "label-position": "above", label: this._componentLocale.filter.search, ref: (el) => (this.filterSearchContentsEl = el), part: "filter-search" }), h("gxg-combo-box", { class: { hide: !this.filterMore }, "disable-filter": true, label: this._componentLocale.filter.category, value: this.defaultCategory, disabled: !this.categories, ref: (el) => (this.filterCategoryEl = el), part: "filter-category" }, renderFormItems("gxg-combo-box-item", (_a = this.categories) !== null && _a !== void 0 ? _a : [])), h("div", { class: { hide: !this.filterMore } }, h("gxg-form-checkbox", { label: this._componentLocale.filter.allDescendants, class: "align-center", ref: (el) => (this.filterAllDescendantsEl = el), part: "filter-all-descendants" })), h("div", { class: {
46
+ "flex": true,
47
+ "with-gap": true,
48
+ "hide": !this.filterMore
49
+ } }, h("gxg-form-checkbox", { label: this._componentLocale.filter.modified, class: "align-center", ref: (el) => (this.filterModifiedEl = el), part: "filter-modified" }), h("gxg-combo-box", { class: { hide: !this.filterModified }, "disable-filter": true, value: this.filterAfterType, ref: (el) => (this.filterAfterTypeEl = el), part: "filter-after-type" }, renderFormItems("gxg-combo-box-item", [
50
+ {
51
+ id: FILTER_AFTER.NONE,
52
+ label: this._componentLocale.filter.afterNone,
53
+ value: FILTER_AFTER.NONE
54
+ },
55
+ {
56
+ id: FILTER_AFTER.DATE_TIME,
57
+ label: this._componentLocale.filter[FILTER_AFTER.DATE_TIME],
58
+ value: FILTER_AFTER.DATE_TIME
59
+ },
60
+ {
61
+ id: FILTER_AFTER.IMPORT,
62
+ label: this._componentLocale.filter[FILTER_AFTER.IMPORT],
63
+ value: FILTER_AFTER.IMPORT
64
+ },
65
+ {
66
+ id: FILTER_AFTER.LAST_BUILD,
67
+ label: this._componentLocale.filter[FILTER_AFTER.LAST_BUILD],
68
+ value: FILTER_AFTER.LAST_BUILD
69
+ }
70
+ ])), h("gxg-form-text", { class: { hide: !this.filterModified }, "label-position": "start", label: this._componentLocale.filter.user, "max-width": "150px", ref: (el) => (this.filterUserEl = el), part: "filter-user" }), h("div", { class: {
71
+ flex: true,
72
+ hide: !this.filterModified ||
73
+ this.filterAfterType !== FILTER_AFTER.DATE_TIME
74
+ }, part: "filter-datetime" }, h("gxg-label", { "label-position": "start" }, this._componentLocale.filter.dateTime), h("gxg-date-picker", { ref: (el) => (this.filterModifiedDateEl = el) }))), h("gxg-combo-box", { class: { hide: !this.filterMore }, "disable-filter": true, label: this._componentLocale.filter.style, disabled: !this.styles, ref: (el) => (this.filterStyleEl = el), part: "filter-style" }, renderFormItems("gxg-combo-box-item", (_b = this.styles) !== null && _b !== void 0 ? _b : [])), h("gxg-combo-box", { class: { hide: !this.filterMore }, "disable-filter": true, label: this._componentLocale.filter.language, disabled: !this.languages, ref: (el) => (this.filterLanguageEl = el), part: "filter-language" }, renderFormItems("gxg-combo-box-item", (_c = this.languages) !== null && _c !== void 0 ? _c : [])), h("gxg-combo-box", { class: { hide: !this.filterMore }, "disable-filter": true, label: this._componentLocale.filter.density, disabled: !this.densities, ref: (el) => (this.filterDensityEl = el), part: "filter-density" }, renderFormItems("gxg-combo-box-item", (_d = this.densities) !== null && _d !== void 0 ? _d : [])), h("gxg-combo-box", { class: { hide: !this.filterMore }, "disable-filter": true, label: this._componentLocale.filter.layer, disabled: !this.layers, ref: (el) => (this.filterLayerEl = el), part: "filter-layer" }, renderFormItems("gxg-combo-box-item", (_e = this.layers) !== null && _e !== void 0 ? _e : [])))));
75
+ };
76
+ this.renderImages = () => {
77
+ return (h("gxg-grid", { part: "images-table" }, h("ch-grid", { "row-selection-mode": "multiple", ref: (el) => (this.chGridEl = el), part: "ch-grid-images" }, h("ch-grid-columnset", null, h("ch-grid-column", { columnName: "", columnNamePosition: "text", settingable: false }), h("ch-grid-column", { columnName: this._componentLocale.tableHead.name, columnNamePosition: "text", settingable: false }), h("ch-grid-column", { columnName: this._componentLocale.tableHead.module, columnNamePosition: "text", settingable: false }), h("ch-grid-column", { columnName: this._componentLocale.tableHead.description, columnNamePosition: "text", settingable: false }), h("ch-grid-column", { columnName: this._componentLocale.tableHead.modifiedDate, columnNamePosition: "text", settingable: false }), h("ch-grid-column", { columnName: this._componentLocale.tableHead.lastUser, columnNamePosition: "text", settingable: false }), h("ch-grid-column", { columnName: this._componentLocale.tableHead.importDate, columnNamePosition: "text", settingable: false }), h("ch-grid-column", { columnName: this._componentLocale.tableHead.lastBuildDate, columnNamePosition: "text", settingable: false })), this.images.map((obj) => (h("ch-grid-row", { rowid: obj.id }, h("ch-grid-cell", null, h("gxg-icon", { type: obj.icon })), h("ch-grid-cell", null, " ", obj.name, " "), h("ch-grid-cell", null, " ", obj.module, " "), h("ch-grid-cell", null, " ", obj.description, " "), h("ch-grid-cell", null, `${obj.modifiedDate.toISOString().slice(0, 10)}`), h("ch-grid-cell", null, " ", obj.lastUser, " "), h("ch-grid-cell", null, `${obj.importDate.toISOString().slice(0, 10)}`), h("ch-grid-cell", null, `${obj.lastBuildDate.toISOString().slice(0, 10)}`)))))));
78
+ };
79
+ this.renderImageData = () => {
80
+ return (h("gxg-container", { fieldset: true, displayBorder: true, containerTitle: this._componentLocale.imageDataTitle, part: "image-data-container" }, h("div", { class: "grid images-data-flex" }, this.imagesSelectedItems.map(item => (h("div", { class: "image-item" }, h("div", { class: "img" }, h("img", { src: item.url, alt: item.id })), h("gxg-text", { type: "text-regular" }, item.name)))))));
81
+ };
82
+ this.getImages = () => {
83
+ let filters = {
84
+ name: this.filterNameEl.value,
85
+ parent: this.filterModuleEl.value ? this.filterModuleEl.value.id : null
86
+ };
87
+ if (this.filterMore) {
88
+ const modified = this.filterModifiedEl.checked;
89
+ const modifiedAfter = this.filterAfterTypeEl.value;
90
+ filters = Object.assign(Object.assign({}, filters), { searchContents: this.filterSearchContentsEl.value, category: this.filterCategoryEl.value, allDescendants: this.filterAllDescendantsEl.checked, modifiedAfter: modified ? modifiedAfter : null, modifiedBy: modified ? this.filterUserEl.value : null, modifiedDate: modified && modifiedAfter === FILTER_AFTER.DATE_TIME
91
+ ? this.filterModifiedDateEl.value
92
+ : null, style: this.filterStyleEl.value, language: this.filterLanguageEl.value, density: this.filterDensityEl.value, layer: this.filterLayerEl.value });
93
+ }
94
+ this.loadCallback(filters).then((items) => {
95
+ this.images = items;
96
+ this.selectedObjectsIds = [];
97
+ this.deselectAll();
98
+ });
99
+ };
100
+ this.newObjectCallbackHandle = () => {
101
+ this.newObjectCallback();
102
+ };
103
+ this.openSelectionCallBackHandle = () => {
104
+ this.openSelectionCallback(this.selectedObjectsIds);
105
+ };
106
+ this.deleteSelectionCallbackHandle = () => {
107
+ this.deleteSelectionCallback(this.selectedObjectsIds);
108
+ };
109
+ this.contextMenuCallbackHandle = () => {
110
+ this.contextMenuCallback(this.selectedObjectsIds);
111
+ };
112
+ this.showMoreFilter = () => {
113
+ this.filterMore = !this.filterMore;
114
+ };
115
+ this.selectAll = () => {
116
+ this.chGridEl.selectAllRows();
117
+ };
118
+ this.deselectAll = () => {
119
+ this.chGridEl.selectAllRows(false);
120
+ };
121
+ this.listenChanges = () => {
122
+ this.filterNameEl.addEventListener("change", () => {
123
+ this.getImages();
124
+ });
125
+ this.filterSearchContentsEl.addEventListener("change", () => {
126
+ this.getImages();
127
+ });
128
+ this.filterAllDescendantsEl.addEventListener("change", () => {
129
+ this.getImages();
130
+ });
131
+ this.filterModifiedEl.addEventListener("change", (e) => {
132
+ this.filterModified = e.detail.value;
133
+ this.getImages();
134
+ });
135
+ this.filterUserEl.addEventListener("change", () => {
136
+ this.getImages();
137
+ });
138
+ this.filterCategoryEl.addEventListener("valueChanged", () => {
139
+ this.getImages();
140
+ });
141
+ this.filterModuleEl.addEventListener("valueChanged", () => {
142
+ this.getImages();
143
+ });
144
+ this.filterAfterTypeEl.addEventListener("valueChanged", () => {
145
+ this.filterAfterType = this.filterAfterTypeEl.value;
146
+ this.getImages();
147
+ });
148
+ // for grid selection
149
+ this.chGridEl.addEventListener("rowClicked", (ev) => {
150
+ this.loadImageItemsCallback(ev.detail.rowId).then((items) => {
151
+ this.imagesSelectedItems = items;
152
+ });
153
+ });
154
+ this.chGridEl.addEventListener("rowDoubleClicked", () => {
155
+ this.openSelectionCallBackHandle();
156
+ });
157
+ this.chGridEl.addEventListener("selectionChanged", (ev) => {
158
+ this.selectedObjectsIds = ev.detail.rowsId;
159
+ this.selectionObjectChangeCallback(this.selectedObjectsIds);
160
+ });
161
+ this.chGridEl.addEventListener("contextmenu", (ev) => {
162
+ ev.preventDefault();
163
+ ev.stopPropagation();
164
+ this.contextMenuCallbackHandle();
165
+ });
166
+ };
167
+ this.filterAfterType = "";
168
+ this.filterModified = false;
169
+ this.filterMore = false;
170
+ this.images = [];
171
+ this.imagesSelectedItems = [];
172
+ this.selectedObjectsIds = [];
173
+ this.categories = undefined;
174
+ this.densities = undefined;
175
+ this.defaultCategory = undefined;
176
+ this.defaultModule = undefined;
177
+ this.defaultType = undefined;
178
+ this.filterModules = undefined;
179
+ this.languages = undefined;
180
+ this.layers = undefined;
181
+ this.contextMenuCallback = undefined;
182
+ this.deleteSelectionCallback = undefined;
183
+ this.loadCallback = undefined;
184
+ this.loadImageItemsCallback = undefined;
185
+ this.newObjectCallback = undefined;
186
+ this.openSelectionCallback = undefined;
187
+ this.selectModuleCallback = undefined;
188
+ this.selectionObjectChangeCallback = undefined;
189
+ this.shadow = false;
190
+ this.styles = undefined;
191
+ this.types = undefined;
192
+ }
193
+ // 6.COMPONENT LIFECYCLE EVENTS //
194
+ async componentWillLoad() {
195
+ this._componentLocale = await Locale.getComponentStrings(this.el);
196
+ this.componentDidLoadEvent.emit(true);
197
+ }
198
+ componentDidLoad() {
199
+ this.listenChanges();
200
+ this.getImages();
201
+ }
202
+ // 7.LISTENERS //
203
+ keyDownHandler(eventInfo) {
204
+ if (document.activeElement === this.el) {
205
+ switch (eventInfo.key) {
206
+ case "Enter":
207
+ this.openSelectionCallBackHandle();
208
+ break;
209
+ case "Delete":
210
+ this.deleteSelectionCallbackHandle();
211
+ break;
212
+ }
213
+ }
214
+ }
215
+ // 8.PUBLIC METHODS API //
216
+ /**
217
+ * Validate necessary data input
218
+ */
219
+ async validate() {
220
+ const isValid = true;
221
+ return isValid;
222
+ }
223
+ /**
224
+ * This method reload the view, refreshing the filters and the table of images.
225
+ */
226
+ async reload() {
227
+ this.filterUserEl.value = null;
228
+ this.filterAfterTypeEl.value = null;
229
+ this.filterAfterType = null;
230
+ this.filterModifiedEl.checked = false;
231
+ this.filterAllDescendantsEl.checked = false;
232
+ this.filterModuleEl.value = null;
233
+ this.filterCategoryEl.value = null;
234
+ this.filterSearchContentsEl.value = null;
235
+ this.filterNameEl.value = null;
236
+ this.filterStyleEl.value = null;
237
+ this.filterLanguageEl.value = null;
238
+ this.filterDensityEl.value = null;
239
+ this.filterLayerEl.value = null;
240
+ this.filterMore = false;
241
+ this.getImages();
242
+ }
243
+ // 10.RENDER() FUNCTION //
244
+ render() {
245
+ return (h(Host, { class: "gx-ide-component" }, h("div", { class: "gx-ide-main-wrapper gx-ide-overflow" }, this.renderFilter(), h("gxg-container", null, h("div", { class: "grid images-grid" }, this.renderImages(), this.renderImageData())), h("gxg-container", null, h("div", { class: "grid objects-count" }, h("div", { class: "flex with-gap" }, h("gxg-button", { id: "button-select-all", type: "primary-text-only", onClick: this.selectAll, part: "gxg-button gxg-button--select-all" }, this._componentLocale.footer.btnSelectAll), h("gxg-button", { id: "button-new-file", type: "primary-text-only", onClick: this.newObjectCallbackHandle, part: "gxg-button gxg-button--new-file" }, this._componentLocale.footer.btnNew)), h("gxg-text", { class: "align-end", part: "objects-matching" }, `${this.images.length} ${this._componentLocale.objCount.matching}`))))));
246
+ }
247
+ static get assetsDirs() { return ["gx-ide-assets/ww-images"]; }
248
+ get el() { return this; }
249
+ static get style() { return wwImagesCss; }
250
+ }, [1, "gx-ide-ww-images", {
251
+ "categories": [16],
252
+ "densities": [16],
253
+ "defaultCategory": [1, "default-category"],
254
+ "defaultModule": [16],
255
+ "defaultType": [1, "default-type"],
256
+ "filterModules": [16],
257
+ "languages": [16],
258
+ "layers": [16],
259
+ "contextMenuCallback": [16],
260
+ "deleteSelectionCallback": [16],
261
+ "loadCallback": [16],
262
+ "loadImageItemsCallback": [16],
263
+ "newObjectCallback": [16],
264
+ "openSelectionCallback": [16],
265
+ "selectModuleCallback": [16],
266
+ "selectionObjectChangeCallback": [16],
267
+ "shadow": [4],
268
+ "styles": [16],
269
+ "types": [16],
270
+ "filterAfterType": [32],
271
+ "filterModified": [32],
272
+ "filterMore": [32],
273
+ "images": [32],
274
+ "imagesSelectedItems": [32],
275
+ "selectedObjectsIds": [32],
276
+ "validate": [64],
277
+ "reload": [64]
278
+ }, [[1, "keydown", "keyDownHandler"]]]);
279
+ function defineCustomElement$1() {
280
+ if (typeof customElements === "undefined") {
281
+ return;
282
+ }
283
+ const components = ["gx-ide-ww-images", "ch-grid", "ch-grid-column", "ch-grid-column-resize", "ch-grid-column-settings", "ch-grid-columnset", "ch-grid-settings", "ch-grid-settings-columns", "ch-icon", "ch-window", "ch-window-close", "gx-ide-entity-selector", "gxg-button", "gxg-combo-box", "gxg-combo-box-item", "gxg-container", "gxg-date-picker", "gxg-form-checkbox", "gxg-form-radio", "gxg-form-text", "gxg-grid", "gxg-icon", "gxg-label", "gxg-text", "gxg-title", "gxg-tooltip"];
284
+ components.forEach(tagName => { switch (tagName) {
285
+ case "gx-ide-ww-images":
286
+ if (!customElements.get(tagName)) {
287
+ customElements.define(tagName, GxIdeWWImages);
288
+ }
289
+ break;
290
+ case "ch-grid":
291
+ if (!customElements.get(tagName)) {
292
+ defineCustomElement$q();
293
+ }
294
+ break;
295
+ case "ch-grid-column":
296
+ if (!customElements.get(tagName)) {
297
+ defineCustomElement$p();
298
+ }
299
+ break;
300
+ case "ch-grid-column-resize":
301
+ if (!customElements.get(tagName)) {
302
+ defineCustomElement$o();
303
+ }
304
+ break;
305
+ case "ch-grid-column-settings":
306
+ if (!customElements.get(tagName)) {
307
+ defineCustomElement$n();
308
+ }
309
+ break;
310
+ case "ch-grid-columnset":
311
+ if (!customElements.get(tagName)) {
312
+ defineCustomElement$m();
313
+ }
314
+ break;
315
+ case "ch-grid-settings":
316
+ if (!customElements.get(tagName)) {
317
+ defineCustomElement$l();
318
+ }
319
+ break;
320
+ case "ch-grid-settings-columns":
321
+ if (!customElements.get(tagName)) {
322
+ defineCustomElement$k();
323
+ }
324
+ break;
325
+ case "ch-icon":
326
+ if (!customElements.get(tagName)) {
327
+ defineCustomElement$j();
328
+ }
329
+ break;
330
+ case "ch-window":
331
+ if (!customElements.get(tagName)) {
332
+ defineCustomElement$i();
333
+ }
334
+ break;
335
+ case "ch-window-close":
336
+ if (!customElements.get(tagName)) {
337
+ defineCustomElement$h();
338
+ }
339
+ break;
340
+ case "gx-ide-entity-selector":
341
+ if (!customElements.get(tagName)) {
342
+ defineCustomElement$g();
343
+ }
344
+ break;
345
+ case "gxg-button":
346
+ if (!customElements.get(tagName)) {
347
+ defineCustomElement$f();
348
+ }
349
+ break;
350
+ case "gxg-combo-box":
351
+ if (!customElements.get(tagName)) {
352
+ defineCustomElement$e();
353
+ }
354
+ break;
355
+ case "gxg-combo-box-item":
356
+ if (!customElements.get(tagName)) {
357
+ defineCustomElement$d();
358
+ }
359
+ break;
360
+ case "gxg-container":
361
+ if (!customElements.get(tagName)) {
362
+ defineCustomElement$c();
363
+ }
364
+ break;
365
+ case "gxg-date-picker":
366
+ if (!customElements.get(tagName)) {
367
+ defineCustomElement$b();
368
+ }
369
+ break;
370
+ case "gxg-form-checkbox":
371
+ if (!customElements.get(tagName)) {
372
+ defineCustomElement$a();
373
+ }
374
+ break;
375
+ case "gxg-form-radio":
376
+ if (!customElements.get(tagName)) {
377
+ defineCustomElement$9();
378
+ }
379
+ break;
380
+ case "gxg-form-text":
381
+ if (!customElements.get(tagName)) {
382
+ defineCustomElement$8();
383
+ }
384
+ break;
385
+ case "gxg-grid":
386
+ if (!customElements.get(tagName)) {
387
+ defineCustomElement$7();
388
+ }
389
+ break;
390
+ case "gxg-icon":
391
+ if (!customElements.get(tagName)) {
392
+ defineCustomElement$6();
393
+ }
394
+ break;
395
+ case "gxg-label":
396
+ if (!customElements.get(tagName)) {
397
+ defineCustomElement$5();
398
+ }
399
+ break;
400
+ case "gxg-text":
401
+ if (!customElements.get(tagName)) {
402
+ defineCustomElement$4();
403
+ }
404
+ break;
405
+ case "gxg-title":
406
+ if (!customElements.get(tagName)) {
407
+ defineCustomElement$3();
408
+ }
409
+ break;
410
+ case "gxg-tooltip":
411
+ if (!customElements.get(tagName)) {
412
+ defineCustomElement$2();
413
+ }
414
+ break;
415
+ } });
416
+ }
417
+
418
+ const GxIdeWwImages = GxIdeWWImages;
419
+ const defineCustomElement = defineCustomElement$1;
420
+
421
+ export { GxIdeWwImages, defineCustomElement };
@@ -1,5 +1,6 @@
1
1
  /* GenexusIdeUi custom elements */
2
2
  export { GxIdeContainer as GxIdeContainer } from '../types/components/container/container';
3
+ export { GxIdeCreateKbFromServer as GxIdeCreateKbFromServer } from '../types/components/create-kb-from-server/create-kb-from-server';
3
4
  export { GxIdeDirectorySelector as GxIdeDirectorySelector } from '../types/components/directory-selector/directory-selector';
4
5
  export { GxIdeEntitySelector as GxIdeEntitySelector } from '../types/components/entity-selector/entity-selector';
5
6
  export { GxIdeListSelector as GxIdeListSelector } from '../types/components/list-selector/list-selector';
@@ -17,6 +18,7 @@ export { GxIdeTeamDevUpdateToRevision as GxIdeTeamDevUpdateToRevision } from '..
17
18
  export { GxIdeTemplate as GxIdeTemplate } from '../types/components/_template/template';
18
19
  export { GxIdeTest as GxIdeTest } from '../types/components/_test/test';
19
20
  export { GxIdeTopBar as GxIdeTopBar } from '../types/components/top-bar/top-bar';
21
+ export { GxIdeWWImages as GxIdeWwImages } from '../types/components/ww-images/ww-images';
20
22
 
21
23
  /**
22
24
  * Used to manually set the base path where assets can be found.
@@ -61,6 +61,7 @@ export { ChWindowClose, defineCustomElement as defineCustomElementChWindowClose
61
61
  export { GxGridChameleon, defineCustomElement as defineCustomElementGxGridChameleon } from './gx-grid-chameleon.js';
62
62
  export { GxGridChameleonColumnFilter, defineCustomElement as defineCustomElementGxGridChameleonColumnFilter } from './gx-grid-chameleon-column-filter.js';
63
63
  export { GxIdeContainer, defineCustomElement as defineCustomElementGxIdeContainer } from './gx-ide-container.js';
64
+ export { GxIdeCreateKbFromServer, defineCustomElement as defineCustomElementGxIdeCreateKbFromServer } from './gx-ide-create-kb-from-server.js';
64
65
  export { GxIdeDirectorySelector, defineCustomElement as defineCustomElementGxIdeDirectorySelector } from './gx-ide-directory-selector.js';
65
66
  export { GxIdeEntitySelector, defineCustomElement as defineCustomElementGxIdeEntitySelector } from './gx-ide-entity-selector.js';
66
67
  export { GxIdeListSelector, defineCustomElement as defineCustomElementGxIdeListSelector } from './gx-ide-list-selector.js';
@@ -78,6 +79,7 @@ export { GxIdeTeamDevUpdateToRevision, defineCustomElement as defineCustomElemen
78
79
  export { GxIdeTemplate, defineCustomElement as defineCustomElementGxIdeTemplate } from './gx-ide-template.js';
79
80
  export { GxIdeTest, defineCustomElement as defineCustomElementGxIdeTest } from './gx-ide-test.js';
80
81
  export { GxIdeTopBar, defineCustomElement as defineCustomElementGxIdeTopBar } from './gx-ide-top-bar.js';
82
+ export { GxIdeWwImages, defineCustomElement as defineCustomElementGxIdeWwImages } from './gx-ide-ww-images.js';
81
83
  export { GxgAccordion, defineCustomElement as defineCustomElementGxgAccordion } from './gxg-accordion.js';
82
84
  export { GxgAccordionItem, defineCustomElement as defineCustomElementGxgAccordionItem } from './gxg-accordion-item.js';
83
85
  export { GxgAlert, defineCustomElement as defineCustomElementGxgAlert } from './gxg-alert.js';
@@ -112,7 +112,6 @@ const GxgListboxItem = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
112
112
  }
113
113
  itemClickedFunc(e) {
114
114
  const index = this.getIndex();
115
- //console.log("index", index);
116
115
  this.itemClicked.emit({
117
116
  clickedItem: this.el,
118
117
  ctrlKey: e.ctrlKey,
@@ -79,7 +79,6 @@ const GxgListBox = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
79
79
  */
80
80
  this.userUsedKeyboard = false;
81
81
  this.headerHeight = 0;
82
- this.firstChange = true;
83
82
  /*********************************
84
83
  PROPERTIES FOR VALIDATION
85
84
  *********************************/
@@ -363,10 +362,7 @@ const GxgListBox = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
363
362
  this.setActiveItem(clickedItem);
364
363
  }
365
364
  selectedItemsHandler(newArray) {
366
- if (!this.firstChange) {
367
- this.selectionChanged.emit({ items: newArray });
368
- }
369
- this.firstChange = false;
365
+ this.selectionChanged.emit({ items: newArray });
370
366
  }
371
367
  checkedItemsHandler(newArray) {
372
368
  this.checkedChanged.emit(newArray);
@@ -0,0 +1,112 @@
1
+ import { r as registerInstance, h, g as getElement } from './index-0da01575.js';
2
+
3
+ const iconContent = new Map();
4
+ const requests = new Map();
5
+ function getSvgContent(url) {
6
+ // see if we already have a request for this url
7
+ let request = requests.get(url);
8
+ if (!request) {
9
+ // we don't already have a request
10
+ request = fetch(url).then(response => {
11
+ if (response.ok) {
12
+ return response.text().then(svgContent => {
13
+ iconContent.set(url, svgContent);
14
+ return svgContent;
15
+ });
16
+ }
17
+ iconContent.set(url, "");
18
+ });
19
+ // cache for the same requests
20
+ requests.set(url, request);
21
+ }
22
+ return request;
23
+ }
24
+
25
+ const iconCss = ":host(:not([auto-color])){}:host(:not([auto-color])) svg *{fill:var(--icon-color) !important}:host(:not([auto-color])) path.icons01{fill:var(--icons01-enabled)}:host(:not([auto-color])) path.icons02{fill:var(--icons02-enabled)}:host(:not([auto-color])) path.icons03{fill:var(--icons03-enabled)}:host(:not([auto-color])) path.icons04{fill:var(--icons04-enabled)}:host(:not([auto-color])) path.icons05{fill:var(--icons05-enabled)}:host(:not([auto-color])) path.icons06{fill:var(--icons06-enabled)}:host(:not([auto-color])) path.icons07{fill:var(--icons07-enabled)}:host(:not([auto-color])) path.icons08{fill:var(--icons08-enabled)}:host(:not([auto-color])) path.icons09{fill:var(--icons09-enabled)}:host{display:inline-flex;line-height:0}:host svg{width:var(--icon-size);height:var(--icon-size)}";
26
+
27
+ const ChIcon = class {
28
+ constructor(hostRef) {
29
+ registerInstance(this, hostRef);
30
+ /**
31
+ * If enabled, the icon will be loaded lazily when it's visible in the viewport.
32
+ */
33
+ this.lazy = false;
34
+ /**
35
+ * If enabled, the icon will display its inherent/natural color
36
+ */
37
+ this.autoColor = false;
38
+ /**
39
+ * The URL of the icon.
40
+ */
41
+ this.src = "";
42
+ /**
43
+ * The size of the icon. Possible values: regular, small.
44
+ */
45
+ this.size = "regular";
46
+ this.isVisible = false;
47
+ }
48
+ /** *******************************
49
+ METHODS
50
+ *********************************/
51
+ connectedCallback() {
52
+ // purposely do not return the promise here because loading
53
+ // the svg file should not hold up loading the app
54
+ // only load the svg if it's visible
55
+ this.waitUntilVisible(this.element, "50px", () => {
56
+ this.isVisible = true;
57
+ this.getIcon();
58
+ });
59
+ }
60
+ disconnectedCallback() {
61
+ if (this.io !== undefined) {
62
+ this.io.disconnect();
63
+ this.io = undefined;
64
+ }
65
+ }
66
+ waitUntilVisible(el, rootMargin, callback) {
67
+ if (this.lazy &&
68
+ typeof window !== "undefined" &&
69
+ window.IntersectionObserver) {
70
+ const io = (this.io = new window.IntersectionObserver((data) => {
71
+ if (data[0].isIntersecting) {
72
+ io.disconnect();
73
+ this.io = undefined;
74
+ callback();
75
+ }
76
+ }, { rootMargin }));
77
+ io.observe(el);
78
+ }
79
+ else {
80
+ // browser doesn't support IntersectionObserver
81
+ // so just fallback to always show it
82
+ callback();
83
+ }
84
+ }
85
+ async getIcon() {
86
+ if (this.isVisible) {
87
+ if (this.src) {
88
+ if (iconContent.has(this.src)) {
89
+ this.svgContent = iconContent.get(this.src);
90
+ }
91
+ else {
92
+ this.svgContent = await getSvgContent(this.src);
93
+ }
94
+ }
95
+ else {
96
+ this.svgContent = "";
97
+ return;
98
+ }
99
+ }
100
+ }
101
+ render() {
102
+ return h("div", { innerHTML: this.svgContent });
103
+ }
104
+ static get assetsDirs() { return ["ch-icon-assets"]; }
105
+ get element() { return getElement(this); }
106
+ static get watchers() { return {
107
+ "src": ["getIcon"]
108
+ }; }
109
+ };
110
+ ChIcon.style = iconCss;
111
+
112
+ export { ChIcon as ch_icon };
@@ -43,22 +43,4 @@ const getSelectedGxOption = (gxOptions) => {
43
43
  return found;
44
44
  };
45
45
 
46
- const formSubmitValidation = (result, ref) => {
47
- var _a;
48
- (_a = result.fieldErrors) === null || _a === void 0 ? void 0 : _a.forEach(element => {
49
- const key = element.key;
50
- const message = element.message;
51
- const hasError = element.hasError;
52
- const reference = ref[`${key}El`];
53
- if (reference && hasError && message.trim()) {
54
- reference.validationStatus = "error";
55
- reference.validationMessage = message;
56
- }
57
- else if (reference && !hasError) {
58
- reference.validationStatus = "indeterminate";
59
- reference.validationMessage = null;
60
- }
61
- });
62
- };
63
-
64
- export { formSubmitValidation as f, getSelectedGxOption as g, renderFormItems as r };
46
+ export { getSelectedGxOption as g, renderFormItems as r };
@@ -0,0 +1,8 @@
1
+ const FILTER_AFTER = {
2
+ NONE: "none",
3
+ DATE_TIME: "afterDateTime",
4
+ LAST_BUILD: "afterLastBuild",
5
+ IMPORT: "afterImport"
6
+ };
7
+
8
+ export { FILTER_AFTER as F };
@@ -0,0 +1,19 @@
1
+ const formSubmitValidation = (result, ref) => {
2
+ var _a;
3
+ (_a = result.fieldErrors) === null || _a === void 0 ? void 0 : _a.forEach(element => {
4
+ const key = element.key;
5
+ const message = element.message;
6
+ const hasError = element.hasError;
7
+ const reference = ref[`${key}El`];
8
+ if (reference && hasError && message.trim()) {
9
+ reference.validationStatus = "error";
10
+ reference.validationMessage = message;
11
+ }
12
+ else if (reference && !hasError) {
13
+ reference.validationStatus = "indeterminate";
14
+ reference.validationMessage = null;
15
+ }
16
+ });
17
+ };
18
+
19
+ export { formSubmitValidation as f };