@flamingo-stack/openframe-frontend-core 0.0.313 → 0.0.314

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 (108) hide show
  1. package/dist/{chunk-YSMKPNYZ.cjs → chunk-2LFQJYLQ.cjs} +7 -7
  2. package/dist/{chunk-YSMKPNYZ.cjs.map → chunk-2LFQJYLQ.cjs.map} +1 -1
  3. package/dist/{chunk-DDLJTRF4.cjs → chunk-46UZAYUT.cjs} +29 -29
  4. package/dist/{chunk-DDLJTRF4.cjs.map → chunk-46UZAYUT.cjs.map} +1 -1
  5. package/dist/{chunk-G56GYN7Z.cjs → chunk-5ATH263N.cjs} +4 -1
  6. package/dist/chunk-5ATH263N.cjs.map +1 -0
  7. package/dist/{chunk-XHGE5XBH.cjs → chunk-AD7TII2A.cjs} +5 -5
  8. package/dist/{chunk-XHGE5XBH.cjs.map → chunk-AD7TII2A.cjs.map} +1 -1
  9. package/dist/{chunk-BFSKFC6S.cjs → chunk-BHOGI57O.cjs} +38 -38
  10. package/dist/{chunk-BFSKFC6S.cjs.map → chunk-BHOGI57O.cjs.map} +1 -1
  11. package/dist/{chunk-OZYAAJHM.js → chunk-BJ6JXN5Z.js} +5 -5
  12. package/dist/{chunk-GHK2FCIM.cjs → chunk-DD35H7HA.cjs} +40 -40
  13. package/dist/{chunk-GHK2FCIM.cjs.map → chunk-DD35H7HA.cjs.map} +1 -1
  14. package/dist/{chunk-RM3M3SZ6.js → chunk-E2LC43T3.js} +2 -2
  15. package/dist/{chunk-JQ2EYXWR.js → chunk-E4CQ4RUG.js} +4 -1
  16. package/dist/chunk-E4CQ4RUG.js.map +1 -0
  17. package/dist/{chunk-SQQXCVZZ.cjs → chunk-EC4DGRN6.cjs} +65 -53
  18. package/dist/chunk-EC4DGRN6.cjs.map +1 -0
  19. package/dist/{chunk-BVDHLEP2.js → chunk-JWX6NIQ4.js} +2 -2
  20. package/dist/{chunk-YI2ACYRX.js → chunk-L7BROXZ7.js} +2 -2
  21. package/dist/{chunk-66JU4VP2.js → chunk-NH2RY6VM.js} +15 -3
  22. package/dist/{chunk-66JU4VP2.js.map → chunk-NH2RY6VM.js.map} +1 -1
  23. package/dist/{chunk-6FZD5KFP.js → chunk-OD3BEWDQ.js} +3 -3
  24. package/dist/{chunk-JQLC2FVM.js → chunk-TRSDXD23.js} +2 -2
  25. package/dist/{chunk-REHUG3RH.cjs → chunk-UNKIRZVY.cjs} +19 -19
  26. package/dist/{chunk-REHUG3RH.cjs.map → chunk-UNKIRZVY.cjs.map} +1 -1
  27. package/dist/{chunk-FXTT7K3A.js → chunk-UO27TVAO.js} +3 -3
  28. package/dist/{chunk-DE2BQKQV.cjs → chunk-VCJOLKED.cjs} +12 -12
  29. package/dist/{chunk-DE2BQKQV.cjs.map → chunk-VCJOLKED.cjs.map} +1 -1
  30. package/dist/{chunk-BFNTSETG.cjs → chunk-WJCOWYAP.cjs} +14 -14
  31. package/dist/{chunk-BFNTSETG.cjs.map → chunk-WJCOWYAP.cjs.map} +1 -1
  32. package/dist/{chunk-E6BHNYTA.js → chunk-XKVSR3IV.js} +4 -4
  33. package/dist/{chunk-2ZHDP22R.cjs → chunk-ZPK5HW7B.cjs} +3 -3
  34. package/dist/{chunk-2ZHDP22R.cjs.map → chunk-ZPK5HW7B.cjs.map} +1 -1
  35. package/dist/{chunk-SPFGSUNE.js → chunk-ZW3NHMG7.js} +3 -3
  36. package/dist/components/case-studies/index.cjs +9 -9
  37. package/dist/components/case-studies/index.js +3 -3
  38. package/dist/components/chat/index.cjs +3 -3
  39. package/dist/components/chat/index.js +2 -2
  40. package/dist/components/contact/index.cjs +4 -4
  41. package/dist/components/contact/index.js +3 -3
  42. package/dist/components/docs/index.cjs +6 -6
  43. package/dist/components/docs/index.js +5 -5
  44. package/dist/components/embeds/index.cjs +4 -4
  45. package/dist/components/embeds/index.js +3 -3
  46. package/dist/components/faq/index.cjs +5 -5
  47. package/dist/components/faq/index.js +4 -4
  48. package/dist/components/features/index.cjs +3 -3
  49. package/dist/components/features/index.js +2 -2
  50. package/dist/components/index.cjs +190 -188
  51. package/dist/components/index.cjs.map +1 -1
  52. package/dist/components/index.js +12 -10
  53. package/dist/components/index.js.map +1 -1
  54. package/dist/components/layout/page-layout.d.ts +1 -1
  55. package/dist/components/layout/page-layout.d.ts.map +1 -1
  56. package/dist/components/layout/title-block.d.ts +10 -0
  57. package/dist/components/layout/title-block.d.ts.map +1 -1
  58. package/dist/components/navigation/index.cjs +3 -3
  59. package/dist/components/navigation/index.js +2 -2
  60. package/dist/components/onboarding-guides/index.cjs +29 -29
  61. package/dist/components/onboarding-guides/index.js +5 -5
  62. package/dist/components/related-content/index.cjs +5 -5
  63. package/dist/components/related-content/index.js +4 -4
  64. package/dist/components/tickets/help-center-list.d.ts +5 -1
  65. package/dist/components/tickets/help-center-list.d.ts.map +1 -1
  66. package/dist/components/tickets/index.cjs +84 -73
  67. package/dist/components/tickets/index.cjs.map +1 -1
  68. package/dist/components/tickets/index.js +21 -10
  69. package/dist/components/tickets/index.js.map +1 -1
  70. package/dist/components/tool-icon.d.ts.map +1 -1
  71. package/dist/components/ui/index.cjs +5 -3
  72. package/dist/components/ui/index.cjs.map +1 -1
  73. package/dist/components/ui/index.js +4 -2
  74. package/dist/hooks/index.cjs +2 -2
  75. package/dist/hooks/index.js +1 -1
  76. package/dist/index.cjs +5 -3
  77. package/dist/index.cjs.map +1 -1
  78. package/dist/index.js +4 -2
  79. package/dist/types/index.cjs +2 -0
  80. package/dist/types/index.cjs.map +1 -1
  81. package/dist/types/index.js +2 -0
  82. package/dist/types/index.js.map +1 -1
  83. package/dist/types/tool.types.d.ts +1 -0
  84. package/dist/types/tool.types.d.ts.map +1 -1
  85. package/dist/utils/index.cjs +11 -0
  86. package/dist/utils/index.cjs.map +1 -1
  87. package/dist/utils/index.js +11 -0
  88. package/dist/utils/index.js.map +1 -1
  89. package/dist/utils/tool-utils.d.ts.map +1 -1
  90. package/package.json +1 -1
  91. package/src/components/layout/page-layout.tsx +1 -1
  92. package/src/components/layout/title-block.tsx +12 -1
  93. package/src/components/tickets/help-center-list.tsx +16 -4
  94. package/src/components/tool-icon.tsx +1 -0
  95. package/src/types/tool.types.ts +2 -0
  96. package/src/utils/tool-utils.ts +11 -0
  97. package/dist/chunk-G56GYN7Z.cjs.map +0 -1
  98. package/dist/chunk-JQ2EYXWR.js.map +0 -1
  99. package/dist/chunk-SQQXCVZZ.cjs.map +0 -1
  100. /package/dist/{chunk-OZYAAJHM.js.map → chunk-BJ6JXN5Z.js.map} +0 -0
  101. /package/dist/{chunk-RM3M3SZ6.js.map → chunk-E2LC43T3.js.map} +0 -0
  102. /package/dist/{chunk-BVDHLEP2.js.map → chunk-JWX6NIQ4.js.map} +0 -0
  103. /package/dist/{chunk-YI2ACYRX.js.map → chunk-L7BROXZ7.js.map} +0 -0
  104. /package/dist/{chunk-6FZD5KFP.js.map → chunk-OD3BEWDQ.js.map} +0 -0
  105. /package/dist/{chunk-JQLC2FVM.js.map → chunk-TRSDXD23.js.map} +0 -0
  106. /package/dist/{chunk-FXTT7K3A.js.map → chunk-UO27TVAO.js.map} +0 -0
  107. /package/dist/{chunk-E6BHNYTA.js.map → chunk-XKVSR3IV.js.map} +0 -0
  108. /package/dist/{chunk-SPFGSUNE.js.map → chunk-ZW3NHMG7.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"tool-utils.d.ts","sourceRoot":"","sources":["../../src/utils/tool-utils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAc,MAAM,qBAAqB,CAAA;AA2E1D;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAgBtE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,CAEtE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CASlD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,EAAE,CAI/D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAEvD"}
1
+ {"version":3,"file":"tool-utils.d.ts","sourceRoot":"","sources":["../../src/utils/tool-utils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAc,MAAM,qBAAqB,CAAA;AAsF1D;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAgBtE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,CAEtE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CASlD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,EAAE,CAI/D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAEvD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flamingo-stack/openframe-frontend-core",
3
- "version": "0.0.313",
3
+ "version": "0.0.314",
4
4
  "description": "Shared design system and components for all Flamingo platforms",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -99,6 +99,6 @@ export function PageLayout({
99
99
  }
100
100
 
101
101
  export type { PageActionButton } from '../ui/page-actions'
102
- export { TitleBlock } from './title-block'
102
+ export { TitleBlock, TITLE_BLOCK_MIN_HEIGHT } from './title-block'
103
103
  export type { TitleBlockProps } from './title-block'
104
104
  export default PageLayout
@@ -31,6 +31,17 @@ import { EntityImage } from '../ui/entity-image'
31
31
  import { PageActions, type PageActionButton } from '../ui/page-actions'
32
32
  import { BackButton } from './back-button'
33
33
 
34
+ /**
35
+ * Minimum height of the title block's content column, matched to the action
36
+ * button height: the icon button on mobile (`h-11` → 44px) and the default
37
+ * button on desktop (`md:h-12` → 48px). Applied to the inner title column (which
38
+ * has no padding) rather than the root — the root's `pt`/`mb` are box-sizing
39
+ * border-box and would otherwise absorb the floor. Keeps the header a consistent
40
+ * height across pages whether or not they render action buttons, so the content
41
+ * below starts at the same baseline. Exported so other page chrome can reuse it.
42
+ */
43
+ export const TITLE_BLOCK_MIN_HEIGHT = 'min-h-11 md:min-h-12'
44
+
34
45
  export interface TitleBlockProps {
35
46
  title?: string
36
47
  subtitle?: string
@@ -83,7 +94,7 @@ export function TitleBlock({
83
94
  className,
84
95
  )}
85
96
  >
86
- <div className="flex flex-col gap-[var(--spacing-system-xs)] flex-1 min-w-0">
97
+ <div className={cn('flex flex-col justify-center gap-[var(--spacing-system-xs)] flex-1 min-w-0', TITLE_BLOCK_MIN_HEIGHT)}>
87
98
  {backButton && (
88
99
  <BackButton
89
100
  onClick={backButton.onClick}
@@ -55,9 +55,13 @@ export interface HelpCenterListProps {
55
55
  * to hide). Omit ⇒ `DevSectionPage`'s default (`Back to home` → `/`), which
56
56
  * embedders whose home isn't `/` MUST override. */
57
57
  backButton?: { label?: string; href?: string } | false
58
+ /** Override the hero title (forwarded to `DevSectionPage.title`). Defaults to
59
+ * the `tickets` section copy ("Help Center"). Set this to brand the surface
60
+ * for an embed that wants its own label (e.g. "Support Tickets"). */
61
+ title?: string
58
62
  }
59
63
 
60
- export function HelpCenterList({ toast = defaultToast, backButton }: HelpCenterListProps = {}) {
64
+ export function HelpCenterList({ toast = defaultToast, backButton, title }: HelpCenterListProps = {}) {
61
65
  const identity = useChatIdentity()
62
66
  const searchParams = useSearchParams()
63
67
  const router = useRouter()
@@ -85,14 +89,19 @@ export function HelpCenterList({ toast = defaultToast, backButton }: HelpCenterL
85
89
  // mounts in the `preControls` slot.
86
90
  if (identity.isLoading) {
87
91
  return (
88
- <DevSectionPage sectionKey="tickets" backButton={backButton} preControls={<HelpCenterCreateFormSkeleton />}>
92
+ <DevSectionPage
93
+ sectionKey="tickets"
94
+ backButton={backButton}
95
+ title={title}
96
+ preControls={<HelpCenterCreateFormSkeleton />}
97
+ >
89
98
  <DevCardRowSkeletonList />
90
99
  </DevSectionPage>
91
100
  )
92
101
  }
93
102
  if (identity.authTier === 'anon' || !identity.user?.email) {
94
103
  return (
95
- <DevSectionPage sectionKey="tickets" backButton={backButton}>
104
+ <DevSectionPage sectionKey="tickets" backButton={backButton} title={title}>
96
105
  <EmptyState
97
106
  type="generic"
98
107
  title="Sign in to manage tickets"
@@ -128,6 +137,7 @@ export function HelpCenterList({ toast = defaultToast, backButton }: HelpCenterL
128
137
  sessionName={sessionName}
129
138
  sessionEmail={sessionEmail}
130
139
  backButton={backButton}
140
+ title={title}
131
141
  />
132
142
  )
133
143
  }
@@ -145,6 +155,7 @@ interface AuthedProps {
145
155
  sessionName: string
146
156
  sessionEmail: string
147
157
  backButton?: { label?: string; href?: string } | false
158
+ title?: string
148
159
  }
149
160
 
150
161
  function HelpCenterListAuthed({
@@ -159,6 +170,7 @@ function HelpCenterListAuthed({
159
170
  sessionName,
160
171
  sessionEmail,
161
172
  backButton,
173
+ title,
162
174
  }: AuthedProps) {
163
175
  const queryClient = useQueryClient()
164
176
  const [optimisticTickets, setOptimisticTickets] = useState<OptimisticTicket[]>([])
@@ -386,7 +398,7 @@ function HelpCenterListAuthed({
386
398
  )
387
399
 
388
400
  return (
389
- <DevSectionPage sectionKey="tickets" backButton={backButton} preControls={form}>
401
+ <DevSectionPage sectionKey="tickets" backButton={backButton} title={title} preControls={form}>
390
402
  {body}
391
403
  </DevSectionPage>
392
404
  )
@@ -25,6 +25,7 @@ const toolIconMap: Record<ToolType, (size: number, className?: string) => React.
25
25
  [ToolTypeValues.OPENFRAME]: renderOpenFrameLogo,
26
26
  [ToolTypeValues.OPENFRAME_CHAT]: renderOpenFrameLogo,
27
27
  [ToolTypeValues.OPENFRAME_CLIENT]: renderOpenFrameLogo,
28
+ [ToolTypeValues.OPENFRAME_RMM]: renderOpenFrameLogo,
28
29
  [ToolTypeValues.AUTHENTIK]: (size, className) => <AuthentikLogoGreyIcon size={size} className={className} />,
29
30
  [ToolTypeValues.OSQUERY]: (size, className) => <OsqueryLogoGreyIcon size={size} className={className} />,
30
31
  [ToolTypeValues.SYSTEM]: () => null,
@@ -13,6 +13,7 @@ export const ToolTypeValues = {
13
13
  OPENFRAME: 'OPENFRAME',
14
14
  OPENFRAME_CHAT: 'OPENFRAME_CHAT',
15
15
  OPENFRAME_CLIENT: 'OPENFRAME_CLIENT',
16
+ OPENFRAME_RMM: 'OPENFRAME_RMM',
16
17
  OSQUERY: 'OSQUERY',
17
18
  SYSTEM: 'SYSTEM'
18
19
  } as const
@@ -30,6 +31,7 @@ export const toolLabels: Record<ToolType, string> = {
30
31
  OPENFRAME: 'OpenFrame',
31
32
  OPENFRAME_CHAT: 'OpenFrame Chat',
32
33
  OPENFRAME_CLIENT: 'OpenFrame Client',
34
+ OPENFRAME_RMM: 'OpenFrame RMM',
33
35
  OSQUERY: 'Osquery',
34
36
  SYSTEM: 'System'
35
37
  }
@@ -73,6 +73,17 @@ const toolAliasMap: Record<string, ToolType> = {
73
73
  'openframe-client': 'OPENFRAME_CLIENT',
74
74
  'openframeclient': 'OPENFRAME_CLIENT',
75
75
 
76
+ // OpenFrame RMM
77
+ 'RMM': 'OPENFRAME_RMM',
78
+ 'rmm': 'OPENFRAME_RMM',
79
+ 'OPENFRAME_RMM': 'OPENFRAME_RMM',
80
+ 'OPENFRAME-RMM': 'OPENFRAME_RMM',
81
+ 'OPENFRAMERMM': 'OPENFRAME_RMM',
82
+ 'openframe_rmm': 'OPENFRAME_RMM',
83
+ 'openframe-rmm': 'OPENFRAME_RMM',
84
+ 'openframermm': 'OPENFRAME_RMM',
85
+ 'openframe-rmm-agent': 'OPENFRAME_RMM',
86
+
76
87
  // OSQUERY
77
88
  'OSQUERY': 'OSQUERY',
78
89