@genexus/genexus-ide-ui 0.0.135 → 0.0.137

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 (90) hide show
  1. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  2. package/dist/cjs/gx-ide-bpm-files-selector.cjs.entry.js +101 -0
  3. package/dist/cjs/gx-ide-bpm-files-selector.cjs.entry.js.map +1 -0
  4. package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js +1 -1
  5. package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js.map +1 -1
  6. package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js +18 -2
  7. package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js.map +1 -1
  8. package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js +8 -14
  9. package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js.map +1 -1
  10. package/dist/cjs/loader.cjs.js +1 -1
  11. package/dist/cjs/render-list-item-c7e24eb8.js +19 -0
  12. package/dist/cjs/render-list-item-c7e24eb8.js.map +1 -0
  13. package/dist/collection/collection-manifest.json +2 -2
  14. package/dist/collection/common/render-list-item.js +1 -1
  15. package/dist/collection/common/render-list-item.js.map +1 -1
  16. package/dist/collection/components/_helpers/list-selector/list-selector-item/list-selector-item.js +4 -2
  17. package/dist/collection/components/_helpers/list-selector/list-selector-item/list-selector-item.js.map +1 -1
  18. package/dist/collection/components/_helpers/list-selector/list-selector.js +15 -1
  19. package/dist/collection/components/_helpers/list-selector/list-selector.js.map +1 -1
  20. package/dist/collection/components/{file-selector/file-selector.css → bpm/files-selector/files-selector.css} +232 -17
  21. package/dist/collection/components/bpm/files-selector/files-selector.js +215 -0
  22. package/dist/collection/components/bpm/files-selector/files-selector.js.map +1 -0
  23. package/dist/collection/components/bpm/files-selector/gx-ide-assets/bpm-files-selector/langs/bpm-files-selector.lang.en.json +14 -0
  24. package/dist/collection/components/bpm/files-selector/gx-ide-assets/bpm-files-selector/langs/bpm-files-selector.lang.ja.json +3 -0
  25. package/dist/collection/components/bpm/files-selector/gx-ide-assets/bpm-files-selector/langs/bpm-files-selector.lang.zh.json +3 -0
  26. package/dist/collection/components/bpm/files-selector/helpers.js +17 -0
  27. package/dist/collection/components/bpm/files-selector/helpers.js.map +1 -0
  28. package/dist/collection/components/bpm/timer-duration/timer-duration.js +1 -1
  29. package/dist/collection/components/bpm/timer-duration/timer-duration.js.map +1 -1
  30. package/dist/collection/components/team-dev/select-recent-comment/helpers.js +6 -1
  31. package/dist/collection/components/team-dev/select-recent-comment/helpers.js.map +1 -1
  32. package/dist/components/gx-ide-bpm-files-selector.d.ts +11 -0
  33. package/dist/components/gx-ide-bpm-files-selector.js +164 -0
  34. package/dist/components/gx-ide-bpm-files-selector.js.map +1 -0
  35. package/dist/components/gx-ide-bpm-timer-duration.js +1 -1
  36. package/dist/components/gx-ide-bpm-timer-duration.js.map +1 -1
  37. package/dist/components/gx-ide-team-dev-select-recent-comment.js +8 -14
  38. package/dist/components/gx-ide-team-dev-select-recent-comment.js.map +1 -1
  39. package/dist/components/list-selector-item.js +3 -1
  40. package/dist/components/list-selector-item.js.map +1 -1
  41. package/dist/components/list-selector.js +15 -1
  42. package/dist/components/list-selector.js.map +1 -1
  43. package/dist/components/render-list-item.js +17 -0
  44. package/dist/components/render-list-item.js.map +1 -0
  45. package/dist/esm/genexus-ide-ui.js +1 -1
  46. package/dist/esm/gx-ide-bpm-files-selector.entry.js +97 -0
  47. package/dist/esm/gx-ide-bpm-files-selector.entry.js.map +1 -0
  48. package/dist/esm/gx-ide-bpm-timer-duration.entry.js +1 -1
  49. package/dist/esm/gx-ide-bpm-timer-duration.entry.js.map +1 -1
  50. package/dist/esm/gx-ide-list-selector_2.entry.js +18 -2
  51. package/dist/esm/gx-ide-list-selector_2.entry.js.map +1 -1
  52. package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js +8 -14
  53. package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js.map +1 -1
  54. package/dist/esm/loader.js +1 -1
  55. package/dist/esm/render-list-item-9953ed8a.js +17 -0
  56. package/dist/esm/render-list-item-9953ed8a.js.map +1 -0
  57. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  58. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  59. package/dist/genexus-ide-ui/gx-ide-assets/bpm-files-selector/langs/bpm-files-selector.lang.en.json +14 -0
  60. package/dist/genexus-ide-ui/gx-ide-assets/bpm-files-selector/langs/bpm-files-selector.lang.ja.json +3 -0
  61. package/dist/genexus-ide-ui/gx-ide-assets/bpm-files-selector/langs/bpm-files-selector.lang.zh.json +3 -0
  62. package/dist/genexus-ide-ui/{p-84c20e24.entry.js → p-0aa83432.entry.js} +20 -31
  63. package/dist/genexus-ide-ui/p-0aa83432.entry.js.map +1 -0
  64. package/dist/genexus-ide-ui/{p-bd9cbfaf.entry.js → p-12d70e04.entry.js} +35 -19
  65. package/dist/genexus-ide-ui/p-12d70e04.entry.js.map +1 -0
  66. package/dist/genexus-ide-ui/{p-7b258a37.entry.js → p-56aaeefb.entry.js} +5 -5
  67. package/dist/genexus-ide-ui/{p-7b258a37.entry.js.map → p-56aaeefb.entry.js.map} +1 -1
  68. package/dist/genexus-ide-ui/{p-e497877c.entry.js → p-5d1135f5.entry.js} +120 -46
  69. package/dist/genexus-ide-ui/p-5d1135f5.entry.js.map +1 -0
  70. package/dist/genexus-ide-ui/p-6c2ecbac.js +20 -0
  71. package/dist/genexus-ide-ui/p-6c2ecbac.js.map +1 -0
  72. package/dist/types/components/_helpers/list-selector/list-selector-item/list-selector-item.d.ts +1 -0
  73. package/dist/types/components/_helpers/list-selector/list-selector.d.ts +1 -0
  74. package/dist/types/components/bpm/files-selector/files-selector.d.ts +50 -0
  75. package/dist/types/components/bpm/files-selector/helpers.d.ts +2 -0
  76. package/dist/types/components.d.ts +69 -71
  77. package/package.json +1 -1
  78. package/dist/cjs/gx-ide-file-selector.cjs.entry.js +0 -49
  79. package/dist/cjs/gx-ide-file-selector.cjs.entry.js.map +0 -1
  80. package/dist/collection/components/file-selector/file-selector.js +0 -191
  81. package/dist/collection/components/file-selector/file-selector.js.map +0 -1
  82. package/dist/components/gx-ide-file-selector.d.ts +0 -11
  83. package/dist/components/gx-ide-file-selector.js +0 -107
  84. package/dist/components/gx-ide-file-selector.js.map +0 -1
  85. package/dist/esm/gx-ide-file-selector.entry.js +0 -45
  86. package/dist/esm/gx-ide-file-selector.entry.js.map +0 -1
  87. package/dist/genexus-ide-ui/p-84c20e24.entry.js.map +0 -1
  88. package/dist/genexus-ide-ui/p-bd9cbfaf.entry.js.map +0 -1
  89. package/dist/genexus-ide-ui/p-e497877c.entry.js.map +0 -1
  90. package/dist/types/components/file-selector/file-selector.d.ts +0 -38
