@brightspot/ui 6.0.5 → 6.0.6

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 (94) hide show
  1. package/dist/storybook/assets/{ActionBar.stories-BSwwf2PX.js → ActionBar.stories-BI_iTJEQ.js} +1 -1
  2. package/dist/storybook/assets/{ActionItem.stories-SCIA5Rt0.js → ActionItem.stories-BJWzexGS.js} +1 -1
  3. package/dist/storybook/assets/{AiSparkle.stories-ByeiNU3G.js → AiSparkle.stories-DaA5HO3d.js} +1 -1
  4. package/dist/storybook/assets/{Avatar.stories-1EUJytBr.js → Avatar.stories-Dw8QVNJ-.js} +1 -1
  5. package/dist/storybook/assets/{AvatarGroup.stories-Bstlt4go.js → AvatarGroup.stories-BsNMLTiE.js} +1 -1
  6. package/dist/storybook/assets/{Badge.stories-X7m0Vl2G.js → Badge.stories-GY-ektak.js} +1 -1
  7. package/dist/storybook/assets/{Banner.stories-ljxjOtEc.js → Banner.stories-Bg9VB-Fy.js} +1 -1
  8. package/dist/storybook/assets/{Button-Dbpmp5Ih.js → Button-BOLW3-O-.js} +1 -1
  9. package/dist/storybook/assets/{Button.stories-C5qS3rIw.js → Button.stories-DMRHEd8n.js} +1 -1
  10. package/dist/storybook/assets/{ButtonGroup.stories-Bl1Ko9jX.js → ButtonGroup.stories-B2gFm6tD.js} +1 -1
  11. package/dist/storybook/assets/{Card.stories-CfFIzXg5.js → Card.stories-CLdjETEv.js} +1 -1
  12. package/dist/storybook/assets/{Celebrate.stories-TSJrIQR8.js → Celebrate.stories-navEPsY4.js} +1 -1
  13. package/dist/storybook/assets/{Checkbox.stories-DUpT9Iwh.js → Checkbox.stories-5VfpC9R_.js} +1 -1
  14. package/dist/storybook/assets/{CircularProgress.stories-usNosiIU.js → CircularProgress.stories-BI1KFT4i.js} +1 -1
  15. package/dist/storybook/assets/{ClipboardMixin.stories-0jnZ0Drs.js → ClipboardMixin.stories-DLqRNEnd.js} +1 -1
  16. package/dist/storybook/assets/{Color-6BZIO3FS-C6ecAOER.js → Color-6BZIO3FS-BYF_b3cm.js} +1 -1
  17. package/dist/storybook/assets/{Colors.stories-DcbIlkPs.js → Colors.stories-DymlImN1.js} +1 -1
  18. package/dist/storybook/assets/{CombinedEffects.stories-CU-hwRPT.js → CombinedEffects.stories-BcAx9THm.js} +1 -1
  19. package/dist/storybook/assets/{ComponentStatesMixin-Dcz-J-hg.js → ComponentStatesMixin-D77sglBs.js} +1 -1
  20. package/dist/storybook/assets/{ComponentStatesMixin.stories-orhdmIUX.js → ComponentStatesMixin.stories-BFUmXPbv.js} +1 -1
  21. package/dist/storybook/assets/{CopyToClipboard.stories-D1R2yCQL.js → CopyToClipboard.stories-CLP60X8y.js} +1 -1
  22. package/dist/storybook/assets/{Debounce.stories-6z8aEn7O.js → Debounce.stories-CDlv8D8Q.js} +1 -1
  23. package/dist/storybook/assets/{DocsRenderer-LL677BLK-B-fTNYB5.js → DocsRenderer-LL677BLK-DU2JYRwe.js} +3 -3
  24. package/dist/storybook/assets/{Dropdown.stories-CeVpVPrP.js → Dropdown.stories-CJ-QjUYp.js} +1 -1
  25. package/dist/storybook/assets/{EmptyState.stories-DdCyApUP.js → EmptyState.stories-HQi_rzX2.js} +1 -1
  26. package/dist/storybook/assets/{EscaAvatar.stories-DNK85ssI.js → EscaAvatar.stories-BLqoZyr7.js} +1 -1
  27. package/dist/storybook/assets/{Events.stories-B1qeq2wy.js → Events.stories-CvSn4RPH.js} +1 -1
  28. package/dist/storybook/assets/{Heading.stories-DRu5hUyJ.js → Heading.stories-MR-daawc.js} +1 -1
  29. package/dist/storybook/assets/{HueRipple.stories-D3zqVZWM.js → HueRipple.stories-P4LiNUpZ.js} +1 -1
  30. package/dist/storybook/assets/{Icon.stories-CKG5fIIH.js → Icon.stories-h5P6rJQP.js} +1 -1
  31. package/dist/storybook/assets/{IconButton.stories-B3RZKBqV.js → IconButton.stories-Cc0vzr28.js} +1 -1
  32. package/dist/storybook/assets/{LinearProgress.stories-BPvFKGi0.js → LinearProgress.stories-yTIIcK9O.js} +1 -1
  33. package/dist/storybook/assets/{Message.stories-Dq3YDccT.js → Message.stories-BbFPAVCt.js} +1 -1
  34. package/dist/storybook/assets/{OnFindMixin.stories-qKTooUKN.js → OnFindMixin.stories-BAWi3mlB.js} +1 -1
  35. package/dist/storybook/assets/{Pagination.stories-BaFWcckS.js → Pagination.stories-DJ-6-aNd.js} +1 -1
  36. package/dist/storybook/assets/{Popover.stories-DlHlfWrk.js → Popover.stories-D9CilGw-.js} +1 -1
  37. package/dist/storybook/assets/{ReadyMixin-BQ-q8NO4.js → ReadyMixin-B6XKdlIG.js} +1 -1
  38. package/dist/storybook/assets/{RovingTabindexMixin.stories-CQkteE6h.js → RovingTabindexMixin.stories-CPJ_6oiA.js} +1 -1
  39. package/dist/storybook/assets/{Rtc.stories-BWBDrPM8.js → Rtc.stories-DcWHMr_7.js} +1 -1
  40. package/dist/storybook/assets/{ScrollShadow.stories-BtM7Q6Ys.js → ScrollShadow.stories-DH6wJQFV.js} +1 -1
  41. package/dist/storybook/assets/{Switch.stories-Ys6MzOf7.js → Switch.stories-Cl9xPGbR.js} +1 -1
  42. package/dist/storybook/assets/{Tab.stories-CNIDOscR.js → Tab.stories-BAhU8vUi.js} +1 -1
  43. package/dist/storybook/assets/{Tabs.stories-oAxuRqKE.js → Tabs.stories-CLRPMg6P.js} +1 -1
  44. package/dist/storybook/assets/{Throttle.stories-D2nPrZEL.js → Throttle.stories-BbONS-V4.js} +1 -1
  45. package/dist/storybook/assets/{Tooltip.stories-DJhjWYNV.js → Tooltip.stories-B6s8TQSb.js} +1 -1
  46. package/dist/storybook/assets/{Upload.stories-DBveASQF.js → Upload.stories-D0C25uui.js} +1 -1
  47. package/dist/storybook/assets/{UploadItem.stories-Co5bGJs6.js → UploadItem.stories-DL6N7vsq.js} +1 -1
  48. package/dist/storybook/assets/{Welcome.stories-Cls_kv8A.js → Welcome.stories-BK4n0XMp.js} +1 -1
  49. package/dist/storybook/assets/{Widget.stories-CXpqw5z8.js → Widget.stories-Cy9frwq3.js} +1 -1
  50. package/dist/storybook/assets/{WithTooltip-65CFNBJE-Ik6o5Ygb.js → WithTooltip-65CFNBJE-BuwTEXTQ.js} +1 -1
  51. package/dist/storybook/assets/{blocks-DjXAnVrm.js → blocks-BLujz-58.js} +5 -5
  52. package/dist/storybook/assets/{formatter-EIJCOSYU-CQXaWVan.js → formatter-EIJCOSYU-B1sNuUky.js} +1 -1
  53. package/dist/storybook/assets/if-defined-D7P78rGH.js +1 -0
  54. package/dist/storybook/assets/{iframe-D43T7JCn.js → iframe-D1g1spfw.js} +3 -3
  55. package/dist/storybook/assets/{index-DIk8fbbl.js → index-C6O8j27b.js} +1 -1
  56. package/dist/storybook/assets/onFind-ZJa5FYZA.js +1 -0
  57. package/dist/storybook/assets/{onFind.stories-DgxMtTTG.js → onFind.stories-rDFDR12f.js} +16 -16
  58. package/dist/storybook/assets/{onRemove.stories-DltMfNLX.js → onRemove.stories-Cmk4GOI5.js} +1 -1
  59. package/dist/storybook/assets/{onVisible.stories-x3VhGAuF.js → onVisible.stories-RZ3Q87MG.js} +1 -1
  60. package/dist/storybook/assets/{style-map-C5J-rKx9.js → style-map-DS-2jfV3.js} +1 -1
  61. package/dist/storybook/assets/{syntaxhighlighter-ED5Y7EFY-CphVNry2.js → syntaxhighlighter-ED5Y7EFY-C5m4nzeD.js} +1 -1
  62. package/dist/storybook/iframe.html +1 -1
  63. package/dist/storybook/project.json +1 -1
  64. package/dist/util/onFind.d.ts.map +1 -1
  65. package/dist/util/onFind.js +18 -5
  66. package/dist/util/onFind.js.map +1 -1
  67. package/package.json +1 -1
  68. package/src/legacy/tool-ui/src/ContentEdit.css +1 -1
  69. package/src/legacy/tool-ui/src/ContentInputGroup.css +15 -13
  70. package/src/legacy/tool-ui/src/Conversation.ts +130 -136
  71. package/src/legacy/tool-ui/src/Entry.ts +35 -0
  72. package/src/legacy/tool-ui/src/Page.css +4 -2
  73. package/src/legacy/tool-ui/src/Widget.css +2 -2
  74. package/src/legacy/tool-ui/src/dom/onFind.ts +22 -5
  75. package/src/legacy/tool-ui/src/main/webapp/dist/4795.beae23779e30c55c6f6a.js +1 -0
  76. package/src/legacy/tool-ui/src/main/webapp/dist/Appetizeio.73eedd6a3761e060bc96.js +1 -0
  77. package/src/legacy/tool-ui/src/main/webapp/dist/CISpectrum.934683148936d8e35f1d.js +1 -0
  78. package/src/legacy/tool-ui/src/main/webapp/dist/RTEProseMirror.9313166310108234934c.js +500 -0
  79. package/src/legacy/tool-ui/src/main/webapp/dist/TimedContent.e7c0eb6a9e39982cd58f.js +1 -0
  80. package/src/legacy/tool-ui/src/main/webapp/dist/{v4.623480353a5aac2beab1.js → v4.f659cae67f92dbc8160f.js} +4 -4
  81. package/src/legacy/tool-ui/src/main/webapp/dist/v5.5eac97ec93d474fa6085.css +5 -0
  82. package/src/legacy/tool-ui/src/main/webapp/dist/{v5.1283d26d374a3deb15a2.js → v5.9d58fa5b144e53cef35a.js} +5 -5
  83. package/src/legacy/tool-ui/src/v5.ts +5 -0
  84. package/dist/storybook/assets/if-defined-BVO6TNCy.js +0 -1
  85. package/dist/storybook/assets/onFind-CamigPPi.js +0 -1
  86. package/src/legacy/tool-ui/src/main/webapp/dist/4795.034ebc93a67b7a3d6536.js +0 -1
  87. package/src/legacy/tool-ui/src/main/webapp/dist/Appetizeio.185641211f7c0e42a455.js +0 -1
  88. package/src/legacy/tool-ui/src/main/webapp/dist/CISpectrum.74db7dc80b3a6797a167.js +0 -1
  89. package/src/legacy/tool-ui/src/main/webapp/dist/RTEProseMirror.1b453045ff46203bbf72.js +0 -500
  90. package/src/legacy/tool-ui/src/main/webapp/dist/TimedContent.4bb4dc83ffbe4019dd7b.js +0 -1
  91. package/src/legacy/tool-ui/src/main/webapp/dist/v5.cb6c1a38c5ba7fa9ea93.css +0 -5
  92. /package/src/legacy/tool-ui/src/main/webapp/dist/{RTEProseMirror.1b453045ff46203bbf72.js.LICENSE.txt → RTEProseMirror.9313166310108234934c.js.LICENSE.txt} +0 -0
  93. /package/src/legacy/tool-ui/src/main/webapp/dist/{v4.623480353a5aac2beab1.js.LICENSE.txt → v4.f659cae67f92dbc8160f.js.LICENSE.txt} +0 -0
  94. /package/src/legacy/tool-ui/src/main/webapp/dist/{v5.1283d26d374a3deb15a2.js.LICENSE.txt → v5.9d58fa5b144e53cef35a.js.LICENSE.txt} +0 -0
