@brightspot/ui 6.6.2 → 6.7.1-pr.401.2026.10.22

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 (124) hide show
  1. package/dist/components/icon/Icon.d.ts.map +1 -1
  2. package/dist/components/icon/Icon.js +6 -23
  3. package/dist/components/icon/Icon.js.map +1 -1
  4. package/dist/effects/sparkle-worklet.d.ts +1 -1
  5. package/dist/effects/sparkle-worklet.d.ts.map +1 -1
  6. package/dist/effects/sparkle-worklet.js +4 -1
  7. package/dist/effects/sparkle-worklet.js.map +1 -1
  8. package/dist/effects/sparkle.js +8 -2
  9. package/dist/effects/sparkle.js.map +1 -1
  10. package/dist/storybook/assets/{ActionBar.stories-XlCBIXyG.js → ActionBar.stories-h4LZnjPi.js} +1 -1
  11. package/dist/storybook/assets/{ActionItem.stories-CGjqkED6.js → ActionItem.stories-DrtiuK_q.js} +1 -1
  12. package/dist/storybook/assets/{AiSparkle.stories-ByYrmbnK.js → AiSparkle.stories-vyk5EN2Y.js} +1 -1
  13. package/dist/storybook/assets/{Avatar.stories-CLTN4Hy4.js → Avatar.stories-y9T1MrQQ.js} +1 -1
  14. package/dist/storybook/assets/{AvatarGroup.stories-Bi0JVYQ3.js → AvatarGroup.stories-52-tqOb2.js} +1 -1
  15. package/dist/storybook/assets/{Badge.stories-vsmP5PE_.js → Badge.stories-oHJYKBIM.js} +1 -1
  16. package/dist/storybook/assets/{Banner.stories-BF3ONLiN.js → Banner.stories-BXYde1iZ.js} +1 -1
  17. package/dist/storybook/assets/{Button-B2WxPTmr.js → Button-CAMYBU_U.js} +1 -1
  18. package/dist/storybook/assets/{Button.stories-Doz3Yo8_.js → Button.stories-DSDjifLT.js} +1 -1
  19. package/dist/storybook/assets/{ButtonGroup.stories-DIHq7pCQ.js → ButtonGroup.stories-Ch1Tu6Kj.js} +1 -1
  20. package/dist/storybook/assets/{Card.stories-DG-Az8eK.js → Card.stories-Nl10FlTb.js} +1 -1
  21. package/dist/storybook/assets/{Celebrate.stories-BEeOZr06.js → Celebrate.stories-Ds1-srNO.js} +1 -1
  22. package/dist/storybook/assets/{Checkbox.stories-lnxLmjKf.js → Checkbox.stories-Bk9fNdcL.js} +1 -1
  23. package/dist/storybook/assets/{CircularProgress.stories-fVKhhGVs.js → CircularProgress.stories-DzhTWHYN.js} +1 -1
  24. package/dist/storybook/assets/{ClipboardMixin.stories-BqFaG8rE.js → ClipboardMixin.stories-BnFXCiFJ.js} +1 -1
  25. package/dist/storybook/assets/{Color-6BZIO3FS-CuorWr7g.js → Color-6BZIO3FS-BntnPWZM.js} +1 -1
  26. package/dist/storybook/assets/{Colors.stories-DKpeKvis.js → Colors.stories-0AeeEVVw.js} +1 -1
  27. package/dist/storybook/assets/{CombinedEffects.stories-B7pZ5dmW.js → CombinedEffects.stories-kjjXfgj6.js} +1 -1
  28. package/dist/storybook/assets/{ComponentStatesMixin-DkTJQa4k.js → ComponentStatesMixin-Bf5gvpXs.js} +1 -1
  29. package/dist/storybook/assets/{ComponentStatesMixin.stories-Bcy1VJUi.js → ComponentStatesMixin.stories-BwDY3N5N.js} +1 -1
  30. package/dist/storybook/assets/{CopyToClipboard.stories-BD3hmKKD.js → CopyToClipboard.stories-DHz4lvAk.js} +1 -1
  31. package/dist/storybook/assets/{Debounce.stories-zJt-mtTD.js → Debounce.stories-3QSaZZAP.js} +1 -1
  32. package/dist/storybook/assets/{DocsRenderer-LL677BLK-DjKIBL7O.js → DocsRenderer-LL677BLK-DvuqJl5p.js} +3 -3
  33. package/dist/storybook/assets/{Dropdown.stories-CiTlMwEm.js → Dropdown.stories-B_SUX4kQ.js} +1 -1
  34. package/dist/storybook/assets/{EmptyState.stories-Dls5pG7y.js → EmptyState.stories-EL9oDdMl.js} +1 -1
  35. package/dist/storybook/assets/{EscaAvatar.stories-B8ZmuMwt.js → EscaAvatar.stories-CckR2oJo.js} +1 -1
  36. package/dist/storybook/assets/{Events.stories-D8VQCUXQ.js → Events.stories-BijV4stG.js} +1 -1
  37. package/dist/storybook/assets/{Heading.stories-BztrHfGc.js → Heading.stories-BEWjqFbE.js} +1 -1
  38. package/dist/storybook/assets/{HueRipple.stories-B4MJInE3.js → HueRipple.stories-Z4lM_TPD.js} +1 -1
  39. package/dist/storybook/assets/{Icon.stories-CnCu9IuZ.js → Icon.stories-DAMHb2XQ.js} +1 -1
  40. package/dist/storybook/assets/{IconButton.stories-yOrrDyUi.js → IconButton.stories-DQ7WseyR.js} +1 -1
  41. package/dist/storybook/assets/{LinearProgress.stories-B1C1snwy.js → LinearProgress.stories-v9OOfaD3.js} +1 -1
  42. package/dist/storybook/assets/LucideDynamicLoader-BuoNL33C.js +1 -0
  43. package/dist/storybook/assets/{Message.stories-Y3A_sQCK.js → Message.stories-0GFTbybz.js} +1 -1
  44. package/dist/storybook/assets/{OnFindMixin.stories-DE-1wy4s.js → OnFindMixin.stories-DbGsd7N-.js} +1 -1
  45. package/dist/storybook/assets/{Pagination.stories-Bh9XEgpH.js → Pagination.stories-W-Fg9qDN.js} +1 -1
  46. package/dist/storybook/assets/{Popover.stories-B6MzfP9e.js → Popover.stories-CvB5GueC.js} +1 -1
  47. package/dist/storybook/assets/{ReadyMixin-Cnogomoq.js → ReadyMixin-Br9owaZV.js} +1 -1
  48. package/dist/storybook/assets/{RovingTabindexMixin.stories-DZOxDEZt.js → RovingTabindexMixin.stories-anjAbAzC.js} +1 -1
  49. package/dist/storybook/assets/{Rtc.stories-TRo3Gr0A.js → Rtc.stories-VHR68JiM.js} +1 -1
  50. package/dist/storybook/assets/{ScrollShadow.stories-DrPUVGrj.js → ScrollShadow.stories-D_D-r-JK.js} +1 -1
  51. package/dist/storybook/assets/{Switch.stories-DarSjwKf.js → Switch.stories-BBc3Ddok.js} +1 -1
  52. package/dist/storybook/assets/{Tab.stories-B5Fzzn-a.js → Tab.stories-Co1bcV-c.js} +1 -1
  53. package/dist/storybook/assets/{Tabs.stories-DmTF3dhs.js → Tabs.stories-uhbYgv3l.js} +1 -1
  54. package/dist/storybook/assets/{Throttle.stories-CBsrzfNu.js → Throttle.stories-Lq5D5WmY.js} +1 -1
  55. package/dist/storybook/assets/{Tooltip.stories-DgEfWbGo.js → Tooltip.stories-CJ8sPHvm.js} +1 -1
  56. package/dist/storybook/assets/{Upload.stories-CoewmZUt.js → Upload.stories-CLtYPw8U.js} +1 -1
  57. package/dist/storybook/assets/{UploadItem.stories-CwdlTysq.js → UploadItem.stories-CsikX2BV.js} +1 -1
  58. package/dist/storybook/assets/{Welcome.stories-D1xoHYEq.js → Welcome.stories-Dgl9qFjv.js} +1 -1
  59. package/dist/storybook/assets/{Widget.stories-DFR04B_J.js → Widget.stories-Dmg4GwlK.js} +1 -1
  60. package/dist/storybook/assets/{WithTooltip-65CFNBJE-BfZk10Ck.js → WithTooltip-65CFNBJE-tGrEodOE.js} +1 -1
  61. package/dist/storybook/assets/{blocks-B5nfR6eT.js → blocks-BXvz9yPY.js} +5 -5
  62. package/dist/storybook/assets/{formatter-EIJCOSYU-C6x8bWLG.js → formatter-EIJCOSYU-D4wnoi50.js} +1 -1
  63. package/dist/storybook/assets/if-defined-BqGMNNFr.js +1 -0
  64. package/dist/storybook/assets/{iframe-BcvNVHT1.js → iframe-BJAXLO__.js} +3 -3
  65. package/dist/storybook/assets/iframe-DM45AEWn.css +1 -0
  66. package/dist/storybook/assets/{index-Dr3oTIW1.js → index-Vq-HO77I.js} +1 -1
  67. package/dist/storybook/assets/{onFind--Wy6mnWL.js → onFind-DvWzOs0i.js} +1 -1
  68. package/dist/storybook/assets/{onFind.stories-Czg2i8Qa.js → onFind.stories-CYhYy57J.js} +1 -1
  69. package/dist/storybook/assets/{onRemove.stories-CdWEQ-ed.js → onRemove.stories-BGlN20MR.js} +1 -1
  70. package/dist/storybook/assets/{onVisible.stories-Dt7eDczv.js → onVisible.stories-g7Yr3k3S.js} +1 -1
  71. package/dist/storybook/assets/{ripple-DQbyyRUw.js → ripple-CedcTXtA.js} +15 -12
  72. package/dist/storybook/assets/{style-map-DPFpFx07.js → style-map-B-NBwRI-.js} +1 -1
  73. package/dist/storybook/assets/{syntaxhighlighter-ED5Y7EFY-DDSBv3tE.js → syntaxhighlighter-ED5Y7EFY-CiAkaRF_.js} +1 -1
  74. package/dist/storybook/iframe.html +2 -2
  75. package/dist/storybook/project.json +1 -1
  76. package/dist/util/ProgressMixin.js +1 -1
  77. package/dist/util/ProgressMixin.js.map +1 -1
  78. package/docs/components/README.md +4 -4
  79. package/docs/dari-elements.md +55 -0
  80. package/package.json +5 -3
  81. package/src/legacy/tool-ui/src/AnalyticsWidget.ts +19 -9
  82. package/src/legacy/tool-ui/src/ContentEdit.css +1 -1
  83. package/src/legacy/tool-ui/src/ContentInputGroup.css +1 -1
  84. package/src/legacy/tool-ui/src/CopyToClipboard/index.ts +2 -2
  85. package/src/legacy/tool-ui/src/CopyToClipboard.css +3 -3
  86. package/src/legacy/tool-ui/src/Entry.ts +1 -1
  87. package/src/legacy/tool-ui/src/ImageEditor.css +4 -2
  88. package/src/legacy/tool-ui/src/LookingGlass.css +2 -2
  89. package/src/legacy/tool-ui/src/NavRail/index.css +4 -3
  90. package/src/legacy/tool-ui/src/Page.css +3 -2
  91. package/src/legacy/tool-ui/src/PageNav.ts +22 -10
  92. package/src/legacy/tool-ui/src/SearchFields.css +5 -0
  93. package/src/legacy/tool-ui/src/SearchWidget.css +4 -4
  94. package/src/legacy/tool-ui/src/SearchWidget.ts +1 -1
  95. package/src/legacy/tool-ui/src/Spellcheck.css +1 -1
  96. package/src/legacy/tool-ui/src/Widget.css +4 -4
  97. package/src/legacy/tool-ui/src/main/webapp/dist/4374.37147747a254da8f5f8a.js +1 -0
  98. package/src/legacy/tool-ui/src/main/webapp/dist/{9360.22bc0127e04bc73d5261.js → 9360.e3c42e75ae6b0803d0d6.js} +2 -2
  99. package/src/legacy/tool-ui/src/main/webapp/dist/{RTEProseMirror.fdd1d59156cacd27ddb0.js → RTEProseMirror.54b4c735cf930827fa7c.js} +3 -3
  100. package/src/legacy/tool-ui/src/main/webapp/dist/lucide.fc75febdccf410ca9c4a.woff2 +0 -0
  101. package/src/legacy/tool-ui/src/main/webapp/dist/lucide.woff2 +0 -0
  102. package/src/legacy/tool-ui/src/main/webapp/dist/v4.19a7871e6043c2ea6433.css +3 -0
  103. package/src/legacy/tool-ui/src/main/webapp/dist/{v4.687fe023dcdd864b4a48.js → v4.eea68972e75f531f0f9c.js} +6 -6
  104. package/src/legacy/tool-ui/src/main/webapp/dist/v5.c39ee07e5ec4ce2be423.css +140 -0
  105. package/src/legacy/tool-ui/src/main/webapp/dist/{v5.583d88b1fca7c3905765.js → v5.dab916118c83ba0a0fdb.js} +66 -12
  106. package/src/legacy/tool-ui/src/main/webapp/dist/{v5.583d88b1fca7c3905765.js.LICENSE.txt → v5.dab916118c83ba0a0fdb.js.LICENSE.txt} +1 -1
  107. package/src/legacy/tool-ui/src/main/webapp/v4/CopyToClipboard.less +1 -1
  108. package/src/legacy/tool-ui/src/main/webapp/v4/Widget.less +1 -1
  109. package/src/legacy/tool-ui/src/util/getComponentKey.ts +1 -1
  110. package/src/legacy/tool-ui/src/util/svg.ts +0 -31
  111. package/src/legacy/tool-ui/src/v5.ts +16 -8
  112. package/src/legacy/tool-ui/src/widget/index.ts +2 -2
  113. package/dist/storybook/assets/LucideDynamicLoader-THr3lc5T.js +0 -1
  114. package/dist/storybook/assets/if-defined-DDVGLNbR.js +0 -1
  115. package/dist/storybook/assets/iframe-DI_vgyKl.css +0 -1
  116. package/src/legacy/tool-ui/src/Icon/index.css +0 -11
  117. package/src/legacy/tool-ui/src/Icon/index.ts +0 -69
  118. package/src/legacy/tool-ui/src/main/webapp/dist/4374.64cf54f35a52b3018a92.js +0 -1
  119. package/src/legacy/tool-ui/src/main/webapp/dist/lucide.a0ab0ebd23916ff7c28c.woff2 +0 -0
  120. package/src/legacy/tool-ui/src/main/webapp/dist/v4.d48271241dbf3eecc14e.css +0 -3
  121. package/src/legacy/tool-ui/src/main/webapp/dist/v5.0ef7fbc0b9bb4d1e4672.css +0 -5
  122. /package/src/legacy/tool-ui/src/main/webapp/dist/{9360.22bc0127e04bc73d5261.js.LICENSE.txt → 9360.e3c42e75ae6b0803d0d6.js.LICENSE.txt} +0 -0
  123. /package/src/legacy/tool-ui/src/main/webapp/dist/{RTEProseMirror.fdd1d59156cacd27ddb0.js.LICENSE.txt → RTEProseMirror.54b4c735cf930827fa7c.js.LICENSE.txt} +0 -0
  124. /package/src/legacy/tool-ui/src/main/webapp/dist/{v4.687fe023dcdd864b4a48.js.LICENSE.txt → v4.eea68972e75f531f0f9c.js.LICENSE.txt} +0 -0
