@flamingo-stack/openframe-frontend-core 0.0.703 → 0.0.704-snapshot.20261006133653

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 (336) hide show
  1. package/dist/{chunk-3L7KCOGO.cjs → chunk-2QEUFXNS.cjs} +30 -30
  2. package/dist/{chunk-BMJUKS6S.cjs → chunk-3256UJXS.cjs} +47 -47
  3. package/dist/{chunk-GZYLZ4MB.js → chunk-4S7TJYRQ.js} +3 -3
  4. package/dist/{chunk-ENGBNKUJ.js → chunk-5EFZO5EB.js} +675 -569
  5. package/dist/{chunk-TCZCMD5Q.js → chunk-5HBHO5TB.js} +1 -1
  6. package/dist/{chunk-BOUPNYUV.js → chunk-64HOMVYC.js} +5 -5
  7. package/dist/{chunk-YR6JPJF4.js → chunk-6XIF2Z7I.js} +4 -4
  8. package/dist/{chunk-NU724ZVN.cjs → chunk-7GHB2IK6.cjs} +121 -121
  9. package/dist/{chunk-GX3OUTFO.cjs → chunk-7ZYIC7NA.cjs} +69 -55
  10. package/dist/{chunk-53AC23ZN.js → chunk-A6WVQKOZ.js} +24 -24
  11. package/dist/{chunk-4OGAXAEG.cjs → chunk-ABU3TGXA.cjs} +3 -3
  12. package/dist/{chunk-RTXTGLGB.cjs → chunk-ACV4DFQ3.cjs} +4 -4
  13. package/dist/{chunk-RLDAYA2A.cjs → chunk-BH6PJP66.cjs} +29 -29
  14. package/dist/{chunk-BRXOGCH3.cjs → chunk-BIZNSF3U.cjs} +3 -3
  15. package/dist/{chunk-2A4XES7R.cjs → chunk-BM5MVGH3.cjs} +3 -3
  16. package/dist/{chunk-6YCXA7CN.js → chunk-CH5232HV.js} +20 -19
  17. package/dist/{chunk-UIBSSVON.cjs → chunk-D7BTSVMS.cjs} +2 -2
  18. package/dist/{chunk-YBGEPKC2.cjs → chunk-F7Y2ZS5U.cjs} +6 -6
  19. package/dist/{chunk-5V6O73EH.js → chunk-FLKJYMVB.js} +3 -3
  20. package/dist/{chunk-NMGX2ZTU.js → chunk-IFUQVZF4.js} +17 -17
  21. package/dist/{chunk-2NE3DNXY.js → chunk-IKCQK67U.js} +2 -2
  22. package/dist/{chunk-KFDP3DUL.cjs → chunk-IXPUM3AW.cjs} +98 -98
  23. package/dist/{chunk-QGTDWFT6.js → chunk-IZHZMBIX.js} +2469 -1928
  24. package/dist/{chunk-67CXGPTW.cjs → chunk-JKEEFQOX.cjs} +505 -72
  25. package/dist/{chunk-NYSYSKSH.cjs → chunk-M6HTJTFH.cjs} +15 -15
  26. package/dist/{chunk-OGLCD3UL.js → chunk-MFFCUVWG.js} +6 -6
  27. package/dist/{chunk-KJ5LWATV.js → chunk-MKXO4Q5P.js} +7 -7
  28. package/dist/{chunk-EMCQGFXD.cjs → chunk-MMOODW57.cjs} +28 -27
  29. package/dist/{chunk-Q76ZTHNV.js → chunk-MP2C3LJ4.js} +1 -1
  30. package/dist/{chunk-J4K5JOLI.js → chunk-MV4HYG3B.js} +25 -11
  31. package/dist/{chunk-2T6QWNXU.js → chunk-NDESEPW5.js} +99 -11
  32. package/dist/{chunk-HHFPQNP3.js → chunk-NJDHFC55.js} +15 -15
  33. package/dist/{chunk-HUOLB7ZN.cjs → chunk-OHFS7VOU.cjs} +9 -9
  34. package/dist/{chunk-7632TNE7.js → chunk-OSNIZNVH.js} +7 -7
  35. package/dist/{chunk-UTW4SQDI.js → chunk-OUHMD6EU.js} +10 -10
  36. package/dist/{chunk-MXHJROXJ.cjs → chunk-P23CRLU4.cjs} +1245 -1139
  37. package/dist/{chunk-64O4L7WN.js → chunk-PDWVPI3S.js} +11 -55
  38. package/dist/{chunk-DAW6TDZB.js → chunk-PFC2HWQA.js} +30 -16
  39. package/dist/{chunk-G55W76S6.js → chunk-POZ7F77D.js} +12 -13
  40. package/dist/{chunk-PJP5SMOU.js → chunk-PPEZGUL7.js} +500 -67
  41. package/dist/{chunk-SFGXIFYO.cjs → chunk-QC7Q3XCE.cjs} +24 -24
  42. package/dist/{chunk-MDBHZBW7.cjs → chunk-RKV5B7EU.cjs} +92 -4
  43. package/dist/{chunk-5VPIC5MD.cjs → chunk-SAAZEWUR.cjs} +12 -12
  44. package/dist/{chunk-IIMICN7L.cjs → chunk-TYWLNCNH.cjs} +4 -48
  45. package/dist/{chunk-HYLIQMZH.cjs → chunk-UBP5RNGK.cjs} +33 -33
  46. package/dist/{chunk-HUMWQMCU.js → chunk-UT4YHQZW.js} +3 -3
  47. package/dist/{chunk-BSEIEWM5.cjs → chunk-V3H26CNS.cjs} +28 -14
  48. package/dist/{chunk-NGJCWEYX.cjs → chunk-VHCACDKP.cjs} +46 -46
  49. package/dist/{chunk-SL2FOFT2.js → chunk-VMAZCLX4.js} +7 -7
  50. package/dist/{chunk-5FFNNJM7.js → chunk-VR2ZLFCP.js} +1 -1
  51. package/dist/{chunk-NCTYD7HL.js → chunk-VYWMEL5F.js} +14 -14
  52. package/dist/{chunk-HY5YL3U5.cjs → chunk-XBWE423R.cjs} +1994 -1453
  53. package/dist/{chunk-XCIFHW4E.cjs → chunk-XOYH2YQE.cjs} +2 -2
  54. package/dist/{chunk-S6V7A5FS.cjs → chunk-ZQZFIE2K.cjs} +32 -33
  55. package/dist/components/case-studies/index.cjs +24 -24
  56. package/dist/components/case-studies/index.js +10 -10
  57. package/dist/components/chat/chat-archive-page.d.ts +3 -3
  58. package/dist/components/chat/chat-archive-page.d.ts.map +1 -1
  59. package/dist/components/chat/chat-input.d.ts.map +1 -1
  60. package/dist/components/chat/chat-nav-sidebar.d.ts +4 -0
  61. package/dist/components/chat/chat-nav-sidebar.d.ts.map +1 -1
  62. package/dist/components/chat/chat-panel-header.d.ts +3 -2
  63. package/dist/components/chat/chat-panel-header.d.ts.map +1 -1
  64. package/dist/components/chat/embeddable-chat.d.ts +36 -2
  65. package/dist/components/chat/embeddable-chat.d.ts.map +1 -1
  66. package/dist/components/chat/index.cjs +14 -6
  67. package/dist/components/chat/index.d.ts +4 -1
  68. package/dist/components/chat/index.d.ts.map +1 -1
  69. package/dist/components/chat/index.js +13 -5
  70. package/dist/components/chat/mingo-archive-list.d.ts +17 -0
  71. package/dist/components/chat/mingo-archive-list.d.ts.map +1 -0
  72. package/dist/components/chat/mingo-chat-header.d.ts +31 -0
  73. package/dist/components/chat/mingo-chat-header.d.ts.map +1 -0
  74. package/dist/components/chat/mingo-chat-rail.d.ts +54 -0
  75. package/dist/components/chat/mingo-chat-rail.d.ts.map +1 -0
  76. package/dist/components/chat/model-display.d.ts.map +1 -1
  77. package/dist/components/contact/contact-form.d.ts.map +1 -1
  78. package/dist/components/contact/index.cjs +11 -11
  79. package/dist/components/contact/index.js +10 -10
  80. package/dist/components/content-loading-container.d.ts +1 -1
  81. package/dist/components/content-loading-container.d.ts.map +1 -1
  82. package/dist/components/docs/index.cjs +14 -14
  83. package/dist/components/docs/index.js +13 -13
  84. package/dist/components/docs/skeletons.d.ts.map +1 -1
  85. package/dist/components/embeds/index.cjs +11 -11
  86. package/dist/components/embeds/index.js +10 -10
  87. package/dist/components/faq/index.cjs +12 -12
  88. package/dist/components/faq/index.js +11 -11
  89. package/dist/components/features/figma-prototype-viewer.d.ts.map +1 -1
  90. package/dist/components/features/index.cjs +10 -10
  91. package/dist/components/features/index.js +9 -9
  92. package/dist/components/features/media-gallery-manager.d.ts.map +1 -1
  93. package/dist/components/features/parallax-image-showcase.d.ts.map +1 -1
  94. package/dist/components/features/policy-configuration-panel.d.ts.map +1 -1
  95. package/dist/components/features/section-selector.d.ts.map +1 -1
  96. package/dist/components/help-center-pages/index.cjs +119 -119
  97. package/dist/components/help-center-pages/index.js +39 -39
  98. package/dist/components/help-center-pages/trust-center-sections.d.ts +2 -2
  99. package/dist/components/help-center-pages/trust-center-sections.d.ts.map +1 -1
  100. package/dist/components/index.cjs +94 -86
  101. package/dist/components/index.js +32 -24
  102. package/dist/components/layout/article-detail-layout.d.ts +1 -1
  103. package/dist/components/layout/article-detail-layout.d.ts.map +1 -1
  104. package/dist/components/layout/page-container.d.ts.map +1 -1
  105. package/dist/components/layout/title-block.d.ts +2 -2
  106. package/dist/components/layout/title-block.d.ts.map +1 -1
  107. package/dist/components/loading/page-layout-skeleton.d.ts.map +1 -1
  108. package/dist/components/loading/unified-skeleton.d.ts.map +1 -1
  109. package/dist/components/meeting-scheduler/booking-form.d.ts +4 -4
  110. package/dist/components/meeting-scheduler/booking-form.d.ts.map +1 -1
  111. package/dist/components/meeting-scheduler/context-panel.d.ts.map +1 -1
  112. package/dist/components/meeting-scheduler/index.cjs +127 -127
  113. package/dist/components/meeting-scheduler/index.d.ts +2 -2
  114. package/dist/components/meeting-scheduler/index.d.ts.map +1 -1
  115. package/dist/components/meeting-scheduler/index.js +50 -50
  116. package/dist/components/navigation/app-header.d.ts +4 -0
  117. package/dist/components/navigation/app-header.d.ts.map +1 -1
  118. package/dist/components/navigation/app-layout-side-panel.d.ts +142 -0
  119. package/dist/components/navigation/app-layout-side-panel.d.ts.map +1 -0
  120. package/dist/components/navigation/app-layout.d.ts +11 -1
  121. package/dist/components/navigation/app-layout.d.ts.map +1 -1
  122. package/dist/components/navigation/header-mingo-button.d.ts +4 -1
  123. package/dist/components/navigation/header-mingo-button.d.ts.map +1 -1
  124. package/dist/components/navigation/index.cjs +13 -13
  125. package/dist/components/navigation/index.d.ts +1 -0
  126. package/dist/components/navigation/index.d.ts.map +1 -1
  127. package/dist/components/navigation/index.js +12 -12
  128. package/dist/components/navigation/navigation-sidebar.d.ts +8 -1
  129. package/dist/components/navigation/navigation-sidebar.d.ts.map +1 -1
  130. package/dist/components/navigation/sliding-sidebar.d.ts.map +1 -1
  131. package/dist/components/onboarding-guides/index.cjs +14 -14
  132. package/dist/components/onboarding-guides/index.js +13 -13
  133. package/dist/components/persistent-filter-controls.d.ts.map +1 -1
  134. package/dist/components/related-content/index.cjs +7 -7
  135. package/dist/components/related-content/index.js +6 -6
  136. package/dist/components/shared/detail-page-skeleton.d.ts.map +1 -1
  137. package/dist/components/tickets/help-center-create-form.d.ts +4 -4
  138. package/dist/components/tickets/index.cjs +15 -15
  139. package/dist/components/tickets/index.js +14 -14
  140. package/dist/components/ui/announcement-bar-view.d.ts.map +1 -1
  141. package/dist/components/ui/breadcrumb.d.ts.map +1 -1
  142. package/dist/components/ui/checkbox-block.d.ts.map +1 -1
  143. package/dist/components/ui/dashboard-info-card.d.ts +1 -1
  144. package/dist/components/ui/dashboard-info-card.d.ts.map +1 -1
  145. package/dist/components/ui/data-table/data-table-body.d.ts +2 -2
  146. package/dist/components/ui/data-table/data-table-skeleton.d.ts +2 -2
  147. package/dist/components/ui/data-table/data-table-skeleton.d.ts.map +1 -1
  148. package/dist/components/ui/data-table/utils.d.ts +2 -2
  149. package/dist/components/ui/dialog.d.ts.map +1 -1
  150. package/dist/components/ui/drawer.d.ts.map +1 -1
  151. package/dist/components/ui/entity-image.d.ts +2 -2
  152. package/dist/components/ui/file-manager/index.cjs +36 -36
  153. package/dist/components/ui/file-manager/index.js +3 -3
  154. package/dist/components/ui/filter-modal.d.ts.map +1 -1
  155. package/dist/components/ui/index.cjs +18 -10
  156. package/dist/components/ui/index.js +17 -9
  157. package/dist/components/ui/info-card-row.d.ts.map +1 -1
  158. package/dist/components/ui/menubar.d.ts +1 -1
  159. package/dist/components/ui/menubar.d.ts.map +1 -1
  160. package/dist/components/ui/modal-v2.d.ts.map +1 -1
  161. package/dist/components/ui/modal.d.ts.map +1 -1
  162. package/dist/components/ui/no-data/no-data-actions.d.ts.map +1 -1
  163. package/dist/components/ui/no-data/no-data-styles.d.ts +1 -1
  164. package/dist/components/ui/no-data/no-data-styles.d.ts.map +1 -1
  165. package/dist/components/ui/page-actions.d.ts.map +1 -1
  166. package/dist/components/ui/sheet.d.ts.map +1 -1
  167. package/dist/components/ui/table/table-skeleton.d.ts +1 -1
  168. package/dist/components/ui/table/table-skeleton.d.ts.map +1 -1
  169. package/dist/hooks/index.cjs +23 -9
  170. package/dist/hooks/index.js +24 -10
  171. package/dist/hooks/ui/index.d.ts +1 -0
  172. package/dist/hooks/ui/index.d.ts.map +1 -1
  173. package/dist/hooks/ui/use-content-breakpoint.d.ts +32 -0
  174. package/dist/hooks/ui/use-content-breakpoint.d.ts.map +1 -0
  175. package/dist/hooks/ui/use-isomorphic-layout-effect.d.ts +2 -2
  176. package/dist/hooks/ui/use-isomorphic-layout-effect.d.ts.map +1 -1
  177. package/dist/hooks/ui/use-media-query.d.ts.map +1 -1
  178. package/dist/index.cjs +39 -17
  179. package/dist/index.js +41 -19
  180. package/dist/styles/layout-steps.d.ts +30 -0
  181. package/dist/styles/layout-steps.d.ts.map +1 -0
  182. package/dist/tailwind.config.cjs +36 -11
  183. package/dist/tailwind.config.js +36 -11
  184. package/eslint-config/README.md +9 -0
  185. package/eslint-config/base.js +17 -1
  186. package/eslint-config/layout-variants.js +57 -0
  187. package/package.json +3 -1
  188. package/src/ODS_TOKEN_RULES.md +40 -0
  189. package/src/components/chat/chat-archive-page.tsx +9 -7
  190. package/src/components/chat/chat-input.tsx +5 -1
  191. package/src/components/chat/chat-nav-sidebar.tsx +10 -4
  192. package/src/components/chat/chat-panel-header.tsx +8 -5
  193. package/src/components/chat/embeddable-chat.tsx +675 -485
  194. package/src/components/chat/index.ts +4 -0
  195. package/src/components/chat/mingo-archive-list.tsx +108 -0
  196. package/src/components/chat/mingo-chat-header.tsx +104 -0
  197. package/src/components/chat/mingo-chat-rail.tsx +361 -0
  198. package/src/components/chat/model-display.tsx +8 -1
  199. package/src/components/contact/contact-form.tsx +11 -9
  200. package/src/components/content-loading-container.tsx +4 -2
  201. package/src/components/docs/doc-viewer.tsx +7 -7
  202. package/src/components/docs/skeletons.tsx +7 -4
  203. package/src/components/dynamic-skeleton.tsx +1 -1
  204. package/src/components/embeds/claude-embed.tsx +1 -1
  205. package/src/components/embeds/embed-viewer-frame.tsx +4 -4
  206. package/src/components/embeds/figma-embed.tsx +2 -2
  207. package/src/components/embeds/google-sheets-viewer.tsx +1 -1
  208. package/src/components/embeds/pdf-viewer.tsx +3 -3
  209. package/src/components/empty-state.tsx +6 -6
  210. package/src/components/faq/faq-section.tsx +2 -2
  211. package/src/components/faq-accordion.tsx +1 -1
  212. package/src/components/features/board/board-column-header.tsx +1 -1
  213. package/src/components/features/command-box.tsx +3 -3
  214. package/src/components/features/entity-video-section.tsx +2 -2
  215. package/src/components/features/figma-prototype-viewer.tsx +4 -1
  216. package/src/components/features/media-gallery-manager.tsx +3 -1
  217. package/src/components/features/parallax-image-showcase.tsx +9 -6
  218. package/src/components/features/policy-configuration-panel.tsx +9 -7
  219. package/src/components/features/provider-button.tsx +1 -1
  220. package/src/components/features/section-selector.tsx +11 -6
  221. package/src/components/features/select-button.tsx +4 -4
  222. package/src/components/features/seo-editor-preview.tsx +2 -2
  223. package/src/components/features/video-ratio-tabs.tsx +3 -3
  224. package/src/components/features/waitlist-form.tsx +1 -1
  225. package/src/components/help-center-pages/trust-center-page.tsx +1 -1
  226. package/src/components/help-center-pages/trust-center-sections.tsx +14 -14
  227. package/src/components/icon-display.tsx +1 -1
  228. package/src/components/layout/article-detail-layout.tsx +4 -2
  229. package/src/components/layout/list-page-layout.tsx +2 -2
  230. package/src/components/layout/page-container.tsx +26 -14
  231. package/src/components/layout/page-heading.tsx +1 -1
  232. package/src/components/layout/page-layout.tsx +1 -1
  233. package/src/components/layout/title-block.tsx +13 -13
  234. package/src/components/loading/card-skeleton.tsx +11 -11
  235. package/src/components/loading/category-vendor-selector-skeleton.tsx +1 -1
  236. package/src/components/loading/content-skeleton.tsx +6 -6
  237. package/src/components/loading/device-card-skeleton.tsx +1 -1
  238. package/src/components/loading/margin-report-skeleton.tsx +7 -7
  239. package/src/components/loading/msp-profile-form-skeleton.tsx +3 -3
  240. package/src/components/loading/organization-card-skeleton.tsx +2 -2
  241. package/src/components/loading/page-layout-skeleton.tsx +80 -68
  242. package/src/components/loading/unified-skeleton.tsx +16 -6
  243. package/src/components/media-carousel.tsx +3 -3
  244. package/src/components/meeting-scheduler/booking-form.tsx +9 -8
  245. package/src/components/meeting-scheduler/context-panel.tsx +8 -6
  246. package/src/components/meeting-scheduler/directory.tsx +4 -4
  247. package/src/components/meeting-scheduler/index.tsx +15 -15
  248. package/src/components/meeting-scheduler/slot-picker.tsx +12 -12
  249. package/src/components/navigation/app-header.tsx +6 -0
  250. package/src/components/navigation/app-layout-side-panel.tsx +594 -0
  251. package/src/components/navigation/app-layout.tsx +69 -4
  252. package/src/components/navigation/header-mingo-button.tsx +13 -3
  253. package/src/components/navigation/index.ts +5 -0
  254. package/src/components/navigation/navigation-sidebar.tsx +17 -3
  255. package/src/components/navigation/sliding-sidebar.tsx +2 -1
  256. package/src/components/pagination.tsx +3 -3
  257. package/src/components/persistent-filter-controls.tsx +6 -2
  258. package/src/components/platform/ScriptArguments.tsx +1 -1
  259. package/src/components/platform/ScriptInfoSection.tsx +4 -4
  260. package/src/components/platform/SoftwareSourceBadge.tsx +1 -1
  261. package/src/components/shared/article-author-byline.tsx +1 -1
  262. package/src/components/shared/delivery/delivery-lists.tsx +2 -2
  263. package/src/components/shared/delivery/delivery-row.tsx +7 -7
  264. package/src/components/shared/delivery/delivery-table.tsx +3 -3
  265. package/src/components/shared/detail-page-skeleton.tsx +11 -5
  266. package/src/components/shared/dev-section/dev-card-row.tsx +6 -6
  267. package/src/components/shared/dev-section/dev-section-view.tsx +1 -1
  268. package/src/components/shared/product-release/product-release-card-skeleton.tsx +8 -8
  269. package/src/components/shared/product-release/product-release-card.tsx +9 -9
  270. package/src/components/shared/product-release/product-releases-view.tsx +1 -1
  271. package/src/components/shared/product-release/release-detail-page.tsx +5 -5
  272. package/src/components/shared/roadmap/roadmap-grid-skeleton.tsx +1 -1
  273. package/src/components/shared/roadmap/roadmap-grid.tsx +3 -3
  274. package/src/components/tickets/help-center-card.tsx +1 -1
  275. package/src/components/tickets/help-center-create-form.tsx +12 -12
  276. package/src/components/ui/announcement-bar-view.tsx +2 -10
  277. package/src/components/ui/benefit-card.tsx +18 -18
  278. package/src/components/ui/brand-association-grid.tsx +4 -4
  279. package/src/components/ui/breadcrumb.tsx +4 -1
  280. package/src/components/ui/card.tsx +1 -1
  281. package/src/components/ui/checkbox-block.tsx +9 -7
  282. package/src/components/ui/content-loader.tsx +3 -3
  283. package/src/components/ui/cursor-pagination.tsx +3 -3
  284. package/src/components/ui/dashboard-info-card.tsx +13 -9
  285. package/src/components/ui/data-attribution.tsx +2 -2
  286. package/src/components/ui/data-table/data-table-body.tsx +2 -2
  287. package/src/components/ui/data-table/data-table-header.tsx +15 -15
  288. package/src/components/ui/data-table/data-table-skeleton.tsx +6 -6
  289. package/src/components/ui/data-table/utils.ts +5 -5
  290. package/src/components/ui/dialog.tsx +4 -1
  291. package/src/components/ui/drawer.tsx +2 -1
  292. package/src/components/ui/duration-input.tsx +1 -1
  293. package/src/components/ui/entity-image.tsx +3 -3
  294. package/src/components/ui/feature-card.tsx +10 -10
  295. package/src/components/ui/file-manager/file-manager-action-bar.tsx +1 -1
  296. package/src/components/ui/file-manager/file-manager.tsx +1 -1
  297. package/src/components/ui/filter-modal.tsx +8 -1
  298. package/src/components/ui/highlight-card.tsx +7 -7
  299. package/src/components/ui/info-card-row.tsx +10 -6
  300. package/src/components/ui/modal-v2.tsx +7 -2
  301. package/src/components/ui/modal.tsx +3 -2
  302. package/src/components/ui/no-data/no-data-actions.tsx +10 -4
  303. package/src/components/ui/no-data/no-data-styles.ts +1 -1
  304. package/src/components/ui/no-data/no-data.tsx +1 -1
  305. package/src/components/ui/organization-card.tsx +1 -1
  306. package/src/components/ui/page-actions.tsx +34 -5
  307. package/src/components/ui/progress-bar.tsx +2 -2
  308. package/src/components/ui/query-report-table/query-report-table.tsx +1 -1
  309. package/src/components/ui/search-input.tsx +2 -2
  310. package/src/components/ui/service-card.tsx +2 -2
  311. package/src/components/ui/sheet.tsx +2 -1
  312. package/src/components/ui/skeleton.tsx +3 -3
  313. package/src/components/ui/stacked-rows-panel.tsx +4 -4
  314. package/src/components/ui/tab-navigation.tsx +2 -2
  315. package/src/components/ui/tab-selector.tsx +2 -2
  316. package/src/components/ui/table/table-header.tsx +3 -3
  317. package/src/components/ui/table/table-skeleton.tsx +3 -3
  318. package/src/components/ui/table/utils.ts +5 -5
  319. package/src/components/ui/tag-search-input.tsx +3 -3
  320. package/src/components/ui/tags-manager.tsx +5 -5
  321. package/src/components/ui/test-run.tsx +2 -2
  322. package/src/components/ui/ticket-info-section.tsx +1 -1
  323. package/src/components/ui/ticket-notes-section.tsx +1 -1
  324. package/src/components/ui/ticket-status-config-row.tsx +15 -15
  325. package/src/hooks/ui/index.ts +1 -0
  326. package/src/hooks/ui/use-content-breakpoint.ts +58 -0
  327. package/src/hooks/ui/use-media-query.ts +3 -2
  328. package/src/styles/app-globals.css +13 -0
  329. package/src/styles/index.css +2 -0
  330. package/src/styles/layout-steps.ts +14 -0
  331. package/src/styles/ods-colors.css +15 -0
  332. package/src/styles/ods-content-area-tokens.css +27 -0
  333. package/src/styles/ods-content-area.css +31 -0
  334. package/src/styles/ods-effects.css +4 -2
  335. package/src/styles/ods-responsive-tokens.css +14 -4
  336. package/tailwind.config.ts +42 -7