@@ -2,7 +2,8 @@
2
2
  /* CIG */
3
3
  /* -------------- */
4
4
  .CIG {
5
- @apply relative flex flex-wrap p-0 @container/CIG [--CIG-padding:theme(spacing.6)];
5
+ /* Not a query container: nested .CIG chains cost 13,158ms/layout. See min() note below. */
6
+ @apply relative flex flex-wrap p-0 [--CIG-padding:theme(spacing.6)];
6
7
 
7
8
  &.is-empty {
8
9
  @apply hidden;
@@ -161,9 +162,10 @@
161
162
  @apply w-full;
162
163
  }
163
164
 
164
- /* Only constrain the width when the CIG container is wide enough at over 312px */
165
+ /* min() replaces a @[312px]/CIG gate. Pixel-identical only while .CIG-row keeps
166
+ contain:inline-size - otherwise the 100% inflates intrinsic widths. */
165
167
  > .CIG-small.inputSmall:not(.is-grid) {
166
- @apply @[312px]/CIG:min-w-[312px] @[312px]/CIG:max-w-[540px] @[312px]/CIG:basis-1/2;
168
+ @apply min-w-[min(312px,100%)] max-w-[540px] basis-1/2;
167
169
  }
168
170
 
169
171
  /* Inside a layout with columns, unset the min width to prevent fields from
@@ -195,7 +197,10 @@
195
197
  .CIG-row {
196
198
  --CIG-row-space: 1.5rem;
197
199
 
198
- @apply relative flex max-h-min min-w-[200px] basis-full flex-row flex-wrap content-start @container/CIG-row;
200
+ /* contain:inline-size, NOT @container. The containment is load-bearing: it stops
201
+ descendant min-content widths propagating up, else .Admin-main scrolls sideways.
202
+ The query container is what was slow - 13,158ms/layout vs 44ms for containment alone. */
203
+ @apply relative flex max-h-min min-w-[200px] basis-full flex-row flex-wrap content-start [contain:inline-size];
199
204
 
200
205
  /* The colored vertical "thread" to the side of each row.
201
206
  The 1px left offset is to stay true to the design so that there is a slight gap betweem the thread and container.
@@ -239,15 +244,8 @@
239
244
 
240
245
  /*
241
246
  Fades out the surrounding buttons when the user focuses the input. */
242
- .CIG-row:has(
243
- textarea:focus,
244
- input:focus,
245
- a:focus,
246
- button:focus,
247
- .ComboInput:focus,
248
- .ProseMirror:focus,
249
- .is-highlighted
250
- ) {
247
+ .CIG-row.is-inputFocused,
248
+ .CIG-row:has(.is-highlighted) {
251
249
  > .CIG-label .CIG-guide:not(:hover),
252
250
  > .CIG-label .CIG-help:not(:hover),
253
251
  > .CIG-label .CIG-comments:not(:hover),
@@ -260,6 +258,10 @@
260
258
  @apply opacity-100;
261
259
  }
262
260
 
261
+ .RCIG-item.is-collapsed {
262
+ contain: layout style;
263
+ }
264
+
263
265
  /* Fade in the surrounding buttons when the user interacts with the input. */
264
266
  .CIG-row:where(.is-openPopup, :hover, :focus-within) > .CIG-label > *,
265
267
  .CIG-row:where(.is-openPopup, :hover, :focus-within) > .AIChatButton {
@@ -594,57 +594,58 @@ function findClosestCigContainer(root: HTMLElement): HTMLElement | null {
594
594
  return container
595
595
  }
596
596
 
597
- function clickClosestTab(root: HTMLElement) {
598
- setTimeout(() => {
599
- if (root.dataset.tab) {
600
- let tabs = root.closest<HTMLElement>('.TabBar')
601
- if (!tabs) {
602
- let sibling = root.previousElementSibling
603
- while (sibling) {
604
- if (sibling.classList.contains('TabBar')) {
605
- tabs = sibling as HTMLElement
606
- break
597
+ function clickTabIfUnselected(button: HTMLButtonElement | null) {
598
+ if (button && !button.classList.contains('is-selected')) {
599
+ button.click()
600
+ }
601
+ }
602
+
603
+ // Returns a promise so callers can await the tab switch before querying or
604
+ // scrolling to a field that only exists/renders in the selected tab.
605
+ function clickClosestTab(root: HTMLElement): Promise<void> {
606
+ return new Promise((resolve) => {
607
+ setTimeout(() => {
608
+ if (root.dataset.tab) {
609
+ let tabs = root.closest<HTMLElement>('.TabBar')
610
+ if (!tabs) {
611
+ let sibling = root.previousElementSibling
612
+ while (sibling) {
613
+ if (sibling.classList.contains('TabBar')) {
614
+ tabs = sibling as HTMLElement
615
+ break
616
+ }
617
+ sibling = sibling.previousElementSibling
618
+ }
619
+ if (tabs) {
620
+ clickTabIfUnselected(tabs
621
+ .querySelector<HTMLButtonElement>(
622
+ `button[data-tab="${root.dataset.tab}"]`,
623
+ ))
624
+ resolve()
625
+ return
607
626
  }
608
- sibling = sibling.previousElementSibling
609
627
  }
610
- if (tabs) {
611
- tabs
612
- .querySelector<HTMLButtonElement>(
613
- `button[data-tab="${root.dataset.tab}"]`,
628
+ }
629
+ const container = findClosestCigContainer(root)
630
+ if (container && container.dataset.tab) {
631
+ if (container.nodeName.toLowerCase() === 'btu-cig-cluster') {
632
+ container
633
+ .querySelector<HTMLElement>(
634
+ ':scope > .CIG-title > button[aria-expanded="false"]',
614
635
  )
615
636
  ?.click()
616
- return
637
+ }
638
+ const cig = container.closest('.CIG')
639
+ if (cig) {
640
+ clickTabIfUnselected(cig
641
+ .querySelector<HTMLButtonElement>(
642
+ `.TabBar button[data-tab="${container.dataset.tab}"]`,
643
+ ))
617
644
  }
618
645
  }
619
- }
620
- const container = findClosestCigContainer(root)
621
- if (container && container.dataset.tab) {
622
- if (container.nodeName.toLowerCase() === 'btu-cig-cluster') {
623
- container
624
- .querySelector<HTMLElement>(
625
- ':scope > .CIG-title > button[aria-expanded="false"]',
626
- )
627
- ?.click()
628
- }
629
- const cig = container.closest('.CIG')
630
- if (cig) {
631
- cig
632
- .querySelector<HTMLButtonElement>(
633
- `.TabBar button[data-tab="${container.dataset.tab}"]`,
634
- )
635
- ?.click()
636
- }
637
- }
638
- }, 100)
639
- }
640
-
641
- // Scroll the element into view and wait for the animation to complete
642
- function scrollToElement(
643
- element: HTMLElement,
644
- block: 'start' | 'center' | 'end' | 'nearest' = 'start',
645
- ) {
646
- element.scrollIntoView({ behavior: 'smooth', block: block })
647
- return new Promise((resolve) => setTimeout(resolve, 350))
646
+ resolve()
647
+ }, 100)
648
+ })
648
649
  }
649
650
 
650
651
  // When a user clicks on post select the right tab and scroll the element into view
@@ -667,118 +668,111 @@ onFind('.Conversation-post', (post: HTMLElement) => {
667
668
  const fieldParentId =
668
669
  fieldPaths.length === 1 ? contentEdit.dataset.contentId : fieldPaths[0]
669
670
  const root =
670
- document.querySelector<HTMLElement>(`[data-state*="${fieldParentId}"],
671
- [data-content-id="${fieldParentId}"],
671
+ document.querySelector<HTMLElement>(`[data-state*="${fieldParentId}"],
672
+ [data-content-id="${fieldParentId}"],
672
673
  [data-object-id="${fieldParentId}"]`)
673
674
 
674
675
  if (!root || !fieldParentId) return
675
676
 
676
- clickClosestTab(root)
677
+ await clickClosestTab(root)
677
678
 
678
679
  const state = root.dataset.state
680
+ let targetField: HTMLElement | null = null
679
681
 
680
682
  if (!state) {
681
683
  // Check if field is on the root object
682
- const field = root.querySelector<HTMLElement>(
683
- `[data-name="${normalizedFieldName}"]`,
684
- )
685
-
684
+ const field = await waitForField(`[data-name="${normalizedFieldName}"]`)
686
685
  if (field) {
687
- clickClosestTab(field)
688
- field.scrollIntoView({ behavior: 'smooth', block: 'center' })
689
- highlightRow(field)
686
+ await clickClosestTab(field)
687
+ targetField = field
690
688
  }
691
- return
692
- }
693
-
694
- const json = JSON.parse(state)
695
- const path = findPathByValue(json, fieldParentId)
696
-
697
- // Expand root if necessary.
698
- const rootTitle = root.querySelector<HTMLElement>(
699
- ':scope > [class*="-title"][aria-expanded="false"]',
700
- )
701
- if (rootTitle) {
702
- await scrollToElement(root)
703
- root
704
- .querySelector<HTMLElement>(
705
- ':scope > [class*="-title"][aria-expanded="false"]',
706
- )
707
- ?.click()
708
- }
689
+ } else {
690
+ const json = JSON.parse(state)
691
+ const path = findPathByValue(json, fieldParentId)
709
692
 
710
- let last = json
711
- let currentRoot = root
712
- const promises = []
713
- for (const key of path) {
714
- const value = last[key]
715
-
716
- if (Array.isArray(value)) {
717
- clickClosestTab(currentRoot)
718
- currentRoot
719
- .querySelector<HTMLElement>(
720
- ':scope > [class*="-title"][aria-expanded="false"]',
721
- )
722
- ?.click()
723
- } else if (typeof value === 'object') {
724
- if (value._id) {
725
- promises.push(
726
- new Promise<HTMLElement | null>((resolve) => {
727
- const timeout = setTimeout(() => {
728
- resolve(
729
- currentRoot.querySelector<HTMLElement>(
730
- `[data-name="${normalizedFieldName}"]`,
731
- ),
732
- )
733
- }, 1000) // Timeout to avoid hanging
693
+ // Expand root if necessary.
694
+ if (root.classList.contains('is-collapsed')) {
695
+ root.querySelector<HTMLElement>(':scope > [class*="-title"]')?.click()
696
+ }
734
697
 
735
- onFindOnce(
736
- `li[data-id="${value._id}"] > [class*="-title"][aria-expanded="false"]`,
737
- async () => {
738
- const nextRoot = currentRoot.querySelector<HTMLElement>(
739
- `[data-id="${value._id}"]`,
740
- )
741
- if (nextRoot) {
742
- clickClosestTab(nextRoot)
743
- nextRoot
744
- .querySelector<HTMLElement>(
745
- `:scope > [class*="-title"][aria-expanded="false"]`,
746
- )
747
- ?.click()
748
- currentRoot = nextRoot
749
- await scrollToElement(currentRoot)
750
- }
751
- clearTimeout(timeout)
752
- resolve(nextRoot)
753
- },
754
- )
755
- }),
698
+ let last = json
699
+ let currentRoot = root
700
+ for (const key of path) {
701
+ const value = last[key]
702
+
703
+ if (Array.isArray(value)) {
704
+ await clickClosestTab(currentRoot)
705
+ if (currentRoot.classList.contains('is-collapsed')) {
706
+ currentRoot
707
+ .querySelector<HTMLElement>(':scope > [class*="-title"]')
708
+ ?.click()
709
+ }
710
+ } else if (typeof value === 'object') {
711
+ if (value._id) {
712
+ // Await the expansion so currentRoot reflects the newly rendered
713
+ // container before the next path segment queries into it.
714
+ const nextRoot = await waitForNestedItem(value._id)
715
+ if (nextRoot) {
716
+ await clickClosestTab(nextRoot)
717
+ if (nextRoot.classList.contains('is-collapsed')) {
718
+ nextRoot
719
+ .querySelector<HTMLElement>(':scope > [class*="-title"]')
720
+ ?.click()
721
+ }
722
+ currentRoot = nextRoot
723
+ }
724
+ }
725
+ } else if (key === '_id' && normalizedFieldName.startsWith(value)) {
726
+ const field = await waitForField(
727
+ `[data-name="${normalizedFieldName}"]`,
756
728
  )
729
+ if (field) {
730
+ await clickClosestTab(field)
731
+ targetField = field
732
+ }
757
733
  }
758
- } else if (key === '_id' && normalizedFieldName.startsWith(value)) {
759
- const field = currentRoot.querySelector<HTMLElement>(
760
- `[data-name="${normalizedFieldName}"]`,
761
- )
762
- if (field) {
763
- clickClosestTab(field)
764
- await scrollToElement(field)
765
- highlightRow(field)
766
- }
734
+
735
+ last = value
767
736
  }
737
+ }
768
738
 
769
- last = value
739
+ // Scroll once, after the traversal finishes, so the animation isn't
740
+ // repeatedly restarted by scrolls to intermediate containers.
741
+ if (targetField) {
742
+ targetField.scrollIntoView({ behavior: 'smooth', block: 'center' })
743
+ highlightRow(targetField)
770
744
  }
745
+ })
746
+ })
771
747
 
772
- Promise.all(promises).then(async (elements) => {
773
- elements.forEach(async (el) => {
774
- if (el) {
775
- await scrollToElement(el)
776
- }
777
- })
778
- highlightRow(elements.pop())
748
+ // Wait for a field to render — expanding a collapsed RCIG/EIG item renders
749
+ // its inner fields asynchronously, so a querySelector right after the
750
+ // expand click can run before the field exists.
751
+ function waitForField(selector: string): Promise<HTMLElement | null> {
752
+ return new Promise((resolve) => {
753
+ const timeout = setTimeout(() => resolve(null), TIMING.ANIMATION_DURATION) // Timeout to avoid hanging
754
+
755
+ onFindOnce(selector, () => {
756
+ clearTimeout(timeout)
757
+ resolve(document.querySelector<HTMLElement>(selector))
779
758
  })
780
759
  })
781
- })
760
+ }
761
+
762
+ // Wait for a nested repeatable (RCIG) or embedded (EIG) item to render,
763
+ // identified by the object's own id — data-id on the RCIG <li>, or
764
+ // data-object-id on the EIG item — and return that item element.
765
+ function waitForNestedItem(id: string): Promise<HTMLElement | null> {
766
+ const selector = `li[data-id="${id}"], .EIG-item[data-object-id="${id}"]`
767
+ return new Promise((resolve) => {
768
+ const timeout = setTimeout(() => resolve(null), TIMING.ANIMATION_DURATION) // Timeout to avoid hanging
769
+
770
+ onFindOnce(selector, () => {
771
+ clearTimeout(timeout)
772
+ resolve(document.querySelector<HTMLElement>(selector))
773
+ })
774
+ })
775
+ }
782
776
 
783
777
  // Highlight the row for brief moment to make it easier to find
784
778
  function highlightRow(item: HTMLElement | null | undefined) {
@@ -869,6 +869,8 @@ onFind('.ContentEdit-left', (leftPane: HTMLElement) => {
869
869
  if (!contentEdit) return
870
870
 
871
871
  const topBar = contentEdit.querySelector<HTMLElement>('.ContentEdit-top')
872
+ const pageContent = contentEdit.closest<HTMLElement>('.Page-content')
873
+ pageContent?.classList.remove('is-editScrolled')
872
874
 
873
875
  leftPane.addEventListener(
874
876
  'scroll',
@@ -878,9 +880,11 @@ onFind('.ContentEdit-left', (leftPane: HTMLElement) => {
878
880
  const maxScroll = leftPane.scrollHeight - leftPane.clientHeight
879
881
  if (maxScroll > (topBar?.offsetHeight ?? 0)) {
880
882
  contentEdit.classList.add('is-scrolled')
883
+ pageContent?.classList.add('is-editScrolled')
881
884
  }
882
885
  } else if (leftPane.scrollTop === 0) {
883
886
  contentEdit.classList.remove('is-scrolled')
887
+ pageContent?.classList.remove('is-editScrolled')
884
888
  }
885
889
  }),
886
890
  )
@@ -892,3 +896,34 @@ onFind('.ContentEdit-left', (leftPane: HTMLElement) => {
892
896
  leftPane.scrollTo({ top: 0, behavior: 'smooth' })
893
897
  })
894
898
  })
899
+
900
+ // Replaces the focus-keyed :has() on .CIG-row, which forced full-row style re-evaluation on every focus change.
901
+ let focusedCigRow: HTMLElement | null = null
902
+
903
+ document.addEventListener('focusin', (event) => {
904
+ const row =
905
+ (event.target as HTMLElement).closest?.<HTMLElement>('.CIG-row') ?? null
906
+ if (row === focusedCigRow) return
907
+ focusedCigRow?.classList.remove('is-inputFocused')
908
+ focusedCigRow = row
909
+ focusedCigRow?.classList.add('is-inputFocused')
910
+ })
911
+
912
+ document.addEventListener('focusout', (event) => {
913
+ if (event.relatedTarget) return
914
+ focusedCigRow?.classList.remove('is-inputFocused')
915
+ focusedCigRow = null
916
+ })
917
+
918
+ onFind('.ProfileDropdown-items', (items: HTMLElement) => {
919
+ items.closest('.Widget')?.classList.add('has-profileDropdown')
920
+ })
921
+
922
+ onFind('.Widget-controls', (controls: HTMLElement) => {
923
+ const widget = controls.closest<HTMLElement>('.Widget')
924
+ if (!widget) return
925
+ const update = () =>
926
+ widget.classList.toggle('has-widgetControls', controls.childNodes.length > 0)
927
+ update()
928
+ new MutationObserver(update).observe(controls, { childList: true })
929
+ })
@@ -19,7 +19,9 @@
19
19
  --pageNav-w: var(--pageNav-expanded, var(--pageNav-w-sm));
20
20
  --page-title-h: 68px;
21
21
 
22
- @apply fixed grid w-full overflow-hidden bg-gray-200 text-gray-600 transition-all duration-250 ease-linear [column-gap:1px] [grid-template:'broadcast'_minmax(0,_auto)_'stack'_1fr] max-md:h-full md:h-dvh md:min-h-dvh md:w-[100vw] md:[--pageNav-w-sm:68px];
22
+ /* Only the nav-rail slide. Not transition-all: this is 100vw/100dvh, so `all`
23
+ animates width/height on every resize - ~60 layouts instead of one. */
24
+ @apply fixed grid w-full overflow-hidden bg-gray-200 text-gray-600 transition-[grid-template-columns] duration-250 ease-linear [column-gap:1px] [grid-template:'broadcast'_minmax(0,_auto)_'stack'_1fr] max-md:h-full md:h-dvh md:min-h-dvh md:w-[100vw] md:[--pageNav-w-sm:68px];
23
25
 
24
26
  .Page-askAiLink {
25
27
  @apply hidden;
@@ -304,7 +306,7 @@
304
306
  .Page-main:has(> .Page-header.mobile) {
305
307
  @apply transition-[grid-template-rows] duration-300 ease-spring-stiff;
306
308
 
307
- &:has(> .Page-header.mobile.is-scrolled) {
309
+ &.is-headerScrolled {
308
310
  @apply grid-rows-[0px_1fr];
309
311
  }
310
312
  }
@@ -42,7 +42,7 @@
42
42
  }
43
43
 
44
44
  .Widget:not(.is-collapsible) {
45
- &:has(.Widget-controls:not(:empty)) > .Widget-title {
45
+ &.has-widgetControls > .Widget-title {
46
46
  @apply pe-0 [grid-column:fullbleed-start_/_span_2];
47
47
  }
48
48
 
@@ -229,7 +229,7 @@
229
229
  }
230
230
 
231
231
  /* Profile Dropdown popup widget */
232
- .Widget:has(.ProfileDropdown-items) {
232
+ .Widget.has-profileDropdown {
233
233
  --space: theme(spacing.4);
234
234
 
235
235
  > .ProfileDropdown-items {
@@ -90,6 +90,7 @@ let triggerPaused = false
90
90
  let triggerOnResume = false
91
91
  let triggerAll = false
92
92
  let triggerElements: Element[] = []
93
+ let triggerContainers = new Set<Element>()
93
94
  let triggerFrame: number
94
95
  const callbacks: Callback<Element>[] = []
95
96
 
@@ -172,9 +173,8 @@ function triggerCallbacks(mutations?: MutationRecord[]) {
172
173
  triggerElements.push(element)
173
174
  break
174
175
  case 'childList':
175
- for (const callback of callbacks) {
176
- callback.addTriggerElements(triggerElements, element)
177
- }
176
+ // Deduping containers and deferring their selector scans to the animation frame keeps mutation bursts from running every callback's query synchronously per mutation.
177
+ triggerContainers.add(element)
178
178
  break
179
179
  }
180
180
  }
@@ -183,11 +183,28 @@ function triggerCallbacks(mutations?: MutationRecord[]) {
183
183
  }
184
184
  }
185
185
 
186
- if ((triggerAll || triggerElements.length > 0) && !triggerFrame) {
186
+ if (
187
+ (triggerAll || triggerElements.length > 0 || triggerContainers.size > 0) &&
188
+ !triggerFrame
189
+ ) {
187
190
  triggerFrame = window.requestAnimationFrame(() => {
188
- const elements = triggerAll ? undefined : triggerElements
191
+ let elements: Element[] | undefined
192
+
193
+ if (!triggerAll) {
194
+ for (const container of triggerContainers) {
195
+ if (container instanceof Element) {
196
+ for (const callback of callbacks) {
197
+ callback.addTriggerElements(triggerElements, container)
198
+ }
199
+ }
200
+ }
201
+
202
+ elements = triggerElements
203
+ }
204
+
189
205
  triggerAll = false
190
206
  triggerElements = []
207
+ triggerContainers = new Set()
191
208
  triggerFrame = 0
192
209
 
193
210
  callbacks.forEach((callback) => callback.trigger(elements))
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkbrightspot_cms=self.webpackChunkbrightspot_cms||[]).push([[4795],{99022(e,t,n){n.d(t,{A:()=>g});var r=n(83394),i=(n(44764),n(26594));function o(e,t,n){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.set(e,n)}function s(e,t){return e.get(c(e,t))}function a(e,t,n){return e.set(c(e,t),n),n}function c(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var l=new WeakMap,u=new WeakMap,d=new WeakMap,f=new WeakMap;function h(e,t,n){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.set(e,n)}function p(e,t,n){return e.set(w(e,t),n),n}function m(e,t){return e.get(w(e,t))}function w(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var v=new WeakMap,y=new WeakMap;class g{static get toggles(){return w(g,this,A)._}static toggle(e,t,n){let i,o="boolean"==typeof n&&n;function s(e){return"function"==typeof e}if(s(n)&&(i=n,o=i()),o){const o=new g(e,t);let a;s(n)&&window.addEventListener("click",a=(0,r.A)(n=>{if(!(n instanceof Event))return;const r=n.target;if(r instanceof HTMLElement&&!e.contains(r)&&!t.contains(r)){const t=r.closest("[data-tether-rx]");t&&!t.contains(e)||(i(),void 0!==a&&window.removeEventListener("click",a,!0),o.destroy(),A._.delete(e))}}),!0),A._.set(e,{tether:o,closeListener:a})}else{const t=A._.get(e);t&&(void 0!==t.closeListener&&window.removeEventListener("click",t.closeListener,!0),t.tether.destroy(),A._.delete(e))}return o}static getReference(e){for(const t of b._.tethers)if(m(y,t)===e)return m(v,t);return null}get element(){return m(y,this)}get reference(){return m(v,this)}constructor(e,t){h(this,v,void 0),h(this,y,void 0),p(v,this,e),p(y,this,t),e.classList.contains("ComboInput")&&!t.parentElement?.hasAttribute("data-tether-anchor")&&(null!==e.closest("dialog")?e.closest("dialog")?.append(t):null===e.closest(".Popup")?document.querySelector(".Page")?.append(t):e.closest(".Popup")?.append(t)),b._.add(this)}destroy(){b._.remove(this)}}var b={_:new class{constructor(){o(this,l,void 0),o(this,u,void 0),o(this,d,void 0),o(this,f,void 0),a(l,this,new WeakMap),a(u,this,[]),a(f,this,null),a(d,this,(0,i.A)(this.updateImmediately.bind(this)))}get tethers(){return s(u,this)}add(e){s(u,this).push(e),this.start()}remove(e){const t=s(u,this),n=t.indexOf(e);n>-1&&t.splice(n,1),t.length<0&&this.stop()}start(){this.updateImmediately(),null===s(f,this)&&(window.addEventListener("resize",s(d,this),!0),window.addEventListener("scroll",s(d,this),!0),a(f,this,setInterval(s(d,this),50)))}stop(){null!==s(f,this)&&(window.removeEventListener("resize",s(d,this)),window.removeEventListener("scroll",s(d,this)),clearInterval(s(f,this)),a(f,this,null))}updateImmediately(){const e=s(u,this);if(0===e.length)return;const t=[],n=document.documentElement;let r=n.clientWidth/2,i=n.clientHeight/2;const o="rtl"===n.dir;for(const s of e){const e=s.element,a=s.reference.getBoundingClientRect(),c=a.width,l=a.height;if(0===c&&0===l)continue;let u,d=a.top,f=a.left,h=n.clientWidth;if(e.parentElement?.hasAttribute("popover")){d=s.reference.offsetTop,f=s.reference.offsetLeft;const t=e.parentElement;h=t.clientWidth,r=h/2,i=t.clientHeight/2}let p=f;if(o){const e=h-f-c;p=e,u=e<r?"l":"r"}else u=f<r?"l":"r";t.push({element:e,x:u,y:d+l/2<i?"t":"b",l:`${p}px`,w:`${c}px`,t:`${d}px`,h:`${l}px`})}for(const e of t){const t=e.element,n=s(l,this).get(t)||{},r=t.style;e.x!==n.x&&t.setAttribute("data-tether-rx",e.x),e.y!==n.y&&t.setAttribute("data-tether-ry",e.y),e.l!==n.l&&r.setProperty("--Tether-rl",e.l),e.w!==n.w&&r.setProperty("--Tether-rw",e.w),e.t!==n.t&&r.setProperty("--Tether-rt",e.t),e.h!==n.h&&r.setProperty("--Tether-rh",e.h),s(l,this).set(t,e)}}}},A={_:new WeakMap}},55408(e,t,n){n.d(t,{A:()=>g});var r=n(96203),i=(n(57573),n(39403));function o(e,t,n){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.set(e,n)}function s(e,t){return e.get(c(e,t))}function a(e,t,n){return e.set(c(e,t),n),n}function c(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var l=new WeakMap,u=new WeakMap,d=new WeakMap,f=new WeakMap;function h(e,t,n){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.set(e,n)}function p(e,t,n){return e.set(w(e,t),n),n}function m(e,t){return e.get(w(e,t))}function w(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var v=new WeakMap,y=new WeakMap;class g{static get toggles(){return w(g,this,A)._}static toggle(e,t,n){let i,o="boolean"==typeof n&&n;function s(e){return"function"==typeof e}if(s(n)&&(i=n,o=i()),o){const o=new g(e,t);let a;s(n)&&window.addEventListener("click",a=(0,r.A)(n=>{if(!(n instanceof Event))return;const r=n.target;if(r instanceof HTMLElement&&!e.contains(r)&&!t.contains(r)){const t=r.closest("[data-tether-rx]");t&&!t.contains(e)||(i(),void 0!==a&&window.removeEventListener("click",a,!0),o.destroy(),A._.delete(e))}}),!0),A._.set(e,{tether:o,closeListener:a})}else{const t=A._.get(e);t&&(void 0!==t.closeListener&&window.removeEventListener("click",t.closeListener,!0),t.tether.destroy(),A._.delete(e))}return o}static getReference(e){for(const t of b._.tethers)if(m(y,t)===e)return m(v,t);return null}get element(){return m(y,this)}get reference(){return m(v,this)}constructor(e,t){h(this,v,void 0),h(this,y,void 0),p(v,this,e),p(y,this,t),e.classList.contains("ComboInput")&&!t.parentElement?.hasAttribute("data-tether-anchor")&&(null!==e.closest("dialog")?e.closest("dialog")?.append(t):null===e.closest(".Popup")?document.querySelector(".Page")?.append(t):e.closest(".Popup")?.append(t)),b._.add(this)}destroy(){b._.remove(this)}}var b={_:new class{constructor(){o(this,l,void 0),o(this,u,void 0),o(this,d,void 0),o(this,f,void 0),a(l,this,new WeakMap),a(u,this,[]),a(f,this,null),a(d,this,(0,i.A)(this.updateImmediately.bind(this)))}get tethers(){return s(u,this)}add(e){s(u,this).push(e),this.start()}remove(e){const t=s(u,this),n=t.indexOf(e);n>-1&&t.splice(n,1),t.length<0&&this.stop()}start(){this.updateImmediately(),null===s(f,this)&&(window.addEventListener("resize",s(d,this),!0),window.addEventListener("scroll",s(d,this),!0),a(f,this,setInterval(s(d,this),50)))}stop(){null!==s(f,this)&&(window.removeEventListener("resize",s(d,this)),window.removeEventListener("scroll",s(d,this)),clearInterval(s(f,this)),a(f,this,null))}updateImmediately(){const e=s(u,this);if(0===e.length)return;const t=[],n=document.documentElement;let r=n.clientWidth/2,i=n.clientHeight/2;const o="rtl"===n.dir;for(const s of e){const e=s.element,a=s.reference.getBoundingClientRect(),c=a.width,l=a.height;if(0===c&&0===l)continue;let u,d=a.top,f=a.left,h=n.clientWidth;if(e.parentElement?.hasAttribute("popover")){d=s.reference.offsetTop,f=s.reference.offsetLeft;const t=e.parentElement;h=t.clientWidth,r=h/2,i=t.clientHeight/2}let p=f;if(o){const e=h-f-c;p=e,u=e<r?"l":"r"}else u=f<r?"l":"r";t.push({element:e,x:u,y:d+l/2<i?"t":"b",l:`${p}px`,w:`${c}px`,t:`${d}px`,h:`${l}px`})}for(const e of t){const t=e.element,n=s(l,this).get(t)||{},r=t.style;e.x!==n.x&&t.setAttribute("data-tether-rx",e.x),e.y!==n.y&&t.setAttribute("data-tether-ry",e.y),e.l!==n.l&&r.setProperty("--Tether-rl",e.l),e.w!==n.w&&r.setProperty("--Tether-rw",e.w),e.t!==n.t&&r.setProperty("--Tether-rt",e.t),e.h!==n.h&&r.setProperty("--Tether-rh",e.h),s(l,this).set(t,e)}}}},A={_:new WeakMap}},38745(e,t,n){function r(e,...t){const n=document.createElement(e),r=t[0];if(!("object"!=typeof r||Array.isArray(r)||r instanceof Node)){t.shift();for(const[e,t]of Object.entries(r))"dataset"===e?Object.keys(t).forEach(e=>n.dataset[e]=t[e]):void 0===t?n.removeAttribute(e):e in n?Object.assign(n,{[e]:t}):n.setAttribute(e,t)}return i(n,t),n}function i(e,t){if(t)if(Array.isArray(t)||t instanceof NodeList)for(const n of t)i(e,n);else t instanceof Node?e.appendChild(t):e.appendChild(document.createTextNode(t.toString()))}n.d(t,{A:()=>r}),Object.defineProperty(r,"name",{value:"default",configurable:!0}),n(84978),n(25809)},25936(e,t,n){function r(e,...t){const n=document.createElement(e),r=t[0];if(!("object"!=typeof r||Array.isArray(r)||r instanceof Node)){t.shift();for(const[e,t]of Object.entries(r))"dataset"===e?Object.keys(t).forEach(e=>n.dataset[e]=t[e]):void 0===t?n.removeAttribute(e):e in n?Object.assign(n,{[e]:t}):n.setAttribute(e,t)}return i(n,t),n}function i(e,t){if(t)if(Array.isArray(t)||t instanceof NodeList)for(const n of t)i(e,n);else t instanceof Node?e.appendChild(t):e.appendChild(document.createTextNode(t.toString()))}n.d(t,{A:()=>r}),Object.defineProperty(r,"name",{value:"default",configurable:!0}),n(49371),n(96648)},95628(e,t,n){function r(e,t){return e?(Array.isArray(t)&&(t=t.join(",")),e.querySelector(t)):null}n.d(t,{A:()=>r}),Object.defineProperty(r,"name",{value:"default",configurable:!0})},60021(e,t,n){function r(e,t){return e?(Array.isArray(t)&&(t=t.join(",")),e.querySelector(t)):null}n.d(t,{A:()=>r}),Object.defineProperty(r,"name",{value:"default",configurable:!0})},83394(e,t,n){let r;function i(e){return function(...t){if(t[0]instanceof Event||t[0]instanceof window.jQuery.Event){const n=t[0].target;n===r&&e.apply(n,t)}}}n.d(t,{A:()=>i}),window.addEventListener("mousedown",({target:e})=>{r=e})},96203(e,t,n){let r;function i(e){return function(...t){if(t[0]instanceof Event||t[0]instanceof window.jQuery.Event){const n=t[0].target;n===r&&e.apply(n,t)}}}n.d(t,{A:()=>i}),window.addEventListener("mousedown",({target:e})=>{r=e})},56155(e,t,n){n.d(t,{A:()=>C}),n(44764),n(84978),n(13722),n(91672),n(92280);var r=n(59314),i=n.n(r);function o(e,t,n){s(e,t),t.set(e,n)}function s(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function a(e,t){return e.get(l(e,t))}function c(e,t,n){return e.set(l(e,t),n),n}function l(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}let u=0;var d=new WeakMap,f=new WeakMap,h=new WeakMap,p=new WeakMap,m=new WeakMap,w=new WeakSet;class v{constructor(e,t,n){var r;s(this,r=w),r.add(this),o(this,d,void 0),o(this,f,void 0),o(this,h,void 0),o(this,p,void 0),o(this,m,void 0),c(d,this,e),c(f,this,"data-ofc"+u++),Array.isArray(t)||(t=[t]),c(h,this,t.map(t.some(e=>e.indexOf(",")>-1)?e=>e:e=>`${e}:not([${a(f,this)}])`).join(",")),c(p,this,n);const i=t.map(e=>e.trim()).filter(e=>e.indexOf(" ")<0&&e.indexOf(",")<0);i.length===t.length&&c(m,this,i)}addTriggerElements(e,t){if(a(d,this).contains(t)){t.matches(a(h,this))&&e.push(t);for(const n of t.querySelectorAll(a(h,this)))e.push(n)}}trigger(e){if("loading"!==document.readyState)if(a(m,this)&&Array.isArray(e))for(const t of e)a(m,this).some(e=>t.matches(e))&&l(w,this,y).call(this,t);else for(const e of a(d,this).querySelectorAll(a(h,this)))l(w,this,y).call(this,e)}}function y(e){if(!M(e)&&!e.hasAttribute(a(f,this))){e.setAttribute(a(f,this),"");try{a(p,this).call(this,e)}catch(t){i().error("Failed callback!",e,t)}}}let g,b=!1,A=!1,E=!1,k=[],L=new Set;const x=[];function M(e){return e instanceof Element&&(null!==e.closest(".CIG-wordCount")||null!==e.closest(".ContentEdit-previewDisplay")||null!==e.closest(".ContentLabel")||null!==e.closest(".PreviewFrame-typeDisplay")||null!==e.closest(".ProseMirrorToolbar")||null!==e.closest(".ProseMirror")||null!==e.closest(".ProseMirrorContainer")||null!==e.closest(".ProseMirror-fullscreen-container")||null!==e.closest(".ProseMirror-comments")||null!==e.closest(".RichTextEditor")||null!==e.closest(".WorkInProgressSaveStatus")||null!==e.closest("#aria-live-container")||null!==e.closest(".widget-urlsAutomatic"))}const T=Array.prototype.every,P=e=>e.nodeType===Node.TEXT_NODE;function S(e){if(b)return void(A=!0);const t=Array.isArray(e),n=[];if(t){for(const t of e){const e=t.target;if(!M(e))switch(t.type){case"attributes":t.oldValue!==e.getAttribute(t.attributeName)&&n.push(t);break;case"childList":T.call(t.addedNodes,P)&&T.call(t.removedNodes,P)||n.push(t)}}if(0===n.length)return}if(n.length>500&&(E=!0),!E)if(t)for(const e of n){const t=e.target;switch(e.type){case"attributes":k.push(t);break;case"childList":L.add(t)}}else E=!0;(E||k.length>0||L.size>0)&&!g&&(g=window.requestAnimationFrame(()=>{let e;if(!E){for(const e of L)if(e instanceof Element)for(const t of x)t.addTriggerElements(k,e);e=k}E=!1,k=[],L=new Set,g=0,x.forEach(t=>t.trigger(e))}))}function W(){document.documentElement.hidden=!1,S(),new MutationObserver(S).observe(document,{attributes:!0,attributeFilter:["class","data-bsp-autosubmit","data-chart-type","data-code-type","data-internal-name","data-tab","name","rel","target"],attributeOldValue:!0,childList:!0,subtree:!0})}function j(e,t,n){let r,i;void 0!==n?(r=e,i=t):(r=document,i=e,n=t);const o=new v(r,i,n);o.trigger(),x.push(o)}document.documentElement.hidden=!0,"loading"===document.readyState?document.addEventListener("DOMContentLoaded",W):W(),j.triggerCallbacks=S,j.pause=()=>{b=!0},j.resume=()=>{b=!1,A&&(A=!1,setTimeout(S,100))};const C=7717==n.j?j:null},91762(e,t,n){n.d(t,{A:()=>C}),n(57573),n(49371),n(42723),n(56065),n(56673);var r=n(23707),i=n.n(r);function o(e,t,n){s(e,t),t.set(e,n)}function s(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function a(e,t){return e.get(l(e,t))}function c(e,t,n){return e.set(l(e,t),n),n}function l(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}let u=0;var d=new WeakMap,f=new WeakMap,h=new WeakMap,p=new WeakMap,m=new WeakMap,w=new WeakSet;class v{constructor(e,t,n){var r;s(this,r=w),r.add(this),o(this,d,void 0),o(this,f,void 0),o(this,h,void 0),o(this,p,void 0),o(this,m,void 0),c(d,this,e),c(f,this,"data-ofc"+u++),Array.isArray(t)||(t=[t]),c(h,this,t.map(t.some(e=>e.indexOf(",")>-1)?e=>e:e=>`${e}:not([${a(f,this)}])`).join(",")),c(p,this,n);const i=t.map(e=>e.trim()).filter(e=>e.indexOf(" ")<0&&e.indexOf(",")<0);i.length===t.length&&c(m,this,i)}addTriggerElements(e,t){if(a(d,this).contains(t)){t.matches(a(h,this))&&e.push(t);for(const n of t.querySelectorAll(a(h,this)))e.push(n)}}trigger(e){if("loading"!==document.readyState)if(a(m,this)&&Array.isArray(e))for(const t of e)a(m,this).some(e=>t.matches(e))&&l(w,this,y).call(this,t);else for(const e of a(d,this).querySelectorAll(a(h,this)))l(w,this,y).call(this,e)}}function y(e){if(!M(e)&&!e.hasAttribute(a(f,this))){e.setAttribute(a(f,this),"");try{a(p,this).call(this,e)}catch(t){i().error("Failed callback!",e,t)}}}let g,b=!1,A=!1,E=!1,k=[],L=new Set;const x=[];function M(e){return e instanceof Element&&(null!==e.closest(".CIG-wordCount")||null!==e.closest(".ContentEdit-previewDisplay")||null!==e.closest(".ContentLabel")||null!==e.closest(".PreviewFrame-typeDisplay")||null!==e.closest(".ProseMirrorToolbar")||null!==e.closest(".ProseMirror")||null!==e.closest(".ProseMirrorContainer")||null!==e.closest(".ProseMirror-fullscreen-container")||null!==e.closest(".ProseMirror-comments")||null!==e.closest(".RichTextEditor")||null!==e.closest(".WorkInProgressSaveStatus")||null!==e.closest("#aria-live-container")||null!==e.closest(".widget-urlsAutomatic"))}const T=Array.prototype.every,P=e=>e.nodeType===Node.TEXT_NODE;function S(e){if(b)return void(A=!0);const t=Array.isArray(e),n=[];if(t){for(const t of e){const e=t.target;if(!M(e))switch(t.type){case"attributes":t.oldValue!==e.getAttribute(t.attributeName)&&n.push(t);break;case"childList":T.call(t.addedNodes,P)&&T.call(t.removedNodes,P)||n.push(t)}}if(0===n.length)return}if(n.length>500&&(E=!0),!E)if(t)for(const e of n){const t=e.target;switch(e.type){case"attributes":k.push(t);break;case"childList":L.add(t)}}else E=!0;(E||k.length>0||L.size>0)&&!g&&(g=window.requestAnimationFrame(()=>{let e;if(!E){for(const e of L)if(e instanceof Element)for(const t of x)t.addTriggerElements(k,e);e=k}E=!1,k=[],L=new Set,g=0,x.forEach(t=>t.trigger(e))}))}function W(){document.documentElement.hidden=!1,S(),new MutationObserver(S).observe(document,{attributes:!0,attributeFilter:["class","data-bsp-autosubmit","data-chart-type","data-code-type","data-internal-name","data-tab","name","rel","target"],attributeOldValue:!0,childList:!0,subtree:!0})}function j(e,t,n){let r,i;void 0!==n?(r=e,i=t):(r=document,i=e,n=t);const o=new v(r,i,n);o.trigger(),x.push(o)}document.documentElement.hidden=!0,"loading"===document.readyState?document.addEventListener("DOMContentLoaded",W):W(),j.triggerCallbacks=S,j.pause=()=>{b=!0},j.resume=()=>{b=!1,A&&(A=!1,setTimeout(S,100))};const C=3324==n.j?j:null},66556(e,t,n){n.d(t,{AM:()=>s,D1:()=>o,H0:()=>a}),n(84978),n(13722),n(25809);var r=n(9968);if(7717==n.j)var i=n(36500);function o(e,t){!function(e){l(e,"button, a");e.querySelector('[role="menuitem"]')||e.querySelectorAll("button, a").forEach(e=>{e.hasAttribute("role")||(e.setAttribute("role","menuitem"),e.classList.add("Dropdown-item"))})}(e),function(e,t){t.hasAttribute("aria-controls")||(e.id||(e.id=(0,i.A)()),t.setAttribute("aria-controls",e.id))}(e,t),function(e,t){(function(e,t){t.addEventListener("keydown",n=>{const r=e.closest('[role="toolbar"]'),i=r?.getAttribute("aria-orientation");switch(n.key){case"ArrowDown":case"ArrowRight":if(r&&("vertical"===i&&"ArrowDown"===n.key||"vertical"!==i&&"ArrowRight"===n.key))break;t.click(),n.stopPropagation(),n.preventDefault();break;case"ArrowUp":case"ArrowLeft":if(r&&("vertical"===i&&"ArrowUp"===n.key||"vertical"!==i&&"ArrowLeft"===n.key))break;t.click(),"true"===t.getAttribute("aria-expanded")&&e.addEventListener("transitionend",()=>{c(d(u(e)),-1)},{once:!0})}})})(e,t),function(e,t){e.addEventListener("keydown",e=>{switch(e.key){case"Escape":t.click(),t.focus(),e.preventDefault(),e.stopPropagation();break;case"ArrowLeft":case"ArrowUp":c(e.target,-1),e.preventDefault();break;case"ArrowRight":case"ArrowDown":c(e.target,1),e.preventDefault()}})}(e,t),a(e,t)}(e,t)}function s(e,t,n=e){const i=e.querySelector(".ComboInput"),o=n=>{t.classList.contains("is-active")&&"Tab"===n.key&&!e.contains(document.activeElement)&&document.activeElement!==i&&document.activeElement!==t&&t.click()};l(e,'[role="menuitem"]'),r.A.toggle(t,e,()=>{const r=t.classList.toggle("is-active");return r?(t.setAttribute("aria-expanded",!0),window.addEventListener("keyup",o),e.addEventListener("transitionend",()=>{const t=u(e);if(!t?.length)return;const n=d(t);n?.setAttribute("tabindex","0"),n?.focus()},{once:!0})):(t.setAttribute("aria-expanded",!1),window.removeEventListener("keyup",o)),n.classList.toggle("is-open",r)})}function a(e,t){e.querySelectorAll('button, a, [role="menuitem"]').forEach(e=>{e.addEventListener("click",()=>{"true"===t.getAttribute("aria-expanded")&&(t.click(),t.focus())})})}function c(e,t){const n=function(e){if(e)return e.closest(".is-open")||e.closest("ul")}(e),r=u(n);if(!n||!r)return;const i=r.indexOf(e);if(-1===i)return;e.setAttribute("tabindex","-1");const o=n.querySelector("li.focus");if(o&&o.classList.remove("focus"),-1===t){let e=i-1>-1?r[i-1]:r[r.length-1];e.setAttribute("tabindex","0"),e.focus(),o&&e.closest("li")?.classList.add("focus")}if(1===t){let e=i+1<r.length?r[i+1]:r[0];e.setAttribute("tabindex","0"),e.focus(),o&&e.closest("li")?.classList.add("focus")}}function l(e,t){e.querySelectorAll(t).forEach(e=>{e.setAttribute("tabindex","-1")})}function u(e){if(e)return Array.from(e.querySelectorAll('[role="menuitem"]')).filter(e=>!(e.hasAttribute("aria-hidden")||e.closest('[aria-hidden="true"]')||"none"===window.getComputedStyle(e).display||e.classList.contains("screen-reader-only")))}function d(e){for(const t of e)if(t.matches(".is-selected, .selected")||t.parentElement.matches(".is-selected, .selected"))return t;return e[0]}},79365(e,t,n){n.d(t,{AM:()=>s,D1:()=>o,H0:()=>a}),n(49371),n(42723),n(96648);var r=n(22777);if(3324==n.j)var i=n(49309);function o(e,t){!function(e){l(e,"button, a");e.querySelector('[role="menuitem"]')||e.querySelectorAll("button, a").forEach(e=>{e.hasAttribute("role")||(e.setAttribute("role","menuitem"),e.classList.add("Dropdown-item"))})}(e),function(e,t){t.hasAttribute("aria-controls")||(e.id||(e.id=(0,i.A)()),t.setAttribute("aria-controls",e.id))}(e,t),function(e,t){(function(e,t){t.addEventListener("keydown",n=>{const r=e.closest('[role="toolbar"]'),i=r?.getAttribute("aria-orientation");switch(n.key){case"ArrowDown":case"ArrowRight":if(r&&("vertical"===i&&"ArrowDown"===n.key||"vertical"!==i&&"ArrowRight"===n.key))break;t.click(),n.stopPropagation(),n.preventDefault();break;case"ArrowUp":case"ArrowLeft":if(r&&("vertical"===i&&"ArrowUp"===n.key||"vertical"!==i&&"ArrowLeft"===n.key))break;t.click(),"true"===t.getAttribute("aria-expanded")&&e.addEventListener("transitionend",()=>{c(d(u(e)),-1)},{once:!0})}})})(e,t),function(e,t){e.addEventListener("keydown",e=>{switch(e.key){case"Escape":t.click(),t.focus(),e.preventDefault(),e.stopPropagation();break;case"ArrowLeft":case"ArrowUp":c(e.target,-1),e.preventDefault();break;case"ArrowRight":case"ArrowDown":c(e.target,1),e.preventDefault()}})}(e,t),a(e,t)}(e,t)}function s(e,t,n=e){const i=e.querySelector(".ComboInput"),o=n=>{t.classList.contains("is-active")&&"Tab"===n.key&&!e.contains(document.activeElement)&&document.activeElement!==i&&document.activeElement!==t&&t.click()};l(e,'[role="menuitem"]'),r.A.toggle(t,e,()=>{const r=t.classList.toggle("is-active");return r?(t.setAttribute("aria-expanded",!0),window.addEventListener("keyup",o),e.addEventListener("transitionend",()=>{const t=u(e);if(!t?.length)return;const n=d(t);n?.setAttribute("tabindex","0"),n?.focus()},{once:!0})):(t.setAttribute("aria-expanded",!1),window.removeEventListener("keyup",o)),n.classList.toggle("is-open",r)})}function a(e,t){e.querySelectorAll('button, a, [role="menuitem"]').forEach(e=>{e.addEventListener("click",()=>{"true"===t.getAttribute("aria-expanded")&&(t.click(),t.focus())})})}function c(e,t){const n=function(e){if(e)return e.closest(".is-open")||e.closest("ul")}(e),r=u(n);if(!n||!r)return;const i=r.indexOf(e);if(-1===i)return;e.setAttribute("tabindex","-1");const o=n.querySelector("li.focus");if(o&&o.classList.remove("focus"),-1===t){let e=i-1>-1?r[i-1]:r[r.length-1];e.setAttribute("tabindex","0"),e.focus(),o&&e.closest("li")?.classList.add("focus")}if(1===t){let e=i+1<r.length?r[i+1]:r[0];e.setAttribute("tabindex","0"),e.focus(),o&&e.closest("li")?.classList.add("focus")}}function l(e,t){e.querySelectorAll(t).forEach(e=>{e.setAttribute("tabindex","-1")})}function u(e){if(e)return Array.from(e.querySelectorAll('[role="menuitem"]')).filter(e=>!(e.hasAttribute("aria-hidden")||e.closest('[aria-hidden="true"]')||"none"===window.getComputedStyle(e).display||e.classList.contains("screen-reader-only")))}function d(e){for(const t of e)if(t.matches(".is-selected, .selected")||t.parentElement.matches(".is-selected, .selected"))return t;return e[0]}},9968(e,t,n){n.d(t,{A:()=>r.A});var r=n(99022)},22777(e,t,n){n.d(t,{A:()=>r.A});var r=n(55408)},5292(e,t,n){n.d(t,{A:()=>r.A});var r=n(38745)},18101(e,t,n){n.d(t,{A:()=>r.A});var r=n(25936)},32246(e,t,n){n.d(t,{A:()=>r.A});var r=n(56155)},45055(e,t,n){n.d(t,{A:()=>r.A});var r=n(91762)},26594(e,t,n){function r(e){let t;return function(){t&&window.cancelAnimationFrame(t),t=window.requestAnimationFrame(()=>{t=void 0,e.apply(this,[...arguments])})}}n.d(t,{A:()=>r})},39403(e,t,n){function r(e){let t;return function(){t&&window.cancelAnimationFrame(t),t=window.requestAnimationFrame(()=>{t=void 0,e.apply(this,[...arguments])})}}n.d(t,{A:()=>r})}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkbrightspot_cms=self.webpackChunkbrightspot_cms||[]).push([[2963],{56155(e,t,n){n.d(t,{A:()=>N}),n(44764),n(84978),n(13722),n(91672),n(92280);var s=n(59314),i=n.n(s);function o(e,t,n){r(e,t),t.set(e,n)}function r(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function a(e,t){return e.get(l(e,t))}function c(e,t,n){return e.set(l(e,t),n),n}function l(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}let d=0;var u=new WeakMap,p=new WeakMap,h=new WeakMap,m=new WeakMap,f=new WeakMap,v=new WeakSet;class g{constructor(e,t,n){var s;r(this,s=v),s.add(this),o(this,u,void 0),o(this,p,void 0),o(this,h,void 0),o(this,m,void 0),o(this,f,void 0),c(u,this,e),c(p,this,"data-ofc"+d++),Array.isArray(t)||(t=[t]),c(h,this,t.map(t.some(e=>e.indexOf(",")>-1)?e=>e:e=>`${e}:not([${a(p,this)}])`).join(",")),c(m,this,n);const i=t.map(e=>e.trim()).filter(e=>e.indexOf(" ")<0&&e.indexOf(",")<0);i.length===t.length&&c(f,this,i)}addTriggerElements(e,t){if(a(u,this).contains(t)){t.matches(a(h,this))&&e.push(t);for(const n of t.querySelectorAll(a(h,this)))e.push(n)}}trigger(e){if("loading"!==document.readyState)if(a(f,this)&&Array.isArray(e))for(const t of e)a(f,this).some(e=>t.matches(e))&&l(v,this,w).call(this,t);else for(const e of a(u,this).querySelectorAll(a(h,this)))l(v,this,w).call(this,e)}}function w(e){if(!T(e)&&!e.hasAttribute(a(p,this))){e.setAttribute(a(p,this),"");try{a(m,this).call(this,e)}catch(t){i().error("Failed callback!",e,t)}}}let y,b=!1,A=!1,E=!1,L=[],M=new Set;const C=[];function T(e){return e instanceof Element&&(null!==e.closest(".CIG-wordCount")||null!==e.closest(".ContentEdit-previewDisplay")||null!==e.closest(".ContentLabel")||null!==e.closest(".PreviewFrame-typeDisplay")||null!==e.closest(".ProseMirrorToolbar")||null!==e.closest(".ProseMirror")||null!==e.closest(".ProseMirrorContainer")||null!==e.closest(".ProseMirror-fullscreen-container")||null!==e.closest(".ProseMirror-comments")||null!==e.closest(".RichTextEditor")||null!==e.closest(".WorkInProgressSaveStatus")||null!==e.closest("#aria-live-container")||null!==e.closest(".widget-urlsAutomatic"))}const k=Array.prototype.every,S=e=>e.nodeType===Node.TEXT_NODE;function P(e){if(b)return void(A=!0);const t=Array.isArray(e),n=[];if(t){for(const t of e){const e=t.target;if(!T(e))switch(t.type){case"attributes":t.oldValue!==e.getAttribute(t.attributeName)&&n.push(t);break;case"childList":k.call(t.addedNodes,S)&&k.call(t.removedNodes,S)||n.push(t)}}if(0===n.length)return}if(n.length>500&&(E=!0),!E)if(t)for(const e of n){const t=e.target;switch(e.type){case"attributes":L.push(t);break;case"childList":M.add(t)}}else E=!0;(E||L.length>0||M.size>0)&&!y&&(y=window.requestAnimationFrame(()=>{let e;if(!E){for(const e of M)if(e instanceof Element)for(const t of C)t.addTriggerElements(L,e);e=L}E=!1,L=[],M=new Set,y=0,C.forEach(t=>t.trigger(e))}))}function W(){document.documentElement.hidden=!1,P(),new MutationObserver(P).observe(document,{attributes:!0,attributeFilter:["class","data-bsp-autosubmit","data-chart-type","data-code-type","data-internal-name","data-tab","name","rel","target"],attributeOldValue:!0,childList:!0,subtree:!0})}function I(e,t,n){let s,i;void 0!==n?(s=e,i=t):(s=document,i=e,n=t);const o=new g(s,i,n);o.trigger(),C.push(o)}document.documentElement.hidden=!0,"loading"===document.readyState?document.addEventListener("DOMContentLoaded",W):W(),I.triggerCallbacks=P,I.pause=()=>{b=!0},I.resume=()=>{b=!1,A&&(A=!1,setTimeout(P,100))};const N=7717==n.j?I:null},91762(e,t,n){n.d(t,{A:()=>N}),n(57573),n(49371),n(42723),n(56065),n(56673);var s=n(23707),i=n.n(s);function o(e,t,n){r(e,t),t.set(e,n)}function r(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function a(e,t){return e.get(l(e,t))}function c(e,t,n){return e.set(l(e,t),n),n}function l(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}let d=0;var u=new WeakMap,p=new WeakMap,h=new WeakMap,m=new WeakMap,f=new WeakMap,v=new WeakSet;class g{constructor(e,t,n){var s;r(this,s=v),s.add(this),o(this,u,void 0),o(this,p,void 0),o(this,h,void 0),o(this,m,void 0),o(this,f,void 0),c(u,this,e),c(p,this,"data-ofc"+d++),Array.isArray(t)||(t=[t]),c(h,this,t.map(t.some(e=>e.indexOf(",")>-1)?e=>e:e=>`${e}:not([${a(p,this)}])`).join(",")),c(m,this,n);const i=t.map(e=>e.trim()).filter(e=>e.indexOf(" ")<0&&e.indexOf(",")<0);i.length===t.length&&c(f,this,i)}addTriggerElements(e,t){if(a(u,this).contains(t)){t.matches(a(h,this))&&e.push(t);for(const n of t.querySelectorAll(a(h,this)))e.push(n)}}trigger(e){if("loading"!==document.readyState)if(a(f,this)&&Array.isArray(e))for(const t of e)a(f,this).some(e=>t.matches(e))&&l(v,this,w).call(this,t);else for(const e of a(u,this).querySelectorAll(a(h,this)))l(v,this,w).call(this,e)}}function w(e){if(!T(e)&&!e.hasAttribute(a(p,this))){e.setAttribute(a(p,this),"");try{a(m,this).call(this,e)}catch(t){i().error("Failed callback!",e,t)}}}let y,b=!1,A=!1,E=!1,L=[],M=new Set;const C=[];function T(e){return e instanceof Element&&(null!==e.closest(".CIG-wordCount")||null!==e.closest(".ContentEdit-previewDisplay")||null!==e.closest(".ContentLabel")||null!==e.closest(".PreviewFrame-typeDisplay")||null!==e.closest(".ProseMirrorToolbar")||null!==e.closest(".ProseMirror")||null!==e.closest(".ProseMirrorContainer")||null!==e.closest(".ProseMirror-fullscreen-container")||null!==e.closest(".ProseMirror-comments")||null!==e.closest(".RichTextEditor")||null!==e.closest(".WorkInProgressSaveStatus")||null!==e.closest("#aria-live-container")||null!==e.closest(".widget-urlsAutomatic"))}const k=Array.prototype.every,S=e=>e.nodeType===Node.TEXT_NODE;function P(e){if(b)return void(A=!0);const t=Array.isArray(e),n=[];if(t){for(const t of e){const e=t.target;if(!T(e))switch(t.type){case"attributes":t.oldValue!==e.getAttribute(t.attributeName)&&n.push(t);break;case"childList":k.call(t.addedNodes,S)&&k.call(t.removedNodes,S)||n.push(t)}}if(0===n.length)return}if(n.length>500&&(E=!0),!E)if(t)for(const e of n){const t=e.target;switch(e.type){case"attributes":L.push(t);break;case"childList":M.add(t)}}else E=!0;(E||L.length>0||M.size>0)&&!y&&(y=window.requestAnimationFrame(()=>{let e;if(!E){for(const e of M)if(e instanceof Element)for(const t of C)t.addTriggerElements(L,e);e=L}E=!1,L=[],M=new Set,y=0,C.forEach(t=>t.trigger(e))}))}function W(){document.documentElement.hidden=!1,P(),new MutationObserver(P).observe(document,{attributes:!0,attributeFilter:["class","data-bsp-autosubmit","data-chart-type","data-code-type","data-internal-name","data-tab","name","rel","target"],attributeOldValue:!0,childList:!0,subtree:!0})}function I(e,t,n){let s,i;void 0!==n?(s=e,i=t):(s=document,i=e,n=t);const o=new g(s,i,n);o.trigger(),C.push(o)}document.documentElement.hidden=!0,"loading"===document.readyState?document.addEventListener("DOMContentLoaded",W):W(),I.triggerCallbacks=P,I.pause=()=>{b=!0},I.resume=()=>{b=!1,A&&(A=!1,setTimeout(P,100))};const N=3324==n.j?I:null},48874(e,t,n){n.r(t);var s=n(32246),i=n(27170);(0,s.A)('iframe[name="AppetizeIoEmbedded"]',e=>{const t=e.getAttribute("data-preview-url");if(!t)return;const n=e.id,s=e.getAttribute("src"),o=window.parent.document.querySelector('.AppetizeIo-displayControls[id="'+n+'"]'),r=o.closest(".PreviewFrame");if(!r)return;const a=document.createElement("DIV");a.classList.add("AppetizeIo-scale");const c=document.createElement("SPAN");c.innerText="Scale";const l=document.createElement("INPUT");l.type="range",l.min=25,l.max=100,l.value=50,a.appendChild(c),a.appendChild(l),l.oninput=function(){e.contentWindow.postMessage({type:"setScale",value:l.value},s)};const d=document.createElement("SPAN");d.classList.add("AppetizeIo-rotate"),d.classList.add("is-portrait"),d.onclick=function(){d.classList.contains("is-portrait")?(d.classList.remove("is-portrait"),e.contentWindow.postMessage("rotateLeft",s)):(d.classList.add("is-portrait"),e.contentWindow.postMessage("rotateRight",s))};const u=document.createElement("SPAN");u.classList.add("AppetizeIo-restorePage"),u.onclick=function(){u.dataset.url&&e.contentWindow.postMessage({type:"url",value:u.dataset.url},s)};const p=(0,i.A)(2e3,async()=>{try{u.dataset.url||(u.dataset.url=t),e&&e.contentWindow&&e.contentWindow.postMessage({type:"url",value:t},s)}catch(e){console.error(e)}}),h=function(e){"firstFrameReceived"===e.data?(o.innerHTML="",o.contains(a)||o.appendChild(a),o.contains(d)||o.appendChild(d),o.contains(u)||o.appendChild(u),p(),r.addEventListener("brightspot-preview-update",p)):"sessionEnded"===e.data&&(o.contains(u)&&o.removeChild(u),r.removeEventListener("brightspot-preview-update",p))};window.addEventListener("message",h),window.onbeforeunload=function(){o.innerHTML="",r.removeEventListener("brightspot-preview-update",p),window.removeEventListener("message",h)}})},77875(e,t,n){n.r(t);var s=n(45055),i=n(39979);(0,s.A)('iframe[name="AppetizeIoEmbedded"]',e=>{const t=e.getAttribute("data-preview-url");if(!t)return;const n=e.id,s=e.getAttribute("src"),o=window.parent.document.querySelector('.AppetizeIo-displayControls[id="'+n+'"]'),r=o.closest(".PreviewFrame");if(!r)return;const a=document.createElement("DIV");a.classList.add("AppetizeIo-scale");const c=document.createElement("SPAN");c.innerText="Scale";const l=document.createElement("INPUT");l.type="range",l.min=25,l.max=100,l.value=50,a.appendChild(c),a.appendChild(l),l.oninput=function(){e.contentWindow.postMessage({type:"setScale",value:l.value},s)};const d=document.createElement("SPAN");d.classList.add("AppetizeIo-rotate"),d.classList.add("is-portrait"),d.onclick=function(){d.classList.contains("is-portrait")?(d.classList.remove("is-portrait"),e.contentWindow.postMessage("rotateLeft",s)):(d.classList.add("is-portrait"),e.contentWindow.postMessage("rotateRight",s))};const u=document.createElement("SPAN");u.classList.add("AppetizeIo-restorePage"),u.onclick=function(){u.dataset.url&&e.contentWindow.postMessage({type:"url",value:u.dataset.url},s)};const p=(0,i.A)(2e3,async()=>{try{u.dataset.url||(u.dataset.url=t),e&&e.contentWindow&&e.contentWindow.postMessage({type:"url",value:t},s)}catch(e){console.error(e)}}),h=function(e){"firstFrameReceived"===e.data?(o.innerHTML="",o.contains(a)||o.appendChild(a),o.contains(d)||o.appendChild(d),o.contains(u)||o.appendChild(u),p(),r.addEventListener("brightspot-preview-update",p)):"sessionEnded"===e.data&&(o.contains(u)&&o.removeChild(u),r.removeEventListener("brightspot-preview-update",p))};window.addEventListener("message",h),window.onbeforeunload=function(){o.innerHTML="",r.removeEventListener("brightspot-preview-update",p),window.removeEventListener("message",h)}})},32246(e,t,n){n.d(t,{A:()=>s.A});var s=n(56155)},45055(e,t,n){n.d(t,{A:()=>s.A});var s=n(91762)},27170(e,t,n){function s(e,t){if(e<=0)return t;let n;return function(){clearTimeout(n),n=setTimeout(()=>{n=void 0,t.apply(this,[...arguments])},e)}}n.d(t,{A:()=>s})},39979(e,t,n){function s(e,t){if(e<=0)return t;let n;return function(){clearTimeout(n),n=setTimeout(()=>{n=void 0,t.apply(this,[...arguments])},e)}}n.d(t,{A:()=>s})}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkbrightspot_cms=self.webpackChunkbrightspot_cms||[]).push([[2882],{56155(e,t,n){n.d(t,{A:()=>I}),n(44764),n(84978),n(13722),n(91672),n(92280);var r=n(59314),s=n.n(r);function o(e,t,n){i(e,t),t.set(e,n)}function i(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function a(e,t){return e.get(l(e,t))}function c(e,t,n){return e.set(l(e,t),n),n}function l(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}let d=0;var u=new WeakMap,p=new WeakMap,h=new WeakMap,f=new WeakMap,m=new WeakMap,w=new WeakSet;class v{constructor(e,t,n){var r;i(this,r=w),r.add(this),o(this,u,void 0),o(this,p,void 0),o(this,h,void 0),o(this,f,void 0),o(this,m,void 0),c(u,this,e),c(p,this,"data-ofc"+d++),Array.isArray(t)||(t=[t]),c(h,this,t.map(t.some(e=>e.indexOf(",")>-1)?e=>e:e=>`${e}:not([${a(p,this)}])`).join(",")),c(f,this,n);const s=t.map(e=>e.trim()).filter(e=>e.indexOf(" ")<0&&e.indexOf(",")<0);s.length===t.length&&c(m,this,s)}addTriggerElements(e,t){if(a(u,this).contains(t)){t.matches(a(h,this))&&e.push(t);for(const n of t.querySelectorAll(a(h,this)))e.push(n)}}trigger(e){if("loading"!==document.readyState)if(a(m,this)&&Array.isArray(e))for(const t of e)a(m,this).some(e=>t.matches(e))&&l(w,this,b).call(this,t);else for(const e of a(u,this).querySelectorAll(a(h,this)))l(w,this,b).call(this,e)}}function b(e){if(!C(e)&&!e.hasAttribute(a(p,this))){e.setAttribute(a(p,this),"");try{a(f,this).call(this,e)}catch(t){s().error("Failed callback!",e,t)}}}let g,y=!1,E=!1,A=!1,T=[],k=new Set;const x=[];function C(e){return e instanceof Element&&(null!==e.closest(".CIG-wordCount")||null!==e.closest(".ContentEdit-previewDisplay")||null!==e.closest(".ContentLabel")||null!==e.closest(".PreviewFrame-typeDisplay")||null!==e.closest(".ProseMirrorToolbar")||null!==e.closest(".ProseMirror")||null!==e.closest(".ProseMirrorContainer")||null!==e.closest(".ProseMirror-fullscreen-container")||null!==e.closest(".ProseMirror-comments")||null!==e.closest(".RichTextEditor")||null!==e.closest(".WorkInProgressSaveStatus")||null!==e.closest("#aria-live-container")||null!==e.closest(".widget-urlsAutomatic"))}const L=Array.prototype.every,M=e=>e.nodeType===Node.TEXT_NODE;function S(e){if(y)return void(E=!0);const t=Array.isArray(e),n=[];if(t){for(const t of e){const e=t.target;if(!C(e))switch(t.type){case"attributes":t.oldValue!==e.getAttribute(t.attributeName)&&n.push(t);break;case"childList":L.call(t.addedNodes,M)&&L.call(t.removedNodes,M)||n.push(t)}}if(0===n.length)return}if(n.length>500&&(A=!0),!A)if(t)for(const e of n){const t=e.target;switch(e.type){case"attributes":T.push(t);break;case"childList":k.add(t)}}else A=!0;(A||T.length>0||k.size>0)&&!g&&(g=window.requestAnimationFrame(()=>{let e;if(!A){for(const e of k)if(e instanceof Element)for(const t of x)t.addTriggerElements(T,e);e=T}A=!1,T=[],k=new Set,g=0,x.forEach(t=>t.trigger(e))}))}function O(){document.documentElement.hidden=!1,S(),new MutationObserver(S).observe(document,{attributes:!0,attributeFilter:["class","data-bsp-autosubmit","data-chart-type","data-code-type","data-internal-name","data-tab","name","rel","target"],attributeOldValue:!0,childList:!0,subtree:!0})}function P(e,t,n){let r,s;void 0!==n?(r=e,s=t):(r=document,s=e,n=t);const o=new v(r,s,n);o.trigger(),x.push(o)}document.documentElement.hidden=!0,"loading"===document.readyState?document.addEventListener("DOMContentLoaded",O):O(),P.triggerCallbacks=S,P.pause=()=>{y=!0},P.resume=()=>{y=!1,E&&(E=!1,setTimeout(S,100))};const I=7717==n.j?P:null},91762(e,t,n){n.d(t,{A:()=>I}),n(57573),n(49371),n(42723),n(56065),n(56673);var r=n(23707),s=n.n(r);function o(e,t,n){i(e,t),t.set(e,n)}function i(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function a(e,t){return e.get(l(e,t))}function c(e,t,n){return e.set(l(e,t),n),n}function l(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}let d=0;var u=new WeakMap,p=new WeakMap,h=new WeakMap,f=new WeakMap,m=new WeakMap,w=new WeakSet;class v{constructor(e,t,n){var r;i(this,r=w),r.add(this),o(this,u,void 0),o(this,p,void 0),o(this,h,void 0),o(this,f,void 0),o(this,m,void 0),c(u,this,e),c(p,this,"data-ofc"+d++),Array.isArray(t)||(t=[t]),c(h,this,t.map(t.some(e=>e.indexOf(",")>-1)?e=>e:e=>`${e}:not([${a(p,this)}])`).join(",")),c(f,this,n);const s=t.map(e=>e.trim()).filter(e=>e.indexOf(" ")<0&&e.indexOf(",")<0);s.length===t.length&&c(m,this,s)}addTriggerElements(e,t){if(a(u,this).contains(t)){t.matches(a(h,this))&&e.push(t);for(const n of t.querySelectorAll(a(h,this)))e.push(n)}}trigger(e){if("loading"!==document.readyState)if(a(m,this)&&Array.isArray(e))for(const t of e)a(m,this).some(e=>t.matches(e))&&l(w,this,b).call(this,t);else for(const e of a(u,this).querySelectorAll(a(h,this)))l(w,this,b).call(this,e)}}function b(e){if(!C(e)&&!e.hasAttribute(a(p,this))){e.setAttribute(a(p,this),"");try{a(f,this).call(this,e)}catch(t){s().error("Failed callback!",e,t)}}}let g,y=!1,E=!1,A=!1,T=[],k=new Set;const x=[];function C(e){return e instanceof Element&&(null!==e.closest(".CIG-wordCount")||null!==e.closest(".ContentEdit-previewDisplay")||null!==e.closest(".ContentLabel")||null!==e.closest(".PreviewFrame-typeDisplay")||null!==e.closest(".ProseMirrorToolbar")||null!==e.closest(".ProseMirror")||null!==e.closest(".ProseMirrorContainer")||null!==e.closest(".ProseMirror-fullscreen-container")||null!==e.closest(".ProseMirror-comments")||null!==e.closest(".RichTextEditor")||null!==e.closest(".WorkInProgressSaveStatus")||null!==e.closest("#aria-live-container")||null!==e.closest(".widget-urlsAutomatic"))}const L=Array.prototype.every,M=e=>e.nodeType===Node.TEXT_NODE;function S(e){if(y)return void(E=!0);const t=Array.isArray(e),n=[];if(t){for(const t of e){const e=t.target;if(!C(e))switch(t.type){case"attributes":t.oldValue!==e.getAttribute(t.attributeName)&&n.push(t);break;case"childList":L.call(t.addedNodes,M)&&L.call(t.removedNodes,M)||n.push(t)}}if(0===n.length)return}if(n.length>500&&(A=!0),!A)if(t)for(const e of n){const t=e.target;switch(e.type){case"attributes":T.push(t);break;case"childList":k.add(t)}}else A=!0;(A||T.length>0||k.size>0)&&!g&&(g=window.requestAnimationFrame(()=>{let e;if(!A){for(const e of k)if(e instanceof Element)for(const t of x)t.addTriggerElements(T,e);e=T}A=!1,T=[],k=new Set,g=0,x.forEach(t=>t.trigger(e))}))}function O(){document.documentElement.hidden=!1,S(),new MutationObserver(S).observe(document,{attributes:!0,attributeFilter:["class","data-bsp-autosubmit","data-chart-type","data-code-type","data-internal-name","data-tab","name","rel","target"],attributeOldValue:!0,childList:!0,subtree:!0})}function P(e,t,n){let r,s;void 0!==n?(r=e,s=t):(r=document,s=e,n=t);const o=new v(r,s,n);o.trigger(),x.push(o)}document.documentElement.hidden=!0,"loading"===document.readyState?document.addEventListener("DOMContentLoaded",O):O(),P.triggerCallbacks=S,P.pause=()=>{y=!0},P.resume=()=>{y=!1,E&&(E=!1,setTimeout(S,100))};const I=3324==n.j?P:null},33582(e,t,n){n.d(t,{A:()=>o});var r=n(56155);let s=0;function o(e,t){const n="_ovc"+s++,o=new IntersectionObserver(e=>{for(const r of e)if(r.isIntersecting){const e=r.target,s=e.classList;s.contains(n)||(s.add(n),o.unobserve(e),t(e))}});(0,r.A)(e,e=>{o.observe(e)})}},46391(e,t,n){n.d(t,{A:()=>o});var r=n(91762);let s=0;function o(e,t){const n="_ovc"+s++,o=new IntersectionObserver(e=>{for(const r of e)if(r.isIntersecting){const e=r.target,s=e.classList;s.contains(n)||(s.add(n),o.unobserve(e),t(e))}});(0,r.A)(e,e=>{o.observe(e)})}},67177(e,t,n){n.a(e,async(e,r)=>{try{n.r(t),n(84978),n(39589),n(91672);var s=n(10013),o=(n(29320),n(1439));window.BRIGHTSPOT?.ui.cms.enableV5UI||await n.e(4374).then(n.bind(n,34374));const e=(e,t)=>{const n=e.next(".sp-replacer").find(".sp-preview");if(t)n.attr("data-color",t);else{n.removeAttr("data-color");const r=e.prop("placeholder");t=r?.startsWith("#")&&r||"transparent"}n.find(".sp-preview-inner").css("background-color",t)};let i=0;(0,s.A)('btu-input > input[type="text"].color',t=>{const n=o(t),r=()=>n.spectrum("reflow");n.spectrum({allowEmpty:!0,cancelText:"Cancel",chooseText:"OK",clickoutFiresChange:!1,palette:(window.THEME_BUNDLE_COLOR_SWATCHES||[]).map(e=>e.color),preferredFormat:"hex6",showInitial:!1,showInput:!0,showPalette:!0,show:function(){const t=Number.parseInt(this.closest(".Popup")?this.closest(".Popup").style.zIndex:"100007")+1;n.spectrum("container").css("z-index",t),window.addEventListener("resize",r,!0),window.addEventListener("scroll",r,!0),e(n,n.val())},hide:function(){window.removeEventListener("resize",r),window.removeEventListener("scroll",r),e(n,n.val())},change:function(t){e(n,t),n[0].dispatchEvent(new Event("change",{bubbles:!0}))},move:function(t){e(n,t)}}),n.next(".sp-replacer").find(".sp-preview").attr("data-placeholder",n.prop("placeholder")),e(n,n.val()),n.on("placeholderUpdate",()=>{const t=n.next(".sp-replacer").find(".sp-preview");t.attr("data-placeholder",n.attr("placeholder")),e(n,t.attr("data-color"))});const s=t.parentNode?.querySelector(":scope > .sp-replacer");if(!s)return;const a="sp-container-"+i++,c=n.spectrum("container")[0];if(!c)return;c.id=a,s.setAttribute("aria-controls",a);const l=t.closest("dialog");l&&l.appendChild(c)}),o(window).on("resize",()=>{o(document).find('input[type="text"].color').each(function(){var e=o(this);e.spectrum&&(e.prop("disabled")?e.spectrum("disable"):e.spectrum("enable"))})}),r()}catch(e){r(e)}},1)},2784(e,t,n){n.a(e,async(e,r)=>{try{n.r(t),n(49371),n(26780),n(56065);var s=n(97204),o=(n(42129),n(88630));window.BRIGHTSPOT?.ui.cms.enableV5UI||await n.e(9561).then(n.bind(n,49561));const e=(e,t)=>{const n=e.next(".sp-replacer").find(".sp-preview");if(t)n.attr("data-color",t);else{n.removeAttr("data-color");const r=e.prop("placeholder");t=r?.startsWith("#")&&r||"transparent"}n.find(".sp-preview-inner").css("background-color",t)};let i=0;(0,s.A)('btu-input > input[type="text"].color',t=>{const n=o(t),r=()=>n.spectrum("reflow");n.spectrum({allowEmpty:!0,cancelText:"Cancel",chooseText:"OK",clickoutFiresChange:!1,palette:(window.THEME_BUNDLE_COLOR_SWATCHES||[]).map(e=>e.color),preferredFormat:"hex6",showInitial:!1,showInput:!0,showPalette:!0,show:function(){const t=Number.parseInt(this.closest(".Popup")?this.closest(".Popup").style.zIndex:"100007")+1;n.spectrum("container").css("z-index",t),window.addEventListener("resize",r,!0),window.addEventListener("scroll",r,!0),e(n,n.val())},hide:function(){window.removeEventListener("resize",r),window.removeEventListener("scroll",r),e(n,n.val())},change:function(t){e(n,t),n[0].dispatchEvent(new Event("change",{bubbles:!0}))},move:function(t){e(n,t)}}),n.next(".sp-replacer").find(".sp-preview").attr("data-placeholder",n.prop("placeholder")),e(n,n.val()),n.on("placeholderUpdate",()=>{const t=n.next(".sp-replacer").find(".sp-preview");t.attr("data-placeholder",n.attr("placeholder")),e(n,t.attr("data-color"))});const s=t.parentNode?.querySelector(":scope > .sp-replacer");if(!s)return;const a="sp-container-"+i++,c=n.spectrum("container")[0];if(!c)return;c.id=a,s.setAttribute("aria-controls",a);const l=t.closest("dialog");l&&l.appendChild(c)}),o(window).on("resize",()=>{o(document).find('input[type="text"].color').each(function(){var e=o(this);e.spectrum&&(e.prop("disabled")?e.spectrum("disable"):e.spectrum("enable"))})}),r()}catch(e){r(e)}},1)},10013(e,t,n){n.d(t,{A:()=>r.A});var r=n(33582)},97204(e,t,n){n.d(t,{A:()=>r.A});var r=n(46391)}}]);