@vertexvis/ui 0.1.0-canary.2 → 0.1.0-canary.21

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 (202) hide show
  1. package/dist/cjs/{color-circle-picker-13396ec4.js → color-circle-picker-a8f9a80a.js} +1 -1
  2. package/dist/cjs/color-picker-2a4820fa.js +46 -0
  3. package/dist/cjs/{color-circle-05be54bf.js → color-swatch-8aaf6c0b.js} +42 -17
  4. package/dist/cjs/components.cjs.js +1 -1
  5. package/dist/cjs/{dialog-88e2308a.js → dialog-34f1dd6e.js} +1 -1
  6. package/dist/cjs/dom-b6c5fbf4.js +13 -0
  7. package/dist/cjs/{icon-button-786427d6.js → icon-button-2256a63a.js} +1 -1
  8. package/dist/cjs/{icon-460fd0f5.js → icon-c3ab7a57.js} +1 -1
  9. package/dist/cjs/{icon-helper-ba408f49.js → icon-helper-35893713.js} +60 -0
  10. package/dist/cjs/index.cjs.js +20 -14
  11. package/dist/cjs/lib-1bd1e383.js +9 -0
  12. package/dist/cjs/loader.cjs.js +1 -1
  13. package/dist/cjs/{popover-d9ec8e10.js → popover-942209b8.js} +23 -1
  14. package/dist/cjs/{result-list-1e592c3c.js → result-list-241ffe8d.js} +46 -2
  15. package/dist/cjs/search-bar-2e7ee35a.js +527 -0
  16. package/dist/cjs/{select-0eb7203f.js → select-2b2bdb97.js} +27 -4
  17. package/dist/cjs/tab-4335cd8f.js +26 -0
  18. package/dist/cjs/tabs-ece62a01.js +111 -0
  19. package/dist/cjs/{text-field-0397fb34.js → text-field-bccbde1f.js} +1 -0
  20. package/dist/cjs/{tooltip-80a7b722.js → tooltip-9ac797a0.js} +59 -23
  21. package/dist/cjs/vertex-color-circle-picker.cjs.entry.js +1 -1
  22. package/dist/cjs/vertex-color-picker.cjs.entry.js +2 -1
  23. package/dist/cjs/vertex-color-swatch.cjs.entry.js +12 -0
  24. package/dist/cjs/vertex-dialog.cjs.entry.js +1 -1
  25. package/dist/cjs/vertex-icon-button.cjs.entry.js +2 -2
  26. package/dist/cjs/vertex-icon.cjs.entry.js +2 -2
  27. package/dist/cjs/vertex-popover.cjs.entry.js +1 -1
  28. package/dist/cjs/vertex-result-list.cjs.entry.js +1 -1
  29. package/dist/cjs/vertex-search-bar.cjs.entry.js +1 -1
  30. package/dist/cjs/vertex-select.cjs.entry.js +1 -1
  31. package/dist/cjs/{vertex-color-circle.cjs.entry.js → vertex-tab.cjs.entry.js} +3 -2
  32. package/dist/cjs/vertex-tabs.cjs.entry.js +12 -0
  33. package/dist/cjs/vertex-textfield.cjs.entry.js +1 -1
  34. package/dist/cjs/vertex-tooltip.cjs.entry.js +2 -1
  35. package/dist/collection/collection-manifest.json +5 -3
  36. package/dist/collection/components/color-circle-picker/color-circle-picker.js +7 -7
  37. package/dist/collection/components/color-picker/color-picker.css +95 -15
  38. package/dist/collection/components/color-picker/color-picker.js +57 -3
  39. package/dist/collection/components/color-swatch/color-swatch.css +43 -0
  40. package/dist/collection/components/{color-circle/color-circle.js → color-swatch/color-swatch.js} +96 -23
  41. package/dist/collection/components/color-swatch/lib.js +5 -0
  42. package/dist/collection/components/dialog/dialog.css +0 -1
  43. package/dist/collection/components/icon/icon-helper.js +33 -0
  44. package/dist/collection/components/icon/icon.js +1 -1
  45. package/dist/collection/components/icon/icons/caution.js +2 -0
  46. package/dist/collection/components/icon/icons/compare.js +2 -0
  47. package/dist/collection/components/icon/icons/compress.js +2 -0
  48. package/dist/collection/components/icon/icons/cube-stack.js +2 -0
  49. package/dist/collection/components/icon/icons/expand.js +2 -0
  50. package/dist/collection/components/icon/icons/pin-text-square.js +2 -0
  51. package/dist/collection/components/icon/icons/plus-with-arrow.js +2 -0
  52. package/dist/collection/components/icon/icons/pmi.js +2 -0
  53. package/dist/collection/components/icon/icons/square-dot-outline.js +2 -0
  54. package/dist/collection/components/icon/icons/update.js +2 -0
  55. package/dist/collection/components/icon/icons/views.js +2 -0
  56. package/dist/collection/components/icon-button/icon-button.js +1 -1
  57. package/dist/collection/components/index.js +3 -1
  58. package/dist/collection/components/menu/menu.js +1 -1
  59. package/dist/collection/components/popover/popover.js +51 -0
  60. package/dist/collection/components/result-list/result-list.js +52 -5
  61. package/dist/collection/components/result-list/types.js +1 -0
  62. package/dist/collection/components/search-bar/dom.js +29 -0
  63. package/dist/collection/components/search-bar/lib.js +76 -15
  64. package/dist/collection/components/search-bar/search-bar.css +0 -16
  65. package/dist/collection/components/search-bar/search-bar.js +429 -320
  66. package/dist/collection/components/select/select.css +24 -0
  67. package/dist/collection/components/select/select.js +49 -2
  68. package/dist/collection/components/tab/tab.css +16 -0
  69. package/dist/collection/components/tab/tab.js +85 -0
  70. package/dist/collection/components/tab/util.js +3 -0
  71. package/dist/collection/components/tabs/tabs.css +67 -0
  72. package/dist/collection/components/tabs/tabs.js +159 -0
  73. package/dist/collection/components/text-field/text-field.js +1 -0
  74. package/dist/collection/components/tooltip/tooltip.js +62 -18
  75. package/dist/collection/types/icon.js +11 -0
  76. package/dist/collection/util/templates/element-pool.js +19 -1
  77. package/dist/components/components.css +1 -1
  78. package/dist/components/components.esm.js +1 -1
  79. package/dist/components/index.esm.js +1 -1
  80. package/dist/components/p-036a0be0.js +1 -0
  81. package/dist/components/{p-165aed7d.js → p-0d4a0d61.js} +1 -1
  82. package/dist/components/{p-9374ef6c.js → p-1367d3af.js} +1 -1
  83. package/dist/components/{p-103249b4.js → p-1971ed0b.js} +1 -1
  84. package/dist/components/p-1d08dd79.entry.js +1 -0
  85. package/dist/components/p-2ae8175d.entry.js +1 -0
  86. package/dist/components/p-2b4aedaa.entry.js +1 -0
  87. package/dist/components/p-3438c441.js +1 -0
  88. package/dist/components/p-3dd7a75f.entry.js +1 -0
  89. package/dist/components/p-406e73da.entry.js +1 -0
  90. package/dist/components/p-4327deea.js +1 -0
  91. package/dist/components/p-43b1b3f9.js +1 -0
  92. package/dist/components/p-49db6547.entry.js +1 -0
  93. package/dist/components/p-606596de.entry.js +1 -0
  94. package/dist/components/{p-ca52a423.js → p-63b48634.js} +1 -1
  95. package/dist/components/p-655053df.js +1 -0
  96. package/dist/components/p-69496858.js +1 -0
  97. package/dist/components/p-6a49c365.entry.js +1 -0
  98. package/dist/components/p-6b6c2260.js +1 -0
  99. package/dist/components/p-6b862967.js +1 -0
  100. package/dist/components/p-76b961b8.js +1 -0
  101. package/dist/components/p-8bbc344d.entry.js +1 -0
  102. package/dist/components/p-96f55673.js +1 -0
  103. package/dist/components/p-a0eac69c.entry.js +1 -0
  104. package/dist/components/p-bc2fbd68.entry.js +1 -0
  105. package/dist/components/p-c2706288.js +1 -0
  106. package/dist/components/p-d3fd9ca3.entry.js +1 -0
  107. package/dist/components/p-d539f530.js +1 -0
  108. package/dist/components/p-e35057b5.entry.js +1 -0
  109. package/dist/components/p-ee496965.entry.js +1 -0
  110. package/dist/components/p-ff7c70b9.js +1 -0
  111. package/dist/esm/{color-circle-picker-998a7e9c.js → color-circle-picker-e2a2cfb5.js} +1 -1
  112. package/dist/esm/color-picker-1d67effe.js +44 -0
  113. package/dist/esm/{color-circle-842f3321.js → color-swatch-0e62d13d.js} +42 -17
  114. package/dist/esm/components.js +1 -1
  115. package/dist/esm/{dialog-e3f49527.js → dialog-1cef715c.js} +1 -1
  116. package/dist/esm/dom-613e2677.js +10 -0
  117. package/dist/esm/{icon-d37150b4.js → icon-55b22de7.js} +1 -1
  118. package/dist/esm/{icon-button-aad3c0e7.js → icon-button-e6c72aec.js} +1 -1
  119. package/dist/esm/{icon-helper-83f10f73.js → icon-helper-67de1067.js} +60 -0
  120. package/dist/esm/index.js +17 -13
  121. package/dist/esm/lib-73fbca8b.js +7 -0
  122. package/dist/esm/loader.js +1 -1
  123. package/dist/esm/{popover-67c88e4b.js → popover-6e806354.js} +23 -1
  124. package/dist/esm/{result-list-36cfb08a.js → result-list-16c6afbd.js} +46 -2
  125. package/dist/esm/search-bar-8d18626e.js +525 -0
  126. package/dist/esm/{select-75ed5653.js → select-78aeff96.js} +27 -4
  127. package/dist/esm/tab-c76332b0.js +24 -0
  128. package/dist/esm/tabs-8e5353ba.js +109 -0
  129. package/dist/esm/{text-field-e542da25.js → text-field-32ac877e.js} +1 -0
  130. package/dist/esm/{tooltip-97c1b3ec.js → tooltip-29278ea4.js} +58 -22
  131. package/dist/esm/vertex-color-circle-picker.entry.js +1 -1
  132. package/dist/esm/vertex-color-picker.entry.js +2 -1
  133. package/dist/esm/vertex-color-swatch.entry.js +4 -0
  134. package/dist/esm/vertex-dialog.entry.js +1 -1
  135. package/dist/esm/vertex-icon-button.entry.js +2 -2
  136. package/dist/esm/vertex-icon.entry.js +2 -2
  137. package/dist/esm/vertex-popover.entry.js +1 -1
  138. package/dist/esm/vertex-result-list.entry.js +1 -1
  139. package/dist/esm/vertex-search-bar.entry.js +1 -1
  140. package/dist/esm/vertex-select.entry.js +1 -1
  141. package/dist/esm/vertex-tab.entry.js +3 -0
  142. package/dist/esm/vertex-tabs.entry.js +4 -0
  143. package/dist/esm/vertex-textfield.entry.js +1 -1
  144. package/dist/esm/vertex-tooltip.entry.js +2 -1
  145. package/dist/types/components/color-circle-picker/color-circle-picker.d.ts +7 -7
  146. package/dist/types/components/color-picker/color-picker.d.ts +19 -0
  147. package/dist/types/components/{color-circle/color-circle.d.ts → color-swatch/color-swatch.d.ts} +23 -5
  148. package/dist/types/components/color-swatch/lib.d.ts +1 -0
  149. package/dist/types/components/icon/icons/caution.d.ts +3 -0
  150. package/dist/types/components/icon/icons/compare.d.ts +3 -0
  151. package/dist/types/components/icon/icons/compress.d.ts +3 -0
  152. package/dist/types/components/icon/icons/cube-stack.d.ts +3 -0
  153. package/dist/types/components/icon/icons/expand.d.ts +3 -0
  154. package/dist/types/components/icon/icons/pin-text-square.d.ts +3 -0
  155. package/dist/types/components/icon/icons/plus-with-arrow.d.ts +3 -0
  156. package/dist/types/components/icon/icons/pmi.d.ts +3 -0
  157. package/dist/types/components/icon/icons/square-dot-outline.d.ts +3 -0
  158. package/dist/types/components/icon/icons/update.d.ts +3 -0
  159. package/dist/types/components/icon/icons/views.d.ts +3 -0
  160. package/dist/types/components/index.d.ts +3 -1
  161. package/dist/types/components/popover/popover.d.ts +7 -0
  162. package/dist/types/components/result-list/result-list.d.ts +6 -1
  163. package/dist/types/components/result-list/types.d.ts +4 -0
  164. package/dist/types/components/search-bar/dom.d.ts +8 -0
  165. package/dist/types/components/search-bar/lib.d.ts +31 -6
  166. package/dist/types/components/search-bar/search-bar.d.ts +125 -42
  167. package/dist/types/components/select/select.d.ts +8 -0
  168. package/dist/types/components/tab/tab.d.ts +11 -0
  169. package/dist/types/components/tab/util.d.ts +1 -0
  170. package/dist/types/components/tabs/tabs.d.ts +23 -0
  171. package/dist/types/components/tooltip/tooltip.d.ts +7 -0
  172. package/dist/types/components.d.ts +254 -96
  173. package/dist/types/types/icon.d.ts +11 -0
  174. package/dist/types/util/templates/element-pool.d.ts +10 -1
  175. package/package.json +4 -3
  176. package/dist/cjs/color-picker-876ace00.js +0 -37
  177. package/dist/cjs/search-bar-bb40cfa7.js +0 -290
  178. package/dist/collection/components/color-circle/color-circle.css +0 -18
  179. package/dist/components/p-03dbb28c.js +0 -1
  180. package/dist/components/p-0f8b9ede.entry.js +0 -1
  181. package/dist/components/p-19318fee.entry.js +0 -1
  182. package/dist/components/p-1d6cb015.entry.js +0 -1
  183. package/dist/components/p-209db2ba.entry.js +0 -1
  184. package/dist/components/p-20a74d5d.entry.js +0 -1
  185. package/dist/components/p-35e7ab78.entry.js +0 -1
  186. package/dist/components/p-4224c2ad.js +0 -1
  187. package/dist/components/p-52739247.js +0 -1
  188. package/dist/components/p-552c128f.js +0 -1
  189. package/dist/components/p-6505cdb3.js +0 -1
  190. package/dist/components/p-7dba2574.entry.js +0 -1
  191. package/dist/components/p-7f64b251.entry.js +0 -1
  192. package/dist/components/p-8434602f.js +0 -1
  193. package/dist/components/p-ae6a3c46.entry.js +0 -1
  194. package/dist/components/p-bd11e7d1.js +0 -1
  195. package/dist/components/p-d9b9aebe.js +0 -1
  196. package/dist/components/p-e576818b.entry.js +0 -1
  197. package/dist/components/p-ebabee40.entry.js +0 -1
  198. package/dist/components/p-f49a7ffd.js +0 -1
  199. package/dist/components/p-f71fc166.entry.js +0 -1
  200. package/dist/esm/color-picker-2e3b51fa.js +0 -35
  201. package/dist/esm/search-bar-59cc151d.js +0 -288
  202. package/dist/esm/vertex-color-circle.entry.js +0 -2
