@cubejs-client/playground 1.1.12 → 1.1.16

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 (189) hide show
  1. package/build/assets/{index-wSty61qr.js → index-Cc4_B7ie.js} +612 -778
  2. package/build/index.html +1 -1
  3. package/build/vizard/download/react-typescript-antd-table.zip +0 -0
  4. package/build/vizard/download/react-typescript-chartjs-area+bar+doughnut+line+pie.zip +0 -0
  5. package/lib/.tsbuildinfo +1 -1
  6. package/lib/QueryBuilderV2/QueryBuilder.d.ts +4 -0
  7. package/lib/QueryBuilderV2/QueryBuilder.js +12 -9
  8. package/lib/QueryBuilderV2/QueryBuilder.js.map +1 -1
  9. package/lib/QueryBuilderV2/QueryBuilderChart.js +2 -2
  10. package/lib/QueryBuilderV2/QueryBuilderChart.js.map +1 -1
  11. package/lib/QueryBuilderV2/QueryBuilderChartResults.js +4 -4
  12. package/lib/QueryBuilderV2/QueryBuilderChartResults.js.map +1 -1
  13. package/lib/QueryBuilderV2/QueryBuilderError.js +1 -3
  14. package/lib/QueryBuilderV2/QueryBuilderError.js.map +1 -1
  15. package/lib/QueryBuilderV2/QueryBuilderExtras.d.ts +1 -0
  16. package/lib/QueryBuilderV2/QueryBuilderExtras.js +39 -18
  17. package/lib/QueryBuilderV2/QueryBuilderExtras.js.map +1 -1
  18. package/lib/QueryBuilderV2/QueryBuilderFilters.js +88 -84
  19. package/lib/QueryBuilderV2/QueryBuilderFilters.js.map +1 -1
  20. package/lib/QueryBuilderV2/QueryBuilderGraphQL.js +1 -1
  21. package/lib/QueryBuilderV2/QueryBuilderGraphQL.js.map +1 -1
  22. package/lib/QueryBuilderV2/QueryBuilderInternals.js +7 -10
  23. package/lib/QueryBuilderV2/QueryBuilderInternals.js.map +1 -1
  24. package/lib/QueryBuilderV2/QueryBuilderResults.js +87 -45
  25. package/lib/QueryBuilderV2/QueryBuilderResults.js.map +1 -1
  26. package/lib/QueryBuilderV2/QueryBuilderSidePanel.d.ts +4 -3
  27. package/lib/QueryBuilderV2/QueryBuilderSidePanel.js +95 -54
  28. package/lib/QueryBuilderV2/QueryBuilderSidePanel.js.map +1 -1
  29. package/lib/QueryBuilderV2/components/Accordion/AccordionItemTitle.js +1 -1
  30. package/lib/QueryBuilderV2/components/Accordion/AccordionItemTitle.js.map +1 -1
  31. package/lib/QueryBuilderV2/components/AddFilterInput.d.ts +10 -0
  32. package/lib/QueryBuilderV2/components/AddFilterInput.js +195 -0
  33. package/lib/QueryBuilderV2/components/AddFilterInput.js.map +1 -0
  34. package/lib/QueryBuilderV2/components/Badge.d.ts +3 -2
  35. package/lib/QueryBuilderV2/components/Badge.js +4 -3
  36. package/lib/QueryBuilderV2/components/Badge.js.map +1 -1
  37. package/lib/QueryBuilderV2/components/ChartRenderer.js +0 -1
  38. package/lib/QueryBuilderV2/components/ChartRenderer.js.map +1 -1
  39. package/lib/QueryBuilderV2/components/DateRangeFilter.d.ts +7 -0
  40. package/lib/QueryBuilderV2/components/DateRangeFilter.js +25 -4
  41. package/lib/QueryBuilderV2/components/DateRangeFilter.js.map +1 -1
  42. package/lib/QueryBuilderV2/components/EditQueryDialogForm.js +18 -20
  43. package/lib/QueryBuilderV2/components/EditQueryDialogForm.js.map +1 -1
  44. package/lib/QueryBuilderV2/components/FilterByMemberButton.d.ts +6 -1
  45. package/lib/QueryBuilderV2/components/FilterByMemberButton.js +16 -6
  46. package/lib/QueryBuilderV2/components/FilterByMemberButton.js.map +1 -1
  47. package/lib/QueryBuilderV2/components/FilterLabel.d.ts +9 -0
  48. package/lib/QueryBuilderV2/components/FilterLabel.js +18 -4
  49. package/lib/QueryBuilderV2/components/FilterLabel.js.map +1 -1
  50. package/lib/QueryBuilderV2/components/FilterMember.d.ts +19 -0
  51. package/lib/QueryBuilderV2/components/FilterMember.js +137 -0
  52. package/lib/QueryBuilderV2/components/FilterMember.js.map +1 -0
  53. package/lib/QueryBuilderV2/components/FilterOptionsButton.d.ts +8 -0
  54. package/lib/QueryBuilderV2/components/FilterOptionsButton.js +54 -0
  55. package/lib/QueryBuilderV2/components/FilterOptionsButton.js.map +1 -0
  56. package/lib/QueryBuilderV2/components/FilteredLabel.js +10 -2
  57. package/lib/QueryBuilderV2/components/FilteredLabel.js.map +1 -1
  58. package/lib/QueryBuilderV2/components/Folder.d.ts +9 -0
  59. package/lib/QueryBuilderV2/components/Folder.js +47 -0
  60. package/lib/QueryBuilderV2/components/Folder.js.map +1 -0
  61. package/lib/QueryBuilderV2/components/GranularityListMember.d.ts +3 -0
  62. package/lib/QueryBuilderV2/components/GranularityListMember.js +5 -14
  63. package/lib/QueryBuilderV2/components/GranularityListMember.js.map +1 -1
  64. package/lib/QueryBuilderV2/components/HierarchyMember.d.ts +14 -0
  65. package/lib/QueryBuilderV2/components/HierarchyMember.js +47 -0
  66. package/lib/QueryBuilderV2/components/HierarchyMember.js.map +1 -0
  67. package/lib/QueryBuilderV2/components/InstanceTooltipProvider.d.ts +15 -0
  68. package/lib/QueryBuilderV2/components/InstanceTooltipProvider.js +36 -0
  69. package/lib/QueryBuilderV2/components/InstanceTooltipProvider.js.map +1 -0
  70. package/lib/QueryBuilderV2/components/ListButton.d.ts +341 -11
  71. package/lib/QueryBuilderV2/components/ListButton.js +2 -1
  72. package/lib/QueryBuilderV2/components/ListButton.js.map +1 -1
  73. package/lib/QueryBuilderV2/components/ListCube.js +2 -2
  74. package/lib/QueryBuilderV2/components/ListCube.js.map +1 -1
  75. package/lib/QueryBuilderV2/components/ListMember.d.ts +11 -2
  76. package/lib/QueryBuilderV2/components/ListMember.js +39 -29
  77. package/lib/QueryBuilderV2/components/ListMember.js.map +1 -1
  78. package/lib/QueryBuilderV2/components/ListMemberButton.d.ts +341 -11
  79. package/lib/QueryBuilderV2/components/ListMemberButton.js +8 -1
  80. package/lib/QueryBuilderV2/components/ListMemberButton.js.map +1 -1
  81. package/lib/QueryBuilderV2/components/LogicalFilter.d.ts +12 -0
  82. package/lib/QueryBuilderV2/components/LogicalFilter.js +152 -0
  83. package/lib/QueryBuilderV2/components/LogicalFilter.js.map +1 -0
  84. package/lib/QueryBuilderV2/components/MemberLabel.d.ts +11 -1
  85. package/lib/QueryBuilderV2/components/MemberLabel.js +14 -6
  86. package/lib/QueryBuilderV2/components/MemberLabel.js.map +1 -1
  87. package/lib/QueryBuilderV2/components/MemberLabelText.js +11 -4
  88. package/lib/QueryBuilderV2/components/MemberLabelText.js.map +1 -1
  89. package/lib/QueryBuilderV2/components/ReorderableList.d.ts +20 -0
  90. package/lib/QueryBuilderV2/components/ReorderableList.js +173 -0
  91. package/lib/QueryBuilderV2/components/ReorderableList.js.map +1 -0
  92. package/lib/QueryBuilderV2/components/ScrollableArea.d.ts +354 -1
  93. package/lib/QueryBuilderV2/components/SegmentFilter.d.ts +7 -0
  94. package/lib/QueryBuilderV2/components/SegmentFilter.js +30 -4
  95. package/lib/QueryBuilderV2/components/SegmentFilter.js.map +1 -1
  96. package/lib/QueryBuilderV2/components/SidePanelCubeItem.d.ts +4 -5
  97. package/lib/QueryBuilderV2/components/SidePanelCubeItem.js +380 -130
  98. package/lib/QueryBuilderV2/components/SidePanelCubeItem.js.map +1 -1
  99. package/lib/QueryBuilderV2/components/TimeListMember.d.ts +20 -5
  100. package/lib/QueryBuilderV2/components/TimeListMember.js +95 -49
  101. package/lib/QueryBuilderV2/components/TimeListMember.js.map +1 -1
  102. package/lib/QueryBuilderV2/components/ValuesInput.d.ts +4 -0
  103. package/lib/QueryBuilderV2/components/ValuesInput.js +65 -41
  104. package/lib/QueryBuilderV2/components/ValuesInput.js.map +1 -1
  105. package/lib/QueryBuilderV2/hooks/dimension-values.d.ts +13 -0
  106. package/lib/QueryBuilderV2/hooks/dimension-values.js +62 -0
  107. package/lib/QueryBuilderV2/hooks/dimension-values.js.map +1 -0
  108. package/lib/QueryBuilderV2/hooks/filtered-cubes.d.ts +6 -2
  109. package/lib/QueryBuilderV2/hooks/filtered-cubes.js +26 -8
  110. package/lib/QueryBuilderV2/hooks/filtered-cubes.js.map +1 -1
  111. package/lib/QueryBuilderV2/hooks/filtered-members.d.ts +10 -4
  112. package/lib/QueryBuilderV2/hooks/filtered-members.js +57 -20
  113. package/lib/QueryBuilderV2/hooks/filtered-members.js.map +1 -1
  114. package/lib/QueryBuilderV2/hooks/has-overflow.d.ts +1 -1
  115. package/lib/QueryBuilderV2/hooks/has-overflow.js +3 -0
  116. package/lib/QueryBuilderV2/hooks/has-overflow.js.map +1 -1
  117. package/lib/QueryBuilderV2/hooks/index.d.ts +2 -1
  118. package/lib/QueryBuilderV2/hooks/index.js +2 -1
  119. package/lib/QueryBuilderV2/hooks/index.js.map +1 -1
  120. package/lib/QueryBuilderV2/hooks/local-storage.js +1 -1
  121. package/lib/QueryBuilderV2/hooks/local-storage.js.map +1 -1
  122. package/lib/QueryBuilderV2/hooks/query-builder.d.ts +36 -13
  123. package/lib/QueryBuilderV2/hooks/query-builder.js +258 -36
  124. package/lib/QueryBuilderV2/hooks/query-builder.js.map +1 -1
  125. package/lib/QueryBuilderV2/hooks/shown-member-name.d.ts +16 -0
  126. package/lib/QueryBuilderV2/hooks/shown-member-name.js +20 -0
  127. package/lib/QueryBuilderV2/hooks/shown-member-name.js.map +1 -0
  128. package/lib/QueryBuilderV2/icons/{ArrowIcon.d.ts → ChevronIcon.d.ts} +5 -5
  129. package/lib/QueryBuilderV2/icons/ChevronIcon.js +49 -0
  130. package/lib/QueryBuilderV2/icons/ChevronIcon.js.map +1 -0
  131. package/lib/QueryBuilderV2/icons/ItemInfoIcon.d.ts +7 -6
  132. package/lib/QueryBuilderV2/icons/ItemInfoIcon.js +7 -4
  133. package/lib/QueryBuilderV2/icons/ItemInfoIcon.js.map +1 -1
  134. package/lib/QueryBuilderV2/icons/PrimaryKeyIcon.js +1 -1
  135. package/lib/QueryBuilderV2/icons/PrimaryKeyIcon.js.map +1 -1
  136. package/lib/QueryBuilderV2/types.d.ts +38 -4
  137. package/lib/QueryBuilderV2/utils/cube-sql-converter.d.ts +5 -5
  138. package/lib/QueryBuilderV2/utils/cube-sql-converter.js +48 -25
  139. package/lib/QueryBuilderV2/utils/cube-sql-converter.js.map +1 -1
  140. package/lib/QueryBuilderV2/utils/get-member-search-name.d.ts +3 -0
  141. package/lib/QueryBuilderV2/utils/get-member-search-name.js +11 -0
  142. package/lib/QueryBuilderV2/utils/get-member-search-name.js.map +1 -0
  143. package/lib/QueryBuilderV2/utils/get-query-hash.js +2 -29
  144. package/lib/QueryBuilderV2/utils/get-query-hash.js.map +1 -1
  145. package/lib/QueryBuilderV2/utils/get-type-icon.d.ts +1 -1
  146. package/lib/QueryBuilderV2/utils/get-type-icon.js +1 -1
  147. package/lib/QueryBuilderV2/utils/get-type-icon.js.map +1 -1
  148. package/lib/QueryBuilderV2/utils/get-used-cubes-and-members.d.ts +7 -1
  149. package/lib/QueryBuilderV2/utils/get-used-cubes-and-members.js +48 -8
  150. package/lib/QueryBuilderV2/utils/get-used-cubes-and-members.js.map +1 -1
  151. package/lib/QueryBuilderV2/utils/graphql-converters.js +9 -12
  152. package/lib/QueryBuilderV2/utils/graphql-converters.js.map +1 -1
  153. package/lib/QueryBuilderV2/utils/index.d.ts +2 -0
  154. package/lib/QueryBuilderV2/utils/index.js +2 -0
  155. package/lib/QueryBuilderV2/utils/index.js.map +1 -1
  156. package/lib/QueryBuilderV2/utils/validate-query.d.ts +2 -0
  157. package/lib/QueryBuilderV2/utils/validate-query.js +109 -0
  158. package/lib/QueryBuilderV2/utils/validate-query.js.map +1 -0
  159. package/lib/QueryBuilderV2/values.d.ts +2 -2
  160. package/lib/QueryBuilderV2/values.js +8 -7
  161. package/lib/QueryBuilderV2/values.js.map +1 -1
  162. package/lib/components/PlaygroundQueryBuilder/QueryBuilderContainer.js +1 -2
  163. package/lib/components/PlaygroundQueryBuilder/QueryBuilderContainer.js.map +1 -1
  164. package/lib/components/QueryTabs/QueryTabs.d.ts +3 -0
  165. package/lib/components/QueryTabs/QueryTabs.js +29 -4
  166. package/lib/components/QueryTabs/QueryTabs.js.map +1 -1
  167. package/package.json +6 -5
  168. package/public/vizard/download/react-typescript-antd-table.zip +0 -0
  169. package/public/vizard/download/react-typescript-chartjs-area+bar+doughnut+line+pie.zip +0 -0
  170. package/lib/QueryBuilderV2/QueryBuilderDevSidePanel.d.ts +0 -1
  171. package/lib/QueryBuilderV2/QueryBuilderDevSidePanel.js +0 -203
  172. package/lib/QueryBuilderV2/QueryBuilderDevSidePanel.js.map +0 -1
  173. package/lib/QueryBuilderV2/components/DeleteFilterButton.d.ts +0 -122
  174. package/lib/QueryBuilderV2/components/DeleteFilterButton.js +0 -10
  175. package/lib/QueryBuilderV2/components/DeleteFilterButton.js.map +0 -1
  176. package/lib/QueryBuilderV2/components/MemberFilter.d.ts +0 -13
  177. package/lib/QueryBuilderV2/components/MemberFilter.js +0 -106
  178. package/lib/QueryBuilderV2/components/MemberFilter.js.map +0 -1
  179. package/lib/QueryBuilderV2/components/Panel.d.ts +0 -19
  180. package/lib/QueryBuilderV2/components/Panel.js +0 -88
  181. package/lib/QueryBuilderV2/components/Panel.js.map +0 -1
  182. package/lib/QueryBuilderV2/components/QueryVisualization.d.ts +0 -8
  183. package/lib/QueryBuilderV2/components/QueryVisualization.js +0 -85
  184. package/lib/QueryBuilderV2/components/QueryVisualization.js.map +0 -1
  185. package/lib/QueryBuilderV2/hooks/list-mode.d.ts +0 -3
  186. package/lib/QueryBuilderV2/hooks/list-mode.js +0 -9
  187. package/lib/QueryBuilderV2/hooks/list-mode.js.map +0 -1
  188. package/lib/QueryBuilderV2/icons/ArrowIcon.js +0 -30
  189. package/lib/QueryBuilderV2/icons/ArrowIcon.js.map +0 -1
