@particle-academy/react-fancy 5.65.0 → 5.67.0

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 (106) hide show
  1. package/CHANGELOG.md +74 -0
  2. package/dist/{PastePills.types-CDyotkUb.d.cts → PastePills.types-CpXzsuwJ.d.cts} +2 -0
  3. package/dist/{PastePills.types-CDyotkUb.d.ts → PastePills.types-CpXzsuwJ.d.ts} +2 -0
  4. package/dist/{PastedFilesInput-CrgNoEBd.d.ts → PastedFilesInput-Bt3KSTVN.d.ts} +1 -1
  5. package/dist/{PastedFilesInput-DQ1eZaHk.d.cts → PastedFilesInput-CUQeOeOA.d.cts} +1 -1
  6. package/dist/button.cjs +3 -4
  7. package/dist/button.js +1 -2
  8. package/dist/{chunk-COXHFZR6.js → chunk-23AVEYUP.js} +14 -8
  9. package/dist/chunk-23AVEYUP.js.map +1 -0
  10. package/dist/{chunk-C5YX5XVL.cjs → chunk-3U7PUZLI.cjs} +214 -4
  11. package/dist/chunk-3U7PUZLI.cjs.map +1 -0
  12. package/dist/{chunk-ATIDUWY6.cjs → chunk-4S5DFN5N.cjs} +12 -12
  13. package/dist/{chunk-ATIDUWY6.cjs.map → chunk-4S5DFN5N.cjs.map} +1 -1
  14. package/dist/{chunk-CMC2TOEQ.cjs → chunk-6CAXLP7D.cjs} +6 -6
  15. package/dist/{chunk-CMC2TOEQ.cjs.map → chunk-6CAXLP7D.cjs.map} +1 -1
  16. package/dist/{chunk-TQGRXJ74.cjs → chunk-7FYRFNPX.cjs} +9 -9
  17. package/dist/{chunk-TQGRXJ74.cjs.map → chunk-7FYRFNPX.cjs.map} +1 -1
  18. package/dist/{chunk-MVVHUTXA.js → chunk-B4LVQ4QI.js} +3 -3
  19. package/dist/{chunk-MVVHUTXA.js.map → chunk-B4LVQ4QI.js.map} +1 -1
  20. package/dist/{chunk-QP35Z2WB.js → chunk-BL5IKSB3.js} +3 -3
  21. package/dist/{chunk-QP35Z2WB.js.map → chunk-BL5IKSB3.js.map} +1 -1
  22. package/dist/{chunk-SZH7TFME.js → chunk-DCAD2JPP.js} +4 -4
  23. package/dist/{chunk-SZH7TFME.js.map → chunk-DCAD2JPP.js.map} +1 -1
  24. package/dist/{chunk-MCQJFMDP.cjs → chunk-E5UU666U.cjs} +478 -36
  25. package/dist/chunk-E5UU666U.cjs.map +1 -0
  26. package/dist/{chunk-L24LUSEE.js → chunk-FXOT4P4P.js} +478 -36
  27. package/dist/chunk-FXOT4P4P.js.map +1 -0
  28. package/dist/{chunk-CAUEKGMR.js → chunk-HEY4SMS2.js} +4 -4
  29. package/dist/{chunk-CAUEKGMR.js.map → chunk-HEY4SMS2.js.map} +1 -1
  30. package/dist/{chunk-QNQNGARW.cjs → chunk-HFK5SBNM.cjs} +27 -9
  31. package/dist/chunk-HFK5SBNM.cjs.map +1 -0
  32. package/dist/{chunk-TLRRMYNV.js → chunk-OXERDFFF.js} +212 -4
  33. package/dist/chunk-OXERDFFF.js.map +1 -0
  34. package/dist/{chunk-ELFTEJBT.js → chunk-QSGAFKK2.js} +3 -3
  35. package/dist/{chunk-ELFTEJBT.js.map → chunk-QSGAFKK2.js.map} +1 -1
  36. package/dist/{chunk-SYEHWUM5.cjs → chunk-RALJMI7C.cjs} +4 -4
  37. package/dist/{chunk-SYEHWUM5.cjs.map → chunk-RALJMI7C.cjs.map} +1 -1
  38. package/dist/{chunk-UM4JXBRZ.cjs → chunk-S3NB6LDV.cjs} +4 -4
  39. package/dist/{chunk-UM4JXBRZ.cjs.map → chunk-S3NB6LDV.cjs.map} +1 -1
  40. package/dist/{chunk-C463C4MM.cjs → chunk-SAG6DHQK.cjs} +22 -16
  41. package/dist/chunk-SAG6DHQK.cjs.map +1 -0
  42. package/dist/{chunk-4XHG6Q42.cjs → chunk-U5LKNGHU.cjs} +21 -21
  43. package/dist/{chunk-4XHG6Q42.cjs.map → chunk-U5LKNGHU.cjs.map} +1 -1
  44. package/dist/{chunk-M52S3TFI.js → chunk-WFR7HKJL.js} +3 -3
  45. package/dist/{chunk-M52S3TFI.js.map → chunk-WFR7HKJL.js.map} +1 -1
  46. package/dist/{chunk-NILA2LZY.js → chunk-YIKXJWO4.js} +27 -9
  47. package/dist/chunk-YIKXJWO4.js.map +1 -0
  48. package/dist/composer.cjs +4 -4
  49. package/dist/composer.d.cts +2 -2
  50. package/dist/composer.d.ts +2 -2
  51. package/dist/composer.js +2 -2
  52. package/dist/content-renderer.cjs +7 -5
  53. package/dist/content-renderer.d.cts +56 -4
  54. package/dist/content-renderer.d.ts +56 -4
  55. package/dist/content-renderer.js +4 -2
  56. package/dist/editor.cjs +6 -5
  57. package/dist/editor.d.cts +1 -1
  58. package/dist/editor.d.ts +1 -1
  59. package/dist/editor.js +4 -3
  60. package/dist/{extensions-6PVd3-vB.d.cts → extensions-DiByZIpD.d.cts} +26 -3
  61. package/dist/{extensions-6PVd3-vB.d.ts → extensions-DiByZIpD.d.ts} +26 -3
  62. package/dist/{index-CCJVT9Hu.d.cts → index-DWtSViJ3.d.cts} +7 -1
  63. package/dist/{index-DRlltbdV.d.ts → index-XR5t8bTq.d.ts} +7 -1
  64. package/dist/index.cjs +47 -48
  65. package/dist/index.cjs.map +1 -1
  66. package/dist/index.d.cts +5 -5
  67. package/dist/index.d.ts +5 -5
  68. package/dist/index.js +10 -11
  69. package/dist/index.js.map +1 -1
  70. package/dist/input.cjs +3 -3
  71. package/dist/input.d.cts +1 -1
  72. package/dist/input.d.ts +1 -1
  73. package/dist/input.js +2 -2
  74. package/dist/inputs.cjs +3 -3
  75. package/dist/inputs.d.cts +1 -1
  76. package/dist/inputs.d.ts +1 -1
  77. package/dist/inputs.js +2 -2
  78. package/dist/json-editor.cjs +15 -16
  79. package/dist/json-editor.js +4 -5
  80. package/dist/magic-wand.cjs +3 -4
  81. package/dist/magic-wand.js +2 -3
  82. package/dist/paste-pills.cjs +14 -14
  83. package/dist/paste-pills.d.cts +3 -3
  84. package/dist/paste-pills.d.ts +3 -3
  85. package/dist/paste-pills.js +1 -1
  86. package/dist/prompt-input.cjs +6 -7
  87. package/dist/prompt-input.d.cts +2 -2
  88. package/dist/prompt-input.d.ts +2 -2
  89. package/dist/prompt-input.js +3 -4
  90. package/dist/reason-tag.cjs +3 -4
  91. package/dist/reason-tag.js +2 -3
  92. package/docs/ContentRenderer.md +138 -3
  93. package/docs/PromptInput.md +24 -1
  94. package/package.json +1 -1
  95. package/dist/chunk-6TBRBN7H.js +0 -212
  96. package/dist/chunk-6TBRBN7H.js.map +0 -1
  97. package/dist/chunk-C463C4MM.cjs.map +0 -1
  98. package/dist/chunk-C5YX5XVL.cjs.map +0 -1
  99. package/dist/chunk-COXHFZR6.js.map +0 -1
  100. package/dist/chunk-L24LUSEE.js.map +0 -1
  101. package/dist/chunk-MCQJFMDP.cjs.map +0 -1
  102. package/dist/chunk-NILA2LZY.js.map +0 -1
  103. package/dist/chunk-QNQNGARW.cjs.map +0 -1
  104. package/dist/chunk-TLRRMYNV.js.map +0 -1
  105. package/dist/chunk-X2FC7ODX.cjs +0 -215
  106. package/dist/chunk-X2FC7ODX.cjs.map +0 -1
