@thewhatmatters/wmds 0.4.3 → 0.4.5

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 (160) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/CONSUMING.md +1 -1
  3. package/dist/colors.css +3 -0
  4. package/dist/components/molecules/IntakeForm/IntakeForm.d.ts +14 -2
  5. package/dist/components/molecules/IntakeForm/IntakeForm.d.ts.map +1 -1
  6. package/dist/components/molecules/IntakeForm/IntakeForm.js +25 -25
  7. package/dist/components/organisms/ChatDock/ChatDock.d.ts +25 -10
  8. package/dist/components/organisms/ChatDock/ChatDock.d.ts.map +1 -1
  9. package/dist/components/organisms/ChatDock/ChatDock.js +423 -428
  10. package/dist/components/organisms/ChatDock/ChatDockGate.d.ts +12 -10
  11. package/dist/components/organisms/ChatDock/ChatDockGate.d.ts.map +1 -1
  12. package/dist/components/organisms/ChatDock/ChatDockGate.js +130 -153
  13. package/dist/components/organisms/ChatDock/chatDockGateContext.d.ts +7 -6
  14. package/dist/components/organisms/ChatDock/chatDockGateContext.d.ts.map +1 -1
  15. package/dist/components/organisms/ChatDock/chatDockGateStyles.d.ts +19 -11
  16. package/dist/components/organisms/ChatDock/chatDockGateStyles.d.ts.map +1 -1
  17. package/dist/components/organisms/ChatDock/chatDockGateStyles.js +2 -3
  18. package/dist/components/organisms/ChatDock/chatDockStyles.d.ts +6 -12
  19. package/dist/components/organisms/ChatDock/chatDockStyles.d.ts.map +1 -1
  20. package/dist/components/organisms/ChatDock/chatDockStyles.js +6 -9
  21. package/dist/components/organisms/Dialog/Dialog.js +34 -34
  22. package/dist/components/organisms/Sheet/Sheet.js +38 -38
  23. package/dist/lib/dialogOverlay.d.ts +0 -5
  24. package/dist/lib/dialogOverlay.d.ts.map +1 -1
  25. package/dist/lib/dialogOverlay.js +1 -12
  26. package/dist/lib/shadows.d.ts.map +1 -1
  27. package/dist/styles.css +1 -1
  28. package/dist/theme.css +1 -0
  29. package/docs/component-contracts.md +2 -2
  30. package/docs/components.md +3 -3
  31. package/docs/exports.json +3 -2
  32. package/docs/patterns/components-accordion--flush.tsx +1 -1
  33. package/docs/patterns/components-avatar--dropdown-row.tsx +1 -1
  34. package/docs/patterns/components-badge--outline-tags.tsx +1 -1
  35. package/docs/patterns/components-badge--with-avatar.tsx +1 -1
  36. package/docs/patterns/components-breadcrumb--editorial.tsx +1 -1
  37. package/docs/patterns/components-breadcrumb--long-path.tsx +1 -1
  38. package/docs/patterns/components-breadcrumb--path.tsx +1 -1
  39. package/docs/patterns/components-breadcrumb--router-links.tsx +1 -1
  40. package/docs/patterns/components-button-button--copy-button.tsx +1 -1
  41. package/docs/patterns/components-button-button--destructive-action.tsx +1 -1
  42. package/docs/patterns/components-button-button--external-link.tsx +1 -1
  43. package/docs/patterns/components-button-button--ghost-action.tsx +1 -1
  44. package/docs/patterns/components-button-button--inverse-action.tsx +1 -1
  45. package/docs/patterns/components-button-button--link-render.tsx +1 -1
  46. package/docs/patterns/components-button-button--multi-state-badge.tsx +1 -1
  47. package/docs/patterns/components-button-button--outline-mono.tsx +1 -1
  48. package/docs/patterns/components-button-button--primary-action.tsx +1 -1
  49. package/docs/patterns/components-button-button--row-hug.tsx +1 -1
  50. package/docs/patterns/components-button-button--row-layout.tsx +1 -1
  51. package/docs/patterns/components-button-button--secondary-action.tsx +1 -1
  52. package/docs/patterns/components-button-button--suggestion-pills.tsx +1 -1
  53. package/docs/patterns/components-button-button--with-count.tsx +1 -1
  54. package/docs/patterns/components-button-button--with-icon.tsx +1 -1
  55. package/docs/patterns/components-button-floatingactionbutton--vertical-actions.tsx +1 -1
  56. package/docs/patterns/components-calembed--pattern-skip-in-footer.tsx +1 -1
  57. package/docs/patterns/components-card-card--body-slot-occupancy-history.tsx +1 -1
  58. package/docs/patterns/components-card-card--headerless-media.tsx +1 -1
  59. package/docs/patterns/components-card-card--outlined-layout.tsx +1 -1
  60. package/docs/patterns/components-card-card--pinned-height.tsx +1 -1
  61. package/docs/patterns/components-card-selectablecard--selectable-cards-pattern.tsx +1 -1
  62. package/docs/patterns/components-chart--audience-activity-heatmap.tsx +1 -1
  63. package/docs/patterns/components-chart--cartesian-no-data-gaps.tsx +1 -1
  64. package/docs/patterns/components-chart--occupancy-history-in-card.tsx +1 -1
  65. package/docs/patterns/components-chart--occupancy-in-card.tsx +1 -1
  66. package/docs/patterns/components-chart--post-reach-distribution.tsx +1 -1
  67. package/docs/patterns/components-chart--ranked-audience-breakdown.tsx +1 -1
  68. package/docs/patterns/components-chart--unit-grid-composition.tsx +1 -1
  69. package/docs/patterns/components-chatdock--pattern-chat-dock.tsx +3 -2
  70. package/docs/patterns/components-chatdock--pattern-start-project-gate.tsx +4 -3
  71. package/docs/patterns/components-chatqa--pattern-qa-with-reply.tsx +1 -1
  72. package/docs/patterns/components-checkbox-checkbox--default.tsx +1 -1
  73. package/docs/patterns/components-checkbox-checkbox--with-count.tsx +1 -1
  74. package/docs/patterns/components-checkbox-checkbox--with-description.tsx +1 -1
  75. package/docs/patterns/components-checkbox-checkboxgroup--default.tsx +1 -1
  76. package/docs/patterns/components-checkbox-checkboxgroup--option-counts.tsx +1 -1
  77. package/docs/patterns/components-descriptionlist--details.tsx +1 -1
  78. package/docs/patterns/components-descriptionlist--post-metadata.tsx +1 -1
  79. package/docs/patterns/components-dialog--alert-dialog-destructive.tsx +1 -1
  80. package/docs/patterns/components-dialog--default-dialog.tsx +1 -1
  81. package/docs/patterns/components-dialog--form-dialog.tsx +1 -1
  82. package/docs/patterns/components-displaycontrols--page-utilities.tsx +1 -1
  83. package/docs/patterns/components-field--horizontal-input.tsx +1 -1
  84. package/docs/patterns/components-field--horizontal-text-area.tsx +1 -1
  85. package/docs/patterns/components-field--multi-control.tsx +1 -1
  86. package/docs/patterns/components-footerreveal--marketing-hero-pattern.tsx +1 -1
  87. package/docs/patterns/components-footerreveal--marketing-hero-ruled-pattern.tsx +1 -1
  88. package/docs/patterns/components-footerreveal--marketing-hero-with-gallery-intro.tsx +1 -1
  89. package/docs/patterns/components-footerreveal--marketing-page-pattern.tsx +1 -1
  90. package/docs/patterns/components-footerreveal--ruled-grid-footer-pattern.tsx +1 -1
  91. package/docs/patterns/components-footerreveal--sequenced-marketing-hero.tsx +1 -1
  92. package/docs/patterns/components-herointro--two-line-intro.tsx +1 -1
  93. package/docs/patterns/components-herotilestack--marketing-hero-pattern.tsx +1 -1
  94. package/docs/patterns/components-herotilestack--marketing-hero-text-sequence.tsx +1 -1
  95. package/docs/patterns/components-herotilestack--marketing-hero-with-gallery-intro.tsx +1 -1
  96. package/docs/patterns/components-indexlist--post-index.tsx +1 -1
  97. package/docs/patterns/components-intakeconfirmation--booked-pattern.tsx +1 -1
  98. package/docs/patterns/components-intakeconfirmation--emailed-pattern.tsx +1 -1
  99. package/docs/patterns/components-intakeform--about-you-pattern.tsx +1 -1
  100. package/docs/patterns/components-intakeform--short-form-pattern.tsx +12 -0
  101. package/docs/patterns/components-intakemodal--intake-modal-pattern.tsx +1 -1
  102. package/docs/patterns/components-kbd--command-row.tsx +1 -1
  103. package/docs/patterns/components-kbd--numbered-choices.tsx +1 -1
  104. package/docs/patterns/components-kbd--shortcut.tsx +1 -1
  105. package/docs/patterns/components-moremenu--action-menu.tsx +1 -1
  106. package/docs/patterns/components-moremenu--in-card-header.tsx +1 -1
  107. package/docs/patterns/components-navlist--side-nav-settings.tsx +1 -1
  108. package/docs/patterns/components-pageheader--app-header-pattern.tsx +1 -1
  109. package/docs/patterns/components-pageheader--page-section-header.tsx +1 -1
  110. package/docs/patterns/components-pageheader--toolbar-header.tsx +1 -1
  111. package/docs/patterns/components-panel--end-detail-rail.tsx +1 -1
  112. package/docs/patterns/components-pillgroup--pill-group-pattern.tsx +1 -1
  113. package/docs/patterns/components-promptbar--pattern-prompt-bar.tsx +1 -1
  114. package/docs/patterns/components-prose--article-body.tsx +1 -1
  115. package/docs/patterns/components-radio-radiogroup--default.tsx +1 -1
  116. package/docs/patterns/components-scrollhorizontal--project-gallery-pattern.tsx +1 -1
  117. package/docs/patterns/components-scrollhorizontal--with-intro.tsx +1 -1
  118. package/docs/patterns/components-sectioncaption--column-caption.tsx +1 -1
  119. package/docs/patterns/components-sectioncaption--with-action.tsx +1 -1
  120. package/docs/patterns/components-sheet--bottom-sheet.tsx +1 -1
  121. package/docs/patterns/components-sheet--end-sheet.tsx +1 -1
  122. package/docs/patterns/components-sitenav--brand-and-cta.tsx +1 -1
  123. package/docs/patterns/components-sitenav--centered-links.tsx +1 -1
  124. package/docs/patterns/components-sitenav--compact.tsx +1 -1
  125. package/docs/patterns/components-sitenav--marketing-header.tsx +1 -1
  126. package/docs/patterns/components-sitenav--mega-menu.tsx +1 -1
  127. package/docs/patterns/components-stat--insights-row.tsx +1 -1
  128. package/docs/patterns/components-stepprogress--step-progress-pattern.tsx +1 -1
  129. package/docs/patterns/components-switch--default.tsx +1 -1
  130. package/docs/patterns/components-switch--settings-row.tsx +1 -1
  131. package/docs/patterns/components-tab--settings-pages.tsx +1 -1
  132. package/docs/patterns/components-taskrows--action-details.tsx +1 -1
  133. package/docs/patterns/components-taskrows--capsules.tsx +1 -1
  134. package/docs/patterns/components-taskrows--card-with-status-rows.tsx +1 -1
  135. package/docs/patterns/components-taskrows--controlled-expand.tsx +1 -1
  136. package/docs/patterns/components-taskrows--custom-slots.tsx +1 -1
  137. package/docs/patterns/components-taskrows--status-list.tsx +1 -1
  138. package/docs/patterns/components-taskrows--tag-chips.tsx +1 -1
  139. package/docs/patterns/components-textlink--external-destination.tsx +1 -1
  140. package/docs/patterns/components-textlink--inline-prose.tsx +1 -1
  141. package/docs/patterns/components-textlink--quiet-title.tsx +1 -1
  142. package/docs/patterns/components-textlink--supporting-copy.tsx +1 -1
  143. package/docs/patterns/components-textsequence--default.tsx +1 -1
  144. package/docs/patterns/components-textsequence--reduced-motion.tsx +1 -1
  145. package/docs/patterns/components-textsequence--shapes.tsx +1 -1
  146. package/docs/patterns/components-toast--stacked-notifications.tsx +1 -1
  147. package/docs/patterns/components-tooltip--controlled.tsx +1 -1
  148. package/docs/patterns/components-tooltip--disabled-control.tsx +1 -1
  149. package/docs/patterns/components-tooltip--icon-action.tsx +1 -1
  150. package/docs/patterns/components-tooltip--keyboard-shortcut.tsx +1 -1
  151. package/docs/patterns/components-tooltip--placement.tsx +1 -1
  152. package/docs/patterns/foundations-scroll-fade--horizontal-rail.tsx +1 -1
  153. package/docs/patterns/foundations-scroll-fade--overflowing-list.tsx +1 -1
  154. package/docs/patterns/guides-chart-explorations--comparison-gallery.tsx +1 -1
  155. package/docs/patterns/guides-filter-panel--filtered-index.tsx +1 -1
  156. package/docs/patterns/guides-overlay-flows--notification-preferences.tsx +1 -1
  157. package/docs/patterns/guides-post-page--post-page.tsx +1 -1
  158. package/docs/patterns/guides-profile-typography--editorial-profile.tsx +1 -1
  159. package/docs/patterns/index.json +9 -1
  160. package/package.json +1 -1