@@ -125,7 +125,7 @@ export type SchedulerStage = Step | 'unavailable';
125
125
  * video take the leftover space at 16:9; a stand-in that just stacks fixed
126
126
  * blocks will overflow the shorter of the two.
127
127
  */
128
- export declare const MEETING_SCHEDULER_H = "md:h-[34.375rem] lg:h-[23.75rem]";
128
+ export declare const MEETING_SCHEDULER_H = "content-md:h-[34.375rem] content-lg:h-[23.75rem]";
129
129
  /**
130
130
  * The box for `flow="details-first"`'s CALENDAR and confirmation stages (and its
131
131
  * degraded stand-in), 638px from `md` (`4904:118213`), 812px on phones (the
@@ -141,7 +141,7 @@ export declare const MEETING_SCHEDULER_H = "md:h-[34.375rem] lg:h-[23.75rem]";
141
141
  *
142
142
  * Hosts read it through `SCHEDULER_FLOW_PRESETS[flow].height`, never directly.
143
143
  */
144
- export declare const MEETING_SCHEDULER_DETAILS_FIRST_H = "h-[50.75rem] md:h-[39.875rem]";
144
+ export declare const MEETING_SCHEDULER_DETAILS_FIRST_H = "h-[50.75rem] content-md:h-[39.875rem]";
145
145
  export type SchedulerFlow = 'slot-first' | 'details-first';