@@ -1,6 +1,8 @@
1
1
  import './chunk-AUTW5O4W.js';
2
- export { ContentRenderer, registerExtension, registerExtensions } from './chunk-L24LUSEE.js';
3
- import './chunk-6TBRBN7H.js';
2
+ export { ContentRenderer, registerExtension, registerExtensions } from './chunk-FXOT4P4P.js';
3
+ import './chunk-OXERDFFF.js';
4
+ import './chunk-45BBNJQD.js';
5
+ import './chunk-J3A4Z2P7.js';
4
6
  import './chunk-MMW2JGKZ.js';
5
7
  //# sourceMappingURL=content-renderer.js.map
6
8
  //# sourceMappingURL=content-renderer.js.map
package/dist/editor.cjs CHANGED
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var chunkATIDUWY6_cjs = require('./chunk-ATIDUWY6.cjs');
3
+ var chunk4S5DFN5N_cjs = require('./chunk-4S5DFN5N.cjs');
4
4
  require('./chunk-A2JUTNE6.cjs');
5
5
  require('./chunk-T6YELZPJ.cjs');
6
6
  require('./chunk-VQJ5LJJH.cjs');
7
7
  require('./chunk-4GOOSZEK.cjs');
8
- require('./chunk-MCQJFMDP.cjs');
8
+ require('./chunk-E5UU666U.cjs');
9
9
  require('./chunk-AIA5UNQ5.cjs');
10
10
  require('./chunk-G7227RTY.cjs');
11
11
  require('./chunk-TXTRTTG7.cjs');
@@ -15,7 +15,8 @@ require('./chunk-J2DI6RMR.cjs');
15
15
  require('./chunk-TI7D4QDM.cjs');
16
16
  require('./chunk-57FQGQJK.cjs');
17
17
  require('./chunk-OUYC6EIL.cjs');
18
- require('./chunk-X2FC7ODX.cjs');
18
+ require('./chunk-3U7PUZLI.cjs');
19
+ require('./chunk-XCZZVRBY.cjs');
19
20
  require('./chunk-MXWR3T3N.cjs');
20
21
  require('./chunk-SNHU2AI4.cjs');
21
22
  require('./chunk-ZU5Q77OT.cjs');
@@ -24,11 +25,11 @@ require('./chunk-ZU5Q77OT.cjs');
24
25
 
25
26
  Object.defineProperty(exports, "Editor", {
26
27
  enumerable: true,
27
- get: function () { return chunkATIDUWY6_cjs.Editor; }
28
+ get: function () { return chunk4S5DFN5N_cjs.Editor; }
28
29
  });
29
30
  Object.defineProperty(exports, "useEditor", {
30
31
  enumerable: true,
31
- get: function () { return chunkATIDUWY6_cjs.useEditor; }
32
+ get: function () { return chunk4S5DFN5N_cjs.useEditor; }
32
33
  });
33
34
  //# sourceMappingURL=editor.cjs.map
34
35
  //# sourceMappingURL=editor.cjs.map
package/dist/editor.d.cts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as react from 'react';
2
2
  import { ReactNode, RefObject } from 'react';
3
- import { R as RenderExtension } from './extensions-6PVd3-vB.cjs';
3
+ import { R as RenderExtension } from './extensions-DiByZIpD.cjs';
4
4
  import { F as FieldMode } from './inputs.types-duxPKadC.cjs';
5
5
  import { b as FullScreenMode } from './use-full-screen-BUke36LI.cjs';
6
6
  import './types-DJI492iY.cjs';
package/dist/editor.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as react from 'react';
2
2
  import { ReactNode, RefObject } from 'react';
3
- import { R as RenderExtension } from './extensions-6PVd3-vB.js';
3
+ import { R as RenderExtension } from './extensions-DiByZIpD.js';
4
4
  import { F as FieldMode } from './inputs.types-DzGcqcPf.js';
5
5
  import { b as FullScreenMode } from './use-full-screen-BUke36LI.js';
6
6
  import './types-DJI492iY.js';
package/dist/editor.js CHANGED
@@ -1,9 +1,9 @@
1
- export { Editor, useEditor } from './chunk-CAUEKGMR.js';
1
+ export { Editor, useEditor } from './chunk-HEY4SMS2.js';
2
2
  import './chunk-2BXMMVQS.js';
3
3
  import './chunk-CPY7NHXM.js';
4
4
  import './chunk-RP43ZFZP.js';
5
5
  import './chunk-ZQ3VXRUY.js';
6
- import './chunk-L24LUSEE.js';
6
+ import './chunk-FXOT4P4P.js';
7
7
  import './chunk-TJ66S5K6.js';
8
8
  import './chunk-FBWUXSKH.js';
9
9
  import './chunk-5U2DZ7AV.js';
@@ -13,7 +13,8 @@ import './chunk-MQ6VGG62.js';
13
13
  import './chunk-RBCMKPBX.js';
14
14
  import './chunk-RGANGU7X.js';
15
15
  import './chunk-YX6FTJ6N.js';
16
- import './chunk-6TBRBN7H.js';
16
+ import './chunk-OXERDFFF.js';
17
+ import './chunk-45BBNJQD.js';
17
18
  import './chunk-J3A4Z2P7.js';
18
19
  import './chunk-EDYAXGUM.js';
19
20
  import './chunk-MMW2JGKZ.js';
@@ -1,11 +1,26 @@
1
- import { ComponentType } from 'react';
1
+ import { ComponentType, ReactNode } from 'react';
2
2
 
3
3
  /** Props passed to every render-extension component. */
4
4
  interface RenderExtensionProps {
5
- /** The inner content of the custom tag (raw string). */
5
+ /**
6
+ * The inner content of the custom tag (raw string). For an extension with
7
+ * `markdown: true` in markdown content this is the raw MARKDOWN body, before
8
+ * conversion. Either way it is untrusted: render `children` rather than
9
+ * injecting it.
10
+ */
6
11
  content: string;
7
- /** Parsed HTML attributes from the opening tag. */
12
+ /**
13
+ * Parsed attributes from the opening tag. Event handlers (`on*`), `srcdoc`,
14
+ * and URL attributes with an unsafe scheme are removed (unless the renderer
15
+ * is `unsafe`).
16
+ */
8
17
  attributes: Record<string, string>;
18
+ /**
19
+ * Only for extensions with `markdown: true`: the body, rendered by the same
20
+ * pipeline as the rest of the content (sanitised, nested extensions, copy
21
+ * buttons).
22
+ */
23
+ children?: ReactNode;
9
24
  }
10
25
  /** Registers a custom tag with a React component for rendering. */
