@genexus/genexus-ide-ui 1.0.3 → 1.0.5

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 (83) hide show
  1. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  2. package/dist/cjs/gx-ide-container_2.cjs.entry.js.map +1 -1
  3. package/dist/cjs/gx-ide-empty-state.cjs.entry.js +3 -2
  4. package/dist/cjs/gx-ide-empty-state.cjs.entry.js.map +1 -1
  5. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +272 -293
  6. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js.map +1 -1
  7. package/dist/cjs/gx-ide-loader.cjs.entry.js +1 -1
  8. package/dist/cjs/gx-ide-loader.cjs.entry.js.map +1 -1
  9. package/dist/cjs/gx-ide-recent-news.cjs.entry.js +1 -1
  10. package/dist/cjs/gx-ide-recent-news.cjs.entry.js.map +1 -1
  11. package/dist/cjs/gx-ide-start-page.cjs.entry.js +5 -4
  12. package/dist/cjs/gx-ide-start-page.cjs.entry.js.map +1 -1
  13. package/dist/cjs/loader.cjs.js +1 -1
  14. package/dist/collection/collection-manifest.json +1 -1
  15. package/dist/collection/components/_helpers/container/container.js.map +1 -1
  16. package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.css +5 -1
  17. package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.js +20 -1
  18. package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.js.map +1 -1
  19. package/dist/collection/components/_helpers/ide-loader/ide-loader.css +3 -2
  20. package/dist/collection/components/kb-manager-export/gx-ide-assets/kb-manager-export/langs/kb-manager-export.lang.en.json +3 -3
  21. package/dist/collection/components/kb-manager-export/gx-ide-assets/kb-manager-export/langs/kb-manager-export.lang.ja.json +4 -4
  22. package/dist/collection/components/kb-manager-export/helpers.js +64 -105
  23. package/dist/collection/components/kb-manager-export/helpers.js.map +1 -1
  24. package/dist/collection/components/kb-manager-export/kb-manager-export.css +19 -618
  25. package/dist/collection/components/kb-manager-export/kb-manager-export.js +345 -377
  26. package/dist/collection/components/kb-manager-export/kb-manager-export.js.map +1 -1
  27. package/dist/collection/components/kb-manager-export/types.js +2 -0
  28. package/dist/collection/components/kb-manager-export/types.js.map +1 -0
  29. package/dist/collection/components/start-page/recent-news.js +1 -1
  30. package/dist/collection/components/start-page/recent-news.js.map +1 -1
  31. package/dist/collection/components/start-page/start-page.js +5 -4
  32. package/dist/collection/components/start-page/start-page.js.map +1 -1
  33. package/dist/components/container.js.map +1 -1
  34. package/dist/components/gx-ide-empty-state2.js +4 -2
  35. package/dist/components/gx-ide-empty-state2.js.map +1 -1
  36. package/dist/components/gx-ide-kb-manager-export.js +294 -314
  37. package/dist/components/gx-ide-kb-manager-export.js.map +1 -1
  38. package/dist/components/gx-ide-start-page.js +5 -4
  39. package/dist/components/gx-ide-start-page.js.map +1 -1
  40. package/dist/components/ide-loader.js +1 -1
  41. package/dist/components/ide-loader.js.map +1 -1
  42. package/dist/components/recent-news.js +1 -1
  43. package/dist/components/recent-news.js.map +1 -1
  44. package/dist/esm/genexus-ide-ui.js +1 -1
  45. package/dist/esm/gx-ide-container_2.entry.js.map +1 -1
  46. package/dist/esm/gx-ide-empty-state.entry.js +3 -2
  47. package/dist/esm/gx-ide-empty-state.entry.js.map +1 -1
  48. package/dist/esm/gx-ide-kb-manager-export.entry.js +273 -294
  49. package/dist/esm/gx-ide-kb-manager-export.entry.js.map +1 -1
  50. package/dist/esm/gx-ide-loader.entry.js +1 -1
  51. package/dist/esm/gx-ide-loader.entry.js.map +1 -1
  52. package/dist/esm/gx-ide-recent-news.entry.js +1 -1
  53. package/dist/esm/gx-ide-recent-news.entry.js.map +1 -1
  54. package/dist/esm/gx-ide-start-page.entry.js +5 -4
  55. package/dist/esm/gx-ide-start-page.entry.js.map +1 -1
  56. package/dist/esm/loader.js +1 -1
  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/kb-manager-export/langs/kb-manager-export.lang.en.json +3 -3
  60. package/dist/genexus-ide-ui/gx-ide-assets/kb-manager-export/langs/kb-manager-export.lang.ja.json +4 -4
  61. package/dist/genexus-ide-ui/p-2cb766ce.entry.js +493 -0
  62. package/dist/genexus-ide-ui/p-2cb766ce.entry.js.map +1 -0
  63. package/dist/genexus-ide-ui/{p-f924f02a.entry.js → p-64101478.entry.js} +2 -2
  64. package/dist/genexus-ide-ui/p-64101478.entry.js.map +1 -0
  65. package/dist/genexus-ide-ui/p-7ac25fc3.entry.js.map +1 -1
  66. package/dist/genexus-ide-ui/{p-f220c75a.entry.js → p-885302c2.entry.js} +11 -6
  67. package/dist/genexus-ide-ui/p-885302c2.entry.js.map +1 -0
  68. package/dist/genexus-ide-ui/{p-bbb30314.entry.js → p-8ff5da93.entry.js} +37 -32
  69. package/dist/genexus-ide-ui/p-8ff5da93.entry.js.map +1 -0
  70. package/dist/genexus-ide-ui/{p-cb0e11db.entry.js → p-a6b76120.entry.js} +2 -2
  71. package/dist/genexus-ide-ui/p-a6b76120.entry.js.map +1 -0
  72. package/dist/types/components/_helpers/empty-state/gx-ide-empty-state.d.ts +4 -0
  73. package/dist/types/components/kb-manager-export/helpers.d.ts +33 -5
  74. package/dist/types/components/kb-manager-export/kb-manager-export.d.ts +36 -98
  75. package/dist/types/components/kb-manager-export/types.d.ts +21 -0
  76. package/dist/types/components.d.ts +16 -40
  77. package/package.json +6 -9
  78. package/dist/genexus-ide-ui/p-b3baa3d2.entry.js +0 -491
  79. package/dist/genexus-ide-ui/p-b3baa3d2.entry.js.map +0 -1
  80. package/dist/genexus-ide-ui/p-bbb30314.entry.js.map +0 -1
  81. package/dist/genexus-ide-ui/p-cb0e11db.entry.js.map +0 -1
  82. package/dist/genexus-ide-ui/p-f220c75a.entry.js.map +0 -1
  83. package/dist/genexus-ide-ui/p-f924f02a.entry.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/components/kb-manager-export/helpers.ts"],"names":[],"mappings":"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","sourcesContent":["// /* Tree View */\nimport { TreeViewItemModel } from \"@genexus/chameleon-controls-library\";\nimport {\n ObjectData,\n KBPropertyData,\n KBPropertyType\n} from \"./kb-manager-export\";\nimport { ObjectType } from \"../../common/types\";\nexport const KB_PROPERTY = \"property\";\nexport const KB_OBJECT = \"object\";\n\n/*\nINDEX:\n1. getObjectIcon\n2. convertObjectTypeToTreeItem\n3. convertObjectToTreeItem\n4. getObjectType\n5. findObjectInTree\n6. findPropertyInTree\n7. convertPropertyToTreeItem\n8. updateTreeModelWithObjects\n9. convertKbPropertiesDataToTreeItemData\n10. clearKbPropertiesFromTree\n*/\n\n/* 1.2 getIcon (for properties)*/\nconst getPropertyIcon = (\n typeId: string,\n kbPropertiesTypes: KBPropertyType[]\n): string => {\n // The object icon has to be retrieved from the ObjetTypes array, by matching the ObjectData typeId with the ObjectType id.\n const propertyType = kbPropertiesTypes.find(\n propertyType => propertyType.id === typeId\n );\n if (propertyType) {\n return propertyType.icon;\n } else {\n return undefined;\n }\n};\n\n/* 2. convertObjectTypeToTreeItem*/\nconst convertObjectTypeToTreeItem = (\n objectType: ObjectType\n): TreeViewItemModel => ({\n caption: objectType.name,\n id: objectType.id,\n startImgSrc: objectType.icon,\n leaf: false,\n parts: \"object-type tree-view-item\",\n expanded: true,\n items: []\n});\n\n/* 3. convertObjectToTreeItem*/\nconst convertObjectToTreeItem = (\n object: ObjectData,\n objectTypes: Map<string, ObjectType>\n): TreeViewItemModel => ({\n caption: object.name,\n id: object.id,\n startImgSrc: objectTypes.get(object.typeId).icon,\n parts: \"object tree-view-item\",\n metadata: KB_OBJECT,\n leaf: true\n});\n\n/* 5. findObjectInTree*/\nconst findObjectInTree = (\n object: ObjectData,\n actualTreeState: TreeViewItemModel[]\n): ObjectTreeInfo => {\n const objectTreeItemInfo = {\n objectExists: false,\n objectTypeIndex: -1\n };\n if (actualTreeState) {\n const objectTypeTreeItemIndex = actualTreeState.findIndex(\n objectTypeTreeItem => {\n return objectTypeTreeItem.id === object.typeId;\n }\n );\n if (objectTypeTreeItemIndex !== -1) {\n objectTreeItemInfo.objectTypeIndex = objectTypeTreeItemIndex;\n // objectType exists as a node in the actual tree.\n // Now try to find the object\n const objectFound = actualTreeState[objectTypeTreeItemIndex].items?.find(\n objectTreeItem => {\n return objectTreeItem.id === object.id;\n }\n );\n if (objectFound) {\n objectTreeItemInfo.objectExists = true;\n }\n }\n }\n return objectTreeItemInfo;\n};\n\n/* 6. findPropertyInTree */\nconst findPropertyInTree = (\n property: KBPropertyData,\n updatedTreeData: TreeViewItemModel[]\n): boolean => {\n const found = updatedTreeData.find(node => {\n return node.id === property.id;\n });\n if (found) {\n return true;\n }\n return false;\n};\n\n/* 7. convertPropertyToTreeItem */\nconst convertPropertyToTreeItem = (\n property: KBPropertyData,\n kbPropertiesTypes: KBPropertyType[]\n): TreeViewItemModel => ({\n caption: property.name,\n id: property.id,\n startImgSrc: getPropertyIcon(property.typeId, kbPropertiesTypes),\n parts: \"property tree-view-item\",\n metadata: KB_PROPERTY,\n leaf: true\n});\n\n/* 8. updateTreeModelWithObjects*/\nexport const updateTreeModelWithObjects = (\n objects: ObjectData[] | undefined,\n objectTypes: Map<string, ObjectType>,\n actualTreeState: TreeViewItemModel[]\n): TreeViewItemModel[] => {\n const updatedTreeData: TreeViewItemModel[] = [...actualTreeState];\n if (!objects) {\n // nothing to do\n return updatedTreeData;\n }\n objects.forEach(object => {\n // objects that already exists in the actual actualTreeState should not be added.\n // We can find the object in the actual actualTreeState.\n const objectTreeItemInfo: ObjectTreeInfo = findObjectInTree(\n object,\n updatedTreeData\n );\n if (!objectTreeItemInfo.objectExists) {\n // object does not exists in actualTreeState\n // if the objectType tree node exists, insert inside.\n // if the objectType tree node does not exists, create object type node first.\n if (objectTreeItemInfo.objectTypeIndex === -1) {\n const objectType: ObjectType = objectTypes.get(object.typeId);\n if (objectType !== undefined) {\n const objectTypeTreeItem = convertObjectTypeToTreeItem(objectType);\n objectTreeItemInfo.objectTypeIndex =\n updatedTreeData.push(objectTypeTreeItem) - 1;\n }\n }\n const objectAsTreeItem: TreeViewItemModel = convertObjectToTreeItem(\n object,\n objectTypes\n );\n // insert object in tree (under the object type tree node)\n updatedTreeData[objectTreeItemInfo.objectTypeIndex].items.push(\n objectAsTreeItem\n );\n }\n });\n return updatedTreeData;\n};\n\n/* 9. convertKbPropertiesDataToTreeItemData*/\nexport const convertKbPropertiesDataToTreeItemData = (\n properties: KBPropertyData[],\n kbPropertiesTypes: KBPropertyType[],\n actualTreeState: TreeViewItemModel[]\n): TreeViewItemModel[] => {\n const updatedTreeData: TreeViewItemModel[] = [...actualTreeState];\n if (!properties) {\n // nothing to do\n return updatedTreeData;\n }\n properties.forEach(property => {\n // properties have no parent node, and they should be added at the beginning of the tree\n const propertyAlreadyExists = findPropertyInTree(property, updatedTreeData);\n if (!propertyAlreadyExists) {\n const propertyTreeItem = convertPropertyToTreeItem(\n property,\n kbPropertiesTypes\n );\n updatedTreeData.unshift(propertyTreeItem);\n }\n });\n return updatedTreeData;\n};\n\ntype ObjectTreeInfo = {\n objectExists: boolean;\n objectTypeIndex: number;\n};\n\n/* 10. clearKbPropertiesFromTree*/\nexport const clearKbPropertiesFromTree = (\n kBPropertiesData: KBPropertyData[],\n actualTreeState: TreeViewItemModel[]\n): TreeViewItemModel[] => {\n if (!(actualTreeState.length > 0)) {\n // nothing to do.\n return [];\n }\n const kBPropertiesDataIds: string[] = kBPropertiesData.map(property => {\n return property.id;\n });\n\n const treeModelWithoutKbProperties: TreeViewItemModel[] =\n actualTreeState.filter(item => {\n return !kBPropertiesDataIds.includes(item.id);\n });\n\n return treeModelWithoutKbProperties;\n};\n"]}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/components/kb-manager-export/helpers.ts"],"names":[],"mappings":"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","sourcesContent":["// /* Tree View */\nimport {\n TreeViewItemModel,\n TreeViewModel\n} from \"@genexus/chameleon-controls-library\";\nimport { ObjectData, KBPropertyData, KBPropertyType } from \"./types\";\nimport { ObjectType } from \"../../common/types\";\nexport const KB_PROPERTY = \"property\";\nexport const KB_OBJECT = \"object\";\n\nconst getPropertyIcon = (\n typeId: string,\n kbPropertiesTypes: KBPropertyType[]\n): string =>\n // The object icon has to be retrieved from the ObjectTypes array, by\n // matching the ObjectData typeId with the ObjectType id\n kbPropertiesTypes.find(propertyType => propertyType.id === typeId).icon;\n\nconst convertObjectTypeToTreeItem = (\n objectType: ObjectType\n): TreeViewItemModel => ({\n caption: objectType.name,\n id: objectType.id,\n startImgSrc: objectType.icon,\n leaf: false,\n parts: \"object-type tree-view-item\",\n expanded: true,\n items: []\n});\n\nconst convertObjectToTreeItem = (\n object: ObjectData,\n objectTypes: Map<string, ObjectType>\n): TreeViewItemModel => ({\n caption: object.name,\n id: object.id,\n startImgSrc: objectTypes.get(object.typeId).icon,\n parts: \"object tree-view-item\",\n metadata: KB_OBJECT,\n leaf: true\n});\n\nconst convertPropertyToTreeItem = (\n property: KBPropertyData,\n kbPropertiesTypes: KBPropertyType[]\n): TreeViewItemModel => ({\n caption: property.name,\n id: property.id,\n startImgSrc: getPropertyIcon(property.typeId, kbPropertiesTypes),\n parts: \"property tree-view-item\",\n metadata: KB_PROPERTY,\n leaf: true\n});\n\n/**\n * Updates the tree model with the provided objects.\n * Objects may already exist and are placed under their parent node.\n * If the parent node doesn't exist (identified by typeId on ObjectTypes),\n * it is created and added at the bottom.\n *\n * @param {ObjectData[] | undefined} objects - The array of objects to update.\n * @param {Map<string, ObjectType>} objectTypesMap - A map of object types by ID.\n * @param {Set<string>} objectsSet - A set of existing object IDs.\n * @param {TreeViewModel} actualTreeState - The current tree state to be updated.\n * @returns {TreeViewModel} - The updated tree view model.\n */\nexport const updateObjectsTreeModel = (\n objects: ObjectData[] | undefined,\n objectTypesMap: Map<string, ObjectType>,\n objectsSet: Set<string>,\n actualTreeState: TreeViewModel\n): TreeViewModel => {\n if (!objects) {\n return [...actualTreeState];\n }\n\n const updatedTreeData: TreeViewModel = [...actualTreeState];\n objects.forEach(object => {\n // objects that already exists in the actual actualTreeState should not be added.\n\n if (objectsSet.has(object.id)) {\n // object already exists\n return;\n }\n\n const objectTreeItem = convertObjectToTreeItem(object, objectTypesMap);\n\n // TODO: Improve the algorithm efficiency. This check visits potentially all nodes\n // from the TreeViewModel on each iteration. Using a Map to pre-store the TreeView\n // nodes would improve efficiency.\n const objectTypeTreeItemIndex = updatedTreeData.findIndex(\n treeItem => treeItem.id === object.typeId\n );\n\n if (objectTypeTreeItemIndex === -1) {\n // Create and add new object type tree item\n const objectType = objectTypesMap.get(object.typeId);\n if (objectType) {\n const objectTypeTreeItem = convertObjectTypeToTreeItem(objectType);\n objectTypeTreeItem.items.push(objectTreeItem);\n updatedTreeData.push(objectTypeTreeItem);\n }\n } else {\n // objectType exists already. insert object as children of the object type tree item.\n updatedTreeData[objectTypeTreeItemIndex].items.push(objectTreeItem);\n }\n\n objectsSet.add(object.id);\n });\n\n return updatedTreeData;\n};\n\n/**\n * Converts an array of KB properties data into tree item data for a tree view.\n *\n * @param {KBPropertyData[]} properties - The array of KB property data.\n * @param {KBPropertyType[]} kbPropertiesTypes - The array of KB property types.\n * @param {TreeViewModel} actualTreeState - The current state of the tree.\n * @returns {TreeViewModel} - The updated tree view item models.\n */\nexport const convertKbPropertiesDataToTreeItemData = (\n properties: KBPropertyData[],\n kbPropertiesTypes: KBPropertyType[],\n actualTreeState: TreeViewModel\n): TreeViewModel => {\n if (!properties) {\n return [...actualTreeState];\n }\n\n const updatedTreeData: TreeViewModel = [...actualTreeState];\n properties.forEach(property => {\n // properties have no parent node, and they should be added at the beginning of the tree\n const propertyAlreadyExists =\n updatedTreeData.find(node => node.id === property.id) !== undefined;\n if (propertyAlreadyExists) {\n return;\n }\n const propertyTreeItem = convertPropertyToTreeItem(\n property,\n kbPropertiesTypes\n );\n updatedTreeData.unshift(propertyTreeItem);\n });\n return updatedTreeData;\n};\n\n/**\n * Removes properties from the tree model.\n *\n * @param {TreeViewModel} actualTreeState - The current state of the tree,\n * containing various tree view items.\n * @returns {TreeViewModel} - A new array of tree view items that excludes\n * any items with metadata of type `KB_PROPERTY`.\n */\nexport const clearKbPropertiesFromTree = (\n actualTreeState: TreeViewModel\n): TreeViewModel =>\n actualTreeState.filter(item => item.metadata !== KB_PROPERTY);\n"]}
