@select-org/select-post-builder 1.0.7 → 1.0.8
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.
- package/dist/post-builder.cjs.js +456 -195
- package/dist/post-builder.css +85 -19
- package/dist/post-builder.js +457 -196
- package/package.json +1 -1
package/dist/post-builder.cjs.js
CHANGED
|
@@ -12980,119 +12980,119 @@ const createLucideIcon = (iconName, iconNode) => {
|
|
|
12980
12980
|
* This source code is licensed under the ISC license.
|
|
12981
12981
|
* See the LICENSE file in the root directory of this source tree.
|
|
12982
12982
|
*/
|
|
12983
|
-
const __iconNode$
|
|
12983
|
+
const __iconNode$G = [
|
|
12984
12984
|
[
|
|
12985
12985
|
"path",
|
|
12986
12986
|
{ d: "M6 12h9a4 4 0 0 1 0 8H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h7a4 4 0 0 1 0 8", key: "mg9rjx" }
|
|
12987
12987
|
]
|
|
12988
12988
|
];
|
|
12989
|
-
const Bold = createLucideIcon("bold", __iconNode$
|
|
12989
|
+
const Bold = createLucideIcon("bold", __iconNode$G);
|
|
12990
12990
|
/**
|
|
12991
12991
|
* @license lucide-react v0.544.0 - ISC
|
|
12992
12992
|
*
|
|
12993
12993
|
* This source code is licensed under the ISC license.
|
|
12994
12994
|
* See the LICENSE file in the root directory of this source tree.
|
|
12995
12995
|
*/
|
|
12996
|
-
const __iconNode$
|
|
12997
|
-
const Check = createLucideIcon("check", __iconNode$
|
|
12996
|
+
const __iconNode$F = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]];
|
|
12997
|
+
const Check = createLucideIcon("check", __iconNode$F);
|
|
12998
12998
|
/**
|
|
12999
12999
|
* @license lucide-react v0.544.0 - ISC
|
|
13000
13000
|
*
|
|
13001
13001
|
* This source code is licensed under the ISC license.
|
|
13002
13002
|
* See the LICENSE file in the root directory of this source tree.
|
|
13003
13003
|
*/
|
|
13004
|
-
const __iconNode$
|
|
13005
|
-
const ChevronDown = createLucideIcon("chevron-down", __iconNode$
|
|
13004
|
+
const __iconNode$E = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
|
|
13005
|
+
const ChevronDown = createLucideIcon("chevron-down", __iconNode$E);
|
|
13006
13006
|
/**
|
|
13007
13007
|
* @license lucide-react v0.544.0 - ISC
|
|
13008
13008
|
*
|
|
13009
13009
|
* This source code is licensed under the ISC license.
|
|
13010
13010
|
* See the LICENSE file in the root directory of this source tree.
|
|
13011
13011
|
*/
|
|
13012
|
-
const __iconNode$
|
|
13013
|
-
const ChevronRight = createLucideIcon("chevron-right", __iconNode$
|
|
13012
|
+
const __iconNode$D = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
|
|
13013
|
+
const ChevronRight = createLucideIcon("chevron-right", __iconNode$D);
|
|
13014
13014
|
/**
|
|
13015
13015
|
* @license lucide-react v0.544.0 - ISC
|
|
13016
13016
|
*
|
|
13017
13017
|
* This source code is licensed under the ISC license.
|
|
13018
13018
|
* See the LICENSE file in the root directory of this source tree.
|
|
13019
13019
|
*/
|
|
13020
|
-
const __iconNode$
|
|
13021
|
-
const ChevronUp = createLucideIcon("chevron-up", __iconNode$
|
|
13020
|
+
const __iconNode$C = [["path", { d: "m18 15-6-6-6 6", key: "153udz" }]];
|
|
13021
|
+
const ChevronUp = createLucideIcon("chevron-up", __iconNode$C);
|
|
13022
13022
|
/**
|
|
13023
13023
|
* @license lucide-react v0.544.0 - ISC
|
|
13024
13024
|
*
|
|
13025
13025
|
* This source code is licensed under the ISC license.
|
|
13026
13026
|
* See the LICENSE file in the root directory of this source tree.
|
|
13027
13027
|
*/
|
|
13028
|
-
const __iconNode$
|
|
13029
|
-
const Circle = createLucideIcon("circle", __iconNode$
|
|
13028
|
+
const __iconNode$B = [["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }]];
|
|
13029
|
+
const Circle = createLucideIcon("circle", __iconNode$B);
|
|
13030
13030
|
/**
|
|
13031
13031
|
* @license lucide-react v0.544.0 - ISC
|
|
13032
13032
|
*
|
|
13033
13033
|
* This source code is licensed under the ISC license.
|
|
13034
13034
|
* See the LICENSE file in the root directory of this source tree.
|
|
13035
13035
|
*/
|
|
13036
|
-
const __iconNode$
|
|
13036
|
+
const __iconNode$A = [
|
|
13037
13037
|
["path", { d: "m16 18 6-6-6-6", key: "eg8j8" }],
|
|
13038
13038
|
["path", { d: "m8 6-6 6 6 6", key: "ppft3o" }]
|
|
13039
13039
|
];
|
|
13040
|
-
const Code = createLucideIcon("code", __iconNode$
|
|
13040
|
+
const Code = createLucideIcon("code", __iconNode$A);
|
|
13041
13041
|
/**
|
|
13042
13042
|
* @license lucide-react v0.544.0 - ISC
|
|
13043
13043
|
*
|
|
13044
13044
|
* This source code is licensed under the ISC license.
|
|
13045
13045
|
* See the LICENSE file in the root directory of this source tree.
|
|
13046
13046
|
*/
|
|
13047
|
-
const __iconNode$
|
|
13047
|
+
const __iconNode$z = [
|
|
13048
13048
|
["circle", { cx: "12", cy: "12", r: "1", key: "41hilf" }],
|
|
13049
13049
|
["circle", { cx: "19", cy: "12", r: "1", key: "1wjl8i" }],
|
|
13050
13050
|
["circle", { cx: "5", cy: "12", r: "1", key: "1pcz8c" }]
|
|
13051
13051
|
];
|
|
13052
|
-
const Ellipsis = createLucideIcon("ellipsis", __iconNode$
|
|
13052
|
+
const Ellipsis = createLucideIcon("ellipsis", __iconNode$z);
|
|
13053
13053
|
/**
|
|
13054
13054
|
* @license lucide-react v0.544.0 - ISC
|
|
13055
13055
|
*
|
|
13056
13056
|
* This source code is licensed under the ISC license.
|
|
13057
13057
|
* See the LICENSE file in the root directory of this source tree.
|
|
13058
13058
|
*/
|
|
13059
|
-
const __iconNode$
|
|
13059
|
+
const __iconNode$y = [
|
|
13060
13060
|
["path", { d: "M15 3h6v6", key: "1q9fwt" }],
|
|
13061
13061
|
["path", { d: "M10 14 21 3", key: "gplh6r" }],
|
|
13062
13062
|
["path", { d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6", key: "a6xqqp" }]
|
|
13063
13063
|
];
|
|
13064
|
-
const ExternalLink = createLucideIcon("external-link", __iconNode$
|
|
13064
|
+
const ExternalLink = createLucideIcon("external-link", __iconNode$y);
|
|
13065
13065
|
/**
|
|
13066
13066
|
* @license lucide-react v0.544.0 - ISC
|
|
13067
13067
|
*
|
|
13068
13068
|
* This source code is licensed under the ISC license.
|
|
13069
13069
|
* See the LICENSE file in the root directory of this source tree.
|
|
13070
13070
|
*/
|
|
13071
|
-
const __iconNode$
|
|
13071
|
+
const __iconNode$x = [
|
|
13072
13072
|
["path", { d: "M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4", key: "1pf5j1" }],
|
|
13073
13073
|
["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
|
|
13074
13074
|
["path", { d: "m5 12-3 3 3 3", key: "oke12k" }],
|
|
13075
13075
|
["path", { d: "m9 18 3-3-3-3", key: "112psh" }]
|
|
13076
13076
|
];
|
|
13077
|
-
const FileCode2 = createLucideIcon("file-code-2", __iconNode$
|
|
13077
|
+
const FileCode2 = createLucideIcon("file-code-2", __iconNode$x);
|
|
13078
13078
|
/**
|
|
13079
13079
|
* @license lucide-react v0.544.0 - ISC
|
|
13080
13080
|
*
|
|
13081
13081
|
* This source code is licensed under the ISC license.
|
|
13082
13082
|
* See the LICENSE file in the root directory of this source tree.
|
|
13083
13083
|
*/
|
|
13084
|
-
const __iconNode$
|
|
13084
|
+
const __iconNode$w = [
|
|
13085
13085
|
["path", { d: "m15 17 5-5-5-5", key: "nf172w" }],
|
|
13086
13086
|
["path", { d: "M4 18v-2a4 4 0 0 1 4-4h12", key: "jmiej9" }]
|
|
13087
13087
|
];
|
|
13088
|
-
const Forward = createLucideIcon("forward", __iconNode$
|
|
13088
|
+
const Forward = createLucideIcon("forward", __iconNode$w);
|
|
13089
13089
|
/**
|
|
13090
13090
|
* @license lucide-react v0.544.0 - ISC
|
|
13091
13091
|
*
|
|
13092
13092
|
* This source code is licensed under the ISC license.
|
|
13093
13093
|
* See the LICENSE file in the root directory of this source tree.
|
|
13094
13094
|
*/
|
|
13095
|
-
const __iconNode$
|
|
13095
|
+
const __iconNode$v = [
|
|
13096
13096
|
["circle", { cx: "9", cy: "12", r: "1", key: "1vctgf" }],
|
|
13097
13097
|
["circle", { cx: "9", cy: "5", r: "1", key: "hp0tcf" }],
|
|
13098
13098
|
["circle", { cx: "9", cy: "19", r: "1", key: "fkjjf6" }],
|
|
@@ -13100,68 +13100,68 @@ const __iconNode$u = [
|
|
|
13100
13100
|
["circle", { cx: "15", cy: "5", r: "1", key: "19l28e" }],
|
|
13101
13101
|
["circle", { cx: "15", cy: "19", r: "1", key: "f4zoj3" }]
|
|
13102
13102
|
];
|
|
13103
|
-
const GripVertical = createLucideIcon("grip-vertical", __iconNode$
|
|
13103
|
+
const GripVertical = createLucideIcon("grip-vertical", __iconNode$v);
|
|
13104
13104
|
/**
|
|
13105
13105
|
* @license lucide-react v0.544.0 - ISC
|
|
13106
13106
|
*
|
|
13107
13107
|
* This source code is licensed under the ISC license.
|
|
13108
13108
|
* See the LICENSE file in the root directory of this source tree.
|
|
13109
13109
|
*/
|
|
13110
|
-
const __iconNode$
|
|
13110
|
+
const __iconNode$u = [
|
|
13111
13111
|
["path", { d: "M4 12h8", key: "17cfdx" }],
|
|
13112
13112
|
["path", { d: "M4 18V6", key: "1rz3zl" }],
|
|
13113
13113
|
["path", { d: "M12 18V6", key: "zqpxq5" }],
|
|
13114
13114
|
["path", { d: "m17 12 3-2v8", key: "1hhhft" }]
|
|
13115
13115
|
];
|
|
13116
|
-
const Heading1 = createLucideIcon("heading-1", __iconNode$
|
|
13116
|
+
const Heading1 = createLucideIcon("heading-1", __iconNode$u);
|
|
13117
13117
|
/**
|
|
13118
13118
|
* @license lucide-react v0.544.0 - ISC
|
|
13119
13119
|
*
|
|
13120
13120
|
* This source code is licensed under the ISC license.
|
|
13121
13121
|
* See the LICENSE file in the root directory of this source tree.
|
|
13122
13122
|
*/
|
|
13123
|
-
const __iconNode$
|
|
13123
|
+
const __iconNode$t = [
|
|
13124
13124
|
["path", { d: "M4 12h8", key: "17cfdx" }],
|
|
13125
13125
|
["path", { d: "M4 18V6", key: "1rz3zl" }],
|
|
13126
13126
|
["path", { d: "M12 18V6", key: "zqpxq5" }],
|
|
13127
13127
|
["path", { d: "M21 18h-4c0-4 4-3 4-6 0-1.5-2-2.5-4-1", key: "9jr5yi" }]
|
|
13128
13128
|
];
|
|
13129
|
-
const Heading2 = createLucideIcon("heading-2", __iconNode$
|
|
13129
|
+
const Heading2 = createLucideIcon("heading-2", __iconNode$t);
|
|
13130
13130
|
/**
|
|
13131
13131
|
* @license lucide-react v0.544.0 - ISC
|
|
13132
13132
|
*
|
|
13133
13133
|
* This source code is licensed under the ISC license.
|
|
13134
13134
|
* See the LICENSE file in the root directory of this source tree.
|
|
13135
13135
|
*/
|
|
13136
|
-
const __iconNode$
|
|
13136
|
+
const __iconNode$s = [
|
|
13137
13137
|
["path", { d: "M4 12h8", key: "17cfdx" }],
|
|
13138
13138
|
["path", { d: "M4 18V6", key: "1rz3zl" }],
|
|
13139
13139
|
["path", { d: "M12 18V6", key: "zqpxq5" }],
|
|
13140
13140
|
["path", { d: "M17.5 10.5c1.7-1 3.5 0 3.5 1.5a2 2 0 0 1-2 2", key: "68ncm8" }],
|
|
13141
13141
|
["path", { d: "M17 17.5c2 1.5 4 .3 4-1.5a2 2 0 0 0-2-2", key: "1ejuhz" }]
|
|
13142
13142
|
];
|
|
13143
|
-
const Heading3 = createLucideIcon("heading-3", __iconNode$
|
|
13143
|
+
const Heading3 = createLucideIcon("heading-3", __iconNode$s);
|
|
13144
13144
|
/**
|
|
13145
13145
|
* @license lucide-react v0.544.0 - ISC
|
|
13146
13146
|
*
|
|
13147
13147
|
* This source code is licensed under the ISC license.
|
|
13148
13148
|
* See the LICENSE file in the root directory of this source tree.
|
|
13149
13149
|
*/
|
|
13150
|
-
const __iconNode$
|
|
13150
|
+
const __iconNode$r = [
|
|
13151
13151
|
["path", { d: "M12 18V6", key: "zqpxq5" }],
|
|
13152
13152
|
["path", { d: "M17 10v3a1 1 0 0 0 1 1h3", key: "tj5zdr" }],
|
|
13153
13153
|
["path", { d: "M21 10v8", key: "1kdml4" }],
|
|
13154
13154
|
["path", { d: "M4 12h8", key: "17cfdx" }],
|
|
13155
13155
|
["path", { d: "M4 18V6", key: "1rz3zl" }]
|
|
13156
13156
|
];
|
|
13157
|
-
const Heading4 = createLucideIcon("heading-4", __iconNode$
|
|
13157
|
+
const Heading4 = createLucideIcon("heading-4", __iconNode$r);
|
|
13158
13158
|
/**
|
|
13159
13159
|
* @license lucide-react v0.544.0 - ISC
|
|
13160
13160
|
*
|
|
13161
13161
|
* This source code is licensed under the ISC license.
|
|
13162
13162
|
* See the LICENSE file in the root directory of this source tree.
|
|
13163
13163
|
*/
|
|
13164
|
-
const __iconNode$
|
|
13164
|
+
const __iconNode$q = [
|
|
13165
13165
|
["path", { d: "M4 12h8", key: "17cfdx" }],
|
|
13166
13166
|
["path", { d: "M4 18V6", key: "1rz3zl" }],
|
|
13167
13167
|
["path", { d: "M12 18V6", key: "zqpxq5" }],
|
|
@@ -13171,28 +13171,28 @@ const __iconNode$p = [
|
|
|
13171
13171
|
{ d: "M17 17.7c.4.2.8.3 1.3.3 1.5 0 2.7-1.1 2.7-2.5S19.8 13 18.3 13H17", key: "2nebdn" }
|
|
13172
13172
|
]
|
|
13173
13173
|
];
|
|
13174
|
-
const Heading5 = createLucideIcon("heading-5", __iconNode$
|
|
13174
|
+
const Heading5 = createLucideIcon("heading-5", __iconNode$q);
|
|
13175
13175
|
/**
|
|
13176
13176
|
* @license lucide-react v0.544.0 - ISC
|
|
13177
13177
|
*
|
|
13178
13178
|
* This source code is licensed under the ISC license.
|
|
13179
13179
|
* See the LICENSE file in the root directory of this source tree.
|
|
13180
13180
|
*/
|
|
13181
|
-
const __iconNode$
|
|
13181
|
+
const __iconNode$p = [
|
|
13182
13182
|
["path", { d: "M4 12h8", key: "17cfdx" }],
|
|
13183
13183
|
["path", { d: "M4 18V6", key: "1rz3zl" }],
|
|
13184
13184
|
["path", { d: "M12 18V6", key: "zqpxq5" }],
|
|
13185
13185
|
["circle", { cx: "19", cy: "16", r: "2", key: "15mx69" }],
|
|
13186
13186
|
["path", { d: "M20 10c-2 2-3 3.5-3 6", key: "f35dl0" }]
|
|
13187
13187
|
];
|
|
13188
|
-
const Heading6 = createLucideIcon("heading-6", __iconNode$
|
|
13188
|
+
const Heading6 = createLucideIcon("heading-6", __iconNode$p);
|
|
13189
13189
|
/**
|
|
13190
13190
|
* @license lucide-react v0.544.0 - ISC
|
|
13191
13191
|
*
|
|
13192
13192
|
* This source code is licensed under the ISC license.
|
|
13193
13193
|
* See the LICENSE file in the root directory of this source tree.
|
|
13194
13194
|
*/
|
|
13195
|
-
const __iconNode$
|
|
13195
|
+
const __iconNode$o = [
|
|
13196
13196
|
[
|
|
13197
13197
|
"path",
|
|
13198
13198
|
{
|
|
@@ -13204,63 +13204,63 @@ const __iconNode$n = [
|
|
|
13204
13204
|
["path", { d: "m6 21 5-5", key: "1wyjai" }],
|
|
13205
13205
|
["circle", { cx: "9", cy: "9", r: "2", key: "af1f0g" }]
|
|
13206
13206
|
];
|
|
13207
|
-
const ImagePlay = createLucideIcon("image-play", __iconNode$
|
|
13207
|
+
const ImagePlay = createLucideIcon("image-play", __iconNode$o);
|
|
13208
13208
|
/**
|
|
13209
13209
|
* @license lucide-react v0.544.0 - ISC
|
|
13210
13210
|
*
|
|
13211
13211
|
* This source code is licensed under the ISC license.
|
|
13212
13212
|
* See the LICENSE file in the root directory of this source tree.
|
|
13213
13213
|
*/
|
|
13214
|
-
const __iconNode$
|
|
13214
|
+
const __iconNode$n = [
|
|
13215
13215
|
["path", { d: "M16 5h6", key: "1vod17" }],
|
|
13216
13216
|
["path", { d: "M19 2v6", key: "4bpg5p" }],
|
|
13217
13217
|
["path", { d: "M21 11.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7.5", key: "1ue2ih" }],
|
|
13218
13218
|
["path", { d: "m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21", key: "1xmnt7" }],
|
|
13219
13219
|
["circle", { cx: "9", cy: "9", r: "2", key: "af1f0g" }]
|
|
13220
13220
|
];
|
|
13221
|
-
const ImagePlus = createLucideIcon("image-plus", __iconNode$
|
|
13221
|
+
const ImagePlus = createLucideIcon("image-plus", __iconNode$n);
|
|
13222
13222
|
/**
|
|
13223
13223
|
* @license lucide-react v0.544.0 - ISC
|
|
13224
13224
|
*
|
|
13225
13225
|
* This source code is licensed under the ISC license.
|
|
13226
13226
|
* See the LICENSE file in the root directory of this source tree.
|
|
13227
13227
|
*/
|
|
13228
|
-
const __iconNode$
|
|
13228
|
+
const __iconNode$m = [
|
|
13229
13229
|
["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", ry: "2", key: "1m3agn" }],
|
|
13230
13230
|
["circle", { cx: "9", cy: "9", r: "2", key: "af1f0g" }],
|
|
13231
13231
|
["path", { d: "m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21", key: "1xmnt7" }]
|
|
13232
13232
|
];
|
|
13233
|
-
const Image$1 = createLucideIcon("image", __iconNode$
|
|
13233
|
+
const Image$1 = createLucideIcon("image", __iconNode$m);
|
|
13234
13234
|
/**
|
|
13235
13235
|
* @license lucide-react v0.544.0 - ISC
|
|
13236
13236
|
*
|
|
13237
13237
|
* This source code is licensed under the ISC license.
|
|
13238
13238
|
* See the LICENSE file in the root directory of this source tree.
|
|
13239
13239
|
*/
|
|
13240
|
-
const __iconNode$
|
|
13240
|
+
const __iconNode$l = [
|
|
13241
13241
|
["line", { x1: "19", x2: "10", y1: "4", y2: "4", key: "15jd3p" }],
|
|
13242
13242
|
["line", { x1: "14", x2: "5", y1: "20", y2: "20", key: "bu0au3" }],
|
|
13243
13243
|
["line", { x1: "15", x2: "9", y1: "4", y2: "20", key: "uljnxc" }]
|
|
13244
13244
|
];
|
|
13245
|
-
const Italic = createLucideIcon("italic", __iconNode$
|
|
13245
|
+
const Italic = createLucideIcon("italic", __iconNode$l);
|
|
13246
13246
|
/**
|
|
13247
13247
|
* @license lucide-react v0.544.0 - ISC
|
|
13248
13248
|
*
|
|
13249
13249
|
* This source code is licensed under the ISC license.
|
|
13250
13250
|
* See the LICENSE file in the root directory of this source tree.
|
|
13251
13251
|
*/
|
|
13252
|
-
const __iconNode$
|
|
13252
|
+
const __iconNode$k = [
|
|
13253
13253
|
["path", { d: "M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71", key: "1cjeqo" }],
|
|
13254
13254
|
["path", { d: "M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71", key: "19qd67" }]
|
|
13255
13255
|
];
|
|
13256
|
-
const Link = createLucideIcon("link", __iconNode$
|
|
13256
|
+
const Link = createLucideIcon("link", __iconNode$k);
|
|
13257
13257
|
/**
|
|
13258
13258
|
* @license lucide-react v0.544.0 - ISC
|
|
13259
13259
|
*
|
|
13260
13260
|
* This source code is licensed under the ISC license.
|
|
13261
13261
|
* See the LICENSE file in the root directory of this source tree.
|
|
13262
13262
|
*/
|
|
13263
|
-
const __iconNode$
|
|
13263
|
+
const __iconNode$j = [
|
|
13264
13264
|
["path", { d: "M11 5h10", key: "1cz7ny" }],
|
|
13265
13265
|
["path", { d: "M11 12h10", key: "1438ji" }],
|
|
13266
13266
|
["path", { d: "M11 19h10", key: "11t30w" }],
|
|
@@ -13268,14 +13268,14 @@ const __iconNode$i = [
|
|
|
13268
13268
|
["path", { d: "M4 9h2", key: "r1h2o0" }],
|
|
13269
13269
|
["path", { d: "M6.5 20H3.4c0-1 2.6-1.925 2.6-3.5a1.5 1.5 0 0 0-2.6-1.02", key: "xtkcd5" }]
|
|
13270
13270
|
];
|
|
13271
|
-
const ListOrdered = createLucideIcon("list-ordered", __iconNode$
|
|
13271
|
+
const ListOrdered = createLucideIcon("list-ordered", __iconNode$j);
|
|
13272
13272
|
/**
|
|
13273
13273
|
* @license lucide-react v0.544.0 - ISC
|
|
13274
13274
|
*
|
|
13275
13275
|
* This source code is licensed under the ISC license.
|
|
13276
13276
|
* See the LICENSE file in the root directory of this source tree.
|
|
13277
13277
|
*/
|
|
13278
|
-
const __iconNode$
|
|
13278
|
+
const __iconNode$i = [
|
|
13279
13279
|
["path", { d: "M3 5h.01", key: "18ugdj" }],
|
|
13280
13280
|
["path", { d: "M3 12h.01", key: "nlz23k" }],
|
|
13281
13281
|
["path", { d: "M3 19h.01", key: "noohij" }],
|
|
@@ -13283,56 +13283,56 @@ const __iconNode$h = [
|
|
|
13283
13283
|
["path", { d: "M8 12h13", key: "1za7za" }],
|
|
13284
13284
|
["path", { d: "M8 19h13", key: "m83p4d" }]
|
|
13285
13285
|
];
|
|
13286
|
-
const List = createLucideIcon("list", __iconNode$
|
|
13286
|
+
const List = createLucideIcon("list", __iconNode$i);
|
|
13287
13287
|
/**
|
|
13288
13288
|
* @license lucide-react v0.544.0 - ISC
|
|
13289
13289
|
*
|
|
13290
13290
|
* This source code is licensed under the ISC license.
|
|
13291
13291
|
* See the LICENSE file in the root directory of this source tree.
|
|
13292
13292
|
*/
|
|
13293
|
-
const __iconNode$
|
|
13294
|
-
const LoaderCircle = createLucideIcon("loader-circle", __iconNode$
|
|
13293
|
+
const __iconNode$h = [["path", { d: "M21 12a9 9 0 1 1-6.219-8.56", key: "13zald" }]];
|
|
13294
|
+
const LoaderCircle = createLucideIcon("loader-circle", __iconNode$h);
|
|
13295
13295
|
/**
|
|
13296
13296
|
* @license lucide-react v0.544.0 - ISC
|
|
13297
13297
|
*
|
|
13298
13298
|
* This source code is licensed under the ISC license.
|
|
13299
13299
|
* See the LICENSE file in the root directory of this source tree.
|
|
13300
13300
|
*/
|
|
13301
|
-
const __iconNode$
|
|
13301
|
+
const __iconNode$g = [
|
|
13302
13302
|
["path", { d: "M9 18V5l12-2v13", key: "1jmyc2" }],
|
|
13303
13303
|
["circle", { cx: "6", cy: "18", r: "3", key: "fqmcym" }],
|
|
13304
13304
|
["circle", { cx: "18", cy: "16", r: "3", key: "1hluhg" }]
|
|
13305
13305
|
];
|
|
13306
|
-
const Music = createLucideIcon("music", __iconNode$
|
|
13306
|
+
const Music = createLucideIcon("music", __iconNode$g);
|
|
13307
13307
|
/**
|
|
13308
13308
|
* @license lucide-react v0.544.0 - ISC
|
|
13309
13309
|
*
|
|
13310
13310
|
* This source code is licensed under the ISC license.
|
|
13311
13311
|
* See the LICENSE file in the root directory of this source tree.
|
|
13312
13312
|
*/
|
|
13313
|
-
const __iconNode$
|
|
13313
|
+
const __iconNode$f = [
|
|
13314
13314
|
["path", { d: "M21 7v6h-6", key: "3ptur4" }],
|
|
13315
13315
|
["path", { d: "M3 17a9 9 0 0 1 9-9 9 9 0 0 1 6 2.3l3 2.7", key: "1kgawr" }]
|
|
13316
13316
|
];
|
|
13317
|
-
const Redo = createLucideIcon("redo", __iconNode$
|
|
13317
|
+
const Redo = createLucideIcon("redo", __iconNode$f);
|
|
13318
13318
|
/**
|
|
13319
13319
|
* @license lucide-react v0.544.0 - ISC
|
|
13320
13320
|
*
|
|
13321
13321
|
* This source code is licensed under the ISC license.
|
|
13322
13322
|
* See the LICENSE file in the root directory of this source tree.
|
|
13323
13323
|
*/
|
|
13324
|
-
const __iconNode$
|
|
13324
|
+
const __iconNode$e = [
|
|
13325
13325
|
["path", { d: "m21 21-4.34-4.34", key: "14j7rj" }],
|
|
13326
13326
|
["circle", { cx: "11", cy: "11", r: "8", key: "4ej97u" }]
|
|
13327
13327
|
];
|
|
13328
|
-
const Search = createLucideIcon("search", __iconNode$
|
|
13328
|
+
const Search = createLucideIcon("search", __iconNode$e);
|
|
13329
13329
|
/**
|
|
13330
13330
|
* @license lucide-react v0.544.0 - ISC
|
|
13331
13331
|
*
|
|
13332
13332
|
* This source code is licensed under the ISC license.
|
|
13333
13333
|
* See the LICENSE file in the root directory of this source tree.
|
|
13334
13334
|
*/
|
|
13335
|
-
const __iconNode$
|
|
13335
|
+
const __iconNode$d = [
|
|
13336
13336
|
[
|
|
13337
13337
|
"path",
|
|
13338
13338
|
{
|
|
@@ -13342,14 +13342,14 @@ const __iconNode$c = [
|
|
|
13342
13342
|
],
|
|
13343
13343
|
["path", { d: "M6 12h16", key: "s4cdu5" }]
|
|
13344
13344
|
];
|
|
13345
|
-
const SendHorizontal = createLucideIcon("send-horizontal", __iconNode$
|
|
13345
|
+
const SendHorizontal = createLucideIcon("send-horizontal", __iconNode$d);
|
|
13346
13346
|
/**
|
|
13347
13347
|
* @license lucide-react v0.544.0 - ISC
|
|
13348
13348
|
*
|
|
13349
13349
|
* This source code is licensed under the ISC license.
|
|
13350
13350
|
* See the LICENSE file in the root directory of this source tree.
|
|
13351
13351
|
*/
|
|
13352
|
-
const __iconNode$
|
|
13352
|
+
const __iconNode$c = [
|
|
13353
13353
|
["path", { d: "M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7", key: "1m0v6g" }],
|
|
13354
13354
|
[
|
|
13355
13355
|
"path",
|
|
@@ -13359,55 +13359,68 @@ const __iconNode$b = [
|
|
|
13359
13359
|
}
|
|
13360
13360
|
]
|
|
13361
13361
|
];
|
|
13362
|
-
const SquarePen = createLucideIcon("square-pen", __iconNode$
|
|
13362
|
+
const SquarePen = createLucideIcon("square-pen", __iconNode$c);
|
|
13363
13363
|
/**
|
|
13364
13364
|
* @license lucide-react v0.544.0 - ISC
|
|
13365
13365
|
*
|
|
13366
13366
|
* This source code is licensed under the ISC license.
|
|
13367
13367
|
* See the LICENSE file in the root directory of this source tree.
|
|
13368
13368
|
*/
|
|
13369
|
-
const __iconNode$
|
|
13369
|
+
const __iconNode$b = [
|
|
13370
13370
|
["path", { d: "M16 4H9a3 3 0 0 0-2.83 4", key: "43sutm" }],
|
|
13371
13371
|
["path", { d: "M14 12a4 4 0 0 1 0 8H6", key: "nlfj13" }],
|
|
13372
13372
|
["line", { x1: "4", x2: "20", y1: "12", y2: "12", key: "1e0a9i" }]
|
|
13373
13373
|
];
|
|
13374
|
-
const Strikethrough = createLucideIcon("strikethrough", __iconNode$
|
|
13374
|
+
const Strikethrough = createLucideIcon("strikethrough", __iconNode$b);
|
|
13375
13375
|
/**
|
|
13376
13376
|
* @license lucide-react v0.544.0 - ISC
|
|
13377
13377
|
*
|
|
13378
13378
|
* This source code is licensed under the ISC license.
|
|
13379
13379
|
* See the LICENSE file in the root directory of this source tree.
|
|
13380
13380
|
*/
|
|
13381
|
-
const __iconNode$
|
|
13381
|
+
const __iconNode$a = [
|
|
13382
13382
|
["path", { d: "M21 5H3", key: "1fi0y6" }],
|
|
13383
13383
|
["path", { d: "M17 12H7", key: "16if0g" }],
|
|
13384
13384
|
["path", { d: "M19 19H5", key: "vjpgq2" }]
|
|
13385
13385
|
];
|
|
13386
|
-
const TextAlignCenter = createLucideIcon("text-align-center", __iconNode$
|
|
13386
|
+
const TextAlignCenter = createLucideIcon("text-align-center", __iconNode$a);
|
|
13387
13387
|
/**
|
|
13388
13388
|
* @license lucide-react v0.544.0 - ISC
|
|
13389
13389
|
*
|
|
13390
13390
|
* This source code is licensed under the ISC license.
|
|
13391
13391
|
* See the LICENSE file in the root directory of this source tree.
|
|
13392
13392
|
*/
|
|
13393
|
-
const __iconNode$
|
|
13393
|
+
const __iconNode$9 = [
|
|
13394
13394
|
["path", { d: "M21 5H3", key: "1fi0y6" }],
|
|
13395
13395
|
["path", { d: "M21 12H9", key: "dn1m92" }],
|
|
13396
13396
|
["path", { d: "M21 19H7", key: "4cu937" }]
|
|
13397
13397
|
];
|
|
13398
|
-
const TextAlignEnd = createLucideIcon("text-align-end", __iconNode$
|
|
13398
|
+
const TextAlignEnd = createLucideIcon("text-align-end", __iconNode$9);
|
|
13399
13399
|
/**
|
|
13400
13400
|
* @license lucide-react v0.544.0 - ISC
|
|
13401
13401
|
*
|
|
13402
13402
|
* This source code is licensed under the ISC license.
|
|
13403
13403
|
* See the LICENSE file in the root directory of this source tree.
|
|
13404
13404
|
*/
|
|
13405
|
-
const __iconNode$
|
|
13405
|
+
const __iconNode$8 = [
|
|
13406
13406
|
["path", { d: "M21 5H3", key: "1fi0y6" }],
|
|
13407
13407
|
["path", { d: "M15 12H3", key: "6jk70r" }],
|
|
13408
13408
|
["path", { d: "M17 19H3", key: "z6ezky" }]
|
|
13409
13409
|
];
|
|
13410
|
-
const TextAlignStart = createLucideIcon("text-align-start", __iconNode$
|
|
13410
|
+
const TextAlignStart = createLucideIcon("text-align-start", __iconNode$8);
|
|
13411
|
+
/**
|
|
13412
|
+
* @license lucide-react v0.544.0 - ISC
|
|
13413
|
+
*
|
|
13414
|
+
* This source code is licensed under the ISC license.
|
|
13415
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
13416
|
+
*/
|
|
13417
|
+
const __iconNode$7 = [
|
|
13418
|
+
["path", { d: "M17 5H3", key: "1cn7zz" }],
|
|
13419
|
+
["path", { d: "M21 12H8", key: "scolzb" }],
|
|
13420
|
+
["path", { d: "M21 19H8", key: "13qgcb" }],
|
|
13421
|
+
["path", { d: "M3 12v7", key: "1ri8j3" }]
|
|
13422
|
+
];
|
|
13423
|
+
const TextQuote = createLucideIcon("text-quote", __iconNode$7);
|
|
13411
13424
|
/**
|
|
13412
13425
|
* @license lucide-react v0.544.0 - ISC
|
|
13413
13426
|
*
|
|
@@ -13742,46 +13755,67 @@ function FieldError({
|
|
|
13742
13755
|
}
|
|
13743
13756
|
);
|
|
13744
13757
|
}
|
|
13745
|
-
|
|
13746
|
-
|
|
13747
|
-
|
|
13748
|
-
|
|
13749
|
-
|
|
13750
|
-
|
|
13751
|
-
|
|
13752
|
-
"
|
|
13753
|
-
|
|
13754
|
-
|
|
13755
|
-
|
|
13756
|
-
|
|
13757
|
-
|
|
13758
|
-
|
|
13759
|
-
|
|
13760
|
-
}
|
|
13761
|
-
|
|
13758
|
+
const Input = React.forwardRef(
|
|
13759
|
+
({ className, type, ...props }, ref) => {
|
|
13760
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
13761
|
+
"input",
|
|
13762
|
+
{
|
|
13763
|
+
ref,
|
|
13764
|
+
type,
|
|
13765
|
+
"data-slot": "input",
|
|
13766
|
+
className: cn(
|
|
13767
|
+
"file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
|
|
13768
|
+
"focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",
|
|
13769
|
+
"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
|
|
13770
|
+
className
|
|
13771
|
+
),
|
|
13772
|
+
...props
|
|
13773
|
+
}
|
|
13774
|
+
);
|
|
13775
|
+
}
|
|
13776
|
+
);
|
|
13777
|
+
Input.displayName = "Input";
|
|
13778
|
+
function Textarea({ className, ...props }) {
|
|
13762
13779
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
13763
|
-
"
|
|
13780
|
+
"textarea",
|
|
13764
13781
|
{
|
|
13765
|
-
"data-slot": "
|
|
13766
|
-
role: "group",
|
|
13782
|
+
"data-slot": "textarea",
|
|
13767
13783
|
className: cn(
|
|
13768
|
-
"
|
|
13769
|
-
"h-9 min-w-0 has-[>textarea]:h-auto",
|
|
13770
|
-
// Variants based on alignment.
|
|
13771
|
-
"has-[>[data-align=inline-start]]:[&>input]:pl-2",
|
|
13772
|
-
"has-[>[data-align=inline-end]]:[&>input]:pr-2",
|
|
13773
|
-
"has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>[data-align=block-start]]:[&>input]:pb-3",
|
|
13774
|
-
"has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-end]]:[&>input]:pt-3",
|
|
13775
|
-
// Focus state.
|
|
13776
|
-
"has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot=input-group-control]:focus-visible]:ring-[3px]",
|
|
13777
|
-
// Error state.
|
|
13778
|
-
"has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[[data-slot][aria-invalid=true]]:border-destructive dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40",
|
|
13784
|
+
"border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
|
|
13779
13785
|
className
|
|
13780
13786
|
),
|
|
13781
13787
|
...props
|
|
13782
13788
|
}
|
|
13783
13789
|
);
|
|
13784
13790
|
}
|
|
13791
|
+
const InputGroup = React.forwardRef(
|
|
13792
|
+
({ className, ...props }, ref) => {
|
|
13793
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
13794
|
+
"div",
|
|
13795
|
+
{
|
|
13796
|
+
ref,
|
|
13797
|
+
"data-slot": "input-group",
|
|
13798
|
+
role: "group",
|
|
13799
|
+
className: cn(
|
|
13800
|
+
"group/input-group border-input dark:bg-input/30 relative flex w-full items-center rounded-md border shadow-xs transition-[color,box-shadow] outline-none",
|
|
13801
|
+
"h-9 min-w-0 has-[>textarea]:h-auto",
|
|
13802
|
+
// Variants based on alignment.
|
|
13803
|
+
"has-[>[data-align=inline-start]]:[&>input]:pl-2",
|
|
13804
|
+
"has-[>[data-align=inline-end]]:[&>input]:pr-2",
|
|
13805
|
+
"has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>[data-align=block-start]]:[&>input]:pb-3",
|
|
13806
|
+
"has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-end]]:[&>input]:pt-3",
|
|
13807
|
+
// Focus state.
|
|
13808
|
+
"has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot=input-group-control]:focus-visible]:ring-[3px]",
|
|
13809
|
+
// Error state.
|
|
13810
|
+
"has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[[data-slot][aria-invalid=true]]:border-destructive dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40",
|
|
13811
|
+
className
|
|
13812
|
+
),
|
|
13813
|
+
...props
|
|
13814
|
+
}
|
|
13815
|
+
);
|
|
13816
|
+
}
|
|
13817
|
+
);
|
|
13818
|
+
InputGroup.displayName = "InputGroup";
|
|
13785
13819
|
const inputGroupAddonVariants = cva(
|
|
13786
13820
|
"text-muted-foreground flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm font-medium select-none [&>svg:not([class*='size-'])]:size-4 [&>kbd]:rounded-[calc(var(--radius)-5px)] group-data-[disabled=true]/input-group:opacity-50",
|
|
13787
13821
|
{
|
|
@@ -13798,14 +13832,11 @@ const inputGroupAddonVariants = cva(
|
|
|
13798
13832
|
}
|
|
13799
13833
|
}
|
|
13800
13834
|
);
|
|
13801
|
-
|
|
13802
|
-
className,
|
|
13803
|
-
align = "inline-start",
|
|
13804
|
-
...props
|
|
13805
|
-
}) {
|
|
13835
|
+
const InputGroupAddon = React.forwardRef(({ className, align = "inline-start", ...props }, ref) => {
|
|
13806
13836
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
13807
13837
|
"div",
|
|
13808
13838
|
{
|
|
13839
|
+
ref,
|
|
13809
13840
|
role: "group",
|
|
13810
13841
|
"data-slot": "input-group-addon",
|
|
13811
13842
|
"data-align": align,
|
|
@@ -13819,20 +13850,86 @@ function InputGroupAddon({
|
|
|
13819
13850
|
...props
|
|
13820
13851
|
}
|
|
13821
13852
|
);
|
|
13822
|
-
}
|
|
13823
|
-
|
|
13853
|
+
});
|
|
13854
|
+
InputGroupAddon.displayName = "InputGroupAddon";
|
|
13855
|
+
const inputGroupButtonVariants = cva("text-sm shadow-none flex gap-2 items-center", {
|
|
13856
|
+
variants: {
|
|
13857
|
+
size: {
|
|
13858
|
+
xs: "h-6 gap-1 px-2 rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-3.5 has-[>svg]:px-2",
|
|
13859
|
+
sm: "h-8 px-2.5 gap-1.5 rounded-md has-[>svg]:px-2.5",
|
|
13860
|
+
"icon-xs": "size-6 rounded-[calc(var(--radius)-5px)] p-0 has-[>svg]:p-0",
|
|
13861
|
+
"icon-sm": "size-8 p-0 has-[>svg]:p-0"
|
|
13862
|
+
}
|
|
13863
|
+
},
|
|
13864
|
+
defaultVariants: {
|
|
13865
|
+
size: "xs"
|
|
13866
|
+
}
|
|
13867
|
+
});
|
|
13868
|
+
const InputGroupButton = React.forwardRef(({ className, type = "button", variant = "ghost", size: size2 = "xs", ...props }, ref) => {
|
|
13824
13869
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
13825
|
-
|
|
13870
|
+
Button,
|
|
13826
13871
|
{
|
|
13827
|
-
|
|
13828
|
-
|
|
13829
|
-
|
|
13830
|
-
|
|
13831
|
-
),
|
|
13872
|
+
ref,
|
|
13873
|
+
type,
|
|
13874
|
+
"data-size": size2,
|
|
13875
|
+
variant,
|
|
13876
|
+
className: cn(inputGroupButtonVariants({ size: size2 }), className),
|
|
13832
13877
|
...props
|
|
13833
13878
|
}
|
|
13834
13879
|
);
|
|
13835
|
-
}
|
|
13880
|
+
});
|
|
13881
|
+
InputGroupButton.displayName = "InputGroupButton";
|
|
13882
|
+
const InputGroupText = React.forwardRef(
|
|
13883
|
+
({ className, ...props }, ref) => {
|
|
13884
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
13885
|
+
"span",
|
|
13886
|
+
{
|
|
13887
|
+
ref,
|
|
13888
|
+
className: cn(
|
|
13889
|
+
"text-muted-foreground flex items-center gap-2 text-sm [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4",
|
|
13890
|
+
className
|
|
13891
|
+
),
|
|
13892
|
+
...props
|
|
13893
|
+
}
|
|
13894
|
+
);
|
|
13895
|
+
}
|
|
13896
|
+
);
|
|
13897
|
+
InputGroupText.displayName = "InputGroupText";
|
|
13898
|
+
const InputGroupInput = React.forwardRef(
|
|
13899
|
+
({ className, ref: legacyRef, ...props }, ref) => {
|
|
13900
|
+
console.log({ legacyRef });
|
|
13901
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
13902
|
+
Input,
|
|
13903
|
+
{
|
|
13904
|
+
ref,
|
|
13905
|
+
"data-slot": "input-group-control",
|
|
13906
|
+
className: cn(
|
|
13907
|
+
"flex-1 rounded-none border-0 bg-transparent shadow-none focus-visible:ring-0 dark:bg-transparent",
|
|
13908
|
+
className
|
|
13909
|
+
),
|
|
13910
|
+
...props
|
|
13911
|
+
}
|
|
13912
|
+
);
|
|
13913
|
+
}
|
|
13914
|
+
);
|
|
13915
|
+
InputGroupInput.displayName = "InputGroupInput";
|
|
13916
|
+
const InputGroupTextarea = React.forwardRef(
|
|
13917
|
+
({ className, ...props }, ref) => {
|
|
13918
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
13919
|
+
Textarea,
|
|
13920
|
+
{
|
|
13921
|
+
ref,
|
|
13922
|
+
"data-slot": "input-group-control",
|
|
13923
|
+
className: cn(
|
|
13924
|
+
"flex-1 resize-none rounded-none border-0 bg-transparent py-3 shadow-none focus-visible:ring-0 dark:bg-transparent",
|
|
13925
|
+
className
|
|
13926
|
+
),
|
|
13927
|
+
...props
|
|
13928
|
+
}
|
|
13929
|
+
);
|
|
13930
|
+
}
|
|
13931
|
+
);
|
|
13932
|
+
InputGroupTextarea.displayName = "InputGroupTextarea";
|
|
13836
13933
|
const Spinner = React.forwardRef(({ className, ...props }, ref) => {
|
|
13837
13934
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
13838
13935
|
LoaderCircle,
|
|
@@ -14520,6 +14617,7 @@ const LinkDecoratorModal = ({
|
|
|
14520
14617
|
const [isValid, setIsValid] = React.useState(void 0);
|
|
14521
14618
|
const [isUpdate, setIsUpdate] = React.useState(false);
|
|
14522
14619
|
const [isLoading, setIsLoading] = React.useState(false);
|
|
14620
|
+
const textInputRef = React.useRef(null);
|
|
14523
14621
|
const handleOpenChange = (open2) => {
|
|
14524
14622
|
onOpenChange?.(open2);
|
|
14525
14623
|
if (!open2 || !editor) return;
|
|
@@ -14562,7 +14660,11 @@ const LinkDecoratorModal = ({
|
|
|
14562
14660
|
};
|
|
14563
14661
|
const handleKeyDown = (e) => {
|
|
14564
14662
|
if (e.key === "Enter") {
|
|
14565
|
-
|
|
14663
|
+
e.preventDefault();
|
|
14664
|
+
const isTextInput = textInputRef.current === e.target;
|
|
14665
|
+
if (isTextInput || hideTextInput) return handleInsertLink(link, text2, uid ?? void 0);
|
|
14666
|
+
console.log("Enter", isTextInput);
|
|
14667
|
+
textInputRef?.current?.focus();
|
|
14566
14668
|
}
|
|
14567
14669
|
};
|
|
14568
14670
|
React.useEffect(() => {
|
|
@@ -14577,7 +14679,7 @@ const LinkDecoratorModal = ({
|
|
|
14577
14679
|
}, [defaultValues]);
|
|
14578
14680
|
return /* @__PURE__ */ jsxRuntime.jsxs(Dialog, { open, onOpenChange: handleOpenChange, children: [
|
|
14579
14681
|
children ? /* @__PURE__ */ jsxRuntime.jsx(DialogTrigger, { asChild: true, children }) : null,
|
|
14580
|
-
/* @__PURE__ */ jsxRuntime.jsxs(DialogContent, {
|
|
14682
|
+
/* @__PURE__ */ jsxRuntime.jsxs(DialogContent, { className: "-translate-1/2", children: [
|
|
14581
14683
|
/* @__PURE__ */ jsxRuntime.jsx(DialogHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(DialogTitle, { children: "Add Link" }) }),
|
|
14582
14684
|
/* @__PURE__ */ jsxRuntime.jsx(FieldSet, { children: /* @__PURE__ */ jsxRuntime.jsxs(FieldGroup, { className: "gap-3", children: [
|
|
14583
14685
|
/* @__PURE__ */ jsxRuntime.jsxs(Field, { className: "gap-1.5", children: [
|
|
@@ -14592,6 +14694,7 @@ const LinkDecoratorModal = ({
|
|
|
14592
14694
|
value: link,
|
|
14593
14695
|
onChange: handleChangeLink,
|
|
14594
14696
|
onBlur: handleBlurLinkInput,
|
|
14697
|
+
onKeyDown: handleKeyDown,
|
|
14595
14698
|
placeholder: "https://x.com/shadcn"
|
|
14596
14699
|
}
|
|
14597
14700
|
),
|
|
@@ -14605,8 +14708,10 @@ const LinkDecoratorModal = ({
|
|
|
14605
14708
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14606
14709
|
InputGroupInput,
|
|
14607
14710
|
{
|
|
14711
|
+
ref: textInputRef,
|
|
14608
14712
|
value: text2,
|
|
14609
14713
|
onChange: handleChangeText,
|
|
14714
|
+
onKeyDown: handleKeyDown,
|
|
14610
14715
|
placeholder: "Text to display"
|
|
14611
14716
|
}
|
|
14612
14717
|
),
|
|
@@ -18348,42 +18453,60 @@ function findFirstByType(node, type, options = {}) {
|
|
|
18348
18453
|
const results = findByType(node, type, { ...options, findAll: false });
|
|
18349
18454
|
return results[0] || null;
|
|
18350
18455
|
}
|
|
18351
|
-
const truncateTextWithNodes = (json, maxLength = 200
|
|
18456
|
+
const truncateTextWithNodes = (json, maxLength = 200) => {
|
|
18352
18457
|
let charCount = 0;
|
|
18353
18458
|
let result = "";
|
|
18354
18459
|
let reachedLimit = false;
|
|
18355
|
-
|
|
18356
|
-
|
|
18357
|
-
(node)
|
|
18358
|
-
|
|
18359
|
-
|
|
18360
|
-
|
|
18361
|
-
|
|
18362
|
-
|
|
18460
|
+
const cloneWithTruncation = (node) => {
|
|
18461
|
+
if (reachedLimit) return null;
|
|
18462
|
+
if (node.type === "text") {
|
|
18463
|
+
const text2 = node.text ?? "";
|
|
18464
|
+
const hasLinkMark = node.marks?.some((m) => m.type === "customLink");
|
|
18465
|
+
if (hasLinkMark) {
|
|
18466
|
+
result += text2;
|
|
18467
|
+
charCount += text2.length;
|
|
18468
|
+
return node;
|
|
18469
|
+
} else {
|
|
18470
|
+
if (charCount + text2.length <= maxLength) {
|
|
18363
18471
|
result += text2;
|
|
18364
18472
|
charCount += text2.length;
|
|
18473
|
+
return node;
|
|
18365
18474
|
} else {
|
|
18366
|
-
|
|
18367
|
-
|
|
18368
|
-
|
|
18369
|
-
|
|
18370
|
-
|
|
18371
|
-
|
|
18372
|
-
|
|
18373
|
-
|
|
18374
|
-
|
|
18475
|
+
const remaining = maxLength - charCount;
|
|
18476
|
+
result += text2.slice(0, remaining);
|
|
18477
|
+
charCount += remaining;
|
|
18478
|
+
reachedLimit = true;
|
|
18479
|
+
return { ...node, text: text2.slice(0, remaining) };
|
|
18480
|
+
}
|
|
18481
|
+
}
|
|
18482
|
+
} else if (node.type === "mention") {
|
|
18483
|
+
const label = node.attrs?.label ?? "";
|
|
18484
|
+
const mentionText = `${node.attrs?.mentionSuggestionChar}${label}`;
|
|
18485
|
+
result += mentionText;
|
|
18486
|
+
charCount += mentionText.length;
|
|
18487
|
+
return node;
|
|
18488
|
+
} else {
|
|
18489
|
+
const clonedNode = { type: node.type };
|
|
18490
|
+
if (node.attrs) clonedNode.attrs = node.attrs;
|
|
18491
|
+
if (node.marks) clonedNode.marks = node.marks;
|
|
18492
|
+
if (node.content) {
|
|
18493
|
+
clonedNode.content = [];
|
|
18494
|
+
for (const child of node.content) {
|
|
18495
|
+
if (reachedLimit) break;
|
|
18496
|
+
const clonedChild = cloneWithTruncation(child);
|
|
18497
|
+
if (clonedChild) {
|
|
18498
|
+
clonedNode.content.push(clonedChild);
|
|
18375
18499
|
}
|
|
18376
18500
|
}
|
|
18377
|
-
} else if (node.type === "mention") {
|
|
18378
|
-
const label = node.attrs?.label ?? "";
|
|
18379
|
-
const mentionText = `${mentionSuggestionChar}${label}`;
|
|
18380
|
-
result += mentionText;
|
|
18381
|
-
charCount += mentionText.length;
|
|
18382
18501
|
}
|
|
18383
|
-
|
|
18384
|
-
|
|
18385
|
-
|
|
18386
|
-
|
|
18502
|
+
return clonedNode;
|
|
18503
|
+
}
|
|
18504
|
+
};
|
|
18505
|
+
const truncatedJson = cloneWithTruncation(json);
|
|
18506
|
+
return {
|
|
18507
|
+
text: result.trim(),
|
|
18508
|
+
json: truncatedJson || { type: json.type }
|
|
18509
|
+
};
|
|
18387
18510
|
};
|
|
18388
18511
|
const TOOLBAR_FEATURES = {
|
|
18389
18512
|
[EditorTypes.Text]: {
|
|
@@ -18710,6 +18833,16 @@ const Toolbar = ({
|
|
|
18710
18833
|
),
|
|
18711
18834
|
/* @__PURE__ */ jsxRuntime.jsx(VerticalSeparator, {}),
|
|
18712
18835
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "hidden xl:flex flex-wrap items-center gap-2", children: [
|
|
18836
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
18837
|
+
ToolbarButton,
|
|
18838
|
+
{
|
|
18839
|
+
icon: TextQuote,
|
|
18840
|
+
tooltip: "BlockQuote",
|
|
18841
|
+
onClick: actions?.toggleBlockquote,
|
|
18842
|
+
active: editorState?.isBlockquote,
|
|
18843
|
+
disabled: !editorState?.canBlockquote
|
|
18844
|
+
}
|
|
18845
|
+
),
|
|
18713
18846
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
18714
18847
|
ToolbarButton,
|
|
18715
18848
|
{
|
|
@@ -18792,6 +18925,16 @@ const Toolbar = ({
|
|
|
18792
18925
|
disabled: !editorState?.canStrike
|
|
18793
18926
|
}
|
|
18794
18927
|
) }),
|
|
18928
|
+
/* @__PURE__ */ jsxRuntime.jsx(DropdownMenuItem, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
18929
|
+
ToolbarButton,
|
|
18930
|
+
{
|
|
18931
|
+
icon: TextQuote,
|
|
18932
|
+
tooltip: "BlockQuote",
|
|
18933
|
+
onClick: actions?.toggleBlockquote,
|
|
18934
|
+
active: editorState?.isBlockquote,
|
|
18935
|
+
disabled: !editorState?.canBlockquote
|
|
18936
|
+
}
|
|
18937
|
+
) }),
|
|
18795
18938
|
/* @__PURE__ */ jsxRuntime.jsx(DropdownMenuItem, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
18796
18939
|
ToolbarButton,
|
|
18797
18940
|
{
|
|
@@ -20970,7 +21113,7 @@ const OPTION_COLORS = ["#0091d5", "#fcc600", "#ce50a0", "#139e6b"];
|
|
|
20970
21113
|
const POLL_LIMITS = {
|
|
20971
21114
|
MIN: 1,
|
|
20972
21115
|
MAX: 4,
|
|
20973
|
-
MAX_TEXT_LENGTH:
|
|
21116
|
+
MAX_TEXT_LENGTH: 40
|
|
20974
21117
|
};
|
|
20975
21118
|
const TextChoiceCard = ({ choice, index: index2, canRemove, onRemove }) => {
|
|
20976
21119
|
const backgroundColor = OPTION_COLORS[index2 % OPTION_COLORS.length];
|
|
@@ -21157,10 +21300,16 @@ const PollHeader = ({ choiceCount, remainingSlots }) => /* @__PURE__ */ jsxRunti
|
|
|
21157
21300
|
" left"
|
|
21158
21301
|
] })
|
|
21159
21302
|
] });
|
|
21160
|
-
const EmptySlot = ({
|
|
21303
|
+
const EmptySlot = ({
|
|
21304
|
+
slotNumber,
|
|
21305
|
+
disabled,
|
|
21306
|
+
onDrop,
|
|
21307
|
+
isLoading = false
|
|
21308
|
+
}) => {
|
|
21161
21309
|
const ref = React.useRef(null);
|
|
21162
21310
|
const [isDragging, setIsDragging] = React.useState(false);
|
|
21163
21311
|
const handleDragOver = (e) => {
|
|
21312
|
+
if (disabled || isLoading) return;
|
|
21164
21313
|
e.preventDefault();
|
|
21165
21314
|
e.stopPropagation();
|
|
21166
21315
|
setIsDragging(true);
|
|
@@ -21171,6 +21320,7 @@ const EmptySlot = ({ slotNumber, disabled, onDrop }) => {
|
|
|
21171
21320
|
setIsDragging(false);
|
|
21172
21321
|
};
|
|
21173
21322
|
const handleDrop = (e) => {
|
|
21323
|
+
if (disabled || isLoading) return;
|
|
21174
21324
|
e.preventDefault();
|
|
21175
21325
|
e.stopPropagation();
|
|
21176
21326
|
setIsDragging(false);
|
|
@@ -21188,6 +21338,10 @@ const EmptySlot = ({ slotNumber, disabled, onDrop }) => {
|
|
|
21188
21338
|
void onDrop(files);
|
|
21189
21339
|
e.target.value = "";
|
|
21190
21340
|
};
|
|
21341
|
+
const handleClick = () => {
|
|
21342
|
+
if (disabled || isLoading) return;
|
|
21343
|
+
ref.current?.click();
|
|
21344
|
+
};
|
|
21191
21345
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
21192
21346
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
21193
21347
|
"input",
|
|
@@ -21198,35 +21352,41 @@ const EmptySlot = ({ slotNumber, disabled, onDrop }) => {
|
|
|
21198
21352
|
multiple: true,
|
|
21199
21353
|
className: "hidden",
|
|
21200
21354
|
onChange: handleFileSelect,
|
|
21201
|
-
disabled,
|
|
21355
|
+
disabled: disabled || isLoading,
|
|
21202
21356
|
"aria-label": "Upload image or video for poll choice"
|
|
21203
21357
|
}
|
|
21204
21358
|
),
|
|
21205
|
-
/* @__PURE__ */ jsxRuntime.
|
|
21359
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
21206
21360
|
"div",
|
|
21207
21361
|
{
|
|
21208
21362
|
onDragOver: handleDragOver,
|
|
21209
21363
|
onDragLeave: handleDragLeave,
|
|
21210
21364
|
onDrop: handleDrop,
|
|
21211
|
-
onClick:
|
|
21365
|
+
onClick: handleClick,
|
|
21212
21366
|
className: cn(
|
|
21213
|
-
"
|
|
21214
|
-
|
|
21367
|
+
"rounded-xl border-2 border-dashed min-h-16 lg:min-h-32 flex flex-col items-center justify-center text-sm lg:gap-2 transition-all duration-200",
|
|
21368
|
+
isLoading && "cursor-not-allowed opacity-75",
|
|
21369
|
+
!isLoading && !disabled && "cursor-pointer",
|
|
21370
|
+
disabled && !isLoading && "cursor-not-allowed opacity-50",
|
|
21371
|
+
isDragging && !isLoading ? "border-primary bg-primary/10 text-primary scale-[1.02] shadow-md" : isLoading ? "border-primary/50 bg-primary/5 text-primary" : "border-muted-foreground/20 text-muted-foreground/60 bg-muted/20"
|
|
21215
21372
|
),
|
|
21216
|
-
children: [
|
|
21373
|
+
children: isLoading ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
21374
|
+
/* @__PURE__ */ jsxRuntime.jsx(Spinner, {}),
|
|
21375
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-medium text-primary", children: "Uploading..." })
|
|
21376
|
+
] }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
21217
21377
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
21218
21378
|
"div",
|
|
21219
21379
|
{
|
|
21220
21380
|
className: cn(
|
|
21221
|
-
"text-xl lg:text-2xl font-bold transition-colors",
|
|
21381
|
+
"text-xl lg:text-2xl font-bold transition-colors pointer-events-none",
|
|
21222
21382
|
isDragging ? "text-primary/50" : "text-muted-foreground/30"
|
|
21223
21383
|
),
|
|
21224
21384
|
children: slotNumber
|
|
21225
21385
|
}
|
|
21226
21386
|
),
|
|
21227
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs", children: isDragging ? "Drop here" : "Drag & Drop" }),
|
|
21228
|
-
isDragging && /* @__PURE__ */ jsxRuntime.jsx(Image$1, { className: "h-5 w-5 animate-bounce" })
|
|
21229
|
-
]
|
|
21387
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs pointer-events-none", children: isDragging ? "Drop here" : "Drag & Drop" }),
|
|
21388
|
+
isDragging && /* @__PURE__ */ jsxRuntime.jsx(Image$1, { className: "pointer-events-none h-5 w-5 animate-bounce" })
|
|
21389
|
+
] })
|
|
21230
21390
|
}
|
|
21231
21391
|
)
|
|
21232
21392
|
] });
|
|
@@ -21282,58 +21442,146 @@ const createPollMediaOption = (uploadedFile, index2, searchFrom) => {
|
|
|
21282
21442
|
option_id: v4()
|
|
21283
21443
|
};
|
|
21284
21444
|
};
|
|
21445
|
+
const isPlaceholder = (item) => {
|
|
21446
|
+
return "type" in item && item.type === "placeholder";
|
|
21447
|
+
};
|
|
21285
21448
|
const PollCreator = ({ choices, onChange }) => {
|
|
21286
21449
|
const { fileStore } = useApi();
|
|
21287
21450
|
const [textValue, setTextValue] = React.useState("");
|
|
21288
|
-
const
|
|
21289
|
-
const
|
|
21290
|
-
|
|
21451
|
+
const [internalChoices, setInternalChoices] = React.useState(choices);
|
|
21452
|
+
const isInternalUpdate = React.useRef(false);
|
|
21453
|
+
React.useEffect(() => {
|
|
21454
|
+
if (!isInternalUpdate.current) {
|
|
21455
|
+
setInternalChoices(choices);
|
|
21456
|
+
}
|
|
21457
|
+
isInternalUpdate.current = false;
|
|
21458
|
+
}, [choices]);
|
|
21459
|
+
const remainingSlots = POLL_LIMITS.MAX - internalChoices.length;
|
|
21460
|
+
const canAddMore = internalChoices.length < POLL_LIMITS.MAX;
|
|
21461
|
+
const actualChoices = internalChoices.filter((c) => !isPlaceholder(c));
|
|
21462
|
+
const canRemoveChoices = actualChoices.length > POLL_LIMITS.MIN;
|
|
21463
|
+
const syncToParent = (items) => {
|
|
21464
|
+
const actual = items.filter((c) => !isPlaceholder(c));
|
|
21465
|
+
isInternalUpdate.current = true;
|
|
21466
|
+
onChange(actual);
|
|
21467
|
+
};
|
|
21468
|
+
const updateChoices = (items) => {
|
|
21469
|
+
setInternalChoices(items);
|
|
21470
|
+
setTimeout(() => {
|
|
21471
|
+
syncToParent(items);
|
|
21472
|
+
}, 0);
|
|
21473
|
+
};
|
|
21291
21474
|
const handleAddText = () => {
|
|
21292
21475
|
if (!textValue.trim() || !canAddMore) return;
|
|
21293
|
-
const newItem = createTextOption(textValue,
|
|
21294
|
-
|
|
21476
|
+
const newItem = createTextOption(textValue, internalChoices.length);
|
|
21477
|
+
updateChoices([...internalChoices, newItem]);
|
|
21295
21478
|
setTextValue("");
|
|
21296
21479
|
};
|
|
21297
21480
|
const handleFileUpload = async (files) => {
|
|
21298
21481
|
if (!files || !canAddMore) return;
|
|
21299
21482
|
const filesArray = files.slice(0, remainingSlots);
|
|
21300
|
-
const
|
|
21301
|
-
|
|
21302
|
-
|
|
21303
|
-
|
|
21304
|
-
|
|
21305
|
-
|
|
21306
|
-
|
|
21307
|
-
|
|
21308
|
-
|
|
21309
|
-
|
|
21310
|
-
|
|
21311
|
-
|
|
21483
|
+
const startIndex = internalChoices.length;
|
|
21484
|
+
const placeholders = filesArray.map((_, i) => ({
|
|
21485
|
+
type: "placeholder",
|
|
21486
|
+
key: `placeholder-${Date.now()}-${i}`
|
|
21487
|
+
}));
|
|
21488
|
+
const withPlaceholders = [...internalChoices, ...placeholders];
|
|
21489
|
+
setInternalChoices(withPlaceholders);
|
|
21490
|
+
try {
|
|
21491
|
+
const uploadPromises = filesArray.map(async (file, index2) => {
|
|
21492
|
+
try {
|
|
21493
|
+
const result = await fileStore.uploadImage(file);
|
|
21494
|
+
return createPollMediaOption(result, startIndex + index2);
|
|
21495
|
+
} catch (error) {
|
|
21496
|
+
console.error("Upload failed for", file.name, error);
|
|
21497
|
+
return null;
|
|
21498
|
+
}
|
|
21499
|
+
});
|
|
21500
|
+
const results = await Promise.all(uploadPromises);
|
|
21501
|
+
setInternalChoices((current) => {
|
|
21502
|
+
const updated = [...current];
|
|
21503
|
+
results.forEach((result, index2) => {
|
|
21504
|
+
const placeholderIndex = startIndex + index2;
|
|
21505
|
+
if (result !== null && placeholderIndex < updated.length) {
|
|
21506
|
+
updated[placeholderIndex] = result;
|
|
21507
|
+
}
|
|
21508
|
+
});
|
|
21509
|
+
const final = updated.filter((item) => !isPlaceholder(item));
|
|
21510
|
+
setTimeout(() => {
|
|
21511
|
+
syncToParent(final);
|
|
21512
|
+
}, 0);
|
|
21513
|
+
return final;
|
|
21514
|
+
});
|
|
21515
|
+
} catch (error) {
|
|
21516
|
+
console.error("Unexpected error during file upload:", error);
|
|
21517
|
+
setInternalChoices((current) => {
|
|
21518
|
+
const withoutPlaceholders = current.filter((c) => !isPlaceholder(c));
|
|
21519
|
+
setTimeout(() => {
|
|
21520
|
+
syncToParent(withoutPlaceholders);
|
|
21521
|
+
}, 0);
|
|
21522
|
+
return withoutPlaceholders;
|
|
21523
|
+
});
|
|
21524
|
+
}
|
|
21312
21525
|
};
|
|
21313
|
-
const handleUrlUpload = (url, searchFrom) => {
|
|
21314
|
-
|
|
21315
|
-
|
|
21526
|
+
const handleUrlUpload = async (url, searchFrom) => {
|
|
21527
|
+
if (!canAddMore) return;
|
|
21528
|
+
const index2 = internalChoices.length;
|
|
21529
|
+
const placeholder = {
|
|
21530
|
+
type: "placeholder",
|
|
21531
|
+
key: `placeholder-${Date.now()}`
|
|
21532
|
+
};
|
|
21533
|
+
const withPlaceholder = [...internalChoices, placeholder];
|
|
21534
|
+
setInternalChoices(withPlaceholder);
|
|
21535
|
+
try {
|
|
21536
|
+
const result = await fileStore.uploadUrl(url);
|
|
21316
21537
|
const choice = createPollMediaOption(result, index2, searchFrom);
|
|
21317
|
-
|
|
21318
|
-
|
|
21538
|
+
setInternalChoices((current) => {
|
|
21539
|
+
const updated = [...current];
|
|
21540
|
+
if (index2 < updated.length && isPlaceholder(updated[index2])) {
|
|
21541
|
+
updated[index2] = choice;
|
|
21542
|
+
}
|
|
21543
|
+
setTimeout(() => {
|
|
21544
|
+
syncToParent(updated);
|
|
21545
|
+
}, 0);
|
|
21546
|
+
return updated;
|
|
21547
|
+
});
|
|
21548
|
+
} catch (error) {
|
|
21549
|
+
console.error("URL upload failed:", error);
|
|
21550
|
+
setInternalChoices((current) => {
|
|
21551
|
+
const withoutPlaceholder = current.filter((c) => !isPlaceholder(c));
|
|
21552
|
+
setTimeout(() => {
|
|
21553
|
+
syncToParent(withoutPlaceholder);
|
|
21554
|
+
}, 0);
|
|
21555
|
+
return withoutPlaceholder;
|
|
21556
|
+
});
|
|
21557
|
+
}
|
|
21319
21558
|
};
|
|
21320
21559
|
const handleRemove = (index2) => {
|
|
21321
21560
|
if (!canRemoveChoices) return;
|
|
21322
|
-
const updated =
|
|
21323
|
-
|
|
21561
|
+
const updated = internalChoices.filter((_, i) => i !== index2);
|
|
21562
|
+
updateChoices(updated);
|
|
21324
21563
|
};
|
|
21325
|
-
console.log({ choices });
|
|
21326
21564
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
21327
21565
|
"div",
|
|
21328
21566
|
{
|
|
21329
21567
|
"data-type": "poll",
|
|
21330
21568
|
className: "w-full border border-border rounded-xl bg-card shadow-sm overflow-hidden",
|
|
21331
21569
|
children: [
|
|
21332
|
-
/* @__PURE__ */ jsxRuntime.jsx(PollHeader, { choiceCount:
|
|
21570
|
+
/* @__PURE__ */ jsxRuntime.jsx(PollHeader, { choiceCount: actualChoices.length, remainingSlots }),
|
|
21333
21571
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "sm:p-4 p-2 space-y-6", children: [
|
|
21334
21572
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 lg:grid-cols-4 gap-3 sm:gap-4", children: [
|
|
21335
|
-
|
|
21336
|
-
(choice, index2) =>
|
|
21573
|
+
internalChoices.map(
|
|
21574
|
+
(choice, index2) => isPlaceholder(choice) ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
21575
|
+
EmptySlot,
|
|
21576
|
+
{
|
|
21577
|
+
disabled: true,
|
|
21578
|
+
isLoading: true,
|
|
21579
|
+
onDrop: async () => {
|
|
21580
|
+
},
|
|
21581
|
+
slotNumber: index2 + 1
|
|
21582
|
+
},
|
|
21583
|
+
choice.key
|
|
21584
|
+
) : isTextChoice(choice) ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
21337
21585
|
TextChoiceCard,
|
|
21338
21586
|
{
|
|
21339
21587
|
choice,
|
|
@@ -21357,8 +21605,9 @@ const PollCreator = ({ choices, onChange }) => {
|
|
|
21357
21605
|
EmptySlot,
|
|
21358
21606
|
{
|
|
21359
21607
|
disabled: !canAddMore,
|
|
21608
|
+
isLoading: false,
|
|
21360
21609
|
onDrop: handleFileUpload,
|
|
21361
|
-
slotNumber:
|
|
21610
|
+
slotNumber: internalChoices.length + i + 1
|
|
21362
21611
|
},
|
|
21363
21612
|
`empty-${i}`
|
|
21364
21613
|
))
|
|
@@ -21428,7 +21677,7 @@ const Poll = core.Node.create({
|
|
|
21428
21677
|
const nodeTypeName = this.name;
|
|
21429
21678
|
return [
|
|
21430
21679
|
new Plugin({
|
|
21431
|
-
key: new PluginKey("
|
|
21680
|
+
key: new PluginKey("pollKeyHandlerPlugin"),
|
|
21432
21681
|
props: {
|
|
21433
21682
|
/**
|
|
21434
21683
|
* Prevent keyboard deletion when the poll node is selected
|
|
@@ -27559,7 +27808,7 @@ const configureMentionExtension = (api, mfs, store) => {
|
|
|
27559
27808
|
`${char}${label}`
|
|
27560
27809
|
];
|
|
27561
27810
|
}
|
|
27562
|
-
const href = char === "@" ? `/
|
|
27811
|
+
const href = char === "@" ? `/users/${id}` : `/groups/${id}`;
|
|
27563
27812
|
return [
|
|
27564
27813
|
"a",
|
|
27565
27814
|
{
|
|
@@ -28285,7 +28534,17 @@ const getLinkExtensions = ({ api, store, user }) => {
|
|
|
28285
28534
|
const getEditorProps = () => ({
|
|
28286
28535
|
attributes: {
|
|
28287
28536
|
class: cn(
|
|
28288
|
-
|
|
28537
|
+
`max-w-full prose prose-sm sm:prose-base px-4 py-2 prose-img:my-3
|
|
28538
|
+
|
|
28539
|
+
prose-blockquote:p-4 prose-blockquote:my-4 prose-blockquote:border-s-4
|
|
28540
|
+
prose-blockquote:border-gray-300 prose-blockquote:bg-gray-50
|
|
28541
|
+
prose-blockquote:dark:border-gray-500 prose-blockquote:dark:bg-gray-800
|
|
28542
|
+
|
|
28543
|
+
prose-blockquote:[&>p]:text-xl prose-blockquote:[&>p]:italic prose-blockquote:[&>p]:font-medium prose-blockquote:[&>p]:leading-relaxed prose-blockquote:[&>p]:text-gray-900 prose-blockquote:[&>p]:dark:text-white
|
|
28544
|
+
|
|
28545
|
+
|
|
28546
|
+
prose-figcaption:text-xs prose-code:text-sm
|
|
28547
|
+
prose-codeblock:text-sm prose-a:text-blue-500 focus:outline-none`
|
|
28289
28548
|
)
|
|
28290
28549
|
}
|
|
28291
28550
|
});
|
|
@@ -28301,6 +28560,7 @@ const createEditorActions = (editor) => ({
|
|
|
28301
28560
|
insertLink: (url) => editor?.chain().focus().setLink({ href: url }).run(),
|
|
28302
28561
|
toggleBulletList: () => editor?.chain().focus().toggleBulletList().run(),
|
|
28303
28562
|
toggleOrderedList: () => editor?.chain().focus().toggleOrderedList().run(),
|
|
28563
|
+
toggleBlockquote: () => editor?.chain().focus().toggleBlockquote().run(),
|
|
28304
28564
|
toggleCode: () => editor?.chain().focus().toggleCode().run(),
|
|
28305
28565
|
toggleCodeBlock: () => editor?.chain().focus().toggleCodeBlock().run(),
|
|
28306
28566
|
toggleTextAlign: (align) => editor?.chain().focus().setTextAlign(align).run(),
|
|
@@ -30126,8 +30386,9 @@ const generateHtmlPostPayload = ({
|
|
|
30126
30386
|
}) => {
|
|
30127
30387
|
const { html: html2, json } = getEditorData(editor);
|
|
30128
30388
|
const commons = getCommonPayload();
|
|
30129
|
-
|
|
30130
|
-
const
|
|
30389
|
+
const { text: body, json: truncatedJson } = truncateTextWithNodes(json, 80) ?? "";
|
|
30390
|
+
const { mentionData } = getMentionDataPayload(truncatedJson);
|
|
30391
|
+
console.log({ body, truncatedJson, mentionData });
|
|
30131
30392
|
const items = new Array(findFirstByType(json, "media")?.attrs?.payload).filter(
|
|
30132
30393
|
Boolean
|
|
30133
30394
|
);
|
|
@@ -30139,7 +30400,7 @@ const generateHtmlPostPayload = ({
|
|
|
30139
30400
|
items,
|
|
30140
30401
|
htmlBody,
|
|
30141
30402
|
sendCrossMention,
|
|
30142
|
-
mentionData
|
|
30403
|
+
mentionData
|
|
30143
30404
|
};
|
|
30144
30405
|
};
|
|
30145
30406
|
const generateMediaPostPayload = ({
|
|
@@ -30188,8 +30449,8 @@ const generatePollPostPayload = ({
|
|
|
30188
30449
|
const { items } = getPollItemsPayload(json);
|
|
30189
30450
|
const polls = items.length === 1 ? items.concat(items).map((item, index2) => ({
|
|
30190
30451
|
...item,
|
|
30191
|
-
key:
|
|
30192
|
-
option_id: index2 === 0 ? item.
|
|
30452
|
+
key: item?.key ?? v4(),
|
|
30453
|
+
option_id: index2 === 0 ? item.option_id : v4(),
|
|
30193
30454
|
option_color: OPTION_COLORS[index2 % OPTION_COLORS.length]
|
|
30194
30455
|
})) : items;
|
|
30195
30456
|
console.log({ polls });
|
|
@@ -30256,7 +30517,7 @@ const PostBuilderEditor = ({
|
|
|
30256
30517
|
/* @__PURE__ */ jsxRuntime.jsx(react.EditorContext.Provider, { value: providerValue, children: openModal ? /* @__PURE__ */ jsxRuntime.jsx(Dialog, { open: openModal, onOpenChange: onModalOpenChange, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
30257
30518
|
DialogContent,
|
|
30258
30519
|
{
|
|
30259
|
-
className: "bg-transparent shadow-none border-0 p-3 lg:max-w-4xl shrink-0
|
|
30520
|
+
className: "bg-transparent shadow-none border-0 p-3 lg:max-w-4xl shrink-0 max-h-[calc(100dvh-7rem)]! flex flex-col overflow-y-auto -translate-1/2",
|
|
30260
30521
|
showCloseButton: false,
|
|
30261
30522
|
children: [
|
|
30262
30523
|
/* @__PURE__ */ jsxRuntime.jsxs(DialogHeader, { children: [
|
|
@@ -30279,7 +30540,7 @@ const PostBuilderEditor = ({
|
|
|
30279
30540
|
)
|
|
30280
30541
|
]
|
|
30281
30542
|
}
|
|
30282
|
-
) }) : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 flex flex-col space-y-3 max-w-full max-h-[calc(100dvh-7rem)]", children: [
|
|
30543
|
+
) }) : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "prose-blockquote: flex-1 flex flex-col space-y-3 max-w-full max-h-[calc(100dvh-7rem)]", children: [
|
|
30283
30544
|
!hideGroupSelector && /* @__PURE__ */ jsxRuntime.jsx(GroupSelector, { user, store }),
|
|
30284
30545
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
30285
30546
|
PostBuilderEditorInstance,
|