11
26
  interface RenderExtension {
@@ -19,6 +34,14 @@ interface RenderExtension {
19
34
  * @default true
20
35
  */
21
36
  block?: boolean;
37
+ /**
38
+ * The tag's body is MARKDOWN. In markdown content, a tag that starts a line
39
+ * is lifted out of the source before conversion, so the component gets the
40
+ * raw markdown as `content` and the rendered, sanitised body as `children`.
41
+ * In HTML content the body is HTML and `children` renders it.
42
+ * @default false
43
+ */
44
+ markdown?: boolean;
22
45
  }
23
46
  /** A parsed segment — either raw HTML or a matched extension tag. */
24
47
  type ContentSegment = {
@@ -1,11 +1,26 @@
1
- import { ComponentType } from 'react';
1
+ import { ComponentType, ReactNode } from 'react';
2
2
 
3
3
  /** Props passed to every render-extension component. */
4
4
  interface RenderExtensionProps {
5
- /** The inner content of the custom tag (raw string). */
5
+ /**
6
+ * The inner content of the custom tag (raw string). For an extension with
7
+ * `markdown: true` in markdown content this is the raw MARKDOWN body, before
8
+ * conversion. Either way it is untrusted: render `children` rather than
9
+ * injecting it.
10
+ */
6
11
  content: string;
7
- /** Parsed HTML attributes from the opening tag. */
12
+ /**
13
+ * Parsed attributes from the opening tag. Event handlers (`on*`), `srcdoc`,
14
+ * and URL attributes with an unsafe scheme are removed (unless the renderer
15
+ * is `unsafe`).
16
+ */
8
17
  attributes: Record<string, string>;
18
+ /**
19
+ * Only for extensions with `markdown: true`: the body, rendered by the same
20
+ * pipeline as the rest of the content (sanitised, nested extensions, copy
21
+ * buttons).
22
+ */
23
+ children?: ReactNode;
9
24
  }
10
25
  /** Registers a custom tag with a React component for rendering. */
11
26
  interface RenderExtension {
@@ -19,6 +34,14 @@ interface RenderExtension {
19
34
  * @default true
20
35
  */
21
36
  block?: boolean;
37
+ /**
38
+ * The tag's body is MARKDOWN. In markdown content, a tag that starts a line
39
+ * is lifted out of the source before conversion, so the component gets the
40
+ * raw markdown as `content` and the rendered, sanitised body as `children`.
41
+ * In HTML content the body is HTML and `children` renders it.
42
+ * @default false
43
+ */
44
+ markdown?: boolean;
22
45
  }
23
46
  /** A parsed segment — either raw HTML or a matched extension tag. */
24
47
  type ContentSegment = {
@@ -1,6 +1,6 @@
1
1
  import * as react from 'react';
2
2
  import { HTMLAttributes, ReactNode } from 'react';
3
- import { C as ComposerPastePreview, a as ComposerPasteClassNames } from './PastePills.types-CDyotkUb.cjs';
3
+ import { C as ComposerPastePreview, a as ComposerPasteClassNames } from './PastePills.types-CpXzsuwJ.cjs';
4
4
 
5
5
  /**
6
6
  * A file in a saved draft — an attachment chip, or the image behind an image
@@ -35,6 +35,12 @@ type PromptDraftPill = {
35
35
  kind: "text";
36
36
  id: string;
37
37
  text: string;
38
+ /**
39
+ * Shown on the pill in place of `Pasted text · N characters`. Display only:
40
+ * sending still expands the pill to the full `text`. Plain text, flattened
41
+ * to one line and capped at 80 characters when drawn. Optional.
42
+ */
43
+ label?: string;
38
44
  } | {
39
45
  kind: "image";
40
46
  id: string;
@@ -1,6 +1,6 @@
1
1
  import * as react from 'react';
2
2
  import { HTMLAttributes, ReactNode } from 'react';
3
- import { C as ComposerPastePreview, a as ComposerPasteClassNames } from './PastePills.types-CDyotkUb.js';
3
+ import { C as ComposerPastePreview, a as ComposerPasteClassNames } from './PastePills.types-CpXzsuwJ.js';
4
4
 
5
5
  /**
6
6
  * A file in a saved draft — an attachment chip, or the image behind an image
@@ -35,6 +35,12 @@ type PromptDraftPill = {
35
35
  kind: "text";
36
36
  id: string;
37
37
  text: string;
38
+ /**
39
+ * Shown on the pill in place of `Pasted text · N characters`. Display only:
40
+ * sending still expands the pill to the full `text`. Plain text, flattened
41
+ * to one line and capped at 80 characters when drawn. Optional.
42
+ */
43
+ label?: string;
38
44
  } | {
39
45
  kind: "image";
40
46
  id: string;
package/dist/index.cjs CHANGED
@@ -27,7 +27,7 @@ require('./chunk-XURQVDCN.cjs');
27
27
  var chunk4DL2U23D_cjs = require('./chunk-4DL2U23D.cjs');
28
28
  var chunkBK6XQQYG_cjs = require('./chunk-BK6XQQYG.cjs');
29
29
  var chunkAE53RKWR_cjs = require('./chunk-AE53RKWR.cjs');
30
- var chunkSYEHWUM5_cjs = require('./chunk-SYEHWUM5.cjs');
30
+ var chunkRALJMI7C_cjs = require('./chunk-RALJMI7C.cjs');
31
31
  var chunkQP6VNKLW_cjs = require('./chunk-QP6VNKLW.cjs');
32
32
  var chunkCEFK54WP_cjs = require('./chunk-CEFK54WP.cjs');
33
33
  var chunk5P3PISAX_cjs = require('./chunk-5P3PISAX.cjs');
@@ -36,7 +36,7 @@ var chunkEZA6GWZL_cjs = require('./chunk-EZA6GWZL.cjs');
36
36
  var chunkKSU6RYWU_cjs = require('./chunk-KSU6RYWU.cjs');
37
37
  var chunkK5MQZTDW_cjs = require('./chunk-K5MQZTDW.cjs');
38
38
  var chunkB4YV2V7G_cjs = require('./chunk-B4YV2V7G.cjs');
39
- var chunkC463C4MM_cjs = require('./chunk-C463C4MM.cjs');
39
+ var chunkSAG6DHQK_cjs = require('./chunk-SAG6DHQK.cjs');
40
40
  var chunkOASSZI6M_cjs = require('./chunk-OASSZI6M.cjs');
41
41
  require('./chunk-I27K6NLX.cjs');
42
42
  var chunkAQ4DZT4Y_cjs = require('./chunk-AQ4DZT4Y.cjs');
@@ -52,14 +52,14 @@ var chunkSSCW67KA_cjs = require('./chunk-SSCW67KA.cjs');
52
52
  var chunk7QENPLOP_cjs = require('./chunk-7QENPLOP.cjs');
53
53
  var chunkAYBKPAI2_cjs = require('./chunk-AYBKPAI2.cjs');
54
54
  var chunk6MXFZ3B5_cjs = require('./chunk-6MXFZ3B5.cjs');
55
- var chunk4XHG6Q42_cjs = require('./chunk-4XHG6Q42.cjs');
55
+ var chunkU5LKNGHU_cjs = require('./chunk-U5LKNGHU.cjs');
56
56
  var chunk2O5UXH5R_cjs = require('./chunk-2O5UXH5R.cjs');
57
57
  var chunkTLRFXSPA_cjs = require('./chunk-TLRFXSPA.cjs');
58
- var chunkCMC2TOEQ_cjs = require('./chunk-CMC2TOEQ.cjs');
58
+ var chunk6CAXLP7D_cjs = require('./chunk-6CAXLP7D.cjs');
59
59
  var chunkWKPBCB67_cjs = require('./chunk-WKPBCB67.cjs');
60
60
  var chunkS4FXY3B4_cjs = require('./chunk-S4FXY3B4.cjs');
61
61
  var chunkL4JIBKFW_cjs = require('./chunk-L4JIBKFW.cjs');
62
- var chunkUM4JXBRZ_cjs = require('./chunk-UM4JXBRZ.cjs');
62
+ var chunkS3NB6LDV_cjs = require('./chunk-S3NB6LDV.cjs');
63
63
  var chunkMAZEX4EZ_cjs = require('./chunk-MAZEX4EZ.cjs');
64
64
  require('./chunk-MRZXTL46.cjs');
65
65
  var chunkP53432AK_cjs = require('./chunk-P53432AK.cjs');
@@ -78,12 +78,12 @@ require('./chunk-S3TRSECD.cjs');
78
78
  var chunkZ7SQMQTF_cjs = require('./chunk-Z7SQMQTF.cjs');
79
79
  var chunkAJPYGRLA_cjs = require('./chunk-AJPYGRLA.cjs');
80
80
  var chunkXZOBGKZL_cjs = require('./chunk-XZOBGKZL.cjs');
81
- var chunkATIDUWY6_cjs = require('./chunk-ATIDUWY6.cjs');
81
+ var chunk4S5DFN5N_cjs = require('./chunk-4S5DFN5N.cjs');
82
82
  var chunkA2JUTNE6_cjs = require('./chunk-A2JUTNE6.cjs');
83
83
  var chunkT6YELZPJ_cjs = require('./chunk-T6YELZPJ.cjs');
84
84
  var chunkVQJ5LJJH_cjs = require('./chunk-VQJ5LJJH.cjs');
85
85
  var chunk4GOOSZEK_cjs = require('./chunk-4GOOSZEK.cjs');
86
- var chunkMCQJFMDP_cjs = require('./chunk-MCQJFMDP.cjs');
86
+ var chunkE5UU666U_cjs = require('./chunk-E5UU666U.cjs');
87
87
  var chunkAVU4JOYM_cjs = require('./chunk-AVU4JOYM.cjs');
88
88
  var chunkV5JTTLJP_cjs = require('./chunk-V5JTTLJP.cjs');
89
89
  var chunk4JT2QANA_cjs = require('./chunk-4JT2QANA.cjs');
@@ -99,8 +99,8 @@ var chunkGKLETY7D_cjs = require('./chunk-GKLETY7D.cjs');
99
99
  var chunkUJRMY54A_cjs = require('./chunk-UJRMY54A.cjs');
100
100
  var chunkTXTRTTG7_cjs = require('./chunk-TXTRTTG7.cjs');
101
101
  var chunkFQZE5N2N_cjs = require('./chunk-FQZE5N2N.cjs');
102
- var chunkTQGRXJ74_cjs = require('./chunk-TQGRXJ74.cjs');
103
- var chunkQNQNGARW_cjs = require('./chunk-QNQNGARW.cjs');
102
+ var chunk7FYRFNPX_cjs = require('./chunk-7FYRFNPX.cjs');
103
+ var chunkHFK5SBNM_cjs = require('./chunk-HFK5SBNM.cjs');
104
104
  var chunkMKGWHSNV_cjs = require('./chunk-MKGWHSNV.cjs');
105
105
  var chunkR6URPHEP_cjs = require('./chunk-R6URPHEP.cjs');
106
106
  require('./chunk-KJ22KE56.cjs');
@@ -116,8 +116,7 @@ var chunk35S5BTZH_cjs = require('./chunk-35S5BTZH.cjs');
116
116
  var chunk57FQGQJK_cjs = require('./chunk-57FQGQJK.cjs');
117
117
  var chunkOUYC6EIL_cjs = require('./chunk-OUYC6EIL.cjs');
118
118
  require('./chunk-M5MUGSON.cjs');
119
- var chunkC5YX5XVL_cjs = require('./chunk-C5YX5XVL.cjs');
120
- var chunkX2FC7ODX_cjs = require('./chunk-X2FC7ODX.cjs');
119
+ var chunk3U7PUZLI_cjs = require('./chunk-3U7PUZLI.cjs');
121
120
  var chunkXCZZVRBY_cjs = require('./chunk-XCZZVRBY.cjs');
122
121
  var chunkMXWR3T3N_cjs = require('./chunk-MXWR3T3N.cjs');
123
122
  var chunkCQ7QXZLR_cjs = require('./chunk-CQ7QXZLR.cjs');
@@ -329,7 +328,7 @@ Object.defineProperty(exports, "selectMode", {
329
328
  });
330
329
  Object.defineProperty(exports, "ReasonTag", {
331
330
  enumerable: true,
332
- get: function () { return chunkSYEHWUM5_cjs.ReasonTag; }
331
+ get: function () { return chunkRALJMI7C_cjs.ReasonTag; }
333
332
  });
334
333
  Object.defineProperty(exports, "ReorderableGrid", {
335
334
  enumerable: true,
@@ -373,27 +372,27 @@ Object.defineProperty(exports, "Progress", {
373
372
  });
374
373
  Object.defineProperty(exports, "PromptInput", {
375
374
  enumerable: true,
376
- get: function () { return chunkC463C4MM_cjs.PromptInput; }
375
+ get: function () { return chunkSAG6DHQK_cjs.PromptInput; }
377
376
  });
378
377
  Object.defineProperty(exports, "browserPlatformHints", {
379
378
  enumerable: true,
380
- get: function () { return chunkC463C4MM_cjs.browserPlatformHints; }
379
+ get: function () { return chunkSAG6DHQK_cjs.browserPlatformHints; }
381
380
  });
382
381
  Object.defineProperty(exports, "detectPlatform", {
383
382
  enumerable: true,
384
- get: function () { return chunkC463C4MM_cjs.detectPlatform; }
383
+ get: function () { return chunkSAG6DHQK_cjs.detectPlatform; }
385
384
  });
386
385
  Object.defineProperty(exports, "modifierKeyLabel", {
387
386
  enumerable: true,
388
- get: function () { return chunkC463C4MM_cjs.modifierKeyLabel; }
387
+ get: function () { return chunkSAG6DHQK_cjs.modifierKeyLabel; }
389
388
  });
390
389
  Object.defineProperty(exports, "promptDataUrlToFile", {
391
390
  enumerable: true,
392
- get: function () { return chunkC463C4MM_cjs.promptDataUrlToFile; }
391
+ get: function () { return chunkSAG6DHQK_cjs.promptDataUrlToFile; }
393
392
  });
394
393
  Object.defineProperty(exports, "promptFileToDataUrl", {
395
394
  enumerable: true,
396
- get: function () { return chunkC463C4MM_cjs.promptFileToDataUrl; }
395
+ get: function () { return chunkSAG6DHQK_cjs.promptFileToDataUrl; }
397
396
  });
398
397
  Object.defineProperty(exports, "Tooltip", {
399
398
  enumerable: true,
@@ -489,51 +488,51 @@ Object.defineProperty(exports, "textareaAdapter", {
489
488
  });
490
489
  Object.defineProperty(exports, "JSON_FIELD_TYPES", {
491
490
  enumerable: true,
492
- get: function () { return chunk4XHG6Q42_cjs.JSON_FIELD_TYPES; }
491
+ get: function () { return chunkU5LKNGHU_cjs.JSON_FIELD_TYPES; }
493
492
  });
494
493
  Object.defineProperty(exports, "JsonEditor", {
495
494
  enumerable: true,
496
- get: function () { return chunk4XHG6Q42_cjs.JsonEditor; }
495
+ get: function () { return chunkU5LKNGHU_cjs.JsonEditor; }
497
496
  });
498
497
  Object.defineProperty(exports, "applyJsonEdit", {
499
498
  enumerable: true,
500
- get: function () { return chunk4XHG6Q42_cjs.applyJsonEdit; }
499
+ get: function () { return chunkU5LKNGHU_cjs.applyJsonEdit; }
501
500
  });
502
501
  Object.defineProperty(exports, "describeEdit", {
503
502
  enumerable: true,
504
- get: function () { return chunk4XHG6Q42_cjs.describeEdit; }
503
+ get: function () { return chunkU5LKNGHU_cjs.describeEdit; }
505
504
  });
506
505
  Object.defineProperty(exports, "findJsonConflicts", {
507
506
  enumerable: true,
508
- get: function () { return chunk4XHG6Q42_cjs.findJsonConflicts; }
507
+ get: function () { return chunkU5LKNGHU_cjs.findJsonConflicts; }
509
508
  });
510
509
  Object.defineProperty(exports, "getAtPath", {
511
510
  enumerable: true,
512
- get: function () { return chunk4XHG6Q42_cjs.getAtPath; }
511
+ get: function () { return chunkU5LKNGHU_cjs.getAtPath; }
513
512
  });
514
513
  Object.defineProperty(exports, "inferType", {
515
514
  enumerable: true,
516
- get: function () { return chunk4XHG6Q42_cjs.inferType; }
515
+ get: function () { return chunkU5LKNGHU_cjs.inferType; }
517
516
  });
518
517
  Object.defineProperty(exports, "parseKeyMap", {
519
518
  enumerable: true,
520
- get: function () { return chunk4XHG6Q42_cjs.parseKeyMap; }
519
+ get: function () { return chunkU5LKNGHU_cjs.parseKeyMap; }
521
520
  });
522
521
  Object.defineProperty(exports, "parsePath", {
523
522
  enumerable: true,
524
- get: function () { return chunk4XHG6Q42_cjs.parsePath; }
523
+ get: function () { return chunkU5LKNGHU_cjs.parsePath; }
525
524
  });
526
525
  Object.defineProperty(exports, "pathToString", {
527
526
  enumerable: true,
528
- get: function () { return chunk4XHG6Q42_cjs.pathToString; }
527
+ get: function () { return chunkU5LKNGHU_cjs.pathToString; }
529
528
  });
530
529
  Object.defineProperty(exports, "resolveKeyRule", {
531
530
  enumerable: true,
532
- get: function () { return chunk4XHG6Q42_cjs.resolveKeyRule; }
531
+ get: function () { return chunkU5LKNGHU_cjs.resolveKeyRule; }
533
532
  });
534
533
  Object.defineProperty(exports, "typeMatches", {
535
534
  enumerable: true,
536
- get: function () { return chunk4XHG6Q42_cjs.typeMatches; }
535
+ get: function () { return chunkU5LKNGHU_cjs.typeMatches; }
537
536
  });
538
537
  Object.defineProperty(exports, "Switch", {
539
538
  enumerable: true,
@@ -545,7 +544,7 @@ Object.defineProperty(exports, "DatePicker", {
545
544
  });
546
545
  Object.defineProperty(exports, "Input", {
547
546
  enumerable: true,
548
- get: function () { return chunkCMC2TOEQ_cjs.Input; }
547
+ get: function () { return chunk6CAXLP7D_cjs.Input; }
549
548
  });
550
549
  Object.defineProperty(exports, "Select", {
551
550
  enumerable: true,
@@ -565,7 +564,7 @@ Object.defineProperty(exports, "Kbd", {
565
564
  });
566
565
  Object.defineProperty(exports, "MagicWand", {
567
566
  enumerable: true,
568
- get: function () { return chunkUM4JXBRZ_cjs.MagicWand; }
567
+ get: function () { return chunkS3NB6LDV_cjs.MagicWand; }
569
568
  });
570
569
  Object.defineProperty(exports, "Textarea", {
571
570
  enumerable: true,
@@ -653,11 +652,11 @@ Object.defineProperty(exports, "useDropdown", {
653
652
  });
654
653
  Object.defineProperty(exports, "Editor", {
655
654
  enumerable: true,
656
- get: function () { return chunkATIDUWY6_cjs.Editor; }
655
+ get: function () { return chunk4S5DFN5N_cjs.Editor; }
657
656
  });
658
657
  Object.defineProperty(exports, "useEditor", {
659
658
  enumerable: true,
660
- get: function () { return chunkATIDUWY6_cjs.useEditor; }
659
+ get: function () { return chunk4S5DFN5N_cjs.useEditor; }
661
660
  });
662
661
  Object.defineProperty(exports, "THEME_STORAGE_KEY", {
663
662
  enumerable: true,
@@ -721,19 +720,19 @@ Object.defineProperty(exports, "useFullScreen", {
721
720
  });
722
721
  Object.defineProperty(exports, "ContentRenderer", {
723
722
  enumerable: true,
724
- get: function () { return chunkMCQJFMDP_cjs.ContentRenderer; }
723
+ get: function () { return chunkE5UU666U_cjs.ContentRenderer; }
725
724
  });
726
725
  Object.defineProperty(exports, "registerExtension", {
727
726
  enumerable: true,
728
- get: function () { return chunkMCQJFMDP_cjs.registerExtension; }
727
+ get: function () { return chunkE5UU666U_cjs.registerExtension; }
729
728
  });
730
729
  Object.defineProperty(exports, "registerExtensions", {
731
730
  enumerable: true,
732
- get: function () { return chunkMCQJFMDP_cjs.registerExtensions; }
731
+ get: function () { return chunkE5UU666U_cjs.registerExtensions; }
733
732
  });
734
733
  Object.defineProperty(exports, "renderMarkdown", {
735
734
  enumerable: true,
736
- get: function () { return chunkMCQJFMDP_cjs.renderMarkdown; }
735
+ get: function () { return chunkE5UU666U_cjs.renderMarkdown; }
737
736
  });
738
737
  Object.defineProperty(exports, "Emoji", {
739
738
  enumerable: true,
@@ -797,27 +796,27 @@ Object.defineProperty(exports, "useAnimation", {
797
796
  });
798
797
  Object.defineProperty(exports, "Composer", {
799
798
  enumerable: true,
800
- get: function () { return chunkTQGRXJ74_cjs.Composer; }
799
+ get: function () { return chunk7FYRFNPX_cjs.Composer; }
801
800
  });
802
801
  Object.defineProperty(exports, "InlinePasteEditor", {
803
802
  enumerable: true,
804
- get: function () { return chunkQNQNGARW_cjs.InlinePasteEditor; }
803
+ get: function () { return chunkHFK5SBNM_cjs.InlinePasteEditor; }
805
804
  });
806
805
  Object.defineProperty(exports, "PastedFilesInput", {
807
806
  enumerable: true,
808
- get: function () { return chunkQNQNGARW_cjs.PastedFilesInput; }
807
+ get: function () { return chunkHFK5SBNM_cjs.PastedFilesInput; }
809
808
  });
810
809
  Object.defineProperty(exports, "pasteMarker", {
811
810
  enumerable: true,
812
- get: function () { return chunkQNQNGARW_cjs.pasteMarker; }
811
+ get: function () { return chunkHFK5SBNM_cjs.pasteMarker; }
813
812
  });
814
813
  Object.defineProperty(exports, "useInlinePaste", {
815
814
  enumerable: true,
816
- get: function () { return chunkQNQNGARW_cjs.useInlinePaste; }
815
+ get: function () { return chunkHFK5SBNM_cjs.useInlinePaste; }
817
816
  });
818
817
  Object.defineProperty(exports, "usePastePills", {
819
818
  enumerable: true,
820
- get: function () { return chunkQNQNGARW_cjs.usePastePills; }
819
+ get: function () { return chunkHFK5SBNM_cjs.usePastePills; }
821
820
  });
822
821
  Object.defineProperty(exports, "Popover", {
823
822
  enumerable: true,
@@ -889,19 +888,19 @@ Object.defineProperty(exports, "useEscapeLayer", {
889
888
  });
890
889
  Object.defineProperty(exports, "Action", {
891
890
  enumerable: true,
892
- get: function () { return chunkC5YX5XVL_cjs.Action; }
891
+ get: function () { return chunk3U7PUZLI_cjs.Action; }
893
892
  });
894
893
  Object.defineProperty(exports, "Button", {
895
894
  enumerable: true,
896
- get: function () { return chunkC5YX5XVL_cjs.Button; }
895
+ get: function () { return chunk3U7PUZLI_cjs.Button; }
897
896
  });
898
897
  Object.defineProperty(exports, "sanitizeHref", {
899
898
  enumerable: true,
900
- get: function () { return chunkX2FC7ODX_cjs.sanitizeHref; }
899
+ get: function () { return chunk3U7PUZLI_cjs.sanitizeHref; }
901
900
  });
902
901
  Object.defineProperty(exports, "sanitizeHtml", {
903
902
  enumerable: true,
904
- get: function () { return chunkX2FC7ODX_cjs.sanitizeHtml; }
903
+ get: function () { return chunk3U7PUZLI_cjs.sanitizeHtml; }
905
904
  });
906
905
  Object.defineProperty(exports, "EMOJI_CATEGORY_ORDER", {
907
906
  enumerable: true,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/theme-tokens.ts"],"names":[],"mappings":"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","file":"index.cjs","sourcesContent":["/**\n * Semantic theme tokens — the small set of colours the kit's DOM components\n * read, so a host can repaint the whole kit with its own palette WITHOUT\n * remapping Tailwind's `zinc` or `violet`.\n *\n * Each role is two CSS custom properties, one per mode:\n *\n * --fancy-surface the light value\n * --fancy-surface-dark the dark value\n *\n * Components read them through their var() FALLBACK, which is the colour the\n * component used before these existed:\n *\n * bg-[color:var(--fancy-surface,var(--color-white))]\n * dark:bg-[color:var(--fancy-surface-dark,var(--color-zinc-900))]\n *\n * So:\n * - **Set nothing and nothing changes.** An unset custom property resolves to\n * its fallback, which is the exact declaration the old `bg-white` produced.\n * - **Set one and every surface follows**, wherever the variable is in scope:\n * `:root`, `body`, or any wrapper element. No selector to match, no layer or\n * specificity to win — a custom property is inherited, not cascaded against.\n * - **Both modes are stated, not derived.** The dark value is a separate\n * variable rather than a flip under `.dark`, so which one applies is decided\n * by the host's own `dark:` variant — the same switch that drives every\n * other `dark:` utility in the kit. (See `dark-variant.css` for a variant\n * that follows `[data-theme=\"dark\"]` as well as `.dark`.)\n *\n * NOT covered, deliberately: colours that ENCODE DATA — chart series,\n * file-type marks, mood and confidence scales, event kinds. Repainting those\n * with a host's neutral palette would erase what they mean. A component's\n * explicit `color` prop (Badge, Button, Callout …) is also untouched: that is\n * the host choosing a hue, not the kit choosing one for it.\n *\n * `light` / `dark` are the defaults exactly as components write them in their\n * fallbacks. `tests/theme-tokens.test.tsx` fails if a component's fallback\n * disagrees with this table, so the table is the contract rather than a\n * description of it.\n */\nexport const THEME_TOKENS = {\n surface: {\n variable: \"--fancy-surface\",\n darkVariable: \"--fancy-surface-dark\",\n light: \"var(--color-white)\",\n dark: \"var(--color-zinc-900)\",\n description: \"Panels, cards, overlays (menus, modals, popovers, toasts), sidebars and navbars.\",\n },\n \"surface-muted\": {\n variable: \"--fancy-surface-muted\",\n darkVariable: \"--fancy-surface-muted-dark\",\n light: \"var(--color-zinc-100)\",\n dark: \"var(--color-zinc-800)\",\n description: \"Hovered and selected rows, chips, inset wells, toolbar buttons.\",\n },\n border: {\n variable: \"--fancy-border\",\n darkVariable: \"--fancy-border-dark\",\n light: \"var(--color-zinc-200)\",\n dark: \"var(--color-zinc-700)\",\n description: \"Outlines, dividers, separators and tracks (skeletons, progress, sliders).\",\n },\n \"border-strong\": {\n variable: \"--fancy-border-strong\",\n darkVariable: \"--fancy-border-strong-dark\",\n light: \"var(--color-zinc-300)\",\n dark: \"var(--color-zinc-700)\",\n description: \"The firmer outline on form controls (inputs, checkboxes, radios) and keycaps.\",\n },\n input: {\n variable: \"--fancy-input\",\n darkVariable: \"--fancy-input-dark\",\n light: \"var(--color-white)\",\n dark: \"#1e1e24\",\n description: \"The field surface of text inputs, checkboxes, radios, OTP cells and pickers.\",\n },\n text: {\n variable: \"--fancy-text\",\n darkVariable: \"--fancy-text-dark\",\n light: \"var(--color-zinc-900)\",\n dark: \"var(--color-zinc-100)\",\n description: \"Strongest foreground: headings, values, field text, active items.\",\n },\n \"text-soft\": {\n variable: \"--fancy-text-soft\",\n darkVariable: \"--fancy-text-soft-dark\",\n light: \"var(--color-zinc-700)\",\n dark: \"var(--color-zinc-300)\",\n description: \"Body copy and menu items: readable, one step back from text.\",\n },\n \"text-muted\": {\n variable: \"--fancy-text-muted\",\n darkVariable: \"--fancy-text-muted-dark\",\n light: \"var(--color-zinc-500)\",\n dark: \"var(--color-zinc-400)\",\n description: \"Descriptions, captions, secondary labels, axis labels.\",\n },\n \"text-faint\": {\n variable: \"--fancy-text-faint\",\n darkVariable: \"--fancy-text-faint-dark\",\n light: \"var(--color-zinc-400)\",\n dark: \"var(--color-zinc-500)\",\n description: \"Placeholders, disabled hints, decorative icons.\",\n },\n \"text-subtle\": {\n variable: \"--fancy-text-subtle\",\n darkVariable: \"--fancy-text-subtle-dark\",\n light: \"var(--color-zinc-600)\",\n dark: \"var(--color-zinc-400)\",\n description: \"Inactive nav labels (Sidebar, Menu, Navbar, MultiSwitch) and secondary prose. Added 5.53.1.\",\n },\n \"surface-hover\": {\n variable: \"--fancy-surface-hover\",\n darkVariable: \"--fancy-surface-hover-dark\",\n light: \"var(--color-zinc-50)\",\n // Tailwind's `bg-zinc-800/50`, written out so a host's value is used as-is.\n dark: \"color-mix(in oklab, var(--color-zinc-800) 50%, transparent)\",\n description: \"The hover fill on nav items, list options and table rows. Added 5.53.1.\",\n },\n focus: {\n variable: \"--fancy-focus\",\n darkVariable: \"--fancy-focus-dark\",\n light: \"var(--color-blue-500)\",\n dark: \"var(--color-blue-400)\",\n description: \"The focus border and ring on form controls.\",\n },\n} as const;\n\nexport type ThemeTokenRole = keyof typeof THEME_TOKENS;\n"]}
1
+ {"version":3,"sources":["../src/theme-tokens.ts"],"names":[],"mappings":"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","file":"index.cjs","sourcesContent":["/**\n * Semantic theme tokens — the small set of colours the kit's DOM components\n * read, so a host can repaint the whole kit with its own palette WITHOUT\n * remapping Tailwind's `zinc` or `violet`.\n *\n * Each role is two CSS custom properties, one per mode:\n *\n * --fancy-surface the light value\n * --fancy-surface-dark the dark value\n *\n * Components read them through their var() FALLBACK, which is the colour the\n * component used before these existed:\n *\n * bg-[color:var(--fancy-surface,var(--color-white))]\n * dark:bg-[color:var(--fancy-surface-dark,var(--color-zinc-900))]\n *\n * So:\n * - **Set nothing and nothing changes.** An unset custom property resolves to\n * its fallback, which is the exact declaration the old `bg-white` produced.\n * - **Set one and every surface follows**, wherever the variable is in scope:\n * `:root`, `body`, or any wrapper element. No selector to match, no layer or\n * specificity to win — a custom property is inherited, not cascaded against.\n * - **Both modes are stated, not derived.** The dark value is a separate\n * variable rather than a flip under `.dark`, so which one applies is decided\n * by the host's own `dark:` variant — the same switch that drives every\n * other `dark:` utility in the kit. (See `dark-variant.css` for a variant\n * that follows `[data-theme=\"dark\"]` as well as `.dark`.)\n *\n * NOT covered, deliberately: colours that ENCODE DATA — chart series,\n * file-type marks, mood and confidence scales, event kinds. Repainting those\n * with a host's neutral palette would erase what they mean. A component's\n * explicit `color` prop (Badge, Button, Callout …) is also untouched: that is\n * the host choosing a hue, not the kit choosing one for it.\n *\n * `light` / `dark` are the defaults exactly as components write them in their\n * fallbacks. `tests/theme-tokens.test.tsx` fails if a component's fallback\n * disagrees with this table, so the table is the contract rather than a\n * description of it.\n */\nexport const THEME_TOKENS = {\n surface: {\n variable: \"--fancy-surface\",\n darkVariable: \"--fancy-surface-dark\",\n light: \"var(--color-white)\",\n dark: \"var(--color-zinc-900)\",\n description: \"Panels, cards, overlays (menus, modals, popovers, toasts), sidebars and navbars.\",\n },\n \"surface-muted\": {\n variable: \"--fancy-surface-muted\",\n darkVariable: \"--fancy-surface-muted-dark\",\n light: \"var(--color-zinc-100)\",\n dark: \"var(--color-zinc-800)\",\n description: \"Hovered and selected rows, chips, inset wells, toolbar buttons.\",\n },\n border: {\n variable: \"--fancy-border\",\n darkVariable: \"--fancy-border-dark\",\n light: \"var(--color-zinc-200)\",\n dark: \"var(--color-zinc-700)\",\n description: \"Outlines, dividers, separators and tracks (skeletons, progress, sliders).\",\n },\n \"border-strong\": {\n variable: \"--fancy-border-strong\",\n darkVariable: \"--fancy-border-strong-dark\",\n light: \"var(--color-zinc-300)\",\n dark: \"var(--color-zinc-700)\",\n description: \"The firmer outline on form controls (inputs, checkboxes, radios) and keycaps.\",\n },\n input: {\n variable: \"--fancy-input\",\n darkVariable: \"--fancy-input-dark\",\n light: \"var(--color-white)\",\n dark: \"#1e1e24\",\n description: \"The field surface of text inputs, checkboxes, radios, OTP cells and pickers.\",\n },\n text: {\n variable: \"--fancy-text\",\n darkVariable: \"--fancy-text-dark\",\n light: \"var(--color-zinc-900)\",\n dark: \"var(--color-zinc-100)\",\n description: \"Strongest foreground: headings, values, field text, active items.\",\n },\n \"text-soft\": {\n variable: \"--fancy-text-soft\",\n darkVariable: \"--fancy-text-soft-dark\",\n light: \"var(--color-zinc-700)\",\n dark: \"var(--color-zinc-300)\",\n description: \"Body copy and menu items: readable, one step back from text.\",\n },\n \"text-muted\": {\n variable: \"--fancy-text-muted\",\n darkVariable: \"--fancy-text-muted-dark\",\n light: \"var(--color-zinc-500)\",\n dark: \"var(--color-zinc-400)\",\n description: \"Descriptions, captions, secondary labels, axis labels.\",\n },\n \"text-faint\": {\n variable: \"--fancy-text-faint\",\n darkVariable: \"--fancy-text-faint-dark\",\n light: \"var(--color-zinc-400)\",\n dark: \"var(--color-zinc-500)\",\n description: \"Placeholders, disabled hints, decorative icons.\",\n },\n \"text-subtle\": {\n variable: \"--fancy-text-subtle\",\n darkVariable: \"--fancy-text-subtle-dark\",\n light: \"var(--color-zinc-600)\",\n dark: \"var(--color-zinc-400)\",\n description: \"Inactive nav labels (Sidebar, Menu, Navbar, MultiSwitch) and secondary prose. Added 5.53.1.\",\n },\n \"surface-hover\": {\n variable: \"--fancy-surface-hover\",\n darkVariable: \"--fancy-surface-hover-dark\",\n light: \"var(--color-zinc-50)\",\n // Tailwind's `bg-zinc-800/50`, written out so a host's value is used as-is.\n dark: \"color-mix(in oklab, var(--color-zinc-800) 50%, transparent)\",\n description: \"The hover fill on nav items, list options and table rows. Added 5.53.1.\",\n },\n focus: {\n variable: \"--fancy-focus\",\n darkVariable: \"--fancy-focus-dark\",\n light: \"var(--color-blue-500)\",\n dark: \"var(--color-blue-400)\",\n description: \"The focus border and ring on form controls.\",\n },\n} as const;\n\nexport type ThemeTokenRole = keyof typeof THEME_TOKENS;\n"]}
package/dist/index.d.cts CHANGED
@@ -73,13 +73,13 @@ export { FileUpload, FileUploadContextValue, FileUploadDropzoneProps, FileUpload
73
73
  export { TimePicker, TimePickerProps } from './time-picker.cjs';
74
74
  export { Calendar, CalendarDayContext, CalendarMode, CalendarProps, DateRange } from './calendar.cjs';
75
75
  export { Composer, ComposerProps, ComposerSubmitExtras } from './composer.cjs';
76
- export { a as ComposerPasteClassNames, C as ComposerPastePreview, H as HeldImage, b as HeldPaste, c as PasteClassNames, d as PasteEventLike, e as PastePreview, U as UsePastePillsOptions, f as UsePastePillsResult, p as pasteMarker, u as usePastePills } from './PastePills.types-CDyotkUb.cjs';
77
- export { I as InlinePasteEditor, a as InlinePasteEditorHandle, P as PastedFilesInput, b as PastedFilesInputProps, U as UseInlinePasteOptions, u as useInlinePaste } from './PastedFilesInput-DQ1eZaHk.cjs';
76
+ export { a as ComposerPasteClassNames, C as ComposerPastePreview, H as HeldImage, b as HeldPaste, c as PasteClassNames, d as PasteEventLike, e as PastePreview, U as UsePastePillsOptions, f as UsePastePillsResult, p as pasteMarker, u as usePastePills } from './PastePills.types-CpXzsuwJ.cjs';
77
+ export { I as InlinePasteEditor, a as InlinePasteEditorHandle, P as PastedFilesInput, b as PastedFilesInputProps, U as UseInlinePasteOptions, u as useInlinePaste } from './PastedFilesInput-CUQeOeOA.cjs';
78
78
  export { Chart, ChartAreaProps, ChartBarData, ChartBarProps, ChartCommonProps, ChartDonutData, ChartDonutProps, ChartHorizontalBarProps, ChartLineProps, ChartPieData, ChartPieProps, ChartSeries, ChartSparklineProps, ChartStackedBarProps } from './chart.cjs';
79
79
  export { Editor, EditorAction, EditorContentProps, EditorContextValue, EditorFullScreenToggleProps, EditorProps, EditorSourceToggleProps, EditorToolbarProps, useEditor } from './editor.cjs';
80
80
  export { CodeView, CodeViewProps } from './code-view.cjs';
81
- export { ContentRenderer, ContentRendererProps } from './content-renderer.cjs';
82
- export { R as RenderExtension, a as RenderExtensionProps, r as registerExtension, b as registerExtensions } from './extensions-6PVd3-vB.cjs';
81
+ export { ContentClipboardPayload, ContentClipboardWriter, ContentCopyEvent, ContentCopyKind, ContentRenderer, ContentRendererProps } from './content-renderer.cjs';
82
+ export { R as RenderExtension, a as RenderExtensionProps, r as registerExtension, b as registerExtensions } from './extensions-DiByZIpD.cjs';
83
83
  export { Menu, MenuContextValue, MenuGroupProps, MenuItemProps, MenuOrientation, MenuProps, MenuSubmenuProps, useMenu } from './menu.cjs';
84
84
  export { Sidebar, SidebarCollapseMode, SidebarContextValue, SidebarGroupProps, SidebarItemProps, SidebarProps, SidebarSubmenuProps, SidebarToggleProps, useSidebar } from './sidebar.cjs';
85
85
  export { MobileMenu, MobileMenuBottomBarProps, MobileMenuContextValue, MobileMenuFlyoutProps, MobileMenuItemProps, MobileMenuSide, MobileMenuVariant, useMobileMenu } from './mobile-menu.cjs';
@@ -87,7 +87,7 @@ export { Kanban, KanbanCardMoveHandler, KanbanCardProps, KanbanColumnHandleProps
87
87
  export { DropPosition, TreeNav, TreeNavContextValue, TreeNavProps, TreeNodeData, TreeNodeProps, useTreeNav } from './tree-nav.cjs';
88
88
  export { FileBrowser, FileBrowserContextValue, FileBrowserNewFolder, FileBrowserNodeProps, FileBrowserPathBarProps, FileBrowserProps, FileBrowserProvider, FileBrowserRow, FileBrowserToolbarProps, FileBrowserTreeProps, FileEntry, FileKind, FileLoadStatus, FileSelectMode, FileSnapshotNode, FileSort, FileSortDirection, FileSortField, useFileBrowser, validateFolderName } from './file-browser.cjs';
89
89
  export { M as MediaKind, a as MediaViewer, b as MediaViewerProps, R as ResolveMediaTypeInput, r as resolveMediaType } from './index-WG8UdfiE.cjs';
90
- export { F as FancyPlatform, P as PlatformHints, a as PromptAttachment, b as PromptCmd, c as PromptDraft, d as PromptDraftFile, e as PromptDraftPill, f as PromptInput, g as PromptInputHandle, h as PromptInputProps, i as PromptMention, j as PromptSetDraftOptions, k as browserPlatformHints, l as detectPlatform, m as modifierKeyLabel, p as promptDataUrlToFile, n as promptFileToDataUrl } from './index-CCJVT9Hu.cjs';
90
+ export { F as FancyPlatform, P as PlatformHints, a as PromptAttachment, b as PromptCmd, c as PromptDraft, d as PromptDraftFile, e as PromptDraftPill, f as PromptInput, g as PromptInputHandle, h as PromptInputProps, i as PromptMention, j as PromptSetDraftOptions, k as browserPlatformHints, l as detectPlatform, m as modifierKeyLabel, p as promptDataUrlToFile, n as promptFileToDataUrl } from './index-DWtSViJ3.cjs';
91
91
  import { P as Placement } from './types-DJI492iY.cjs';
92
92
  export { A as ActionColor, B as ButtonColor, C as Color, S as Size, V as Variant } from './types-DJI492iY.cjs';
93
93
  import { RefObject } from 'react';
package/dist/index.d.ts CHANGED
@@ -73,13 +73,13 @@ export { FileUpload, FileUploadContextValue, FileUploadDropzoneProps, FileUpload
73
73
  export { TimePicker, TimePickerProps } from './time-picker.js';
74
74
  export { Calendar, CalendarDayContext, CalendarMode, CalendarProps, DateRange } from './calendar.js';
75
75
  export { Composer, ComposerProps, ComposerSubmitExtras } from './composer.js';
76
- export { a as ComposerPasteClassNames, C as ComposerPastePreview, H as HeldImage, b as HeldPaste, c as PasteClassNames, d as PasteEventLike, e as PastePreview, U as UsePastePillsOptions, f as UsePastePillsResult, p as pasteMarker, u as usePastePills } from './PastePills.types-CDyotkUb.js';
77
- export { I as InlinePasteEditor, a as InlinePasteEditorHandle, P as PastedFilesInput, b as PastedFilesInputProps, U as UseInlinePasteOptions, u as useInlinePaste } from './PastedFilesInput-CrgNoEBd.js';
76
+ export { a as ComposerPasteClassNames, C as ComposerPastePreview, H as HeldImage, b as HeldPaste, c as PasteClassNames, d as PasteEventLike, e as PastePreview, U as UsePastePillsOptions, f as UsePastePillsResult, p as pasteMarker, u as usePastePills } from './PastePills.types-CpXzsuwJ.js';
77
+ export { I as InlinePasteEditor, a as InlinePasteEditorHandle, P as PastedFilesInput, b as PastedFilesInputProps, U as UseInlinePasteOptions, u as useInlinePaste } from './PastedFilesInput-Bt3KSTVN.js';
78
78
  export { Chart, ChartAreaProps, ChartBarData, ChartBarProps, ChartCommonProps, ChartDonutData, ChartDonutProps, ChartHorizontalBarProps, ChartLineProps, ChartPieData, ChartPieProps, ChartSeries, ChartSparklineProps, ChartStackedBarProps } from './chart.js';
79
79
  export { Editor, EditorAction, EditorContentProps, EditorContextValue, EditorFullScreenToggleProps, EditorProps, EditorSourceToggleProps, EditorToolbarProps, useEditor } from './editor.js';
80
80
  export { CodeView, CodeViewProps } from './code-view.js';
81
- export { ContentRenderer, ContentRendererProps } from './content-renderer.js';
82
- export { R as RenderExtension, a as RenderExtensionProps, r as registerExtension, b as registerExtensions } from './extensions-6PVd3-vB.js';
81
+ export { ContentClipboardPayload, ContentClipboardWriter, ContentCopyEvent, ContentCopyKind, ContentRenderer, ContentRendererProps } from './content-renderer.js';
82
+ export { R as RenderExtension, a as RenderExtensionProps, r as registerExtension, b as registerExtensions } from './extensions-DiByZIpD.js';
83
83
  export { Menu, MenuContextValue, MenuGroupProps, MenuItemProps, MenuOrientation, MenuProps, MenuSubmenuProps, useMenu } from './menu.js';
84
84
  export { Sidebar, SidebarCollapseMode, SidebarContextValue, SidebarGroupProps, SidebarItemProps, SidebarProps, SidebarSubmenuProps, SidebarToggleProps, useSidebar } from './sidebar.js';
85
85
  export { MobileMenu, MobileMenuBottomBarProps, MobileMenuContextValue, MobileMenuFlyoutProps, MobileMenuItemProps, MobileMenuSide, MobileMenuVariant, useMobileMenu } from './mobile-menu.js';
@@ -87,7 +87,7 @@ export { Kanban, KanbanCardMoveHandler, KanbanCardProps, KanbanColumnHandleProps
87
87
  export { DropPosition, TreeNav, TreeNavContextValue, TreeNavProps, TreeNodeData, TreeNodeProps, useTreeNav } from './tree-nav.js';
88
88
  export { FileBrowser, FileBrowserContextValue, FileBrowserNewFolder, FileBrowserNodeProps, FileBrowserPathBarProps, FileBrowserProps, FileBrowserProvider, FileBrowserRow, FileBrowserToolbarProps, FileBrowserTreeProps, FileEntry, FileKind, FileLoadStatus, FileSelectMode, FileSnapshotNode, FileSort, FileSortDirection, FileSortField, useFileBrowser, validateFolderName } from './file-browser.js';
89
89
  export { M as MediaKind, a as MediaViewer, b as MediaViewerProps, R as ResolveMediaTypeInput, r as resolveMediaType } from './index-BiyyxWtb.js';
90
- export { F as FancyPlatform, P as PlatformHints, a as PromptAttachment, b as PromptCmd, c as PromptDraft, d as PromptDraftFile, e as PromptDraftPill, f as PromptInput, g as PromptInputHandle, h as PromptInputProps, i as PromptMention, j as PromptSetDraftOptions, k as browserPlatformHints, l as detectPlatform, m as modifierKeyLabel, p as promptDataUrlToFile, n as promptFileToDataUrl } from './index-DRlltbdV.js';
90
+ export { F as FancyPlatform, P as PlatformHints, a as PromptAttachment, b as PromptCmd, c as PromptDraft, d as PromptDraftFile, e as PromptDraftPill, f as PromptInput, g as PromptInputHandle, h as PromptInputProps, i as PromptMention, j as PromptSetDraftOptions, k as browserPlatformHints, l as detectPlatform, m as modifierKeyLabel, p as promptDataUrlToFile, n as promptFileToDataUrl } from './index-XR5t8bTq.js';
91
91
  import { P as Placement } from './types-DJI492iY.js';
92
92
  export { A as ActionColor, B as ButtonColor, C as Color, S as Size, V as Variant } from './types-DJI492iY.js';
93
93
  import { RefObject } from 'react';