@@ -1,60 +1,134 @@
1
- import { r as e, h as t, H as o } from "./p-48217969.js";
1
+ import { r as t, c as e, h as r, H as o, g as a } from "./p-48217969.js";
2
2
 
3
- const a = ":root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-01--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-02{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-02--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--color-on-primary)}.gxg-title-03{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-03--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-04{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-04--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-05{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-05--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable)}.gxg-text--negative{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text--gray{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--dimmed)}.gxg-quote{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);font-style:italic}.gxg-quote--negative{color:var(--ds-base-font-color--negative)}.gxg-link{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--ds-base-font-color--link-hover)}.gxg-link:active{color:var(--ds-base-font-color--link-active)}.gxg-link-gray{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed)}.gxg-link-gray:hover{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed);filter:brightness(1.4)}.gxg-alert-error{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--error);display:inline-block}.gxg-alert-warning{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--warning);display:inline-block}.gxg-alert-success{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--success);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--ds-base-font-family-primary);font-weight:var(--gxg-label-font-weight);font-size:var(--gxg-label-font-size);color:var(--gxg-label-color);text-align:center;line-height:1.455em;display:flex;align-items:center}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gxg-scrollbar::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}:host{display:flex;flex-direction:column;color:var(--color-primary-enabled);}:host .container{display:flex;flex-direction:column;gap:30px}:host label{font-size:14px}:host .wrapper{display:inline-flex;align-items:center;gap:var(--gx-ide-grid-column-gap)}:host([label-position=start]){flex-direction:row}:host([label-position=start]) .wrapper{flex:1}";
3
+ import { c as i } from "./p-9c1b4eb9.js";
4
4
 
