@factorialco/f0-react 12.10.0 → 12.12.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 (122) hide show
  1. package/dist/ArchiveThumbnail-b34U-zTc.js +70 -0
  2. package/dist/ArchiveViewer-BpmryW7A.js +172 -0
  3. package/dist/{ChatPostComposerDialog-DcmLrQk6.js → ChatPostComposerDialog-Cr207fXs.js} +4 -4
  4. package/dist/{CoachmarkProvider-XfLjB3dH.js → CoachmarkProvider-CsytVD-X.js} +29764 -29935
  5. package/dist/CodeThumbnail-8NiQ3uzU.js +31 -0
  6. package/dist/CodeViewer-BNZqt-5s.js +98 -0
  7. package/dist/DocumentToolbar-DUe9R1rU.js +74 -0
  8. package/dist/{DocxThumbnail-kHTNnwW0.js → DocxThumbnail-CK9vFoTB.js} +2 -2
  9. package/dist/{DocxViewer-CqHgSExq.js → DocxViewer-BUMy2iL7.js} +25 -23
  10. package/dist/ExternalLink-RdKU698E.js +22 -0
  11. package/dist/{F0AiProcessingOverlay-H23WHd7F.js → F0AiProcessingOverlay-CiUTeBwG.js} +1388 -1384
  12. package/dist/F0Alert-Ca8sBfXN.js +102 -0
  13. package/dist/F0AudioPlayer-BefDLQA2.js +1083 -0
  14. package/dist/F0AudioPlayer-CNb4kXOk.js +3 -0
  15. package/dist/{popover-BjrPOMeQ.js → F0Button-d91IgOnc.js} +3164 -8587
  16. package/dist/{F0CanvasPanel--hLKeQvg.js → F0CanvasPanel-BOo_mxBl.js} +10286 -9593
  17. package/dist/F0DocumentViewer-CaYAO9ok.js +3 -0
  18. package/dist/F0DocumentViewer-h0XY5tgT.js +90 -0
  19. package/dist/F0Icon-DmCBV0gK.js +202 -0
  20. package/dist/{F0Map-hvgCUGk8.js → F0Map-b1uYlF_H.js} +614 -613
  21. package/dist/F0SegmentedControl-DXoAzTmH.js +103 -0
  22. package/dist/{F0Select-B-ZxVjXG.js → F0Select-BZ20yXKy.js} +9172 -9251
  23. package/dist/{F0VideoPlayer-CNp5hXgp.js → F0VideoPlayer-D85XCpqh.js} +390 -430
  24. package/dist/F0VideoPlayer-_zLFiEIp.js +1 -0
  25. package/dist/HtmlThumbnail-BJuJkuvu.js +60 -0
  26. package/dist/HtmlViewer-DxOnMV30.js +208 -0
  27. package/dist/LayoutGroup-BGb5jMxE.js +57 -0
  28. package/dist/LockLocked-gdodYvT_.js +41 -0
  29. package/dist/{Map-eIXVKc1x.js → Map-BOMgctnS.js} +55 -52
  30. package/dist/{PdfThumbnail-CCSmwxQU.js → PdfThumbnail-98PDy4ud.js} +5 -5
  31. package/dist/PdfViewer-nBnKrTYD.js +296 -0
  32. package/dist/SandboxedHtmlFrame-B95lWsIP.js +309 -0
  33. package/dist/{SheetViewer-BN5UYkEZ.js → SheetViewer-CD9SHbXJ.js} +36 -26
  34. package/dist/TextThumbnail-DKNxh344.js +15 -0
  35. package/dist/{TextViewer-Bt0_dYB-.js → TextViewer-DxRBCXzV.js} +44 -41
  36. package/dist/ai.d.ts +3 -3
  37. package/dist/ai.js +5 -5
  38. package/dist/bash-BcZBmoDA.js +169 -0
  39. package/dist/c-Dv-5_kUQ.js +187 -0
  40. package/dist/component-status.js +2 -2
  41. package/dist/core-C0MCmPil.js +842 -0
  42. package/dist/cpp-CMQhucZt.js +236 -0
  43. package/dist/csharp-CuDKSCf2.js +260 -0
  44. package/dist/css-Dta7Q4Li.js +145 -0
  45. package/dist/dart-po7Eq73d.js +134 -0
  46. package/dist/diff-IgsQP-8T.js +39 -0
  47. package/dist/dist-CFY0KELA.js +55 -0
  48. package/dist/dist-DtILhk4w.js +253 -0
  49. package/dist/dist-zvwuNflP.js +59 -0
  50. package/dist/dockerfile-B4Bz9I5u.js +34 -0
  51. package/dist/dos-1TcyLtUq.js +57 -0
  52. package/dist/elixir-BnEjyLGa.js +189 -0
  53. package/dist/erlang-tgri7ZSv.js +218 -0
  54. package/dist/experimental.d.ts +24 -4
  55. package/dist/experimental.js +5957 -5752
  56. package/dist/{exports-BByQBwpi.d.ts → exports-cxvNeHfV.d.ts} +1 -1
  57. package/dist/f0.d.ts +130 -8
  58. package/dist/f0.js +1969 -3034
  59. package/dist/fetchText-o_GOtiv3.js +54 -0
  60. package/dist/go-CEVmppuo.js +144 -0
  61. package/dist/graphql-BWwc-u8d.js +67 -0
  62. package/dist/groovy-BELuqtd6.js +127 -0
  63. package/dist/haskell-Cxh7aaFM.js +138 -0
  64. package/dist/highlight-CqFL-_MG.js +114 -0
  65. package/dist/i18n-provider-Bdgo-LeP.js +150 -0
  66. package/dist/{i18n-provider-defaults-p0UGTA_k.js → i18n-provider-defaults-B9vdZZeS.js} +35 -1
  67. package/dist/{i18n-provider-defaults-DQxuUMpU.d.ts → i18n-provider-defaults-DyPn8R7T.d.ts} +34 -0
  68. package/dist/i18n-provider-defaults.d.ts +1 -1
  69. package/dist/i18n-provider-defaults.js +1 -1
  70. package/dist/{index-D3nEDg8x.d.ts → index-DF8ubeg6.d.ts} +1 -1
  71. package/dist/ini-DA-F0rRr.js +88 -0
  72. package/dist/java-Bujnoc_f.js +174 -0
  73. package/dist/javascript-BeEhpXRE.js +431 -0
  74. package/dist/json-CxvE7tEw.js +42 -0
  75. package/dist/kotlin-DOwDGI_m.js +206 -0
  76. package/dist/less-DWlR-e-o.js +196 -0
  77. package/dist/localized-BrUgGMzm.js +46 -0
  78. package/dist/lua-BlZiakwh.js +46 -0
  79. package/dist/makefile-D3841Yg4.js +57 -0
  80. package/dist/{maplibre-Bywi9z2G.js → maplibre-Ip4Qe9dM.js} +1 -1
  81. package/dist/markdown-D1wNG79U.js +178 -0
  82. package/dist/objectivec-DxtRzTBy.js +117 -0
  83. package/dist/ownValue-D4uSXt0d.js +4 -0
  84. package/dist/{pdfWorker-CKgxOaCl.js → pdfWorker-DMjHHAyP.js} +12 -9
  85. package/dist/pdfWorkerConfig-BwllKt1K.js +8 -0
  86. package/dist/perl-BWRmkuyz.js +192 -0
  87. package/dist/php-CjwybYSP.js +300 -0
  88. package/dist/popover-ics24JxK.js +4486 -0
  89. package/dist/{posts-DGtDUrKT.js → posts-BHRBUAYJ.js} +2 -0
  90. package/dist/powershell-CgKcNA5Q.js +188 -0
  91. package/dist/properties-Bc45MTzW.js +38 -0
  92. package/dist/protobuf-Bv_xSUaI.js +61 -0
  93. package/dist/purify.es-ZpfdAuNV.js +545 -0
  94. package/dist/python-D8PdGjgy.js +238 -0
  95. package/dist/r-DA-9ZIdU.js +140 -0
  96. package/dist/{renderDocx-_UmnE-yc.js → renderDocx-BW-uDyaZ.js} +2 -0
  97. package/dist/ruby-Bqr16BpN.js +262 -0
  98. package/dist/rust-BCvJMwk8.js +182 -0
  99. package/dist/scala-Du8mOD2z.js +162 -0
  100. package/dist/scrollarea-cxaFAWG5.js +691 -0
  101. package/dist/scss-AMxHqh46.js +155 -0
  102. package/dist/skeleton-AC0Fb8zj.js +72 -0
  103. package/dist/sql-BbYSgcOA.js +118 -0
  104. package/dist/styles.css +1 -1
  105. package/dist/swift-DRKtalPn.js +575 -0
  106. package/dist/toolbarStyles-lTj_42zD.js +52 -0
  107. package/dist/{types-UMYBr8Mi.d.ts → types-geibVrTM.d.ts} +3 -95
  108. package/dist/typescript-Bv8uKU6V.js +516 -0
  109. package/dist/{useData-B7LYSzh0.js → useData-BYkiGUHX.js} +4734 -5375
  110. package/dist/useFetchedText-BR3_KLXx.js +38 -0
  111. package/dist/useThumbnailText-DwXQvLIe.js +22 -0
  112. package/dist/xml-BVpP05uE.js +162 -0
  113. package/dist/yaml-BNe2WG-i.js +144 -0
  114. package/dist/zipTree-B2zUYl6b.js +247 -0
  115. package/package.json +2 -1
  116. package/dist/DocumentToolbar-CqbY6eID.js +0 -70
  117. package/dist/F0DocumentViewer-BN-2IVgz.js +0 -400
  118. package/dist/F0DocumentViewer-D1G3M2J_.js +0 -3
  119. package/dist/F0Text-D92NWQRd.js +0 -81
  120. package/dist/F0VideoPlayer-D4bZBBLK.js +0 -1
  121. package/dist/TextThumbnail-X04JgaNI.js +0 -26
  122. package/dist/dist-DvxtFKDL.js +0 -78
