@brightspot/ui 6.1.2-pr.275 → 6.2.0

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 (118) hide show
  1. package/dist/storybook/assets/{ActionBar.stories-Q_bdek_N.js → ActionBar.stories-DgLrwInB.js} +1 -1
  2. package/dist/storybook/assets/{ActionItem.stories-Ccyot7vj.js → ActionItem.stories-C-SkWFxc.js} +1 -1
  3. package/dist/storybook/assets/{AiSparkle.stories-Ccapqzcw.js → AiSparkle.stories-BdwXJ4C1.js} +1 -1
  4. package/dist/storybook/assets/{Avatar.stories-CPcQWZtG.js → Avatar.stories-BQrt8GRW.js} +1 -1
  5. package/dist/storybook/assets/{AvatarGroup.stories-Bws-izJt.js → AvatarGroup.stories-BdmsYcGc.js} +1 -1
  6. package/dist/storybook/assets/{Badge.stories-xck9Ke5e.js → Badge.stories-mu4nbODQ.js} +1 -1
  7. package/dist/storybook/assets/{Banner.stories-D3ieqG7F.js → Banner.stories-DMP2OXL9.js} +1 -1
  8. package/dist/storybook/assets/{Button-CQ2ZvHGM.js → Button-xZDsWWL_.js} +1 -1
  9. package/dist/storybook/assets/{Button.stories-BkGox6QF.js → Button.stories-C4jM9Bim.js} +1 -1
  10. package/dist/storybook/assets/{ButtonGroup.stories-BxDNL7ej.js → ButtonGroup.stories-zscaMCvE.js} +1 -1
  11. package/dist/storybook/assets/{Card.stories-BrzAwQwE.js → Card.stories-CsV1xMbI.js} +1 -1
  12. package/dist/storybook/assets/{Celebrate.stories-BFqqbYhp.js → Celebrate.stories-D2mVlrqj.js} +1 -1
  13. package/dist/storybook/assets/{Checkbox.stories-yNb9DH9g.js → Checkbox.stories-CAOPfsPn.js} +1 -1
  14. package/dist/storybook/assets/{CircularProgress.stories--KSA2X4d.js → CircularProgress.stories-Dj44Wy1Q.js} +1 -1
  15. package/dist/storybook/assets/{ClipboardMixin.stories-DT0symyW.js → ClipboardMixin.stories-sMr91AkY.js} +1 -1
  16. package/dist/storybook/assets/{Color-6BZIO3FS-CEpjJcuB.js → Color-6BZIO3FS-Di40DCa8.js} +1 -1
  17. package/dist/storybook/assets/{Colors.stories-BEtjS3CS.js → Colors.stories-nUklULEf.js} +1 -1
  18. package/dist/storybook/assets/{CombinedEffects.stories-DZsO6E1c.js → CombinedEffects.stories-DHteudNU.js} +1 -1
  19. package/dist/storybook/assets/{ComponentStatesMixin-C-G6neuB.js → ComponentStatesMixin-DC5hoSCf.js} +1 -1
  20. package/dist/storybook/assets/{ComponentStatesMixin.stories-D4B2eXzV.js → ComponentStatesMixin.stories-DyZXrUfS.js} +1 -1
  21. package/dist/storybook/assets/{CopyToClipboard.stories-C1wxRcNr.js → CopyToClipboard.stories-DKfUIVB6.js} +1 -1
  22. package/dist/storybook/assets/{Debounce.stories-CEXdiU_4.js → Debounce.stories-C6iPHMJ-.js} +1 -1
  23. package/dist/storybook/assets/{DocsRenderer-LL677BLK-iD6uwWm0.js → DocsRenderer-LL677BLK-BC-DluPS.js} +3 -3
  24. package/dist/storybook/assets/{Dropdown.stories-DzgAKuev.js → Dropdown.stories-DY3LbbOm.js} +1 -1
  25. package/dist/storybook/assets/{EmptyState.stories-8IezRmLe.js → EmptyState.stories-Ec87tfLY.js} +1 -1
  26. package/dist/storybook/assets/{EscaAvatar.stories-CFRMImDC.js → EscaAvatar.stories-ZaaMKZqz.js} +1 -1
  27. package/dist/storybook/assets/{Events.stories-wc_WlNNX.js → Events.stories-DaTVivNG.js} +1 -1
  28. package/dist/storybook/assets/{Heading.stories-CBopc-Ov.js → Heading.stories-B6jRenfp.js} +1 -1
  29. package/dist/storybook/assets/{HueRipple.stories-B1BLaONM.js → HueRipple.stories-CnDz87pe.js} +1 -1
  30. package/dist/storybook/assets/{Icon.stories-Bul1n2nN.js → Icon.stories-DH0mXw3h.js} +1 -1
  31. package/dist/storybook/assets/{IconButton.stories-DDCBKBqw.js → IconButton.stories-CNtEEf3-.js} +1 -1
  32. package/dist/storybook/assets/{LinearProgress.stories-DWroemrV.js → LinearProgress.stories-B7q0qeGc.js} +1 -1
  33. package/dist/storybook/assets/{Message.stories-CfWo8uqR.js → Message.stories--ArrB33R.js} +1 -1
  34. package/dist/storybook/assets/{OnFindMixin.stories-DRr67PU5.js → OnFindMixin.stories-Bu3Et43N.js} +1 -1
  35. package/dist/storybook/assets/{Pagination.stories-CJ0dmE6y.js → Pagination.stories-DL3nv05u.js} +1 -1
  36. package/dist/storybook/assets/{Popover.stories-CFFe2utX.js → Popover.stories-C1xiMRm0.js} +1 -1
  37. package/dist/storybook/assets/{ReadyMixin-euHV5BrF.js → ReadyMixin-CkFGSiXW.js} +1 -1
  38. package/dist/storybook/assets/{RovingTabindexMixin.stories-CcKn8eYu.js → RovingTabindexMixin.stories-DxABagoS.js} +1 -1
  39. package/dist/storybook/assets/{Rtc.stories-B_26leBQ.js → Rtc.stories-DICg80iT.js} +1 -1
  40. package/dist/storybook/assets/{ScrollShadow.stories-COcTqDYx.js → ScrollShadow.stories-YSVPDcG9.js} +1 -1
  41. package/dist/storybook/assets/{Switch.stories-fZAYVOXQ.js → Switch.stories-UQoRYdvu.js} +1 -1
  42. package/dist/storybook/assets/{Tab.stories-ChmYj35a.js → Tab.stories-aO-j5FR7.js} +1 -1
  43. package/dist/storybook/assets/{Tabs.stories-Bgb-44oF.js → Tabs.stories-Vh5fj_rb.js} +1 -1
  44. package/dist/storybook/assets/{Throttle.stories-BP21CM6q.js → Throttle.stories-DqQiG8mr.js} +1 -1
  45. package/dist/storybook/assets/{Tooltip.stories-Ck7XsJKW.js → Tooltip.stories-DykL06JB.js} +1 -1
  46. package/dist/storybook/assets/{Upload.stories-DMedgAwp.js → Upload.stories-BunAEUlO.js} +1 -1
  47. package/dist/storybook/assets/{UploadItem.stories-D1rV5quQ.js → UploadItem.stories-CNR2IKsl.js} +1 -1
  48. package/dist/storybook/assets/{Welcome.stories-DDEhWqOY.js → Welcome.stories-DuKEOEsw.js} +1 -1
  49. package/dist/storybook/assets/{Widget.stories-iTycJQkv.js → Widget.stories-B5WKvF2m.js} +1 -1
  50. package/dist/storybook/assets/{WithTooltip-65CFNBJE-BDmGdT_q.js → WithTooltip-65CFNBJE-KIfM6hV3.js} +1 -1
  51. package/dist/storybook/assets/{blocks-45GMe9mP.js → blocks-BJtylb2_.js} +5 -5
  52. package/dist/storybook/assets/{formatter-EIJCOSYU-Dvxzfjid.js → formatter-EIJCOSYU-DyJPXrAY.js} +1 -1
  53. package/dist/storybook/assets/if-defined-DELMnuB4.js +1 -0
  54. package/dist/storybook/assets/{iframe-CemlMLl9.js → iframe-BoW1X7a_.js} +3 -3
  55. package/dist/storybook/assets/iframe-HDp5BmO_.css +1 -0
  56. package/dist/storybook/assets/{index-Ei3bFG4y.js → index-9YgpSjWr.js} +1 -1
  57. package/dist/storybook/assets/{onFind-96dPwZGj.js → onFind-BWxYoVUv.js} +1 -1
  58. package/dist/storybook/assets/{onFind.stories-DwMmvzD8.js → onFind.stories-30rdWtPx.js} +1 -1
  59. package/dist/storybook/assets/{onRemove.stories-Bw8nC3q8.js → onRemove.stories-B7qKCwA-.js} +1 -1
  60. package/dist/storybook/assets/{onVisible.stories-BZyJ5si2.js → onVisible.stories-_lsloFGV.js} +1 -1
  61. package/dist/storybook/assets/{style-map-BZ1BR1yx.js → style-map-D7rS_uYZ.js} +1 -1
  62. package/dist/storybook/assets/{syntaxhighlighter-ED5Y7EFY-B4dajqNJ.js → syntaxhighlighter-ED5Y7EFY-mLC5--p6.js} +1 -1
  63. package/dist/storybook/iframe.html +2 -2
  64. package/dist/storybook/project.json +1 -1
  65. package/dist/tailwind-plugin-button.js +2 -0
  66. package/dist/tailwind-plugin-button.js.map +1 -1
  67. package/dist/tailwind-plugin-button.ts +2 -0
  68. package/package.json +1 -1
  69. package/src/legacy/tool-ui/src/Admin.css +2 -6
  70. package/src/legacy/tool-ui/src/CIGCluster.css +9 -1
  71. package/src/legacy/tool-ui/src/ChartCompat.ts +1 -1
  72. package/src/legacy/tool-ui/src/Compat.css +6 -0
  73. package/src/legacy/tool-ui/src/ContentEdit.css +19 -12
  74. package/src/legacy/tool-ui/src/ContentEditPanel.ts +26 -12
  75. package/src/legacy/tool-ui/src/ContentInputGroup.css +8 -4
  76. package/src/legacy/tool-ui/src/Conversation.css +19 -7
  77. package/src/legacy/tool-ui/src/DashboardWidget.css +4 -0
  78. package/src/legacy/tool-ui/src/EmbeddedInputGroup/index.ts +20 -50
  79. package/src/legacy/tool-ui/src/Enhancement.css +3 -2
  80. package/src/legacy/tool-ui/src/Entry.ts +11 -0
  81. package/src/legacy/tool-ui/src/Global.d.ts +3 -0
  82. package/src/legacy/tool-ui/src/Guide.css +5 -5
  83. package/src/legacy/tool-ui/src/LinkTable.css +4 -0
  84. package/src/legacy/tool-ui/src/LiveBlog.css +2 -2
  85. package/src/legacy/tool-ui/src/MenuView.css +3 -2
  86. package/src/legacy/tool-ui/src/Message.css +4 -9
  87. package/src/legacy/tool-ui/src/Page.css +3 -3
  88. package/src/legacy/tool-ui/src/ProseMirror.css +1 -1
  89. package/src/legacy/tool-ui/src/RepeatableContentInputGroup.css +5 -5
  90. package/src/legacy/tool-ui/src/Revisions.css +2 -2
  91. package/src/legacy/tool-ui/src/SearchFields.css +2 -2
  92. package/src/legacy/tool-ui/src/TabBar.css +2 -2
  93. package/src/legacy/tool-ui/src/Widget.css +29 -2
  94. package/src/legacy/tool-ui/src/form/FormFilter/index.ts +2 -2
  95. package/src/legacy/tool-ui/src/main/webapp/dist/2111.5d43fec84fea624d6371.css +1 -0
  96. package/src/legacy/tool-ui/src/main/webapp/dist/7718.5d43fec84fea624d6371.css +1 -0
  97. package/src/legacy/tool-ui/src/main/webapp/dist/{9360.41a5ba8d859d49f86811.js → 9360.22bc0127e04bc73d5261.js} +2 -2
  98. package/src/legacy/tool-ui/src/main/webapp/dist/{9360.41a5ba8d859d49f86811.js.LICENSE.txt → 9360.22bc0127e04bc73d5261.js.LICENSE.txt} +1 -1
  99. package/src/legacy/tool-ui/src/main/webapp/dist/ChartCompat.c7121ea8407d80ee5abe.js +1 -0
  100. package/src/legacy/tool-ui/src/main/webapp/dist/RTEProseMirror.fffd76fefb194ae6889b.js +500 -0
  101. package/src/legacy/tool-ui/src/main/webapp/dist/{v4.1074f0affb38bd0dd492.js → v4.59ef78c7444a26d2fc6e.js} +8 -8
  102. package/src/legacy/tool-ui/src/main/webapp/dist/v4.b1e9f6ac0449331711fc.css +3 -0
  103. package/src/legacy/tool-ui/src/main/webapp/dist/{v5.b49d2d7615d030b68f89.js → v5.81bcf80e29f5d0b03f40.js} +5 -5
  104. package/src/legacy/tool-ui/src/main/webapp/dist/v5.b8a1f40b189e4537117d.css +5 -0
  105. package/src/legacy/tool-ui/src/main/webapp/v4/CIGCluster.less +9 -0
  106. package/src/legacy/tool-ui/src/main/webapp/v4/TabBar.less +4 -0
  107. package/src/legacy/tool-ui/src/v5.ts +47 -6
  108. package/dist/storybook/assets/if-defined-C-mi5lcR.js +0 -1
  109. package/dist/storybook/assets/iframe-abUCrGGI.css +0 -1
  110. package/src/legacy/tool-ui/src/main/webapp/dist/2111.8f1e08a5cc223fd14542.css +0 -1
  111. package/src/legacy/tool-ui/src/main/webapp/dist/7718.8f1e08a5cc223fd14542.css +0 -1
  112. package/src/legacy/tool-ui/src/main/webapp/dist/ChartCompat.4dd096dd030942227ec6.js +0 -1
  113. package/src/legacy/tool-ui/src/main/webapp/dist/RTEProseMirror.55a2d6ccdce502c79815.js +0 -500
  114. package/src/legacy/tool-ui/src/main/webapp/dist/v4.477ad1936f8c04d7b232.css +0 -3
  115. package/src/legacy/tool-ui/src/main/webapp/dist/v5.f9baf26a8d24e59e7af0.css +0 -5
  116. /package/src/legacy/tool-ui/src/main/webapp/dist/{RTEProseMirror.55a2d6ccdce502c79815.js.LICENSE.txt → RTEProseMirror.fffd76fefb194ae6889b.js.LICENSE.txt} +0 -0
  117. /package/src/legacy/tool-ui/src/main/webapp/dist/{v4.1074f0affb38bd0dd492.js.LICENSE.txt → v4.59ef78c7444a26d2fc6e.js.LICENSE.txt} +0 -0
  118. /package/src/legacy/tool-ui/src/main/webapp/dist/{v5.b49d2d7615d030b68f89.js.LICENSE.txt → v5.81bcf80e29f5d0b03f40.js.LICENSE.txt} +0 -0
