@flamingo-stack/openframe-frontend-core 0.0.490-snapshot.20260728181420 → 0.0.490

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 (154) hide show
  1. package/dist/{chunk-VD4QDSP7.cjs → chunk-2MKUHJ3O.cjs} +40 -40
  2. package/dist/{chunk-VD4QDSP7.cjs.map → chunk-2MKUHJ3O.cjs.map} +1 -1
  3. package/dist/{chunk-EHHX22JL.cjs → chunk-3IEVA5AO.cjs} +93 -93
  4. package/dist/{chunk-EHHX22JL.cjs.map → chunk-3IEVA5AO.cjs.map} +1 -1
  5. package/dist/{chunk-IUGJAILN.js → chunk-6CFFISUC.js} +3 -3
  6. package/dist/{chunk-CZTKQVIQ.js → chunk-6CJ2K7BD.js} +3 -3
  7. package/dist/{chunk-ZEC5U5T7.js → chunk-6QK3ONDD.js} +2 -2
  8. package/dist/{chunk-GL33BHGZ.cjs → chunk-7I42V2OD.cjs} +73 -73
  9. package/dist/{chunk-GL33BHGZ.cjs.map → chunk-7I42V2OD.cjs.map} +1 -1
  10. package/dist/{chunk-GTMW4KY7.js → chunk-AIRNG27G.js} +6 -6
  11. package/dist/{chunk-ITV6LSG7.cjs → chunk-AW63ET2A.cjs} +19 -19
  12. package/dist/{chunk-ITV6LSG7.cjs.map → chunk-AW63ET2A.cjs.map} +1 -1
  13. package/dist/{chunk-TTYJAZ7P.cjs → chunk-BIKOJ4FH.cjs} +32 -58
  14. package/dist/chunk-BIKOJ4FH.cjs.map +1 -0
  15. package/dist/{chunk-35CTCUJ7.js → chunk-BZMOEWWS.js} +6 -6
  16. package/dist/{chunk-QNFAZIFC.cjs → chunk-D5LQMRPU.cjs} +5 -5
  17. package/dist/{chunk-QNFAZIFC.cjs.map → chunk-D5LQMRPU.cjs.map} +1 -1
  18. package/dist/{chunk-T4BUS6JV.js → chunk-EGXCWZYP.js} +3 -3
  19. package/dist/{chunk-HRMOCJKU.cjs → chunk-EJQUYZXF.cjs} +12 -12
  20. package/dist/{chunk-HRMOCJKU.cjs.map → chunk-EJQUYZXF.cjs.map} +1 -1
  21. package/dist/{chunk-J2V4B6FF.cjs → chunk-FY5XAW3H.cjs} +18 -18
  22. package/dist/{chunk-J2V4B6FF.cjs.map → chunk-FY5XAW3H.cjs.map} +1 -1
  23. package/dist/{chunk-YKE2KZ2Y.cjs → chunk-GMPYR3MX.cjs} +33 -33
  24. package/dist/{chunk-YKE2KZ2Y.cjs.map → chunk-GMPYR3MX.cjs.map} +1 -1
  25. package/dist/{chunk-6O3YTVLG.cjs → chunk-GUTYUMGV.cjs} +12 -12
  26. package/dist/{chunk-6O3YTVLG.cjs.map → chunk-GUTYUMGV.cjs.map} +1 -1
  27. package/dist/{chunk-QKWOBV55.js → chunk-GZK7FWJJ.js} +12 -12
  28. package/dist/chunk-GZK7FWJJ.js.map +1 -0
  29. package/dist/{chunk-7NRRONK5.cjs → chunk-IEZ3YBAP.cjs} +32 -32
  30. package/dist/{chunk-7NRRONK5.cjs.map → chunk-IEZ3YBAP.cjs.map} +1 -1
  31. package/dist/{chunk-THC3K262.cjs → chunk-KP5KRRD6.cjs} +3 -3
  32. package/dist/{chunk-THC3K262.cjs.map → chunk-KP5KRRD6.cjs.map} +1 -1
  33. package/dist/{chunk-U2JIGUXF.js → chunk-MPYDX5WX.js} +4 -4
  34. package/dist/{chunk-ZDUJ6BDI.js → chunk-NGEFYPY7.js} +4 -4
  35. package/dist/{chunk-CYIUPI7J.js → chunk-OQIMH2WQ.js} +1004 -1167
  36. package/dist/{chunk-CYIUPI7J.js.map → chunk-OQIMH2WQ.js.map} +1 -1
  37. package/dist/{chunk-WEUNPE3S.js → chunk-PB3BTZDU.js} +113 -139
  38. package/dist/chunk-PB3BTZDU.js.map +1 -0
  39. package/dist/{chunk-6WTCJI5R.js → chunk-RW2LPL72.js} +2 -2
  40. package/dist/{chunk-SGL6URIJ.cjs → chunk-STYA77PH.cjs} +12 -12
  41. package/dist/chunk-STYA77PH.cjs.map +1 -0
  42. package/dist/{chunk-PVSXTCJY.cjs → chunk-UZZT65PQ.cjs} +40 -40
  43. package/dist/{chunk-PVSXTCJY.cjs.map → chunk-UZZT65PQ.cjs.map} +1 -1
  44. package/dist/{chunk-2YQK6LHR.js → chunk-VDZO6IDR.js} +5 -5
  45. package/dist/{chunk-QF54RPHZ.js → chunk-VL2YMDPH.js} +6 -6
  46. package/dist/{chunk-2RTNC3KP.cjs → chunk-VUXNXWOQ.cjs} +873 -1036
  47. package/dist/chunk-VUXNXWOQ.cjs.map +1 -0
  48. package/dist/{chunk-6XNWT2KC.js → chunk-WLM3F3WU.js} +3 -3
  49. package/dist/components/case-studies/index.cjs +10 -10
  50. package/dist/components/case-studies/index.js +4 -4
  51. package/dist/components/chat/index.cjs +4 -4
  52. package/dist/components/chat/index.js +3 -3
  53. package/dist/components/contact/index.cjs +5 -5
  54. package/dist/components/contact/index.js +4 -4
  55. package/dist/components/docs/index.cjs +7 -7
  56. package/dist/components/docs/index.js +6 -6
  57. package/dist/components/embeds/index.cjs +5 -5
  58. package/dist/components/embeds/index.js +4 -4
  59. package/dist/components/faq/index.cjs +6 -6
  60. package/dist/components/faq/index.js +5 -5
  61. package/dist/components/features/index.cjs +4 -4
  62. package/dist/components/features/index.js +3 -3
  63. package/dist/components/features/select-button.d.ts.map +1 -1
  64. package/dist/components/help-center-pages/index.cjs +23 -23
  65. package/dist/components/help-center-pages/index.js +14 -14
  66. package/dist/components/index.cjs +161 -161
  67. package/dist/components/index.js +12 -12
  68. package/dist/components/layout/page-layout.d.ts +1 -7
  69. package/dist/components/layout/page-layout.d.ts.map +1 -1
  70. package/dist/components/layout/title-block.d.ts +1 -23
  71. package/dist/components/layout/title-block.d.ts.map +1 -1
  72. package/dist/components/navigation/index.cjs +4 -4
  73. package/dist/components/navigation/index.js +3 -3
  74. package/dist/components/onboarding-guides/index.cjs +8 -8
  75. package/dist/components/onboarding-guides/index.js +7 -7
  76. package/dist/components/related-content/index.cjs +6 -6
  77. package/dist/components/related-content/index.js +5 -5
  78. package/dist/components/tickets/index.cjs +7 -7
  79. package/dist/components/tickets/index.js +6 -6
  80. package/dist/components/ui/autocomplete.d.ts.map +1 -1
  81. package/dist/components/ui/checkbox-block.d.ts.map +1 -1
  82. package/dist/components/ui/date-picker.d.ts.map +1 -1
  83. package/dist/components/ui/field-wrapper.d.ts +1 -10
  84. package/dist/components/ui/field-wrapper.d.ts.map +1 -1
  85. package/dist/components/ui/file-manager/index.cjs +50 -50
  86. package/dist/components/ui/file-manager/index.js +1 -1
  87. package/dist/components/ui/floating-tooltip.d.ts +1 -8
  88. package/dist/components/ui/floating-tooltip.d.ts.map +1 -1
  89. package/dist/components/ui/index.cjs +4 -4
  90. package/dist/components/ui/index.js +3 -3
  91. package/dist/components/ui/input-trigger.d.ts.map +1 -1
  92. package/dist/components/ui/input.d.ts.map +1 -1
  93. package/dist/components/ui/page-actions.d.ts +1 -7
  94. package/dist/components/ui/page-actions.d.ts.map +1 -1
  95. package/dist/components/ui/radio-group.d.ts.map +1 -1
  96. package/dist/components/ui/search-input.d.ts.map +1 -1
  97. package/dist/components/ui/select.d.ts.map +1 -1
  98. package/dist/components/ui/tab-navigation.d.ts +1 -10
  99. package/dist/components/ui/tab-navigation.d.ts.map +1 -1
  100. package/dist/components/ui/tag-search-input.d.ts.map +1 -1
  101. package/dist/components/ui/textarea.d.ts.map +1 -1
  102. package/dist/components/ui/truncate-text.d.ts +2 -2
  103. package/dist/components/ui/truncate-text.d.ts.map +1 -1
  104. package/dist/hooks/index.cjs +2 -4
  105. package/dist/hooks/index.cjs.map +1 -1
  106. package/dist/hooks/index.js +1 -3
  107. package/dist/hooks/ui/index.d.ts +0 -1
  108. package/dist/hooks/ui/index.d.ts.map +1 -1
  109. package/dist/index.cjs +4 -6
  110. package/dist/index.cjs.map +1 -1
  111. package/dist/index.js +3 -5
  112. package/package.json +1 -1
  113. package/src/components/features/select-button.tsx +1 -4
  114. package/src/components/layout/page-layout.tsx +0 -16
  115. package/src/components/layout/title-block.tsx +7 -106
  116. package/src/components/ui/.field-wrapper.md +4 -5
  117. package/src/components/ui/.tab-navigation.md +1 -14
  118. package/src/components/ui/autocomplete.tsx +1 -13
  119. package/src/components/ui/button/button.tsx +1 -1
  120. package/src/components/ui/checkbox-block.tsx +3 -27
  121. package/src/components/ui/date-picker.tsx +1 -15
  122. package/src/components/ui/field-wrapper.tsx +6 -12
  123. package/src/components/ui/floating-tooltip.tsx +1 -9
  124. package/src/components/ui/input-trigger.tsx +1 -8
  125. package/src/components/ui/input.tsx +1 -8
  126. package/src/components/ui/page-actions.tsx +30 -142
  127. package/src/components/ui/radio-group.tsx +3 -28
  128. package/src/components/ui/search-input.tsx +1 -2
  129. package/src/components/ui/select.tsx +0 -7
  130. package/src/components/ui/tab-navigation.tsx +4 -26
  131. package/src/components/ui/tag-search-input.tsx +2 -9
  132. package/src/components/ui/textarea.tsx +1 -8
  133. package/src/components/ui/truncate-text.tsx +18 -3
  134. package/src/hooks/ui/index.ts +0 -1
  135. package/dist/chunk-2RTNC3KP.cjs.map +0 -1
  136. package/dist/chunk-QKWOBV55.js.map +0 -1
  137. package/dist/chunk-SGL6URIJ.cjs.map +0 -1
  138. package/dist/chunk-TTYJAZ7P.cjs.map +0 -1
  139. package/dist/chunk-WEUNPE3S.js.map +0 -1
  140. package/dist/hooks/ui/use-is-truncated.d.ts +0 -33
  141. package/dist/hooks/ui/use-is-truncated.d.ts.map +0 -1
  142. package/src/hooks/ui/use-is-truncated.ts +0 -66
  143. /package/dist/{chunk-IUGJAILN.js.map → chunk-6CFFISUC.js.map} +0 -0
  144. /package/dist/{chunk-CZTKQVIQ.js.map → chunk-6CJ2K7BD.js.map} +0 -0
  145. /package/dist/{chunk-ZEC5U5T7.js.map → chunk-6QK3ONDD.js.map} +0 -0
  146. /package/dist/{chunk-GTMW4KY7.js.map → chunk-AIRNG27G.js.map} +0 -0
  147. /package/dist/{chunk-35CTCUJ7.js.map → chunk-BZMOEWWS.js.map} +0 -0
  148. /package/dist/{chunk-T4BUS6JV.js.map → chunk-EGXCWZYP.js.map} +0 -0
  149. /package/dist/{chunk-U2JIGUXF.js.map → chunk-MPYDX5WX.js.map} +0 -0
  150. /package/dist/{chunk-ZDUJ6BDI.js.map → chunk-NGEFYPY7.js.map} +0 -0
  151. /package/dist/{chunk-6WTCJI5R.js.map → chunk-RW2LPL72.js.map} +0 -0
  152. /package/dist/{chunk-2YQK6LHR.js.map → chunk-VDZO6IDR.js.map} +0 -0
  153. /package/dist/{chunk-QF54RPHZ.js.map → chunk-VL2YMDPH.js.map} +0 -0
  154. /package/dist/{chunk-6XNWT2KC.js.map → chunk-WLM3F3WU.js.map} +0 -0
