@flamingo-stack/openframe-frontend-core 0.0.416-snapshot.20260712013500 → 0.0.416

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 (105) hide show
  1. package/dist/{chunk-42KMUJFK.cjs → chunk-234A5WF2.cjs} +26 -26
  2. package/dist/{chunk-42KMUJFK.cjs.map → chunk-234A5WF2.cjs.map} +1 -1
  3. package/dist/{chunk-S52UK6KQ.cjs → chunk-3F4LKYIK.cjs} +7 -7
  4. package/dist/{chunk-S52UK6KQ.cjs.map → chunk-3F4LKYIK.cjs.map} +1 -1
  5. package/dist/{chunk-T6VFIDS4.cjs → chunk-3OSTXIB6.cjs} +59 -59
  6. package/dist/{chunk-T6VFIDS4.cjs.map → chunk-3OSTXIB6.cjs.map} +1 -1
  7. package/dist/{chunk-MHUT2NR4.js → chunk-3RW27WRK.js} +2 -2
  8. package/dist/{chunk-SIF5WN7S.js → chunk-43AKGHDL.js} +4 -4
  9. package/dist/{chunk-P7FJIB7V.js → chunk-4AFA5N5Q.js} +2 -2
  10. package/dist/{chunk-YX2YP4YM.js → chunk-BGSIZWAK.js} +2 -2
  11. package/dist/{chunk-F3U6OH3K.cjs → chunk-BIFZRCGN.cjs} +31 -31
  12. package/dist/{chunk-F3U6OH3K.cjs.map → chunk-BIFZRCGN.cjs.map} +1 -1
  13. package/dist/{chunk-Y37BRIBI.js → chunk-CQ6MF7KT.js} +4 -4
  14. package/dist/{chunk-2IJX5XDG.cjs → chunk-CQG77HCB.cjs} +11 -11
  15. package/dist/{chunk-2IJX5XDG.cjs.map → chunk-CQG77HCB.cjs.map} +1 -1
  16. package/dist/{chunk-MOOMQTZ5.cjs → chunk-CRPIHDEI.cjs} +9 -9
  17. package/dist/{chunk-MOOMQTZ5.cjs.map → chunk-CRPIHDEI.cjs.map} +1 -1
  18. package/dist/{chunk-3R7XBEUB.cjs → chunk-D4NSPERU.cjs} +26 -26
  19. package/dist/{chunk-3R7XBEUB.cjs.map → chunk-D4NSPERU.cjs.map} +1 -1
  20. package/dist/{chunk-KGYUVJJ5.cjs → chunk-DQMH6NAF.cjs} +15 -15
  21. package/dist/{chunk-KGYUVJJ5.cjs.map → chunk-DQMH6NAF.cjs.map} +1 -1
  22. package/dist/{chunk-UL5RGRWZ.js → chunk-FHAMKB5L.js} +2 -2
  23. package/dist/{chunk-Y4ZQTUBT.js → chunk-GEUZA4VP.js} +2 -2
  24. package/dist/{chunk-WTJ4AOVR.js → chunk-GIHNDMGI.js} +2 -2
  25. package/dist/{chunk-GGTNMXGZ.cjs → chunk-IVWQIWZI.cjs} +5 -5
  26. package/dist/{chunk-GGTNMXGZ.cjs.map → chunk-IVWQIWZI.cjs.map} +1 -1
  27. package/dist/{chunk-BIRJP6QA.js → chunk-N6T7CDEN.js} +1396 -1470
  28. package/dist/chunk-N6T7CDEN.js.map +1 -0
  29. package/dist/{chunk-F4HV6IBG.cjs → chunk-QMGXJEZ3.cjs} +62 -62
  30. package/dist/{chunk-F4HV6IBG.cjs.map → chunk-QMGXJEZ3.cjs.map} +1 -1
  31. package/dist/{chunk-IEAQBLZI.js → chunk-QO2JZYIB.js} +4 -4
  32. package/dist/{chunk-H3HZMHN3.cjs → chunk-RQLQOH46.cjs} +37 -37
  33. package/dist/{chunk-H3HZMHN3.cjs.map → chunk-RQLQOH46.cjs.map} +1 -1
  34. package/dist/{chunk-53LGRFM2.cjs → chunk-S3PO5NOK.cjs} +369 -443
  35. package/dist/chunk-S3PO5NOK.cjs.map +1 -0
  36. package/dist/{chunk-6OZPER3T.js → chunk-SFZ2BJST.js} +2 -2
  37. package/dist/{chunk-E3AB36EG.js → chunk-VBJC75FT.js} +4 -4
  38. package/dist/components/announcement-bar.d.ts.map +1 -1
  39. package/dist/components/case-studies/index.cjs +8 -8
  40. package/dist/components/case-studies/index.js +2 -2
  41. package/dist/components/chat/chat-panel-header-mobile.d.ts +8 -8
  42. package/dist/components/chat/chat-panel-header-mobile.d.ts.map +1 -1
  43. package/dist/components/chat/index.cjs +2 -2
  44. package/dist/components/chat/index.js +1 -1
  45. package/dist/components/contact/index.cjs +3 -3
  46. package/dist/components/contact/index.js +2 -2
  47. package/dist/components/docs/index.cjs +5 -5
  48. package/dist/components/docs/index.js +4 -4
  49. package/dist/components/embeds/index.cjs +3 -3
  50. package/dist/components/embeds/index.js +2 -2
  51. package/dist/components/faq/index.cjs +3 -3
  52. package/dist/components/faq/index.js +2 -2
  53. package/dist/components/features/index.cjs +2 -2
  54. package/dist/components/features/index.js +1 -1
  55. package/dist/components/help-center-pages/index.cjs +20 -20
  56. package/dist/components/help-center-pages/index.js +11 -11
  57. package/dist/components/index.cjs +129 -131
  58. package/dist/components/index.cjs.map +1 -1
  59. package/dist/components/index.js +10 -12
  60. package/dist/components/index.js.map +1 -1
  61. package/dist/components/navigation/header.d.ts.map +1 -1
  62. package/dist/components/navigation/index.cjs +2 -4
  63. package/dist/components/navigation/index.cjs.map +1 -1
  64. package/dist/components/navigation/index.d.ts +0 -2
  65. package/dist/components/navigation/index.d.ts.map +1 -1
  66. package/dist/components/navigation/index.js +1 -3
  67. package/dist/components/onboarding-guides/index.cjs +5 -5
  68. package/dist/components/onboarding-guides/index.js +4 -4
  69. package/dist/components/related-content/index.cjs +3 -3
  70. package/dist/components/related-content/index.js +2 -2
  71. package/dist/components/tickets/index.cjs +5 -5
  72. package/dist/components/tickets/index.js +4 -4
  73. package/dist/components/ui/index.cjs +2 -2
  74. package/dist/components/ui/index.js +1 -1
  75. package/dist/index.cjs +2 -4
  76. package/dist/index.cjs.map +1 -1
  77. package/dist/index.js +1 -3
  78. package/dist/types/navigation.d.ts +0 -12
  79. package/dist/types/navigation.d.ts.map +1 -1
  80. package/package.json +1 -1
  81. package/src/components/announcement-bar.tsx +1 -5
  82. package/src/components/chat/chat-panel-header-mobile.tsx +8 -21
  83. package/src/components/chat/embeddable-chat.tsx +0 -13
  84. package/src/components/navigation/header.tsx +10 -25
  85. package/src/components/navigation/index.ts +0 -3
  86. package/src/stories/Header.stories.tsx +0 -28
  87. package/src/styles/chat-animations.css +0 -54
  88. package/src/types/navigation.ts +0 -12
  89. package/dist/chunk-53LGRFM2.cjs.map +0 -1
  90. package/dist/chunk-BIRJP6QA.js.map +0 -1
  91. package/dist/components/navigation/mingo-ai-button.d.ts +0 -16
  92. package/dist/components/navigation/mingo-ai-button.d.ts.map +0 -1
  93. package/src/components/navigation/mingo-ai-button.tsx +0 -98
  94. package/src/stories/MingoAiButton.stories.tsx +0 -46
  95. /package/dist/{chunk-MHUT2NR4.js.map → chunk-3RW27WRK.js.map} +0 -0
  96. /package/dist/{chunk-SIF5WN7S.js.map → chunk-43AKGHDL.js.map} +0 -0
  97. /package/dist/{chunk-P7FJIB7V.js.map → chunk-4AFA5N5Q.js.map} +0 -0
  98. /package/dist/{chunk-YX2YP4YM.js.map → chunk-BGSIZWAK.js.map} +0 -0
  99. /package/dist/{chunk-Y37BRIBI.js.map → chunk-CQ6MF7KT.js.map} +0 -0
  100. /package/dist/{chunk-UL5RGRWZ.js.map → chunk-FHAMKB5L.js.map} +0 -0
  101. /package/dist/{chunk-Y4ZQTUBT.js.map → chunk-GEUZA4VP.js.map} +0 -0
  102. /package/dist/{chunk-WTJ4AOVR.js.map → chunk-GIHNDMGI.js.map} +0 -0
  103. /package/dist/{chunk-IEAQBLZI.js.map → chunk-QO2JZYIB.js.map} +0 -0
  104. /package/dist/{chunk-6OZPER3T.js.map → chunk-SFZ2BJST.js.map} +0 -0
  105. /package/dist/{chunk-E3AB36EG.js.map → chunk-VBJC75FT.js.map} +0 -0