146
146
  /** The flow every existing embed gets — the ONE spelling of the default. */
147
147
  export declare const DEFAULT_SCHEDULER_FLOW: SchedulerFlow;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/meeting-scheduler/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/meeting-scheduler/index.tsx"],"names":[],"mappings":"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"}
@@ -2,10 +2,10 @@
2
2
  "use client";
3
3
  import {
4
4
  PersistentPaginationWrapper
5
- } from "../../chunk-TCZCMD5Q.js";
5
+ } from "../../chunk-5HBHO5TB.js";
6
6
  import {
7
7
  EmptyState
8
- } from "../../chunk-OGLCD3UL.js";
8
+ } from "../../chunk-MFFCUVWG.js";
9
9
  import {
10
10
  Alert,
11
11
  AlertDescription,
@@ -24,7 +24,7 @@ import {
24
24
  SelectValue,
25
25
  Textarea,
26
26
  TimezoneSelect
27
- } from "../../chunk-ENGBNKUJ.js";
27
+ } from "../../chunk-5EFZO5EB.js";
28
28
  import "../../chunk-LQYXMEYF.js";
29
29
  import "../../chunk-4JPLYOS6.js";
30
30
  import {
@@ -33,20 +33,20 @@ import {
33
33
  useHumanitySignals,
34
34
  useRescuedForm,
35
35
  useToast
36
- } from "../../chunk-KJ5LWATV.js";
36
+ } from "../../chunk-MKXO4Q5P.js";
37
37
  import "../../chunk-HFL2F4RM.js";
38
- import "../../chunk-HUMWQMCU.js";
38
+ import "../../chunk-UT4YHQZW.js";
39
39
  import {
40
40
  contentFetch,
41
41
  pageCount
42
- } from "../../chunk-Q76ZTHNV.js";
42
+ } from "../../chunk-MP2C3LJ4.js";
43
43
  import {
44
44
  Checkbox
45
45
  } from "../../chunk-PLWMIU72.js";
