@loomhq/lens 12.12.1 → 12.12.3

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 (150) hide show
  1. package/dist/cjs/icons/admin.js +53 -0
  2. package/dist/cjs/icons/admin.js.map +7 -0
  3. package/dist/cjs/icons/alert-bulb.js +40 -0
  4. package/dist/cjs/icons/alert-bulb.js.map +7 -0
  5. package/dist/cjs/icons/confluence-inverse.js +76 -0
  6. package/dist/cjs/icons/confluence-inverse.js.map +7 -0
  7. package/dist/cjs/icons/confluence-neutral.js +20 -6
  8. package/dist/cjs/icons/confluence-neutral.js.map +2 -2
  9. package/dist/cjs/icons/facebook.js +81 -0
  10. package/dist/cjs/icons/facebook.js.map +7 -0
  11. package/dist/cjs/icons/index.js +1108 -873
  12. package/dist/cjs/icons/index.js.map +4 -4
  13. package/dist/cjs/icons/jira-neutral.js +24 -13
  14. package/dist/cjs/icons/jira-neutral.js.map +2 -2
  15. package/dist/cjs/icons/repeat.js +40 -0
  16. package/dist/cjs/icons/repeat.js.map +7 -0
  17. package/dist/cjs/icons/rovo.js +47 -0
  18. package/dist/cjs/icons/rovo.js.map +7 -0
  19. package/dist/cjs/icons/spaces.js +53 -0
  20. package/dist/cjs/icons/spaces.js.map +7 -0
  21. package/dist/cjs/icons/teamwork-graph.js +81 -0
  22. package/dist/cjs/icons/teamwork-graph.js.map +7 -0
  23. package/dist/cjs/icons/text-rephrase.js +40 -0
  24. package/dist/cjs/icons/text-rephrase.js.map +7 -0
  25. package/dist/cjs/icons/trello.js +69 -0
  26. package/dist/cjs/icons/trello.js.map +7 -0
  27. package/dist/cjs/icons/x-twitter.js +72 -0
  28. package/dist/cjs/icons/x-twitter.js.map +7 -0
  29. package/dist/cjs/index.js +79 -47
  30. package/dist/cjs/index.js.map +3 -3
  31. package/dist/esm/icons/admin.js +8 -0
  32. package/dist/esm/icons/admin.js.map +7 -0
  33. package/dist/esm/icons/alert-bulb.js +8 -0
  34. package/dist/esm/icons/alert-bulb.js.map +7 -0
  35. package/dist/esm/icons/chunk-3T4Y3MZ7.js +37 -0
  36. package/dist/esm/icons/chunk-3T4Y3MZ7.js.map +7 -0
  37. package/dist/esm/icons/chunk-5HUPGCDS.js +18 -0
  38. package/dist/esm/icons/chunk-5HUPGCDS.js.map +7 -0
  39. package/dist/esm/icons/chunk-774PQBBN.js +24 -0
  40. package/dist/esm/icons/chunk-774PQBBN.js.map +7 -0
  41. package/dist/esm/icons/chunk-ESRRXLZJ.js +24 -0
  42. package/dist/esm/icons/chunk-ESRRXLZJ.js.map +7 -0
  43. package/dist/esm/icons/chunk-HBVUD5LH.js +30 -0
  44. package/dist/esm/icons/chunk-HBVUD5LH.js.map +7 -0
  45. package/dist/esm/icons/chunk-JPXEDTZQ.js +11 -0
  46. package/dist/esm/icons/chunk-JPXEDTZQ.js.map +7 -0
  47. package/dist/esm/icons/chunk-JR7FDBMN.js +31 -0
  48. package/dist/esm/icons/chunk-JR7FDBMN.js.map +7 -0
  49. package/dist/esm/icons/chunk-JRTGKL53.js +37 -0
  50. package/dist/esm/icons/chunk-JRTGKL53.js.map +7 -0
  51. package/dist/esm/icons/chunk-OSWSD6NQ.js +11 -0
  52. package/dist/esm/icons/chunk-OSWSD6NQ.js.map +7 -0
  53. package/dist/esm/icons/chunk-UCDRWJOM.js +11 -0
  54. package/dist/esm/icons/chunk-UCDRWJOM.js.map +7 -0
  55. package/dist/esm/icons/chunk-UP7WLXQW.js +42 -0
  56. package/dist/esm/icons/chunk-UP7WLXQW.js.map +7 -0
  57. package/dist/esm/icons/chunk-XEMYW3LC.js +37 -0
  58. package/dist/esm/icons/chunk-XEMYW3LC.js.map +7 -0
  59. package/dist/esm/icons/chunk-YZBANLJ6.js +40 -0
  60. package/dist/esm/icons/chunk-YZBANLJ6.js.map +7 -0
  61. package/dist/esm/icons/confluence-inverse.js +8 -0
  62. package/dist/esm/icons/confluence-inverse.js.map +7 -0
  63. package/dist/esm/icons/confluence-neutral.js +1 -1
  64. package/dist/esm/icons/facebook.js +8 -0
  65. package/dist/esm/icons/facebook.js.map +7 -0
  66. package/dist/esm/icons/index.js +281 -237
  67. package/dist/esm/icons/jira-neutral.js +1 -1
  68. package/dist/esm/icons/repeat.js +8 -0
  69. package/dist/esm/icons/repeat.js.map +7 -0
  70. package/dist/esm/icons/rovo.js +8 -0
  71. package/dist/esm/icons/rovo.js.map +7 -0
  72. package/dist/esm/icons/spaces.js +8 -0
  73. package/dist/esm/icons/spaces.js.map +7 -0
  74. package/dist/esm/icons/teamwork-graph.js +8 -0
  75. package/dist/esm/icons/teamwork-graph.js.map +7 -0
  76. package/dist/esm/icons/text-rephrase.js +8 -0
  77. package/dist/esm/icons/text-rephrase.js.map +7 -0
  78. package/dist/esm/icons/trello.js +8 -0
  79. package/dist/esm/icons/trello.js.map +7 -0
  80. package/dist/esm/icons/x-twitter.js +8 -0
  81. package/dist/esm/icons/x-twitter.js.map +7 -0
  82. package/dist/esm/index.js +86 -54
  83. package/dist/esm/index.js.map +3 -3
  84. package/dist/types/app/hooks/use-local-storage.d.ts.map +1 -1
  85. package/dist/types/icons/admin.d.ts +3 -0
  86. package/dist/types/icons/admin.d.ts.map +1 -0
  87. package/dist/types/icons/alert-bulb.d.ts +3 -0
  88. package/dist/types/icons/alert-bulb.d.ts.map +1 -0
  89. package/dist/types/icons/confluence-inverse.d.ts +3 -0
  90. package/dist/types/icons/confluence-inverse.d.ts.map +1 -0
  91. package/dist/types/icons/confluence-neutral.d.ts.map +1 -1
  92. package/dist/types/icons/facebook.d.ts +3 -0
  93. package/dist/types/icons/facebook.d.ts.map +1 -0
  94. package/dist/types/icons/index.d.ts +11 -0
  95. package/dist/types/icons/index.d.ts.map +1 -1
  96. package/dist/types/icons/jira-neutral.d.ts.map +1 -1
  97. package/dist/types/icons/repeat.d.ts +3 -0
  98. package/dist/types/icons/repeat.d.ts.map +1 -0
  99. package/dist/types/icons/rovo.d.ts +3 -0
  100. package/dist/types/icons/rovo.d.ts.map +1 -0
  101. package/dist/types/icons/spaces.d.ts +3 -0
  102. package/dist/types/icons/spaces.d.ts.map +1 -0
  103. package/dist/types/icons/teamwork-graph.d.ts +3 -0
  104. package/dist/types/icons/teamwork-graph.d.ts.map +1 -0
  105. package/dist/types/icons/text-rephrase.d.ts +3 -0
  106. package/dist/types/icons/text-rephrase.d.ts.map +1 -0
  107. package/dist/types/icons/trello.d.ts +3 -0
  108. package/dist/types/icons/trello.d.ts.map +1 -0
  109. package/dist/types/icons/x-twitter.d.ts +3 -0
  110. package/dist/types/icons/x-twitter.d.ts.map +1 -0
  111. package/dist/types/src/components/backdrop/backdrop.d.ts +5 -3
  112. package/dist/types/src/components/backdrop/backdrop.d.ts.map +1 -1
  113. package/dist/types/src/components/icon/available-icons/admin.d.ts +3 -0
  114. package/dist/types/src/components/icon/available-icons/admin.d.ts.map +1 -0
  115. package/dist/types/src/components/icon/available-icons/alert-bulb.d.ts +3 -0
  116. package/dist/types/src/components/icon/available-icons/alert-bulb.d.ts.map +1 -0
  117. package/dist/types/src/components/icon/available-icons/confluence-inverse.d.ts +3 -0
  118. package/dist/types/src/components/icon/available-icons/confluence-inverse.d.ts.map +1 -0
  119. package/dist/types/src/components/icon/available-icons/confluence-neutral.d.ts.map +1 -1
  120. package/dist/types/src/components/icon/available-icons/facebook.d.ts +3 -0
  121. package/dist/types/src/components/icon/available-icons/facebook.d.ts.map +1 -0
  122. package/dist/types/src/components/icon/available-icons/index.d.ts +11 -0
  123. package/dist/types/src/components/icon/available-icons/index.d.ts.map +1 -1
  124. package/dist/types/src/components/icon/available-icons/jira-neutral.d.ts.map +1 -1
  125. package/dist/types/src/components/icon/available-icons/repeat.d.ts +3 -0
  126. package/dist/types/src/components/icon/available-icons/repeat.d.ts.map +1 -0
  127. package/dist/types/src/components/icon/available-icons/rovo.d.ts +3 -0
  128. package/dist/types/src/components/icon/available-icons/rovo.d.ts.map +1 -0
  129. package/dist/types/src/components/icon/available-icons/spaces.d.ts +3 -0
  130. package/dist/types/src/components/icon/available-icons/spaces.d.ts.map +1 -0
  131. package/dist/types/src/components/icon/available-icons/teamwork-graph.d.ts +3 -0
  132. package/dist/types/src/components/icon/available-icons/teamwork-graph.d.ts.map +1 -0
  133. package/dist/types/src/components/icon/available-icons/text-rephrase.d.ts +3 -0
  134. package/dist/types/src/components/icon/available-icons/text-rephrase.d.ts.map +1 -0
  135. package/dist/types/src/components/icon/available-icons/trello.d.ts +3 -0
  136. package/dist/types/src/components/icon/available-icons/trello.d.ts.map +1 -0
  137. package/dist/types/src/components/icon/available-icons/x-twitter.d.ts +3 -0
  138. package/dist/types/src/components/icon/available-icons/x-twitter.d.ts.map +1 -0
  139. package/dist/types/src/components/icon-button/icon-button.d.ts +4 -0
  140. package/dist/types/src/components/icon-button/icon-button.d.ts.map +1 -1
  141. package/dist/types/src/components/modal/modal.d.ts +2 -2
  142. package/dist/types/src/components/modal/modal.d.ts.map +1 -1
  143. package/dist/types/src/components/select/select.d.ts.map +1 -1
  144. package/dist/types/src/components/toast/toast.d.ts +1 -1
  145. package/dist/types/src/components/toast/toast.d.ts.map +1 -1
  146. package/package.json +5 -6
  147. package/dist/esm/icons/chunk-2J7646L6.js +0 -26
  148. package/dist/esm/icons/chunk-2J7646L6.js.map +0 -7
  149. package/dist/esm/icons/chunk-3XM7NCIA.js +0 -33
  150. package/dist/esm/icons/chunk-3XM7NCIA.js.map +0 -7