@@ -4,9 +4,9 @@ export interface ChatDockGateLabels {
4
4
  previous: string;
5
5
  /** Header control on one step. Default: "Next step". */
6
6
  next: string;
7
- /** Header close outside **ChatDock**. Inside it the close folds the window and takes **ChatDock**'s `labels.close`. Default: "Close". */
7
+ /** @deprecated The gate has no close of its own: Cancel leaves it, and the window's close folds the window. Unused. */
8
8
  close: string;
9
- /** Footer close. Default: "Cancel". */
9
+ /** Footer action that leaves the gate. Default: "Cancel". */
10
10
  cancel: string;
11
11
  /** Footer primary action. Default: "Next". */
12
12
  continue: string;
@@ -17,7 +17,7 @@ export interface ChatDockGateLabels {
17
17
  }
18
18
  export declare const chatDockGateDefaultLabels: ChatDockGateLabels;
19
19
  export interface ChatDockGateProps {
20
- /** The step's title — the window's header while the gate is up. It also names the gate for screen readers. */
20
+ /** The step's title. It also names the gate for screen readers. */
21
21
  title: string;
22
22
  /** One line under the title. */
23
23
  subtitle?: string;
@@ -36,8 +36,8 @@ export interface ChatDockGateProps {
36
36
  /** Whether the visitor can move on from this step. Default: true. */
37
37
  canContinue?: boolean;
38
38
  /**
39
- * Leaves the gate — the footer's Cancel. Inside **ChatDock** the header's close and Escape fold the
40
- * window instead and keep the gate, with its progress, for when it reopens.
39
+ * Leaves the gate — the footer's Cancel. The gate has no close of its own: inside **ChatDock** the
40
+ * window's close and Escape fold the window and keep the gate. On its own, Escape calls it too.
41
41
  */
42
42
  onClose: () => void;
43
43
  /** Footer start — for example **CalEmbed.Skip** on a booking step. */
@@ -49,14 +49,16 @@ export interface ChatDockGateProps {
49
49
  /** The step's action failed — a line over the footer, announced. Keep the visitor's answers, and offer a retry through `onNext`. */
50
50
  error?: ReactNode;
51
51
  labels?: Partial<ChatDockGateLabels>;
52
- /** The step's content. Change it with `step`; the body slides between steps. */
52
+ /** The step's content. Change it with `step`; the step slides in. */
53
53
  children: ReactNode;
54
54
  }
55
55
  /**
56
- * A multi-step form that takes over the chat window — pass it as **ChatDock**'s `gate`. While it is
57
- * up the window is the form: one header with the step's title and subtitle, previous, progress, next,
58
- * and close; the step in a body that scrolls; Cancel and the primary action pinned to the window's
59
- * bottom edge. The header's close and Escape fold the window and keep the gate; Cancel leaves it.
56
+ * A multi-step form in the conversation — pass it as **ChatDock**'s `gate`. It sits under the latest
57
+ * message, set into the conversation as a well (hairline border, page floor, inset shade — embedded,
58
+ * not raised): the step's title and subtitle with previous,
59
+ * progress, and next; the step; Cancel and the primary action under a second hairline. It has no close
60
+ * of its own and never scrolls on its own — the window grows to fit it, and past that the conversation
61
+ * scrolls.
60
62
  */
61
63
  export declare const ChatDockGate: import("react").ForwardRefExoticComponent<ChatDockGateProps & import("react").RefAttributes<HTMLDivElement>>;
62
64
  //# sourceMappingURL=ChatDockGate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChatDockGate.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/ChatDock/ChatDockGate.tsx"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AA4Bf,MAAM,WAAW,kBAAkB;IACjC,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,CAAC;IACjB,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,yIAAyI;IACzI,KAAK,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,kEAAkE;IAClE,OAAO,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;CACvD;AAED,eAAO,MAAM,yBAAyB,EAAE,kBAQvC,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,8GAA8G;IAC9G,KAAK,EAAE,MAAM,CAAC;IACd,gCAAgC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,qEAAqE;IACrE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,sEAAsE;IACtE,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,iFAAiF;IACjF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0IAA0I;IAC1I,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oIAAoI;IACpI,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACrC,gFAAgF;IAChF,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;GAKG;AACH,eAAO,MAAM,YAAY,8GA8LvB,CAAC"}
1
+ {"version":3,"file":"ChatDockGate.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/ChatDock/ChatDockGate.tsx"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAwBf,MAAM,WAAW,kBAAkB;IACjC,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,CAAC;IACjB,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,uHAAuH;IACvH,KAAK,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,kEAAkE;IAClE,OAAO,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;CACvD;AAED,eAAO,MAAM,yBAAyB,EAAE,kBAQvC,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,mEAAmE;IACnE,KAAK,EAAE,MAAM,CAAC;IACd,gCAAgC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,qEAAqE;IACrE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,sEAAsE;IACtE,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,iFAAiF;IACjF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0IAA0I;IAC1I,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oIAAoI;IACpI,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACrC,qEAAqE;IACrE,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,8GAoKvB,CAAC"}
@@ -2,18 +2,16 @@
2
2
  import { motionTransitionProp as e } from "../../../lib/motion.js";
3
3
  import { Button as t } from "../../atoms/Button/Button.js";
4
4
  import { IconButton as n } from "../../atoms/IconButton/IconButton.js";
5
- import { cardSubtitleClasses as ee, cardTitleClasses as te } from "../../molecules/Card/cardStyles.js";
6
- import { Card as r } from "../../molecules/Card/Card.js";
7
- import { overlayPanelFooterHairlineClasses as ne, overlayPanelHeaderClasses as i, overlayPanelHeaderDelineatedInnerClasses as a, overlayPanelHeaderHairlineClasses as o } from "../Dialog/dialogStyles.js";
8
- import { useChatDockGateWindow as s } from "./chatDockGateContext.js";
9
- import { useChatDockReducedMotion as c, useChatDockWide as l } from "./chatDockViewport.js";
10
- import { chatDockGateBodyClasses as u, chatDockGateCardClasses as d, chatDockGateClasses as f, chatDockGateErrorClasses as p, chatDockGateFooterActionsClasses as m, chatDockGateFooterBlockClasses as h, chatDockGateFooterRowClasses as g, chatDockGateOccupantClasses as _, chatDockGatePendingClasses as v, chatDockGateProgressClasses as re } from "./chatDockGateStyles.js";
11
- import { forwardRef as y, useContext as ie, useId as b, useLayoutEffect as ae, useRef as oe, useState as x } from "react";
12
- import { ChevronLeft as se, ChevronRight as ce, X as S } from "lucide-react";
13
- import { Fragment as C, jsx as w, jsxs as T } from "react/jsx-runtime";
14
- import { AnimatePresence as E, MotionConfigContext as D, motion as O } from "motion/react";
5
+ import { cardSubtitleClasses as ee, cardTitleClasses as r } from "../../molecules/Card/cardStyles.js";
6
+ import { useChatDockGateWindow as i } from "./chatDockGateContext.js";
7
+ import { useChatDockReducedMotion as a, useChatDockWide as o } from "./chatDockViewport.js";
8
+ import { chatDockGateClasses as s, chatDockGateControlsClasses as c, chatDockGateErrorClasses as l, chatDockGateFooterActionsClasses as u, chatDockGateFooterBlockClasses as te, chatDockGateFooterRowClasses as d, chatDockGateFooterRuleClasses as f, chatDockGateHeaderClasses as p, chatDockGateHeadingClasses as m, chatDockGatePendingClasses as ne, chatDockGateProgressClasses as re, chatDockGateStepClasses as h } from "./chatDockGateStyles.js";
9
+ import { forwardRef as g, useContext as _, useId as v, useLayoutEffect as y, useRef as b, useState as x } from "react";
10
+ import { ChevronLeft as ie, ChevronRight as ae } from "lucide-react";
11
+ import { jsx as S, jsxs as C } from "react/jsx-runtime";
12
+ import { AnimatePresence as w, MotionConfigContext as T, motion as E } from "motion/react";
15
13
  //#region src/components/organisms/ChatDock/ChatDockGate.tsx
16
- var k = {
14
+ var D = {
17
15
  previous: "Previous step",
18
16
  next: "Next step",
19
17
  close: "Close",
@@ -21,170 +19,149 @@ var k = {
21
19
  continue: "Next",
22
20
  pending: "Sending…",
23
21
  progress: (e, t) => `${e} of ${t}`
24
- }, A = y(function({ title: y, subtitle: A, step: j, stepCount: M, onPrevious: N, onNext: P, canContinue: F = !0, onClose: I, footerStart: L, continueLabel: R, pending: z = !1, error: B, labels: V, children: le }, H) {
25
- let U = {
26
- ...k,
27
- ...V
28
- }, W = b(), G = b(), ue = l(), K = s(), { reducedMotion: de } = ie(D), fe = c(de), [q, pe] = x(j), [J, me] = x(1);
29
- j !== q && (me(j > q ? 1 : -1), pe(j));
30
- let Y = oe(null);
31
- ae(() => {
32
- let e = Y.current?.querySelector("[data-chat-dock-gate-body]");
33
- e != null && (e.scrollTop = 0);
34
- }, [j]);
35
- let X = e("fast"), Z = fe ? 0 : 16, Q = {
22
+ }, O = g(function({ title: g, subtitle: O, step: k, stepCount: A, onPrevious: j, onNext: M, canContinue: N = !0, onClose: P, footerStart: F, continueLabel: I, pending: L = !1, error: R, labels: oe, children: z }, B) {
23
+ let V = {
24
+ ...D,
25
+ ...oe
26
+ }, H = v(), U = v(), W = o(), G = i(), { reducedMotion: K } = _(T), q = a(K), [J, se] = x(k), [Y, ce] = x(1);
27
+ k !== J && (ce(k > J ? 1 : -1), se(k));
28
+ let X = b(null);
29
+ y(() => {
30
+ G?.revealGate();
31
+ }, [G, k]);
32
+ let Z = e("fast"), Q = q ? 0 : 16, le = {
36
33
  enter: (e) => ({
37
34
  opacity: 0,
38
- x: e * Z
35
+ x: e * Q
39
36
  }),
40
37
  center: {
41
38
  opacity: 1,
42
39
  x: 0,
43
- transition: X
40
+ transition: Z
44
41
  },
45
42
  exit: (e) => ({
46
43
  opacity: 0,
47
- x: -e * Z,
48
- transition: X
44
+ x: -e * Q,
45
+ transition: Z
49
46
  })
50
- }, $ = ue ? "sm" : "md", he = P != null && F && j < M && !z, ge = K?.closeWindow ?? I;
51
- function _e(e) {
52
- K != null || e.key !== "Escape" || e.defaultPrevented || (e.preventDefault(), I());
47
+ }, $ = W ? "sm" : "md", ue = M != null && N && k < A && !L;
48
+ function de(e) {
49
+ G != null || e.key !== "Escape" || e.defaultPrevented || (e.preventDefault(), P());
53
50
  }
54
- return /* @__PURE__ */ w("div", {
51
+ return /* @__PURE__ */ C("div", {
55
52
  ref: (e) => {
56
- Y.current = e, typeof H == "function" ? H(e) : H != null && (H.current = e);
53
+ X.current = e, typeof B == "function" ? B(e) : B != null && (B.current = e);
57
54
  },
58
- className: f,
55
+ className: s,
59
56
  role: "group",
60
- "aria-labelledby": W,
61
- "aria-describedby": A == null ? void 0 : G,
62
- "aria-busy": z || void 0,
57
+ "aria-labelledby": H,
58
+ "aria-describedby": O == null ? void 0 : U,
59
+ "aria-busy": L || void 0,
63
60
  tabIndex: -1,
64
61
  "data-chat-dock-gate-focus": "",
65
- "data-step": j,
66
- onKeyDown: _e,
67
- children: /* @__PURE__ */ T(r, {
68
- as: "section",
69
- shape: "flush",
70
- padding: "none",
71
- variant: "ghost",
72
- headerless: !1,
73
- bodyTerminal: !1,
74
- className: d,
75
- children: [
76
- /* @__PURE__ */ T("div", {
77
- className: `${i} w-full`,
78
- children: [/* @__PURE__ */ w(r.Header, {
79
- className: a,
80
- start: /* @__PURE__ */ T(C, { children: [/* @__PURE__ */ w("h2", {
81
- id: W,
82
- className: te,
83
- children: y
84
- }), A == null ? null : /* @__PURE__ */ w("p", {
85
- id: G,
86
- className: ee,
87
- children: A
88
- })] }),
89
- end: /* @__PURE__ */ T(C, { children: [
90
- /* @__PURE__ */ w(n, {
91
- size: $,
92
- icon: /* @__PURE__ */ w(se, {}),
93
- "aria-label": U.previous,
94
- disabled: j <= 1 || z,
95
- onClick: N
96
- }),
97
- /* @__PURE__ */ w("span", {
98
- className: re,
99
- "aria-live": "polite",
100
- children: U.progress(j, M)
101
- }),
102
- /* @__PURE__ */ w(n, {
103
- size: $,
104
- icon: /* @__PURE__ */ w(ce, {}),
105
- "aria-label": U.next,
106
- disabled: !he,
107
- onClick: P
108
- }),
109
- /* @__PURE__ */ w(n, {
110
- size: $,
111
- icon: /* @__PURE__ */ w(S, {}),
112
- "aria-label": K?.closeLabel ?? U.close,
113
- onClick: ge
114
- })
115
- ] })
116
- }), /* @__PURE__ */ w("hr", {
117
- className: o,
118
- "aria-hidden": "true"
62
+ "data-step": k,
63
+ onKeyDown: de,
64
+ children: [
65
+ /* @__PURE__ */ C("div", {
66
+ className: p,
67
+ children: [/* @__PURE__ */ C("div", {
68
+ className: m,
69
+ children: [/* @__PURE__ */ S("h3", {
70
+ id: H,
71
+ className: r,
72
+ children: g
73
+ }), O == null ? null : /* @__PURE__ */ S("p", {
74
+ id: U,
75
+ className: ee,
76
+ children: O
119
77
  })]
120
- }),
121
- /* @__PURE__ */ w(r.Body, {
122
- className: u,
123
- "data-chat-dock-gate-body": "",
124
- children: /* @__PURE__ */ w(E, {
125
- mode: "wait",
126
- initial: !1,
127
- custom: J,
128
- onExitComplete: () => {
129
- let e = Y.current;
130
- e != null && !e.contains(document.activeElement) && e.focus({ preventScroll: !0 });
131
- },
132
- children: /* @__PURE__ */ w(O.div, {
133
- className: _,
134
- custom: J,
135
- variants: Q,
136
- initial: "enter",
137
- animate: "center",
138
- exit: "exit",
139
- children: le
140
- }, j)
141
- })
142
- }),
143
- /* @__PURE__ */ T("div", {
144
- className: h,
78
+ }), /* @__PURE__ */ C("div", {
79
+ className: c,
145
80
  children: [
146
- /* @__PURE__ */ w("hr", {
147
- className: ne,
148
- "aria-hidden": "true"
81
+ /* @__PURE__ */ S(n, {
82
+ size: $,
83
+ icon: /* @__PURE__ */ S(ie, {}),
84
+ "aria-label": V.previous,
85
+ disabled: k <= 1 || L,
86
+ onClick: j
149
87
  }),
150
- /* @__PURE__ */ w("div", {
151
- role: "status",
152
- children: z ? /* @__PURE__ */ w("p", {
153
- className: v,
154
- children: U.pending
155
- }) : null
88
+ /* @__PURE__ */ S("span", {
89
+ className: re,
90
+ "aria-live": "polite",
91
+ children: V.progress(k, A)
156
92
  }),
157
- !z && B != null ? /* @__PURE__ */ w("p", {
158
- className: p,
159
- role: "alert",
160
- children: B
161
- }) : null,
162
- /* @__PURE__ */ T(r.Footer, {
163
- className: g,
164
- children: [L, /* @__PURE__ */ T("div", {
165
- className: m,
166
- children: [/* @__PURE__ */ w(t, {
167
- role: "secondary",
168
- size: $,
169
- type: "button",
170
- disabled: z,
171
- onClick: I,
172
- children: U.cancel
173
- }), P == null ? null : /* @__PURE__ */ w(t, {
174
- role: "primary",
175
- size: $,
176
- type: "button",
177
- disabled: !F || z,
178
- onClick: P,
179
- children: R ?? U.continue
180
- })]
181
- })]
93
+ /* @__PURE__ */ S(n, {
94
+ size: $,
95
+ icon: /* @__PURE__ */ S(ae, {}),
96
+ "aria-label": V.next,
97
+ disabled: !ue,
98
+ onClick: M
182
99
  })
183
100
  ]
184
- })
185
- ]
186
- })
101
+ })]
102
+ }),
103
+ /* @__PURE__ */ S(w, {
104
+ mode: "wait",
105
+ initial: !1,
106
+ custom: Y,
107
+ onExitComplete: () => {
108
+ let e = X.current;
109
+ e != null && !e.contains(document.activeElement) && e.focus({ preventScroll: !0 });
110
+ },
111
+ children: /* @__PURE__ */ S(E.div, {
112
+ className: h,
113
+ custom: Y,
114
+ variants: le,
115
+ initial: "enter",
116
+ animate: "center",
117
+ exit: "exit",
118
+ children: z
119
+ }, k)
120
+ }),
121
+ /* @__PURE__ */ C("div", {
122
+ className: te,
123
+ children: [
124
+ /* @__PURE__ */ S("hr", {
125
+ className: f,
126
+ "aria-hidden": "true"
127
+ }),
128
+ /* @__PURE__ */ S("div", {
129
+ role: "status",
130
+ children: L ? /* @__PURE__ */ S("p", {
131
+ className: ne,
132
+ children: V.pending
133
+ }) : null
134
+ }),
135
+ !L && R != null ? /* @__PURE__ */ S("p", {
136
+ className: l,
137
+ role: "alert",
138
+ children: R
139
+ }) : null,
140
+ /* @__PURE__ */ C("div", {
141
+ className: d,
142
+ children: [F, /* @__PURE__ */ C("div", {
143
+ className: u,
144
+ children: [/* @__PURE__ */ S(t, {
145
+ role: "secondary",
146
+ size: $,
147
+ type: "button",
148
+ disabled: L,
149
+ onClick: P,
150
+ children: V.cancel
151
+ }), M == null ? null : /* @__PURE__ */ S(t, {
152
+ role: "primary",
153
+ size: $,
154
+ type: "button",
155
+ disabled: !N || L,
156
+ onClick: M,
157
+ children: I ?? V.continue
158
+ })]
159
+ })]
160
+ })
161
+ ]
162
+ })
163
+ ]
187
164
  });
188
165
  });
189
166
  //#endregion
190
- export { A as ChatDockGate, k as chatDockGateDefaultLabels };
167
+ export { O as ChatDockGate, D as chatDockGateDefaultLabels };
@@ -1,11 +1,12 @@
1
- /** What **ChatDock** hands the gate in its window. */
1
+ /** What **ChatDock** hands the gate in its conversation. */
2
2
  export interface ChatDockGateContextValue {
3
- /** Folds the window. The gate stays, with its progress, for when the window reopens. */
4
- closeWindow: () => void;
5
- /** Name of the gate's header close — **ChatDock**'s `labels.close`. */
6
- closeLabel: string;
3
+ /**
4
+ * Brings the gate into view in the conversation — the whole form when it fits, otherwise its top.
5
+ * The gate asks on mount and on each step.
6
+ */
7
+ revealGate: () => void;
7
8
  }
8
9
  export declare const ChatDockGateContext: import("react").Context<ChatDockGateContextValue | null>;
9
- /** The window the gate fills, or `null` outside **ChatDock**. */
10
+ /** The conversation the gate sits in, or `null` outside **ChatDock**. */
10
11
  export declare function useChatDockGateWindow(): ChatDockGateContextValue | null;
11
12
  //# sourceMappingURL=chatDockGateContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chatDockGateContext.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/ChatDock/chatDockGateContext.ts"],"names":[],"mappings":"AAEA,sDAAsD;AACtD,MAAM,WAAW,wBAAwB;IACvC,wFAAwF;IACxF,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,uEAAuE;IACvE,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,mBAAmB,0DAAuD,CAAC;AAExF,iEAAiE;AACjE,wBAAgB,qBAAqB,IAAI,wBAAwB,GAAG,IAAI,CAEvE"}
1
+ {"version":3,"file":"chatDockGateContext.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/ChatDock/chatDockGateContext.ts"],"names":[],"mappings":"AAEA,4DAA4D;AAC5D,MAAM,WAAW,wBAAwB;IACvC;;;OAGG;IACH,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,eAAO,MAAM,mBAAmB,0DAAuD,CAAC;AAExF,yEAAyE;AACzE,wBAAgB,qBAAqB,IAAI,wBAAwB,GAAG,IAAI,CAEvE"}
@@ -1,17 +1,25 @@
1
- /** The gate — fills the chat window, and takes focus (ChatDock moves focus here). */
2
- export declare const chatDockGateClasses = "flex h-full min-h-0 flex-col outline-none";
3
- /** The flush Card shell, as tall as the window, so the body scrolls between the header and the footer. */
4
- export declare const chatDockGateCardClasses = "h-full min-h-0";
5
- /** The step body — takes the height the header and footer leave, and scrolls. */
6
- export declare const chatDockGateBodyClasses = "overscroll-contain";
7
- /** One step, on the window surface — lined up with the header and footer at 16px. */
8
- export declare const chatDockGateOccupantClasses: string;
1
+ /**
2
+ * The gate — a well set into the conversation: a hairline border at the card body radius, the page
3
+ * floor inside, and an inset shade under its top edge, so it reads as embedded rather than raised. As
4
+ * wide as the conversation's turns. Focusable: ChatDock moves focus here; the ring sits inside.
5
+ */
6
+ export declare const chatDockGateClasses: string;
7
+ /** The step's title and subtitle, with previous, progress, and next at the end. */
8
+ export declare const chatDockGateHeaderClasses = "flex items-start justify-between gap-3";
9
+ /** Title and subtitle, one block. */
10
+ export declare const chatDockGateHeadingClasses = "flex min-w-0 flex-1 flex-col";
11
+ /** Previous, "2 of 4", next. */
12
+ export declare const chatDockGateControlsClasses = "-me-2 flex shrink-0 items-center gap-1";
13
+ /** One step. It never scrolls on its own: the conversation scrolls, and the window grows first. */
14
+ export declare const chatDockGateStepClasses = "flex flex-col gap-3";
9
15
  /** "2 of 4" between the header controls. */
10
16
  export declare const chatDockGateProgressClasses: string;
11
17
  /** The footer block: the hairline, then the pending or error line, then the actions. */
12
- export declare const chatDockGateFooterBlockClasses = "flex w-full shrink-0 flex-col";
13
- /** The footer row under its hairline. */
14
- export declare const chatDockGateFooterRowClasses = "pt-3";
18
+ export declare const chatDockGateFooterBlockClasses = "flex w-full flex-col";
19
+ /** Hairline over the footer. */
20
+ export declare const chatDockGateFooterRuleClasses = "m-0 w-full border-0 border-t border-border p-0";
21
+ /** The footer row — the start slot, then Cancel and the primary action at the end. */
22
+ export declare const chatDockGateFooterRowClasses = "flex items-center justify-between gap-3 pt-3";
15
23
  /** Cancel and the primary action, at the end of the footer. */
16
24
  export declare const chatDockGateFooterActionsClasses = "ml-auto flex items-center gap-2";
17
25
  /** While the step's action runs — muted caption over the actions. */
@@ -1 +1 @@
1
- {"version":3,"file":"chatDockGateStyles.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/ChatDock/chatDockGateStyles.ts"],"names":[],"mappings":"AAIA,qFAAqF;AACrF,eAAO,MAAM,mBAAmB,8CAA8C,CAAC;AAE/E,0GAA0G;AAC1G,eAAO,MAAM,uBAAuB,mBAAmB,CAAC;AAExD,iFAAiF;AACjF,eAAO,MAAM,uBAAuB,uBAAuB,CAAC;AAE5D,qFAAqF;AACrF,eAAO,MAAM,2BAA2B,QAAsE,CAAC;AAE/G,4CAA4C;AAC5C,eAAO,MAAM,2BAA2B,QAAiE,CAAC;AAE1G,wFAAwF;AACxF,eAAO,MAAM,8BAA8B,kCAAkC,CAAC;AAE9E,yCAAyC;AACzC,eAAO,MAAM,4BAA4B,SAAS,CAAC;AAEnD,+DAA+D;AAC/D,eAAO,MAAM,gCAAgC,oCAAoC,CAAC;AAElF,qEAAqE;AACrE,eAAO,MAAM,0BAA0B,QAAoF,CAAC;AAE5H,iEAAiE;AACjE,eAAO,MAAM,wBAAwB,QAAoF,CAAC"}
1
+ {"version":3,"file":"chatDockGateStyles.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/ChatDock/chatDockGateStyles.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,QAG/B,CAAC;AAEF,mFAAmF;AACnF,eAAO,MAAM,yBAAyB,2CAA2C,CAAC;AAElF,qCAAqC;AACrC,eAAO,MAAM,0BAA0B,iCAAiC,CAAC;AAEzE,gCAAgC;AAChC,eAAO,MAAM,2BAA2B,2CAA2C,CAAC;AAEpF,mGAAmG;AACnG,eAAO,MAAM,uBAAuB,wBAAwB,CAAC;AAE7D,4CAA4C;AAC5C,eAAO,MAAM,2BAA2B,QAAiE,CAAC;AAE1G,wFAAwF;AACxF,eAAO,MAAM,8BAA8B,yBAAyB,CAAC;AAErE,gCAAgC;AAChC,eAAO,MAAM,6BAA6B,mDAAmD,CAAC;AAE9F,sFAAsF;AACtF,eAAO,MAAM,4BAA4B,iDAAiD,CAAC;AAE3F,+DAA+D;AAC/D,eAAO,MAAM,gCAAgC,oCAAoC,CAAC;AAElF,qEAAqE;AACrE,eAAO,MAAM,0BAA0B,QAAoD,CAAC;AAE5F,iEAAiE;AACjE,eAAO,MAAM,wBAAwB,QAAoD,CAAC"}
@@ -1,8 +1,7 @@
1
1
  "use client";
2
2
  import { cn as e } from "../../../lib/cn.js";
3
3
  import { typographyClass as t } from "../../../lib/typography.js";
4
- import { cardLayoutBodyOccupantInsetXClasses as n, cardLayoutSectionInsetXClasses as r } from "../../molecules/Card/cardStyles.js";
5
4
  //#region src/components/organisms/ChatDock/chatDockGateStyles.ts
6
- var i = "flex h-full min-h-0 flex-col outline-none", a = "h-full min-h-0", o = "overscroll-contain", s = e(n, "flex flex-col gap-3 pb-1"), c = e(t("caption"), "px-1 text-muted tabular-nums"), l = "flex w-full shrink-0 flex-col", u = "pt-3", d = "ml-auto flex items-center gap-2", f = e(r, t("caption"), "pt-3 text-muted"), p = e(r, t("caption"), "pt-3 text-error");
5
+ var n = e("flex flex-col gap-3 rounded-[var(--radius-card-body)] border border-border bg-body px-4 py-3 shadow-inset-well", "outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-focus-ring"), r = "flex items-start justify-between gap-3", i = "flex min-w-0 flex-1 flex-col", a = "-me-2 flex shrink-0 items-center gap-1", o = "flex flex-col gap-3", s = e(t("caption"), "px-1 text-muted tabular-nums"), c = "flex w-full flex-col", l = "m-0 w-full border-0 border-t border-border p-0", u = "flex items-center justify-between gap-3 pt-3", d = "ml-auto flex items-center gap-2", f = e(t("caption"), "pt-3 text-muted"), p = e(t("caption"), "pt-3 text-error");
7
6
  //#endregion
8
- export { o as chatDockGateBodyClasses, a as chatDockGateCardClasses, i as chatDockGateClasses, p as chatDockGateErrorClasses, d as chatDockGateFooterActionsClasses, l as chatDockGateFooterBlockClasses, u as chatDockGateFooterRowClasses, s as chatDockGateOccupantClasses, f as chatDockGatePendingClasses, c as chatDockGateProgressClasses };
7
+ export { n as chatDockGateClasses, a as chatDockGateControlsClasses, p as chatDockGateErrorClasses, d as chatDockGateFooterActionsClasses, c as chatDockGateFooterBlockClasses, u as chatDockGateFooterRowClasses, l as chatDockGateFooterRuleClasses, r as chatDockGateHeaderClasses, i as chatDockGateHeadingClasses, f as chatDockGatePendingClasses, s as chatDockGateProgressClasses, o as chatDockGateStepClasses };
@@ -12,10 +12,6 @@ export type ChatDockPlacement = (typeof chatDockPlacements)[number];
12
12
  export declare const chatDockRootClasses: Record<ChatDockPlacement, string>;
13
13
  /** While the window is on screen, phones lift the dock above **SiteNav**: the window fills the screen. */
14
14
  export declare const chatDockRootRaisedClasses = "max-md:z-[60]";
15
- /** While a gate fills the window, the dock and its scrim sit above **SiteNav** on every screen. */
16
- export declare const chatDockRootModalClasses = "z-[60]";
17
- /** The scrim behind a gate — the `--color-overlay` token over the whole page. A click on it folds the window. */
18
- export declare const chatDockScrimClasses = "pointer-events-auto fixed inset-0 bg-overlay";
19
15
  /** The dock's column — the page grid narrowed to the composer width. */
20
16
  export declare const chatDockGridClasses = "grid-page [--grid-max:40rem]";
21
17
  /** The dock: suggestion pills, the window behind the composer, and the composer. */
@@ -47,10 +43,14 @@ export declare const chatDockWindowClasses: Record<ChatDockPlacement, string>;
47
43
  */
48
44
  export declare const chatDockWindowContentClasses = "flex h-full flex-col gap-3 pt-4 pb-[calc(var(--chat-dock-composer,3.25rem)+0.75rem)]";
49
45
  /**
50
- * Scrolling conversation — greeting, turns, and the thinking row. It takes focus so a keyboard can
51
- * scroll it when nothing inside does; the ring sits inside its edge.
46
+ * Scrolling conversation — greeting, turns, the thinking row, and a gate. It takes focus so a
47
+ * keyboard can scroll it when nothing inside does; the ring sits inside its edge.
52
48
  */
53
49
  export declare const chatDockThreadClasses: string;
50
+ /** The conversation's turns, one gap apart. Measured so the window can grow to fit a gate. */
51
+ export declare const chatDockThreadContentClasses = "flex flex-col gap-4";
52
+ /** A gate's place in the conversation — under the latest message, as wide as the turns. */
53
+ export declare const chatDockGateSlotClasses = "flex flex-col";
54
54
  /** Assistant text — the greeting and replies. */
55
55
  export declare const chatDockAssistantMessageClasses: string;
56
56
  /** A reply with a row under it — the hover and focus group for that row. */
@@ -86,12 +86,6 @@ export declare const chatDockFollowUpRowClasses = "flex min-h-11 md:min-h-9";
86
86
  export declare const chatDockFollowUpsComposerClasses: string;
87
87
  /** The composer — on top of the window, in the same place whether the window is open or not. */
88
88
  export declare const chatDockComposerClasses = "relative";
89
- /** The conversation or the composer once it has faded out behind a gate: kept in place, out of reach. */
90
- export declare const chatDockComposerHiddenClasses = "invisible";
91
- /**
92
- * The gate's layer — the whole window. On phones the footer clears the home indicator.
93
- */
94
- export declare const chatDockGateLayerClasses: Record<ChatDockPlacement, string>;
95
89
  /**
96
90
  * The brand mark at the start of the resting composer. It folds to nothing while the window is open
97
91
  * (the header shows the mark), so the field starts where a composer without a mark starts.
@@ -1 +1 @@
1
- {"version":3,"file":"chatDockStyles.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/ChatDock/chatDockStyles.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,kBAAkB,8BAA+B,CAAC;AAE/D;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpE;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAIjE,CAAC;AAEF,0GAA0G;AAC1G,eAAO,MAAM,yBAAyB,kBAAkB,CAAC;AAEzD,mGAAmG;AACnG,eAAO,MAAM,wBAAwB,WAAW,CAAC;AAEjD,iHAAiH;AACjH,eAAO,MAAM,oBAAoB,iDAAiD,CAAC;AAEnF,wEAAwE;AACxE,eAAO,MAAM,mBAAmB,iCAAiC,CAAC;AAElE,oFAAoF;AACpF,eAAO,MAAM,mBAAmB,+CAA+C,CAAC;AAEhF,8EAA8E;AAC9E,eAAO,MAAM,wBAAwB,UAAU,CAAC;AAEhD;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,QAIhC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,QAO/B,CAAC;AAIF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAOnE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,4BAA4B,yFAAyF,CAAC;AAEnI;;;GAGG;AACH,eAAO,MAAM,qBAAqB,QAIjC,CAAC;AAEF,iDAAiD;AACjD,eAAO,MAAM,+BAA+B,QAAyC,CAAC;AAEtF,4EAA4E;AAC5E,eAAO,MAAM,oBAAoB,oCAAoC,CAAC;AAEtE;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,QAKvC,CAAC;AAEF,mFAAmF;AACnF,eAAO,MAAM,kCAAkC,wBAAwB,CAAC;AAExE,+IAA+I;AAC/I,eAAO,MAAM,2BAA2B,6CAA6C,CAAC;AAEtF,qDAAqD;AACrD,eAAO,MAAM,wBAAwB,QAA4D,CAAC;AAElG,+GAA+G;AAC/G,eAAO,MAAM,0BAA0B,QAGtC,CAAC;AAEF,eAAO,MAAM,uBAAuB,QAGnC,CAAC;AAEF,4EAA4E;AAC5E,eAAO,MAAM,6BAA6B,QAGzC,CAAC;AAEF,kEAAkE;AAClE,eAAO,MAAM,mCAAmC,QAG/C,CAAC;AAEF,eAAO,MAAM,8BAA8B,qBAAqB,CAAC;AAEjE,6GAA6G;AAC7G,eAAO,MAAM,8BAA8B,wBAAwB,CAAC;AAEpE;;;GAGG;AACH,eAAO,MAAM,0BAA0B,6BAA6B,CAAC;AAErE,4GAA4G;AAC5G,eAAO,MAAM,gCAAgC,QAAsE,CAAC;AAEpH,gGAAgG;AAChG,eAAO,MAAM,uBAAuB,aAAa,CAAC;AAElD,yGAAyG;AACzG,eAAO,MAAM,6BAA6B,cAAc,CAAC;AAEzD;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAGtE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,0CAA0C,CAAC;AAE3E,+FAA+F;AAC/F,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAGvE,CAAC;AAEF,4FAA4F;AAC5F,eAAO,MAAM,iCAAiC,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAG/E,CAAC"}
1
+ {"version":3,"file":"chatDockStyles.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/ChatDock/chatDockStyles.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,kBAAkB,8BAA+B,CAAC;AAE/D;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpE;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAIjE,CAAC;AAEF,0GAA0G;AAC1G,eAAO,MAAM,yBAAyB,kBAAkB,CAAC;AAGzD,wEAAwE;AACxE,eAAO,MAAM,mBAAmB,iCAAiC,CAAC;AAElE,oFAAoF;AACpF,eAAO,MAAM,mBAAmB,+CAA+C,CAAC;AAEhF,8EAA8E;AAC9E,eAAO,MAAM,wBAAwB,UAAU,CAAC;AAEhD;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,QAIhC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,QAO/B,CAAC;AAIF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAOnE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,4BAA4B,yFAAyF,CAAC;AAEnI;;;GAGG;AACH,eAAO,MAAM,qBAAqB,QAIjC,CAAC;AAEF,8FAA8F;AAC9F,eAAO,MAAM,4BAA4B,wBAAwB,CAAC;AAElE,2FAA2F;AAC3F,eAAO,MAAM,uBAAuB,kBAAkB,CAAC;AAEvD,iDAAiD;AACjD,eAAO,MAAM,+BAA+B,QAAyC,CAAC;AAEtF,4EAA4E;AAC5E,eAAO,MAAM,oBAAoB,oCAAoC,CAAC;AAEtE;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,QAKvC,CAAC;AAEF,mFAAmF;AACnF,eAAO,MAAM,kCAAkC,wBAAwB,CAAC;AAExE,+IAA+I;AAC/I,eAAO,MAAM,2BAA2B,6CAA6C,CAAC;AAEtF,qDAAqD;AACrD,eAAO,MAAM,wBAAwB,QAA4D,CAAC;AAElG,+GAA+G;AAC/G,eAAO,MAAM,0BAA0B,QAGtC,CAAC;AAEF,eAAO,MAAM,uBAAuB,QAGnC,CAAC;AAEF,4EAA4E;AAC5E,eAAO,MAAM,6BAA6B,QAGzC,CAAC;AAEF,kEAAkE;AAClE,eAAO,MAAM,mCAAmC,QAG/C,CAAC;AAEF,eAAO,MAAM,8BAA8B,qBAAqB,CAAC;AAEjE,6GAA6G;AAC7G,eAAO,MAAM,8BAA8B,wBAAwB,CAAC;AAEpE;;;GAGG;AACH,eAAO,MAAM,0BAA0B,6BAA6B,CAAC;AAErE,4GAA4G;AAC5G,eAAO,MAAM,gCAAgC,QAAsE,CAAC;AAEpH,gGAAgG;AAChG,eAAO,MAAM,uBAAuB,aAAa,CAAC;AAGlD;;;GAGG;AACH,eAAO,MAAM,mBAAmB,0CAA0C,CAAC;AAE3E,+FAA+F;AAC/F,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAGvE,CAAC;AAEF,4FAA4F;AAC5F,eAAO,MAAM,iCAAiC,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAG/E,CAAC"}
@@ -7,18 +7,15 @@ import { cardLayoutSectionInsetXClasses as r } from "../../molecules/Card/cardSt
7
7
  var i = ["fixed", "inline"], a = {
8
8
  fixed: "pointer-events-none fixed inset-x-0 bottom-[var(--chat-dock-vv-bottom,0px)] z-40 pb-[max(1rem,env(safe-area-inset-bottom))]",
9
9
  inline: "relative flex min-h-[32rem] w-full flex-col justify-end"
10
- }, o = "max-md:z-[60]", s = "z-[60]", c = "pointer-events-auto fixed inset-0 bg-overlay", l = "grid-page [--grid-max:40rem]", u = "pointer-events-auto relative col-span-full", d = "group", f = e("absolute inset-x-0 bottom-full flex flex-wrap justify-center gap-2 pb-3", "invisible group-hover:visible transition-[visibility]", n("fast")), p = e("inline-flex translate-y-2 opacity-0", "group-hover:translate-y-0 group-hover:opacity-100", "group-hover:[transition-delay:calc(var(--motion-stagger)*var(--chat-dock-pill-index,0))]", "motion-reduce:translate-y-0", "transition-[opacity,transform]", n("fast")), m = "overflow-hidden bg-surface font-sans text-fg shadow-soft-card", h = {
11
- fixed: e(m, "fixed inset-x-0 top-[var(--chat-dock-vv-top,0px)] bottom-[var(--chat-dock-vv-bottom,0px)] rounded-none", "md:absolute md:top-auto md:bottom-0"),
12
- inline: e(m, "absolute inset-x-0 bottom-0")
13
- }, g = "flex h-full flex-col gap-3 pt-4 pb-[calc(var(--chat-dock-composer,3.25rem)+0.75rem)]", _ = e(r, "flex min-h-0 flex-1 flex-col gap-4 overflow-y-auto overscroll-contain pb-2", "outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-focus-ring"), v = e(t("body"), "text-fg"), y = "group/reply flex flex-col gap-1", b = e("flex min-h-11 items-center gap-1 md:min-h-9", "[@media(hover:hover)]:group-[:not(:hover,:focus-within)]/reply:opacity-0", "transition-[opacity,visibility]", n("fast")), x = "invisible opacity-0", S = "-ms-3 flex items-center gap-1 md:-ms-2.5", C = e(t("caption"), "text-muted tabular-nums"), w = e(t("body"), "ml-auto max-w-[85%] rounded-[var(--radius-card-body)] bg-brand-tint px-3.5 py-2 text-fg"), T = e(t("caption"), "flex items-center gap-2 text-muted"), E = e(r, "flex shrink-0 flex-col gap-1 border-t border-border pt-3"), D = e(t("body"), "flex min-w-0 items-center gap-3 text-muted"), O = "min-w-0 truncate", k = "-mt-2 flex flex-col", A = "flex min-h-11 md:min-h-9", j = e(r, "flex shrink-0 flex-wrap gap-2"), M = "relative", N = "invisible", P = {
14
- fixed: "absolute inset-0 flex flex-col max-md:pb-[env(safe-area-inset-bottom,0px)]",
15
- inline: "absolute inset-0 flex flex-col"
16
- }, F = "flex h-9 items-center overflow-hidden", I = {
10
+ }, o = "max-md:z-[60]", s = "grid-page [--grid-max:40rem]", c = "pointer-events-auto relative col-span-full", l = "group", u = e("absolute inset-x-0 bottom-full flex flex-wrap justify-center gap-2 pb-3", "invisible group-hover:visible transition-[visibility]", n("fast")), d = e("inline-flex translate-y-2 opacity-0", "group-hover:translate-y-0 group-hover:opacity-100", "group-hover:[transition-delay:calc(var(--motion-stagger)*var(--chat-dock-pill-index,0))]", "motion-reduce:translate-y-0", "transition-[opacity,transform]", n("fast")), f = "overflow-hidden bg-surface font-sans text-fg shadow-soft-card", p = {
11
+ fixed: e(f, "fixed inset-x-0 top-[var(--chat-dock-vv-top,0px)] bottom-[var(--chat-dock-vv-bottom,0px)] rounded-none", "md:absolute md:top-auto md:bottom-0"),
12
+ inline: e(f, "absolute inset-x-0 bottom-0")
13
+ }, m = "flex h-full flex-col gap-3 pt-4 pb-[calc(var(--chat-dock-composer,3.25rem)+0.75rem)]", h = e(r, "min-h-0 flex-1 overflow-y-auto overscroll-contain pb-2", "outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-focus-ring"), g = "flex flex-col gap-4", _ = "flex flex-col", v = e(t("body"), "text-fg"), y = "group/reply flex flex-col gap-1", b = e("flex min-h-11 items-center gap-1 md:min-h-9", "[@media(hover:hover)]:group-[:not(:hover,:focus-within)]/reply:opacity-0", "transition-[opacity,visibility]", n("fast")), x = "invisible opacity-0", S = "-ms-3 flex items-center gap-1 md:-ms-2.5", C = e(t("caption"), "text-muted tabular-nums"), w = e(t("body"), "ml-auto max-w-[85%] rounded-[var(--radius-card-body)] bg-brand-tint px-3.5 py-2 text-fg"), T = e(t("caption"), "flex items-center gap-2 text-muted"), E = e(r, "flex shrink-0 flex-col gap-1 border-t border-border pt-3"), D = e(t("body"), "flex min-w-0 items-center gap-3 text-muted"), O = "min-w-0 truncate", k = "-mt-2 flex flex-col", A = "flex min-h-11 md:min-h-9", j = e(r, "flex shrink-0 flex-wrap gap-2"), M = "relative", N = "flex h-9 items-center overflow-hidden", P = {
17
14
  fixed: e(t("caption"), "pt-2 text-center text-muted md:pb-3"),
18
15
  inline: e(t("caption"), "pt-2 pb-3 text-center text-muted")
19
- }, L = {
16
+ }, F = {
20
17
  fixed: "md:h-4",
21
18
  inline: "h-4"
22
19
  };
23
20
  //#endregion
24
- export { v as chatDockAssistantMessageClasses, M as chatDockComposerClasses, L as chatDockComposerFootSpacerClasses, N as chatDockComposerHiddenClasses, I as chatDockDisclaimerClasses, u as chatDockDockClasses, d as chatDockDockHoverClasses, A as chatDockFollowUpRowClasses, j as chatDockFollowUpsComposerClasses, k as chatDockFollowUpsInlineClasses, P as chatDockGateLayerClasses, l as chatDockGridClasses, F as chatDockMarkClasses, p as chatDockPillClasses, f as chatDockPillsClasses, i as chatDockPlacements, b as chatDockReplyActionsClasses, x as chatDockReplyActionsPendingClasses, S as chatDockReplyButtonsClasses, y as chatDockReplyClasses, C as chatDockReplyMetaClasses, a as chatDockRootClasses, s as chatDockRootModalClasses, o as chatDockRootRaisedClasses, c as chatDockScrimClasses, O as chatDockSuggestionLabelClasses, E as chatDockSuggestionListClasses, D as chatDockSuggestionRowContentClasses, T as chatDockThinkingClasses, _ as chatDockThreadClasses, w as chatDockUserMessageClasses, h as chatDockWindowClasses, g as chatDockWindowContentClasses };
21
+ export { v as chatDockAssistantMessageClasses, M as chatDockComposerClasses, F as chatDockComposerFootSpacerClasses, P as chatDockDisclaimerClasses, c as chatDockDockClasses, l as chatDockDockHoverClasses, A as chatDockFollowUpRowClasses, j as chatDockFollowUpsComposerClasses, k as chatDockFollowUpsInlineClasses, _ as chatDockGateSlotClasses, s as chatDockGridClasses, N as chatDockMarkClasses, d as chatDockPillClasses, u as chatDockPillsClasses, i as chatDockPlacements, b as chatDockReplyActionsClasses, x as chatDockReplyActionsPendingClasses, S as chatDockReplyButtonsClasses, y as chatDockReplyClasses, C as chatDockReplyMetaClasses, a as chatDockRootClasses, o as chatDockRootRaisedClasses, O as chatDockSuggestionLabelClasses, E as chatDockSuggestionListClasses, D as chatDockSuggestionRowContentClasses, T as chatDockThinkingClasses, h as chatDockThreadClasses, g as chatDockThreadContentClasses, w as chatDockUserMessageClasses, p as chatDockWindowClasses, m as chatDockWindowContentClasses };