@@ -0,0 +1,38 @@
1
+ import { t as e } from "./fetchText-o_GOtiv3.js";
2
+ import { useEffect as t, useState as n } from "react";
3
+ //#region src/addons/documents/F0DocumentViewer/components/useFetchedText.ts
4
+ var r = (r, { withCredentials: i, maxChars: a }) => {
5
+ let o = `${i ? "1" : "0"}|${a}|${r}`, [s, c] = n(null);
6
+ t(() => {
7
+ let t = new AbortController();
8
+ return e(r, {
9
+ withCredentials: i,
10
+ maxChars: a,
11
+ signal: t.signal
12
+ }).then((e) => {
13
+ t.signal.aborted || c({
14
+ key: o,
15
+ text: e,
16
+ failed: !1
17
+ });
18
+ }).catch(() => {
19
+ t.signal.aborted || c({
20
+ key: o,
21
+ text: null,
22
+ failed: !0
23
+ });
24
+ }), () => t.abort();
25
+ }, [
26
+ o,
27
+ r,
28
+ i,
29
+ a
30
+ ]);
31
+ let l = s?.key === o ? s : null;
32
+ return {
33
+ text: l?.text ?? null,
34
+ failed: l?.failed ?? !1
35
+ };
36
+ };
37
+ //#endregion
38
+ export { r as t };
@@ -0,0 +1,22 @@
1
+ import { t as e } from "./fetchText-o_GOtiv3.js";
2
+ import { useEffect as t, useRef as n, useState as r } from "react";
3
+ //#region src/elements/primitives/_primitives/F0Attachments/components/thumbnails/useThumbnailText.ts
4
+ var i = (i, a, { onError: o, onLoaded: s }) => {
5
+ let [c, l] = r(null), u = n(o);
6
+ u.current = o;
7
+ let d = n(s);
8
+ return d.current = s, t(() => {
9
+ let t = new AbortController();
10
+ return e(i, {
11
+ withCredentials: !1,
12
+ maxChars: a,
13
+ signal: t.signal
14
+ }).then((e) => {
15
+ t.signal.aborted || (e.trim() === "" ? u.current() : (l(e), d.current()));
16
+ }).catch(() => {
17
+ t.signal.aborted || u.current();
18
+ }), () => t.abort();
19
+ }, [i, a]), c;
20
+ };
21
+ //#endregion
22
+ export { i as t };
@@ -0,0 +1,162 @@
1
+ //#region ../../node_modules/.pnpm/highlight.js@11.12.0/node_modules/highlight.js/es/languages/xml.js
2
+ function e(e) {
3
+ let t = e.regex, n = t.concat(/[\p{L}_]/u, t.optional(/[\p{L}0-9_.-]*:/u), /[\p{L}0-9_.-]*/u), r = /[\p{L}0-9._:-]+/u, i = {
4
+ className: "symbol",
5
+ begin: /&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/
6
+ }, a = {
7
+ begin: /\s/,
8
+ contains: [{
9
+ className: "keyword",
10
+ begin: /#?[a-z_][a-z1-9_-]+/,
11
+ illegal: /\n/
12
+ }]
13
+ }, o = e.inherit(a, {
14
+ begin: /\(/,
15
+ end: /\)/
16
+ }), s = e.inherit(e.APOS_STRING_MODE, { className: "string" }), c = e.inherit(e.QUOTE_STRING_MODE, { className: "string" }), l = {
17
+ endsWithParent: !0,
18
+ illegal: /</,
19
+ relevance: 0,
20
+ contains: [{
21
+ className: "attr",
22
+ begin: r,
23
+ relevance: 0
24
+ }, {
25
+ begin: /=\s*/,
26
+ relevance: 0,
27
+ contains: [{
28
+ className: "string",
29
+ endsParent: !0,
30
+ variants: [
31
+ {
32
+ begin: /"/,
33
+ end: /"/,
34
+ contains: [i]
35
+ },
36
+ {
37
+ begin: /'/,
38
+ end: /'/,
39
+ contains: [i]
40
+ },
41
+ { begin: /[^\s"'=<>`]+/ }
42
+ ]
43
+ }]
44
+ }]
45
+ };
46
+ return {
47
+ name: "HTML, XML",
48
+ aliases: [
49
+ "html",
50
+ "xhtml",
51
+ "rss",
52
+ "atom",
53
+ "xjb",
54
+ "xsd",
55
+ "xsl",
56
+ "plist",
57
+ "wsf",
58
+ "svg"
59
+ ],
60
+ case_insensitive: !0,
61
+ unicodeRegex: !0,
62
+ contains: [
63
+ {
64
+ className: "meta",
65
+ begin: /<![a-z]/,
66
+ end: />/,
67
+ relevance: 10,
68
+ contains: [
69
+ a,
70
+ c,
71
+ s,
72
+ o,
73
+ {
74
+ begin: /\[/,
75
+ end: /\]/,
76
+ contains: [{
77
+ className: "meta",
78
+ begin: /<![a-z]/,
79
+ end: />/,
80
+ contains: [
81
+ a,
82
+ o,
83
+ c,
84
+ s
85
+ ]
86
+ }]
87
+ }
88
+ ]
89
+ },
90
+ e.COMMENT(/<!--/, /-->/, { relevance: 10 }),
91
+ {
92
+ begin: /<!\[CDATA\[/,
93
+ end: /\]\]>/,
94
+ relevance: 10
95
+ },
96
+ i,
97
+ {
98
+ className: "meta",
99
+ end: /\?>/,
100
+ variants: [{
101
+ begin: /<\?xml/,
102
+ relevance: 10,
103
+ contains: [c]
104
+ }, { begin: /<\?[a-z][a-z0-9]+/ }]
105
+ },
106
+ {
107
+ className: "tag",
108
+ begin: /<style(?=\s|>)/,
109
+ end: />/,
110
+ keywords: { name: "style" },
111
+ contains: [l],
112
+ starts: {
113
+ end: /<\/style>/,
114
+ returnEnd: !0,
115
+ subLanguage: "css"
116
+ }
117
+ },
118
+ {
119
+ className: "tag",
120
+ begin: /<script(?=\s|>)/,
121
+ end: />/,
122
+ keywords: { name: "script" },
123
+ contains: [l],
124
+ starts: {
125
+ end: /<\/script>/,
126
+ returnEnd: !0,
127
+ subLanguage: "javascript"
128
+ }
129
+ },
130
+ {
131
+ className: "tag",
132
+ begin: /<>|<\/>/
133
+ },
134
+ {
135
+ className: "tag",
136
+ begin: t.concat(/</, t.lookahead(t.concat(n, t.either(/\/>/, />/, /\s/)))),
137
+ end: /\/?>/,
138
+ contains: [{
139
+ className: "name",
140
+ begin: n,
141
+ relevance: 0,
142
+ starts: l
143
+ }]
144
+ },
145
+ {
146
+ className: "tag",
147
+ begin: t.concat(/<\//, t.lookahead(t.concat(n, />/))),
148
+ contains: [{
149
+ className: "name",
150
+ begin: n,
151
+ relevance: 0
152
+ }, {
153
+ begin: />/,
154
+ relevance: 0,
155
+ endsParent: !0
156
+ }]
157
+ }
158
+ ]
159
+ };
160
+ }
161
+ //#endregion
162
+ export { e as default };
@@ -0,0 +1,144 @@
1
+ //#region ../../node_modules/.pnpm/highlight.js@11.12.0/node_modules/highlight.js/es/languages/yaml.js
2
+ function e(e) {
3
+ let t = "true false yes no null", n = "[\\w#;/?:@&=+$,.~*'()[\\]]+", r = {
4
+ className: "attr",
5
+ variants: [
6
+ { begin: /[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/ },
7
+ { begin: /"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/ },
8
+ { begin: /'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/ }
9
+ ]
10
+ }, i = {
11
+ className: "template-variable",
12
+ variants: [{
13
+ begin: /\{\{/,
14
+ end: /\}\}/
15
+ }, {
16
+ begin: /%\{/,
17
+ end: /\}/
18
+ }]
19
+ }, a = {
20
+ className: "string",
21
+ relevance: 0,
22
+ begin: /'/,
23
+ end: /'/,
24
+ contains: [{
25
+ match: /''/,
26
+ scope: "char.escape",
27
+ relevance: 0
28
+ }]
29
+ }, o = {
30
+ className: "string",
31
+ relevance: 0,
32
+ variants: [{
33
+ begin: /"/,
34
+ end: /"/
35
+ }, { begin: /\S+/ }],
36
+ contains: [e.BACKSLASH_ESCAPE, i]
37
+ }, s = e.inherit(o, { variants: [
38
+ {
39
+ begin: /'/,
40
+ end: /'/,
41
+ contains: [{
42
+ begin: /''/,
43
+ relevance: 0
44
+ }]
45
+ },
46
+ {
47
+ begin: /"/,
48
+ end: /"/
49
+ },
50
+ { begin: /[^\s,{}[\]]+/ }
51
+ ] }), c = {
52
+ className: "number",
53
+ begin: "\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"
54
+ }, l = {
55
+ end: ",",
56
+ endsWithParent: !0,
57
+ excludeEnd: !0,
58
+ keywords: t,
59
+ relevance: 0
60
+ }, u = {
61
+ begin: /\{/,
62
+ end: /\}/,
63
+ contains: [l],
64
+ illegal: "\\n",
65
+ relevance: 0
66
+ }, d = {
67
+ begin: "\\[",
68
+ end: "\\]",
69
+ contains: [l],
70
+ illegal: "\\n",
71
+ relevance: 0
72
+ }, f = [
73
+ r,
74
+ {
75
+ className: "meta",
76
+ begin: "^---\\s*$",
77
+ relevance: 10
78
+ },
79
+ {
80
+ className: "string",
81
+ begin: "[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"
82
+ },
83
+ {
84
+ begin: "<%[%=-]?",
85
+ end: "[%-]?%>",
86
+ subLanguage: "ruby",
87
+ excludeBegin: !0,
88
+ excludeEnd: !0,
89
+ relevance: 0
90
+ },
91
+ {
92
+ className: "type",
93
+ begin: "!\\w+!" + n
94
+ },
95
+ {
96
+ className: "type",
97
+ begin: "!<" + n + ">"
98
+ },
99
+ {
100
+ className: "type",
101
+ begin: "!" + n
102
+ },
103
+ {
104
+ className: "type",
105
+ begin: "!!" + n
106
+ },
107
+ {
108
+ className: "meta",
109
+ begin: "&" + e.UNDERSCORE_IDENT_RE + "$"
110
+ },
111
+ {
112
+ className: "meta",
113
+ begin: "\\*" + e.UNDERSCORE_IDENT_RE + "$"
114
+ },
115
+ {
116
+ className: "bullet",
117
+ begin: "-(?=[ ]|$)",
118
+ relevance: 0
119
+ },
120
+ e.HASH_COMMENT_MODE,
121
+ {
122
+ beginKeywords: t,
123
+ keywords: { literal: t }
124
+ },
125
+ c,
126
+ {
127
+ className: "number",
128
+ begin: e.C_NUMBER_RE + "\\b",
129
+ relevance: 0
130
+ },
131
+ u,
132
+ d,
133
+ a,
134
+ o
135
+ ], p = [...f];
136
+ return p.pop(), p.push(s), l.contains = p, {
137
+ name: "YAML",
138
+ case_insensitive: !0,
139
+ aliases: ["yml"],
140
+ contains: f
141
+ };
142
+ }
143
+ //#endregion
144
+ export { e as default };
@@ -0,0 +1,247 @@
1
+ //#region src/addons/documents/lib/zip/readZipIndex.ts
2
+ var e = class extends Error {
3
+ constructor(e) {
4
+ super(e), this.name = "ZipFormatError";
5
+ }
6
+ }, t = class extends Error {
7
+ constructor(e) {
8
+ super(e), this.name = "ZipRangeError";
9
+ }
10
+ }, n = class extends Error {
11
+ constructor(e) {
12
+ super(e), this.name = "ZipTooLargeError";
13
+ }
14
+ }, r = 1e4, i = 16777216, a = 20971520, o = 101010256, s = 22, c = 117853008, l = 20, u = 101075792, d = 56, f = 33639248, p = 46, m = 1, h = 28789, g = 2048, _ = 8192, v = "ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■\xA0", y = (e) => {
15
+ let t = "";
16
+ for (let n of e) t += n < 128 ? String.fromCharCode(n) : v[n - 128];
17
+ return t;
18
+ }, b = new TextDecoder("utf-8"), x = (e) => new DataView(e.buffer, e.byteOffset, e.byteLength), S = (t, n) => {
19
+ let r = t.getUint32(n, !0), i = t.getUint32(n + 4, !0) * 4294967296 + r;
20
+ if (!Number.isSafeInteger(i)) throw new e("zip64 value out of range");
21
+ return i;
22
+ }, C = (e, t) => {
23
+ let n = e >> 5 & 15, r = e & 31;
24
+ return n < 1 || n > 12 || r < 1 ? null : new Date((e >> 9 & 127) + 1980, n - 1, r, t >> 11, t >> 5 & 63, (t & 31) * 2);
25
+ }, w = async (t, n) => {
26
+ if (n < 0) return null;
27
+ let r = x(await t.read(n, l));
28
+ if (r.getUint32(0, !0) !== c) return null;
29
+ let i = S(r, 8);
30
+ if (i + d > n) throw new e("zip64 record out of bounds");
31
+ let a = x(await t.read(i, d));
32
+ if (a.getUint32(0, !0) !== u) throw new e("zip64 record signature mismatch");
33
+ return {
34
+ totalEntries: S(a, 32),
35
+ size: S(a, 40),
36
+ offset: S(a, 48)
37
+ };
38
+ }, T = (e) => {
39
+ let t = x(e);
40
+ for (let n = e.length - s; n >= 0; n--) if (t.getUint32(n, !0) === o && n + s + t.getUint16(n + 20, !0) === e.length) return n;
41
+ return -1;
42
+ }, E = async (t) => {
43
+ if (t.size < s) throw new e("too small to be a zip");
44
+ let n = Math.min(t.size, 65557), r = t.size - n, i = await t.read(r, n), a = x(i), o = T(i);
45
+ if (o < 0) throw new e("end of central directory not found");
46
+ let c = a.getUint16(o + 20, !0), u = i.subarray(o + s, o + s + c), d = b.decode(u), f = {
47
+ totalEntries: a.getUint16(o + 10, !0),
48
+ size: a.getUint32(o + 12, !0),
49
+ offset: a.getUint32(o + 16, !0)
50
+ }, p = r + o, m = p - l, h = await w(t, m);
51
+ if ((f.totalEntries === 65535 || f.size === 4294967295 || f.offset === 4294967295) && !h) throw new e("zip64 locator missing");
52
+ let { totalEntries: g, size: _, offset: v } = h ?? f, y = h ? m : p;
53
+ if (v + _ > y) throw new e("central directory out of bounds");
54
+ return {
55
+ offset: v,
56
+ size: _,
57
+ totalEntries: g,
58
+ comment: d,
59
+ zip64: h !== null
60
+ };
61
+ }, D = (e, t) => {
62
+ let n = x(e), r = null, i = { ...t }, a = 0;
63
+ for (; a + 4 <= e.length;) {
64
+ let o = n.getUint16(a, !0), s = n.getUint16(a + 2, !0), c = a + 4;
65
+ if (c + s > e.length) break;
66
+ if (o === m) {
67
+ let e = c;
68
+ t.uncompressedSize === 4294967295 && e + 8 <= c + s && (i.uncompressedSize = S(n, e), e += 8), t.compressedSize === 4294967295 && e + 8 <= c + s && (i.compressedSize = S(n, e));
69
+ } else o === h && s > 5 && (r = b.decode(e.subarray(c + 5, c + s)));
70
+ a = c + s;
71
+ }
72
+ return {
73
+ sizes: i,
74
+ unicodeName: r
75
+ };
76
+ }, O = (t, n) => {
77
+ let r = x(t), i = [], a = 0;
78
+ for (; a + p <= t.length;) {
79
+ if (r.getUint32(a, !0) !== f) throw new e("bad central directory entry");
80
+ if (i.length >= n) return {
81
+ entries: i,
82
+ complete: !1
83
+ };
84
+ let o = r.getUint16(a + 8, !0);
85
+ if (o & _) throw new e("central directory is encrypted");
86
+ let s = r.getUint16(a + 28, !0), c = r.getUint16(a + 30, !0), l = r.getUint16(a + 32, !0), u = a + p, d = u + s, m = d + c + l;
87
+ if (m > t.length) return {
88
+ entries: i,
89
+ complete: !1
90
+ };
91
+ let h = t.subarray(u, d), { sizes: v, unicodeName: x } = D(t.subarray(d, d + c), {
92
+ compressedSize: r.getUint32(a + 20, !0),
93
+ uncompressedSize: r.getUint32(a + 24, !0)
94
+ }), S = o & g ? b.decode(h) : x ?? y(h), w = r.getUint32(a + 38, !0);
95
+ i.push({
96
+ name: S,
97
+ isDirectory: S.endsWith("/") || S.endsWith("\\") || !!(w & 16) && v.uncompressedSize === 0,
98
+ encrypted: !!(o & 65),
99
+ compressedSize: v.compressedSize,
100
+ uncompressedSize: v.uncompressedSize,
101
+ method: r.getUint16(a + 10, !0),
102
+ modifiedAt: C(r.getUint16(a + 14, !0), r.getUint16(a + 12, !0))
103
+ }), a = m;
104
+ }
105
+ return {
106
+ entries: i,
107
+ complete: a === t.length
108
+ };
109
+ }, k = async (e, { maxEntries: t = r, maxDirectoryBytes: n = i } = {}) => {
110
+ let a = await E(e), o = Math.min(a.size, n), { entries: s, complete: c } = O(o > 0 ? await e.read(a.offset, o) : /* @__PURE__ */ new Uint8Array(), t);
111
+ return {
112
+ entries: s,
113
+ totalEntries: Math.max(a.totalEntries, s.length),
114
+ truncated: !c || o < a.size || s.length < a.totalEntries,
115
+ comment: a.comment,
116
+ zip64: a.zip64
117
+ };
118
+ }, A = (t, n, r) => {
119
+ if (n < 0 || r < 0 || n + r > t) throw new e("read out of bounds");
120
+ }, j = (e) => ({
121
+ size: e.length,
122
+ read: async (t, n) => (A(e.length, t, n), e.subarray(t, t + n))
123
+ }), M = async (e) => typeof e.arrayBuffer == "function" ? new Uint8Array(await e.arrayBuffer()) : new Promise((t, n) => {
124
+ let r = new FileReader();
125
+ r.onload = () => t(new Uint8Array(r.result)), r.onerror = () => n(/* @__PURE__ */ Error("Failed to read the archive")), r.readAsArrayBuffer(e);
126
+ }), N = (e) => ({
127
+ size: e.size,
128
+ read: async (t, n) => (A(e.size, t, n), M(e.slice(t, t + n)))
129
+ }), P = (e) => e ? "include" : "same-origin", F = (e, n, { withCredentials: r = !0, signal: i } = {}) => ({
130
+ size: n,
131
+ read: async (a, o) => {
132
+ A(n, a, o);
133
+ let s = await fetch(e, {
134
+ headers: { Range: `bytes=${a}-${a + o - 1}` },
135
+ credentials: P(r),
136
+ signal: i
137
+ });
138
+ if (s.status !== 206) throw s.body?.cancel().catch(() => {}), new t(`expected 206, got ${s.status}`);
139
+ let c = new Uint8Array(await s.arrayBuffer());
140
+ if (c.length !== o) throw new t("range length mismatch");
141
+ return c;
142
+ }
143
+ }), I = async (e, t) => {
144
+ let r = Number(e.headers?.get("content-length"));
145
+ if (Number.isFinite(r) && r > t) throw e.body?.cancel().catch(() => {}), new n("archive too large to download");
146
+ let i = e.body;
147
+ if (!i || typeof i.getReader != "function") {
148
+ let r = new Uint8Array(await e.arrayBuffer());
149
+ if (r.length > t) throw new n("archive too large to download");
150
+ return r;
151
+ }
152
+ let a = [], o = 0, s = i.getReader();
153
+ for (;;) {
154
+ let { done: e, value: r } = await s.read();
155
+ if (e) break;
156
+ if (o += r.length, o > t) throw s.cancel().catch(() => {}), new n("archive too large to download");
157
+ a.push(r);
158
+ }
159
+ let c = new Uint8Array(o), l = 0;
160
+ for (let e of a) c.set(e, l), l += e.length;
161
+ return c;
162
+ }, L = async (e, { withCredentials: t = !0, signal: n }) => {
163
+ let r = await fetch(e, {
164
+ credentials: P(t),
165
+ signal: n
166
+ });
167
+ if (!r.ok) throw Error(`Failed to fetch archive: ${r.status}`);
168
+ return r;
169
+ }, R = async (e, { size: t, withCredentials: n = !0, maxFullFetchBytes: r = a, signal: i, ...o } = {}) => {
170
+ let s = {
171
+ withCredentials: n,
172
+ signal: i
173
+ };
174
+ if (e.startsWith("blob:")) {
175
+ let t = await L(e, { withCredentials: n });
176
+ if (i?.aborted) throw new DOMException("Aborted", "AbortError");
177
+ return k(N(await t.blob()), o);
178
+ }
179
+ if (t !== void 0 && t > 0) try {
180
+ return await k(F(e, t, s), o);
181
+ } catch (e) {
182
+ if (i?.aborted || t > r) throw e;
183
+ }
184
+ return k(j(await I(await L(e, s), r)), o);
185
+ }, z = (e) => e[0] === "__MACOSX" || e[e.length - 1] === ".DS_Store", B = (e) => {
186
+ let t = e.replace(/\\/g, "/").split("/").filter((e) => e !== "" && e !== "." && e !== "..");
187
+ return t.length > 64 ? [...t.slice(0, 63), t.slice(63).join("/")] : t;
188
+ }, V = (e, t) => ({
189
+ name: e,
190
+ path: t,
191
+ kind: "folder",
192
+ size: 0,
193
+ encrypted: !1,
194
+ fileCount: 0,
195
+ children: []
196
+ }), H = new Intl.Collator(void 0, {
197
+ numeric: !0,
198
+ sensitivity: "base"
199
+ }), U = (e) => {
200
+ e.children.sort((e, t) => e.kind === t.kind ? H.compare(e.name, t.name) : e.kind === "folder" ? -1 : 1), e.children.forEach(U);
201
+ }, W = (e) => {
202
+ if (e.kind !== "file") {
203
+ e.size = 0, e.fileCount = 0;
204
+ for (let t of e.children) W(t), e.size += t.size, e.fileCount += t.fileCount;
205
+ }
206
+ }, G = (e) => {
207
+ let t = V("", ""), n = /* @__PURE__ */ new Map([["", t]]), r = /* @__PURE__ */ new Map(), i = 0, a = (e) => {
208
+ let r = t, i = "";
209
+ for (let t of e) {
210
+ i = i ? `${i}/${t}` : t;
211
+ let e = n.get(i);
212
+ e || (e = V(t, i), n.set(i, e), r.children.push(e)), r = e;
213
+ }
214
+ return r;
215
+ };
216
+ for (let t of e) {
217
+ let e = B(t.name);
218
+ if (e.length === 0 || z(e)) continue;
219
+ if (t.isDirectory) {
220
+ a(e);
221
+ continue;
222
+ }
223
+ let n = a(e.slice(0, -1)), i = e.join("/"), o = {
224
+ name: e[e.length - 1],
225
+ path: i,
226
+ kind: "file",
227
+ size: t.uncompressedSize,
228
+ encrypted: t.encrypted,
229
+ fileCount: 1,
230
+ children: []
231
+ }, s = r.get(i);
232
+ s ? Object.assign(s, o) : (r.set(i, o), n.children.push(o));
233
+ }
234
+ W(t), U(t);
235
+ let o = (e) => {
236
+ for (let t of e.children) t.kind === "file" && t.encrypted && i++, o(t);
237
+ };
238
+ return o(t), {
239
+ root: t,
240
+ fileCount: t.fileCount,
241
+ folderCount: n.size - 1,
242
+ totalSize: t.size,
243
+ encryptedCount: i
244
+ };
245
+ };
246
+ //#endregion
247
+ export { R as n, G as t };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@factorialco/f0-react",
3
- "version": "12.10.0",
3
+ "version": "12.12.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/factorialco/f0.git",
@@ -94,6 +94,7 @@
94
94
  "embla-carousel-react": "^8.6.0",
95
95
  "embla-carousel-wheel-gestures": "^8.0.1",
96
96
  "gridstack": "^12.3.3",
97
+ "highlight.js": "^11.12.0",
97
98
  "libphonenumber-js": "^1.13.9",
98
99
  "papaparse": "5.7.0",
99
100
  "prosemirror-state": "^1.4.3",
@@ -1,70 +0,0 @@
1
- import { rn as e } from "./popover-BjrPOMeQ.js";
2
- import { ks as t } from "./F0CanvasPanel--hLKeQvg.js";
3
- import { q as n } from "./useData-B7LYSzh0.js";
4
- import { dr as r, t as i } from "./F0Select-B-ZxVjXG.js";
5
- import { a, c as o, i as s, l as c, o as l, r as u, s as d } from "./F0DocumentViewer-BN-2IVgz.js";
6
- import { useCallback as f, useMemo as p, useState as m } from "react";
7
- import { jsx as h, jsxs as g } from "react/jsx-runtime";
8
- //#region src/addons/documents/F0DocumentViewer/components/DocumentToolbar.tsx
9
- var _ = () => {
10
- let [e, t] = m(1);
11
- return {
12
- scale: e,
13
- zoomIn: f(() => t((e) => a(e) ?? e), []),
14
- zoomOut: f(() => t((e) => s(e) ?? e), []),
15
- setScale: t
16
- };
17
- }, v = ({ url: a, filename: s, withCredentials: f, actions: m, zoom: _, placement: v = "top", children: y }) => {
18
- let { pdfViewer: b } = e(), x = p(() => u.map((e) => ({
19
- value: e,
20
- label: `${Number(e) * 100}%`
21
- })), []);
22
- return /* @__PURE__ */ g("div", {
23
- role: "toolbar",
24
- "aria-label": b.toolbar,
25
- "data-placement": v,
26
- className: d(v),
27
- children: [
28
- /* @__PURE__ */ h("div", {
29
- className: o(v, "min-w-0 flex-1 basis-0 overflow-x-auto"),
30
- children: y
31
- }),
32
- _ ? /* @__PURE__ */ g("div", {
33
- className: o(v, "shrink-0"),
34
- children: [
35
- /* @__PURE__ */ h(c, {
36
- label: b.zoomOut,
37
- onClick: _.zoomOut,
38
- icon: n
39
- }),
40
- /* @__PURE__ */ h(c, {
41
- label: b.zoomIn,
42
- onClick: _.zoomIn,
43
- icon: r
44
- }),
45
- /* @__PURE__ */ h(i, {
46
- hideLabel: !0,
47
- label: b.scaleSelector,
48
- options: x,
49
- value: String(_.scale),
50
- onChange: (e) => _.setScale(Number(e))
51
- })
52
- ]
53
- }) : null,
54
- /* @__PURE__ */ g("div", {
55
- className: o(v, "flex-1 basis-0 justify-end"),
56
- children: [/* @__PURE__ */ h(c, {
57
- label: b.download,
58
- onClick: () => void l(a, s, f),
59
- icon: t
60
- }), m?.map((e, t) => /* @__PURE__ */ h(c, {
61
- label: e.label,
62
- onClick: e.onClick,
63
- icon: e.icon
64
- }, `${e.label}-${t}`))]
65
- })
66
- ]
67
- });
68
- };
69
- //#endregion
70
- export { _ as n, v as t };