@@ -1475,13 +1475,17 @@ const Popover = class {
1475
1475
  this.updateOnResize = false;
1476
1476
  this.opened = false;
1477
1477
  this.computedPlacement = this.placement;
1478
+ this.resizeObserverFactory = (cb) => new ResizeObserver(cb);
1478
1479
  this.updateListener = this.updateListener.bind(this);
1479
1480
  this.handlePositionUpdate = this.handlePositionUpdate.bind(this);
1480
1481
  this.handleResize = this.handleResize.bind(this);
1482
+ this.handleMiddlewareChange = this.handleMiddlewareChange.bind(this);
1481
1483
  this.setWindow = this.setWindow.bind(this);
1484
+ this.updateResizeObserver = this.updateResizeObserver.bind(this);
1482
1485
  }
1483
1486
  connectedCallback() {
1484
1487
  this.updatePosition(this.position);
1488
+ this.updateResizeObserver();
1485
1489
  }
1486
1490
  componentDidUpdate() {
1487
1491
  if (this.shouldUpdatePosition) {
@@ -1503,12 +1507,14 @@ const Popover = class {
1503
1507
  }
1504
1508
  }
1505
1509
  disconnectedCallback() {
1510
+ var _a;
1506
1511
  this.viewportWidth = undefined;
1507
1512
  this.viewportHeight = undefined;
1508
1513
  this.opened = false;
1509
1514
  if (this.resizeBehavior === 'dynamic') {
1510
1515
  window.removeEventListener('resize', this.handleResize);
1511
1516
  }
1517
+ (_a = this.boundaryResizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
1512
1518
  }
1513
1519
  updatePosition(position) {
1514
1520
  if (position != null) {
@@ -1532,6 +1538,16 @@ const Popover = class {
1532
1538
  updateMiddleware() {
1533
1539
  this.handleMiddlewareChange();
1534
1540
  }
1541
+ updateResizeObserver() {
1542
+ const observer = this.getOrCreateResizeObserver();
1543
+ observer.disconnect();
1544
+ if (this.boundarySelector != null) {
1545
+ const element = document.querySelector(this.boundarySelector);
1546
+ if (element != null) {
1547
+ observer.observe(element);
1548
+ }
1549
+ }
1550
+ }
1535
1551
  /**
1536
1552
  * @private Used for internals or testing.
1537
1553
  */
@@ -1637,6 +1653,12 @@ const Popover = class {
1637
1653
  this.viewportWidth = this.partialWindow.innerWidth;
1638
1654
  this.viewportHeight = this.partialWindow.innerHeight;
1639
1655
  }
1656
+ getOrCreateResizeObserver() {
1657
+ if (this.boundaryResizeObserver == null) {
1658
+ this.boundaryResizeObserver = this.resizeObserverFactory(this.handleMiddlewareChange);
1659
+ }
1660
+ return this.boundaryResizeObserver;
1661
+ }
1640
1662
  getTransformClass() {
1641
1663
  if (this.animated) {
1642
1664
  switch (this.computedPlacement) {
@@ -1673,7 +1695,7 @@ const Popover = class {
1673
1695
  "placement": ["updatePlacement"],
1674
1696
  "open": ["updateOpened"],
1675
1697
  "animated": ["updateAnimated"],
1676
- "boundarySelector": ["updateMiddleware"],
1698
+ "boundarySelector": ["updateMiddleware", "updateResizeObserver"],
1677
1699
  "overflowBehavior": ["updateMiddleware"],
1678
1700
  "flipBehavior": ["updateMiddleware"],
1679
1701
  "offsetBehavior": ["updateMiddleware"]
@@ -5,10 +5,12 @@ const index$1 = require('./index-e1b40fa6.js');
5
5
  const templates = require('./templates-e7b3ffbb.js');
6
6
 
7
7
  class ElementPool {
8
- constructor(container, elementFactory) {
8
+ constructor(container, elementFactory, eventHandlerFactory) {
9
9
  this.container = container;
10
10
  this.elementFactory = elementFactory;
11
+ this.eventHandlerFactory = eventHandlerFactory;
11
12
  this.instanceMap = new Map();
13
+ this.handlerMap = new Map();
12
14
  this.elements = [];
13
15
  }
14
16
  swapHeadToTail(count) {
@@ -60,15 +62,31 @@ class ElementPool {
60
62
  this.elements.push(instance.element);
61
63
  this.instanceMap.set(instance.element, instance);
62
64
  this.container.append(instance.element);
65
+ this.addEventListeners(instance.element);
63
66
  return instance;
64
67
  }
68
+ addEventListeners(element) {
69
+ var _a;
70
+ const handlers = (_a = this.eventHandlerFactory) === null || _a === void 0 ? void 0 : _a.call(this, element);
71
+ handlers === null || handlers === void 0 ? void 0 : handlers.forEach((d) => {
72
+ element.addEventListener(d.type, d.handler);
73
+ });
74
+ this.handlerMap.set(element, handlers !== null && handlers !== void 0 ? handlers : []);
75
+ }
65
76
  deleteElement() {
66
77
  const element = this.elements.pop();
67
78
  if (element != null) {
68
79
  this.instanceMap.delete(element);
69
80
  element.remove();
81
+ this.removeEventListeners(element);
70
82
  }
71
83
  }
84
+ removeEventListeners(element) {
85
+ var _a;
86
+ (_a = this.handlerMap.get(element)) === null || _a === void 0 ? void 0 : _a.forEach((d) => {
87
+ element.removeEventListener(d.type, d.handler);
88
+ });
89
+ }
72
90
  }
73
91
 
74
92
  const getResultListHeight = (el) => {
@@ -88,6 +106,7 @@ const ResultList = class {
88
106
  constructor(hostRef) {
89
107
  index.registerInstance(this, hostRef);
90
108
  this.enterPressed = index.createEvent(this, "enterPressed", 7);
109
+ this.resultClick = index.createEvent(this, "resultClick", 7);
91
110
  this.computeResultHeight = () => {
92
111
  if (this.computedResultHeight == null) {
93
112
  const result = this.hostEl.querySelector('*[slot="result"]');
@@ -112,7 +131,7 @@ const ResultList = class {
112
131
  }
113
132
  };
114
133
  this.createResultPool = () => {
115
- this.stateMap.resultPool = new ElementPool(this.hostEl, () => this.createResultInstance());
134
+ this.stateMap.resultPool = new ElementPool(this.hostEl, () => this.createResultInstance(), () => this.createResultHandlers());
116
135
  };
117
136
  this.createResultInstance = () => {
118
137
  if (this.stateMap.resultTemplate != null) {
@@ -124,6 +143,18 @@ const ResultList = class {
124
143
  throw new Error('Result template not defined.');
125
144
  }
126
145
  };
146
+ this.createResultHandlers = () => {
147
+ return [
148
+ {
149
+ type: 'pointerdown',
150
+ handler: this.handlePointerDown,
151
+ },
152
+ {
153
+ type: 'click',
154
+ handler: this.handleResultClick,
155
+ },
156
+ ];
157
+ };
127
158
  this.layoutResults = () => {
128
159
  var _a, _b, _c, _d;
129
160
  const visibleRowCount = this.viewportEndIndex - this.viewportStartIndex + 1;
@@ -144,6 +175,7 @@ const ResultList = class {
144
175
  el.style.top = `${(this.viewportStartIndex + index) * this.resultHeight}px`;
145
176
  el.style.width = '100%';
146
177
  el.setAttribute('is-focused', `${this.viewportStartIndex + index === this.lastFocusedIndex}`);
178
+ el.setAttribute('data-result-id', result.id);
147
179
  binding.bind(result);
148
180
  }
149
181
  });
@@ -186,6 +218,8 @@ const ResultList = class {
186
218
  this.lastStartIndex = 0;
187
219
  this.lastFocusedIndex = 0;
188
220
  this.stateMap = {};
221
+ this.handleResultClick = this.handleResultClick.bind(this);
222
+ this.handlePointerDown = this.handlePointerDown.bind(this);
189
223
  }
190
224
  handleResultsChanged(results) {
191
225
  if (typeof results === 'string') {
@@ -231,6 +265,16 @@ const ResultList = class {
231
265
  height: `${this.parsedResults.length * this.resultHeight}px`,
232
266
  } }, index.h("slot", null), index.h("slot", { name: "result" })))))));
233
267
  }
268
+ handlePointerDown(event) {
269
+ event.preventDefault();
270
+ }
271
+ handleResultClick(event) {
272
+ const closestIdElement = event.target.closest('[data-result-id]');
273
+ const result = this.parsedResults.find((r) => r.id === (closestIdElement === null || closestIdElement === void 0 ? void 0 : closestIdElement.getAttribute('data-result-id')));
274
+ if (result != null) {
275
+ this.resultClick.emit(result);
276
+ }
277
+ }
234
278
  computeViewportResults() {
235
279
  const viewportHeight = this.getListHeight();
236
280
  if (viewportHeight != null && this.resultHeight > 0) {