@@ -613,9 +613,9 @@
613
613
  }
614
614
  </style>
615
615
 
616
- <script type="module" crossorigin src="./assets/iframe-BcvNVHT1.js"></script>
616
+ <script type="module" crossorigin src="./assets/iframe-BJAXLO__.js"></script>
617
617
  <link rel="modulepreload" crossorigin href="./assets/preload-helper-PPVm8Dsz.js">
618
- <link rel="stylesheet" crossorigin href="./assets/iframe-DI_vgyKl.css">
618
+ <link rel="stylesheet" crossorigin href="./assets/iframe-DM45AEWn.css">
619
619
  </head>
620
620
 
621
621
  <body>
@@ -1 +1 @@
1
- {"generatedAt":1792522708601,"hasCustomBabel":false,"hasCustomWebpack":false,"hasStaticDirs":true,"hasStorybookEslint":true,"refCount":0,"knownPackages":{"testPackages":{"@storybook/addon-vitest":"10.2.12","@vitest/browser-playwright":"4.1.11","playwright":"1.58.2","vitest":"4.1.11"},"stylingPackages":{"tailwindcss":"^3.4.13","autoprefixer":"10.4.21"}},"hasRouterPackage":false,"packageManager":{"type":"yarn","agent":"yarn","nodeLinker":"undefined"},"preview":{"usesGlobals":true},"framework":{"name":"@storybook/web-components-vite","options":{}},"builder":"@storybook/builder-vite","renderer":"@storybook/web-components","portableStoriesFileCount":0,"applicationFileCount":6,"storybookVersion":"10.2.12","storybookVersionSpecifier":"10.2.12","language":"typescript","storybookPackages":{"@storybook/addon-themes":{"version":"10.2.12"},"@storybook/web-components-vite":{"version":"10.2.12"},"@wc-toolkit/storybook-helpers":{"version":"10.0.0"},"eslint-plugin-storybook":{"version":"10.0.7"},"storybook":{}},"addons":{"@storybook/addon-docs":{"version":"10.2.12"},"@storybook/addon-vitest":{"version":"10.2.12"}},"packageJsonType":"module"}
1
+ {"generatedAt":1792649730439,"hasCustomBabel":false,"hasCustomWebpack":false,"hasStaticDirs":true,"hasStorybookEslint":true,"refCount":0,"knownPackages":{"testPackages":{"@storybook/addon-vitest":"10.2.12","@vitest/browser-playwright":"4.1.11","playwright":"1.58.2","vitest":"4.1.11"},"stylingPackages":{"tailwindcss":"^3.4.13","autoprefixer":"10.4.21"}},"hasRouterPackage":false,"packageManager":{"type":"yarn","agent":"yarn","nodeLinker":"undefined"},"preview":{"usesGlobals":true},"framework":{"name":"@storybook/web-components-vite","options":{}},"builder":"@storybook/builder-vite","renderer":"@storybook/web-components","portableStoriesFileCount":0,"applicationFileCount":6,"storybookVersion":"10.2.12","storybookVersionSpecifier":"10.2.12","language":"typescript","storybookPackages":{"@storybook/addon-themes":{"version":"10.2.12"},"@storybook/web-components-vite":{"version":"10.2.12"},"@wc-toolkit/storybook-helpers":{"version":"10.0.0"},"eslint-plugin-storybook":{"version":"10.0.7"},"storybook":{}},"addons":{"@storybook/addon-docs":{"version":"10.2.12"},"@storybook/addon-vitest":{"version":"10.2.12"}},"packageJsonType":"module"}
@@ -5,7 +5,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  import { property } from 'lit/decorators.js';
8
- import { announce } from '../util/aria';
8
+ import { announce } from '../util/aria.js';
9
9
  /**
10
10
  * Mixin that adds common progress indicator properties.
11
11
  * Used by progress components like CircularProgress and LinearProgress.
@@ -1 +1 @@
1
- {"version":3,"file":"ProgressMixin.js","sourceRoot":"","sources":["../../src/util/ProgressMixin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProgressMixin.js","sourceRoot":"","sources":["../../src/util/ProgressMixin.ts"],"names":[],"mappings":"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"}
@@ -4,16 +4,16 @@ This directory contains auto-generated API documentation for all Brightspot UI w
4
4
 
5
5
  ## Using these in a plugin
6
6
 
7
- The CMS page already styles every component here, but it defines only four of the elements:
8
-
9
- - `btu-badge`, from this library;
10
- - `btu-icon`, `btu-widget` and `btu-copy-to-clipboard`, using the CMS's own legacy implementations.
7
+ The CMS page already styles every component here, but it defines only four of the elements: `btu-badge`,
8
+ `btu-copy-to-clipboard`, `btu-icon` and `btu-widget`.
11
9
 
12
10
  Import any other element in your plugin's frontend entry, for example
13
11
  `import '@brightspot/ui/components/card/Card.js'`, or the tag stays an undefined, inert element. That includes elements
14
12
  your Java renders through the generated `com.brightspot.ui.dari` classes. Importing one of the four changes nothing on a
15
13
  CMS page, because the CMS defines it first.
16
14
 
15
+ See [Dari HTML elements](../dari-elements.md) for how to render these components from Java.
16
+
17
17
  ## Components
18
18
 
19
19
  - [`<btu-action-bar>` - ActionBar](ActionBar.md)
@@ -0,0 +1,55 @@
1
+ # Dari HTML elements
2
+
3
+ `com.brightspot.ui.dari` contains generated Java classes for the `btu-*` web components, one class per element,
4
+ so Java code in Brightspot and in plugins can render them with typed attribute setters instead of raw HTML strings.
5
+ The classes are generated from the same [Custom Elements Manifest](components/README.md) used for the component API
6
+ reference, and compile into the `com.brightspot.ui:ui` jar.
7
+
8
+ The `BrightspotUi` interface holds one constant per element, named from its tag—for example `BrightspotUi#BADGE`
9
+ for `<btu-badge>`. Each constant is an instance of the generated class, so chaining an element's own setters with
10
+ inherited ones (`classList`, `attr`, `with`, and the rest of `com.psddev.dari.html`) compiles in any order:
11
+
12
+ ```java
13
+ import static com.brightspot.ui.dari.BrightspotUi.BADGE;
14
+
15
+ BADGE.classList("Page-env").variant("success").dot(true).with("QA")
16
+ // <btu-badge class="Page-env" variant="success" dot>QA</btu-badge>
17
+ ```
18
+
19
+ Rendering a constant emits only the tag—the page must also load the component, or the element stays inert. On a
20
+ CMS page, import it in the plugin's front-end entry, the same as for any other element not defined by the CMS. See
21
+ [Using these in a plugin](components/README.md#using-these-in-a-plugin) for which elements the CMS already defines.
22
+
23
+ Nest content, including other elements, with `with`:
24
+
25
+ ```java
26
+ import static com.brightspot.ui.dari.BrightspotUi.CARD;
27
+ import static com.brightspot.ui.dari.BrightspotUi.BADGE;
28
+
29
+ CARD.heading("Release notes").headingLevel(3).with(BADGE.with("New"))
30
+ // <btu-card heading="Release notes" heading-level="3"><btu-badge>New</btu-badge></btu-card>
31
+ ```
32
+
33
+ ## Setter types
34
+
35
+ Each generated setter's parameter type follows the element's CEM attribute type:
36
+
37
+ | CEM type | Java parameter | Behavior |
38
+ |---|---|---|
39
+ | `boolean` | `boolean` | Emits a bare attribute (for example `dot`) when `true`, omits it when `false`. |
40
+ | `number` | `Number` | Emits the attribute set to the number's string form. |
41
+ | anything else, including unions like `boolean \| 'pulse'` | `String` | Emits the attribute set to the string value. |
42
+
43
+ A handful of boolean attributes default to `true` in the component itself, such as `indeterminate` on
44
+ `<btu-circular-progress>`. Because an HTML boolean attribute can only be present or absent, calling the setter with
45
+ `false` has no effect—there is no way to represent "explicitly false" in the markup, so the component falls back to
46
+ its own default.
47
+
48
+ ## Icon, widget, and copy-to-clipboard
49
+
50
+ `ICON`, `WIDGET`, and `COPY_TO_CLIPBOARD` render the library elements, which the CMS defines. For a gradient icon, use
51
+ `ICON.gradient("primary")`—the library icon has no `fill` attribute.
52
+
53
+ `com.psddev.cms.ui.Components` also has `ICON` and `WIDGET` constants. A class that statically imports both
54
+ `Components.*` and `BrightspotUi.*` gets an ambiguous-name compile error, so import `BrightspotUi` constants by name,
55
+ as in the examples above.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brightspot/ui",
3
- "version": "6.6.2",
3
+ "version": "6.7.1-pr.401.2026.10.22",
4
4
  "type": "module",
5
5
  "license": "UNLICENSED",
6
6
  "description": "A UI library for building Brightspot CMS components.",
@@ -20,7 +20,7 @@
20
20
  "cem": "cem analyze --litelement",
21
21
  "cem:watch": "cem analyze --litelement --watch",
22
22
  "cem:docs": "yarn cem && node scripts/generate-docs.mjs",
23
- "build": "yarn clean && tsc --noEmitOnError && yarn cem && node scripts/copy-component-css.mjs && shx cp ./src/*.ts ./dist && shx rm ./dist/tailwind.storybook.config* && shx rm -Rf ./dist/stories",
23
+ "build": "yarn clean && tsc --noEmitOnError && yarn cem && node scripts/copy-component-css.mjs && shx cp ./src/*.ts ./dist && shx rm ./dist/tailwind.storybook.config* && shx rm -Rf ./dist/stories && node scripts/check-dist-imports.mjs",
24
24
  "build:cms-ui": "yarn build && (cd src/legacy/tool-ui && yarn install --frozen-lockfile && yarn build) && (cd tool-ui && yarn install && yarn build)",
25
25
  "prepack": "yarn build && yarn build-storybook && (cd src/legacy/tool-ui && yarn build)",
26
26
  "storybook": "yarn cem && storybook dev -p 6006",
@@ -30,6 +30,7 @@
30
30
  "test:combo-input": "vitest run --project=combo-input",
31
31
  "test:cem-runtime": "vitest run --project=cem-runtime",
32
32
  "test:dari-fixtures": "vitest run --project=dari-fixtures",
33
+ "test:dist-imports": "vitest run --project=dist-imports",
33
34
  "check:conventions": "yarn cem && node scripts/check-conventions-all.mjs",
34
35
  "check:conventions:fast": "node scripts/check-conventions.mjs",
35
36
  "prepare": "husky && (cd src/legacy/tool-ui && yarn install)",
@@ -86,7 +87,7 @@
86
87
  "broadcast-channel": "^4.13.0",
87
88
  "loglevel": "^1.8.0",
88
89
  "lottie-web": "^5.13.0",
89
- "lucide-static": "1.31.0",
90
+ "lucide-static": "1.60.0",
90
91
  "tabbable": "6.2.0",
91
92
  "tailwindcss": "^3.4.13",
92
93
  "uuid": "^8.3.2"
@@ -96,6 +97,7 @@
96
97
  },
97
98
  "sideEffects": [
98
99
  "dist/components/**/*.js",