@@ -1,16 +0,0 @@
1
- import React from 'react';
2
- export interface MingoAiButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
3
- source?: string;
4
- /** The platform's Mingo identity glyph — pass the SAME server-configured
5
- * icon the chat panel renders (host-side: `EntityIcon` fed by the admin
6
- * `assistantIcon`), so the launcher and the panel can never diverge.
7
- * Falls back to the packaged Mingo mark when the server has none. */
8
- icon?: React.ReactNode;
9
- /** The launcher's wordmark + aria-label — pass the server-configured
10
- * assistant name (same `assistantName` the chat panel shows) so the
11
- * launcher never hardcodes an identity the admin has renamed. */
12
- label?: string;
13
- }
14
- export declare function MingoAiButton({ source, icon, label, className, onClick, ...props }: MingoAiButtonProps): React.JSX.Element;
15
- export default MingoAiButton;
16
- //# sourceMappingURL=mingo-ai-button.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mingo-ai-button.d.ts","sourceRoot":"","sources":["../../../src/components/navigation/mingo-ai-button.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,MAAM,WAAW,kBAAmB,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IACvF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;0EAGsE;IACtE,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB;;sEAEkE;IAClE,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAmBD,wBAAgB,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAkB,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,kBAAkB,qBA2DnH;AAED,eAAe,aAAa,CAAA"}
@@ -1,98 +0,0 @@
1
- 'use client'
2
-
3
- import React from 'react'
4
- import { MingoIcon } from '../icons'
5
- import { cn } from '../../utils'
6
-
7
- export interface MingoAiButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
8
- source?: string
9
- /** The platform's Mingo identity glyph — pass the SAME server-configured
10
- * icon the chat panel renders (host-side: `EntityIcon` fed by the admin
11
- * `assistantIcon`), so the launcher and the panel can never diverge.
12
- * Falls back to the packaged Mingo mark when the server has none. */
13
- icon?: React.ReactNode
14
- /** The launcher's wordmark + aria-label — pass the server-configured
15
- * assistant name (same `assistantName` the chat panel shows) so the
16
- * launcher never hardcodes an identity the admin has renamed. */
17
- label?: string
18
- }
19
-
20
- /**
21
- * Marketing-header Mingo AI launcher: the flush, full-height button rendered
22
- * at the far right edge of the public `Header` (`config.mingo`). Stateless:
23
- * clicking dispatches an `ask-ai:open` CustomEvent (source-filtered) that the
24
- * mounted `EmbeddableChat` panel listens for.
25
- *
26
- * Distinct from `header-mingo-button.tsx` (`HeaderMingoButton`), the
27
- * dashboard/AppHeader controlled toggle; different surface and contract, do
28
- * not merge them.
29
- *
30
- * Deliberately a raw `<button>` rather than the ui-kit `Button`: it needs
31
- * full-height flush layout, an absolutely-positioned glow child, and icon-only
32
- * collapse that `Button` cannot express (same precedent as
33
- * `header-mingo-button.tsx`).
34
- */
35
- const MINGO_ACCENT = 'var(--ods-flamingo-cyan-base)'
36
-
37
- export function MingoAiButton({ source, icon, label = 'Mingo AI', className, onClick, ...props }: MingoAiButtonProps) {
38
- return (
39
- <button
40
- {...props}
41
- type="button"
42
- aria-label={label}
43
- onClick={(e) => {
44
- // Coalesce to '' so a source-less mount still matches EmbeddableChat's
45
- // own `runtime.source ?? ''` comparison (undefined !== '' would make
46
- // the panel silently ignore the event).
47
- window.dispatchEvent(new CustomEvent('ask-ai:open', { detail: { source: source ?? '' } }))
48
- onClick?.(e)
49
- }}
50
- className={cn(
51
- // `--spacing-system-l` is itself responsive (16px, 24px from 800px):
52
- // the compact mobile padding keeps the 375px header row
53
- // (logo + CTA + burger + Mingo) inside one viewport per Figma
54
- // 3924-35639 (mobile) / 4033-90260 (desktop).
55
- 'group/mingo relative flex h-full items-center border-l border-ods-border bg-ods-card px-[var(--spacing-system-l)] transition-colors duration-200 focus:outline-none focus-visible:ring-2 focus-visible:ring-ods-accent',
56
- className,
57
- )}
58
- >
59
- {/* Inner box = 1:1 twin of the ui-kit Button geometry the header CTA
60
- uses (rounded-md, h-10 md:h-12, px m) so the animated ring traces
61
- EXACTLY where a normal button border would sit. */}
62
- <span className="relative flex h-10 items-center gap-[var(--spacing-system-s)] rounded-md px-[var(--spacing-system-m)] md:h-12">
63
- {/* AI edge light (Apple-Intelligence-style): a rotating accent-
64
- gradient arc revealed as a 3px ring on the Button-shaped outline,
65
- platform-tinted via the accent token. */}
66
- <span aria-hidden="true" className="pointer-events-none absolute inset-0 overflow-hidden rounded-md">
67
- <span className="mingo-edge" />
68
- </span>
69
- {/* Interior cover: reveals the rotating gradient ONLY as the ring
70
- band; radius = rounded-md minus the 3px band so the inner curve
71
- stays concentric. Must match the button surface (bg-ods-card). */}
72
- <span aria-hidden="true" className="pointer-events-none absolute inset-[3px] rounded-[3px] bg-ods-card" />
73
- {/* One-shot light-streak shimmer on hover, clipped to the box. */}
74
- <span aria-hidden="true" className="pointer-events-none absolute inset-0 overflow-hidden rounded-md">
75
- <span
76
- className="mingo-shimmer absolute inset-y-0 left-0 w-1/2"
77
- style={{ background: 'linear-gradient(105deg, transparent, color-mix(in srgb, var(--ods-system-greys-white) 12%, transparent), transparent)' }}
78
- />
79
- </span>
80
- {icon ? (
81
- <span className="relative inline-flex size-6 shrink-0 items-center justify-center">{icon}</span>
82
- ) : (
83
- <MingoIcon
84
- color="currentColor"
85
- eyesColor={MINGO_ACCENT}
86
- cornerColor={MINGO_ACCENT}
87
- className="relative h-6 w-6 shrink-0 text-ods-text-primary"
88
- />
89
- )}
90
- <span className="relative hidden whitespace-nowrap text-h3 font-bold tracking-[-0.36px] text-ods-text-primary md:inline">
91
- {label}
92
- </span>
93
- </span>
94
- </button>
95
- )
96
- }
97
-
98
- export default MingoAiButton
@@ -1,46 +0,0 @@
1
- import type { Meta, StoryObj } from '@storybook/nextjs-vite'
2
- import { MingoAiButton } from '../components/navigation/mingo-ai-button'
3
-
4
- /**
5
- * Marketing-header Mingo AI launcher. Full-height and flush inside the 72px
6
- * unified header: the decorator reproduces that context so the left border
7
- * divider and traveling accent edge light render as they do in `Header` (`config.mingo`).
8
- * The "Mingo AI" label hides below `md` (icon-only, see IconOnly).
9
- */
10
- const meta = {
11
- title: 'Navigation/MingoAiButton',
12
- component: MingoAiButton,
13
- parameters: {
14
- layout: 'centered',
15
- },
16
- tags: ['autodocs'],
17
- argTypes: {
18
- source: { control: 'text' },
19
- },
20
- decorators: [
21
- (Story) => (
22
- <div className="flex h-[72px] items-center justify-end border-b border-ods-border bg-ods-card w-[360px]">
23
- <Story />
24
- </div>
25
- ),
26
- ],
27
- } satisfies Meta<typeof MingoAiButton>
28
-
29
- export default meta
30
- type Story = StoryObj<typeof meta>
31
-
32
- export const Default: Story = {
33
- args: {
34
- source: 'flamingo',
35
- },
36
- }
37
-
38
- /** Below `md` the wordmark is hidden and only the Mingo icon shows. */
39
- export const IconOnly: Story = {
40
- args: {
41
- source: 'flamingo',
42
- },
43
- parameters: {
44
- viewport: { defaultViewport: 'mobile1' },
45
- },
46
- }