@genexus/genexus-ide-ui 0.0.98 → 0.0.99

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 (50) hide show
  1. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  2. package/dist/cjs/{gx-ide-container_2.cjs.entry.js → gx-ide-container_3.cjs.entry.js} +53 -127
  3. package/dist/cjs/gx-ide-container_3.cjs.entry.js.map +1 -0
  4. package/dist/cjs/gx-ide-data-selector.cjs.entry.js +175 -0
  5. package/dist/cjs/gx-ide-data-selector.cjs.entry.js.map +1 -0
  6. package/dist/cjs/gxg-form-checkbox.cjs.entry.js +151 -0
  7. package/dist/cjs/gxg-form-checkbox.cjs.entry.js.map +1 -0
  8. package/dist/cjs/loader.cjs.js +1 -1
  9. package/dist/collection/collection-manifest.json +1 -0
  10. package/dist/collection/components/data-selector/data-selector.css +261 -0
  11. package/dist/collection/components/data-selector/data-selector.js +441 -0
  12. package/dist/collection/components/data-selector/data-selector.js.map +1 -0
  13. package/dist/collection/components/data-selector/gx-ide-assets/data-selector/langs/data-selector.lang.en.json +23 -0
  14. package/dist/collection/components/data-selector/gx-ide-assets/data-selector/langs/data-selector.lang.ja.json +3 -0
  15. package/dist/collection/components/data-selector/gx-ide-assets/data-selector/langs/data-selector.lang.zh.json +3 -0
  16. package/dist/collection/components/data-selector/gx-ide-assets/data-selector/shortcuts.json +15 -0
  17. package/dist/components/gx-ide-data-selector.d.ts +11 -0
  18. package/dist/components/gx-ide-data-selector.js +347 -0
  19. package/dist/components/gx-ide-data-selector.js.map +1 -0
  20. package/dist/esm/genexus-ide-ui.js +1 -1
  21. package/dist/esm/{gx-ide-container_2.entry.js → gx-ide-container_3.entry.js} +53 -128
  22. package/dist/esm/gx-ide-container_3.entry.js.map +1 -0
  23. package/dist/esm/gx-ide-data-selector.entry.js +171 -0
  24. package/dist/esm/gx-ide-data-selector.entry.js.map +1 -0
  25. package/dist/esm/gxg-form-checkbox.entry.js +147 -0
  26. package/dist/esm/gxg-form-checkbox.entry.js.map +1 -0
  27. package/dist/esm/loader.js +1 -1
  28. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  29. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  30. package/dist/genexus-ide-ui/gx-ide-assets/data-selector/langs/data-selector.lang.en.json +23 -0
  31. package/dist/genexus-ide-ui/gx-ide-assets/data-selector/langs/data-selector.lang.ja.json +3 -0
  32. package/dist/genexus-ide-ui/gx-ide-assets/data-selector/langs/data-selector.lang.zh.json +3 -0
  33. package/dist/genexus-ide-ui/gx-ide-assets/data-selector/shortcuts.json +15 -0
  34. package/dist/genexus-ide-ui/{p-9b96b515.entry.js → p-40f21d2d.entry.js} +116 -192
  35. package/dist/genexus-ide-ui/p-40f21d2d.entry.js.map +1 -0
  36. package/dist/genexus-ide-ui/p-75f0ba9d.entry.js +273 -0
  37. package/dist/genexus-ide-ui/p-75f0ba9d.entry.js.map +1 -0
  38. package/dist/genexus-ide-ui/{p-219d7b29.entry.js → p-eeb35622.entry.js} +165 -89
  39. package/dist/genexus-ide-ui/p-eeb35622.entry.js.map +1 -0
  40. package/dist/types/components/data-selector/data-selector.d.ts +109 -0
  41. package/dist/types/components.d.ts +159 -40
  42. package/package.json +1 -1
  43. package/dist/cjs/gx-ide-container_2.cjs.entry.js.map +0 -1
  44. package/dist/cjs/gx-ide-title_2.cjs.entry.js +0 -77
  45. package/dist/cjs/gx-ide-title_2.cjs.entry.js.map +0 -1
  46. package/dist/esm/gx-ide-container_2.entry.js.map +0 -1
  47. package/dist/esm/gx-ide-title_2.entry.js +0 -72
  48. package/dist/esm/gx-ide-title_2.entry.js.map +0 -1
  49. package/dist/genexus-ide-ui/p-219d7b29.entry.js.map +0 -1
  50. package/dist/genexus-ide-ui/p-9b96b515.entry.js.map +0 -1
@@ -15,20 +15,21 @@ import { TitleAlignment } from "@genexus/gemini/dist/types/common/types";
15
15
  import { ConnectionResultData, CreateKBData, GXServerConnectionData } from "./components/create-kb-from-server/create-kb-from-server";
16
16
  import { EntityData, FormSubmitResult, GxOption, ImportItemResultData, ObjectType as ObjectType2 } from "./common/types";
17
17
  import { EditResult, EnvironmentData, KBData, recentObjectData } from "./components/dashboard-home/dashboard-home";
18
+ import { CancelCallback as CancelCallback1, ConfirmCallback as ConfirmCallback1, EditCallback, LoadItemsCallback, NewVariableCallback, SelectObjectCallback } from "./components/data-selector/data-selector";
18
19
  import { DirectorySelectorLabels, LabelPosition } from "./components/_helpers/directory-selector/directory-selector";
19
20
  import { EntitySelectorLabels } from "./components/_helpers/entity-selector/entity-selector";
20
21
  import { LabelPosition as LabelPosition1 } from "./components/_helpers/directory-selector/directory-selector";
21
22
  import { FileSelectorLabels, LabelPosition as LabelPosition2 } from "./components/file-selector/file-selector";
22
- import { CancelCallback as CancelCallback1, ConfirmCallback as ConfirmCallback1, LoadCallback, LoadDesignSystemCallback, LoadFontCallback, LoadImageCallback, LoadPanelDataCallback, RequiresAccessTokenCallback, SelectModuleCallback, TextEditorFactoryCallback } from "./components/import-from-design/import-from-design";
23
- import { AddObjectsCallback, AddReferencesCallback, CancelCallback as CancelCallback2, ExportCallback, ExportFileDirectoryCallback, KBPropertiesCallback, KBPropertyType, ObjectType, OptionsCallback } from "./components/kb-manager-export/kb-manager-export";
24
- import { CancelCallback as CancelCallback3, ImportCallback, LoadCallback as LoadCallback1, ObjectContextMenuCallback, OptionsCallback as OptionsCallback1 } from "./components/kb-manager-import/kb-manager-import";
23
+ import { CancelCallback as CancelCallback2, ConfirmCallback as ConfirmCallback2, LoadCallback, LoadDesignSystemCallback, LoadFontCallback, LoadImageCallback, LoadPanelDataCallback, RequiresAccessTokenCallback, SelectModuleCallback, TextEditorFactoryCallback } from "./components/import-from-design/import-from-design";
24
+ import { AddObjectsCallback, AddReferencesCallback, CancelCallback as CancelCallback3, ExportCallback, ExportFileDirectoryCallback, KBPropertiesCallback, KBPropertyType, ObjectType, OptionsCallback } from "./components/kb-manager-export/kb-manager-export";
25
+ import { CancelCallback as CancelCallback4, ImportCallback, LoadCallback as LoadCallback1, ObjectContextMenuCallback, OptionsCallback as OptionsCallback1 } from "./components/kb-manager-import/kb-manager-import";
25
26
  import { Color, Size } from "@genexus/gemini/dist/types/components/icon/icon";
26
27
  import { CheckedItemsInfo } from "./components/_helpers/list-selector/list-selector";
27
28
  import { ItemData } from "./components/_helpers/list-selector/list-selector-item/list-selector-item";
28
- import { CancelCallback as CancelCallback4, CreateCallback, GetDataSourcesCallback, GetEnvironmentNameCallback, GetFrontEndsCallback } from "./components/new-environment/new-environment";
29
- import { CancelCallback as CancelCallback5, CreateCallback as CreateCallback1, GetDataSourcesCallback as GetDataSourcesCallback1, GetFrontEndsCallback as GetFrontEndsCallback1, SelectLocationCallback } from "./components/new-kb/new-kb";
30
- import { CancelCallback as CancelCallback6, CreateCallback as CreateCallback2, NewObjectData, SelectModuleCallback as SelectModuleCallback1, TypeCategoryData, ValidateNameCallback } from "./components/new-object/new-object";
31
- import { CancelCallback as CancelCallback7, LoadCallback as LoadCallback2, NewObjectCallback, ObjectType as ObjectType1, OpenSelectionCallback, SelectModuleCallback as SelectModuleCallback2 } from "./components/object-selector/object-selector";
29
+ import { CancelCallback as CancelCallback5, CreateCallback, GetDataSourcesCallback, GetEnvironmentNameCallback, GetFrontEndsCallback } from "./components/new-environment/new-environment";
30
+ import { CancelCallback as CancelCallback6, CreateCallback as CreateCallback1, GetDataSourcesCallback as GetDataSourcesCallback1, GetFrontEndsCallback as GetFrontEndsCallback1, SelectLocationCallback } from "./components/new-kb/new-kb";
31
+ import { CancelCallback as CancelCallback7, CreateCallback as CreateCallback2, NewObjectData, SelectModuleCallback as SelectModuleCallback1, TypeCategoryData, ValidateNameCallback } from "./components/new-object/new-object";
32
+ import { CancelCallback as CancelCallback8, LoadCallback as LoadCallback2, NewObjectCallback, ObjectType as ObjectType1, OpenSelectionCallback, SelectModuleCallback as SelectModuleCallback2 } from "./components/object-selector/object-selector";
32
33
  import { GetNewsCallback, OpenNewsCallback } from "./components/start-page/start-page";