100
+ "dist/components/**/*.css",
99
101
  "src/legacy/**/*"
100
102
  ],
101
103
  "files": [
@@ -46,19 +46,29 @@ export default class AnalyticsWidget {
46
46
  }
47
47
 
48
48
  private init(): void {
49
- // Listen for tab activation
50
- $(this.element)
51
- .closest('[data-tab]')
52
- .on('tabbedShow', () => {
49
+ const tabElement = this.element.closest<HTMLElement>('[data-tab]')
50
+
51
+ if (tabElement) {
52
+ // Listen for tab activation
53
+ $(tabElement).on('tabbedShow', () => {
53
54
  // Only load if tab is actually selected/visible, not just during initial setup
54
- const tabElement = this.element.closest<HTMLElement>('[data-tab]')
55
- if (
56
- !this.isLoaded &&
57
- !tabElement?.classList.contains('TC-unselected')
58
- ) {
55
+ if (!this.isLoaded && !tabElement.classList.contains('TC-unselected')) {
59
56
  this.loadAnalyticsData()
60
57
  }
61
58
  })
59
+ } else {
60
+ // Bottom, Right and Top placements have no tab to fire tabbedShow, so load
61
+ // the first time the widget scrolls into view instead.
62
+ const observer = new IntersectionObserver((entries) => {
63
+ if (entries.some((entry) => entry.isIntersecting)) {
64
+ observer.disconnect()
65
+ if (!this.isLoaded) {
66
+ this.loadAnalyticsData()
67
+ }
68
+ }
69
+ })
70
+ observer.observe(this.element)
71
+ }
62
72
 
63
73
  // Listen for period selector changes
64
74
  if (this.periodSelector) {
@@ -28,7 +28,7 @@
28
28
  }
29
29
 
30
30
  &.is-previewing .ContentEdit-previewButtonWrapper.is-animating > button {
31
- @apply !pointer-events-none after:btu-loader before:invisible after:absolute after:left-1/2 after:top-1/2 after:z-[2] after:size-[--iconSize-l] after:-translate-x-1/2 after:-translate-y-1/2;
31
+ @apply after:btu-loader before:invisible after:absolute after:left-1/2 after:top-1/2 after:z-[2] after:size-[--iconSize-l] after:-translate-x-1/2 after:-translate-y-1/2;
32
32
  }
33
33
  }
34
34
 
@@ -574,7 +574,7 @@
574
574
  @apply pointer-events-auto;
575
575
  }
576
576
 
577
- .CIG-note :where(a, button, [role='button'], btu-copy-to-clipboard) {
577
+ .CIG-note :where(a, button, [role='button'], btu-legacy-copy-to-clipboard) {
578
578
  @apply pointer-events-auto cursor-pointer;
579
579
  }
580
580
 
@@ -3,7 +3,7 @@ import { customElement, property } from 'lit/decorators.js'
3
3
  import { ComponentStatesMixin } from '../ComponentStatesMixin'
4
4
  import { EventEmitterMixin } from '../EventEmitterMixin'
5
5
 
6
- @customElement('btu-copy-to-clipboard')
6
+ @customElement('btu-legacy-copy-to-clipboard')
7
7
  export default class CopyToClipboard extends ComponentStatesMixin(
8
8
  EventEmitterMixin(LitElement),
9
9
  ) {
@@ -49,6 +49,6 @@ export default class CopyToClipboard extends ComponentStatesMixin(
49
49
 
50
50
  declare global {
51
51
  interface HTMLElementTagNameMap {
52
- 'btu-copy-to-clipboard': CopyToClipboard
52
+ 'btu-legacy-copy-to-clipboard': CopyToClipboard
53
53
  }
54
54
  }
@@ -1,10 +1,10 @@
1
- btu-copy-to-clipboard {
1
+ btu-legacy-copy-to-clipboard {
2
2
  @apply flex gap-4;
3
3
  }
4
- btu-copy-to-clipboard button {
4
+ btu-legacy-copy-to-clipboard button {
5
5
  @apply btu-button-fill-none btu-button-gray border-0 p-0 before:btu-icon before:btu-icon-clipboard-copy;
6
6
  }
7
7
 
8
- btu-copy-to-clipboard:state(btu-copy-to-clipboard-copied) button {
8
+ btu-legacy-copy-to-clipboard:state(btu-copy-to-clipboard-copied) button {
9
9
  @apply btu-button-success before:btu-icon-clipboard-check;
10
10
  }
@@ -236,7 +236,7 @@ window.addEventListener('beforeunload', (event) => {
236
236
  onFind(
237
237
  [
238
238
  '.SearchWidget.is-global .SavedSearches-links a',
239
- '.SearchWidget.is-global .SavedSearches-links btu-copy-to-clipboard',
239
+ '.SearchWidget.is-global .SavedSearches-links btu-legacy-copy-to-clipboard',
240
240
  ],
241
241
  (a: HTMLElement) => {
242
242
  a.addEventListener('click', () => {
@@ -442,12 +442,14 @@
442
442
  @apply before:btu-icon-rotate-cw;
443
443
  }
444
444
 
445
+ /* Lucide named these by the centerline's orientation, not the flip direction,
446
+ so the old flip-*-2 aliases now draw the opposite flip. */
445
447
  .ImageEditor-flip-h {
446
- @apply before:btu-icon-flip-horizontal-2;
448
+ @apply before:btu-icon-triangles-centerline-dashed-vertical;
447
449
  }
448
450
 
449
451
  .ImageEditor-flip-v {
450
- @apply before:btu-icon-flip-vertical-2;
452
+ @apply before:btu-icon-triangles-centerline-dashed-horizontal;
451
453
  }
452
454
 
453
455
  /* Hotspots UI */
@@ -21,11 +21,11 @@ ul:has(.LookingGlass-actions) {
21
21
  @apply before:btu-icon-external-link;
22
22
  }
23
23
 
24
- btu-copy-to-clipboard.LookingGlass-actions button {
24
+ btu-legacy-copy-to-clipboard.LookingGlass-actions button {
25
25
  @apply transition-colors before:btu-icon-link;
26
26
  }
27
27
 
28
- btu-copy-to-clipboard.LookingGlass-actions:state(btu-copy-to-clipboard-copied)
28
+ btu-legacy-copy-to-clipboard.LookingGlass-actions:state(btu-copy-to-clipboard-copied)
29
29
  button {
30
30
  @apply gap-0 text-gray-500 [font-size:0] before:btu-icon-clipboard-check after:ms-2 after:text-sm after:[content:attr(data-success-label)];
31
31
  }
@@ -12,9 +12,9 @@ btu-nav-rail {
12
12
  * > :is(a, button) {
13
13
  @apply flex min-h-[--item-h] w-full flex-nowrap place-content-center items-center gap-2 rounded-lg px-2 font-semibold text-gray-700 no-underline focus-within:text-gray-700 hover:bg-gray-100 hover:text-gray-900 @[80px]:items-start @[80px]:pb-1.5 @[80px]:pt-2 @[80px]:[place-content:normal];
14
14
 
15
- /* Counter the 2px center-origin shift from btu-icon's gradient-fill scale. */
15
+ /* 20px icon plus 2px side margins: the 24px slot the labels align to. */
16
16
  > btu-icon {
17
- @apply @[80px]:-mt-[2px];
17
+ @apply @[80px]:mx-0.5;
18
18
  }
19
19
  }
20
20
 
@@ -22,7 +22,8 @@ btu-nav-rail {
22
22
  * > :is(a, button)[aria-expanded='true'] {
23
23
  @apply bg-primary-50 text-gray-900 more-contrast:bg-primary-900 more-contrast:text-white;
24
24
 
25
- btu-icon {
25
+ /* Only a masked icon can take a fill; on a plain icon it paints the whole box. */
26
+ btu-icon[gradient] {
26
27
  @apply more-contrast:bg-white more-contrast:bg-none;
27
28
  }
28
29
  }
@@ -434,7 +434,8 @@
434
434
  @apply bg-primary-50 text-gray-900 more-contrast:bg-primary-900 more-contrast:text-white;
435
435
  }
436
436
 
437
- btu-icon {
437
+ /* Only a masked icon can take a fill; on a plain icon it paints the whole box. */
438
+ btu-icon[gradient] {
438
439
  @apply more-contrast:bg-white more-contrast:bg-none;
439
440
  }
440
441
  }
@@ -632,7 +633,7 @@
632
633
  /*
633
634
  Establish a minimum width for the content edit right rail widgets
634
635
  so they can overflow when the containing column is too small. */
635
- .ContentEdit-right btu-widget,
636
+ .ContentEdit-right btu-legacy-widget,
636
637
  .ContentEdit-right-top {
637
638
  min-width: var(--contentWidget-w-min);
638
639
  }
@@ -4,6 +4,10 @@ import storage from './util/storage'
4
4
  type PageNavToggleState = 'OFF' | 'ON' | null
5
5
  const ToggleStorageKey = 'BSP.v5.Page.nav.toggle'
6
6
 
7
+ // Expanding the nav by clicking a nested item's icon is a one-off peek at its
8
+ // submenu, so it must not overwrite the user's saved expanded/collapsed choice.
9
+ let persistToggle = true
10
+
7
11
  const setToggle = (val: PageNavToggleState) => {
8
12
  if (val !== null) storage.set(ToggleStorageKey, val)
9
13
  }
@@ -13,23 +17,24 @@ export const getToggle = () => {
13
17
  }
14
18
 
15
19
  export const toggle = (forcedVal?: PageNavToggleState) => {
16
- if (forcedVal !== undefined) {
17
- setToggle(forcedVal)
18
- } else {
19
- setToggle(getToggle() === 'ON' ? 'OFF' : 'ON')
20
- }
21
- update()
20
+ const nextState =
21
+ forcedVal !== undefined
22
+ ? (forcedVal ?? getToggle())
23
+ : getToggle() === 'ON'
24
+ ? 'OFF'
25
+ : 'ON'
26
+ if (persistToggle) setToggle(nextState)
27
+ update(nextState)
22
28
 
23
29
  window.document.body.dispatchEvent(
24
30
  new CustomEvent('page-nav-rail-toggled', {
25
31
  bubbles: true,
26
- detail: { toggleState: getToggle() },
32
+ detail: { toggleState: nextState },
27
33
  }),
28
34
  )
29
35
  }
30
36
 
31
- const update = () => {
32
- const lastToggleState = getToggle()
37
+ const update = (lastToggleState: PageNavToggleState = getToggle()) => {
33
38
  // Update with last state if it exists.
34
39
  if (lastToggleState !== null) {
35
40
  document.documentElement.style.setProperty(
@@ -86,7 +91,14 @@ onFind('.Page-main > btu-nav-rail', (nav: HTMLElement) => {
86
91
 
87
92
  // Make the nav larger.
88
93
  const toggle = document.querySelector<HTMLElement>('.Page-navToggle')
89
- if (toggle) toggle.click()
94
+ if (toggle) {
95
+ persistToggle = false
96
+ try {
97
+ toggle.click()
98
+ } finally {
99
+ persistToggle = true
100
+ }
101
+ }
90
102
 
91
103
  // Expand the group if it's collapsed.
92
104
  const collapsedParentItem = target.closest<HTMLElement>(
@@ -109,6 +109,11 @@
109
109
 
110
110
  .SearchFields-sort-item-span {
111
111
  @apply me-auto text-sm font-semibold text-gray-900;
112
+
113
+ /* "Deprecated" label after deprecated field names */
114
+ > .Label {
115
+ @apply ms-2;
116
+ }
112
117
  }
113
118
 
114
119
  .SearchFields-drag {
@@ -221,7 +221,7 @@
221
221
  }
222
222
  }
223
223
 
224
- btu-widget.SearchWidget-moreFilters {
224
+ btu-legacy-widget.SearchWidget-moreFilters {
225
225
  @apply col-span-full;
226
226
 
227
227
  /* Override styles in Widget.css to prevent focus ring from being cut off */
@@ -262,9 +262,9 @@ btu-widget.SearchWidget-moreFilters {
262
262
  @apply border-e border-e-gray-200 transition-opacity duration-100 ease-in [grid-area:history];
263
263
  }
264
264
 
265
- btu-widget.SearchWidget-recent,
266
- btu-widget.SearchWidget-saved,
267
- btu-widget.SearchWidget-create {
265
+ btu-legacy-widget.SearchWidget-recent,
266
+ btu-legacy-widget.SearchWidget-saved,
267
+ btu-legacy-widget.SearchWidget-create {
268
268
  .Widget-title {
269
269
  @apply border-b-0 border-t border-t-gray-200;
270
270
  }
@@ -3,7 +3,7 @@ import { announce } from './dom/aria'
3
3
  import { toggleMenu } from './dom/popupMenu'
4
4
  import Widget from './widget'
5
5
 
6
- onFind('btu-widget.SearchWidget-moreFilters', (widget: Widget) => {
6
+ onFind('btu-legacy-widget.SearchWidget-moreFilters', (widget: Widget) => {
7
7
  const toggleTitle = () => {
8
8
  if (widget.collapsed) {
9
9
  widget.heading = widget.dataset.moreFiltersLabel
@@ -27,7 +27,7 @@
27
27
  }
28
28
 
29
29
  /* Highlight misspelled text in blue when suggestions are open */
30
- .Page:has(> .ProseMirror-spellcheck-suggestions.is-opening) {
30
+ .ProseMirror.is-spellcheck-open {
31
31
  .problem[data-suggestions]::selection {
32
32
  @apply bg-primary-50 text-primary-900;
33
33
  }
@@ -374,13 +374,13 @@
374
374
  }
375
375
 
376
376
  /* Search Widget styles */
377
- btu-widget.SearchWidget-moreFilters {
377
+ btu-legacy-widget.SearchWidget-moreFilters {
378
378
  --space: 0rem;
379
379
  }
380
380
 
381
- btu-widget.SearchWidget-recent,
382
- btu-widget.SearchWidget-saved,
383
- btu-widget.SearchWidget-create {
381
+ btu-legacy-widget.SearchWidget-recent,
382
+ btu-legacy-widget.SearchWidget-saved,
383
+ btu-legacy-widget.SearchWidget-create {
384
384
  --space: 1rem;
385
385
  }
386
386
 
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkbrightspot_cms=self.webpackChunkbrightspot_cms||[]).push([[4374],{4658(e){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg=="},41399(e,r,t){t.d(r,{A:()=>f});var a=t(64664),i=t.n(a),o=t(25243),n=t.n(o),s=t(20368),p=t.n(s),l=new URL(t(4658),t.b),c=n()(i()),d=p()(l);c.push([e.id,`.sp-hidden,.sp-initial{display:none}.sp-replacer{max-width:100%;position:relative;user-select:none;width:200px}[dir] .sp-replacer{cursor:pointer}[dir=ltr] .sp-replacer{padding:var(--gap-s) calc(var(--gap-s) + var(--Icon-size)) var(--gap-s) 0}[dir=rtl] .sp-replacer{padding:var(--gap-s) 0 var(--gap-s) calc(var(--gap-s) + var(--Icon-size))}.sp-replacer:before{bottom:0;content:"";height:1px;position:absolute}[dir] .sp-replacer:before{background:var(--Input-borderColor)}[dir=ltr] .sp-replacer:before,[dir=rtl] .sp-replacer:before{left:0;right:0}[dir] .sp-replacer.sp-active{background:var(--Input-focusBackground)}.sp-replacer.sp-active:before{height:2px}[dir] .sp-replacer.sp-active:before,[dir] .sp-replacer:focus:before,[dir] .sp-replacer:hover:before{background:var(--Input-focusColor)}.sp-replacer:focus .sp-dd,.sp-replacer:hover .sp-dd{color:var(--Input-focusColor)}.SearchWidget-filter .sp-replacer{width:100%}.sp-preview{overflow:hidden;text-overflow:ellipsis;user-select:none;white-space:nowrap;width:100%}.sp-preview:before{content:""}.sp-preview[data-placeholder]:after{content:attr(data-placeholder);font-style:italic}[dir=ltr] .sp-preview[data-placeholder]:after{padding-left:30px}[dir=rtl] .sp-preview[data-placeholder]:after{padding-right:30px}.sp-preview[data-color]:after{content:attr(data-color);font-style:normal}[dir=ltr] .sp-preview[data-color]:after{padding-left:30px}[dir=rtl] .sp-preview[data-color]:after{padding-right:30px}.sp-preview[data-placeholder]:not([data-color]):after{color:var(--color-gray5)}.sp-preview-inner,.sp-preview:before{height:var(--Text-height);position:absolute;top:var(--gap-s);width:var(--Text-height)}[dir] .sp-preview-inner,[dir] .sp-preview:before{border-radius:50%}[dir=ltr] .sp-preview-inner,[dir=ltr] .sp-preview:before{left:0}[dir=rtl] .sp-preview-inner,[dir=rtl] .sp-preview:before{right:0}.sp-preview:not([data-placeholder^="#"]) .sp-preview-inner.sp-clear-display:before{--Icon-fill:"FILL" 1;display:inline-block;font-family:Material Symbols Outlined;font-feature-settings:"liga";font-size:var(--Icon-size);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-style:normal;font-variation-settings:var(--Icon-fill);font-weight:400;letter-spacing:normal;line-height:1;position:relative;text-rendering:optimizeLegibility;text-transform:none;top:calc((var(--Text-height) - var(--Icon-size)) / 2);vertical-align:top;white-space:nowrap;word-wrap:normal;content:"block";font-size:var(--Text-height);top:0}[dir] .sp-preview:not([data-placeholder^="#"]) .sp-preview-inner.sp-clear-display:before{transform:var(--Icon-transform)}[dir=ltr] .sp-preview:not([data-placeholder^="#"]) .sp-preview-inner.sp-clear-display:before{direction:ltr}[dir=rtl] .sp-preview:not([data-placeholder^="#"]) .sp-preview-inner.sp-clear-display:before{direction:rtl}.sp-dd{bottom:calc(var(--gap-s) + (var(--Text-height) - var(--Icon-size)) / 2);height:var(--Icon-size);overflow:hidden;position:absolute;width:var(--Icon-size)}[dir=ltr] .sp-dd{right:var(--gap-s)}[dir=rtl] .sp-dd{left:var(--gap-s)}.sp-dd:before{--Icon-fill:"FILL" 1;display:inline-block;font-family:Material Symbols Outlined;font-feature-settings:"liga";font-size:var(--Icon-size);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-style:normal;font-variation-settings:var(--Icon-fill);font-weight:400;letter-spacing:normal;line-height:1;position:relative;text-rendering:optimizeLegibility;text-transform:none;top:calc((var(--Text-height) - var(--Icon-size)) / 2);vertical-align:top;white-space:nowrap;word-wrap:normal;content:"arrow_drop_down";top:0;transition:transform var(--time-xs)}[dir] .sp-dd:before{transform:var(--Icon-transform)}[dir=ltr] .sp-dd:before{direction:ltr}[dir=rtl] .sp-dd:before{direction:rtl}.sp-active .sp-dd:before{color:var(--Input-focusColor)}[dir=ltr] .sp-active .sp-dd:before{transform:rotate(-180deg)}[dir=rtl] .sp-active .sp-dd:before{transform:rotate(180deg)}.sp-container{width:auto;z-index:100001}[dir] .sp-container{background:var(--color-white);box-shadow:var(--shadow-3);padding:var(--gap-m)}.sp-container,.sp-container button{user-select:none}.sp-top{position:relative;width:100%}[dir] .sp-fill{padding-top:100%}.sp-color{bottom:calc(var(--gap-s) + var(--Icon-size));position:absolute;top:0}[dir=ltr] .sp-color{left:0;right:calc(var(--gap-s) + var(--Icon-size))}[dir=rtl] .sp-color{right:0;left:calc(var(--gap-s) + var(--Icon-size))}.sp-sat,.sp-val{bottom:0;position:absolute;top:0}[dir=ltr] .sp-sat,[dir=ltr] .sp-val,[dir=rtl] .sp-sat,[dir=rtl] .sp-val{left:0;right:0}[dir=ltr] .sp-sat{background-image:linear-gradient(90deg,#fff,rgba(204,154,129,0))}[dir=rtl] .sp-sat{background-image:linear-gradient(270deg,#fff,rgba(204,154,129,0))}[dir] .sp-val{background-image:linear-gradient(0deg,#000,rgba(204,154,129,0))}.sp-alpha-handle,.sp-dragger,.sp-slider{opacity:.5;position:absolute;user-select:none}[dir] .sp-alpha-handle,[dir] .sp-dragger,[dir] .sp-slider{background:var(--color-white);border:1px solid var(--color-black);cursor:pointer}.sp-dragger{height:10px;top:0;width:10px}[dir] .sp-dragger{border-radius:50%}[dir=ltr] .sp-dragger{left:0}[dir=rtl] .sp-dragger{right:0}.sp-clear{position:absolute;top:0;user-select:none}[dir=ltr] .sp-clear{right:0}[dir=rtl] .sp-clear{left:0}.sp-clear:before{--Icon-fill:"FILL" 1;display:inline-block;font-family:Material Symbols Outlined;font-feature-settings:"liga";font-size:var(--Icon-size);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-style:normal;font-variation-settings:var(--Icon-fill);font-weight:400;letter-spacing:normal;line-height:1;position:relative;text-rendering:optimizeLegibility;text-transform:none;top:calc((var(--Text-height) - var(--Icon-size)) / 2);vertical-align:top;white-space:nowrap;word-wrap:normal;content:"block"}[dir] .sp-clear:before{transform:var(--Icon-transform)}[dir=ltr] .sp-clear:before{direction:ltr}[dir=rtl] .sp-clear:before{direction:rtl}.sp-hue{bottom:calc(var(--gap-s) + var(--Icon-size));position:absolute;top:calc(var(--Icon-size) + var(--gap-s));width:var(--Icon-size)}[dir] .sp-hue{background:linear-gradient(180deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}[dir=ltr] .sp-hue{right:0}[dir=rtl] .sp-hue{left:0}.sp-slider{height:7px;top:0}[dir=ltr] .sp-slider,[dir=rtl] .sp-slider{left:-1px;right:-1px}.sp-alpha{bottom:0;display:none;height:var(--Icon-size);position:absolute;user-select:none}[dir] .sp-alpha{background:url(${d}) 50%}[dir=ltr] .sp-alpha,[dir=rtl] .sp-alpha{left:0;right:0}.sp-alpha-inner{height:100%;width:100%}.sp-alpha-handle{bottom:-1px;top:-1px;width:7px}[dir=ltr] .sp-alpha-handle{left:50%}[dir=rtl] .sp-alpha-handle{right:50%}[dir] .sp-input-container{margin:calc(0px - var(--gap-m)) 0 var(--gap-m) 0}.sp-container .sp-input{box-sizing:border-box}.sp-cancel{line-height:calc(var(--gap-s) * 2 + var(--Text-height))}[dir=ltr] .sp-cancel{float:right}[dir=rtl] .sp-cancel{float:left}.sp-palette{max-width:calc((var(--gap-s) + var(--gap-m)) * 4)}[dir=ltr] .sp-picker-container{float:left}[dir=rtl] .sp-picker-container{float:right}.sp-palette-container{position:relative}[dir=ltr] .sp-palette-container{float:right}[dir=rtl] .sp-palette-container{float:left}.sp-cf:after,.sp-cf:before{content:"";display:table}.sp-container *{box-sizing:content-box}.sp-palette .sp-thumb-el{display:block;height:var(--gap-l);position:relative;width:var(--gap-l)}[dir] .sp-palette .sp-thumb-el{cursor:pointer}[dir=ltr] .sp-palette .sp-thumb-el{float:left;margin:0 0 var(--gap-s) var(--gap-s)}[dir=rtl] .sp-palette .sp-thumb-el{float:right;margin:0 var(--gap-s) var(--gap-s) 0}.sp-alpha,.sp-preview,.sp-thumb-el{position:relative}.sp-alpha-inner,.sp-preview-inner,.sp-thumb-inner{bottom:0;display:block;position:absolute;top:0}[dir=ltr] .sp-alpha-inner,[dir=ltr] .sp-preview-inner,[dir=ltr] .sp-thumb-inner,[dir=rtl] .sp-alpha-inner,[dir=rtl] .sp-preview-inner,[dir=rtl] .sp-thumb-inner{left:0;right:0}[dir] .sp-palette .sp-thumb-inner{background-position:50% 50%;background-repeat:no-repeat}.sp-palette-button-container{display:none}`,""]);const f=7717==t.j?c:null},25243(e){e.exports=function(e){var r=[];return r.toString=function(){return this.map(function(r){var t="",a=void 0!==r[5];return r[4]&&(t+="@supports (".concat(r[4],") {")),r[2]&&(t+="@media ".concat(r[2]," {")),a&&(t+="@layer".concat(r[5].length>0?" ".concat(r[5]):""," {")),t+=e(r),a&&(t+="}"),r[2]&&(t+="}"),r[4]&&(t+="}"),t}).join("")},r.i=function(e,t,a,i,o){"string"==typeof e&&(e=[[null,e,void 0]]);var n={};if(a)for(var s=0;s<this.length;s++){var p=this[s][0];null!=p&&(n[p]=!0)}for(var l=0;l<e.length;l++){var c=[].concat(e[l]);a&&n[c[0]]||(void 0!==o&&(void 0===c[5]||(c[1]="@layer".concat(c[5].length>0?" ".concat(c[5]):""," {").concat(c[1],"}")),c[5]=o),t&&(c[2]?(c[1]="@media ".concat(c[2]," {").concat(c[1],"}"),c[2]=t):c[2]=t),i&&(c[4]?(c[1]="@supports (".concat(c[4],") {").concat(c[1],"}"),c[4]=i):c[4]="".concat(i)),r.push(c))}},r}},20368(e){e.exports=function(e,r){return r||(r={}),e?(e=String(e.__esModule?e.default:e),/^['"].*['"]$/.test(e)&&(e=e.slice(1,-1)),r.hash&&(e+=r.hash),/["'() \t\n]|(%20)/.test(e)||r.needQuotes?'"'.concat(e.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):e):e}},64664(e){e.exports=function(e){return e[1]}},34374(e,r,t){t.r(r),t.d(r,{default:()=>b});var a=t(96291),i=t.n(a),o=t(96918),n=t.n(o),s=t(77322),p=t.n(s),l=t(55800),c=t.n(l),d=t(10207),f=t.n(d),g=t(37746),h=t.n(g),v=t(41399),u={};u.styleTagTransform=h(),u.setAttributes=c(),u.insert=p().bind(null,"head"),u.domAPI=n(),u.insertStyleElement=f(),i()(v.A,u);const b=v.A&&v.A.locals?v.A.locals:void 0},96291(e){var r=[];function t(e){for(var t=-1,a=0;a<r.length;a++)if(r[a].identifier===e){t=a;break}return t}function a(e,a){for(var o={},n=[],s=0;s<e.length;s++){var p=e[s],l=a.base?p[0]+a.base:p[0],c=o[l]||0,d="".concat(l," ").concat(c);o[l]=c+1;var f=t(d),g={css:p[1],media:p[2],sourceMap:p[3],supports:p[4],layer:p[5]};if(-1!==f)r[f].references++,r[f].updater(g);else{var h=i(g,a);a.byIndex=s,r.splice(s,0,{identifier:d,updater:h,references:1})}n.push(d)}return n}function i(e,r){var t=r.domAPI(r);return t.update(e),function(r){if(r){if(r.css===e.css&&r.media===e.media&&r.sourceMap===e.sourceMap&&r.supports===e.supports&&r.layer===e.layer)return;t.update(e=r)}else t.remove()}}e.exports=function(e,i){var o=a(e=e||[],i=i||{});return function(e){e=e||[];for(var n=0;n<o.length;n++){var s=t(o[n]);r[s].references--}for(var p=a(e,i),l=0;l<o.length;l++){var c=t(o[l]);0===r[c].references&&(r[c].updater(),r.splice(c,1))}o=p}}},77322(e){var r={};e.exports=function(e,t){var a=function(e){if(void 0===r[e]){var t=document.querySelector(e);if(window.HTMLIFrameElement&&t instanceof window.HTMLIFrameElement)try{t=t.contentDocument.head}catch(e){t=null}r[e]=t}return r[e]}(e);if(!a)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");a.appendChild(t)}},10207(e){e.exports=function(e){var r=document.createElement("style");return e.setAttributes(r,e.attributes),e.insert(r,e.options),r}},55800(e,r,t){e.exports=function(e){var r=t.nc;r&&e.setAttribute("nonce",r)}},96918(e){e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var r=e.insertStyleElement(e);return{update:function(t){!function(e,r,t){var a="";t.supports&&(a+="@supports (".concat(t.supports,") {")),t.media&&(a+="@media ".concat(t.media," {"));var i=void 0!==t.layer;i&&(a+="@layer".concat(t.layer.length>0?" ".concat(t.layer):""," {")),a+=t.css,i&&(a+="}"),t.media&&(a+="}"),t.supports&&(a+="}");var o=t.sourceMap;o&&"undefined"!=typeof btoa&&(a+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o))))," */")),r.styleTagTransform(a,e,r.options)}(r,e,t)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(r)}}}},37746(e){e.exports=function(e,r){if(r.styleSheet)r.styleSheet.cssText=e;else{for(;r.firstChild;)r.removeChild(r.firstChild);r.appendChild(document.createTextNode(e))}}}}]);