@@ -1,4 +1,13 @@
1
1
  btu-cig-cluster {
2
+ // Flex (not block) so narrow .CIG-row children pair up like they do in .CIG.
3
+ display: flex;
4
+ flex-wrap: wrap;
5
+
6
+ // Children run the full row; the narrow modifiers (.is-half etc.) override this to pair up.
7
+ > * {
8
+ width: 100%;
9
+ }
10
+
2
11
  .CIG-title {
3
12
  padding: 0;
4
13
  }
@@ -112,6 +112,10 @@
112
112
  &.state-selected {
113
113
  .TabBar-itemSelected();
114
114
  }
115
+
116
+ btu-cig-cluster .CIG .TabBar & {
117
+ width: auto;
118
+ }
115
119
  }
116
120
 
117
121
  .TabBar-menu:hover > .TabBar-menuToggle,
@@ -370,17 +370,26 @@ onFind('.TabBar.is-menuOnly', (container: HTMLElement) => {
370
370
  })
371
371
  })
372
372
 
373
- /** Adds a new data-label attribute to search result tab items
374
- * for icon styling the tab buttons based on their text content
373
+ /** Adds a data-label attribute to search result tab items so CSS can pick each
374
+ * view's icon (see SearchResult.css `[data-label='list'|'grid'|'board'|...]`).
375
+ *
376
+ * The key MUST be derived from the stable view class name (data-view), not the
377
+ * visible text: the text is localized, so keying off it left the built-in views
378
+ * (List/Grid/Board/Hierarchy/Taxonomy/Mixed) with no icon in non-English locales.
379
+ * aria-label/title still use the human-readable (localized) text.
375
380
  */