33
34
  import { LoadReferencesCallback, ObjectData, OpenObjectCallback, OpenSelectorDialogCallback, SelectorSourceCallback, SelectReferenceCallback } from "./components/references/references";
34
35
  import { CreateKBCallback } from "./components/share-kb/share-kb";
@@ -36,8 +37,8 @@ import { GetNewsCallback as GetNewsCallback1, NewsData, OpenKbCallback, OpenNews
36
37
  import { CheckedItemsInfo as CheckedItemsInfo1 } from "./components/_helpers/list-selector/list-selector";
37
38
  import { CommitCallback, CommitSelectCallback, GetRecentComment, LoadCallback as LoadCallback3, ObjectsContextMenuCallback, PendingItemsCheckedCallback } from "./components/team-dev/commit/commit";
38
39
  import { cancelCallback, confirmCallback } from "./components/team-dev/select-recent-comment/select-recent-comment";
39
- import { ConfirmCallback as ConfirmCallback2, GridContextMenuCallback, LoadCallback as LoadCallback4, ObjectsContextMenuCallback as ObjectsContextMenuCallback1, PendingItemsCheckedCallback as PendingItemsCheckedCallback1, UpdateCallback, UpdateFromData, UpdateSelectCallback } from "./components/team-dev/update/update";
40
- import { AddCallback, CancelCallback as CancelCallback8, ConfirmCallback as ConfirmCallback3, ObjectData as ObjectData1 } from "./components/team-dev/update-partial-selection/update-partial-selection";
40
+ import { ConfirmCallback as ConfirmCallback3, GridContextMenuCallback, LoadCallback as LoadCallback4, ObjectsContextMenuCallback as ObjectsContextMenuCallback1, PendingItemsCheckedCallback as PendingItemsCheckedCallback1, UpdateCallback, UpdateFromData, UpdateSelectCallback } from "./components/team-dev/update/update";
41
+ import { AddCallback, CancelCallback as CancelCallback9, ConfirmCallback as ConfirmCallback4, ObjectData as ObjectData1 } from "./components/team-dev/update-partial-selection/update-partial-selection";
41
42
  import { cancelCallbackFn, confirmCallbackFn } from "./components/team-dev/update-to-revision/update-to-revision";
42
43
  import { TitleAlignment as TitleAlignment1, TitleType as TitleType1 } from "./components/_helpers/title/title";
43
44
  import { ContextMenuCallback, DeleteSelectionCallback, LoadCallback as LoadCallback5, LoadImageItemsCallback, NewObjectCallback as NewObjectCallback1, OpenSelectionCallback as OpenSelectionCallback1, SelectionObjectCallback, SelectModuleCallback as SelectModuleCallback3 } from "./components/ww-images/ww-images";
@@ -51,20 +52,21 @@ export { TitleAlignment } from "@genexus/gemini/dist/types/common/types";
51
52
  export { ConnectionResultData, CreateKBData, GXServerConnectionData } from "./components/create-kb-from-server/create-kb-from-server";
52
53
  export { EntityData, FormSubmitResult, GxOption, ImportItemResultData, ObjectType as ObjectType2 } from "./common/types";
53
54
  export { EditResult, EnvironmentData, KBData, recentObjectData } from "./components/dashboard-home/dashboard-home";
55
+ export { CancelCallback as CancelCallback1, ConfirmCallback as ConfirmCallback1, EditCallback, LoadItemsCallback, NewVariableCallback, SelectObjectCallback } from "./components/data-selector/data-selector";
54
56
  export { DirectorySelectorLabels, LabelPosition } from "./components/_helpers/directory-selector/directory-selector";
55
57
  export { EntitySelectorLabels } from "./components/_helpers/entity-selector/entity-selector";
56
58
  export { LabelPosition as LabelPosition1 } from "./components/_helpers/directory-selector/directory-selector";
57
59
  export { FileSelectorLabels, LabelPosition as LabelPosition2 } from "./components/file-selector/file-selector";
58
- export { CancelCallback as CancelCallback1, ConfirmCallback as ConfirmCallback1, LoadCallback, LoadDesignSystemCallback, LoadFontCallback, LoadImageCallback, LoadPanelDataCallback, RequiresAccessTokenCallback, SelectModuleCallback, TextEditorFactoryCallback } from "./components/import-from-design/import-from-design";
59
- export { AddObjectsCallback, AddReferencesCallback, CancelCallback as CancelCallback2, ExportCallback, ExportFileDirectoryCallback, KBPropertiesCallback, KBPropertyType, ObjectType, OptionsCallback } from "./components/kb-manager-export/kb-manager-export";
60
- export { CancelCallback as CancelCallback3, ImportCallback, LoadCallback as LoadCallback1, ObjectContextMenuCallback, OptionsCallback as OptionsCallback1 } from "./components/kb-manager-import/kb-manager-import";
60
+ export { CancelCallback as CancelCallback2, ConfirmCallback as ConfirmCallback2, LoadCallback, LoadDesignSystemCallback, LoadFontCallback, LoadImageCallback, LoadPanelDataCallback, RequiresAccessTokenCallback, SelectModuleCallback, TextEditorFactoryCallback } from "./components/import-from-design/import-from-design";
61
+ export { AddObjectsCallback, AddReferencesCallback, CancelCallback as CancelCallback3, ExportCallback, ExportFileDirectoryCallback, KBPropertiesCallback, KBPropertyType, ObjectType, OptionsCallback } from "./components/kb-manager-export/kb-manager-export";
62
+ export { CancelCallback as CancelCallback4, ImportCallback, LoadCallback as LoadCallback1, ObjectContextMenuCallback, OptionsCallback as OptionsCallback1 } from "./components/kb-manager-import/kb-manager-import";
61
63
  export { Color, Size } from "@genexus/gemini/dist/types/components/icon/icon";
62
64
  export { CheckedItemsInfo } from "./components/_helpers/list-selector/list-selector";
63
65
  export { ItemData } from "./components/_helpers/list-selector/list-selector-item/list-selector-item";
64
- export { CancelCallback as CancelCallback4, CreateCallback, GetDataSourcesCallback, GetEnvironmentNameCallback, GetFrontEndsCallback } from "./components/new-environment/new-environment";
65
- export { CancelCallback as CancelCallback5, CreateCallback as CreateCallback1, GetDataSourcesCallback as GetDataSourcesCallback1, GetFrontEndsCallback as GetFrontEndsCallback1, SelectLocationCallback } from "./components/new-kb/new-kb";
66
- export { CancelCallback as CancelCallback6, CreateCallback as CreateCallback2, NewObjectData, SelectModuleCallback as SelectModuleCallback1, TypeCategoryData, ValidateNameCallback } from "./components/new-object/new-object";
67
- export { CancelCallback as CancelCallback7, LoadCallback as LoadCallback2, NewObjectCallback, ObjectType as ObjectType1, OpenSelectionCallback, SelectModuleCallback as SelectModuleCallback2 } from "./components/object-selector/object-selector";
66
+ export { CancelCallback as CancelCallback5, CreateCallback, GetDataSourcesCallback, GetEnvironmentNameCallback, GetFrontEndsCallback } from "./components/new-environment/new-environment";
67
+ export { CancelCallback as CancelCallback6, CreateCallback as CreateCallback1, GetDataSourcesCallback as GetDataSourcesCallback1, GetFrontEndsCallback as GetFrontEndsCallback1, SelectLocationCallback } from "./components/new-kb/new-kb";
68
+ export { CancelCallback as CancelCallback7, CreateCallback as CreateCallback2, NewObjectData, SelectModuleCallback as SelectModuleCallback1, TypeCategoryData, ValidateNameCallback } from "./components/new-object/new-object";
69
+ export { CancelCallback as CancelCallback8, LoadCallback as LoadCallback2, NewObjectCallback, ObjectType as ObjectType1, OpenSelectionCallback, SelectModuleCallback as SelectModuleCallback2 } from "./components/object-selector/object-selector";
68
70
  export { GetNewsCallback, OpenNewsCallback } from "./components/start-page/start-page";
69
71
  export { LoadReferencesCallback, ObjectData, OpenObjectCallback, OpenSelectorDialogCallback, SelectorSourceCallback, SelectReferenceCallback } from "./components/references/references";
70
72
  export { CreateKBCallback } from "./components/share-kb/share-kb";
@@ -72,8 +74,8 @@ export { GetNewsCallback as GetNewsCallback1, NewsData, OpenKbCallback, OpenNews
72
74
  export { CheckedItemsInfo as CheckedItemsInfo1 } from "./components/_helpers/list-selector/list-selector";
73
75
  export { CommitCallback, CommitSelectCallback, GetRecentComment, LoadCallback as LoadCallback3, ObjectsContextMenuCallback, PendingItemsCheckedCallback } from "./components/team-dev/commit/commit";
74
76
  export { cancelCallback, confirmCallback } from "./components/team-dev/select-recent-comment/select-recent-comment";
75
- export { ConfirmCallback as ConfirmCallback2, GridContextMenuCallback, LoadCallback as LoadCallback4, ObjectsContextMenuCallback as ObjectsContextMenuCallback1, PendingItemsCheckedCallback as PendingItemsCheckedCallback1, UpdateCallback, UpdateFromData, UpdateSelectCallback } from "./components/team-dev/update/update";
76
- export { AddCallback, CancelCallback as CancelCallback8, ConfirmCallback as ConfirmCallback3, ObjectData as ObjectData1 } from "./components/team-dev/update-partial-selection/update-partial-selection";
77
+ export { ConfirmCallback as ConfirmCallback3, GridContextMenuCallback, LoadCallback as LoadCallback4, ObjectsContextMenuCallback as ObjectsContextMenuCallback1, PendingItemsCheckedCallback as PendingItemsCheckedCallback1, UpdateCallback, UpdateFromData, UpdateSelectCallback } from "./components/team-dev/update/update";
78
+ export { AddCallback, CancelCallback as CancelCallback9, ConfirmCallback as ConfirmCallback4, ObjectData as ObjectData1 } from "./components/team-dev/update-partial-selection/update-partial-selection";
77
79
  export { cancelCallbackFn, confirmCallbackFn } from "./components/team-dev/update-to-revision/update-to-revision";
78
80
  export { TitleAlignment as TitleAlignment1, TitleType as TitleType1 } from "./components/_helpers/title/title";
79
81
  export { ContextMenuCallback, DeleteSelectionCallback, LoadCallback as LoadCallback5, LoadImageItemsCallback, NewObjectCallback as NewObjectCallback1, OpenSelectionCallback as OpenSelectionCallback1, SelectionObjectCallback, SelectModuleCallback as SelectModuleCallback3 } from "./components/ww-images/ww-images";
@@ -382,6 +384,52 @@ export namespace Components {
382
384
  */
383
385
  "renameKBCallback": (name: string) => Promise<EditResult>;
384
386
  }
387
+ interface GxIdeDataSelector {
388
+ /**
389
+ * Callback invoked when the user wishes to cancel the selection of objects.
390
+ */
391
+ "cancelCallback": CancelCallback1;
392
+ /**
393
+ * Callback invoked when the user presses the 'OK' button
394
+ */
395
+ "confirmCallback": ConfirmCallback1;
396
+ /**
397
+ * If true it displays the component title on the header
398
+ */
399
+ "displayTitle": false;
400
+ /**
401
+ * Callback invoked when user press edit button. Receives the first selected element id as parameter
402
+ */
403
+ "editCallback": EditCallback;
404
+ /**
405
+ * Callback invoked when the component needs to reload the list of attributes.
406
+ */
407
+ "loadItemsCallback": LoadItemsCallback;
408
+ /**
409
+ * If true, it will display a loader when needed.
410
+ */
411
+ "loader": false;
412
+ /**
413
+ * Callback invoked when the user presses the 'New' button.
414
+ */
415
+ "newVariableCallback": NewVariableCallback;
416
+ /**
417
+ * Callback invoked when the action is executed in the Object filter. It returns the information of the selected object (id and name) or 'undefined' if it was canceled.
418
+ */
419
+ "selectObjectCallback": SelectObjectCallback;
420
+ /**
421
+ * Single if multiple object selection is not allowed. Default is multiple
422
+ */
423
+ "selectionType": "single" | "multiple";
424
+ /**
425
+ * Suspends or reactivates the shortcuts
426
+ */
427
+ "suspendShortcuts": (suspendShortcuts: boolean) => Promise<void>;
428
+ /**
429
+ * Validate necessary data input
430
+ */
431
+ "validate": () => Promise<boolean>;
432
+ }
385
433
  interface GxIdeDirectorySelector {
386
434
  /**
387
435
  * This property provides the user a way to define custom aria-label descriptions.
@@ -480,11 +528,11 @@ export namespace Components {
480
528
  /**
481
529
  * This is a function provided by the developer that cancel the load operation.
482
530
  */
483
- "cancelCallback": CancelCallback1;
531
+ "cancelCallback": CancelCallback2;
484
532
  /**
485
533
  * This is a function provided by the developer that init the process of import a design.
486
534
  */
487
- "confirmCallback": ConfirmCallback1;
535
+ "confirmCallback": ConfirmCallback2;
488
536
  /**
489
537
  * The default value for the module/folder filter
490
538
  */
@@ -561,7 +609,7 @@ export namespace Components {
561
609
  * Callback invoked when the user wants to cancel the export process.
562
610
  * @returns It returns a boolean indicating whether the process could be canceled or not.
563
611
  */
564
- "cancelCallback": CancelCallback2;
612
+ "cancelCallback": CancelCallback3;
565
613
  /**
566
614
  * If true it displays the component title on the header
567
615
  */
@@ -607,7 +655,7 @@ export namespace Components {
607
655
  * Callback invoked when the user wants to cancel the export process.
608
656
  * @returns It returns a boolean indicating whether the process could be canceled or not.
609
657
  */
610
- "cancelCallback": CancelCallback3;
658
+ "cancelCallback": CancelCallback4;
611
659
  /**
612
660
  * If true it displays the component title on the header
613
661
  */
@@ -737,7 +785,7 @@ export namespace Components {
737
785
  /**
738
786
  * Callback that will be invoked when user wants to cancel
739
787
  */
740
- "cancelCallback": CancelCallback4;
788
+ "cancelCallback": CancelCallback5;
741
789
  /**
742
790
  * Callback that will be invoked when user confirms the KB creation
743
791
  */
@@ -804,7 +852,7 @@ export namespace Components {
804
852
  /**
805
853
  * Callback invoked when the user wants to cancel KB creation (‘Cancel’ button)
806
854
  */
807
- "cancelCallback": CancelCallback5;
855
+ "cancelCallback": CancelCallback6;
808
856
  /**
809
857
  * DB Collations
810
858
  */
@@ -898,7 +946,7 @@ export namespace Components {
898
946
  /**
899
947
  * Callback invoked when user wants to confirm object creation
900
948
  */
901
- "cancelCallback": CancelCallback6;
949
+ "cancelCallback": CancelCallback7;
902
950
  /**
903
951
  * Callback invoked when user wants to cancel object creation
904
952
  */
@@ -940,7 +988,7 @@ export namespace Components {
940
988
  /**
941
989
  * Callback invoked when the user wishes to cancel the selection of objects.
942
990
  */
943
- "cancelCallback": CancelCallback7;
991
+ "cancelCallback": CancelCallback8;
944
992
  /**
945
993
  * The categories render in the filter category selector
946
994
  */
@@ -1232,7 +1280,7 @@ export namespace Components {
1232
1280
  /**
1233
1281
  * This is a function provided by the developer that init the process of import a design.
1234
1282
  */
1235
- "confirmCallback": ConfirmCallback2;
1283
+ "confirmCallback": ConfirmCallback3;
1236
1284
  /**
1237
1285
  * If true it displays the component title on the header
1238
1286
  */
@@ -1294,11 +1342,11 @@ export namespace Components {
1294
1342
  /**
1295
1343
  * This is a function provided by the developer for execute when cancel button is pressed.
1296
1344
  */
1297
- "cancelCallback": CancelCallback8;
1345
+ "cancelCallback": CancelCallback9;
1298
1346
  /**
1299
1347
  * This is a function provided by the developer and is invoked when the action confirm is executed passing the selected objects of the grid
1300
1348
  */
1301
- "confirmCallback": ConfirmCallback3;
1349
+ "confirmCallback": ConfirmCallback4;
1302
1350
  /**
1303
1351
  * If true it displays the component title on the header
1304
1352
  */
@@ -1493,6 +1541,10 @@ export interface GxIdeDashboardHomeCustomEvent<T> extends CustomEvent<T> {
1493
1541
  detail: T;
1494
1542
  target: HTMLGxIdeDashboardHomeElement;
1495
1543
  }
1544
+ export interface GxIdeDataSelectorCustomEvent<T> extends CustomEvent<T> {
1545
+ detail: T;
1546
+ target: HTMLGxIdeDataSelectorElement;
1547
+ }
1496
1548
  export interface GxIdeEntitySelectorCustomEvent<T> extends CustomEvent<T> {
1497
1549
  detail: T;
1498
1550
  target: HTMLGxIdeEntitySelectorElement;
@@ -1675,6 +1727,24 @@ declare global {
1675
1727
  prototype: HTMLGxIdeDashboardHomeElement;
1676
1728
  new (): HTMLGxIdeDashboardHomeElement;
1677
1729
  };
1730
+ interface HTMLGxIdeDataSelectorElementEventMap {
1731
+ "componentDidRenderFirstTime": boolean;
1732
+ "componentDidLoadEvent": boolean;
1733
+ }
1734
+ interface HTMLGxIdeDataSelectorElement extends Components.GxIdeDataSelector, HTMLStencilElement {
1735
+ addEventListener<K extends keyof HTMLGxIdeDataSelectorElementEventMap>(type: K, listener: (this: HTMLGxIdeDataSelectorElement, ev: GxIdeDataSelectorCustomEvent<HTMLGxIdeDataSelectorElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1736
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1737
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1738
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1739
+ removeEventListener<K extends keyof HTMLGxIdeDataSelectorElementEventMap>(type: K, listener: (this: HTMLGxIdeDataSelectorElement, ev: GxIdeDataSelectorCustomEvent<HTMLGxIdeDataSelectorElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1740
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1741
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1742
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1743
+ }
1744
+ var HTMLGxIdeDataSelectorElement: {
1745
+ prototype: HTMLGxIdeDataSelectorElement;
1746
+ new (): HTMLGxIdeDataSelectorElement;
1747
+ };
1678
1748
  interface HTMLGxIdeDirectorySelectorElement extends Components.GxIdeDirectorySelector, HTMLStencilElement {
1679
1749
  }
1680
1750
  var HTMLGxIdeDirectorySelectorElement: {
@@ -2101,6 +2171,7 @@ declare global {
2101
2171
  "gx-ide-container": HTMLGxIdeContainerElement;
2102
2172
  "gx-ide-create-kb-from-server": HTMLGxIdeCreateKbFromServerElement;
2103
2173
  "gx-ide-dashboard-home": HTMLGxIdeDashboardHomeElement;
2174
+ "gx-ide-data-selector": HTMLGxIdeDataSelectorElement;
2104
2175
  "gx-ide-directory-selector": HTMLGxIdeDirectorySelectorElement;
2105
2176
  "gx-ide-entity-selector": HTMLGxIdeEntitySelectorElement;
2106
2177
  "gx-ide-file-selector": HTMLGxIdeFileSelectorElement;
@@ -2449,6 +2520,52 @@ declare namespace LocalJSX {
2449
2520
  */
2450
2521
  "renameKBCallback"?: (name: string) => Promise<EditResult>;
2451
2522
  }
2523
+ interface GxIdeDataSelector {
2524
+ /**
2525
+ * Callback invoked when the user wishes to cancel the selection of objects.
2526
+ */
2527
+ "cancelCallback": CancelCallback1;
2528
+ /**
2529
+ * Callback invoked when the user presses the 'OK' button
2530
+ */
2531
+ "confirmCallback": ConfirmCallback1;
2532
+ /**
2533
+ * If true it displays the component title on the header
2534
+ */
2535
+ "displayTitle"?: false;
2536
+ /**
2537
+ * Callback invoked when user press edit button. Receives the first selected element id as parameter
2538
+ */
2539
+ "editCallback"?: EditCallback;
2540
+ /**
2541
+ * Callback invoked when the component needs to reload the list of attributes.
2542
+ */
2543
+ "loadItemsCallback": LoadItemsCallback;
2544
+ /**
2545
+ * If true, it will display a loader when needed.
2546
+ */
2547
+ "loader"?: false;
2548
+ /**
2549
+ * Callback invoked when the user presses the 'New' button.
2550
+ */
2551
+ "newVariableCallback": NewVariableCallback;
2552
+ /**
2553
+ * This event is emitted once just after the component is fully loaded and the first render() occurs.
2554
+ */
2555
+ "onComponentDidLoadEvent"?: (event: GxIdeDataSelectorCustomEvent<boolean>) => void;
2556
+ /**
2557
+ * This event is emitted once just after the component is fully loaded and the first render() occurs
2558
+ */
2559
+ "onComponentDidRenderFirstTime"?: (event: GxIdeDataSelectorCustomEvent<boolean>) => void;
2560
+ /**
2561
+ * Callback invoked when the action is executed in the Object filter. It returns the information of the selected object (id and name) or 'undefined' if it was canceled.
2562
+ */
2563
+ "selectObjectCallback"?: SelectObjectCallback;
2564
+ /**
2565
+ * Single if multiple object selection is not allowed. Default is multiple
2566
+ */
2567
+ "selectionType"?: "single" | "multiple";
2568
+ }
2452
2569
  interface GxIdeDirectorySelector {
2453
2570
  /**
2454
2571
  * This property provides the user a way to define custom aria-label descriptions.
@@ -2551,11 +2668,11 @@ declare namespace LocalJSX {
2551
2668
  /**
2552
2669
  * This is a function provided by the developer that cancel the load operation.
2553
2670
  */
2554
- "cancelCallback": CancelCallback1;
2671
+ "cancelCallback": CancelCallback2;
2555
2672
  /**
2556
2673
  * This is a function provided by the developer that init the process of import a design.
2557
2674
  */
2558
- "confirmCallback": ConfirmCallback1;
2675
+ "confirmCallback": ConfirmCallback2;
2559
2676
  /**
2560
2677
  * The default value for the module/folder filter
2561
2678
  */
@@ -2632,7 +2749,7 @@ declare namespace LocalJSX {
2632
2749
  * Callback invoked when the user wants to cancel the export process.
2633
2750
  * @returns It returns a boolean indicating whether the process could be canceled or not.
2634
2751
  */
2635
- "cancelCallback"?: CancelCallback2;
2752
+ "cancelCallback"?: CancelCallback3;
2636
2753
  /**
2637
2754
  * If true it displays the component title on the header
2638
2755
  */
@@ -2682,7 +2799,7 @@ declare namespace LocalJSX {
2682
2799
  * Callback invoked when the user wants to cancel the export process.
2683
2800
  * @returns It returns a boolean indicating whether the process could be canceled or not.
2684
2801
  */
2685
- "cancelCallback"?: CancelCallback3;
2802
+ "cancelCallback"?: CancelCallback4;
2686
2803
  /**
2687
2804
  * If true it displays the component title on the header
2688
2805
  */
@@ -2828,7 +2945,7 @@ declare namespace LocalJSX {
2828
2945
  /**
2829
2946
  * Callback that will be invoked when user wants to cancel
2830
2947
  */
2831
- "cancelCallback"?: CancelCallback4;
2948
+ "cancelCallback"?: CancelCallback5;
2832
2949
  /**
2833
2950
  * Callback that will be invoked when user confirms the KB creation
2834
2951
  */
@@ -2895,7 +3012,7 @@ declare namespace LocalJSX {
2895
3012
  /**
2896
3013
  * Callback invoked when the user wants to cancel KB creation (‘Cancel’ button)
2897
3014
  */
2898
- "cancelCallback"?: CancelCallback5;
3015
+ "cancelCallback"?: CancelCallback6;
2899
3016
  /**
2900
3017
  * DB Collations
2901
3018
  */
@@ -2989,7 +3106,7 @@ declare namespace LocalJSX {
2989
3106
  /**
2990
3107
  * Callback invoked when user wants to confirm object creation
2991
3108
  */
2992
- "cancelCallback"?: CancelCallback6;
3109
+ "cancelCallback"?: CancelCallback7;
2993
3110
  /**
2994
3111
  * Callback invoked when user wants to cancel object creation
2995
3112
  */
@@ -3047,7 +3164,7 @@ declare namespace LocalJSX {
3047
3164
  /**
3048
3165
  * Callback invoked when the user wishes to cancel the selection of objects.
3049
3166
  */
3050
- "cancelCallback": CancelCallback7;
3167
+ "cancelCallback": CancelCallback8;
3051
3168
  /**
3052
3169
  * The categories render in the filter category selector
3053
3170
  */
@@ -3367,7 +3484,7 @@ declare namespace LocalJSX {
3367
3484
  /**
3368
3485
  * This is a function provided by the developer that init the process of import a design.
3369
3486
  */
3370
- "confirmCallback": ConfirmCallback2;
3487
+ "confirmCallback": ConfirmCallback3;
3371
3488
  /**
3372
3489
  * If true it displays the component title on the header
3373
3490
  */
@@ -3433,11 +3550,11 @@ declare namespace LocalJSX {
3433
3550
  /**
3434
3551
  * This is a function provided by the developer for execute when cancel button is pressed.
3435
3552
  */
3436
- "cancelCallback": CancelCallback8;
3553
+ "cancelCallback": CancelCallback9;
3437
3554
  /**
3438
3555
  * This is a function provided by the developer and is invoked when the action confirm is executed passing the selected objects of the grid
3439
3556
  */
3440
- "confirmCallback": ConfirmCallback3;
3557
+ "confirmCallback": ConfirmCallback4;
3441
3558
  /**
3442
3559
  * If true it displays the component title on the header
3443
3560
  */
@@ -3631,6 +3748,7 @@ declare namespace LocalJSX {
3631
3748
  "gx-ide-container": GxIdeContainer;
3632
3749
  "gx-ide-create-kb-from-server": GxIdeCreateKbFromServer;
3633
3750
  "gx-ide-dashboard-home": GxIdeDashboardHome;
3751
+ "gx-ide-data-selector": GxIdeDataSelector;
3634
3752
  "gx-ide-directory-selector": GxIdeDirectorySelector;
3635
3753
  "gx-ide-entity-selector": GxIdeEntitySelector;
3636
3754
  "gx-ide-file-selector": GxIdeFileSelector;
@@ -3673,6 +3791,7 @@ declare module "@stencil/core" {
3673
3791
  "gx-ide-container": LocalJSX.GxIdeContainer & JSXBase.HTMLAttributes<HTMLGxIdeContainerElement>;
3674
3792
  "gx-ide-create-kb-from-server": LocalJSX.GxIdeCreateKbFromServer & JSXBase.HTMLAttributes<HTMLGxIdeCreateKbFromServerElement>;
3675
3793
  "gx-ide-dashboard-home": LocalJSX.GxIdeDashboardHome & JSXBase.HTMLAttributes<HTMLGxIdeDashboardHomeElement>;
3794
+ "gx-ide-data-selector": LocalJSX.GxIdeDataSelector & JSXBase.HTMLAttributes<HTMLGxIdeDataSelectorElement>;
3676
3795
  "gx-ide-directory-selector": LocalJSX.GxIdeDirectorySelector & JSXBase.HTMLAttributes<HTMLGxIdeDirectorySelectorElement>;
3677
3796
  "gx-ide-entity-selector": LocalJSX.GxIdeEntitySelector & JSXBase.HTMLAttributes<HTMLGxIdeEntitySelectorElement>;
3678
3797
  "gx-ide-file-selector": LocalJSX.GxIdeFileSelector & JSXBase.HTMLAttributes<HTMLGxIdeFileSelectorElement>;
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.98",
4
+ "version": "0.0.99",
5
5
  "description": "GeneXus IDE UI components",
6
6
  "main": "dist/index.cjs.js",
7
7
  "module": "dist/index.js",
@@ -1 +0,0 @@
1
- {"file":"gx-ide-container.gxg-form-checkbox.entry.cjs.js","mappings":"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","names":["h","Host","formMessageLogic","exportParts","state","formClasses","commonClassesNames"],"sources":["src/components/_helpers/container/container.scss?tag=gx-ide-container&encapsulation=shadow","src/components/_helpers/container/container.tsx","node_modules/@genexus/gemini/dist/collection/components/form-checkbox/form-checkbox.css?tag=gxg-form-checkbox&encapsulation=shadow","node_modules/@genexus/gemini/dist/collection/components/form-checkbox/form-checkbox.js"],"sourcesContent":["@import \"../../../../node_modules/@genexus/gemini/dist/gemini/globals/mixins.scss\";\n\n/*******************************\nHOST / GENERAL\n********************************/\n:host {\n --gx-ide-container-elements-spacing: var(--mer-spacing--xs);\n display: block;\n height: 100%;\n box-sizing: border-box;\n}\n.container {\n display: grid;\n height: 100%;\n grid-template-rows: auto 1fr auto;\n box-sizing: border-box;\n}\n.heading,\n.content,\n.footer,\n.footer-above {\n padding: var(--gx-ide-container__padding);\n}\n/*PADDING*/\n.container--padding-s {\n --gx-ide-container__padding: var(--mer-spacing--xs);\n}\n.container--padding-m {\n --gx-ide-container__padding: var(--mer-spacing--sm);\n}\n.container--padding-l {\n --gx-ide-container__padding: var(--mer-spacing--md);\n}\n/*BORDERS*/\n.container--display-border {\n border: 1px solid var(--gx-ide-container-border-color);\n}\n.container--display-border-top {\n border-top: 1px solid var(--gx-ide-container-border-color);\n}\n.container--display-border-end {\n border-inline-end: 1px solid var(--gx-ide-container-border-color);\n}\n.container--display-border-bottom {\n border-bottom: 1px solid var(--gx-ide-container-border-color);\n}\n.container--display-border-start {\n border-inline-start: 1px solid var(--gx-ide-container-border-color);\n}\n.container--overflow-hidden-y {\n overflow-y: hidden;\n}\n/*******************************\nHEADING\n********************************/\n.heading {\n // @include gxg-flex-justify();\n display: flex;\n flex-direction: column;\n gap: var(--gx-ide-container__padding);\n width: 100%;\n box-sizing: border-box;\n border-bottom: 1px solid var(--gx-ide-container-border-color);\n &--no-border {\n border-bottom: 0;\n }\n &--no-padding {\n padding: 0;\n }\n &--inactive {\n color: var(--gxg-color--disabled);\n }\n &--padding-top {\n padding: var(--gx-ide-container__padding) 0 0 0;\n }\n &--slimmer {\n padding-top: var(--mer-spacing--xs);\n padding-bottom: var(--mer-spacing--xs);\n }\n &--form-text-height {\n .heading__title {\n min-height: var(--gxg-form-text-height);\n justify-content: center;\n }\n }\n &--flex-row {\n flex-direction: row;\n align-items: center;\n justify-content: center;\n }\n}\n/*******************************\nCONTENT\n********************************/\n.content {\n overflow-x: auto;\n display: flex;\n flex-direction: column;\n gap: var(--gx-ide-form-items-gap);\n box-sizing: border-box;\n @include gxg-scrollbar();\n\n &--no-padding {\n padding: 0;\n }\n &--no-border-top {\n border-top: none;\n }\n &--flex {\n display: flex;\n }\n &--no-gap {\n gap: 0;\n }\n &--align-items-start {\n align-items: start;\n }\n &--align-items-center {\n align-items: center;\n }\n &--align-items-end {\n align-items: end;\n }\n &--justify-content-start {\n justify-content: start;\n }\n &--justify-content-center {\n justify-content: center;\n }\n &--justify-content-end {\n justify-content: end;\n }\n &--border-end {\n border-inline-end: 1px solid var(--gx-ide-container-border-color);\n }\n}\n/*only content*/\n.container--only-content {\n grid-template-rows: 1fr;\n}\n/*no header, but has footer*/\n.container--no-header:not(.container--only-content) {\n grid-template-rows: 1fr auto;\n}\n/*no footer, but has header*/\n.container--no-footer:not(.container--only-content) {\n grid-template-rows: auto 1fr;\n}\n/*******************************\nFOOTER\n********************************/\n/*ABOVE*/\n.footer-above {\n border-top: 1px solid var(--gx-ide-container-border-color);\n &--no-border-top {\n border-top: 0;\n }\n &--slimmer {\n padding-top: var(--mer-spacing--xs);\n padding-bottom: var(--mer-spacing--xs);\n }\n &--no-padding {\n padding: 0;\n }\n}\n/*START and END*/\n.footer {\n display: flex;\n gap: var(--gx-ide-container-elements-spacing);\n flex-wrap: wrap;\n justify-content: space-between;\n align-items: center;\n border-top: 1px solid var(--gx-ide-container-border-color);\n &__start,\n &__end {\n display: flex;\n gap: var(--gx-ide-container-elements-spacing);\n }\n &--no-border {\n border-top: 0;\n }\n &--no-padding {\n padding: 0;\n }\n &--slimmer {\n padding-top: var(--mer-spacing--xs);\n padding-bottom: var(--mer-spacing--xs);\n }\n}\n","import { Component, Host, h, Prop, Element, State } from \"@stencil/core\";\nimport { TitleAlignment } from \"@genexus/gemini/dist/types/common/types\";\nimport { TitleType } from \"../title/title\";\n@Component({\n tag: \"gx-ide-container\",\n styleUrl: \"container.scss\",\n shadow: true\n})\nexport class GxIdeContainer {\n /*\nINDEX:\n1.OWN PROPERTIES\n2.REFERENCE TO ELEMENTS\n3.STATE() VARIABLES\n4.PUBLIC PROPERTY API\n5.EVENTS (EMIT)\n6.COMPONENT LIFECYCLE EVENTS\n7.LISTENERS\n8.PUBLIC METHODS API\n9.LOCAL METHODS\n10.RENDER() FUNCTION\n*/\n\n // 1.OWN PROPERTIES //\n\n /* GENERAL */\n\n /**\n * By setting the title to inactive, the color will be gray instead of black.\n */\n @Prop() readonly inactiveTitle: boolean = false;\n\n /**\n * The title of the container\n */\n @Prop() readonly containerTitle: string;\n\n /**\n * The title of the container\n */\n @Prop() readonly titleType: TitleType = \"primary\";\n\n /**\n * Displays a border all around the container\n */\n @Prop() readonly displayBorder: boolean = false;\n\n /**\n * Displays a border on the top\n */\n @Prop() readonly displayBorderTop: boolean = false;\n\n /**\n * Displays a border at the end\n */\n @Prop() readonly displayBorderEnd: boolean = false;\n\n /**\n * Displays a border at on the bottom\n */\n @Prop() readonly displayBorderBottom: boolean = false;\n\n /**\n * Displays a border at the start\n */\n @Prop() readonly displayBorderStart: boolean = false;\n\n /**\n * The container general padding (applies to .heading, .content, and .footer)\n */\n @Prop() readonly sectionsPadding: SectionsPadding = \"m\";\n\n /* HEADING*/\n\n /**\n * Title alignment\n */\n @Prop() readonly titleAlignment: TitleAlignment = \"center\";\n\n /**\n * Removes the border bottom from the heading\n */\n @Prop() readonly noHeadingBorder: boolean = false;\n\n /**\n * Removes the padding from the heading\n */\n @Prop() readonly noHeadingPadding: boolean = false;\n\n /**\n * Adds padding to the top of the heading\n */\n @Prop() readonly headingPaddingTop: boolean = false;\n\n /**\n * The heading justification\n */\n @Prop() readonly headingJustify: HeadingJustify = \"center\";\n\n /**\n * It forces the .heading__title min-height to be as tall as the gxg-form-text height. This is useful when you are displaying two gx-ide-container's on the same row, both of them display a title, and one of them displays a gxg-form-text in the header (usually used to filter content). Without this property set to true, the .heading without a gxg-from-text would be shorter. At the time of writing, this is used on ww-images.\n */\n @Prop() readonly titleHeightAsInput: boolean = false;\n\n /**\n * Makes the header (.heading) display flex:row, instad of the default flex:column.\n */\n @Prop() readonly flexRow: boolean = false;\n\n /* CONTENT */\n\n /**\n * Makes the content a flex container\n */\n @Prop() readonly flexContent: boolean = false;\n\n /**\n * Removes the border-top from the content\n */\n @Prop() readonly noContentBorderTop: boolean = false;\n\n /**\n * Removes the padding from the content\n */\n @Prop() readonly noContentPadding: boolean = false;\n\n /**\n * Removes the gap from the content\n */\n @Prop() readonly noContentGap: boolean = false;\n\n /**\n * Align items\n */\n @Prop() readonly alignItems: AlignItems = undefined;\n\n /**\n * Justify content\n */\n @Prop() readonly justifyContent: JustifyContent = undefined;\n\n /**\n * Display border end on the content\n */\n @Prop() readonly contentBorderEnd: boolean = false;\n\n /* FOOTER ABOVE */\n\n /**\n * Makes the above footer vertical padding slimmer\n */\n @Prop() readonly slimmerAboveFooter: boolean = false;\n\n /**\n * Removes the above padding from the footer\n */\n @Prop() readonly noAboveFooterPadding: boolean = false;\n\n /**\n * Removes the above border top\n */\n @Prop() readonly noBorderAboveFooter: boolean = false;\n\n /* FOOTER > START and FOOTER > END*/\n\n /**\n * Makes the footer vertical padding slimmer\n */\n @Prop() readonly slimmerFooter: boolean = false;\n\n /**\n * Removes the padding from the footer\n */\n @Prop() readonly noFooterPadding: boolean = false;\n\n /**\n * The footer justification\n */\n @Prop() readonly footerJustify: FooterJustify = \"end\";\n\n /**\n * Removes the border top from the footer\n */\n @Prop() readonly noBorderFooter: boolean = false;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeContainerElement;\n\n // 3.STATE() VARIABLES //\n\n /**\n * A boolean variable indicating if the component has or not any content for the 'header' slot\n */\n @State() hasHeaderSlot = false;\n\n /**\n * A boolean variable indicating if the component has or not any content slotted content (regular slotted content, without 'slot' attribute)\n */\n @State() hasSlottedContent = false;\n\n /**\n * A boolean variable indicating if the component has or not any content for the 'footer' slot\n */\n @State() hasFooterSlot = false;\n\n /**\n * A boolean variable indicating if the component has or not any content for the 'footer' slot\n */\n @State() hasAboveFooterSlot = false;\n\n /**\n * A boolean variable indicating that the container only has the heading section\n */\n @State() hasOnlyHeading = false;\n\n /**\n * A boolean variable indicating that the container only has the content section\n */\n @State() hasOnlyContent = false;\n\n /**\n * A boolean variable indicating that the container only has the footer section\n */\n @State() hasOnlyFooter = false;\n\n // 4.PUBLIC PROPERTY API //\n\n // 5.EVENTS (EMIT) //\n\n // 6.COMPONENT LIFECYCLE EVENTS //\n\n componentWillLoad() {\n this.evaluateSlots();\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n // 9.LOCAL METHODS //\n\n private evaluateSlots() {\n // header\n const headerSlot = this.el.querySelectorAll(':scope > [slot=\"header\"]');\n if (headerSlot.length) {\n this.hasHeaderSlot = true;\n }\n // content\n const slottedContent = this.el.querySelectorAll(\":scope > :not([slot])\");\n if (slottedContent.length) {\n this.hasSlottedContent = true;\n }\n // footer\n const footerAboveSlot = this.el.querySelectorAll(\n ':scope > [slot=\"footer-above\"]'\n );\n const footerStartSlot = this.el.querySelectorAll(\n ':scope > [slot=\"footer-start\"]'\n );\n const footerEndSlot = this.el.querySelectorAll(\n ':scope > [slot=\"footer-end\"]'\n );\n if (footerStartSlot.length || footerEndSlot.length) {\n this.hasFooterSlot = true;\n }\n if (footerAboveSlot.length) {\n this.hasAboveFooterSlot = true;\n }\n }\n\n private evaluateSections() {\n // has only heading\n if (\n !this.hasSlottedContent &&\n !this.hasFooterSlot &&\n !this.hasAboveFooterSlot\n ) {\n this.hasOnlyHeading = true;\n }\n // has only content\n if (\n this.hasSlottedContent &&\n !this.containerTitle &&\n !this.hasHeaderSlot &&\n !this.hasAboveFooterSlot &&\n !this.hasFooterSlot\n ) {\n this.hasOnlyContent = true;\n }\n // has only footer\n if (\n !this.hasSlottedContent &&\n !this.containerTitle &&\n !this.hasAboveFooterSlot\n ) {\n this.hasOnlyFooter = true;\n }\n }\n\n private headingClasses = (): string | { [className: string]: boolean } => {\n return {\n \"heading\": true,\n \"heading--inactive\": this.inactiveTitle,\n \"heading--slimmer\": this.titleType === \"secondary\",\n \"heading--no-border\": this.noHeadingBorder || this.hasOnlyHeading,\n [`heading--justify-${this.headingJustify}`]: true,\n \"heading--no-padding\": this.noHeadingPadding,\n \"heading--padding-top\":\n this.headingPaddingTop && this.containerTitle?.length > 0,\n \"heading--form-text-height\": this.titleHeightAsInput,\n \"heading--flex-row\": this.flexRow\n };\n };\n\n private contentClasses = (): string | { [className: string]: boolean } => {\n return {\n \"content\": true,\n \"content--flex\": this.flexContent,\n \"content--no-padding\": this.noContentPadding,\n \"content--no-gap\": this.noContentGap,\n \"content--no-border-top\": this.noContentBorderTop,\n \"content--border-end\": this.contentBorderEnd,\n [`content--align-items-${this.alignItems}`]:\n this.alignItems !== undefined,\n [`content--justify-content-${this.justifyContent}`]:\n this.justifyContent !== undefined\n };\n };\n\n private aboveFooter = (): JSX.Element | null => {\n return this.hasAboveFooterSlot ? (\n <footer\n class={{\n \"footer-above\": true,\n \"footer-above--no-border-top\": this.noBorderAboveFooter,\n \"footer-above--no-padding\": this.noAboveFooterPadding,\n \"footer-above--slimmer\": this.slimmerFooter\n }}\n >\n <slot name=\"footer-above\"></slot>\n </footer>\n ) : null;\n };\n\n private footer = (): JSX.Element | null => {\n return this.hasFooterSlot ? (\n <footer\n class={{\n \"footer\": true,\n \"footer--no-border\":\n this.hasOnlyFooter ||\n !this.hasSlottedContent ||\n this.noBorderFooter,\n [`footer--justify-${this.footerJustify}`]: true,\n [`footer--justify-${this.footerJustify}`]: true,\n \"footer--no-padding\": this.noFooterPadding,\n \"footer--slimmer\": this.slimmerFooter\n }}\n >\n <div class=\"footer__start\">\n <slot name=\"footer-start\"></slot>\n </div>\n <div class=\"footer__end\">\n <slot name=\"footer-end\"></slot>\n </div>\n </footer>\n ) : null;\n };\n\n // 10.RENDER() FUNCTION //\n\n render() {\n this.evaluateSections();\n const result = [\n this.containerTitle || this.hasHeaderSlot ? (\n <header class={this.headingClasses()}>\n {this.containerTitle ? (\n <gx-ide-title\n class=\"heading__title\"\n type={this.titleType}\n alignment={this.titleAlignment as any}\n >\n {this.containerTitle}\n </gx-ide-title>\n ) : null}\n {this.hasHeaderSlot ? (\n <div class=\"heading__inner-wrapper\">\n <slot name=\"header\"></slot>\n </div>\n ) : null}\n </header>\n ) : null,\n this.hasSlottedContent ? (\n <div class={this.contentClasses()} part=\"content\">\n <slot></slot>\n </div>\n ) : null,\n this.aboveFooter(),\n this.footer()\n ];\n\n return (\n <Host>\n <div\n class={{\n \"container\": true,\n [`container--padding-${this.sectionsPadding}`]: true,\n \"container--display-border\": this.displayBorder,\n \"container--display-border-top\": this.displayBorderTop,\n \"container--display-border-end\": this.displayBorderEnd,\n \"container--display-border-bottom\": this.displayBorderBottom,\n \"container--display-border-start\": this.displayBorderStart,\n \"container--only-content\": this.hasOnlyContent,\n \"container--no-header\": !this.hasHeaderSlot && !this.containerTitle,\n \"container--no-footer\": !this.hasFooterSlot\n }}\n >\n {result}\n </div>\n </Host>\n );\n }\n}\n\nexport type HeadingJustify = \"start\" | \"center\" | \"end\";\nexport type FooterJustify = \"start\" | \"center\" | \"end\";\nexport type SectionsPadding = \"s\" | \"m\" | \"l\";\nexport type AlignItems = \"start\" | \"center\" | \"end\";\nexport type JustifyContent = \"start\" | \"center\" | \"end\";\n","/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n/* Document\n ========================================================================== */\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\nhtml {\n line-height: 1.15;\n /* 1 */\n -webkit-text-size-adjust: 100%;\n /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n/**\n * Remove the margin in all browsers.\n */\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\nhr {\n box-sizing: content-box;\n /* 1 */\n height: 0;\n /* 1 */\n overflow: visible;\n /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\npre {\n font-family: monospace, monospace;\n /* 1 */\n font-size: 1em;\n /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n/**\n * Remove the gray background on active links in IE 10.\n */\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\nabbr[title] {\n border-bottom: none;\n /* 1 */\n text-decoration: underline;\n /* 2 */\n text-decoration: underline dotted;\n /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n /* 1 */\n font-size: 1em;\n /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n/**\n * Remove the border on images inside links in IE 10.\n */\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit;\n /* 1 */\n font-size: 100%;\n /* 1 */\n line-height: 1.15;\n /* 1 */\n margin: 0;\n /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\nbutton,\n[type=button],\n[type=reset],\n[type=submit] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\nbutton::-moz-focus-inner,\n[type=button]::-moz-focus-inner,\n[type=reset]::-moz-focus-inner,\n[type=submit]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\nbutton:-moz-focusring,\n[type=button]:-moz-focusring,\n[type=reset]:-moz-focusring,\n[type=submit]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\nlegend {\n box-sizing: border-box;\n /* 1 */\n color: inherit;\n /* 2 */\n display: table;\n /* 1 */\n max-width: 100%;\n /* 1 */\n padding: 0;\n /* 3 */\n white-space: normal;\n /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n[type=checkbox],\n[type=radio] {\n box-sizing: border-box;\n /* 1 */\n padding: 0;\n /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n[type=number]::-webkit-inner-spin-button,\n[type=number]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n[type=search] {\n -webkit-appearance: textfield;\n /* 1 */\n outline-offset: -2px;\n /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n[type=search]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n::-webkit-file-upload-button {\n -webkit-appearance: button;\n /* 1 */\n font: inherit;\n /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n/**\n * Add the correct display in IE 10+.\n */\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n[hidden] {\n display: none;\n}\n\n:root {\n --ui-animaton-speed: 0.2s;\n}\n\n/*ALIGNMENT*/\n/*Ellipsis*/\n/*****************************************************\nTYPOGRAPHY\n*****************************************************/\n/*Title 01 (Positive)*/\n.gxg-title-01 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-01-font-weight);\n font-size: var(--ds-title-01-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n/*Title 01 (Negative)*/\n.gxg-title-01--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-01-font-weight);\n font-size: var(--ds-title-01-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Title 02 (Positive)*/\n.gxg-title-02 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-02-font-weight);\n font-size: var(--ds-title-02-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-02--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-02-font-weight);\n font-size: var(--ds-title-02-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--color-on-primary);\n}\n\n/*Title 03*/\n.gxg-title-03 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-03-font-weight);\n font-size: var(--ds-title-03-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-03--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-03-font-weight);\n font-size: var(--ds-title-03-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Title 04*/\n.gxg-title-04 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-04-font-weight);\n font-size: var(--ds-title-04-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-04--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-04-font-weight);\n font-size: var(--ds-title-04-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Title 05*/\n.gxg-title-05 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-05-font-weight);\n font-size: var(--ds-title-05-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-05--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-05-font-weight);\n font-size: var(--ds-title-05-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Text*/\n.gxg-text {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-text--negative {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n.gxg-text--gray {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--dimmed);\n}\n\n/*Quote*/\n.gxg-quote {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n font-style: italic;\n}\n\n.gxg-quote--negative {\n color: var(--ds-base-font-color--negative);\n}\n\n/*Link*/\n.gxg-link {\n line-height: unset;\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--link);\n text-decoration: underline;\n cursor: pointer;\n display: inline-block;\n}\n.gxg-link:hover {\n color: var(--ds-base-font-color--link-hover);\n}\n.gxg-link:active {\n color: var(--ds-base-font-color--link-active);\n}\n\n.gxg-link-gray {\n line-height: unset;\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--link);\n text-decoration: underline;\n cursor: pointer;\n display: inline-block;\n color: var(--ds-base-font-color--dimmed);\n}\n.gxg-link-gray:hover {\n line-height: unset;\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--link);\n text-decoration: underline;\n cursor: pointer;\n display: inline-block;\n color: var(--ds-base-font-color--dimmed);\n filter: brightness(1.4);\n}\n\n/*Alerts*/\n.gxg-alert-error {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--error);\n display: inline-block;\n}\n\n.gxg-alert-warning {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--warning);\n display: inline-block;\n}\n\n.gxg-alert-success {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--success);\n display: inline-block;\n}\n\n/*Tab*/\n.gxg-tab--disabled {\n color: var(--color-primary-disabled);\n pointer-events: none;\n}\n.gxg-tab--disabled[disabled] {\n color: var(--color-primary-disabled);\n pointer-events: none;\n}\n\n/*Label*/\n.gxg-label {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--gxg-label-font-weight);\n font-size: var(--gxg-label-font-size);\n color: var(--gxg-label-color);\n text-align: center;\n line-height: 1.455em;\n display: flex;\n align-items: center;\n}\n.gxg-label:hover {\n color: var(--color-primary-hover);\n}\n.gxg-label:focus {\n color: var(--color-primary-active);\n}\n.gxg-label:active {\n color: var(--color-primary-active);\n}\n.gxg-label[disabled] {\n color: var(--color-primary-disabled);\n}\n\n.gxg-label--negative {\n color: var(--color-on-primary);\n}\n.gxg-label--negative[disabled] {\n color: var(--color-on-disabled);\n}\n\n/*****************************************************\nGXG-BUTTON and GXG-BUTTON-GROUP COMMON STYLES\n*****************************************************/\n/*****************************************************\nFORM ELEMENTS\n*****************************************************/\n.gxg-scrollbar {\n /* Track */\n /* Handle */\n /* Handle on hover */\n}\n.gxg-scrollbar::-webkit-scrollbar {\n width: var(--gxg-scrollbar-width);\n height: var(--gxg-scrollbar-width);\n}\n.gxg-scrollbar::-webkit-scrollbar-track {\n background-color: var(--gxg-scrollbar-track-background);\n border-radius: var(--gxg-scrollbar-track-border-radius);\n}\n.gxg-scrollbar::-webkit-scrollbar-thumb {\n background-color: var(--gxg-scrollbar-track-thumb-background);\n border-radius: var(--gxg-scrollbar-track-thumb-radius);\n}\n.gxg-scrollbar::-webkit-scrollbar-thumb:hover {\n background-color: var(--gxg-scrollbar-track-thumb-hover-background);\n}\n.gxg-scrollbar::-webkit-scrollbar-corner {\n background: rgba(0, 0, 0, 0);\n}\n\n/*Warning*/\n:host(.gxg-validation--warning) .form-element {\n border-color: var(--ds-border-color--warning);\n}\n:host(.gxg-validation--warning) .form-element:focus {\n outline-color: var(--ds-border-color--warning);\n border-color: var(--ds-border-color--warning);\n}\n:host(.gxg-validation--warning) .form-element:focus + .checkmark {\n --checkmark-border-color: var(--ds-border-color--warning);\n}\n\n/*Error*/\n:host(.gxg-validation--error) .form-element {\n border-color: var(--ds-border-color--error);\n}\n:host(.gxg-validation--error) .form-element:focus {\n outline-color: var(--ds-border-color--error);\n border-color: var(--ds-border-color--error);\n}\n:host(.gxg-validation--error) .form-element:focus + .checkmark {\n --checkmark-border-color: var(--ds-border-color--error);\n}\n\n/*Success*/\n:host(.gxg-validation--success) .form-element {\n border-color: var(--ds-border-color--success);\n}\n:host(.gxg-validation--success) .form-element:focus {\n outline-color: var(--ds-border-color--success);\n border-color: var(--ds-border-color--success);\n}\n:host(.gxg-validation--success) .form-element:focus + .checkmark {\n --checkmark-border-color: var(--ds-border-color--success);\n}\n\n/*Tooltip*/\n.tooltip-outer-wrapper {\n display: grid;\n grid-template-columns: 0fr;\n transition: grid-template-columns var(--timing-02);\n}\n\n:host(.tooltip--visible) .tooltip-outer-wrapper {\n grid-template-columns: 1fr;\n}\n\n.tooltip-inner-wrapper {\n --margin-inline-start: 6px;\n overflow: hidden;\n transition: 150ms width;\n width: 0;\n}\n.tooltip-inner-wrapper gxg-icon {\n display: flex;\n position: relative !important;\n top: 0 !important;\n transform: none !important;\n margin-inline-start: var(--margin-inline-start);\n box-sizing: border-box;\n}\n.tooltip-inner-wrapper--visible {\n width: calc(var(--ds-icon-size-box--small) + var(--margin-inline-start));\n}\n.tooltip-inner-wrapper--hidden {\n display: none;\n}\n\n:host(.gxg--disabled) .form-element,\n:host(.gxg--disabled.form-element) {\n pointer-events: none;\n background-color: var(--ds-background-color-disabled) !important;\n color: var(--ds-color--disabled) !important;\n border-color: var(--ds-border-color-disabled) !important;\n cursor: default !important;\n}\n\n:host {\n display: block;\n line-height: 0;\n}\n\n.gxg-form-checkbox__wrapper {\n display: inline-flex;\n align-items: center;\n cursor: pointer;\n}\n.gxg-form-checkbox__wrapper:hover .wrapper {\n border-color: var(--gxg-checkbox-border-color--hover);\n}\n\n.wrapper {\n flex-shrink: 0;\n border-color: var(--gxg-checkbox-border-color);\n background-color: var(--gxg-checkbox-background-color);\n /*additional styles*/\n width: var(--gxg-checkbox-size);\n height: var(--gxg-checkbox-size);\n position: relative;\n border-width: var(--gxg-checkbox-border-width);\n border-style: solid;\n border-color: var(--gxg-checkbox-border-color);\n border-radius: var(--gxg-checkbox-border-radius);\n}\n.wrapper:after {\n content: \"\";\n position: absolute;\n display: block;\n border: solid;\n border-color: transparent;\n z-index: 0;\n}\n.wrapper--checked:after {\n left: 5.5px;\n top: 3px;\n width: 4px;\n height: 7px;\n border-width: 0 2px 2px 0;\n -webkit-transform: rotate(45deg);\n -ms-transform: rotate(45deg);\n transform: rotate(45deg);\n border-color: var(--gxg-checkbox-indicator-color);\n}\n.wrapper--indeterminate:after {\n left: 50%;\n top: 50%;\n width: 8px;\n height: 1.5px;\n border: 0;\n background-color: var(--gxg-checkbox-indicator-color);\n -webkit-transform: rotate(0) translateY(-50%) translateX(-50%);\n -ms-transform: rotate(0) translateY(-50%) translateX(-50%);\n transform: rotate(0) translateY(-50%) translateX(-50%);\n}\n.wrapper--has-icon {\n margin-inline-end: var(--gxg-checkbox-spacing);\n}\n\n.input {\n position: relative;\n z-index: 1;\n display: flex;\n width: 100%;\n height: 100%;\n opacity: 0;\n margin: 0;\n padding: 0;\n cursor: pointer;\n height: 0;\n width: 0;\n}\n\n.input:focus + .wrapper {\n outline: var(--ds-focus-border-width) solid var(--ds-border-color-control--focused);\n outline-offset: -1px;\n outline-offset: 0;\n outline-offset: -1px;\n}\n\n.label--has-icon {\n padding-inline-start: var(--gxg-checkbox-spacing);\n}\n\n/*Disabled*/\n:host([disabled]) .gxg-form-checkbox__wrapper,\n:host([disabled]) .input {\n cursor: initial;\n}\n:host([disabled]) .wrapper {\n border-color: var(--ds-border-color-disabled);\n background-color: var(--gxg-checkbox-disabled-background-color);\n}\n\n/*********************************************\nVALIDATION\n**********************************************/\n.messages-wrapper {\n margin-top: var(--spacing-comp-02);\n display: flex;\n gap: var(--spacing-comp-01);\n flex-direction: column;\n}","import { Host, h } from \"@stencil/core\";\nimport { formMessageLogic } from \"../../common/form\";\nimport { formClasses } from \"../../common/classesNames\";\nimport { commonClassesNames } from \"../../common/classesNames\";\nimport state from \"../store\";\nimport { exportParts } from \"../../common/export-parts\";\nexport class GxgFormCheckbox {\n constructor() {\n this.checkboxId = undefined;\n this.checked = false;\n this.indeterminate = false;\n this.disabled = false;\n this.label = undefined;\n this.labelSize = \"regular\";\n this.value = undefined;\n this.name = undefined;\n this.iconName = undefined;\n this.alignTop = false;\n this.hasFocus = false;\n this.required = false;\n this.validationStatus = \"indeterminate\";\n this.validationMessage = undefined;\n this.informationMessage = undefined;\n this.tooltip = undefined;\n }\n parts = {\n input: \"input\"\n };\n exportparts;\n el;\n //A reference to the input\n checkboxInput;\n change;\n /**\n * The logic for displaying or hidding the validation messages\n *\n */\n formMessageLogic = formMessageLogic;\n /*********************************\n METHODS\n *********************************/\n componentWillLoad() {\n this.attachExportParts();\n }\n attachExportParts = () => {\n const part = this.el.getAttribute(\"part\");\n const exportPartsResult = exportParts(part, this.parts);\n exportPartsResult.length && (this.exportparts = exportPartsResult);\n };\n compontentDidLoad() {\n if (this.checked && this.disabled) {\n this.checked = false;\n this.checkboxInput.removeAttribute(\"checked\");\n }\n }\n changed() {\n this.checked = this.checkboxInput.checked;\n }\n checkedHandler() {\n this.change.emit({\n id: this.checkboxId,\n value: this.checked,\n disabled: this.disabled\n });\n }\n handlerOnKeyUp(event) {\n if (event.code == \"Space\") {\n this.checked = !this.checked;\n }\n }\n handleGxgLabelClick = () => {\n this.checkboxInput.click();\n };\n ariaChecked() {\n if (this.checked) {\n return \"true\";\n }\n else {\n return \"false\";\n }\n }\n handleInputClick(e) {\n e.stopPropagation();\n }\n icon() {\n if (this.iconName) {\n return (h(\"gxg-icon\", { type: this.iconName, color: \"auto\", size: \"small\" }));\n }\n }\n focusHandler = () => {\n //this.hasFocus = true;\n };\n blurHandler = () => {\n //this.hasFocus = false;\n };\n renderCheckbox = () => {\n return [\n h(\"input\", { ref: el => (this.checkboxInput = el), type: \"checkbox\", checked: this.checked, class: \"input\", id: this.checkboxId, name: this.name, value: this.value, disabled: this.disabled, onChange: this.changed.bind(this), onKeyUp: this.handlerOnKeyUp.bind(this), onFocus: this.focusHandler, onBlur: this.blurHandler, tabindex: \"0\", onClick: this.handleInputClick, part: this.parts.input }),\n h(\"div\", { class: {\n wrapper: true,\n \"wrapper--checked\": this.checked,\n \"wrapper--indeterminate\": this.indeterminate,\n \"wrapper--focus\": this.hasFocus,\n \"wrapper--has-icon\": !!this.iconName\n } }),\n h(\"span\", { part: \"box\", class: {\n box: true,\n \"no-label\": !this.label,\n \"has-icon\": !!this.iconName,\n \"form-element\": true,\n indeterminate: this.indeterminate,\n checkbox: true\n }, role: \"checkbox\" }),\n this.icon()\n ];\n };\n render() {\n return (h(Host, { role: \"checkbox\", value: this.value, \"aria-checked\": this.ariaChecked, \"aria-label\": this.label, class: {\n large: state.large,\n [formClasses[\"VALIDATION_INDETERMINATE_CLASS\"]]: this.validationStatus === \"indeterminate\",\n [formClasses[\"VALIDATION_WARNING_CLASS\"]]: this.validationStatus === \"warning\",\n [formClasses[\"VALIDATION_ERROR_CLASS\"]]: this.validationStatus === \"error\",\n [formClasses[\"VALIDATION_SUCCESS_CLASS\"]]: this.validationStatus === \"success\",\n [commonClassesNames[\"DISABLED_CLASS\"]]: this.disabled\n }, exportParts: this.exportparts ? this.exportparts : null }, h(\"div\", { class: {\n \"gxg-form-checkbox__wrapper\": true,\n \"gxg-form-checkbox__wrapper--align-top\": this.alignTop\n }, onClick: this.handleGxgLabelClick }, this.label\n ? [\n this.renderCheckbox(),\n h(\"gxg-label\", { class: {\n label: true,\n \"label--has-icon\": !!this.iconName\n }, disabled: this.disabled, labelPosition: \"end\", tooltip: this.tooltip, noMargin: !!this.iconName, size: this.labelSize }, this.label)\n ]\n : this.renderCheckbox()), this.formMessageLogic(this)));\n }\n static get is() { return \"gxg-form-checkbox\"; }\n static get encapsulation() { return \"shadow\"; }\n static get delegatesFocus() { return true; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"form-checkbox.scss\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"form-checkbox.css\"]\n };\n }\n static get properties() {\n return {\n \"checkboxId\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The checkbox id\"\n },\n \"attribute\": \"checkbox-id\",\n \"reflect\": false\n },\n \"checked\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The presence of this attribute makes the checkbox checked by default\"\n },\n \"attribute\": \"checked\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"indeterminate\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The presence of this attribute makes the checkbox indeterminate\"\n },\n \"attribute\": \"indeterminate\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"disabled\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The presence of this attribute disables the checkbox\"\n },\n \"attribute\": \"disabled\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"label\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string | undefined\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The checkbox label\"\n },\n \"attribute\": \"label\",\n \"reflect\": false,\n \"defaultValue\": \"undefined\"\n },\n \"labelSize\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"size\",\n \"resolved\": \"\\\"large\\\" | \\\"regular\\\"\",\n \"references\": {\n \"size\": {\n \"location\": \"import\",\n \"path\": \"../label/gxg-label\",\n \"id\": \"src/components/label/gxg-label.tsx::size\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The checkbox label size\"\n },\n \"attribute\": \"label-size\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"regular\\\"\"\n },\n \"value\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The checkbox value\"\n },\n \"attribute\": \"value\",\n \"reflect\": false\n },\n \"name\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The checkbox name\"\n },\n \"attribute\": \"name\",\n \"reflect\": false\n },\n \"iconName\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The checkbox icon\"\n },\n \"attribute\": \"icon-name\",\n \"reflect\": false,\n \"defaultValue\": \"undefined\"\n },\n \"alignTop\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Aligns the checkbox to the top of the label (useful when the label is too long)\"\n },\n \"attribute\": \"align-top\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"required\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The presence of this attribute makes the commbo required\"\n },\n \"attribute\": \"required\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"validationStatus\": {\n \"type\": \"string\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"ValidationStatus\",\n \"resolved\": \"\\\"error\\\" | \\\"indeterminate\\\" | \\\"success\\\" | \\\"warning\\\"\",\n \"references\": {\n \"ValidationStatus\": {\n \"location\": \"import\",\n \"path\": \"../../common/types\",\n \"id\": \"src/common/types.ts::ValidationStatus\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The validation status\"\n },\n \"attribute\": \"validation-status\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"indeterminate\\\"\"\n },\n \"validationMessage\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The message to display when validation fails (error)\"\n },\n \"attribute\": \"validation-message\",\n \"reflect\": false\n },\n \"informationMessage\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"An informative message to help the user filling the information\"\n },\n \"attribute\": \"information-message\",\n \"reflect\": false\n },\n \"tooltip\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"\"\n },\n \"attribute\": \"tooltip\",\n \"reflect\": false\n }\n };\n }\n static get states() {\n return {\n \"hasFocus\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"change\",\n \"name\": \"change\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"CheckboxInfo\",\n \"resolved\": \"{ id: string; value: boolean; disabled?: boolean; }\",\n \"references\": {\n \"CheckboxInfo\": {\n \"location\": \"local\",\n \"path\": \"/home/circleci/repo/src/components/form-checkbox/form-checkbox.tsx\",\n \"id\": \"src/components/form-checkbox/form-checkbox.tsx::CheckboxInfo\"\n }\n }\n }\n }];\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"checked\",\n \"methodName\": \"checkedHandler\"\n }];\n }\n}\n//# sourceMappingURL=form-checkbox.js.map\n"],"version":3}