@brightspot/ui 5.0.3-toggleable-fix.0 → 5.1.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 (208) hide show
  1. package/dist/components/button-group/ButtonGroup.d.ts +21 -6
  2. package/dist/components/button-group/ButtonGroup.d.ts.map +1 -1
  3. package/dist/components/button-group/ButtonGroup.js +37 -20
  4. package/dist/components/button-group/ButtonGroup.js.map +1 -1
  5. package/dist/components/card/Card.css +7 -0
  6. package/dist/components/card/Card.d.ts +244 -0
  7. package/dist/components/card/Card.d.ts.map +1 -0
  8. package/dist/components/card/Card.js +512 -0
  9. package/dist/components/card/Card.js.map +1 -0
  10. package/dist/components/circular-progress/CircularProgress.js +2 -2
  11. package/dist/components/dropdown/DropdownItem.d.ts.map +1 -1
  12. package/dist/components/dropdown/DropdownItem.js +3 -4
  13. package/dist/components/dropdown/DropdownItem.js.map +1 -1
  14. package/dist/components/empty-state/EmptyState.d.ts +11 -2
  15. package/dist/components/empty-state/EmptyState.d.ts.map +1 -1
  16. package/dist/components/empty-state/EmptyState.js +19 -8
  17. package/dist/components/empty-state/EmptyState.js.map +1 -1
  18. package/dist/components/icon/Icon.d.ts.map +1 -1
  19. package/dist/components/icon/Icon.js +7 -4
  20. package/dist/components/icon/Icon.js.map +1 -1
  21. package/dist/components/linear-progress/LinearProgress.js +1 -1
  22. package/dist/components/tabs/Tab.js +1 -1
  23. package/dist/components/tabs/Tab.js.map +1 -1
  24. package/dist/components/upload/UploadItem.js +1 -1
  25. package/dist/components/upload/UploadItem.js.map +1 -1
  26. package/dist/components/widget/Widget.css +1 -1
  27. package/dist/components/widget/Widget.d.ts +11 -2
  28. package/dist/components/widget/Widget.d.ts.map +1 -1
  29. package/dist/components/widget/Widget.js +22 -11
  30. package/dist/components/widget/Widget.js.map +1 -1
  31. package/dist/custom-elements.json +2576 -2080
  32. package/dist/storybook/assets/{ActionBar.stories-CTrEOJBH.js → ActionBar.stories-D9ok2eVg.js} +1 -1
  33. package/dist/storybook/assets/{ActionItem.stories-Cm3zQeMa.js → ActionItem.stories-DjPfYpgA.js} +1 -1
  34. package/dist/storybook/assets/{Avatar.stories-DSltfj-_.js → Avatar.stories-Di3s5wxK.js} +1 -1
  35. package/dist/storybook/assets/{AvatarGroup.stories-BjL-l4VH.js → AvatarGroup.stories-CT7lYX_U.js} +5 -5
  36. package/dist/storybook/assets/{Badge.stories-DLNO3rOl.js → Badge.stories-9unZqfhH.js} +1 -1
  37. package/dist/storybook/assets/{Button-TUtCVpwY.js → Button-DuuAvVjP.js} +1 -1
  38. package/dist/storybook/assets/{Button.stories-3HjoUoaq.js → Button.stories-KDBmJ9xt.js} +1 -1
  39. package/dist/storybook/assets/{ButtonGroup.stories-GF1UFxbr.js → ButtonGroup.stories-BeWYMkDy.js} +48 -48
  40. package/dist/storybook/assets/Card.stories-BNMJ-H5I.js +556 -0
  41. package/dist/storybook/assets/{Celebrate.stories-KtFU9NEQ.js → Celebrate.stories-Cue8O4hb.js} +7 -7
  42. package/dist/storybook/assets/{Checkbox.stories-CDg2caKU.js → Checkbox.stories-DLe4npId.js} +1 -1
  43. package/dist/storybook/assets/{CircularProgress.stories-C0OdRoxU.js → CircularProgress.stories-BHB2K82M.js} +1 -1
  44. package/dist/storybook/assets/{ClipboardMixin.stories-B6gIxMuH.js → ClipboardMixin.stories-mU-JGoHp.js} +2 -2
  45. package/dist/storybook/assets/{Color-6BZIO3FS-DDAuf4ms.js → Color-6BZIO3FS-D3GAvUXG.js} +1 -1
  46. package/dist/storybook/assets/{Colors.stories-tJVgPDrl.js → Colors.stories-a83X2cLQ.js} +1 -1
  47. package/dist/storybook/assets/{CombinedEffects.stories-BwrWmInr.js → CombinedEffects.stories-sLTopxBQ.js} +1 -1
  48. package/dist/storybook/assets/{ComponentStatesMixin-B9_GeVBN.js → ComponentStatesMixin-CJ9pmXHc.js} +1 -1
  49. package/dist/storybook/assets/{ComponentStatesMixin.stories-BAn1JPCN.js → ComponentStatesMixin.stories-DSkFzAxR.js} +3 -3
  50. package/dist/storybook/assets/{CopyToClipboard.stories-YgaScv3O.js → CopyToClipboard.stories-DqMxtd4b.js} +1 -1
  51. package/dist/storybook/assets/{Debounce.stories-y-toLkyr.js → Debounce.stories-DV30whKw.js} +3 -3
  52. package/dist/storybook/assets/{DocsRenderer-LL677BLK-BUwAiHkt.js → DocsRenderer-LL677BLK-DmVtYsJx.js} +3 -3
  53. package/dist/storybook/assets/{Dropdown.stories-DAVkpuM5.js → Dropdown.stories-sCz8_Hkw.js} +3 -3
  54. package/dist/storybook/assets/{EmptyState.stories-Buexv2C4.js → EmptyState.stories-kBKfr87C.js} +15 -15
  55. package/dist/storybook/assets/{Events.stories-SjSVTFwA.js → Events.stories-BXdHEFJR.js} +1 -1
  56. package/dist/storybook/assets/{Heading.stories-F7pp5AO4.js → Heading.stories-B2XJMBD8.js} +1 -1
  57. package/dist/storybook/assets/{HueRipple.stories-Dt-QniLc.js → HueRipple.stories-BfzsAQYM.js} +1 -1
  58. package/dist/storybook/assets/{Icon.stories-Cxknci9d.js → Icon.stories--pcHe1x-.js} +7 -7
  59. package/dist/storybook/assets/{IconButton.stories-C7nbDmmd.js → IconButton.stories-dbXfrgH3.js} +1 -1
  60. package/dist/storybook/assets/{LinearProgress.stories-DgP2rsiS.js → LinearProgress.stories-CApOBX0x.js} +1 -1
  61. package/dist/storybook/assets/OnFindMixin.stories-df6ckqw3.js +300 -0
  62. package/dist/storybook/assets/{Pagination.stories-DbLKeykx.js → Pagination.stories-_MiDRipW.js} +3 -3
  63. package/dist/storybook/assets/{Popover.stories-CbmWs7x-.js → Popover.stories-9hVZFeMx.js} +18 -18
  64. package/dist/storybook/assets/{ReadyMixin-BSMJuM5x.js → ReadyMixin-HHwtCrVi.js} +1 -1
  65. package/dist/storybook/assets/{RovingTabindexMixin.stories-DPojZp67.js → RovingTabindexMixin.stories-B6MPGbVh.js} +6 -6
  66. package/dist/storybook/assets/{Rtc.stories-BF7lM0fa.js → Rtc.stories-D3tZOSkM.js} +1 -1
  67. package/dist/storybook/assets/{ScrollShadow.stories-DwVglPfj.js → ScrollShadow.stories-B1dTcJR4.js} +1 -1
  68. package/dist/storybook/assets/{Switch.stories-DjjlIvXU.js → Switch.stories-Bp-Guy3z.js} +5 -5
  69. package/dist/storybook/assets/{Tab.stories-zUdDTEwX.js → Tab.stories-Caxi7G_1.js} +1 -1
  70. package/dist/storybook/assets/{Tabs.stories-yWCAVVnG.js → Tabs.stories-g5Nb7YDi.js} +1 -1
  71. package/dist/storybook/assets/{Throttle.stories-BrcbOwZL.js → Throttle.stories-BzWv-mzN.js} +5 -5
  72. package/dist/storybook/assets/{Tooltip.stories-B4sykiPz.js → Tooltip.stories-BlaTc14X.js} +1 -1
  73. package/dist/storybook/assets/{Upload.stories-DHE43_Zz.js → Upload.stories-a9edmUmW.js} +1 -1
  74. package/dist/storybook/assets/{UploadItem.stories-jqjcXP_N.js → UploadItem.stories-BOIu5j_i.js} +1 -1
  75. package/dist/storybook/assets/{Welcome.stories-C3rGMIU7.js → Welcome.stories-D33npbIl.js} +1 -1
  76. package/dist/storybook/assets/{Widget.stories-D7rHrfAr.js → Widget.stories-D0vHPAyP.js} +12 -12
  77. package/dist/storybook/assets/{WithTooltip-65CFNBJE-CYrPgwaa.js → WithTooltip-65CFNBJE-WOhnQufs.js} +1 -1
  78. package/dist/storybook/assets/{blocks-D8JszFZh.js → blocks-B17JEOI8.js} +5 -5
  79. package/dist/storybook/assets/{formatter-EIJCOSYU-CGZPdVNG.js → formatter-EIJCOSYU-QKmiwKu7.js} +1 -1
  80. package/dist/storybook/assets/if-defined-0srVwUDm.js +1 -0
  81. package/dist/storybook/assets/iframe-BqpRijx3.js +1104 -0
  82. package/dist/storybook/assets/iframe-DfU9RLLj.css +1 -0
  83. package/dist/storybook/assets/{index-BZyp3DsT.js → index-CpksO7cK.js} +1 -1
  84. package/dist/storybook/assets/onFind-C_VPLxg8.js +1 -0
  85. package/dist/storybook/assets/{onFind.stories-BvaTMiWN.js → onFind.stories-BuZMC3tk.js} +38 -38
  86. package/dist/storybook/assets/{onRemove.stories-BPSyS2GE.js → onRemove.stories-HDkMhdmO.js} +3 -3
  87. package/dist/storybook/assets/{onVisible.stories-1lKUeGbt.js → onVisible.stories-CRCllRfN.js} +1 -1
  88. package/dist/storybook/assets/{style-map-ADugLljH.js → style-map-DukvFNCc.js} +1 -1
  89. package/dist/storybook/assets/{syntaxhighlighter-ED5Y7EFY-CBLos5mJ.js → syntaxhighlighter-ED5Y7EFY-BUo_WYvV.js} +1 -1
  90. package/dist/storybook/iframe.html +48 -2
  91. package/dist/storybook/index.json +1 -1
  92. package/dist/storybook/project.json +1 -1
  93. package/dist/tailwind-plugin-button-group.js +43 -44
  94. package/dist/tailwind-plugin-button-group.js.map +1 -1
  95. package/dist/tailwind-plugin-button-group.ts +43 -43
  96. package/dist/tailwind-plugin-button.js +22 -2
  97. package/dist/tailwind-plugin-button.js.map +1 -1
  98. package/dist/tailwind-plugin-button.ts +22 -2
  99. package/dist/tailwind-plugin-card.d.ts +2 -0
  100. package/dist/tailwind-plugin-card.d.ts.map +1 -0
  101. package/dist/tailwind-plugin-card.js +438 -0
  102. package/dist/tailwind-plugin-card.js.map +1 -0
  103. package/dist/tailwind-plugin-card.ts +515 -0
  104. package/dist/tailwind-plugin-dropdown.js +6 -2
  105. package/dist/tailwind-plugin-dropdown.js.map +1 -1
  106. package/dist/tailwind-plugin-dropdown.ts +6 -2
  107. package/dist/tailwind-plugin-pagination.js +12 -8
  108. package/dist/tailwind-plugin-pagination.js.map +1 -1
  109. package/dist/tailwind-plugin-pagination.ts +12 -8
  110. package/dist/tailwind-plugin-upload.js +3 -2
  111. package/dist/tailwind-plugin-upload.js.map +1 -1
  112. package/dist/tailwind-plugin-upload.ts +3 -2
  113. package/dist/tailwind.config.d.ts +1 -4
  114. package/dist/tailwind.config.d.ts.map +1 -1
  115. package/dist/tailwind.config.js +76 -6
  116. package/dist/tailwind.config.js.map +1 -1
  117. package/dist/tailwind.config.ts +76 -6
  118. package/dist/util/EventEmitterMixin.d.ts +1 -0
  119. package/dist/util/EventEmitterMixin.d.ts.map +1 -1
  120. package/dist/util/EventEmitterMixin.js.map +1 -1
  121. package/dist/util/OnFindMixin.d.ts +55 -0
  122. package/dist/util/OnFindMixin.d.ts.map +1 -0
  123. package/dist/util/OnFindMixin.js +70 -0
  124. package/dist/util/OnFindMixin.js.map +1 -0
  125. package/dist/util/onFind.d.ts +4 -2
  126. package/dist/util/onFind.d.ts.map +1 -1
  127. package/dist/util/onFind.js +12 -0
  128. package/dist/util/onFind.js.map +1 -1
  129. package/docs/components/ButtonGroup.md +22 -15
  130. package/docs/components/Card.md +83 -0
  131. package/docs/components/EmptyState.md +10 -6
  132. package/docs/components/README.md +1 -0
  133. package/docs/components/Widget.md +18 -14
  134. package/package.json +4 -3
  135. package/src/legacy/tool-ui/src/AIInline.css +2 -2
  136. package/src/legacy/tool-ui/src/Admin.css +2 -2
  137. package/src/legacy/tool-ui/src/Base.css +1 -1
  138. package/src/legacy/tool-ui/src/BulkUpload.css +1 -1
  139. package/src/legacy/tool-ui/src/CIGCluster.css +1 -1
  140. package/src/legacy/tool-ui/src/Card.css +1 -1
  141. package/src/legacy/tool-ui/src/CodeMirror.css +4 -4
  142. package/src/legacy/tool-ui/src/ColorInputSpectrum.css +2 -2
  143. package/src/legacy/tool-ui/src/ComboInput.css +3 -3
  144. package/src/legacy/tool-ui/src/Compat.css +6 -4
  145. package/src/legacy/tool-ui/src/ContentEdit.css +12 -12
  146. package/src/legacy/tool-ui/src/ContentEditDrawer.css +6 -6
  147. package/src/legacy/tool-ui/src/ContentInputGroup.css +1 -1
  148. package/src/legacy/tool-ui/src/ContentReporting.css +2 -2
  149. package/src/legacy/tool-ui/src/ContentSelector.css +5 -5
  150. package/src/legacy/tool-ui/src/ContentSummary.css +1 -1
  151. package/src/legacy/tool-ui/src/ContentTemplatesWidget.css +1 -1
  152. package/src/legacy/tool-ui/src/ContentTools.css +1 -1
  153. package/src/legacy/tool-ui/src/Conversation.css +2 -2
  154. package/src/legacy/tool-ui/src/Crosslinker.css +3 -3
  155. package/src/legacy/tool-ui/src/DashboardWidget.css +1 -1
  156. package/src/legacy/tool-ui/src/Dialog.css +4 -2
  157. package/src/legacy/tool-ui/src/Diff.css +1 -1
  158. package/src/legacy/tool-ui/src/Dropdown.css +2 -2
  159. package/src/legacy/tool-ui/src/Enhancement.css +1 -1
  160. package/src/legacy/tool-ui/src/FileInput.css +2 -2
  161. package/src/legacy/tool-ui/src/FormFilter.css +3 -3
  162. package/src/legacy/tool-ui/src/FullscreenView.css +4 -4
  163. package/src/legacy/tool-ui/src/Guide.css +6 -6
  164. package/src/legacy/tool-ui/src/Hierarchy.css +4 -4
  165. package/src/legacy/tool-ui/src/ImageEditor.css +13 -13
  166. package/src/legacy/tool-ui/src/LinkCarousel.css +1 -1
  167. package/src/legacy/tool-ui/src/LiveBlog.css +2 -2
  168. package/src/legacy/tool-ui/src/LocationMap.css +1 -1
  169. package/src/legacy/tool-ui/src/MailPublishing.css +1 -1
  170. package/src/legacy/tool-ui/src/MenuView.css +4 -4
  171. package/src/legacy/tool-ui/src/Message.css +1 -1
  172. package/src/legacy/tool-ui/src/Page.css +35 -16
  173. package/src/legacy/tool-ui/src/Popup.css +8 -3
  174. package/src/legacy/tool-ui/src/ProseMirror.css +1 -1
  175. package/src/legacy/tool-ui/src/ProseMirrorContainer.css +1 -1
  176. package/src/legacy/tool-ui/src/ProseMirrorEnhancementMenu.css +2 -2
  177. package/src/legacy/tool-ui/src/ProseMirrorFindReplace.css +2 -2
  178. package/src/legacy/tool-ui/src/QueryField.css +1 -1
  179. package/src/legacy/tool-ui/src/RepeatableContentInputGroup.css +1 -1
  180. package/src/legacy/tool-ui/src/RepeatableContentSelector.css +1 -1
  181. package/src/legacy/tool-ui/src/RichText.css +1 -1
  182. package/src/legacy/tool-ui/src/SearchFields.css +3 -2
  183. package/src/legacy/tool-ui/src/SearchResult.css +3 -3
  184. package/src/legacy/tool-ui/src/SearchWidget.css +1 -1
  185. package/src/legacy/tool-ui/src/SearchWidget.ts +10 -1
  186. package/src/legacy/tool-ui/src/SearchWidgetAdvanced.css +1 -1
  187. package/src/legacy/tool-ui/src/StyleEmbeddedContent.css +3 -3
  188. package/src/legacy/tool-ui/src/TabBar.css +1 -1
  189. package/src/legacy/tool-ui/src/Table.css +1 -1
  190. package/src/legacy/tool-ui/src/Taxonomy.css +4 -4
  191. package/src/legacy/tool-ui/src/ThemeBundleEditor.css +1 -1
  192. package/src/legacy/tool-ui/src/TimedContent.css +2 -2
  193. package/src/legacy/tool-ui/src/ViewWatchers.css +1 -1
  194. package/src/legacy/tool-ui/src/Widget.css +1 -1
  195. package/src/legacy/tool-ui/src/Workflow.css +3 -3
  196. package/src/legacy/tool-ui/src/main/webapp/dist/{RTEProseMirror.945bd28778b1a3e937c7.js → RTEProseMirror.e8344eaeea387c600257.js} +12 -12
  197. package/src/legacy/tool-ui/src/main/webapp/dist/{v4.c5bcef50efdfa2d2e35f.js → v4.b892feb8ec199202fd18.js} +4 -4
  198. package/src/legacy/tool-ui/src/main/webapp/dist/{v5.86effb9bf858ae7b0640.js → v5.493c3ddf65c4fa599ff0.js} +4 -4
  199. package/src/legacy/tool-ui/src/main/webapp/dist/v5.d49a759cb0b7cffd76e4.css +5 -0
  200. package/src/legacy/tool-ui/src/v5.ts +3 -1
  201. package/dist/storybook/assets/if-defined-BkzXcv-a.js +0 -1
  202. package/dist/storybook/assets/iframe-C3TUQi31.js +0 -1104
  203. package/dist/storybook/assets/iframe-D0roG0J-.css +0 -1
  204. package/dist/storybook/assets/onFind-9HPhEfV5.js +0 -1
  205. package/src/legacy/tool-ui/src/main/webapp/dist/v5.d6cc2743243cadb90492.css +0 -5
  206. /package/src/legacy/tool-ui/src/main/webapp/dist/{RTEProseMirror.945bd28778b1a3e937c7.js.LICENSE.txt → RTEProseMirror.e8344eaeea387c600257.js.LICENSE.txt} +0 -0
  207. /package/src/legacy/tool-ui/src/main/webapp/dist/{v4.c5bcef50efdfa2d2e35f.js.LICENSE.txt → v4.b892feb8ec199202fd18.js.LICENSE.txt} +0 -0
  208. /package/src/legacy/tool-ui/src/main/webapp/dist/{v5.86effb9bf858ae7b0640.js.LICENSE.txt → v5.493c3ddf65c4fa599ff0.js.LICENSE.txt} +0 -0