@@ -1,33 +0,0 @@
1
- export interface UseIsTruncatedOptions {
2
- /** Measure vertical clipping (`line-clamp-N`) instead of the single-line ellipsis. */
3
- multiline?: boolean;
4
- }
5
- /**
6
- * Tracks whether an element's text is ACTUALLY clipped — the condition for
7
- * offering a "full value" tooltip. Text that fits needs no tooltip, and showing
8
- * one anyway just repeats what the user is already reading.
9
- *
10
- * Three things can change the answer, and all three are watched: the box
11
- * resizing (`ResizeObserver`), the text itself changing, and the measured
12
- * ELEMENT changing. None of them implies the others — new text inside a
13
- * width-constrained box leaves the box exactly as it was, so the observer never
14
- * fires; and a caller that swaps between render branches (adornment vs plain)
15
- * mounts a different node under the same text, which a `useRef` would leave
16
- * measured against the old, detached node. Pass the rendered value as `value`.
17
- *
18
- * `ref` is a CALLBACK ref, not a `RefObject` — that is what makes the element
19
- * itself a dependency. Attach it exactly like a normal ref; there is no
20
- * `.current` to read.
21
- *
22
- * ```tsx
23
- * const { ref, isTruncated } = useIsTruncated<HTMLHeadingElement>(title)
24
- * <FloatingTooltip content={title} disabled={!isTruncated}>
25
- * <h1 ref={ref} className="truncate">{title}</h1>
26
- * </FloatingTooltip>
27
- * ```
28
- */
29
- export declare function useIsTruncated<T extends HTMLElement>(value: unknown, options?: UseIsTruncatedOptions): {
30
- ref: (node: T | null) => void;
31
- isTruncated: boolean;
32
- };
33
- //# sourceMappingURL=use-is-truncated.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-is-truncated.d.ts","sourceRoot":"","sources":["../../../src/hooks/ui/use-is-truncated.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,qBAAqB;IACpC,sFAAsF;IACtF,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,qBAAqB;gBAQpE,CAAC,GAAG,IAAI;;EAwBxC"}
@@ -1,66 +0,0 @@
1
- 'use client'
2
-
3
- import { useCallback, useEffect, useState } from 'react'
4
-
5
- export interface UseIsTruncatedOptions {
6
- /** Measure vertical clipping (`line-clamp-N`) instead of the single-line ellipsis. */
7
- multiline?: boolean
8
- }
9
-
10
- /**
11
- * Tracks whether an element's text is ACTUALLY clipped — the condition for
12
- * offering a "full value" tooltip. Text that fits needs no tooltip, and showing
13
- * one anyway just repeats what the user is already reading.
14
- *
15
- * Three things can change the answer, and all three are watched: the box
16
- * resizing (`ResizeObserver`), the text itself changing, and the measured
17
- * ELEMENT changing. None of them implies the others — new text inside a
18
- * width-constrained box leaves the box exactly as it was, so the observer never
19
- * fires; and a caller that swaps between render branches (adornment vs plain)
20
- * mounts a different node under the same text, which a `useRef` would leave
21
- * measured against the old, detached node. Pass the rendered value as `value`.
22
- *
23
- * `ref` is a CALLBACK ref, not a `RefObject` — that is what makes the element
24
- * itself a dependency. Attach it exactly like a normal ref; there is no
25
- * `.current` to read.
26
- *
27
- * ```tsx
28
- * const { ref, isTruncated } = useIsTruncated<HTMLHeadingElement>(title)
29
- * <FloatingTooltip content={title} disabled={!isTruncated}>
30
- * <h1 ref={ref} className="truncate">{title}</h1>
31
- * </FloatingTooltip>
32
- * ```
33
- */
34
- export function useIsTruncated<T extends HTMLElement>(value: unknown, options?: UseIsTruncatedOptions) {
35
- const multiline = options?.multiline ?? false
36
- const [element, setElement] = useState<T | null>(null)
37
- const [isTruncated, setIsTruncated] = useState(false)
38
-
39
- // Wrapped so the identity stays stable across renders: passing the raw
40
- // `useState` setter as a ref would be stable too, but this keeps the public
41
- // shape a plain `RefCallback<T>` instead of a state dispatcher.
42
- const ref = useCallback((node: T | null) => setElement(node), [])
43
-
44
- useEffect(() => {
45
- if (!element) {
46
- setIsTruncated(false)
47
- return
48
- }
49
- // The 1px tolerance absorbs sub-pixel layout rounding, which otherwise
50
- // reports a permanent fractional "overflow" at some zoom levels / DPRs and
51
- // leaves a tooltip armed on text that is fully visible.
52
- const check = () => {
53
- setIsTruncated(
54
- multiline
55
- ? element.scrollHeight > element.clientHeight + 1
56
- : element.scrollWidth > element.clientWidth + 1,
57
- )
58
- }
59
- check()
60
- const observer = new ResizeObserver(check)
61
- observer.observe(element)
62
- return () => observer.disconnect()
63
- }, [element, value, multiline])
64
-
65
- return { ref, isTruncated }
66
- }