5
- const r = class {
6
- constructor(t) {
7
- e(this, t);
8
- this.evaluateLabelPosition = () => {
9
- if (this.label && this.labelPosition === "above") {
10
- this.centerLabel = false;
11
- }
12
- };
5
+ import { L as s } from "./p-74d59062.js";
6
+
7
+ import { r as l } from "./p-6c2ecbac.js";
8
+
9
+ const filesToListItemsData = t => {
10
+ const e = [];
11
+ t.forEach((t => {
12
+ const r = typeof t === "string" ? t : t.name;
13
+ const o = typeof t === "string" ? t : t.name;
14
+ const a = undefined;
15
+ const i = false;
16
+ e.push({
17
+ itemId: r,
18
+ itemValue: o,
19
+ itemIcon: a,
20
+ itemChecked: i
21
+ });
22
+ }));
23
+ return e;
24
+ };
25
+
26
+ const n = ":root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-01--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-02{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-02--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--color-on-primary)}.gxg-title-03{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-03--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-04{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-04--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-05{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-05--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable)}.gxg-text--negative{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text--gray{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--dimmed)}.gxg-quote{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);font-style:italic}.gxg-quote--negative{color:var(--ds-base-font-color--negative)}.gxg-link{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--ds-base-font-color--link-hover)}.gxg-link:active{color:var(--ds-base-font-color--link-active)}.gxg-link-gray{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed)}.gxg-link-gray:hover{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed);filter:brightness(1.4)}.gxg-alert-error{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--error);display:inline-block}.gxg-alert-warning{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--warning);display:inline-block}.gxg-alert-success{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--success);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--ds-base-font-family-primary);font-weight:var(--gxg-label-font-weight);font-size:var(--gxg-label-font-size);color:var(--gxg-label-color);text-align:center;line-height:1.455em;display:flex;align-items:center}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gxg-scrollbar::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.gxi-hidden{display:none !important}.gxi-full-height{height:100%}.gxi-overflow-auto{overflow:auto}.gxi-display-flex{display:flex}.align-start{display:flex;align-items:start}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.overflow-auto{overflow:auto}.justify-start{display:flex;justify-content:start}.justify-center{display:flex;justify-content:center}.justify-end{display:flex;justify-content: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}ch-grid{overflow:auto;height:100%}ch-grid-column{z-index:99;border-bottom:1px solid var(--mer-color__neutral-gray--800)}ch-grid-column:first-child{padding-inline-start:var(--gx-ide-container__padding) !important}ch-grid-column:last-child{padding-inline-end:var(--gx-ide-container__padding) !important}ch-grid-cell{--mer-spacing--xs:var(--gx-ide-container__padding)}.layout{display:grid;gap:var(--mer-spacing--lg);box-sizing:border-box}.layout--two-cols{grid-template-columns:1fr 1fr}.layout--space-above{padding-block-start:var(--mer-spacing--lg)}gxg-tabs{box-shadow:none}:host(.gx-ide-component){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(--mer-font__weight--regular);font-size:var(--mer-font__size--xs);font-family:var(--mer-font-family--primary);height:100%;background-color:var(--gx-ide-component-background-color);display:flex;flex-direction:column;flex-grow:1;box-sizing:border-box}.gx-ide-main{flex-grow:1;overflow-y:auto;}.gx-ide-main::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-main::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-main::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-main::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-overflow::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.tree-container{display:flex;height:100%;width:100%;box-sizing:border-box}p{margin:0}.control-wrapper{display:flex;gap:var(--mer-spacing--xs);align-items:center}.control-wrapper--vertical{flex-direction:column;align-items:start}.controls-wrapper{display:flex;gap:var(--mer-spacing--xs)}.controls-wrapper--vertical{flex-direction:column;align-items:start}.input-text{box-sizing:border-box;background-color:transparent;border:var(--mer-border__width--sm) solid var(--mer-border-color__dim);border-radius:var(--mer-border__width--lg);height:26px;color:var(--mer-text__bright);font-size:var(--mer-font__size--xxs)}.input-text--full-width{align-self:stretch}:host{display:block}.hidden-input{display:none}";
27
+
28
+ const g = class {
29
+ constructor(r) {
30
+ t(this, r);
31
+ this.componentDidRenderFirstTime = e(this, "componentDidRenderFirstTime", 7);
32
+ this.selectionChanged = e(this, "selectionChanged", 7);
33
+ this.renderedFirstTime = false;
13
34
  // 7.LISTENERS //
14
35
  // 8.PUBLIC METHODS API //
15
36
  // 9.LOCAL METHODS //
16
- this.btnSelectClickHandler = () => {};
17
- this.accessibilityLabels = {
18
- buttonSelectLabel: "selects a file from the user file system"
37
+ this.fileSelectionChangedHandler = t => {
38
+ this.selectionChanged.emit();
39
+ const e = Array.isArray(t.detail) ? t.detail : [ t.detail ];
40
+ this.selectedFiles = e.map((t => t.itemValue));
19
41
  };
20
- this.label = undefined;
21
- this.labelPosition = "start";
22
- this.centerLabel = true;
23
- this.labelWidth = undefined;
24
- this.selectDirectoryCallback = undefined;
25
- this.value = undefined;
42
+ this.loadFileHandle = async () => {
43
+ this.fileInput.click();
44
+ };
45
+ this.handleFileInputChange = async t => {
46
+ const e = t.target;
47
+ if (e.files && e.files.length > 0) {
48
+ const t = Array.from(e.files);
49
+ const r = t.filter((t => !this.files.some((e => e.name === t.name))));
50
+ this.files = [ ...this.files, ...r ];
51
+ }
52
+ if (this.addCallback) {
53
+ await this.addCallback(this.files);
54
+ }
55
+ this.fileInput.value = null;
56
+ };
57
+ this.removeFiles = t => {
58
+ const e = this.files.filter((e => t.includes(e.name)));
59
+ this.files = this.files.filter((e => !t.includes(e.name)));
60
+ if (this.removeCallback) {
61
+ this.removeCallback(e);
62
+ this.selectedFiles = [];
63
+ this.fileInput.value = null;
64
+ }
65
+ };
66
+ this.handleRemoveButtonClick = () => {
67
+ this.removeFiles(this.selectedFiles);
68
+ };
69
+ this.files = [];
70
+ this.selectedFiles = [];
71
+ this.displayTitle = false;
72
+ this.allowedExtensions = undefined;
73
+ this.addCallback = undefined;
74
+ this.removeCallback = undefined;
75
+ }
76
+ // 6.COMPONENT LIFECYCLE METHODS //
77
+ async componentWillLoad() {
78
+ this._componentLocale = await s.getComponentStrings(this.el);
26
79
  }
27
- // 2. REFERENCE TO ELEMENTS //
28
- // 3.STATE() VARIABLES //
29
- // 4.PUBLIC PROPERTY API | WATCH'S //
30
- // 5.EVENTS (EMIT) //
31
- // 6.METHODS //
32
- componentWillLoad() {
33
- this.evaluateLabelPosition();
80
+ componentDidRender() {
81
+ if (!this.renderedFirstTime) {
82
+ this.componentDidRenderFirstTime.emit(this._componentLocale.componentName);
83
+ this.renderedFirstTime = true;
84
+ }
34
85
  }
35
86
  // 10.RENDER() FUNCTION //
36
87
  render() {
37
- var e;
38
- return t(o, null, this.label ? t("gxg-label", {
39
- labelPosition: this.labelPosition,
40
- center: this.centerLabel
41
- }, this.label) : null, t("div", {
42
- class: "wrapper"
43
- }, t("gxg-form-text", {
44
- part: "input",
45
- value: this.value
46
- }), t("gxg-button", {
47
- part: "button-select",
48
- onClick: this.btnSelectClickHandler,
49
- "aria-label": (e = this.accessibilityLabels) === null || e === void 0 ? void 0 : e.buttonSelectLabel,
50
- type: "secondary-icon-only",
51
- icon: "gemini-tools/folder",
52
- disabled: !this.selectDirectoryCallback
53
- })));
88
+ var t;
89
+ return r(o, {
90
+ class: "gx-ide-component"
91
+ }, r("div", {
92
+ class: "gx-ide-main-wrapper"
93
+ }, r("gx-ide-container", {
94
+ containerTitle: this.displayTitle ? this._componentLocale.componentName : null,
95
+ slimmerFooter: i.gxIdeContainer.slimmerFooter
96
+ }, r("label", {
97
+ htmlFor: "path-list"
98
+ }, this._componentLocale.main.listLabel), r("gx-ide-list-selector", {
99
+ id: "path-list",
100
+ type: "multi-selection",
101
+ listName: "path-list",
102
+ noListBorder: true,
103
+ ordered: true,
104
+ onSelectionChanged: this.fileSelectionChangedHandler,
105
+ class: "path-list"
106
+ }, l(filesToListItemsData(this.files))), r("div", {
107
+ class: "controls-wrapper"
108
+ }, r("input", {
109
+ type: "file",
110
+ id: "input_file",
111
+ accept: (t = this.allowedExtensions) === null || t === void 0 ? void 0 : t.join(", "),
112
+ ref: t => this.fileInput = t,
113
+ onChange: this.handleFileInputChange,
114
+ class: "hidden-input",
115
+ multiple: true
116
+ }), r("button", {
117
+ onClick: this.loadFileHandle
118
+ }, this._componentLocale.main.addFilesButton), r("button", {
119
+ onClick: this.handleRemoveButtonClick,
120
+ disabled: this.selectedFiles.length === 0
121
+ }, this._componentLocale.main.removeFilesButton, " (", this.selectedFiles.length, ")")))));
122
+ }
123
+ static get assetsDirs() {
124
+ return [ "gx-ide-assets/bpm-files-selector" ];
125
+ }
126
+ get el() {
127
+ return a(this);
54
128
  }
55
129
  };
56
130
 
57
- r.style = a;
131
+ g.style = n;
58
132
 
59
- export { r as gx_ide_file_selector };
60
- //# sourceMappingURL=p-e497877c.entry.js.map
133
+ export { g as gx_ide_bpm_files_selector };
134
+ //# sourceMappingURL=p-5d1135f5.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["filesToListItemsData","files","itemsData","forEach","file","itemId","name","itemValue","itemIcon","undefined","itemChecked","push","filesSelectorCss","GxIdeTemplate","this","renderedFirstTime","fileSelectionChangedHandler","selectedItem","selectionChanged","emit","selectedFiles","Array","isArray","detail","map","item","loadFileHandle","async","fileInput","click","handleFileInputChange","event","target","length","newFiles","from","uniqueFiles","filter","newFile","some","existingFile","addCallback","value","removeFiles","filesToRemove","removedFiles","includes","removeCallback","handleRemoveButtonClick","componentWillLoad","_componentLocale","Locale","getComponentStrings","el","componentDidRender","componentDidRenderFirstTime","componentName","render","h","Host","class","containerTitle","displayTitle","slimmerFooter","config","gxIdeContainer","htmlFor","main","listLabel","id","type","listName","noListBorder","ordered","onSelectionChanged","renderListItems","accept","_a","allowedExtensions","join","ref","onChange","multiple","onClick","addFilesButton","disabled","removeFilesButton"],"sources":["src/components/bpm/files-selector/helpers.ts","src/components/bpm/files-selector/files-selector.scss?tag=gx-ide-bpm-files-selector&encapsulation=shadow","src/components/bpm/files-selector/files-selector.tsx"],"sourcesContent":["import { ItemData } from \"../../_helpers/list-selector/list-selector-item/list-selector-item\";\n\nexport const filesToListItemsData = (files: string[] | File[]): ItemData[] => {\n const itemsData: ItemData[] = [];\n files.forEach(file => {\n const itemId = typeof file === \"string\" ? file : file.name;\n const itemValue = typeof file === \"string\" ? file : file.name;\n const itemIcon: string = undefined;\n const itemChecked: boolean = false;\n itemsData.push({\n itemId: itemId,\n itemValue: itemValue,\n itemIcon: itemIcon,\n itemChecked: itemChecked\n });\n });\n return itemsData;\n};\n","@import \"../../../global/gx-ide-common.scss\";\n@import \"../../../global/gx-ide-mixins.scss\";\n@import \"../../../global/temporary-tokens-chameleon.scss\";\n\n:host {\n display: block;\n}\n.hidden-input {\n display: none;\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { CheckedItemsInfo } from \"../../_helpers/list-selector/list-selector\";\n/* CUSTOM IMPORTS */\nimport { config } from \"../../../common/config\";\nimport { Locale } from \"../../../common/locale\";\nimport { renderListItems } from \"../../../common/render-list-item\";\nimport { filesToListItemsData } from \"./helpers\";\n\n@Component({\n tag: \"gx-ide-bpm-files-selector\",\n styleUrl: \"files-selector.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/bpm-files-selector\"]\n})\nexport class GxIdeTemplate {\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n\n private renderedFirstTime = false;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeBpmFilesSelectorElement;\n\n private fileInput: HTMLInputElement;\n\n // 3.STATE() VARIABLES //\n /**\n * Contains the list of files\n */\n @State() files: File[] = [];\n\n /**\n * Contains the list of selected files\n */\n @State() selectedFiles: string[] = [];\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * Allowed extensions when 'Add files' button is pressed\n */\n @Prop() readonly allowedExtensions: string[];\n\n /**\n * Callback invoked when user press 'Add files' button. Returns a list with selected files.\n */\n @Prop() readonly addCallback: (files: File[]) => Promise<void>;\n\n /**\n * Callback invoked when remove button is pressed.\n */\n @Prop() readonly removeCallback: (files: File[] | string[]) => Promise<void>;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * @description Gets fired when the component has rendered for the first time.\n */\n @Event() componentDidRenderFirstTime: EventEmitter<string>;\n\n /**\n * @description Gets fired when something changes on items section.\n */\n @Event() selectionChanged: EventEmitter<void>;\n\n // 6.COMPONENT LIFECYCLE METHODS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n // 9.LOCAL METHODS //\n\n private fileSelectionChangedHandler = (\n selectedItem: CustomEvent<CheckedItemsInfo>\n ) => {\n this.selectionChanged.emit();\n\n const selectedFiles = Array.isArray(selectedItem.detail)\n ? selectedItem.detail\n : [selectedItem.detail];\n\n this.selectedFiles = selectedFiles.map(item => item.itemValue);\n };\n\n private loadFileHandle = async () => {\n this.fileInput.click();\n };\n\n private handleFileInputChange = async (event: Event) => {\n const fileInput = event.target as HTMLInputElement;\n\n if (fileInput.files && fileInput.files.length > 0) {\n const newFiles: File[] = Array.from(fileInput.files);\n const uniqueFiles = newFiles.filter(\n newFile =>\n !this.files.some(existingFile => existingFile.name === newFile.name)\n );\n this.files = [...this.files, ...uniqueFiles];\n }\n if (this.addCallback) {\n await this.addCallback(this.files);\n }\n\n this.fileInput.value = null;\n };\n\n private removeFiles = (filesToRemove: string[]) => {\n const removedFiles = this.files.filter(file =>\n filesToRemove.includes(file.name)\n );\n\n this.files = this.files.filter(file => !filesToRemove.includes(file.name));\n\n if (this.removeCallback) {\n this.removeCallback(removedFiles);\n this.selectedFiles = [];\n this.fileInput.value = null;\n }\n };\n\n private handleRemoveButtonClick = () => {\n this.removeFiles(this.selectedFiles);\n };\n\n // 10.RENDER() FUNCTION //\n\n render() {\n return (\n <Host class=\"gx-ide-component\">\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n slimmerFooter={config.gxIdeContainer.slimmerFooter}\n >\n {/* path list*/}\n <label htmlFor=\"path-list\">\n {this._componentLocale.main.listLabel}\n </label>\n <gx-ide-list-selector\n id=\"path-list\"\n type=\"multi-selection\"\n listName=\"path-list\"\n noListBorder\n ordered\n onSelectionChanged={this.fileSelectionChangedHandler}\n class=\"path-list\"\n >\n {renderListItems(filesToListItemsData(this.files))}\n </gx-ide-list-selector>\n\n <div class=\"controls-wrapper\">\n <input\n type=\"file\"\n id=\"input_file\"\n accept={this.allowedExtensions?.join(\", \")}\n ref={el => (this.fileInput = el as HTMLInputElement)}\n onChange={this.handleFileInputChange}\n class=\"hidden-input\"\n multiple\n />\n <button onClick={this.loadFileHandle}>\n {this._componentLocale.main.addFilesButton}\n </button>\n <button\n onClick={this.handleRemoveButtonClick}\n disabled={this.selectedFiles.length === 0}\n >\n {this._componentLocale.main.removeFilesButton} (\n {this.selectedFiles.length})\n </button>\n </div>\n </gx-ide-container>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":";;;;;;;;AAEO,MAAMA,uBAAwBC;EACnC,MAAMC,IAAwB;EAC9BD,EAAME,SAAQC;IACZ,MAAMC,WAAgBD,MAAS,WAAWA,IAAOA,EAAKE;IACtD,MAAMC,WAAmBH,MAAS,WAAWA,IAAOA,EAAKE;IACzD,MAAME,IAAmBC;IACzB,MAAMC,IAAuB;IAC7BR,EAAUS,KAAK;MACbN,QAAQA;MACRE,WAAWA;MACXC,UAAUA;MACVE,aAAaA;;AACb;EAEJ,OAAOR;AAAS;;AChBlB,MAAMU,IAAmB;;MCyBZC,IAAa;;;;;IAQhBC,KAAAC,oBAAoB;;;;QA0EpBD,KAAAE,8BACNC;MAEAH,KAAKI,iBAAiBC;MAEtB,MAAMC,IAAgBC,MAAMC,QAAQL,EAAaM,UAC7CN,EAAaM,SACb,EAACN,EAAaM;MAElBT,KAAKM,gBAAgBA,EAAcI,KAAIC,KAAQA,EAAKlB;AAAU;IAGxDO,KAAAY,iBAAiBC;MACvBb,KAAKc,UAAUC;AAAO;IAGhBf,KAAAgB,wBAAwBH,MAAOI;MACrC,MAAMH,IAAYG,EAAMC;MAExB,IAAIJ,EAAU3B,SAAS2B,EAAU3B,MAAMgC,SAAS,GAAG;QACjD,MAAMC,IAAmBb,MAAMc,KAAKP,EAAU3B;QAC9C,MAAMmC,IAAcF,EAASG,QAC3BC,MACGxB,KAAKb,MAAMsC,MAAKC,KAAgBA,EAAalC,SAASgC,EAAQhC;QAEnEQ,KAAKb,QAAQ,KAAIa,KAAKb,UAAUmC;;MAElC,IAAItB,KAAK2B,aAAa;cACd3B,KAAK2B,YAAY3B,KAAKb;;MAG9Ba,KAAKc,UAAUc,QAAQ;AAAI;IAGrB5B,KAAA6B,cAAeC;MACrB,MAAMC,IAAe/B,KAAKb,MAAMoC,QAAOjC,KACrCwC,EAAcE,SAAS1C,EAAKE;MAG9BQ,KAAKb,QAAQa,KAAKb,MAAMoC,QAAOjC,MAASwC,EAAcE,SAAS1C,EAAKE;MAEpE,IAAIQ,KAAKiC,gBAAgB;QACvBjC,KAAKiC,eAAeF;QACpB/B,KAAKM,gBAAgB;QACrBN,KAAKc,UAAUc,QAAQ;;;IAInB5B,KAAAkC,0BAA0B;MAChClC,KAAK6B,YAAY7B,KAAKM;AAAc;iBA/Gb;yBAKU;wBAOH;;;;;;EA+BhC,uBAAM6B;IACJnC,KAAKoC,yBAAyBC,EAAOC,oBAAoBtC,KAAKuC;;EAGhE,kBAAAC;IACE,KAAKxC,KAAKC,mBAAmB;MAC3BD,KAAKyC,4BAA4BpC,KAC/BL,KAAKoC,iBAAiBM;MAExB1C,KAAKC,oBAAoB;;;;EAgE7B,MAAA0C;;IACE,OACEC,EAACC,GAAI;MAACC,OAAM;OACVF,EAAA;MAAKE,OAAM;OACTF,EAAA;MACEG,gBACE/C,KAAKgD,eAAehD,KAAKoC,iBAAiBM,gBAAgB;MAE5DO,eAAeC,EAAOC,eAAeF;OAGrCL,EAAA;MAAOQ,SAAQ;OACZpD,KAAKoC,iBAAiBiB,KAAKC,YAE9BV,EAAA;MACEW,IAAG;MACHC,MAAK;MACLC,UAAS;MACTC,cAAY;MACZC,SAAO;MACPC,oBAAoB5D,KAAKE;MACzB4C,OAAM;OAELe,EAAgB3E,qBAAqBc,KAAKb,UAG7CyD,EAAA;MAAKE,OAAM;OACTF,EAAA;MACEY,MAAK;MACLD,IAAG;MACHO,SAAQC,IAAA/D,KAAKgE,uBAAiB,QAAAD,WAAA,aAAAA,EAAEE,KAAK;MACrCC,KAAK3B,KAAOvC,KAAKc,YAAYyB;MAC7B4B,UAAUnE,KAAKgB;MACf8B,OAAM;MACNsB,UAAQ;QAEVxB,EAAA;MAAQyB,SAASrE,KAAKY;OACnBZ,KAAKoC,iBAAiBiB,KAAKiB,iBAE9B1B,EAAA;MACEyB,SAASrE,KAAKkC;MACdqC,UAAUvE,KAAKM,cAAca,WAAW;OAEvCnB,KAAKoC,iBAAiBiB,KAAKmB,mBAAiB,MAC5CxE,KAAKM,cAAca,QAAM"}
@@ -0,0 +1,20 @@
1
+ import { h as t } from "./p-48217969.js";
2
+
3
+ /* STENCIL IMPORTS */ const renderListItems = e => {
4
+ const o = [];
5
+ e.forEach((e => {
6
+ const s = e.itemId;
7
+ const c = e.itemValue;
8
+ const i = e.itemIcon;
9
+ o.push(t("gx-ide-list-selector-item", {
10
+ itemId: s,
11
+ itemValue: c,
12
+ icon: i,
13
+ key: s
14
+ }));
15
+ }));
16
+ return o;
17
+ };
18
+
19
+ export { renderListItems as r };
20
+ //# sourceMappingURL=p-6c2ecbac.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["renderListItems","itemsData","listItemsArray","forEach","item","id","itemId","value","itemValue","icon","itemIcon","push","h","key"],"sources":["src/common/render-list-item.tsx"],"sourcesContent":["/* STENCIL IMPORTS */\nimport { h } from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\n/* CUSTOM IMPORTS */\nimport { ItemData } from \"../components/_helpers/list-selector/list-selector-item/list-selector-item\";\n\nexport const renderListItems = (\n itemsData: ItemData[]\n): HTMLGxIdeListSelectorItemElement[] => {\n const listItemsArray: HTMLGxIdeListSelectorItemElement[] = [];\n itemsData.forEach(item => {\n const id = item.itemId;\n const value = item.itemValue;\n const icon = item.itemIcon;\n listItemsArray.push(\n <gx-ide-list-selector-item\n itemId={id}\n itemValue={value}\n icon={icon}\n key={id}\n ></gx-ide-list-selector-item>\n );\n });\n return listItemsArray;\n};\n"],"mappings":";;4BAMaA,kBACXC;EAEA,MAAMC,IAAqD;EAC3DD,EAAUE,SAAQC;IAChB,MAAMC,IAAKD,EAAKE;IAChB,MAAMC,IAAQH,EAAKI;IACnB,MAAMC,IAAOL,EAAKM;IAClBR,EAAeS,KACbC,EAAA;MACEN,QAAQD;MACRG,WAAWD;MACXE,MAAMA;MACNI,KAAKR;;AAER;EAEH,OAAOH;AAAc"}
@@ -90,4 +90,5 @@ export type ItemData = {
90
90
  itemId: string;
91
91
  itemValue: string;
92
92
  itemIcon?: string;
93
+ itemChecked: boolean;
93
94
  };
@@ -66,6 +66,7 @@ export declare class GxIdeListSelector {
66
66
  */
67
67
  private evaluateInitialValue;
68
68
  private getChecked;
69
+ private clearPrevSelected;
69
70
  render(): any;
70
71
  }
71
72
  export type CheckedItemsInfo = ItemData[];
@@ -0,0 +1,50 @@
1
+ import { EventEmitter } from "../../../stencil-public-runtime";
2
+ export declare class GxIdeTemplate {
3
+ /**
4
+ * The component hard-coded strings translations.
5
+ */
6
+ private _componentLocale;
7
+ private renderedFirstTime;
8
+ el: HTMLGxIdeBpmFilesSelectorElement;
9
+ private fileInput;
10
+ /**
11
+ * Contains the list of files
12
+ */
13
+ files: File[];
14
+ /**
15
+ * Contains the list of selected files
16
+ */
17
+ selectedFiles: string[];
18
+ /**
19
+ * If true it displays the component title on the header
20
+ */
21
+ readonly displayTitle = false;
22
+ /**
23
+ * Allowed extensions when 'Add files' button is pressed
24
+ */
25
+ readonly allowedExtensions: string[];
26
+ /**
27
+ * Callback invoked when user press 'Add files' button. Returns a list with selected files.
28
+ */
29
+ readonly addCallback: (files: File[]) => Promise<void>;
30
+ /**
31
+ * Callback invoked when remove button is pressed.
32
+ */
33
+ readonly removeCallback: (files: File[] | string[]) => Promise<void>;
34
+ /**
35
+ * @description Gets fired when the component has rendered for the first time.
36
+ */
37
+ componentDidRenderFirstTime: EventEmitter<string>;
38
+ /**
39
+ * @description Gets fired when something changes on items section.
40
+ */
41
+ selectionChanged: EventEmitter<void>;
42
+ componentWillLoad(): Promise<void>;
43
+ componentDidRender(): void;
44
+ private fileSelectionChangedHandler;
45
+ private loadFileHandle;
46
+ private handleFileInputChange;
47
+ private removeFiles;
48
+ private handleRemoveButtonClick;
49
+ render(): any;
50
+ }
@@ -0,0 +1,2 @@
1
+ import { ItemData } from "../../_helpers/list-selector/list-selector-item/list-selector-item";
2
+ export declare const filesToListItemsData: (files: string[] | File[]) => ItemData[];
@@ -24,7 +24,6 @@ import { ModuleServerData, ModuleServerType } from "./components/modules/types";
24
24
  import { CancelCallback as CancelCallback3, ConfirmCallback as ConfirmCallback3, SelectSourceCallback } from "./components/modules/edit-module-server/edit-module-server";
25
25
  import { EntitySelectorLabels } from "./components/_helpers/entity-selector/entity-selector";
26
26
  import { LabelPosition as LabelPosition1 } from "./components/_helpers/directory-selector/directory-selector";
27
- import { FileSelectorLabels, LabelPosition as LabelPosition2 } from "./components/file-selector/file-selector";
28
27
  import { CancelCallback as CancelCallback4, RepairCallback, SaveCallback } from "./components/gam-installation-settings/gam-installation-settings";
29
28
  import { CancelCallback as CancelCallback5, ConfirmCallback as ConfirmCallback4, LoadCallback, LoadDesignSystemCallback, LoadFontCallback, LoadImageCallback, LoadPanelDataCallback, RequiresAccessTokenCallback, SelectModuleCallback, TextEditorFactoryCallback } from "./components/import-from-design/import-from-design";
30
29
  import { AddObjectsCallback, AddReferencesCallback, CancelCallback as CancelCallback6, ExportCallback, ExportFileDirectoryCallback, KBPropertiesCallback, KBPropertyType, ObjectType, OptionsCallback } from "./components/kb-manager-export/kb-manager-export";
@@ -70,7 +69,6 @@ export { ModuleServerData, ModuleServerType } from "./components/modules/types";
70
69
  export { CancelCallback as CancelCallback3, ConfirmCallback as ConfirmCallback3, SelectSourceCallback } from "./components/modules/edit-module-server/edit-module-server";
71
70
  export { EntitySelectorLabels } from "./components/_helpers/entity-selector/entity-selector";
72
71
  export { LabelPosition as LabelPosition1 } from "./components/_helpers/directory-selector/directory-selector";
73
- export { FileSelectorLabels, LabelPosition as LabelPosition2 } from "./components/file-selector/file-selector";
74
72
  export { CancelCallback as CancelCallback4, RepairCallback, SaveCallback } from "./components/gam-installation-settings/gam-installation-settings";
75
73
  export { CancelCallback as CancelCallback5, ConfirmCallback as ConfirmCallback4, LoadCallback, LoadDesignSystemCallback, LoadFontCallback, LoadImageCallback, LoadPanelDataCallback, RequiresAccessTokenCallback, SelectModuleCallback, TextEditorFactoryCallback } from "./components/import-from-design/import-from-design";
76
74
  export { AddObjectsCallback, AddReferencesCallback, CancelCallback as CancelCallback6, ExportCallback, ExportFileDirectoryCallback, KBPropertiesCallback, KBPropertyType, ObjectType, OptionsCallback } from "./components/kb-manager-export/kb-manager-export";
@@ -214,6 +212,24 @@ export namespace Components {
214
212
  */
215
213
  "roles": string[];
216
214
  }
215
+ interface GxIdeBpmFilesSelector {
216
+ /**
217
+ * Callback invoked when user press 'Add files' button. Returns a list with selected files.
218
+ */
219
+ "addCallback": (files: File[]) => Promise<void>;
220
+ /**
221
+ * Allowed extensions when 'Add files' button is pressed
222
+ */
223
+ "allowedExtensions": string[];
224
+ /**
225
+ * If true it displays the component title on the header
226
+ */
227
+ "displayTitle": false;
228
+ /**
229
+ * Callback invoked when remove button is pressed.
230
+ */
231
+ "removeCallback": (files: File[] | string[]) => Promise<void>;
232
+ }
217
233
  interface GxIdeBpmTimerDuration {
218
234
  /**
219
235
  * Callback invoked when user cancels application declaration
@@ -660,36 +676,6 @@ export namespace Components {
660
676
  */
661
677
  "value": EntityData | null | undefined;
662
678
  }
663
- interface GxIdeFileSelector {
664
- /**
665
- * This property provides the user a way to define custom aria-label descriptions.
666
- */
667
- "accessibilityLabels": FileSelectorLabels;
668
- /**
669
- * Centers the label
670
- */
671
- "centerLabel": boolean;
672
- /**
673
- * The label associated with the input (optional)
674
- */
675
- "label"?: string;
676
- /**
677
- * The label position
678
- */
679
- "labelPosition"?: LabelPosition2;
680
- /**
681
- * The label width
682
- */
683
- "labelWidth": string;
684
- /**
685
- * Callback that will be called when the user presses the action button. Returns the new value (directory path) assigned to the component.
686
- */
687
- "selectDirectoryCallback": () => Promise<string>;
688
- /**
689
- * Value currently assigned.
690
- */
691
- "value": string;
692
- }
693
679
  interface GxIdeGamInstallationSettings {
694
680
  /**
695
681
  * Callback invoked when the user wants to cancel the exportation process
@@ -1783,6 +1769,10 @@ export interface GxIdeBpmAssignRolesCustomEvent<T> extends CustomEvent<T> {
1783
1769
  detail: T;
1784
1770
  target: HTMLGxIdeBpmAssignRolesElement;
1785
1771
  }
1772
+ export interface GxIdeBpmFilesSelectorCustomEvent<T> extends CustomEvent<T> {
1773
+ detail: T;
1774
+ target: HTMLGxIdeBpmFilesSelectorElement;
1775
+ }
1786
1776
  export interface GxIdeBpmTimerDurationCustomEvent<T> extends CustomEvent<T> {
1787
1777
  detail: T;
1788
1778
  target: HTMLGxIdeBpmTimerDurationElement;
@@ -1969,6 +1959,24 @@ declare global {
1969
1959
  prototype: HTMLGxIdeBpmAssignRolesElement;
1970
1960
  new (): HTMLGxIdeBpmAssignRolesElement;
1971
1961
  };
1962
+ interface HTMLGxIdeBpmFilesSelectorElementEventMap {
1963
+ "componentDidRenderFirstTime": string;
1964
+ "selectionChanged": void;
1965
+ }
1966
+ interface HTMLGxIdeBpmFilesSelectorElement extends Components.GxIdeBpmFilesSelector, HTMLStencilElement {
1967
+ addEventListener<K extends keyof HTMLGxIdeBpmFilesSelectorElementEventMap>(type: K, listener: (this: HTMLGxIdeBpmFilesSelectorElement, ev: GxIdeBpmFilesSelectorCustomEvent<HTMLGxIdeBpmFilesSelectorElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1968
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1969
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1970
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1971
+ removeEventListener<K extends keyof HTMLGxIdeBpmFilesSelectorElementEventMap>(type: K, listener: (this: HTMLGxIdeBpmFilesSelectorElement, ev: GxIdeBpmFilesSelectorCustomEvent<HTMLGxIdeBpmFilesSelectorElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1972
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1973
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1974
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1975
+ }
1976
+ var HTMLGxIdeBpmFilesSelectorElement: {
1977
+ prototype: HTMLGxIdeBpmFilesSelectorElement;
1978
+ new (): HTMLGxIdeBpmFilesSelectorElement;
1979
+ };
1972
1980
  interface HTMLGxIdeBpmTimerDurationElementEventMap {
1973
1981
  "componentDidRenderFirstTime": string;
1974
1982
  }
@@ -2124,12 +2132,6 @@ declare global {
2124
2132
  prototype: HTMLGxIdeEntitySelectorElement;
2125
2133
  new (): HTMLGxIdeEntitySelectorElement;
2126
2134
  };
2127
- interface HTMLGxIdeFileSelectorElement extends Components.GxIdeFileSelector, HTMLStencilElement {
2128
- }
2129
- var HTMLGxIdeFileSelectorElement: {
2130
- prototype: HTMLGxIdeFileSelectorElement;
2131
- new (): HTMLGxIdeFileSelectorElement;
2132
- };
2133
2135
  interface HTMLGxIdeGamInstallationSettingsElementEventMap {
2134
2136
  "componentDidRenderFirstTime": string;
2135
2137
  }
@@ -2592,6 +2594,7 @@ declare global {
2592
2594
  "gx-ide-ai-message": HTMLGxIdeAiMessageElement;
2593
2595
  "gx-ide-bpm-app-declaration": HTMLGxIdeBpmAppDeclarationElement;
2594
2596
  "gx-ide-bpm-assign-roles": HTMLGxIdeBpmAssignRolesElement;
2597
+ "gx-ide-bpm-files-selector": HTMLGxIdeBpmFilesSelectorElement;
2595
2598
  "gx-ide-bpm-timer-duration": HTMLGxIdeBpmTimerDurationElement;
2596
2599
  "gx-ide-card": HTMLGxIdeCardElement;
2597
2600
  "gx-ide-connect-gx-server": HTMLGxIdeConnectGxServerElement;
@@ -2603,7 +2606,6 @@ declare global {
2603
2606
  "gx-ide-edit-module-server": HTMLGxIdeEditModuleServerElement;
2604
2607
  "gx-ide-empty-state": HTMLGxIdeEmptyStateElement;
2605
2608
  "gx-ide-entity-selector": HTMLGxIdeEntitySelectorElement;
2606
- "gx-ide-file-selector": HTMLGxIdeFileSelectorElement;
2607
2609
  "gx-ide-gam-installation-settings": HTMLGxIdeGamInstallationSettingsElement;
2608
2610
  "gx-ide-import-from-design": HTMLGxIdeImportFromDesignElement;
2609
2611
  "gx-ide-kb-manager-export": HTMLGxIdeKbManagerExportElement;
@@ -2757,6 +2759,32 @@ declare namespace LocalJSX {
2757
2759
  */
2758
2760
  "roles"?: string[];
2759
2761
  }
2762
+ interface GxIdeBpmFilesSelector {
2763
+ /**
2764
+ * Callback invoked when user press 'Add files' button. Returns a list with selected files.
2765
+ */
2766
+ "addCallback"?: (files: File[]) => Promise<void>;
2767
+ /**
2768
+ * Allowed extensions when 'Add files' button is pressed
2769
+ */
2770
+ "allowedExtensions"?: string[];
2771
+ /**
2772
+ * If true it displays the component title on the header
2773
+ */
2774
+ "displayTitle"?: false;
2775
+ /**
2776
+ * @description Gets fired when the component has rendered for the first time.
2777
+ */
2778
+ "onComponentDidRenderFirstTime"?: (event: GxIdeBpmFilesSelectorCustomEvent<string>) => void;
2779
+ /**
2780
+ * @description Gets fired when something changes on items section.
2781
+ */
2782
+ "onSelectionChanged"?: (event: GxIdeBpmFilesSelectorCustomEvent<void>) => void;
2783
+ /**
2784
+ * Callback invoked when remove button is pressed.
2785
+ */
2786
+ "removeCallback"?: (files: File[] | string[]) => Promise<void>;
2787
+ }
2760
2788
  interface GxIdeBpmTimerDuration {
2761
2789
  /**
2762
2790
  * Callback invoked when user cancels application declaration
@@ -3231,36 +3259,6 @@ declare namespace LocalJSX {
3231
3259
  */
3232
3260
  "value"?: EntityData | null | undefined;
3233
3261
  }
3234
- interface GxIdeFileSelector {
3235
- /**
3236
- * This property provides the user a way to define custom aria-label descriptions.
3237
- */
3238
- "accessibilityLabels"?: FileSelectorLabels;
3239
- /**
3240
- * Centers the label
3241
- */
3242
- "centerLabel"?: boolean;
3243
- /**
3244
- * The label associated with the input (optional)
3245
- */
3246
- "label"?: string;
3247
- /**
3248
- * The label position
3249
- */
3250
- "labelPosition"?: LabelPosition2;
3251
- /**
3252
- * The label width
3253
- */
3254
- "labelWidth"?: string;
3255
- /**
3256
- * Callback that will be called when the user presses the action button. Returns the new value (directory path) assigned to the component.
3257
- */
3258
- "selectDirectoryCallback"?: () => Promise<string>;
3259
- /**
3260
- * Value currently assigned.
3261
- */
3262
- "value"?: string;
3263
- }
3264
3262
  interface GxIdeGamInstallationSettings {
3265
3263
  /**
3266
3264
  * Callback invoked when the user wants to cancel the exportation process
@@ -4438,6 +4436,7 @@ declare namespace LocalJSX {
4438
4436
  "gx-ide-ai-message": GxIdeAiMessage;
4439
4437
  "gx-ide-bpm-app-declaration": GxIdeBpmAppDeclaration;
4440
4438
  "gx-ide-bpm-assign-roles": GxIdeBpmAssignRoles;
4439
+ "gx-ide-bpm-files-selector": GxIdeBpmFilesSelector;
4441
4440
  "gx-ide-bpm-timer-duration": GxIdeBpmTimerDuration;
4442
4441
  "gx-ide-card": GxIdeCard;
4443
4442
  "gx-ide-connect-gx-server": GxIdeConnectGxServer;
@@ -4449,7 +4448,6 @@ declare namespace LocalJSX {
4449
4448
  "gx-ide-edit-module-server": GxIdeEditModuleServer;
4450
4449
  "gx-ide-empty-state": GxIdeEmptyState;
4451
4450
  "gx-ide-entity-selector": GxIdeEntitySelector;
4452
- "gx-ide-file-selector": GxIdeFileSelector;
4453
4451
  "gx-ide-gam-installation-settings": GxIdeGamInstallationSettings;
4454
4452
  "gx-ide-import-from-design": GxIdeImportFromDesign;
4455
4453
  "gx-ide-kb-manager-export": GxIdeKbManagerExport;
@@ -4490,6 +4488,7 @@ declare module "@stencil/core" {
4490
4488
  "gx-ide-ai-message": LocalJSX.GxIdeAiMessage & JSXBase.HTMLAttributes<HTMLGxIdeAiMessageElement>;
4491
4489
  "gx-ide-bpm-app-declaration": LocalJSX.GxIdeBpmAppDeclaration & JSXBase.HTMLAttributes<HTMLGxIdeBpmAppDeclarationElement>;
4492
4490
  "gx-ide-bpm-assign-roles": LocalJSX.GxIdeBpmAssignRoles & JSXBase.HTMLAttributes<HTMLGxIdeBpmAssignRolesElement>;
4491
+ "gx-ide-bpm-files-selector": LocalJSX.GxIdeBpmFilesSelector & JSXBase.HTMLAttributes<HTMLGxIdeBpmFilesSelectorElement>;
4493
4492
  "gx-ide-bpm-timer-duration": LocalJSX.GxIdeBpmTimerDuration & JSXBase.HTMLAttributes<HTMLGxIdeBpmTimerDurationElement>;
4494
4493
  "gx-ide-card": LocalJSX.GxIdeCard & JSXBase.HTMLAttributes<HTMLGxIdeCardElement>;
4495
4494
  "gx-ide-connect-gx-server": LocalJSX.GxIdeConnectGxServer & JSXBase.HTMLAttributes<HTMLGxIdeConnectGxServerElement>;
@@ -4501,7 +4500,6 @@ declare module "@stencil/core" {
4501
4500
  "gx-ide-edit-module-server": LocalJSX.GxIdeEditModuleServer & JSXBase.HTMLAttributes<HTMLGxIdeEditModuleServerElement>;
4502
4501
  "gx-ide-empty-state": LocalJSX.GxIdeEmptyState & JSXBase.HTMLAttributes<HTMLGxIdeEmptyStateElement>;
4503
4502
  "gx-ide-entity-selector": LocalJSX.GxIdeEntitySelector & JSXBase.HTMLAttributes<HTMLGxIdeEntitySelectorElement>;
4504
- "gx-ide-file-selector": LocalJSX.GxIdeFileSelector & JSXBase.HTMLAttributes<HTMLGxIdeFileSelectorElement>;
4505
4503
  "gx-ide-gam-installation-settings": LocalJSX.GxIdeGamInstallationSettings & JSXBase.HTMLAttributes<HTMLGxIdeGamInstallationSettingsElement>;
4506
4504
  "gx-ide-import-from-design": LocalJSX.GxIdeImportFromDesign & JSXBase.HTMLAttributes<HTMLGxIdeImportFromDesignElement>;
4507
4505
  "gx-ide-kb-manager-export": LocalJSX.GxIdeKbManagerExport & JSXBase.HTMLAttributes<HTMLGxIdeKbManagerExportElement>;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@genexus/genexus-ide-ui",
3
3
  "license": "Apache-2.0",
4
- "version": "0.0.135",
4
+ "version": "0.0.137",
5
5
  "description": "GeneXus IDE UI components",
6
6
  "main": "dist/index.cjs.js",
7
7
  "module": "dist/index.js",