package/dist/cjs/index.js CHANGED
@@ -3398,7 +3398,8 @@ var IconButton = import_react19.default.forwardRef(
3398
3398
  backgroundColor,
3399
3399
  isActive,
3400
3400
  isDisabled,
3401
- size = "medium"
3401
+ size = "medium",
3402
+ htmlTag = "button"
3402
3403
  } = _b, props = __objRest(_b, [
3403
3404
  "altText",
3404
3405
  "icon",
@@ -3407,17 +3408,19 @@ var IconButton = import_react19.default.forwardRef(
3407
3408
  "backgroundColor",
3408
3409
  "isActive",
3409
3410
  "isDisabled",
3410
- "size"
3411
+ "size",
3412
+ "htmlTag"
3411
3413
  ]);
3412
3414
  return /* @__PURE__ */ import_react19.default.createElement(
3413
3415
  IconButtonBox,
3414
3416
  __spreadValues({
3415
3417
  "aria-label": altText,
3416
- onClick,
3418
+ onClick: htmlTag === "button" ? onClick : void 0,
3417
3419
  isActive,
3418
3420
  disabled: isDisabled,
3419
3421
  size,
3420
3422
  backgroundColor,
3423
+ as: htmlTag,
3421
3424
  ref
3422
3425
  }, props),
3423
3426
  /* @__PURE__ */ import_react19.default.createElement(
@@ -4192,11 +4195,6 @@ var getSelectedOption = (value, options) => {
4192
4195
  return options.find((item) => item.value === value);
4193
4196
  }
4194
4197
  };
4195
- var didSelectedOptionValueChange = (selectedOptionValue, prevSelectedItem) => {
4196
- return Boolean(
4197
- prevSelectedItem && selectedOptionValue !== prevSelectedItem.value
4198
- );
4199
- };
4200
4198
  var renderOption = (item, index, selectedItem, selectedOptionValue, highlightedIndex, getItemProps, keyboardMove, setKeyboardMove) => {
4201
4199
  const isSelected = !selectedItem && item.value === selectedOptionValue || selectedItem && selectedItem.value === item.value;
4202
4200
  return /* @__PURE__ */ import_react25.default.createElement(
@@ -4328,10 +4326,9 @@ var Select = (_a) => {
4328
4326
  const value = e.target.value;
4329
4327
  setSearchValue(value);
4330
4328
  };
4331
- const [prevSelectedItem, setPrevSelectedItem] = (0, import_react25.useState)(
4329
+ const [selectedItem, setSelectedItem] = (0, import_react25.useState)(
4332
4330
  getSelectedOption(selectedOptionValue, options)
4333
4331
  );
4334
- const [selectedItem, setSelectedItem] = (0, import_react25.useState)(prevSelectedItem);
4335
4332
  const onDownshiftChange = (item) => {
4336
4333
  setSelectedItem(item);
4337
4334
  onChange && onChange(item ? item : "");
@@ -4357,12 +4354,14 @@ var Select = (_a) => {
4357
4354
  triggerOffset
4358
4355
  });
4359
4356
  (0, import_react25.useEffect)(() => {
4360
- if (didSelectedOptionValueChange(selectedOptionValue, prevSelectedItem)) {
4361
- const selectedItem2 = getSelectedOption(selectedOptionValue, options);
4362
- setPrevSelectedItem(selectedItem2);
4363
- setSelectedItem(selectedItem2);
4357
+ const expectedSelectedItem = getSelectedOption(
4358
+ selectedOptionValue,
4359
+ options
4360
+ );
4361
+ if ((expectedSelectedItem == null ? void 0 : expectedSelectedItem.value) !== (selectedItem == null ? void 0 : selectedItem.value)) {
4362
+ setSelectedItem(expectedSelectedItem);
4364
4363
  }
4365
- }, [selectedOptionValue, options, prevSelectedItem]);
4364
+ }, [selectedOptionValue, options, selectedItem]);
4366
4365
  (0, import_react25.useEffect)(() => {
4367
4366
  onOpenChange && onOpenChange(downshiftIsOpen);
4368
4367
  }, [downshiftIsOpen, onOpenChange]);
@@ -4439,7 +4438,7 @@ var Select = (_a) => {
4439
4438
  }) => {
4440
4439
  return (
4441
4440
  // Don't set the role to combobox to ensure a consistent experience for screen readers
4442
- /* @__PURE__ */ import_react25.default.createElement("div", { role: "presentation" }, /* @__PURE__ */ import_react25.default.createElement("div", __spreadValues({}, triggerProps), trigger ? /* @__PURE__ */ import_react25.default.createElement(
4441
+ /* @__PURE__ */ import_react25.default.createElement("div", { role: "presentation", "aria-expanded": void 0 }, /* @__PURE__ */ import_react25.default.createElement("div", __spreadValues({}, triggerProps), trigger ? /* @__PURE__ */ import_react25.default.createElement(
4443
4442
  CustomHeader,
4444
4443
  {
4445
4444
  getToggleButtonProps: () => __spreadValues({}, getToggleButtonProps({ onKeyDown })),
@@ -4597,33 +4596,37 @@ var ChildrenWrapper = import_styled20.default.div`
4597
4596
  overflow: auto;
4598
4597
  height: 100%;
4599
4598
  `;
4600
- var Backdrop = (_a) => {
4601
- var _b = _a, {
4602
- children,
4603
- isOpen,
4604
- zIndex = 1e3,
4605
- backgroundColor = "backdropDark"
4606
- } = _b, props = __objRest(_b, [
4607
- "children",
4608
- "isOpen",
4609
- "zIndex",
4610
- "backgroundColor"
4611
- ]);
4612
- const { stage, shouldMount } = (0, import_transition_hook.useTransition)(isOpen, duration);
4613
- use_prevent_scroll_default("html", isOpen);
4614
- return /* @__PURE__ */ import_react27.default.createElement(import_react27.default.Fragment, null, shouldMount && /* @__PURE__ */ import_react27.default.createElement(
4615
- BackdropWrapper,
4616
- __spreadValues({
4617
- backgroundColor,
4618
- zIndex,
4619
- style: {
4620
- transition: `opacity ${duration}ms`,
4621
- opacity: stage === "enter" ? 1 : 0
4622
- }
4623
- }, props),
4624
- /* @__PURE__ */ import_react27.default.createElement(ChildrenWrapper, null, children)
4625
- ));
4626
- };
4599
+ var Backdrop = import_react27.default.forwardRef(
4600
+ (_a, ref) => {
4601
+ var _b = _a, {
4602
+ children,
4603
+ isOpen,
4604
+ zIndex = 1e3,
4605
+ backgroundColor = "backdropDark"
4606
+ } = _b, props = __objRest(_b, [
4607
+ "children",
4608
+ "isOpen",
4609
+ "zIndex",
4610
+ "backgroundColor"
4611
+ ]);
4612
+ const { stage, shouldMount } = (0, import_transition_hook.useTransition)(isOpen, duration);
4613
+ use_prevent_scroll_default("html", isOpen);
4614
+ return /* @__PURE__ */ import_react27.default.createElement(import_react27.default.Fragment, null, shouldMount && /* @__PURE__ */ import_react27.default.createElement(
4615
+ BackdropWrapper,
4616
+ __spreadValues({
4617
+ ref,
4618
+ backgroundColor,
4619
+ zIndex,
4620
+ style: {
4621
+ transition: `opacity ${duration}ms`,
4622
+ opacity: stage === "enter" ? 1 : 0
4623
+ }
4624
+ }, props),
4625
+ /* @__PURE__ */ import_react27.default.createElement(ChildrenWrapper, null, children)
4626
+ ));
4627
+ }
4628
+ );
4629
+ Backdrop.displayName = "Backdrop";
4627
4630
  var backdrop_default = Backdrop;
4628
4631
 
4629
4632
  // src/components/modal/modal.tsx
@@ -4795,6 +4798,7 @@ var ModalCard = (_a) => {
4795
4798
  {
4796
4799
  altText: "Close",
4797
4800
  icon: /* @__PURE__ */ import_react28.default.createElement(SvgClose, null),
4801
+ size: "small",
4798
4802
  onClick: onCloseClick
4799
4803
  }
4800
4804
  )),
@@ -4854,6 +4858,7 @@ var Modal = import_react28.default.forwardRef(
4854
4858
  "initialFocus"
4855
4859
  ]);
4856
4860
  var _a2;
4861
+ const backdropRef = (0, import_react28.useRef)(null);
4857
4862
  const titleId = id ? `${id}-modal-title` : "modal-title";
4858
4863
  const hasButtons = mainButton || secondaryButton || alternativeButton ? true : false;
4859
4864
  const closeClickHandler = (e) => {
@@ -4864,7 +4869,34 @@ var Modal = import_react28.default.forwardRef(
4864
4869
  }
4865
4870
  onCloseClick(e);
4866
4871
  };
4867
- return /* @__PURE__ */ import_react28.default.createElement(backdrop_default, __spreadValues({ isOpen, zIndex }, props), /* @__PURE__ */ import_react28.default.createElement(
4872
+ (0, import_react28.useEffect)(() => {
4873
+ if (!isOpen || !backdropRef.current) {
4874
+ return;
4875
+ }
4876
+ const container = backdropRef.current.parentElement;
4877
+ if (!container) {
4878
+ return;
4879
+ }
4880
+ const siblings = Array.from(container.children).filter(
4881
+ (child) => child !== backdropRef.current && child instanceof HTMLElement
4882
+ );
4883
+ siblings.forEach((sibling) => {
4884
+ if (!sibling.hasAttribute("aria-hidden")) {
4885
+ sibling.setAttribute("aria-hidden", "true");
4886
+ sibling.setAttribute("data-lens-modal-hidden", "true");
4887
+ }
4888
+ });
4889
+ return () => {
4890
+ const hiddenElements = document.querySelectorAll(
4891
+ "[data-lens-modal-hidden]"
4892
+ );
4893
+ hiddenElements.forEach((element) => {
4894
+ element.removeAttribute("aria-hidden");
4895
+ element.removeAttribute("data-lens-modal-hidden");
4896
+ });
4897
+ };
4898
+ }, [isOpen]);
4899
+ return /* @__PURE__ */ import_react28.default.createElement(backdrop_default, __spreadValues({ ref: backdropRef, isOpen, zIndex }, props), /* @__PURE__ */ import_react28.default.createElement(
4868
4900
  container_default,
4869
4901
  {
4870
4902
  height: "100%",
@@ -5363,7 +5395,7 @@ var getSelectedOption2 = (value, options) => {
5363
5395
  }
5364
5396
  return null;
5365
5397
  };
5366
- var didSelectedOptionValueChange2 = (selectedOptionValue, prevSelectedItem) => {
5398
+ var didSelectedOptionValueChange = (selectedOptionValue, prevSelectedItem) => {
5367
5399
  const didChange = (selectedOptionValue || null) != (prevSelectedItem == null ? void 0 : prevSelectedItem.value);
5368
5400
  return didChange;
5369
5401
  };
@@ -5550,7 +5582,7 @@ var Typeahead = (0, import_react32.forwardRef)(
5550
5582
  snap: true
5551
5583
  });
5552
5584
  (0, import_react32.useEffect)(() => {
5553
- if (didSelectedOptionValueChange2(selectedOptionValue, prevSelectedItem)) {
5585
+ if (didSelectedOptionValueChange(selectedOptionValue, prevSelectedItem)) {
5554
5586
  const item = getSelectedOption2(selectedOptionValue, options);
5555
5587
  setPrevSelectedItem(item);
5556
5588
  setSelectedItem(item);
@@ -6428,7 +6460,7 @@ var import_styled30 = __toESM(require("@emotion/styled"));
6428
6460
  var import_react43 = __toESM(require("react"));
6429
6461
  var WEBAPP = "web-app";
6430
6462
  var CHROME_EXTENSION = "chrome-extension";
6431
- var toastDurations = { short: 3e3, long: 8e3 };
6463
+ var toastDurations = { short: 3e3, medium: 5e3, long: 8e3 };
6432
6464
  var enter = (toastDuration, platform) => import_react42.keyframes`
6433
6465
  0% {
6434
6466
  opacity: 0;