@@ -0,0 +1,515 @@
1
+ import plugin from 'tailwindcss/plugin'
2
+ import type { CSSRuleObject } from 'tailwindcss/types/config'
3
+ declare let module: any
4
+
5
+ /**
6
+ * Card component styling.
7
+ *
8
+ * Class Names:
9
+ *
10
+ * btu-card - Base card container
11
+ * btu-card-media - Media layout (has an <img> child)
12
+ * btu-card-text - Text layout (no <img> child)
13
+ * btu-card-compact - Compact layout (quick start icon tile; `compact` attribute)
14
+ * btu-card-link - Stretched-link anchor overlay (when href is set)
15
+ * btu-card-image - Thumbnail image container (media layout)
16
+ * btu-card-image-fallback - Circular icon placeholder shown when the image fails to load
17
+ * btu-card-icon-container - Featured icon wrapper (compact layout)
18
+ * btu-card-top - Badge + action overlay (media) or in-flow row (text)
19
+ * btu-card-badge - Container for the composed btu-badge child (top row, left side)
20
+ * btu-card-content - Title + description container
21
+ * btu-card-title-row - Title + secondary-action row
22
+ * btu-card-title - Title text
23
+ * btu-card-description - Description text with line clamp
24
+ * btu-card-action - Top-right action pseudo-slot (slot="action"; checkbox stays visible, buttons reveal on hover)
25
+ * btu-card-secondary-action - Next-to-title action pseudo-slot (slot="secondary-action"; same visibility rule)
26
+ * btu-card-fields - Pseudo-slot container for metadata fields
27
+ * btu-card-selected - Selected state
28
+ * btu-card-dropped - Dropped state (green border + background)
29
+ * btu-card-disabled - Disabled state
30
+ * btu-card-draggable - Draggable state (cursor: move, no text selection)
31
+ */
32
+
33
+ module.exports = plugin(function ({ addComponents, config, theme, matchUtilities }) {
34
+ const fontSizeSm = config('theme.fontSize.sm')?.[0] ?? '0.875rem'
35
+ const lineHeightSm = config('theme.fontSize.sm')?.[1] ?? '1.25rem'
36
+ const fontSizeXs = config('theme.fontSize.xs')?.[0] ?? '0.75rem'
37
+ const lineHeightXs = config('theme.fontSize.xs')?.[1] ?? '1.125rem'
38
+
39
+ // Color utilities for CSS custom property overrides
40
+ matchUtilities(
41
+ {
42
+ 'btu-card-background': value => ({
43
+ '--card-background': value,
44
+ }),
45
+ },
46
+ { values: theme('colors'), type: ['color', 'any'] },
47
+ )
48
+
49
+ matchUtilities(
50
+ {
51
+ 'btu-card-icon-background': value => ({
52
+ '--card-icon-background': value,
53
+ }),
54
+ },
55
+ { values: theme('colors'), type: ['color', 'any'] },
56
+ )
57
+
58
+ const components: CSSRuleObject = {
59
+ /* ─── Base ─── */
60
+ '.btu-card': {
61
+ position: 'relative',
62
+ display: 'flex',
63
+ flexDirection: 'column',
64
+ alignItems: 'stretch',
65
+ width: '100%',
66
+ minWidth: 'var(--card-min-width, 160px)',
67
+ background: 'var(--card-background, var(--btu-theme-white))',
68
+ border: 'var(--card-border, 1px solid oklch(var(--btu-theme-gray-200)))',
69
+ borderRadius: 'var(--card-radius, 8px)',
70
+ boxShadow: '0px 1px 2px 0px rgba(16, 24, 40, 0.06), 0px 1px 3px 0px rgba(16, 24, 40, 0.1)',
71
+ overflow: 'clip',
72
+ transition: 'border-color 300ms ease, background 300ms ease, box-shadow 300ms ease',
73
+
74
+ '&.btu-card-linked': {
75
+ cursor: 'pointer',
76
+ },
77
+
78
+ '&.btu-card-draggable': {
79
+ cursor: 'move',
80
+ userSelect: 'none',
81
+ },
82
+
83
+ '@media (prefers-reduced-motion: reduce)': {
84
+ transition: 'border-color 0.01ms ease, background 0.01ms ease, box-shadow 0.01ms ease',
85
+ },
86
+
87
+ /* High-contrast border */
88
+ ':root.is-moreContrast &': {
89
+ borderColor: 'oklch(var(--btu-theme-gray-400))',
90
+ },
91
+ '@media screen and (prefers-contrast: more) and (forced-colors: none)': {
92
+ ':root:not(.is-normalContrast) &': {
93
+ borderColor: 'oklch(var(--btu-theme-gray-400))',
94
+ },
95
+ },
96
+ },
97
+
98
+ /* Hover fill only when the card is interactive — navigable (href → .btu-card-link)
99
+ or draggable. A gray fill on a static card would falsely imply clickability. */
100
+
101
+ /* ─── Variant: Media ─── */
102
+ '.btu-card-media:not(.btu-card-selected):is(.btu-card-draggable, .btu-card-linked):hover .btu-card-content': {
103
+ backgroundColor: 'oklch(var(--btu-theme-gray-100))',
104
+ },
105
+
106
+ /* ─── Variant: Text ─── */
107
+ '.btu-card-text:not(.btu-card-selected):is(.btu-card-draggable, .btu-card-linked):hover': {
108
+ background: 'oklch(var(--btu-theme-gray-100))',
109
+ },
110
+
111
+ /* ─── Layout: Compact ─── */
112
+ '.btu-card-compact:not(.btu-card-selected):is(.btu-card-draggable, .btu-card-linked):hover': {
113
+ background: 'oklch(var(--btu-theme-gray-100))',
114
+ },
115
+
116
+ /* ─── Stretched Link (href overlay — makes entire card clickable & focusable) ─── */
117
+ '.btu-card-link': {
118
+ position: 'absolute',
119
+ inset: '0',
120
+ zIndex: '1',
121
+ borderRadius: 'inherit',
122
+ color: 'inherit',
123
+ textDecoration: 'none',
124
+ outline: 'none',
125
+ },
126
+
127
+ /* Suppress the global focus ring on the link itself — parent's overflow:clip would crop it */
128
+ '.btu-card-link:focus-visible': {
129
+ boxShadow: 'none',
130
+ outline: 'none',
131
+ },
132
+
133
+ /* Render the focus ring on the card so it matches button/dropdown focus styling.
134
+ Preserves the card's existing drop shadow alongside the 4px ring. The card adds
135
+ `btu-card-link-focused` when its link gains keyboard focus (see Card.ts). */
136
+ '.btu-card.btu-card-link-focused': {
137
+ '--tw-ring-opacity': '1',
138
+ '--tw-ring-color': 'oklch(var(--btu-theme-primary-100))',
139
+ '--tw-ring-offset-width': '1px',
140
+ '--tw-ring-offset-color': 'oklch(var(--btu-theme-primary-400))',
141
+ '--tw-ring-offset-shadow':
142
+ 'var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width, 0px) var(--tw-ring-offset-color, transparent)',
143
+ '--tw-ring-shadow':
144
+ 'var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width, 0px)) var(--tw-ring-color)',
145
+ boxShadow:
146
+ 'var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0px 1px 2px 0px rgba(16, 24, 40, 0.06), 0px 1px 3px 0px rgba(16, 24, 40, 0.1)',
147
+ outline: 'none',
148
+ },
149
+
150
+ /* High-contrast: ring color shifts to primary-400 (matches ring-contrast plugin behavior) */
151
+ ':root.is-moreContrast .btu-card.btu-card-link-focused': {
152
+ '--tw-ring-color': 'oklch(var(--btu-theme-primary-400))',
153
+ },
154
+ '@media screen and (prefers-contrast: more) and (forced-colors: none)': {
155
+ ':root:not(.is-normalContrast) .btu-card.btu-card-link-focused': {
156
+ '--tw-ring-color': 'oklch(var(--btu-theme-primary-400))',
157
+ },
158
+ },
159
+
160
+ /* Interactive children must sit above the link overlay to remain clickable */
161
+ '.btu-card-action, .btu-card-secondary-action, .btu-card-fields': {
162
+ position: 'relative',
163
+ zIndex: '2',
164
+ },
165
+
166
+ /* ─── Image Container ─── */
167
+ '.btu-card-image': {
168
+ position: 'relative',
169
+ display: 'flex',
170
+ alignItems: 'center',
171
+ justifyContent: 'center',
172
+ aspectRatio: 'var(--card-img-ratio, 16 / 9)',
173
+ width: '100%',
174
+ flexShrink: '0',
175
+ overflow: 'hidden',
176
+ backgroundColor: 'oklch(var(--btu-theme-gray-50))',
177
+
178
+ '& img': {
179
+ position: 'absolute',
180
+ inset: '0',
181
+ width: '100%',
182
+ height: '100%',
183
+ objectFit: 'var(--card-img-fit, contain)' as 'contain',
184
+ },
185
+ },
186
+
187
+ /* An info badge over the media image area (image or fallback) — darken its
188
+ background slightly so it stands out, unless the badge sets its own
189
+ --badge-color-background. Colored variants keep theirs. Info is the badge's
190
+ default variant, so match both the explicit and the unset (default) attribute
191
+ rather than the badge's own `.btu-badge-gray` class. */
192
+ '.btu-card-media btu-badge:not([variant]):not([style*="--badge-color-background"]), .btu-card-media btu-badge[variant="info"]:not([style*="--badge-color-background"])':
193
+ {
194
+ '--badge-color-background': 'oklch(var(--btu-theme-gray-100))',
195
+ },
196
+
197
+ /* Composed children (<img>, <btu-badge>, <btu-icon>) and slotted children
198
+ ([slot]) are relocated into the layout on upgrade. Hide any not yet moved
199
+ — a fallback icon while its image loads, or a slot with no container in the
200
+ current layout (e.g. fields on a compact card). Once relocated they're no
201
+ longer direct children of .btu-card, so this only targets un-placed strays. */
202
+ '.btu-card > img, .btu-card > btu-badge, .btu-card > btu-icon, .btu-card > [slot]': {
203
+ display: 'none',
204
+ },
205
+
206
+ /* ─── Image Fallback (circular icon placeholder) ─── */
207
+ '.btu-card-image-fallback': {
208
+ display: 'flex',
209
+ alignItems: 'center',
210
+ justifyContent: 'center',
211
+ width: '56px',
212
+ height: '56px',
213
+ borderRadius: '28px',
214
+ backgroundColor: 'var(--card-icon-background, oklch(var(--btu-theme-gray-100)))',
215
+ color: 'oklch(var(--btu-theme-gray-700))',
216
+
217
+ /* Size the composed icon to match the design (md), overriding its own size class */
218
+ '& btu-icon': {
219
+ '--icon-size': '1.25rem',
220
+ },
221
+ },
222
+
223
+ /* ─── Icon Container (compact layout) ─── */
224
+ /* The container only provides the box; the composed <btu-icon> controls its own
225
+ color (e.g. gradient="primary") or inherits currentColor. */
226
+ '.btu-card-icon-container': {
227
+ display: 'flex',
228
+ alignItems: 'center',
229
+ justifyContent: 'center',
230
+ width: '48px',
231
+ height: '48px',
232
+ flexShrink: '0',
233
+ borderRadius: '8px',
234
+ backgroundColor: 'var(--card-icon-background, oklch(var(--btu-theme-gray-100)))',
235
+
236
+ /* Size the composed icon to match the design (lg), overriding its own size class */
237
+ '& btu-icon': {
238
+ '--icon-size': '1.5rem',
239
+ },
240
+
241
+ '&:not(:last-child)': {
242
+ marginBottom: '8px',
243
+ },
244
+ },
245
+
246
+ /* ─── Card Top (badge + checkbox overlay) ─── */
247
+ '.btu-card-top': {
248
+ position: 'absolute',
249
+ top: '12px',
250
+ left: '0',
251
+ right: '0',
252
+ display: 'flex',
253
+ alignItems: 'center',
254
+ justifyContent: 'space-between',
255
+ padding: '0 1rem',
256
+ zIndex: '2',
257
+
258
+ /* Allow badge container to shrink so badge truncates at narrow widths */
259
+ '& > :first-child': {
260
+ minWidth: '0',
261
+ overflow: 'hidden',
262
+ },
263
+
264
+ '& btu-badge': {
265
+ display: 'block',
266
+ overflow: 'hidden',
267
+ textOverflow: 'ellipsis',
268
+ whiteSpace: 'nowrap',
269
+ maxWidth: '100%',
270
+ },
271
+ },
272
+
273
+ /* ─── Card Top (text variant — in flow, not absolute) ─── */
274
+ '.btu-card-text .btu-card-top': {
275
+ position: 'relative',
276
+ top: 'auto',
277
+ left: 'auto',
278
+ right: 'auto',
279
+ paddingTop: '12px',
280
+ paddingBottom: '8px',
281
+ },
282
+
283
+ /* ─── Content Container ─── */
284
+ '.btu-card-content': {
285
+ display: 'flex',
286
+ flexDirection: 'column',
287
+ alignItems: 'flex-start',
288
+ padding: `8px 1rem 12px`,
289
+ width: '100%',
290
+ flexShrink: '0',
291
+ transition: 'background-color 300ms ease',
292
+
293
+ '@media (prefers-reduced-motion: reduce)': {
294
+ transition: 'background-color 0.01ms ease',
295
+ },
296
+ },
297
+
298
+ /* Border separator for media variant content */
299
+ '.btu-card-media .btu-card-content': {
300
+ borderTop: '1px solid oklch(var(--btu-theme-gray-200))',
301
+ },
302
+
303
+ /* Text variant content — no top padding when card-top is present; spacing comes from card-top */
304
+ '.btu-card-text.btu-card-has-top .btu-card-content': {
305
+ paddingTop: '0',
306
+ },
307
+
308
+ /* Text variant content — restore top padding when there's no card-top */
309
+ '.btu-card-text:not(.btu-card-has-top) .btu-card-content': {
310
+ paddingTop: '12px',
311
+ },
312
+
313
+ /* When fields are present, content doesn't need bottom padding — fields container handles it */
314
+ '.btu-card-has-fields .btu-card-content': {
315
+ paddingBottom: '0',
316
+ },
317
+
318
+ /* Compact content — centered, no top border */
319
+ '.btu-card-compact .btu-card-content': {
320
+ padding: `12px 1rem`,
321
+ borderTop: 'none',
322
+ },
323
+
324
+ /* ─── Title Row ─── */
325
+ '.btu-card-title-row': {
326
+ display: 'flex',
327
+ alignItems: 'center',
328
+ gap: '8px',
329
+ width: '100%',
330
+
331
+ '&:not(:last-child)': {
332
+ marginBottom: '4px',
333
+ },
334
+ },
335
+
336
+ /* A title row with a secondary action drops its bottom margin (the action's row height carries it) */
337
+ '.btu-card-has-secondary-action .btu-card-title-row:not(:last-child)': {
338
+ marginBottom: '0',
339
+ },
340
+
341
+ /* ─── Title ─── */
342
+ /* Reset UA heading margins: the title renders as a semantic h1–h6, and the
343
+ distributed Card.css ships no preflight, so without this the title row
344
+ gains UA margin-block that varies by heading-level. */
345
+ '.btu-card-title': {
346
+ margin: '0',
347
+ fontSize: fontSizeSm,
348
+ lineHeight: lineHeightSm,
349
+ fontWeight: '500',
350
+ color: 'oklch(var(--btu-theme-gray-900))',
351
+ flex: '1',
352
+ minWidth: '0',
353
+ overflow: 'hidden',
354
+ textOverflow: 'ellipsis',
355
+ whiteSpace: 'nowrap',
356
+ },
357
+
358
+ /* ─── Action Slots ─── */
359
+ /* Top-right (slot="action") and next-to-title (slot="secondary-action").
360
+ A checkbox stays visible; buttons reveal on hover/focus (see below). */
361
+ /* Centered in the icon-button's 28px footprint so a button and a smaller
362
+ checkbox share the same column. The space around the checkbox is the
363
+ container (no click handler), so its hit area is unchanged. */
364
+ '.btu-card-action, .btu-card-secondary-action': {
365
+ display: 'flex',
366
+ alignItems: 'center',
367
+ justifyContent: 'center',
368
+ gap: '4px',
369
+ flexShrink: '0',
370
+ minWidth: '1.75rem',
371
+ minHeight: '1.75rem',
372
+
373
+ /* Downsize icon-buttons to xs (28px) to match card design. The button
374
+ consumes these custom properties; set them on the native <button> rather
375
+ than the foreign .btu-button class. */
376
+ '& button': {
377
+ '--button-padding-sm': '0.25rem',
378
+ '--button-size-sm': '1.75rem',
379
+ },
380
+
381
+ /* The checkbox uses `heading` as its accessible name; hide the duplicate
382
+ visible text. The checkbox renders <input>, then the box <span>, then the
383
+ optional text <span> — target the second span positionally rather than the
384
+ checkbox's own .btu-checkbox-text class. */
385
+ '& btu-checkbox > span:nth-of-type(2)': {
386
+ display: 'none',
387
+ },
388
+
389
+ /* The checkbox box (first <span>) carries a small top margin to baseline-align
390
+ with its label text; with the label hidden here that just offsets it, so
391
+ drop it and let the centering handle alignment. */
392
+ '& btu-checkbox > span:nth-of-type(1)': {
393
+ marginTop: '0',
394
+ },
395
+
396
+ '&:empty': {
397
+ display: 'none',
398
+ },
399
+ },
400
+
401
+ /* Buttons in either action slot reveal on hover/focus; checkboxes stay visible
402
+ (a checkbox renders an <input>, not a <button>, so targeting the native
403
+ <button> leaves it alone). */
404
+ '.btu-card-action button, .btu-card-secondary-action button': {
405
+ opacity: '0',
406
+ transition: 'opacity 150ms ease',
407
+
408
+ '@media (prefers-reduced-motion: reduce)': {
409
+ transition: 'opacity 0.01ms ease',
410
+ },
411
+ },
412
+
413
+ '.btu-card:hover .btu-card-action button, .btu-card:hover .btu-card-secondary-action button, .btu-card-action:focus-within button, .btu-card-secondary-action:focus-within button':
414
+ {
415
+ opacity: '1',
416
+ },
417
+
418
+ /* Compact: the single top-right action overlaid on the content area (secondary-action is ignored) */
419
+ '.btu-card-compact .btu-card-action': {
420
+ position: 'absolute',
421
+ top: '12px',
422
+ right: '1rem',
423
+ },
424
+
425
+ /* Compact: icon container darkens on hover (interactive cards only) */
426
+ '.btu-card-compact:is(.btu-card-draggable, .btu-card-linked):hover .btu-card-icon-container': {
427
+ backgroundColor: 'oklch(var(--btu-theme-gray-200))',
428
+ },
429
+
430
+ /* ─── Fields Slot (metadata area) ─── */
431
+ '.btu-card-fields': {
432
+ display: 'flex',
433
+ flexDirection: 'column',
434
+ width: '100%',
435
+ paddingTop: '8px',
436
+ paddingBottom: '12px',
437
+ fontSize: fontSizeXs,
438
+ lineHeight: lineHeightXs,
439
+
440
+ '& > * > *:not(:last-child)': {
441
+ marginBottom: '8px',
442
+ },
443
+
444
+ '&:empty': {
445
+ display: 'none',
446
+ },
447
+ },
448
+
449
+ /* ─── Description ─── */
450
+ '.btu-card-description': {
451
+ fontSize: fontSizeXs,
452
+ lineHeight: lineHeightXs,
453
+ fontWeight: '400',
454
+ color: 'oklch(var(--btu-theme-gray-500))',
455
+ width: '100%',
456
+ overflow: 'hidden',
457
+ display: '-webkit-box',
458
+ '-webkit-line-clamp': '3',
459
+ 'line-clamp': '3',
460
+ '-webkit-box-orient': 'vertical',
461
+ },
462
+
463
+ /* ─── Selected State ─── */
464
+ '.btu-card-selected': {
465
+ borderColor: 'oklch(var(--btu-theme-primary-500))',
466
+ },
467
+
468
+ '.btu-card-text.btu-card-selected': {
469
+ background: 'oklch(var(--btu-theme-primary-50))',
470
+ },
471
+
472
+ /* ─── Dropped State ─── */
473
+ '.btu-card-dropped': {
474
+ borderColor: 'oklch(var(--btu-theme-success-700))',
475
+ },
476
+
477
+ '.btu-card-media.btu-card-dropped': {
478
+ boxShadow: '4px 4px 10px 0px rgba(0, 0, 0, 0.08)',
479
+ },
480
+
481
+ '.btu-card-media.btu-card-dropped .btu-card-content': {
482
+ backgroundColor: 'oklch(var(--btu-theme-success-25))',
483
+ },
484
+
485
+ '.btu-card-text.btu-card-dropped': {
486
+ background: 'oklch(var(--btu-theme-success-25))',
487
+ },
488
+
489
+ /* ─── Disabled State ─── */
490
+ '.btu-card-disabled': {
491
+ cursor: 'default',
492
+ pointerEvents: 'none',
493
+
494
+ '& .btu-card-title': {
495
+ color: 'oklch(var(--btu-theme-gray-400))',
496
+ },
497
+ '& .btu-card-description': {
498
+ color: 'oklch(var(--btu-theme-gray-400))',
499
+ },
500
+ '& btu-badge': {
501
+ '--badge-color-foreground': 'oklch(var(--btu-theme-gray-400))',
502
+ },
503
+ /* Hide the hover-reveal buttons; a selection checkbox stays visible (but inert). */
504
+ '& .btu-card-action button, & .btu-card-secondary-action button': {
505
+ display: 'none',
506
+ },
507
+ '& .btu-card-icon-container': {
508
+ backgroundColor: 'oklch(var(--btu-theme-gray-50))',
509
+ color: 'oklch(var(--btu-theme-gray-400))',
510
+ },
511
+ },
512
+ }
513
+
514
+ addComponents(components)
515
+ })
@@ -192,8 +192,12 @@ module.exports = plugin(function ({ addComponents, config, theme }) {
192
192
  transition: 'transform 200ms ease',
193
193
  flexShrink: '0',
194
194
  },
195
- /* Icon-only trigger with chevron: override square sizing so both icons fit */
196
- '.btu-button-text-hidden:has(.btu-dropdown-chevron)': {
195
+ /* Trigger with chevron: restore auto width + gap so the icon and chevron
196
+ fit. Matches every chevron trigger, but is a no-op on labelled triggers
197
+ (`.btu-button` already defaults to width:auto/gap:0.5rem). The effective
198
+ target is icon-only triggers, where `.btu-button-text-hidden` forces a
199
+ fixed square width and gap:0 — which would otherwise clip the chevron. */
200
+ 'btu-dropdown > button:has(.btu-dropdown-chevron)': {
197
201
  width: 'auto',
198
202
  gap: '0.5rem',
199
203
  },
@@ -1 +1 @@
1
- {"version":3,"file":"tailwind-plugin-dropdown.js","sourceRoot":"","sources":["../src/tailwind-plugin-dropdown.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tailwind-plugin-dropdown.js","sourceRoot":"","sources":["../src/tailwind-plugin-dropdown.ts"],"names":[],"mappings":"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"}
@@ -215,8 +215,12 @@ module.exports = plugin(function ({ addComponents, config, theme }) {
215
215
  transition: 'transform 200ms ease',
216
216
  flexShrink: '0',
217
217
  },
218
- /* Icon-only trigger with chevron: override square sizing so both icons fit */
219
- '.btu-button-text-hidden:has(.btu-dropdown-chevron)': {
218
+ /* Trigger with chevron: restore auto width + gap so the icon and chevron
219
+ fit. Matches every chevron trigger, but is a no-op on labelled triggers
220
+ (`.btu-button` already defaults to width:auto/gap:0.5rem). The effective
221
+ target is icon-only triggers, where `.btu-button-text-hidden` forces a
222
+ fixed square width and gap:0 — which would otherwise clip the chevron. */
223
+ 'btu-dropdown > button:has(.btu-dropdown-chevron)': {
220
224
  width: 'auto',
221
225
  gap: '0.5rem',
222
226
  },
@@ -91,28 +91,31 @@ module.exports = plugin(function ({ addComponents, config }) {
91
91
  marginLeft: 'auto',
92
92
  border: '1px solid oklch(var(--btu-theme-gray-300))',
93
93
  borderRadius: '0.5rem',
94
- '& > btu-icon-button:first-of-type > .btu-button': {
94
+ '& > btu-icon-button:first-of-type > button': {
95
95
  borderTopLeftRadius: 'calc(0.5rem - 1px)',
96
96
  borderBottomLeftRadius: 'calc(0.5rem - 1px)',
97
97
  },
98
- '& > btu-icon-button:last-of-type > .btu-button': {
98
+ '& > btu-icon-button:last-of-type > button': {
99
99
  borderTopRightRadius: 'calc(0.5rem - 1px)',
100
100
  borderBottomRightRadius: 'calc(0.5rem - 1px)',
101
101
  },
102
- '& > btu-icon-button > .btu-button:focus-visible': {
102
+ '& > btu-icon-button > button:focus-visible': {
103
103
  zIndex: '1',
104
104
  outline: 'none',
105
105
  boxShadow: '0 0 0 1px oklch(var(--btu-theme-primary-400)), 0 0 0 4px oklch(var(--btu-theme-primary-100))',
106
106
  borderRadius: 'calc(0.5rem - 1px)',
107
107
  },
108
108
  },
109
- '.btu-pagination-controls > btu-icon-button > .btu-button': {
109
+ // Scoped under .btu-pagination so it beats the button plugin's :hover /
110
+ // :focus-visible rules — otherwise pagination buttons flash to the
111
+ // button's default color on interaction.
112
+ '.btu-pagination .btu-pagination-controls > btu-icon-button > button': {
110
113
  '--button-border-radius': '0',
111
114
  '--button-color': 'var(--pagination-color-background, var(--btu-theme-white, #fff))',
112
115
  '--button-text-color': 'var(--pagination-color-foreground, oklch(var(--btu-theme-gray-700)))',
113
116
  borderRight: '1px solid oklch(var(--btu-theme-gray-200))',
114
117
  },
115
- '.btu-pagination-controls > btu-icon-button:last-of-type > .btu-button': {
118
+ '.btu-pagination .btu-pagination-controls > btu-icon-button:last-of-type > button': {
116
119
  borderRight: 'none',
117
120
  },
118
121
  '.btu-pagination-jumper': {
@@ -126,13 +129,14 @@ module.exports = plugin(function ({ addComponents, config }) {
126
129
  borderRight: '1px solid oklch(var(--btu-theme-gray-200))',
127
130
  },
128
131
  },
129
- // Dropdown integration: page size changer
130
- '.btu-pagination-size-changer > btu-dropdown > .btu-button': {
132
+ // Dropdown integration: page size changer (same .btu-pagination scope as
133
+ // above so it wins over the button plugin's :hover / :focus-visible rules).
134
+ '.btu-pagination .btu-pagination-size-changer > btu-dropdown > button': {
131
135
  '--button-color': 'var(--pagination-color-background, var(--btu-theme-white, #fff))',
132
136
  '--button-text-color': 'var(--pagination-color-foreground, oklch(var(--btu-theme-gray-700)))',
133
137
  },
134
138
  // Dropdown integration: jumper (blends into button group)
135
- '.btu-pagination-jumper > btu-dropdown > .btu-button': {
139
+ '.btu-pagination .btu-pagination-jumper > btu-dropdown > button': {
136
140
  '--button-border-radius': '0',
137
141
  '--button-color': 'var(--pagination-color-background, var(--btu-theme-white, #fff))',
138
142
  '--button-text-color': 'var(--pagination-color-foreground, oklch(var(--btu-theme-gray-700)))',
@@ -1 +1 @@
1
- {"version":3,"file":"tailwind-plugin-pagination.js","sourceRoot":"","sources":["../src/tailwind-plugin-pagination.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tailwind-plugin-pagination.js","sourceRoot":"","sources":["../src/tailwind-plugin-pagination.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAA;AAGvC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE;IACzD,MAAM,WAAW,GAAG,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,UAAU,CAAA;IAClE,MAAM,WAAW,GAAG,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,SAAS,CAAA;IAEjE,aAAa,CAAC;QACZ,iBAAiB,EAAE;YACjB,OAAO,EAAE,aAAa;YACtB,UAAU,EAAE,QAAQ;YACpB,GAAG,EAAE,SAAS;YACd,QAAQ,EAAE,WAAW;YACrB,KAAK,EAAE,sEAAsE;SAC9E;QAED,wBAAwB,EAAE;YACxB,OAAO,EAAE,MAAM;SAChB;QAED,0BAA0B,EAAE;YAC1B,OAAO,EAAE,KAAK;YACd,aAAa,EAAE,MAAM;SACtB;QAED,yBAAyB,EAAE;YACzB,aAAa,EAAE,MAAM;YACrB,gCAAgC,EAAE;gBAChC,OAAO,EAAE,KAAK;aACf;YACD,yBAAyB,EAAE;gBACzB,OAAO,EAAE,KAAK;aACf;YACD,8CAA8C,EAAE;gBAC9C,OAAO,EAAE,KAAK;aACf;YACD,oDAAoD,EAAE;gBACpD,QAAQ,EAAE,UAAU;gBACpB,IAAI,EAAE,KAAK;gBACX,GAAG,EAAE,KAAK;gBACV,SAAS,EAAE,uBAAuB;gBAClC,MAAM,EAAE,GAAG;aACZ;SACF;QAED,qBAAqB,EAAE;YACrB,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,QAAQ;YACpB,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,MAAM;SACd;QAED,8BAA8B,EAAE;YAC9B,OAAO,EAAE,aAAa;YACtB,UAAU,EAAE,QAAQ;YACpB,GAAG,EAAE,QAAQ;YACb,SAAS,EAAE;gBACT,OAAO,EAAE,MAAM;aAChB;SACF;QAED,uBAAuB,EAAE;YACvB,QAAQ,EAAE,WAAW;YACrB,KAAK,EAAE,kCAAkC;YACzC,UAAU,EAAE,KAAK;YACjB,UAAU,EAAE,QAAQ;SACrB;QAED,yEAAyE;QACzE,4DAA4D,EAAE;YAC5D,UAAU,EAAE,MAAM;SACnB;QAED,0BAA0B,EAAE;YAC1B,QAAQ,EAAE,UAAU;YACpB,OAAO,EAAE,aAAa;YACtB,UAAU,EAAE,QAAQ;YACpB,UAAU,EAAE,MAAM;YAClB,MAAM,EAAE,4CAA4C;YACpD,YAAY,EAAE,QAAQ;YACtB,4CAA4C,EAAE;gBAC5C,mBAAmB,EAAE,oBAAoB;gBACzC,sBAAsB,EAAE,oBAAoB;aAC7C;YACD,2CAA2C,EAAE;gBAC3C,oBAAoB,EAAE,oBAAoB;gBAC1C,uBAAuB,EAAE,oBAAoB;aAC9C;YACD,4CAA4C,EAAE;gBAC5C,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,MAAM;gBACf,SAAS,EAAE,8FAA8F;gBACzG,YAAY,EAAE,oBAAoB;aACnC;SACF;QAED,wEAAwE;QACxE,mEAAmE;QACnE,yCAAyC;QACzC,qEAAqE,EAAE;YACrE,wBAAwB,EAAE,GAAG;YAC7B,gBAAgB,EAAE,kEAAkE;YACpF,qBAAqB,EAAE,sEAAsE;YAC7F,WAAW,EAAE,4CAA4C;SAC1D;QAED,kFAAkF,EAAE;YAClF,WAAW,EAAE,MAAM;SACpB;QAED,wBAAwB,EAAE;YACxB,OAAO,EAAE,aAAa;YACtB,UAAU,EAAE,QAAQ;YACpB,UAAU,EAAE,kEAAkE;YAC9E,SAAS,EAAE;gBACT,OAAO,EAAE,MAAM;aAChB;YACD,eAAe,EAAE;gBACf,WAAW,EAAE,4CAA4C;aAC1D;SACF;QAED,yEAAyE;QACzE,4EAA4E;QAC5E,sEAAsE,EAAE;YACtE,gBAAgB,EAAE,kEAAkE;YACpF,qBAAqB,EAAE,sEAAsE;SAC9F;QAED,0DAA0D;QAC1D,gEAAgE,EAAE;YAChE,wBAAwB,EAAE,GAAG;YAC7B,gBAAgB,EAAE,kEAAkE;YACpF,qBAAqB,EAAE,sEAAsE;SAC9F;KACF,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}