@brightspot/ui 6.1.1-rc.2 → 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 (116) 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 -2
  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 -0
  76. package/src/legacy/tool-ui/src/Conversation.css +19 -7
  77. package/src/legacy/tool-ui/src/EmbeddedInputGroup/index.ts +20 -50
  78. package/src/legacy/tool-ui/src/Enhancement.css +3 -2
  79. package/src/legacy/tool-ui/src/Entry.ts +11 -0
  80. package/src/legacy/tool-ui/src/Global.d.ts +3 -0
  81. package/src/legacy/tool-ui/src/Guide.css +5 -5
  82. package/src/legacy/tool-ui/src/LiveBlog.css +2 -2
  83. package/src/legacy/tool-ui/src/MenuView.css +3 -2
  84. package/src/legacy/tool-ui/src/Message.css +4 -9
  85. package/src/legacy/tool-ui/src/Page.css +3 -3
  86. package/src/legacy/tool-ui/src/ProseMirror.css +1 -1
  87. package/src/legacy/tool-ui/src/RepeatableContentInputGroup.css +5 -5
  88. package/src/legacy/tool-ui/src/Revisions.css +2 -2
  89. package/src/legacy/tool-ui/src/SearchFields.css +2 -2
  90. package/src/legacy/tool-ui/src/TabBar.css +2 -2
  91. package/src/legacy/tool-ui/src/Widget.css +21 -2
  92. package/src/legacy/tool-ui/src/form/FormFilter/index.ts +2 -2
  93. package/src/legacy/tool-ui/src/logVersion.ts +9 -0
  94. package/src/legacy/tool-ui/src/main/webapp/dist/2111.5d43fec84fea624d6371.css +1 -0
  95. package/src/legacy/tool-ui/src/main/webapp/dist/7718.5d43fec84fea624d6371.css +1 -0
  96. package/src/legacy/tool-ui/src/main/webapp/dist/ChartCompat.c7121ea8407d80ee5abe.js +1 -0
  97. package/src/legacy/tool-ui/src/main/webapp/dist/RTEProseMirror.fffd76fefb194ae6889b.js +500 -0
  98. package/src/legacy/tool-ui/src/main/webapp/dist/{v4.0bee83483819ebe74fb5.js → v4.59ef78c7444a26d2fc6e.js} +8 -8
  99. package/src/legacy/tool-ui/src/main/webapp/dist/v4.b1e9f6ac0449331711fc.css +3 -0
  100. package/src/legacy/tool-ui/src/main/webapp/dist/v5.81bcf80e29f5d0b03f40.js +92 -0
  101. package/src/legacy/tool-ui/src/main/webapp/dist/v5.b8a1f40b189e4537117d.css +5 -0
  102. package/src/legacy/tool-ui/src/main/webapp/v4/CIGCluster.less +9 -0
  103. package/src/legacy/tool-ui/src/main/webapp/v4/TabBar.less +4 -0
  104. package/src/legacy/tool-ui/src/v5.ts +49 -6
  105. package/dist/storybook/assets/if-defined-C-mi5lcR.js +0 -1
  106. package/dist/storybook/assets/iframe-abUCrGGI.css +0 -1
  107. package/src/legacy/tool-ui/src/main/webapp/dist/2111.8f1e08a5cc223fd14542.css +0 -1
  108. package/src/legacy/tool-ui/src/main/webapp/dist/7718.8f1e08a5cc223fd14542.css +0 -1
  109. package/src/legacy/tool-ui/src/main/webapp/dist/ChartCompat.4dd096dd030942227ec6.js +0 -1
  110. package/src/legacy/tool-ui/src/main/webapp/dist/RTEProseMirror.55a2d6ccdce502c79815.js +0 -500
  111. package/src/legacy/tool-ui/src/main/webapp/dist/v4.477ad1936f8c04d7b232.css +0 -3
  112. package/src/legacy/tool-ui/src/main/webapp/dist/v5.68bcb9af002dae392057.js +0 -92
  113. package/src/legacy/tool-ui/src/main/webapp/dist/v5.76825523ffff1ad77cdf.css +0 -5
  114. /package/src/legacy/tool-ui/src/main/webapp/dist/{RTEProseMirror.55a2d6ccdce502c79815.js.LICENSE.txt → RTEProseMirror.fffd76fefb194ae6889b.js.LICENSE.txt} +0 -0
  115. /package/src/legacy/tool-ui/src/main/webapp/dist/{v4.0bee83483819ebe74fb5.js.LICENSE.txt → v4.59ef78c7444a26d2fc6e.js.LICENSE.txt} +0 -0
  116. /package/src/legacy/tool-ui/src/main/webapp/dist/{v5.68bcb9af002dae392057.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,
@@ -1,3 +1,5 @@
1
+ import './logVersion' // must stay first
2
+
1
3
  import './main/webapp/v4/Entry.js'
2
4
 
3
5
  import './v5.css'
@@ -368,17 +370,26 @@ onFind('.TabBar.is-menuOnly', (container: HTMLElement) => {
368
370
  })
369
371
  })
370
372
 
371
- /** Adds a new data-label attribute to search result tab items
372
- * 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.
373
380
  */
374
381
  onFind('.SearchResult-views > ul', (tabs: HTMLElement) => {
375
382
  tabs
376
383
  .querySelectorAll<HTMLElement>(':scope > li > a')
377
384
  .forEach((tabItem: HTMLElement) => {
378
- const label = tabItem.textContent?.toLowerCase() ?? ''
379
- tabItem.dataset.label = label
380
- tabItem.ariaLabel = label
381
- 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
382
393
  })
383
394
  })
384
395
 
@@ -2052,12 +2063,32 @@ onFind('.ActionBar', (actionBar) => {
2052
2063
  const widgetTitle = widget.querySelector<HTMLElement>('.Widget-title')
2053
2064
 
2054
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
+
2055
2085
  const handlePointerdown = (event: Event) => {
2056
2086
  lastPointerType = (event as PointerEvent).pointerType
2057
2087
  // Reset after current task so only the immediately following focusin is affected.
2058
2088
  setTimeout(() => {
2059
2089
  lastPointerType = ''
2060
2090
  }, 0)
2091
+ clearRestoringFocus()
2061
2092
  }
2062
2093
 
2063
2094
  const handleFocusin = (event: Event) => {
@@ -2065,6 +2096,13 @@ onFind('.ActionBar', (actionBar) => {
2065
2096
  // smooth scrolling mid-click disrupts dropdown positioning and button actions.
2066
2097
  if (lastPointerType) return
2067
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
+
2068
2106
  const target = event.target
2069
2107
  if (!(target instanceof HTMLElement)) return
2070
2108
 
@@ -2081,8 +2119,13 @@ onFind('.ActionBar', (actionBar) => {
2081
2119
 
2082
2120
  widget.addEventListener('pointerdown', handlePointerdown, { passive: true })
2083
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 })
2084
2125
  onRemove(widget, () => {
2085
2126
  widget.removeEventListener('pointerdown', handlePointerdown)
2086
2127
  widget.removeEventListener('focusin', handleFocusin)
2128
+ window.removeEventListener('blur', handleWindowBlur)
2129
+ window.removeEventListener('keydown', clearRestoringFocus)
2087
2130
  })
2088
2131
  })
@@ -1 +0,0 @@
1
- import{E as r}from"./iframe-CemlMLl9.js";const m=o=>o??r;export{m as o};