@@ -0,0 +1,54 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Button, Menu, MenuTrigger, MoreIcon, tasty } from '@cube-dev/ui-kit';
3
+ import { useMemo } from 'react';
4
+ const OptionsButton = tasty(Button, {
5
+ qa: 'FilterOptionsButton',
6
+ 'aria-label': 'Filter options',
7
+ size: 'small',
8
+ type: 'secondary',
9
+ icon: _jsx(MoreIcon, {}),
10
+ styles: {
11
+ width: '3x',
12
+ },
13
+ });
14
+ export function FilterOptionsButton({ type, disableKeys, onAction }) {
15
+ const items = useMemo(() => {
16
+ const items = [];
17
+ if (type === 'or' || type === 'and') {
18
+ if (type === 'and') {
19
+ items.push({
20
+ key: 'convert',
21
+ label: 'Convert to OR Branch',
22
+ });
23
+ }
24
+ if (type === 'or') {
25
+ items.push({
26
+ key: 'convert',
27
+ label: 'Convert to AND Branch',
28
+ });
29
+ }
30
+ items.push({
31
+ key: 'unwrap',
32
+ label: 'Unwrap Branch',
33
+ });
34
+ }
35
+ if (type === 'member' || type === 'or' || type === 'and') {
36
+ items.push({
37
+ key: 'wrapWithOr',
38
+ label: 'Wrap with OR Branch',
39
+ });
40
+ items.push({
41
+ key: 'wrapWithAnd',
42
+ label: 'Wrap with AND Branch',
43
+ });
44
+ }
45
+ items.push({
46
+ key: 'remove',
47
+ label: 'Remove',
48
+ color: '#danger',
49
+ });
50
+ return items.filter((item) => !disableKeys?.includes(item.key));
51
+ }, [type, disableKeys]);
52
+ return (_jsxs(MenuTrigger, { children: [_jsx(OptionsButton, {}), _jsx(Menu, { onAction: (key) => onAction(key), children: items.map((item) => (_jsx(Menu.Item, { color: item.color, children: item.label }, item.key))) })] }));
53
+ }
54
+ //# sourceMappingURL=FilterOptionsButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterOptionsButton.js","sourceRoot":"","sources":["../../../src/QueryBuilderV2/components/FilterOptionsButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9E,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,EAAE;IAClC,EAAE,EAAE,qBAAqB;IACzB,YAAY,EAAE,gBAAgB;IAC9B,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,KAAC,QAAQ,KAAG;IAClB,MAAM,EAAE;QACN,KAAK,EAAE,IAAI;KACZ;CACF,CAAC,CAAC;AAWH,MAAM,UAAU,mBAAmB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAA4B;IAC3F,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE;QACzB,MAAM,KAAK,GAAqD,EAAE,CAAC;QAEnE,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,EAAE;YACnC,IAAI,IAAI,KAAK,KAAK,EAAE;gBAClB,KAAK,CAAC,IAAI,CAAC;oBACT,GAAG,EAAE,SAAS;oBACd,KAAK,EAAE,sBAAsB;iBAC9B,CAAC,CAAC;aACJ;YAED,IAAI,IAAI,KAAK,IAAI,EAAE;gBACjB,KAAK,CAAC,IAAI,CAAC;oBACT,GAAG,EAAE,SAAS;oBACd,KAAK,EAAE,uBAAuB;iBAC/B,CAAC,CAAC;aACJ;YAED,KAAK,CAAC,IAAI,CAAC;gBACT,GAAG,EAAE,QAAQ;gBACb,KAAK,EAAE,eAAe;aACvB,CAAC,CAAC;SACJ;QAED,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,EAAE;YACxD,KAAK,CAAC,IAAI,CAAC;gBACT,GAAG,EAAE,YAAY;gBACjB,KAAK,EAAE,qBAAqB;aAC7B,CAAC,CAAC;YAEH,KAAK,CAAC,IAAI,CAAC;gBACT,GAAG,EAAE,aAAa;gBAClB,KAAK,EAAE,sBAAsB;aAC9B,CAAC,CAAC;SACJ;QAED,KAAK,CAAC,IAAI,CAAC;YACT,GAAG,EAAE,QAAQ;YACb,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,SAAS;SACjB,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,GAA0B,CAAC,CAAC,CAAC;IACzF,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;IAExB,OAAO,CACL,MAAC,WAAW,eACV,KAAC,aAAa,KAAG,EACjB,KAAC,IAAI,IAAC,QAAQ,EAAE,CAAC,GAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,GAA0B,CAAC,YAC/D,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACnB,KAAC,IAAI,CAAC,IAAI,IAAgB,KAAK,EAAE,IAAI,CAAC,KAAK,YACxC,IAAI,CAAC,KAAK,IADG,IAAI,CAAC,GAAG,CAEZ,CACb,CAAC,GACG,IACK,CACf,CAAC;AACJ,CAAC"}
@@ -9,9 +9,17 @@ const FilteredPartElement = tasty({
9
9
  export function FilteredLabel({ text, filter }) {
10
10
  const lowerText = text.toLowerCase();
11
11
  filter = filter.toLowerCase();
12
- const index = lowerText.indexOf(filter);
12
+ let index = lowerText.indexOf(filter);
13
13
  if (index === -1) {
14
- return _jsx(_Fragment, { children: text });
14
+ filter = filter.replace(/\s/g, '_');
15
+ index = lowerText.indexOf(filter);
16
+ if (index === -1) {
17
+ filter = filter.replace(/_/g, ' ');
18
+ index = lowerText.indexOf(filter);
19
+ if (index === -1) {
20
+ return _jsx(_Fragment, { children: text });
21
+ }
22
+ }
15
23
  }
16
24
  const startPart = text.slice(0, index);
17
25
  const filterPart = text.slice(index, index + filter.length);
@@ -1 +1 @@
1
- {"version":3,"file":"FilteredLabel.js","sourceRoot":"","sources":["../../../src/QueryBuilderV2/components/FilteredLabel.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,MAAM,mBAAmB,GAAG,KAAK,CAAC;IAChC,MAAM,EAAE;QACN,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,YAAY;KACnB;CACF,CAAC,CAAC;AAOH,MAAM,UAAU,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,EAAsB;IAChE,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAErC,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IAE9B,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAExC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;QAChB,OAAO,4BAAG,IAAI,GAAI,CAAC;KACpB;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACvC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAElD,OAAO,CACL,8BACG,SAAS,EACV,KAAC,mBAAmB,cAAE,UAAU,GAAuB,EACtD,OAAO,IACP,CACJ,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"FilteredLabel.js","sourceRoot":"","sources":["../../../src/QueryBuilderV2/components/FilteredLabel.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,MAAM,mBAAmB,GAAG,KAAK,CAAC;IAChC,MAAM,EAAE;QACN,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,YAAY;KACnB;CACF,CAAC,CAAC;AAOH,MAAM,UAAU,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,EAAsB;IAChE,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAErC,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IAE9B,IAAI,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAEtC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;QAChB,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAEpC,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAElC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YAChB,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAEnC,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAElC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;gBAChB,OAAO,4BAAG,IAAI,GAAI,CAAC;aACpB;SACF;KACF;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACvC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAElD,OAAO,CACL,8BACG,SAAS,EACV,KAAC,mBAAmB,cAAE,UAAU,GAAuB,EACtD,OAAO,IACP,CACJ,CAAC;AACJ,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { ReactElement } from 'react';
2
+ export interface FolderProps {
3
+ name: string;
4
+ isOpen?: boolean;
5
+ onToggle: (isOpen: boolean, name: string) => void;
6
+ filterString?: string;
7
+ children?: ReactElement[];
8
+ }
9
+ export declare function Folder(props: FolderProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,47 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Button, Text, tasty, FolderOpenFilledIcon, FolderFilledIcon } from '@cube-dev/ui-kit';
3
+ import { FilteredLabel } from './FilteredLabel';
4
+ const OpenButton = tasty(Button, {
5
+ size: 'small',
6
+ type: 'neutral',
7
+ styles: {
8
+ gridColumns: 'auto auto 1fr',
9
+ placeContent: 'center start',
10
+ placeItems: 'center start',
11
+ color: '#dark',
12
+ },
13
+ });
14
+ const FolderElement = tasty({
15
+ styles: {
16
+ display: 'flex',
17
+ flow: 'column',
18
+ gap: '1bw',
19
+ Contents: {
20
+ display: 'flex',
21
+ hide: {
22
+ '': false,
23
+ empty: true,
24
+ },
25
+ position: 'relative',
26
+ margin: '4x left',
27
+ flow: 'column',
28
+ gap: '1bw',
29
+ padding: '0 0 .5x 0',
30
+ },
31
+ FolderLine: {
32
+ position: 'absolute',
33
+ inset: '0 auto .5x (1bw - 2x)',
34
+ fill: '#border-opaque',
35
+ width: '.25x',
36
+ radius: true,
37
+ },
38
+ Extra: {
39
+ display: 'grid',
40
+ },
41
+ },
42
+ });
43
+ export function Folder(props) {
44
+ const { name, isOpen, onToggle, filterString, children } = props;
45
+ return (_jsxs(FolderElement, { mods: { open: isOpen, empty: !children || !children?.length }, children: [_jsx(OpenButton, { icon: isOpen ? (_jsx(FolderOpenFilledIcon, { style: { color: 'var(--dark-03-color)' } })) : (_jsx(FolderFilledIcon, { style: { color: 'var(--dark-03-color)' } })), onPress: () => onToggle(!isOpen, name), children: _jsx(Text, { ellipsis: true, color: "#dark-02", children: filterString ? _jsx(FilteredLabel, { text: name, filter: filterString }) : name }) }), _jsxs("div", { "data-element": "Contents", children: [children, _jsx("div", { "data-element": "FolderLine" })] })] }));
46
+ }
47
+ //# sourceMappingURL=Folder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Folder.js","sourceRoot":"","sources":["../../../src/QueryBuilderV2/components/Folder.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAG/F,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAUhD,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,EAAE;IAC/B,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,SAAS;IACf,MAAM,EAAE;QACN,WAAW,EAAE,eAAe;QAC5B,YAAY,EAAE,cAAc;QAC5B,UAAU,EAAE,cAAc;QAC1B,KAAK,EAAE,OAAO;KACf;CACF,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,KAAK,CAAC;IAC1B,MAAM,EAAE;QACN,OAAO,EAAE,MAAM;QACf,IAAI,EAAE,QAAQ;QACd,GAAG,EAAE,KAAK;QAEV,QAAQ,EAAE;YACR,OAAO,EAAE,MAAM;YACf,IAAI,EAAE;gBACJ,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,IAAI;aACZ;YACD,QAAQ,EAAE,UAAU;YACpB,MAAM,EAAE,SAAS;YACjB,IAAI,EAAE,QAAQ;YACd,GAAG,EAAE,KAAK;YACV,OAAO,EAAE,WAAW;SACrB;QAED,UAAU,EAAE;YACV,QAAQ,EAAE,UAAU;YACpB,KAAK,EAAE,uBAAuB;YAC9B,IAAI,EAAE,gBAAgB;YACtB,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,IAAI;SACb;QAED,KAAK,EAAE;YACL,OAAO,EAAE,MAAM;SAChB;KACF;CACF,CAAC,CAAC;AAEH,MAAM,UAAU,MAAM,CAAC,KAAkB;IACvC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAEjE,OAAO,CACL,MAAC,aAAa,IAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,aAC1E,KAAC,UAAU,IACT,IAAI,EACF,MAAM,CAAC,CAAC,CAAC,CACP,KAAC,oBAAoB,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,GAAI,CACnE,CAAC,CAAC,CAAC,CACF,KAAC,gBAAgB,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,GAAI,CAC/D,EAEH,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,YAEtC,KAAC,IAAI,IAAC,QAAQ,QAAC,KAAK,EAAC,UAAU,YAC5B,YAAY,CAAC,CAAC,CAAC,KAAC,aAAa,IAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,GAAI,CAAC,CAAC,CAAC,IAAI,GACrE,GACI,EACb,+BAAkB,UAAU,aACzB,QAAQ,EACT,8BAAkB,YAAY,GAAG,IAC7B,IACQ,CACjB,CAAC;AACJ,CAAC"}
@@ -1,8 +1,11 @@
1
+ import { MemberViewType } from '../types';
1
2
  export interface GranularityListMemberProps {
2
3
  name: string;
3
4
  title?: string;
4
5
  isCustom?: boolean;
5
6
  isSelected: boolean;
7
+ isMissing?: boolean;
8
+ memberViewType?: MemberViewType;
6
9
  onToggle: () => void;
7
10
  }
8
11
  export declare function GranularityListMember(props: GranularityListMemberProps): import("react/jsx-runtime").JSX.Element;
@@ -1,20 +1,11 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { CalendarEditIcon, CalendarIcon, Text, TooltipProvider } from '@cube-dev/ui-kit';
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { CalendarEditIcon, CalendarIcon, Text } from '@cube-dev/ui-kit';
3
3
  import { useRef } from 'react';
4
- import { useHasOverflow } from '../hooks/index';
5
- import { titleize } from '../utils/index';
4
+ import { InstanceTooltipProvider } from './InstanceTooltipProvider';
6
5
  import { ListMemberButton } from './ListMemberButton';
7
6
  export function GranularityListMember(props) {
8
- const { name, title, isCustom, isSelected, onToggle } = props;
7
+ const { name, title, isCustom, isSelected, isMissing, memberViewType = 'name', onToggle } = props;
9
8
  const textRef = useRef(null);
10
- const hasOverflow = useHasOverflow(textRef);
11
- const isAutoTitle = titleize(name) === title;
12
- const button = (_jsx(ListMemberButton, { icon: isCustom ? _jsx(CalendarEditIcon, {}) : _jsx(CalendarIcon, {}), "data-member": "timeDimension", isSelected: isSelected, onPress: onToggle, children: _jsx(Text, { ref: textRef, ellipsis: true, children: name }) }));
13
- if (hasOverflow || (!isAutoTitle && isCustom)) {
14
- return (_jsx(TooltipProvider, { title: _jsxs(_Fragment, { children: [_jsx(Text, { preset: "t4", children: name }), _jsx("br", {}), _jsx(Text, { preset: "t3", children: title })] }), delay: 1000, placement: "right", children: button }));
15
- }
16
- else {
17
- return button;
18
- }
9
+ return (_jsx(InstanceTooltipProvider, { name: name, title: title, overflowRef: isCustom ? textRef : undefined, children: _jsx(ListMemberButton, { icon: isCustom ? _jsx(CalendarEditIcon, {}) : _jsx(CalendarIcon, {}), "data-member": "timeDimension", isSelected: isSelected, mods: { missing: isMissing }, onPress: onToggle, children: _jsx(Text, { ref: textRef, ellipsis: true, children: (memberViewType === 'name' ? name : title) ?? name }) }) }));
19
10
  }
20
11
  //# sourceMappingURL=GranularityListMember.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GranularityListMember.js","sourceRoot":"","sources":["../../../src/QueryBuilderV2/components/GranularityListMember.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACzF,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAUtD,MAAM,UAAU,qBAAqB,CAAC,KAAiC;IACrE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAC9D,MAAM,OAAO,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAE7C,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC;IAE7C,MAAM,MAAM,GAAG,CACb,KAAC,gBAAgB,IACf,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAC,gBAAgB,KAAG,CAAC,CAAC,CAAC,KAAC,YAAY,KAAG,iBAC5C,eAAe,EAC3B,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,QAAQ,YAEjB,KAAC,IAAI,IAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,kBACzB,IAAI,GACA,GACU,CACpB,CAAC;IAEF,IAAI,WAAW,IAAI,CAAC,CAAC,WAAW,IAAI,QAAQ,CAAC,EAAE;QAC7C,OAAO,CACL,KAAC,eAAe,IACd,KAAK,EACH,8BACE,KAAC,IAAI,IAAC,MAAM,EAAC,IAAI,YAAE,IAAI,GAAQ,EAC/B,cAAM,EACN,KAAC,IAAI,IAAC,MAAM,EAAC,IAAI,YAAE,KAAK,GAAQ,IAC/B,EAEL,KAAK,EAAE,IAAI,EACX,SAAS,EAAC,OAAO,YAEhB,MAAM,GACS,CACnB,CAAC;KACH;SAAM;QACL,OAAO,MAAM,CAAC;KACf;AACH,CAAC"}
1
+ {"version":3,"file":"GranularityListMember.js","sourceRoot":"","sources":["../../../src/QueryBuilderV2/components/GranularityListMember.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAYtD,MAAM,UAAU,qBAAqB,CAAC,KAAiC;IACrE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,GAAG,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAClG,MAAM,OAAO,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAE7C,OAAO,CACL,KAAC,uBAAuB,IAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,YAC5F,KAAC,gBAAgB,IACf,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAC,gBAAgB,KAAG,CAAC,CAAC,CAAC,KAAC,YAAY,KAAG,iBAC5C,eAAe,EAC3B,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,EAC5B,OAAO,EAAE,QAAQ,YAEjB,KAAC,IAAI,IAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,kBACzB,CAAC,cAAc,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,GAC9C,GACU,GACK,CAC3B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { Cube } from '@cubejs-client/core';
2
+ import { ReactElement } from 'react';
3
+ import { MemberViewType, TCubeHierarchy } from '../types';
4
+ export interface FolderProps {
5
+ cube: Cube;
6
+ isOpen?: boolean;
7
+ onToggle: (isOpen: boolean, name: string) => void;
8
+ filterString?: string;
9
+ member: TCubeHierarchy;
10
+ memberViewType?: MemberViewType;
11
+ children?: ReactElement[];
12
+ count?: number;
13
+ }
14
+ export declare function HierarchyMember(props: FolderProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,47 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Text, tasty, HierarchyIcon, Space } from '@cube-dev/ui-kit';
3
+ import { useRef } from 'react';
4
+ import { useShownMemberName } from '../hooks';
5
+ import { ChevronIcon } from '../icons/ChevronIcon';
6
+ import { InstanceTooltipProvider } from './InstanceTooltipProvider';
7
+ import { ListMemberButton } from './ListMemberButton';
8
+ import { FilteredLabel } from './FilteredLabel';
9
+ const HierarchyElement = tasty({
10
+ styles: {
11
+ display: 'flex',
12
+ flow: 'column',
13
+ gap: '1bw',
14
+ Contents: {
15
+ display: 'flex',
16
+ position: 'relative',
17
+ margin: '4x left',
18
+ flow: 'column',
19
+ gap: '1bw',
20
+ },
21
+ HierarchyLine: {
22
+ position: 'absolute',
23
+ inset: '0 auto 0 (1bw - 2x)',
24
+ fill: '#dimension-active',
25
+ width: '.25x',
26
+ radius: true,
27
+ },
28
+ Extra: {
29
+ display: 'grid',
30
+ },
31
+ },
32
+ });
33
+ export function HierarchyMember(props) {
34
+ const { isOpen, onToggle, cube, memberViewType, member, filterString, children } = props;
35
+ const textRef = useRef(null);
36
+ const name = member.name.replace(`${cube.name}.`, '').trim();
37
+ const title = 'title' in member ? member.title : undefined;
38
+ const { shownMemberName } = useShownMemberName({
39
+ cubeName: cube.name,
40
+ cubeTitle: 'title' in cube ? cube.title : undefined,
41
+ memberName: name,
42
+ memberTitle: title,
43
+ type: memberViewType,
44
+ });
45
+ return (_jsxs(HierarchyElement, { mods: { open: isOpen }, children: [_jsx(InstanceTooltipProvider, { name: name, fullName: member.name, type: "hierarchy", title: title, overflowRef: textRef, children: _jsx(ListMemberButton, { qa: "MemberButton", qaVal: member.name, icon: _jsx(HierarchyIcon, {}), "data-member": "dimension", onPress: () => onToggle?.(!isOpen, member.name), children: _jsxs(Space, { gap: ".75x", children: [_jsx(Text, { ref: textRef, ellipsis: true, children: filterString ? (_jsx(FilteredLabel, { text: shownMemberName, filter: filterString })) : (shownMemberName) }), _jsx(ChevronIcon, { direction: isOpen ? 'top' : 'bottom', color: "var(--dimension-text-color)" })] }) }) }), children && children.length ? (_jsxs("div", { "data-element": "Contents", children: [children, _jsx("div", { "data-element": "HierarchyLine" })] })) : null] }));
46
+ }
47
+ //# sourceMappingURL=HierarchyMember.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HierarchyMember.js","sourceRoot":"","sources":["../../../src/QueryBuilderV2/components/HierarchyMember.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { CubeTooltipProviderProps } from '@cube-dev/ui-kit';
2
+ import { RefObject } from 'react';
3
+ interface InstanceTooltipProviderProps {
4
+ name: string;
5
+ fullName?: string;
6
+ title?: string;
7
+ type?: 'dimension' | 'measure' | 'hierarchy' | 'folder' | 'segment';
8
+ description?: string;
9
+ forceShown?: boolean;
10
+ children: CubeTooltipProviderProps['children'];
11
+ isDisabled?: boolean;
12
+ overflowRef?: RefObject<HTMLDivElement>;
13
+ }
14
+ export declare function InstanceTooltipProvider(props: InstanceTooltipProviderProps): string | import("react/jsx-runtime").JSX.Element;
15
+ export {};
@@ -0,0 +1,36 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { tasty, TooltipProvider } from '@cube-dev/ui-kit';
3
+ import { useHasOverflow } from '../hooks';
4
+ import { titleize } from '../utils';
5
+ const TooltipWrapper = tasty({
6
+ styles: {
7
+ Name: {
8
+ display: 'block',
9
+ width: 'max-content',
10
+ preset: 't4m',
11
+ },
12
+ Title: {
13
+ display: 'block',
14
+ width: 'max-content',
15
+ preset: 't3',
16
+ },
17
+ Description: {
18
+ display: 'block',
19
+ preset: 'p3',
20
+ },
21
+ Type: {
22
+ preset: 'c2',
23
+ opacity: 0.7,
24
+ },
25
+ },
26
+ });
27
+ export function InstanceTooltipProvider(props) {
28
+ const { name, fullName, type, title, description, children, isDisabled, forceShown, overflowRef, } = props;
29
+ const hasOverflow = useHasOverflow(overflowRef);
30
+ const isAutoTitle = titleize(name) === title;
31
+ if ((!forceShown && (isDisabled || (!hasOverflow && isAutoTitle) || !overflowRef)) || !fullName) {
32
+ return children;
33
+ }
34
+ return (_jsx(TooltipProvider, { title: _jsx(_Fragment, { children: _jsxs(TooltipWrapper, { children: [type && _jsx("div", { "data-element": "Type", children: type }), _jsx("div", { "data-element": "Name", children: fullName }), _jsx("div", { "data-element": "Title", children: title }), _jsx("div", { "data-element": "Description", children: description })] }) }), width: "max-content", delay: 1000, placement: "right", children: children }));
35
+ }
36
+ //# sourceMappingURL=InstanceTooltipProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InstanceTooltipProvider.js","sourceRoot":"","sources":["../../../src/QueryBuilderV2/components/InstanceTooltipProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAA4B,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGpF,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,MAAM,cAAc,GAAG,KAAK,CAAC;IAC3B,MAAM,EAAE;QACN,IAAI,EAAE;YACJ,OAAO,EAAE,OAAO;YAChB,KAAK,EAAE,aAAa;YACpB,MAAM,EAAE,KAAK;SACd;QAED,KAAK,EAAE;YACL,OAAO,EAAE,OAAO;YAChB,KAAK,EAAE,aAAa;YACpB,MAAM,EAAE,IAAI;SACb;QAED,WAAW,EAAE;YACX,OAAO,EAAE,OAAO;YAChB,MAAM,EAAE,IAAI;SACb;QAED,IAAI,EAAE;YACJ,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,GAAG;SACb;KACF;CACF,CAAC,CAAC;AAcH,MAAM,UAAU,uBAAuB,CAAC,KAAmC;IACzE,MAAM,EACJ,IAAI,EACJ,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,WAAW,EACX,QAAQ,EACR,UAAU,EACV,UAAU,EACV,WAAW,GACZ,GAAG,KAAK,CAAC;IAEV,MAAM,WAAW,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;IAChD,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC;IAE7C,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,WAAW,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE;QAC/F,OAAO,QAAQ,CAAC;KACjB;IAED,OAAO,CACL,KAAC,eAAe,IACd,KAAK,EACH,4BACE,MAAC,cAAc,eACZ,IAAI,IAAI,8BAAkB,MAAM,YAAE,IAAI,GAAO,EAC9C,8BAAkB,MAAM,YAAE,QAAQ,GAAO,EACzC,8BAAkB,OAAO,YAAE,KAAK,GAAO,EACvC,8BAAkB,aAAa,YAAE,WAAW,GAAO,IACpC,GAChB,EAEL,KAAK,EAAC,aAAa,EACnB,KAAK,EAAE,IAAI,EACX,SAAS,EAAC,OAAO,YAEhB,QAAQ,GACO,CACnB,CAAC;AACJ,CAAC"}