46
46
  import {
47
47
  useIsHydrated
48
- } from "../../chunk-QGTDWFT6.js";
49
- import "../../chunk-64O4L7WN.js";
48
+ } from "../../chunk-IZHZMBIX.js";
49
+ import "../../chunk-PDWVPI3S.js";
50
50
  import "../../chunk-GY4IZG22.js";
51
51
  import "../../chunk-2YXVWZVF.js";
52
52
  import "../../chunk-Z2VNQQ74.js";
@@ -59,9 +59,9 @@ import {
59
59
  formatDateWithTimezone,
60
60
  formatDurationCompact,
61
61
  formatTimeWithTimezone
62
- } from "../../chunk-6YCXA7CN.js";
62
+ } from "../../chunk-CH5232HV.js";
63
63
  import "../../chunk-FBZMAPWO.js";
64
- import "../../chunk-2T6QWNXU.js";
64
+ import "../../chunk-NDESEPW5.js";
65
65
  import "../../chunk-O43V3EOS.js";
66
66
  import "../../chunk-LMBC5FFP.js";
67
67
  import "../../chunk-E4ABZWTJ.js";
@@ -70,7 +70,7 @@ import {
70
70
  Input,
71
71
  Label,
72
72
  Skeleton
73
- } from "../../chunk-5V6O73EH.js";
73
+ } from "../../chunk-FLKJYMVB.js";
74
74
  import "../../chunk-INS7KZJB.js";