376
381
  onFind('.SearchResult-views > ul', (tabs: HTMLElement) => {
377
382
  tabs
378
383
  .querySelectorAll<HTMLElement>(':scope > li > a')
379
384
  .forEach((tabItem: HTMLElement) => {
380
- const label = tabItem.textContent?.toLowerCase() ?? ''
381
- tabItem.dataset.label = label
382
- tabItem.ariaLabel = label
383
- tabItem.title = label
385
+ const text = tabItem.textContent?.trim() ?? ''
386
+ const viewClass = (tabItem.dataset.view ?? '').split('.').pop() ?? ''
387
+ const core = viewClass.match(
388
+ /^(List|Grid|Board|Hierarchy|Taxonomy|Mixed)SearchResultView$/,
389
+ )
390
+ tabItem.dataset.label = core ? core[1].toLowerCase() : text.toLowerCase()
391
+ tabItem.ariaLabel = text || tabItem.dataset.label
392
+ tabItem.title = text || tabItem.dataset.label
384
393
  })
385
394
  })
386
395
 
@@ -2054,12 +2063,32 @@ onFind('.ActionBar', (actionBar) => {
2054
2063
  const widgetTitle = widget.querySelector<HTMLElement>('.Widget-title')
2055
2064
 
2056
2065
  let lastPointerType = ''
2066
+
2067
+ // The browser refocuses whatever was focused before when the window regains focus. That
2068
+ // arrives as a focusin with no preceding pointerdown, so the pointer guard below never
2069
+ // catches it, and the scroll drags the editor away from wherever they had deliberately
2070
+ // scrolled to — most visibly with a rich text field taller than the pane.
2071
+ // Seeded from hasFocus() because binding can happen while the window is already blurred —
2072
+ // a background tab, or form content that mounts lazily while the user is away — in which
2073
+ // case the blur has already fired and there is nothing left to listen for.
2074
+ let isRestoringFocus = !document.hasFocus()
2075
+ const handleWindowBlur = () => {
2076
+ isRestoringFocus = true
2077
+ }
2078
+
2079
+ // Any deliberate input means we are no longer restoring, so the flag cannot go stale if
2080
+ // focus happens to return to something outside this widget.
2081
+ const clearRestoringFocus = () => {
2082
+ isRestoringFocus = false
2083
+ }
2084
+
2057
2085
  const handlePointerdown = (event: Event) => {
2058
2086
  lastPointerType = (event as PointerEvent).pointerType
2059
2087
  // Reset after current task so only the immediately following focusin is affected.
2060
2088
  setTimeout(() => {
2061
2089
  lastPointerType = ''
2062
2090
  }, 0)
2091
+ clearRestoringFocus()
2063
2092
  }
2064
2093
 
2065
2094
  const handleFocusin = (event: Event) => {
@@ -2067,6 +2096,13 @@ onFind('.ActionBar', (actionBar) => {
2067
2096
  // smooth scrolling mid-click disrupts dropdown positioning and button actions.
2068
2097
  if (lastPointerType) return
2069
2098
 
2099
+ // Skip the single focusin the browser fires when restoring focus on window re-entry.
2100
+ // Keyboard navigation afterwards still scrolls, which is what this handler is for.
2101
+ if (isRestoringFocus) {
2102
+ isRestoringFocus = false
2103
+ return
2104
+ }
2105
+
2070
2106
  const target = event.target
2071
2107
  if (!(target instanceof HTMLElement)) return
2072
2108
 
@@ -2083,8 +2119,13 @@ onFind('.ActionBar', (actionBar) => {
2083
2119
 
2084
2120
  widget.addEventListener('pointerdown', handlePointerdown, { passive: true })
2085
2121
  widget.addEventListener('focusin', handleFocusin, { passive: true })
2122
+ // Bound on window without capture — capture would also pick up element blur events.
2123
+ window.addEventListener('blur', handleWindowBlur)
2124
+ window.addEventListener('keydown', clearRestoringFocus, { passive: true })
2086
2125
  onRemove(widget, () => {
2087
2126
  widget.removeEventListener('pointerdown', handlePointerdown)
2088
2127
  widget.removeEventListener('focusin', handleFocusin)
2128
+ window.removeEventListener('blur', handleWindowBlur)
2129
+ window.removeEventListener('keydown', clearRestoringFocus)
2089
2130
  })
2090
2131
  })
@@ -1 +0,0 @@
1
- import{E as r}from"./iframe-CemlMLl9.js";const m=o=>o??r;export{m as o};