@@ -1,633 +1,34 @@
1
- :root {
2
- --ui-animaton-speed: 0.2s;
3
- }
4
-
5
- /*ALIGNMENT*/
6
- /*Ellipsis*/
7
- /*****************************************************
8
- TYPOGRAPHY
9
- *****************************************************/
10
- /*Title 01 (Positive)*/
11
- .gxg-title-01 {
12
- font-family: var(--ds-base-font-family-primary);
13
- font-weight: var(--ds-title-01-font-weight);
14
- font-size: var(--ds-title-01-font-size);
15
- letter-spacing: var(--ds-base-font-letter-spacing--comfortable);
16
- color: var(--ds-base-font-color);
17
- text-align: start;
18
- line-height: var(--ds-base-font-line-height--comfortable);
19
- }
20
-
21
- /*Title 01 (Negative)*/
22
- .gxg-title-01--negative {
23
- font-family: var(--ds-base-font-family-primary);
24
- font-weight: var(--ds-title-01-font-weight);
25
- font-size: var(--ds-title-01-font-size);
26
- letter-spacing: var(--ds-base-font-letter-spacing--comfortable);
27
- color: var(--ds-base-font-color);
28
- text-align: start;
29
- line-height: var(--ds-base-font-line-height--comfortable);
30
- color: var(--ds-base-font-color--negative);
31
- }
32
-
33
- /*Title 02 (Positive)*/
34
- .gxg-title-02 {
35
- font-family: var(--ds-base-font-family-primary);
36
- font-weight: var(--ds-title-02-font-weight);
37
- font-size: var(--ds-title-02-font-size);
38
- letter-spacing: var(--ds-base-font-letter-spacing--regular);
39
- color: var(--ds-base-font-color);
40
- text-align: start;
41
- text-transform: uppercase;
42
- line-height: var(--ds-base-font-line-height--comfortable);
43
- }
44
-
45
- .gxg-title-02--negative {
46
- font-family: var(--ds-base-font-family-primary);
47
- font-weight: var(--ds-title-02-font-weight);
48
- font-size: var(--ds-title-02-font-size);
49
- letter-spacing: var(--ds-base-font-letter-spacing--regular);
50
- color: var(--ds-base-font-color);
51
- text-align: start;
52
- text-transform: uppercase;
53
- line-height: var(--ds-base-font-line-height--comfortable);
54
- color: var(--color-on-primary);
55
- }
56
-
57
- /*Title 03*/
58
- .gxg-title-03 {
59
- font-family: var(--ds-base-font-family-primary);
60
- font-weight: var(--ds-title-03-font-weight);
61
- font-size: var(--ds-title-03-font-size);
62
- letter-spacing: var(--ds-base-font-letter-spacing--regular);
63
- color: var(--ds-base-font-color);
64
- text-align: start;
65
- text-transform: uppercase;
66
- line-height: var(--ds-base-font-line-height--comfortable);
67
- }
68
-
69
- .gxg-title-03--negative {
70
- font-family: var(--ds-base-font-family-primary);
71
- font-weight: var(--ds-title-03-font-weight);
72
- font-size: var(--ds-title-03-font-size);
73
- letter-spacing: var(--ds-base-font-letter-spacing--regular);
74
- color: var(--ds-base-font-color);
75
- text-align: start;
76
- text-transform: uppercase;
77
- line-height: var(--ds-base-font-line-height--comfortable);
78
- color: var(--ds-base-font-color--negative);
79
- }
80
-
81
- /*Title 04*/
82
- .gxg-title-04 {
83
- font-family: var(--ds-base-font-family-primary);
84
- font-weight: var(--ds-title-04-font-weight);
85
- font-size: var(--ds-title-04-font-size);
86
- letter-spacing: var(--ds-base-font-letter-spacing--comfortable);
87
- color: var(--ds-base-font-color);
88
- text-align: start;
89
- line-height: var(--ds-base-font-line-height--comfortable);
90
- }
91
-
92
- .gxg-title-04--negative {
93
- font-family: var(--ds-base-font-family-primary);
94
- font-weight: var(--ds-title-04-font-weight);
95
- font-size: var(--ds-title-04-font-size);
96
- letter-spacing: var(--ds-base-font-letter-spacing--comfortable);
97
- color: var(--ds-base-font-color);
98
- text-align: start;
99
- line-height: var(--ds-base-font-line-height--comfortable);
100
- color: var(--ds-base-font-color--negative);
101
- }
102
-
103
- /*Title 05*/
104
- .gxg-title-05 {
105
- font-family: var(--ds-base-font-family-primary);
106
- font-weight: var(--ds-title-05-font-weight);
107
- font-size: var(--ds-title-05-font-size);
108
- letter-spacing: var(--ds-base-font-letter-spacing--regular);
109
- color: var(--ds-base-font-color);
110
- text-align: start;
111
- line-height: var(--ds-base-font-line-height--comfortable);
112
- }
113
-
114
- .gxg-title-05--negative {
115
- font-family: var(--ds-base-font-family-primary);
116
- font-weight: var(--ds-title-05-font-weight);
117
- font-size: var(--ds-title-05-font-size);
118
- letter-spacing: var(--ds-base-font-letter-spacing--regular);
119
- color: var(--ds-base-font-color);
120
- text-align: start;
121
- line-height: var(--ds-base-font-line-height--comfortable);
122
- color: var(--ds-base-font-color--negative);
123
- }
124
-
125
- /*Text*/
126
- .gxg-text {
127
- font-family: var(--ds-base-font-family-primary);
128
- font-size: var(--ds-base-font-size);
129
- color: var(--ds-base-font-size-color);
130
- font-weight: var(--ds-base-font-size-weight);
131
- line-height: var(--ds-base-font-line-height--comfortable);
132
- }
133
-
134
- .gxg-text--negative {
135
- font-family: var(--ds-base-font-family-primary);
136
- font-size: var(--ds-base-font-size);
137
- color: var(--ds-base-font-size-color);
138
- font-weight: var(--ds-base-font-size-weight);
139
- line-height: var(--ds-base-font-line-height--comfortable);
140
- color: var(--ds-base-font-color--negative);
141
- }
142
-
143
- .gxg-text--gray {
144
- font-family: var(--ds-base-font-family-primary);
145
- font-size: var(--ds-base-font-size);
146
- color: var(--ds-base-font-size-color);
147
- font-weight: var(--ds-base-font-size-weight);
148
- line-height: var(--ds-base-font-line-height--comfortable);
149
- color: var(--ds-base-font-color--dimmed);
150
- }
151
-
152
- /*Quote*/
153
- .gxg-quote {
154
- font-family: var(--ds-base-font-family-primary);
155
- font-size: var(--ds-base-font-size);
156
- color: var(--ds-base-font-size-color);
157
- font-weight: var(--ds-base-font-size-weight);
158
- line-height: var(--ds-base-font-line-height--comfortable);
159
- font-style: italic;
160
- }
161
-
162
- .gxg-quote--negative {
163
- color: var(--ds-base-font-color--negative);
164
- }
165
-
166
- /*Link*/
167
- .gxg-link {
168
- line-height: unset;
169
- font-family: var(--ds-base-font-family-primary);
170
- font-size: var(--ds-base-font-size);
171
- color: var(--ds-base-font-size-color);
172
- font-weight: var(--ds-base-font-size-weight);
173
- line-height: var(--ds-base-font-line-height--comfortable);
174
- color: var(--ds-base-font-color--link);
175
- text-decoration: underline;
176
- cursor: pointer;
177
- display: inline-block;
178
- }
179
- .gxg-link:hover {
180
- color: var(--ds-base-font-color--link-hover);
181
- }
182
- .gxg-link:active {
183
- color: var(--ds-base-font-color--link-active);
184
- }
185
-
186
- .gxg-link-gray {
187
- line-height: unset;
188
- font-family: var(--ds-base-font-family-primary);
189
- font-size: var(--ds-base-font-size);
190
- color: var(--ds-base-font-size-color);
191
- font-weight: var(--ds-base-font-size-weight);
192
- line-height: var(--ds-base-font-line-height--comfortable);
193
- color: var(--ds-base-font-color--link);
194
- text-decoration: underline;
195
- cursor: pointer;
196
- display: inline-block;
197
- color: var(--ds-base-font-color--dimmed);
198
- }
199
- .gxg-link-gray:hover {
200
- line-height: unset;
201
- font-family: var(--ds-base-font-family-primary);
202
- font-size: var(--ds-base-font-size);
203
- color: var(--ds-base-font-size-color);
204
- font-weight: var(--ds-base-font-size-weight);
205
- line-height: var(--ds-base-font-line-height--comfortable);
206
- color: var(--ds-base-font-color--link);
207
- text-decoration: underline;
208
- cursor: pointer;
209
- display: inline-block;
210
- color: var(--ds-base-font-color--dimmed);
211
- filter: brightness(1.4);
212
- }
213
-
214
- /*Alerts*/
215
- .gxg-alert-error {
216
- font-family: var(--ds-base-font-family-primary);
217
- font-size: var(--ds-base-font-size);
218
- color: var(--ds-base-font-size-color);
219
- font-weight: var(--ds-base-font-size-weight);
220
- line-height: var(--ds-base-font-line-height--comfortable);
221
- color: var(--ds-base-font-color--error);
222
- display: inline-block;
223
- }
224
-
225
- .gxg-alert-warning {
226
- font-family: var(--ds-base-font-family-primary);
227
- font-size: var(--ds-base-font-size);
228
- color: var(--ds-base-font-size-color);
229
- font-weight: var(--ds-base-font-size-weight);
230
- line-height: var(--ds-base-font-line-height--comfortable);
231
- color: var(--ds-base-font-color--warning);
232
- display: inline-block;
233
- }
234
-
235
- .gxg-alert-success {
236
- font-family: var(--ds-base-font-family-primary);
237
- font-size: var(--ds-base-font-size);
238
- color: var(--ds-base-font-size-color);
239
- font-weight: var(--ds-base-font-size-weight);
240
- line-height: var(--ds-base-font-line-height--comfortable);
241
- color: var(--ds-base-font-color--success);
242
- display: inline-block;
243
- }
244
-
245
- /*Tab*/
246
- .gxg-tab--disabled {
247
- color: var(--color-primary-disabled);
248
- pointer-events: none;
249
- }
250
- .gxg-tab--disabled[disabled] {
251
- color: var(--color-primary-disabled);
252
- pointer-events: none;
253
- }
254
-
255
- /*Label*/
256
- .gxg-label {
257
- font-family: var(--ds-base-font-family-primary);
258
- font-weight: var(--gxg-label-font-weight);
259
- font-size: var(--gxg-label-font-size);
260
- color: var(--gxg-label-color);
261
- text-align: center;
262
- line-height: 1.455em;
263
- display: flex;
264
- align-items: center;
265
- }
266
- .gxg-label:hover {
267
- color: var(--color-primary-hover);
268
- }
269
- .gxg-label:focus {
270
- color: var(--color-primary-active);
271
- }
272
- .gxg-label:active {
273
- color: var(--color-primary-active);
274
- }
275
- .gxg-label[disabled] {
276
- color: var(--color-primary-disabled);
277
- }
278
-
279
- .gxg-label--negative {
280
- color: var(--color-on-primary);
281
- }
282
- .gxg-label--negative[disabled] {
283
- color: var(--color-on-disabled);
284
- }
285
-
286
- /*****************************************************
287
- GXG-BUTTON and GXG-BUTTON-GROUP COMMON STYLES
288
- *****************************************************/
289
- /*****************************************************
290
- FORM ELEMENTS
291
- *****************************************************/
292
- .gxg-scrollbar {
293
- /* Track */
294
- /* Handle */
295
- /* Handle on hover */
296
- }
297
- .gxg-scrollbar::-webkit-scrollbar {
298
- width: var(--gxg-scrollbar-width);
299
- height: var(--gxg-scrollbar-width);
300
- }
301
- .gxg-scrollbar::-webkit-scrollbar-track {
302
- background-color: var(--gxg-scrollbar-track-background);
303
- border-radius: var(--gxg-scrollbar-track-border-radius);
304
- }
305
- .gxg-scrollbar::-webkit-scrollbar-thumb {
306
- background-color: var(--gxg-scrollbar-track-thumb-background);
307
- border-radius: var(--gxg-scrollbar-track-thumb-radius);
308
- }
309
- .gxg-scrollbar::-webkit-scrollbar-thumb:hover {
310
- background-color: var(--gxg-scrollbar-track-thumb-hover-background);
311
- }
312
- .gxg-scrollbar::-webkit-scrollbar-corner {
313
- background: rgba(0, 0, 0, 0);
314
- }
315
-
316
- /*Gx Ide*/
317
- /*@container queries*/
318
- /* hiChar styles
319
- Found on /common/helpers.tsx hiChar function is used to add a span/class to every character that matches a search value. It is used to help the user see why the filter results are filtered. The span/class on the characters are useless without proper styling.
320
- */
321
- /* - - - - - - - - - - - - - - - - -
322
- New classes for Chameleon + Mercury
323
- - - - - - - - - - - - - - - - - - */
324
- :host {
325
- display: grid;
326
- block-size: 100%;
327
- }
328
-
329
- .card-regular {
330
- background-color: var(--mer-surface__elevation--01);
331
- border: var(--mer-border__width--sm) solid var(--mer-border-color__on-elevation--01);
332
- border-radius: var(--mer-border__radius--md);
333
- padding: var(--mer-spacing--md) var(--mer-spacing--md);
1
+ .section {
334
2
  display: grid;
335
- }
336
-
337
- .card-small {
338
- background-color: var(--mer-surface__elevation--02);
339
- border-radius: var(--mer-border__radius--sm);
340
- padding: var(--mer-spacing--sm) var(--mer-spacing--sm);
341
- }
342
- .card-small--actionable:hover {
343
- background-color: var(--mer-color__neutral-gray--600);
344
- }
345
- .card-small--actionable:active {
346
- background-color: var(--mer-color__neutral-gray--650);
347
- }
348
- .card-small:focus-visible {
349
- outline: var(--focus__outline-width) var(--focus__outline-style) var(--focus__outline-color);
350
- outline-offset: var(--focus__outline-offset);
351
- }
352
-
353
- .empty-state {
354
3
  block-size: 100%;
355
- display: flex;
356
- align-items: center;
357
- justify-content: center;
358
- flex-direction: column;
359
- gap: var(--mer-spacing--sm);
360
- text-align: center;
361
- }
362
- .empty-state__title, .empty-state__button, .empty-state__link {
363
- max-inline-size: 300px;
364
- }
365
-
366
- .opacity-0 {
367
- opacity: 0;
368
- }
369
-
370
- .opacity-1 {
371
- opacity: 1;
4
+ grid-template: "export-file-name buttons-container buttons-container buttons-container" max-content "checkboxes checkboxes checkboxes checkboxes" max-content "main main main main" 1fr "footer footer footer footer" max-content/1fr max-content max-content max-content;
372
5
  }
373
6
 
374
- .display-contents {
7
+ .header {
375
8
  display: contents;
376
9
  }
377
-
378
- /* - - - - - - - - - - - - - - - - - - -
379
- Old classes (Gemini) to be removed soon
380
- - - - - - - - - - - - - - - - - - - - */
381
- /* Helper Classes */
382
- .gxi-hidden {
383
- display: none !important;
384
- }
385
-
386
- .gxi-full-height {
387
- height: 100%;
388
- }
389
-
390
- .gxi-overflow-auto {
391
- overflow: auto;
392
- }
393
-
394
- .gxi-display-flex {
395
- display: flex;
396
- }
397
-
398
- .align-start {
399
- display: flex;
400
- align-items: start;
401
- }
402
-
403
- .align-center {
404
- display: flex;
405
- align-items: center;
406
- }
407
-
408
- .align-end {
409
- display: flex;
410
- align-items: end;
411
- }
412
-
413
- .overflow-auto {
414
- overflow: auto;
415
- }
416
-
417
- .justify-start {
418
- display: flex;
419
- justify-content: start;
420
- }
421
-
422
- .justify-center {
423
- display: flex;
424
- justify-content: center;
425
- }
426
-
427
- .justify-end {
428
- display: flex;
429
- justify-content: end;
430
- }
431
-
432
- /* Grids */
433
- .grid {
434
- display: grid;
435
- grid-row-gap: var(--gx-ide-grid-row-gap);
436
- grid-column-gap: var(--gx-ide-grid-column-gap);
437
- grid-template-rows: auto;
438
- }
439
-
440
- ch-grid-cell {
441
- display: flex;
442
- }
443
-
444
- ch-grid {
445
- overflow: auto;
446
- height: 100%;
447
- }
448
-
449
- ch-grid-column {
450
- /*to be removed when this works inside a component with shadow: true*/
451
- z-index: 99;
452
- border-bottom: 1px solid var(--mer-color__neutral-gray--800);
453
- }
454
-
455
- ch-grid-column:first-child {
456
- padding-inline-start: var(--gx-ide-container__padding) !important;
457
- }
458
-
459
- ch-grid-column:last-child {
460
- padding-inline-end: var(--gx-ide-container__padding) !important;
461
- }
462
-
463
- ch-grid-cell {
464
- --mer-spacing--xs: var(--gx-ide-container__padding);
465
- }
466
-
467
- /*--- Layout ---*/
468
- .layout {
469
- display: grid;
470
- gap: var(--mer-spacing--lg);
471
- box-sizing: border-box;
472
- }
473
- .layout--two-cols {
474
- grid-template-columns: 1fr 1fr;
475
- }
476
- .layout--space-above {
477
- padding-block-start: var(--mer-spacing--lg);
10
+ .header .export-file-name {
11
+ grid-area: export-file-name;
478
12
  }
479
-
480
- /*Gxg Tabs*/
481
- gxg-tabs {
482
- box-shadow: none;
483
- }
484
-
485
- /*All components Host should have this class set. !important is set on every rule, since this styles could be overridden by the host user, since they are applied on the host component*/
486
- :host(.gx-ide-component) {
487
- height: 100% !important;
488
- display: flex !important;
489
- flex-direction: column !important;
490
- }
491
-
492
- /*stylize the top bar*/
493
- :host(:focus-within) gx-ide-top-bar::part(wrapper) {
494
- background-color: var(--color-secondary-enabled);
495
- }
496
-
497
- /* Main wrapper (should be the first element inside the host. Everything should be inside .gx-ide-main-wrapper) */
498
- .gx-ide-main-wrapper {
499
- color: var(--gx-ide-component-text-color);
500
- font-weight: var(--mer-font__weight--regular);
501
- font-size: var(--mer-font__size--xs);
502
- font-family: var(--mer-font-family--primary);
503
- height: 100%;
504
- background-color: var(--gx-ide-component-background-color);
505
- display: flex;
506
- flex-direction: column;
507
- flex-grow: 1;
508
- box-sizing: border-box;
509
- }
510
-
511
- /*This is the main element. This is the one that take the remaining vertical space*/
512
- .gx-ide-main {
513
- flex-grow: 1;
514
- overflow-y: auto;
515
- /* Track */
516
- /* Handle */
517
- /* Handle on hover */
518
- }
519
- .gx-ide-main::-webkit-scrollbar {
520
- width: var(--gxg-scrollbar-width);
521
- height: var(--gxg-scrollbar-width);
522
- }
523
- .gx-ide-main::-webkit-scrollbar-track {
524
- background-color: var(--gxg-scrollbar-track-background);
525
- border-radius: var(--gxg-scrollbar-track-border-radius);
526
- }
527
- .gx-ide-main::-webkit-scrollbar-thumb {
528
- background-color: var(--gxg-scrollbar-track-thumb-background);
529
- border-radius: var(--gxg-scrollbar-track-thumb-radius);
530
- }
531
- .gx-ide-main::-webkit-scrollbar-thumb:hover {
532
- background-color: var(--gxg-scrollbar-track-thumb-hover-background);
533
- }
534
- .gx-ide-main::-webkit-scrollbar-corner {
535
- background: rgba(0, 0, 0, 0);
536
- }
537
-
538
- .gx-ide-overflow {
539
- overflow-y: auto;
540
- /* Track */
541
- /* Handle */
542
- /* Handle on hover */
543
- }
544
- .gx-ide-overflow::-webkit-scrollbar {
545
- width: var(--gxg-scrollbar-width);
546
- height: var(--gxg-scrollbar-width);
547
- }
548
- .gx-ide-overflow::-webkit-scrollbar-track {
549
- background-color: var(--gxg-scrollbar-track-background);
550
- border-radius: var(--gxg-scrollbar-track-border-radius);
551
- }
552
- .gx-ide-overflow::-webkit-scrollbar-thumb {
553
- background-color: var(--gxg-scrollbar-track-thumb-background);
554
- border-radius: var(--gxg-scrollbar-track-thumb-radius);
555
- }
556
- .gx-ide-overflow::-webkit-scrollbar-thumb:hover {
557
- background-color: var(--gxg-scrollbar-track-thumb-hover-background);
558
- }
559
- .gx-ide-overflow::-webkit-scrollbar-corner {
560
- background: rgba(0, 0, 0, 0);
561
- }
562
-
563
- .tree-view-primary {
564
- font-size: var(--mer-font__size--2xs);
565
- }
566
-
567
- p {
568
- margin: 0;
569
- font-size: var(--mer-font__size--xxs);
570
- }
571
-
572
- /* - - - - - - - - - - - - - - - - - -
573
- New : For Mercury
574
- - - - - - - - - - - - - - - - - - - */
575
- .buttons-container {
13
+ .header__buttons-container {
14
+ grid-area: buttons-container;
576
15
  display: flex;
577
- gap: var(--mer-spacing--xs);
16
+ gap: var(--mer-spacing--sm);
578
17
  }
579
-
580
- /*Gx Ide*/
581
- /*@container queries*/
582
- /* hiChar styles
583
- Found on /common/helpers.tsx hiChar function is used to add a span/class to every character that matches a search value. It is used to help the user see why the filter results are filtered. The span/class on the characters are useless without proper styling.
584
- */
585
- /*general*/
586
- .tree-view-container {
587
- display: flex;
18
+ .header__checkboxes {
19
+ grid-area: checkboxes;
20
+ grid-template-columns: max-content 1fr;
588
21
  }
589
22
 
590
- /*Header*/
591
- .header__top {
592
- border-top: 1px solid var(--gx-ide-container-border-color);
593
- display: grid;
594
- padding: var(--gx-ide-container__padding) var(--gx-ide-container__padding) 0 var(--gx-ide-container__padding);
595
- gap: var(--gx-ide-grid-column-gap);
596
- grid-template-columns: 1fr auto;
597
- grid-template-areas: "select-directory export-cancel-buttons-group options-btn";
598
- }
599
- .header__top .select-directory {
600
- grid-area: select-directory;
601
- }
602
- .header__top .export-cancel-buttons-group {
603
- grid-area: export-cancel-buttons-group;
604
- }
605
- .header__top .options-btn {
606
- grid-area: options-btn;
607
- }
608
- .header__bottom .checkboxes-wrapper {
609
- padding: var(--gx-ide-grid-column-gap);
610
- display: flex;
611
- flex-wrap: wrap;
612
- gap: var(--gx-ide-grid-column-gap);
613
- }
614
- .header__bottom .checkboxes-wrapper .add-checkbox {
615
- display: flex;
23
+ .main {
24
+ grid-area: main;
25
+ position: relative;
616
26
  }
617
27
 
618
- /*Main*/
619
- .tree-container {
620
- block-size: 100%;
621
- padding: var(--tree-container-padding);
622
- }
623
- .tree-container--empty {
624
- align-items: center;
625
- justify-content: center;
626
- }
627
- .tree-container .gx-ide-message {
628
- padding: 100px 0;
28
+ .footer {
29
+ grid-area: footer;
30
+ justify-content: space-between;
629
31
  }
630
-
631
- gxg-text {
632
- block-size: 100%;
32
+ .footer .clear-btn {
33
+ margin-inline-end: auto;
633
34
  }