75
75
  import {
76
76
  Button
@@ -442,20 +442,20 @@ import { Fragment, useEffect, useMemo, useState as useState2 } from "react";
442
442
  import { useForm, Controller } from "react-hook-form";
443
443
  import { Fragment as Fragment2, jsx, jsxs } from "react/jsx-runtime";
444
444
  var FORM_STACK = "flex flex-col gap-[var(--spacing-system-l)]";
445
- var ROW_GRID = "grid grid-cols-2 gap-x-[var(--spacing-system-m)] gap-y-[var(--spacing-system-lf)] md:grid-cols-4";
445
+ var ROW_GRID = "grid grid-cols-2 gap-x-[var(--spacing-system-m)] gap-y-[var(--spacing-system-lf)] content-md:grid-cols-4";
446
446
  var HOST_CONSENT_KEY = "hostConsent";
447
447
  var GRID_COLUMNS = 4;
448
448
  var SPAN_CLASS = {
449
- 1: "md:col-span-1",
450
- 2: "md:col-span-2",
451
- 3: "md:col-span-3",
452
- 4: "md:col-span-4"
449
+ 1: "content-md:col-span-1",
450
+ 2: "content-md:col-span-2",
451
+ 3: "content-md:col-span-3",
452
+ 4: "content-md:col-span-4"
453
453
  };
454
454
  var FIELD_SKELETON_CLASS = "h-[4.75rem] w-full";
455
455
  var DEFAULT_SUBMIT_LABEL = "Confirm Booking";
456
456
  var FOOTER_ROW_CLASS = "flex flex-wrap items-center justify-between gap-[var(--spacing-system-m)]";
457
457
  var FOOTER_BARE_CLASS = "flex";
458
- var SUBMIT_WIDE_CLASS = "md:w-60";
458
+ var SUBMIT_WIDE_CLASS = "content-md:w-60";
459
459
  var DEFAULT_FIELD_ROWS = [[{ name: "email" }], [{ name: "firstName" }, { name: "lastName" }]];
460
460
  var evenSpan = (count, index) => {
461
461
  const base = Math.floor(GRID_COLUMNS / Math.max(1, count));
@@ -943,10 +943,10 @@ function Confirmation({ confirmation, timezone }) {
943
943
  // src/components/meeting-scheduler/context-panel.tsx
944
944
  import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
945
945
  var PANEL_STACK = "flex flex-col gap-[var(--spacing-system-l)]";
946
- var IDENTITY_ROW = "flex items-center justify-between gap-[var(--spacing-system-m)] lg:flex-col lg:items-stretch lg:gap-[var(--spacing-system-l)]";
947
- var STRIP_BODY = "flex flex-col gap-[var(--spacing-system-l)] md:flex-row md:items-start lg:flex-col";
948
- var STRIP_MAIN = "flex min-w-0 flex-col gap-[var(--spacing-system-l)] md:flex-1";
949
- var STRIP_ASIDE = "flex flex-col gap-[var(--spacing-system-xxs)] md:w-[280px] md:shrink-0 lg:w-full";
946
+ var IDENTITY_ROW = "flex items-center justify-between gap-[var(--spacing-system-m)] content-lg:flex-col content-lg:items-stretch content-lg:gap-[var(--spacing-system-l)]";
947
+ var STRIP_BODY = "flex flex-col gap-[var(--spacing-system-l)] content-md:flex-row content-md:items-start content-lg:flex-col";
948
+ var STRIP_MAIN = "flex min-w-0 flex-col gap-[var(--spacing-system-l)] content-md:flex-1";
949
+ var STRIP_ASIDE = "flex flex-col gap-[var(--spacing-system-xxs)] content-md:w-[280px] content-md:shrink-0 content-lg:w-full";
950
950
  var BACK_BUTTON_CLASS = "py-0";
951
951
  var FIELD_LABEL_CLASS = "text-h4 text-ods-text-primary";
952
952
  function ContextPanelSkeleton({
@@ -958,7 +958,7 @@ function ContextPanelSkeleton({
958
958
  onBack && /* @__PURE__ */ jsx3(BackButton, { label: backLabel, onClick: onBack, className: BACK_BUTTON_CLASS }),
959
959
  /* @__PURE__ */ jsxs3("div", { className: STRIP_BODY, children: [
960
960
  /* @__PURE__ */ jsx3("div", { className: STRIP_MAIN, children: /* @__PURE__ */ jsxs3("div", { className: IDENTITY_ROW, children: [
961
- /* @__PURE__ */ jsxs3("div", { className: "flex min-w-0 flex-1 items-center gap-[var(--spacing-system-xs)] lg:flex-none", children: [
961
+ /* @__PURE__ */ jsxs3("div", { className: "flex min-w-0 flex-1 items-center gap-[var(--spacing-system-xs)] content-lg:flex-none", children: [
962
962
  /* @__PURE__ */ jsx3(Skeleton, { className: "h-8 w-8 shrink-0 rounded-full" }),
963
963
  /* @__PURE__ */ jsxs3("div", { className: "flex flex-1 flex-col gap-[var(--spacing-system-xxs)]", children: [
964
964
  /* @__PURE__ */ jsx3(Skeleton, { className: "h-5 w-32" }),
@@ -1050,7 +1050,7 @@ function SchedulerContextPanel({
1050
1050
  // summary line states the zone one row below — so the fact survives,
1051
1051
  // only the control steps aside. The 280px sidebar has the room, so
1052
1052
  // there it stays.
1053
- /* @__PURE__ */ jsxs3("div", { className: cn(STRIP_ASIDE, locked && "max-lg:hidden"), children: [
1053
+ /* @__PURE__ */ jsxs3("div", { className: cn(STRIP_ASIDE, locked && "content-max-lg:hidden"), children: [
1054
1054
  /* @__PURE__ */ jsx3("p", { className: FIELD_LABEL_CLASS, children: "Timezone" }),
1055
1055
  timezone ? /* @__PURE__ */ jsx3(
1056
1056
  TimezoneSelect,
@@ -1087,7 +1087,7 @@ function dateFromDayKey(key) {
1087
1087
  function timeLabelInZone(ms, timeZone) {
1088
1088
  return formatTimeWithTimezone(ms, timeZone, { viewerLocale: true });
1089
1089
  }
1090
- var CALENDAR_W = "md:w-[19rem] md:shrink-0 lg:w-[16rem]";
1090
+ var CALENDAR_W = "content-md:w-[19rem] content-md:shrink-0 content-lg:w-[16rem]";
1091
1091
  var COLUMN_HEADING_CLASS = "shrink-0 text-h4 text-ods-text-primary";
1092
1092
  var COLUMN_STACK = "flex min-h-0 flex-col gap-[var(--spacing-system-xxs)]";
1093
1093
  var SLOT_PICKER_HEADING = "Select Date & Time";
@@ -1101,7 +1101,7 @@ var CHIP_GRID_CLASS = cn(
1101
1101
  // 700px card into a 1500px one and buries whatever the page puts below
1102
1102
  // it. This is the one nested scroller worth having: a small, obviously
1103
1103
  // bounded list with a visible edge, exactly as drawn.
1104
- "max-h-[9.75rem] md:max-h-none",
1104
+ "max-h-[9.75rem] content-md:max-h-none",
1105
1105
  // No height of its own, and none borrowed from the calendar either: the card
1106
1106
  // states one height, the panel and this row pass it down, and what is left
1107
1107
  // after the column heading IS the scroll box. A long day scrolls inside it.
@@ -1115,17 +1115,17 @@ var CHIP_GRID_CLASS = cn(
1115
1115
  );
1116
1116
  var CHIP_CLASS = "w-full px-[var(--spacing-system-xxs)]";
1117
1117
  var SLOT_ROW_CLASS = cn(
1118
- "flex min-w-0 flex-col md:flex-row",
1118
+ "flex min-w-0 flex-col content-md:flex-row",
1119
1119
  // Default `stretch` at every width, deliberately. Stacked, that is what
1120
1120
  // makes each section span the card — an `items-start` here (it was here, to
1121
1121
  // stop a column growing taller than its month) collapses both sections to
1122
1122
  // their intrinsic WIDTH instead, which on a phone left the calendar and the
1123
1123
  // chips huddled against the left edge with half the card empty. The
1124
1124
  // calendar no longer needs protecting: its height is fixed, not derived.
1125
- "md:min-h-0 md:flex-1 lg:gap-[var(--spacing-system-lf)]"
1125
+ "content-md:min-h-0 content-md:flex-1 content-lg:gap-[var(--spacing-system-lf)]"
1126
1126
  );
1127
- var COLUMN_BOX = "p-[var(--spacing-system-l)] lg:p-0";
1128
- var COLUMN_DIVIDER = "border-b border-ods-border md:border-b-0 md:border-r lg:border-0";
1127
+ var COLUMN_BOX = "p-[var(--spacing-system-l)] content-lg:p-0";
1128
+ var COLUMN_DIVIDER = "border-b border-ods-border content-md:border-b-0 content-md:border-r content-lg:border-0";
1129
1129
  function monthLabelFor(offset) {
1130
1130
  const now = /* @__PURE__ */ new Date();
1131
1131
  const month = new Date(now.getFullYear(), now.getMonth() + offset, 1);
@@ -1164,7 +1164,7 @@ function DayCalendar({ monthOffset, onMonthOffsetChange, selectedDay, onSelectDa
1164
1164
  }
1165
1165
  function SlotPickerSkeleton({ monthOffset = 0 }) {
1166
1166
  return /* @__PURE__ */ jsxs4("div", { className: SLOT_ROW_CLASS, children: [
1167
- /* @__PURE__ */ jsxs4("div", { className: cn(COLUMN_STACK, COLUMN_BOX, COLUMN_DIVIDER, CALENDAR_W, "md:overflow-y-auto"), children: [
1167
+ /* @__PURE__ */ jsxs4("div", { className: cn(COLUMN_STACK, COLUMN_BOX, COLUMN_DIVIDER, CALENDAR_W, "content-md:overflow-y-auto"), children: [
1168
1168
  /* @__PURE__ */ jsx4("p", { className: COLUMN_HEADING_CLASS, children: SLOT_PICKER_HEADING }),
1169
1169
  /* @__PURE__ */ jsx4(
1170
1170
  DayCalendar,
@@ -1177,15 +1177,15 @@ function SlotPickerSkeleton({ monthOffset = 0 }) {
1177
1177
  }
1178
1178
  )
1179
1179
  ] }),
1180
- /* @__PURE__ */ jsx4("div", { className: cn(COLUMN_STACK, COLUMN_BOX, "min-w-0 md:flex-1"), children: /* @__PURE__ */ jsx4(TimeChipsSkeleton, {}) })
1180
+ /* @__PURE__ */ jsx4("div", { className: cn(COLUMN_STACK, COLUMN_BOX, "min-w-0 content-md:flex-1"), children: /* @__PURE__ */ jsx4(TimeChipsSkeleton, {}) })
1181
1181
  ] });
1182
1182
  }
1183
1183
  function TimeChipsSkeleton() {
1184
1184
  return /* @__PURE__ */ jsxs4(Fragment3, { children: [
1185
1185
  /* @__PURE__ */ jsx4("div", { className: COLUMN_HEADING_CLASS, children: /* @__PURE__ */ jsx4(Skeleton, { className: "inline-block h-4 w-40 align-middle" }) }),
1186
1186
  /* @__PURE__ */ jsx4("div", { className: CHIP_GRID_CLASS, children: Array.from({ length: 16 }, (_, i) => (
1187
- // h-11 md:h-12 — the loaded chip's own default-size height.
1188
- /* @__PURE__ */ jsx4(Skeleton, { className: cn(CHIP_CLASS, "h-11 md:h-12") }, i)
1187
+ // h-11 content-md:h-12 — the loaded chip's own default-size height.
1188
+ /* @__PURE__ */ jsx4(Skeleton, { className: cn(CHIP_CLASS, "h-11 content-md:h-12") }, i)
1189
1189
  )) })
1190
1190
  ] });
1191
1191
  }
@@ -1220,7 +1220,7 @@ function SlotPicker({
1220
1220
  const monthPrefix = `${visibleMonth.getFullYear()}-${String(visibleMonth.getMonth() + 1).padStart(2, "0")}`;
1221
1221
  const monthHasSlots = [...slotsByDay.keys()].some((key) => key.startsWith(monthPrefix));
1222
1222
  return /* @__PURE__ */ jsxs4("div", { className: SLOT_ROW_CLASS, children: [
1223
- /* @__PURE__ */ jsxs4("div", { className: cn(COLUMN_STACK, COLUMN_BOX, COLUMN_DIVIDER, CALENDAR_W, "md:overflow-y-auto"), children: [
1223
+ /* @__PURE__ */ jsxs4("div", { className: cn(COLUMN_STACK, COLUMN_BOX, COLUMN_DIVIDER, CALENDAR_W, "content-md:overflow-y-auto"), children: [
1224
1224
  /* @__PURE__ */ jsx4("p", { className: COLUMN_HEADING_CLASS, children: SLOT_PICKER_HEADING }),
1225
1225
  /* @__PURE__ */ jsx4(
1226
1226
  DayCalendar,
@@ -1233,7 +1233,7 @@ function SlotPicker({
1233
1233
  }
1234
1234
  )
1235
1235
  ] }),
1236
- /* @__PURE__ */ jsx4("div", { className: cn(COLUMN_STACK, COLUMN_BOX, "min-w-0 md:flex-1"), children: isLoading ? /* @__PURE__ */ jsx4(TimeChipsSkeleton, {}) : selectedDay ? /* @__PURE__ */ jsxs4(Fragment3, { children: [
1236
+ /* @__PURE__ */ jsx4("div", { className: cn(COLUMN_STACK, COLUMN_BOX, "min-w-0 content-md:flex-1"), children: isLoading ? /* @__PURE__ */ jsx4(TimeChipsSkeleton, {}) : selectedDay ? /* @__PURE__ */ jsxs4(Fragment3, { children: [
1237
1237
  /* @__PURE__ */ jsx4("p", { className: COLUMN_HEADING_CLASS, children: formatDateWithTimezone(dateFromDayKey(selectedDay), VIEWER_TIMEZONE, "weekday", { viewerLocale: true }) }),
1238
1238
  /* @__PURE__ */ jsx4("div", { className: CHIP_GRID_CLASS, children: daySlots.map((ms) => {
1239
1239
  const isSelected = selectedSlot === ms;
@@ -1313,9 +1313,9 @@ function DirectoryRow({
1313
1313
  /* @__PURE__ */ jsx5("p", { className: "truncate text-ods-text-primary text-h3", children: link.title }),
1314
1314
  subtitle && /* @__PURE__ */ jsx5("p", { className: "truncate text-ods-text-secondary text-h6", children: subtitle })
1315
1315
  ] }),
1316
- audienceLabel && /* @__PURE__ */ jsx5(StatusBadge, { text: `For ${audienceLabel}`, singleLine: true, className: "hidden shrink-0 sm:inline-flex" }),
1316
+ audienceLabel && /* @__PURE__ */ jsx5(StatusBadge, { text: `For ${audienceLabel}`, singleLine: true, className: "hidden shrink-0 content-sm:inline-flex" }),
1317
1317
  /* @__PURE__ */ jsx5(AvatarStack, { people: link.hosts, max: 3, size: "md", label: "Hosts", className: "flex shrink-0" }),
1318
- /* @__PURE__ */ jsxs5("div", { className: "hidden w-44 shrink-0 flex-col items-end justify-center md:flex", children: [
1318
+ /* @__PURE__ */ jsxs5("div", { className: "hidden w-44 shrink-0 flex-col items-end justify-center content-md:flex", children: [
1319
1319
  /* @__PURE__ */ jsx5("p", { className: "text-ods-text-secondary text-h6", children: "Next available" }),
1320
1320
  /* @__PURE__ */ jsx5("p", { className: "min-h-5 text-ods-text-primary text-h6", children: link.nextAvailableMs == null ? "No times published" : nextLabel ?? " " })
1321
1321
  ] }),
@@ -1330,9 +1330,9 @@ function MeetingSchedulerDirectoryRowSkeleton() {
1330
1330
  /* @__PURE__ */ jsx5(Skeleton, { className: "h-5 w-1/2" }),
1331
1331
  /* @__PURE__ */ jsx5(Skeleton, { className: "h-4 w-1/3" })
1332
1332
  ] }),
1333
- /* @__PURE__ */ jsx5(Skeleton, { className: "hidden h-6 w-28 shrink-0 sm:block" }),
1333
+ /* @__PURE__ */ jsx5(Skeleton, { className: "hidden h-6 w-28 shrink-0 content-sm:block" }),
1334
1334
  /* @__PURE__ */ jsx5(Skeleton, { className: "h-10 w-10 shrink-0 rounded-full" }),
1335
- /* @__PURE__ */ jsxs5("div", { className: "hidden w-44 shrink-0 flex-col items-end gap-1 md:flex", children: [
1335
+ /* @__PURE__ */ jsxs5("div", { className: "hidden w-44 shrink-0 flex-col items-end gap-1 content-md:flex", children: [
1336
1336
  /* @__PURE__ */ jsx5(Skeleton, { className: "h-4 w-24" }),
1337
1337
  /* @__PURE__ */ jsx5(Skeleton, { className: "h-5 w-32" })
1338
1338
  ] }),
@@ -1438,12 +1438,12 @@ var BOOKING_ERROR_COPY = {
1438
1438
  MEETING_UNAVAILABLE: "This meeting type has reached its booking limit for today \u2014 try another time or contact us.",
1439
1439
  LINK_GONE: "This meeting type is no longer available."
1440
1440
  };
1441
- var CONTEXT_PANEL_CLASS = "p-[var(--spacing-system-l)] shrink-0 lg:w-[280px] border-b lg:border-b-0 lg:border-r border-ods-border lg:min-h-0 lg:overflow-y-auto";
1442
- var ACTION_PANEL_CLASS = "flex-1 min-w-0 flex flex-col md:min-h-0 lg:p-[var(--spacing-system-l)]";
1443
- var PANEL_STEP_CLASS = "p-[var(--spacing-system-l)] md:min-h-0 md:overflow-y-auto lg:p-0";
1441
+ var CONTEXT_PANEL_CLASS = "p-[var(--spacing-system-l)] shrink-0 content-lg:w-[280px] border-b content-lg:border-b-0 content-lg:border-r border-ods-border content-lg:min-h-0 content-lg:overflow-y-auto";
1442
+ var ACTION_PANEL_CLASS = "flex-1 min-w-0 flex flex-col content-md:min-h-0 content-lg:p-[var(--spacing-system-l)]";
1443
+ var PANEL_STEP_CLASS = "p-[var(--spacing-system-l)] content-md:min-h-0 content-md:overflow-y-auto content-lg:p-0";
1444
1444
  var STEP_PANEL_CLASS = cn("flex flex-1 flex-col", PANEL_STEP_CLASS);
1445
- var MEETING_SCHEDULER_H = "md:h-[34.375rem] lg:h-[23.75rem]";
1446
- var MEETING_SCHEDULER_DETAILS_FIRST_H = "h-[50.75rem] md:h-[39.875rem]";
1445
+ var MEETING_SCHEDULER_H = "content-md:h-[34.375rem] content-lg:h-[23.75rem]";
1446
+ var MEETING_SCHEDULER_DETAILS_FIRST_H = "h-[50.75rem] content-md:h-[39.875rem]";
1447
1447
  var DEFAULT_SCHEDULER_FLOW = "slot-first";
1448
1448
  var SCHEDULER_FLOW_PRESETS = {
1449
1449
  "slot-first": { initialStep: "slot", height: MEETING_SCHEDULER_H, submitLabel: DEFAULT_SUBMIT_LABEL },
@@ -1456,15 +1456,15 @@ var SCHEDULER_FLOW_PRESETS = {
1456
1456
  };
1457
1457
  var CARD_CLASS = cn(
1458
1458
  "overflow-hidden rounded-md border border-ods-border bg-ods-card",
1459
- "md:flex md:flex-col"
1459
+ "content-md:flex content-md:flex-col"
1460
1460
  // The height is NOT baked in any more: it is chosen per flow at each render
1461
1461
  // site (`cardClass`), because details-first needs a taller box and both
1462
1462
  // constants are module scope.
1463
1463
  );
1464
- var CARD_INNER_CLASS = "flex flex-col md:min-h-0 md:flex-1 lg:h-full lg:flex-row";
1464
+ var CARD_INNER_CLASS = "flex flex-col content-md:min-h-0 content-md:flex-1 content-lg:h-full content-lg:flex-row";
1465
1465
  var CARD_DEGRADED_CLASS = cn(
1466
1466
  "flex flex-col items-start gap-[var(--spacing-system-m)] rounded-md border border-ods-border bg-ods-card p-[var(--spacing-system-lf)]",
1467
- "md:justify-center md:overflow-y-auto"
1467
+ "content-md:justify-center content-md:overflow-y-auto"
1468
1468
  );
1469
1469
  function SchedulerDegradedCard({
1470
1470
  flow = DEFAULT_SCHEDULER_FLOW,
@@ -1658,7 +1658,7 @@ function HubSpotMeetingScheduler({
1658
1658
  const boxed = !formOnly;
1659
1659
  const cardClass = cn(
1660
1660
  CARD_CLASS,
1661
- boxed ? preset.height : "md:h-auto",
1661
+ boxed ? preset.height : "content-md:h-auto",
1662
1662
  detailsFirst && "flex flex-col",
1663
1663
  formOnly && "bg-ods-bg",
1664
1664
  className
@@ -1747,12 +1747,12 @@ function HubSpotMeetingScheduler({
1747
1747
  rescue
1748
1748
  }
1749
1749
  )
1750
- ] }) : /* @__PURE__ */ jsxs6("div", { className: "flex flex-col gap-[var(--spacing-system-m)] md:min-h-0 md:flex-1", children: [
1750
+ ] }) : /* @__PURE__ */ jsxs6("div", { className: "flex flex-col gap-[var(--spacing-system-m)] content-md:min-h-0 content-md:flex-1", children: [
1751
1751
  bookingError === "SLOT_TAKEN" && /* @__PURE__ */ jsx6(
1752
1752
  Alert,
1753
1753
  {
1754
1754
  variant: "warning",
1755
- className: "mx-[var(--spacing-system-l)] mt-[var(--spacing-system-l)] w-auto lg:m-0 lg:w-full",
1755
+ className: "mx-[var(--spacing-system-l)] mt-[var(--spacing-system-l)] w-auto content-lg:m-0 content-lg:w-full",
1756
1756
  children: /* @__PURE__ */ jsx6(AlertDescription, { children: "That time was just taken \u2014 pick another slot below. (If you already submitted, check your email for a confirmation before rebooking.)" })
1757
1757
  }
1758
1758
  ),
@@ -33,6 +33,10 @@ export interface AppHeaderProps {
33
33
  onMingoAI?: () => void;
34
34
  /** Whether the Mingo drawer is currently open (visually pressed state). */
35
35
  isMingoAIActive?: boolean;
36
+ /** Swap the Mingo logo for a close "X" while active, beside the wordmark
37
+ * too (icon-only mode always does). For a panel the button both opens and
38
+ * closes. */
39
+ mingoAICloseWhenActive?: boolean;
36
40
  showUser?: boolean;
37
41
  userName?: string;
38
42
  userEmail?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"app-header.d.ts","sourceRoot":"","sources":["../../../src/components/navigation/app-header.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAgB1B,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,aAAa,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC/C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;4CAGwC;IACxC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;oCAGgC;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;gDAC4C;IAC5C,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,oGAAoG;IACpG,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;gFAC4E;IAC5E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,2EAA2E;IAC3E,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,qCAAqC;IACrC,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;IAChC;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;;;;;;;;;;;OAiBG;IACH,kBAAkB,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC,iBAAiB,CAAC,CAAC;CAChE;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;AAExE,eAAO,MAAM,SAAS,4CA6NpB,CAAC;AA6BH,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"app-header.d.ts","sourceRoot":"","sources":["../../../src/components/navigation/app-header.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAgB1B,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,aAAa,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC/C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;4CAGwC;IACxC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;oCAGgC;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;gDAC4C;IAC5C,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,oGAAoG;IACpG,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;gFAC4E;IAC5E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,2EAA2E;IAC3E,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;kBAEc;IACd,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAEjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,qCAAqC;IACrC,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;IAChC;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;;;;;;;;;;;OAiBG;IACH,kBAAkB,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC,iBAAiB,CAAC,CAAC;CAChE;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;AAExE,eAAO,MAAM,SAAS,4CA+NpB,CAAC;AA6BH,eAAe,SAAS,CAAC"}
@@ -0,0 +1,142 @@
1
+ import { type ReactNode } from 'react';
2
+ /**
3
+ * - `docked`: a column beside the content, resizable.
4
+ * - `full`: covers the content area (not the navigation). Reached by dragging
5
+ * past the content's minimum width, or from the header toggle when there is
6
+ * no room to dock.
7
+ * - `hidden`: no room to dock (or a phone) and not opened from the header.
8
+ * - `overlay`: a phone, opened from the header; covers the content area.
9
+ */
10
+ export type AppLayoutSidePanelMode = 'docked' | 'full' | 'hidden' | 'overlay';
11
+ export interface AppLayoutSidePanelRenderState {
12
+ /** Width the panel body is drawn at, in px. */
13
+ width: number;
14
+ mode: AppLayoutSidePanelMode;
15
+ /**
16
+ * The panel was opened from the header (no room to dock, or a phone) and can
17
+ * be put away again: offer a close control. A docked panel cannot close.
18
+ */
19
+ canClose: boolean;
20
+ /** Put the panel away again; a no-op while it is docked. */
21
+ close: () => void;
22
+ /**
23
+ * Where `collapse` takes the panel, one step back at a time: from the whole
24
+ * area to the column it was in before (`column`), from the column to its
25
+ * minimum (`minimum`, e.g. a list alone). Null when there is no step back.
26
+ */
27
+ collapsesTo: 'column' | 'minimum' | null;
28
+ /** Step the panel back (see `collapsesTo`), animated. */
29
+ collapse: () => void;
30
+ }
31
+ export interface AppLayoutSidePanelConfig {
32
+ /** Panel body. Told its width so it can choose what fits. */
33
+ children: (state: AppLayoutSidePanelRenderState) => ReactNode;
34
+ /** Narrowest docked width, and the width it starts at: the narrowest its content draws. */
35
+ minWidth: number;
36
+ /** Narrowest the content may get before the panel takes over. Default 400. */
37
+ minContentWidth?: number;
38
+ /** localStorage key for the chosen width. Without it the width lasts the session. */
39
+ storageKey?: string;
40
+ /**
41
+ * Pages that need the whole content width set this: the panel starts at its
42
+ * minimum there. The user can still widen it; the width they chose
43
+ * elsewhere is kept for the other pages.
44
+ */
45
+ collapsed?: boolean;
46
+ /** Accessible name of the panel region. Default "Side panel". */
47
+ label?: string;
48
+ /**
49
+ * Opened from the header while it cannot dock (or on a phone). Pass it to
50
+ * open the panel from elsewhere (a deep link, a "send to chat" action);
51
+ * omit to let the header own it. Docked, it has no effect.
52
+ */
53
+ open?: boolean;
54
+ /** Called whenever the header-open state should change. */
55
+ onOpenChange?: (open: boolean) => void;
56
+ }
57
+ /** Inset of the docked card from the window edge and the header. */
58
+ export declare const SIDE_PANEL_INSET = 16;
59
+ export interface SidePanelSize {
60
+ /** Docked width the user chose. */
61
+ width: number;
62
+ /** Dragged past the content minimum: the panel takes the whole area. */
63
+ expanded: boolean;
64
+ }
65
+ export interface SidePanelLayoutInput {
66
+ /** Width of the row the content and the panel share; 0 before it is measured. */
67
+ rowWidth: number;
68
+ isMobile: boolean;
69
+ /** Opened from the header (only meaningful while it cannot dock). */
70
+ isOpen: boolean;
71
+ size: SidePanelSize;
72
+ minWidth: number;
73
+ minContentWidth: number;
74
+ }
75
+ export interface SidePanelLayout {
76
+ mode: AppLayoutSidePanelMode;
77
+ /** Width the panel body is drawn at. */
78
+ width: number;
79
+ /** The panel can sit beside the content. */
80
+ canDock: boolean;
81
+ /** Widest docked width; one pixel more takes the whole area. */
82
+ maxDockedWidth: number;
83
+ /** Width the panel docks at, kept while it is full so it can return there. */
84
+ dockedWidth: number;
85
+ }
86
+ /**
87
+ * Where the panel goes for a given room. Pure, so the rules read in one place:
88
+ * a phone gets the overlay; a row with room for both minimums docks (or is
89
+ * full when dragged past); otherwise it hides until opened from the header.
90
+ * An unmeasured row docks, so the first paint matches the common case.
91
+ */
92
+ export declare function resolveSidePanelLayout({ rowWidth, isMobile, isOpen, size, minWidth, minContentWidth, }: SidePanelLayoutInput): SidePanelLayout;
93
+ /**
94
+ * The panel is growing into the whole area (`expand`), shrinking back into the
95
+ * column (`collapse`) or narrowing within it (`narrow`). While it grows the
96
+ * content stays where it is under it, and is hidden only once the panel covers
97
+ * it; while it shrinks the content is already laid out at its new width.
98
+ */
99
+ export type SidePanelMorph = 'expand' | 'collapse' | 'narrow';
100
+ export interface AppLayoutSidePanelState extends SidePanelLayout {
101
+ minWidth: number;
102
+ /** Opened from the header while it cannot dock. */
103
+ isOpen: boolean;
104
+ morph: SidePanelMorph | null;
105
+ /**
106
+ * Dragged wider than any column can be and not yet let go: the panel follows
107
+ * the pointer over the content, laid out at its narrowest beneath it.
108
+ */
109
+ peekWidth: number | null;
110
+ /** The panel covers the content area: the content can be hidden. */
111
+ coversContent: boolean;
112
+ /** The panel is drawn over part of the content (a morph or a peek). */
113
+ overlapsContent: boolean;
114
+ endMorph: () => void;
115
+ collapsesTo: AppLayoutSidePanelRenderState['collapsesTo'];
116
+ collapse: () => void;
117
+ toggle: () => void;
118
+ close: () => void;
119
+ resize: (next: number) => void;
120
+ /**
121
+ * A pointer drag to `next`. Wider than any column can be, the panel follows
122
+ * the pointer over the content instead of jumping to the whole area.
123
+ */
124
+ drag: (next: number) => void;
125
+ /**
126
+ * The drag ended at `next`: a panel left between the widest column and the
127
+ * whole area settles on the nearer of the two, animated.
128
+ */
129
+ release: (next: number) => void;
130
+ }
131
+ /**
132
+ * Owns the side panel's geometry. Lives in `AppLayout`, not the panel, because
133
+ * the header's toggle reads it too. Returns null without a config.
134
+ */
135
+ export declare function useAppLayoutSidePanel(config: AppLayoutSidePanelConfig | undefined, row: HTMLElement | null): AppLayoutSidePanelState | null;
136
+ interface AppLayoutSidePanelProps {
137
+ config: AppLayoutSidePanelConfig;
138
+ state: AppLayoutSidePanelState;
139
+ }
140
+ export declare function AppLayoutSidePanel({ config, state }: AppLayoutSidePanelProps): import("react").JSX.Element | null;
141
+ export {};
142
+ //# sourceMappingURL=app-layout-side-panel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-layout-side-panel.d.ts","sourceRoot":"","sources":["../../../src/components/navigation/app-layout-side-panel.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { ReactNode } from 'react';
2
2
  import type { NavigationSidebarConfig } from '../../types/navigation';
3
3
  import { type AppHeaderProps } from './app-header';
4
+ import { type AppLayoutSidePanelConfig } from './app-layout-side-panel';
4
5
  import { type MobileBurgerMenuProps } from './mobile-burger-menu';
5
6
  export { useAppLayoutDrawerContainer, useAppLayoutDrawerCoordination } from './app-layout-context';
6
7
  export type { AppLayoutDrawerHandle } from './app-layout-context';
@@ -32,6 +33,15 @@ export interface AppLayoutProps {
32
33
  * area occupy the remaining height below it.
33
34
  */
34
35
  topBar?: ReactNode;
36
+ /**
37
+ * A panel docked beside the content (the Mingo chat). It narrows the
38
+ * content instead of covering it, and the content then lays out by its own
39
+ * width: `<main>` becomes an `ods-content-area` whose tokens and
40
+ * `content-md:` / `content-lg:` classes follow the room the panel leaves.
41
+ * Without room to dock (or on a phone) the header's Mingo button opens it
42
+ * over the content area. Optional; without it the layout is unchanged.
43
+ */
44
+ sidePanel?: AppLayoutSidePanelConfig;
35
45
  }
36
- export declare function AppLayout({ children, sidebarConfig, headerProps, mainClassName, className, mobileBurgerMenuProps, disabled, drawer, topBar, }: AppLayoutProps): import("react").JSX.Element;
46
+ export declare function AppLayout({ children, sidebarConfig, headerProps, mainClassName, className, mobileBurgerMenuProps, disabled, drawer, topBar, sidePanel, }: AppLayoutProps): import("react").JSX.Element;
37
47
  //# sourceMappingURL=app-layout.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-layout.d.ts","sourceRoot":"","sources":["../../../src/components/navigation/app-layout.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAGtE,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAO9D,OAAO,EAAoB,KAAK,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAGpF,OAAO,EAAE,2BAA2B,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AACnG,YAAY,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAElE,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,SAAS,CAAC;IACpB,aAAa,EAAE,uBAAuB,CAAC;IACvC,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE,kBAAkB,GAAG,oBAAoB,GAAG,UAAU,CAAC,CAAC;IAC1F,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qBAAqB,EAAE,IAAI,CAAC,qBAAqB,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC,CAAC;IACjG;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB;AAED,wBAAgB,SAAS,CAAC,EACxB,QAAQ,EACR,aAAa,EACb,WAAW,EACX,aAAa,EACb,SAAS,EACT,qBAAqB,EACrB,QAAgB,EAChB,MAAM,EACN,MAAM,GACP,EAAE,cAAc,+BAiGhB"}
1
+ {"version":3,"file":"app-layout.d.ts","sourceRoot":"","sources":["../../../src/components/navigation/app-layout.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAGtE,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAO9D,OAAO,EAAsB,KAAK,wBAAwB,EAAyB,MAAM,yBAAyB,CAAC;AACnH,OAAO,EAAoB,KAAK,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAGpF,OAAO,EAAE,2BAA2B,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AACnG,YAAY,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAElE,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,SAAS,CAAC;IACpB,aAAa,EAAE,uBAAuB,CAAC;IACvC,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE,kBAAkB,GAAG,oBAAoB,GAAG,UAAU,CAAC,CAAC;IAC1F,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qBAAqB,EAAE,IAAI,CAAC,qBAAqB,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC,CAAC;IACjG;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,wBAAwB,CAAC;CACtC;AAED,wBAAgB,SAAS,CAAC,EACxB,QAAQ,EACR,aAAa,EACb,WAAW,EACX,aAAa,EACb,SAAS,EACT,qBAAqB,EACrB,QAAgB,EAChB,MAAM,EACN,MAAM,EACN,SAAS,GACV,EAAE,cAAc,+BAqJhB"}
@@ -6,6 +6,9 @@ export interface HeaderMingoButtonProps extends React.ButtonHTMLAttributes<HTMLB
6
6
  * control collapses to a square `HeaderButton`-sized affordance on narrow
7
7
  * viewports). Defaults to `false`. */
8
8
  iconOnly?: boolean;
9
+ /** Show the close "X" while active with the wordmark too, not only in
10
+ * `iconOnly` mode. Defaults to `false`. */
11
+ closeWhenActive?: boolean;
9
12
  className?: string;
10
13
  }
11
14
  /**
@@ -18,6 +21,6 @@ export interface HeaderMingoButtonProps extends React.ButtonHTMLAttributes<HTMLB
18
21
  *
19
22
  * Figma: 7532:222103 — `button-full`.
20
23
  */
21
- export declare function HeaderMingoButton({ isActive, iconOnly, className, ...props }: HeaderMingoButtonProps): React.JSX.Element;
24
+ export declare function HeaderMingoButton({ isActive, iconOnly, closeWhenActive, className, ...props }: HeaderMingoButtonProps): React.JSX.Element;
22
25
  export default HeaderMingoButton;
23
26
  //# sourceMappingURL=header-mingo-button.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"header-mingo-button.d.ts","sourceRoot":"","sources":["../../../src/components/navigation/header-mingo-button.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,MAAM,WAAW,sBAAuB,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IAC3F,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;2CAEuC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,QAAgB,EAAE,QAAgB,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,sBAAsB,qBAwCpH;AAED,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"header-mingo-button.d.ts","sourceRoot":"","sources":["../../../src/components/navigation/header-mingo-button.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,MAAM,WAAW,sBAAuB,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IAC3F,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;2CAEuC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;gDAC4C;IAC5C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,QAAgB,EAChB,QAAgB,EAChB,eAAuB,EACvB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,sBAAsB,qBAyCxB;AAED,eAAe,iBAAiB,CAAC"}
@@ -19,14 +19,14 @@
19
19
 
20
20
 
21
21
 
22
- var _chunk67CXGPTWcjs = require('../../chunk-67CXGPTW.cjs');
22
+ var _chunkJKEEFQOXcjs = require('../../chunk-JKEEFQOX.cjs');
23
23
 
24
24
 
25
25
 
26
26
 
27
27
 
28
- var _chunkRTXTGLGBcjs = require('../../chunk-RTXTGLGB.cjs');
29
- require('../../chunk-YBGEPKC2.cjs');
28
+ var _chunkACV4DFQ3cjs = require('../../chunk-ACV4DFQ3.cjs');
29
+ require('../../chunk-F7Y2ZS5U.cjs');
30
30
 
31
31
 
32
32
 
@@ -41,27 +41,27 @@ require('../../chunk-YBGEPKC2.cjs');
41
41
 
42
42
 
43
43
 
44
- var _chunkMXHJROXJcjs = require('../../chunk-MXHJROXJ.cjs');
44
+ var _chunkP23CRLU4cjs = require('../../chunk-P23CRLU4.cjs');
45
45
  require('../../chunk-HQQE74RO.cjs');
46
46
  require('../../chunk-DEY6XXGO.cjs');
47
- require('../../chunk-3L7KCOGO.cjs');
47
+ require('../../chunk-2QEUFXNS.cjs');
48
48
  require('../../chunk-MZ4KBSH7.cjs');
49
- require('../../chunk-BRXOGCH3.cjs');
50
- require('../../chunk-4OGAXAEG.cjs');
49
+ require('../../chunk-BIZNSF3U.cjs');
50
+ require('../../chunk-ABU3TGXA.cjs');
51
51
  require('../../chunk-LX22Y43B.cjs');
52
- require('../../chunk-HY5YL3U5.cjs');
53
- require('../../chunk-IIMICN7L.cjs');
52
+ require('../../chunk-XBWE423R.cjs');
53
+ require('../../chunk-TYWLNCNH.cjs');
54
54
  require('../../chunk-7DNL734S.cjs');
55
55
  require('../../chunk-X72J4ACL.cjs');
56
56
  require('../../chunk-N3COXDBH.cjs');
57
57
  require('../../chunk-RDW5JAME.cjs');
58
- require('../../chunk-EMCQGFXD.cjs');
58
+ require('../../chunk-MMOODW57.cjs');
59
59
  require('../../chunk-MGHIV4L6.cjs');
60
- require('../../chunk-MDBHZBW7.cjs');
60
+ require('../../chunk-RKV5B7EU.cjs');
61
61
  require('../../chunk-QZVSJF2K.cjs');
62
62
  require('../../chunk-RALRPFDW.cjs');
63
63
  require('../../chunk-UJ7AXHRZ.cjs');
64
- require('../../chunk-2A4XES7R.cjs');
64
+ require('../../chunk-BM5MVGH3.cjs');
65
65
  require('../../chunk-4GFNWALL.cjs');
66
66
  require('../../chunk-DFQYAYBH.cjs');
67
67
  require('../../chunk-LLRGR4I5.cjs');
@@ -104,4 +104,4 @@ require('../../chunk-QBJ4SE23.cjs');
104
104
 
105
105
 
106
106
 
107
- exports.AppHeader = _chunk67CXGPTWcjs.AppHeader; exports.AppLayout = _chunk67CXGPTWcjs.AppLayout; exports.AppLayoutDrawer = _chunkMXHJROXJcjs.AppLayoutDrawerRoot; exports.AppLayoutDrawerBody = _chunkMXHJROXJcjs.AppLayoutDrawerBody; exports.AppLayoutDrawerClose = _chunkMXHJROXJcjs.AppLayoutDrawerClose; exports.AppLayoutDrawerContent = _chunkMXHJROXJcjs.AppLayoutDrawerContent; exports.AppLayoutDrawerDescription = _chunkMXHJROXJcjs.AppLayoutDrawerDescription; exports.AppLayoutDrawerFooter = _chunkMXHJROXJcjs.AppLayoutDrawerFooter; exports.AppLayoutDrawerHeader = _chunkMXHJROXJcjs.AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = _chunkMXHJROXJcjs.AppLayoutDrawerTitle; exports.AppLayoutDrawerTrigger = _chunkMXHJROXJcjs.AppLayoutDrawerTrigger; exports.ClientOnlyHeader = _chunk67CXGPTWcjs.ClientOnlyHeader; exports.Header = _chunk67CXGPTWcjs.Header; exports.HeaderButton = _chunkMXHJROXJcjs.HeaderButton; exports.HeaderGlobalSearch = _chunk67CXGPTWcjs.HeaderGlobalSearch; exports.HeaderMingoButton = _chunk67CXGPTWcjs.HeaderMingoButton; exports.HeaderOrganizationFilter = _chunk67CXGPTWcjs.HeaderOrganizationFilter; exports.HeaderSkeleton = _chunk67CXGPTWcjs.HeaderSkeleton; exports.MOBILE_NAV_PANEL_ID = _chunk67CXGPTWcjs.MOBILE_NAV_PANEL_ID; exports.MingoAiButton = _chunk67CXGPTWcjs.MingoAiButton; exports.MobileBurgerMenu = _chunk67CXGPTWcjs.MobileBurgerMenu; exports.MobileNavPanel = _chunk67CXGPTWcjs.MobileNavPanel; exports.MobileNavigationDropdown = _chunkRTXTGLGBcjs.MobileNavigationDropdown; exports.MultiLevelNavigation = _chunkRTXTGLGBcjs.MultiLevelNavigation; exports.NAVIGATION_SIDEBAR_WIDTH_VAR = _chunk67CXGPTWcjs.NAVIGATION_SIDEBAR_WIDTH_VAR; exports.NavigationItemBadge = _chunk67CXGPTWcjs.NavigationItemBadge; exports.NavigationSidebar = _chunk67CXGPTWcjs.NavigationSidebar; exports.SlidingSidebar = _chunk67CXGPTWcjs.SlidingSidebar; exports.StickySectionNav = _chunkRTXTGLGBcjs.StickySectionNav; exports.TicketAlertsButton = _chunk67CXGPTWcjs.TicketAlertsButton; exports.TopNavigation = _chunk67CXGPTWcjs.TopNavigation; exports.UnreadCountBadge = _chunkMXHJROXJcjs.UnreadCountBadge; exports.UnreadDot = _chunkMXHJROXJcjs.UnreadDot; exports.useAppLayoutDrawerContainer = _chunkMXHJROXJcjs.useAppLayoutDrawerContainer; exports.useSectionNavigation = _chunkRTXTGLGBcjs.useSectionNavigation;
107
+ exports.AppHeader = _chunkJKEEFQOXcjs.AppHeader; exports.AppLayout = _chunkJKEEFQOXcjs.AppLayout; exports.AppLayoutDrawer = _chunkP23CRLU4cjs.AppLayoutDrawerRoot; exports.AppLayoutDrawerBody = _chunkP23CRLU4cjs.AppLayoutDrawerBody; exports.AppLayoutDrawerClose = _chunkP23CRLU4cjs.AppLayoutDrawerClose; exports.AppLayoutDrawerContent = _chunkP23CRLU4cjs.AppLayoutDrawerContent; exports.AppLayoutDrawerDescription = _chunkP23CRLU4cjs.AppLayoutDrawerDescription; exports.AppLayoutDrawerFooter = _chunkP23CRLU4cjs.AppLayoutDrawerFooter; exports.AppLayoutDrawerHeader = _chunkP23CRLU4cjs.AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = _chunkP23CRLU4cjs.AppLayoutDrawerTitle; exports.AppLayoutDrawerTrigger = _chunkP23CRLU4cjs.AppLayoutDrawerTrigger; exports.ClientOnlyHeader = _chunkJKEEFQOXcjs.ClientOnlyHeader; exports.Header = _chunkJKEEFQOXcjs.Header; exports.HeaderButton = _chunkP23CRLU4cjs.HeaderButton; exports.HeaderGlobalSearch = _chunkJKEEFQOXcjs.HeaderGlobalSearch; exports.HeaderMingoButton = _chunkJKEEFQOXcjs.HeaderMingoButton; exports.HeaderOrganizationFilter = _chunkJKEEFQOXcjs.HeaderOrganizationFilter; exports.HeaderSkeleton = _chunkJKEEFQOXcjs.HeaderSkeleton; exports.MOBILE_NAV_PANEL_ID = _chunkJKEEFQOXcjs.MOBILE_NAV_PANEL_ID; exports.MingoAiButton = _chunkJKEEFQOXcjs.MingoAiButton; exports.MobileBurgerMenu = _chunkJKEEFQOXcjs.MobileBurgerMenu; exports.MobileNavPanel = _chunkJKEEFQOXcjs.MobileNavPanel; exports.MobileNavigationDropdown = _chunkACV4DFQ3cjs.MobileNavigationDropdown; exports.MultiLevelNavigation = _chunkACV4DFQ3cjs.MultiLevelNavigation; exports.NAVIGATION_SIDEBAR_WIDTH_VAR = _chunkJKEEFQOXcjs.NAVIGATION_SIDEBAR_WIDTH_VAR; exports.NavigationItemBadge = _chunkJKEEFQOXcjs.NavigationItemBadge; exports.NavigationSidebar = _chunkJKEEFQOXcjs.NavigationSidebar; exports.SlidingSidebar = _chunkJKEEFQOXcjs.SlidingSidebar; exports.StickySectionNav = _chunkACV4DFQ3cjs.StickySectionNav; exports.TicketAlertsButton = _chunkJKEEFQOXcjs.TicketAlertsButton; exports.TopNavigation = _chunkJKEEFQOXcjs.TopNavigation; exports.UnreadCountBadge = _chunkP23CRLU4cjs.UnreadCountBadge; exports.UnreadDot = _chunkP23CRLU4cjs.UnreadDot; exports.useAppLayoutDrawerContainer = _chunkP23CRLU4cjs.useAppLayoutDrawerContainer; exports.useSectionNavigation = _chunkACV4DFQ3cjs.useSectionNavigation;