@lmb-it/kitsconcerto-native 0.1.284 → 0.1.286
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/apps/mobile/src/Core/AutoComplete/index.cjs +12 -4
- package/apps/mobile/src/Core/AutoComplete/index.cjs.map +1 -1
- package/apps/mobile/src/Core/AutoComplete/index.js +12 -4
- package/apps/mobile/src/Core/AutoComplete/index.js.map +1 -1
- package/apps/mobile/src/Core/MultiSelect/index.cjs +7 -4
- package/apps/mobile/src/Core/MultiSelect/index.cjs.map +1 -1
- package/apps/mobile/src/Core/MultiSelect/index.js +7 -4
- package/apps/mobile/src/Core/MultiSelect/index.js.map +1 -1
- package/apps/mobile/src/ui/accordion/index.js +2 -2
- package/components/ImageCropper/compression.cjs +63 -0
- package/components/ImageCropper/compression.cjs.map +1 -0
- package/components/ImageCropper/compression.js +58 -0
- package/components/ImageCropper/compression.js.map +1 -0
- package/components/ImageCropper/constants.cjs +35 -0
- package/components/ImageCropper/constants.cjs.map +1 -0
- package/components/ImageCropper/constants.js +23 -0
- package/components/ImageCropper/constants.js.map +1 -0
- package/components/ImageCropper/cropperState.cjs +119 -0
- package/components/ImageCropper/cropperState.cjs.map +1 -0
- package/components/ImageCropper/cropperState.js +114 -0
- package/components/ImageCropper/cropperState.js.map +1 -0
- package/components/ImageCropper/encode.cjs +45 -0
- package/components/ImageCropper/encode.cjs.map +1 -0
- package/components/ImageCropper/encode.js +42 -0
- package/components/ImageCropper/encode.js.map +1 -0
- package/components/ImageCropper/encoderRegistry.cjs +13 -0
- package/components/ImageCropper/encoderRegistry.cjs.map +1 -0
- package/components/ImageCropper/encoderRegistry.js +9 -0
- package/components/ImageCropper/encoderRegistry.js.map +1 -0
- package/components/ImageCropper/encoders/rnImageEncoder.cjs +54 -0
- package/components/ImageCropper/encoders/rnImageEncoder.cjs.map +1 -0
- package/components/ImageCropper/encoders/rnImageEncoder.js +51 -0
- package/components/ImageCropper/encoders/rnImageEncoder.js.map +1 -0
- package/components/ImageCropper/geometry.cjs +208 -0
- package/components/ImageCropper/geometry.cjs.map +1 -0
- package/components/ImageCropper/geometry.js +186 -0
- package/components/ImageCropper/geometry.js.map +1 -0
- package/components/ImageCropper/index.cjs +436 -0
- package/components/ImageCropper/index.cjs.map +1 -0
- package/components/ImageCropper/index.js +434 -0
- package/components/ImageCropper/index.js.map +1 -0
- package/components/ImageCropper/pinchZoom.cjs +8 -0
- package/components/ImageCropper/pinchZoom.cjs.map +1 -0
- package/components/ImageCropper/pinchZoom.js +5 -0
- package/components/ImageCropper/pinchZoom.js.map +1 -0
- package/components/ImageCropper/useImageSource.cjs +87 -0
- package/components/ImageCropper/useImageSource.cjs.map +1 -0
- package/components/ImageCropper/useImageSource.js +84 -0
- package/components/ImageCropper/useImageSource.js.map +1 -0
- package/form/helpers/FormContainer/index.cjs +12 -2
- package/form/helpers/FormContainer/index.cjs.map +1 -1
- package/form/helpers/FormContainer/index.js +12 -2
- package/form/helpers/FormContainer/index.js.map +1 -1
- package/form/selects/AutoComplete/index.cjs +10 -1
- package/form/selects/AutoComplete/index.cjs.map +1 -1
- package/form/selects/AutoComplete/index.js +11 -2
- package/form/selects/AutoComplete/index.js.map +1 -1
- package/form/selects/MultiSelect/index.cjs +8 -1
- package/form/selects/MultiSelect/index.cjs.map +1 -1
- package/form/selects/MultiSelect/index.js +9 -2
- package/form/selects/MultiSelect/index.js.map +1 -1
- package/hooks/useComponentDefaults.cjs +62 -8
- package/hooks/useComponentDefaults.cjs.map +1 -1
- package/hooks/useComponentDefaults.js +62 -8
- package/hooks/useComponentDefaults.js.map +1 -1
- package/index.cjs +120 -115
- package/index.cjs.map +1 -1
- package/index.d.ts +494 -16
- package/index.js +2 -0
- package/index.js.map +1 -1
- package/package.json +13 -1
- package/packages/types/src/Theme/defaultTheme.cjs +135 -4
- package/packages/types/src/Theme/defaultTheme.cjs.map +1 -1
- package/packages/types/src/Theme/defaultTheme.js +135 -4
- package/packages/types/src/Theme/defaultTheme.js.map +1 -1
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lmb-it/kitsconcerto-native",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.286",
|
|
4
4
|
"description": "KitsConcerto — Native (React Native) UI components",
|
|
5
5
|
"main": "index.cjs",
|
|
6
6
|
"module": "index.js",
|
|
@@ -38,15 +38,24 @@
|
|
|
38
38
|
"yup-password": "^0.4.0"
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {
|
|
41
|
+
"@bam.tech/react-native-image-resizer": "^3.0.11",
|
|
42
|
+
"@react-native-community/image-editor": "^5.0.0",
|
|
41
43
|
"chart.js": "^4.5.0",
|
|
42
44
|
"jspdf": "^3.0.1",
|
|
43
45
|
"lucide-react": "^0.400.0 || ^1.0.0",
|
|
44
46
|
"react": "^19.0.0",
|
|
45
47
|
"react-native": ">=0.70.0",
|
|
48
|
+
"react-native-gesture-handler": ">=2.0.0",
|
|
46
49
|
"react-router-dom": "^7.9.4",
|
|
47
50
|
"xlsx": "^0.18.4"
|
|
48
51
|
},
|
|
49
52
|
"peerDependenciesMeta": {
|
|
53
|
+
"@bam.tech/react-native-image-resizer": {
|
|
54
|
+
"optional": true
|
|
55
|
+
},
|
|
56
|
+
"@react-native-community/image-editor": {
|
|
57
|
+
"optional": true
|
|
58
|
+
},
|
|
50
59
|
"chart.js": {
|
|
51
60
|
"optional": true
|
|
52
61
|
},
|
|
@@ -59,6 +68,9 @@
|
|
|
59
68
|
"react-native": {
|
|
60
69
|
"optional": true
|
|
61
70
|
},
|
|
71
|
+
"react-native-gesture-handler": {
|
|
72
|
+
"optional": true
|
|
73
|
+
},
|
|
62
74
|
"react-router-dom": {
|
|
63
75
|
"optional": true
|
|
64
76
|
},
|
|
@@ -797,10 +797,14 @@ const defaultTheme = {
|
|
|
797
797
|
},
|
|
798
798
|
itemDisabled: {
|
|
799
799
|
style: { color: "text-muted", opacity: 0.55, cursor: "not-allowed" }
|
|
800
|
-
}
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
800
|
+
},
|
|
801
|
+
/* ─── Chips (MultiSelect display="chip" AND Tags) ───────
|
|
802
|
+
⛔ THESE LIVE ON THE BASE GROUP BECAUSE TWO CONTROLS DRAW CHIPS
|
|
803
|
+
AND THEY DISAGREED. The values below used to sit under
|
|
804
|
+
`MultiSelect`, so MultiSelect drew a pill and the Tags field —
|
|
805
|
+
AutoComplete with `isMultiple`, which hardcoded its own
|
|
806
|
+
background+colour and read no slot at all — drew PrimeReact's
|
|
807
|
+
square token right next to it. One definition, both readers. */
|
|
804
808
|
token: {
|
|
805
809
|
style: {
|
|
806
810
|
backgroundColor: "brand-tint",
|
|
@@ -819,6 +823,22 @@ const defaultTheme = {
|
|
|
819
823
|
tokenIcon: {
|
|
820
824
|
style: { color: "brand-deep", marginLeft: 4, fontSize: 12, cursor: "pointer" }
|
|
821
825
|
},
|
|
826
|
+
/* ⚠️ THE CHIPS BOX IS FLAT BY DEFAULT, AND THAT IS NOT THE SAME AS
|
|
827
|
+
UNSTYLEABLE. `KitsContainer` already paints the `inputGroup`
|
|
828
|
+
border around the field, so a second border here would double it.
|
|
829
|
+
The slot exists so a consumer CAN paint it — an `attached` tags
|
|
830
|
+
field has no KitsContainer at all and needs to draw its own
|
|
831
|
+
chrome. See `IChipInputSlots.tokenContainer`. */
|
|
832
|
+
tokenContainer: {
|
|
833
|
+
style: {
|
|
834
|
+
backgroundColor: "transparent",
|
|
835
|
+
borderWidth: 0
|
|
836
|
+
}
|
|
837
|
+
}
|
|
838
|
+
},
|
|
839
|
+
// ─── MultiSelect (per-item checkbox slots; chips inherit
|
|
840
|
+
// from the Select base group above) ───────────────────
|
|
841
|
+
MultiSelect: {
|
|
822
842
|
checkboxBox: {
|
|
823
843
|
style: {
|
|
824
844
|
borderColor: "border-strong",
|
|
@@ -1182,6 +1202,117 @@ const defaultTheme = {
|
|
|
1182
1202
|
}
|
|
1183
1203
|
},
|
|
1184
1204
|
// ─── Sidebar ──────────────────────────────────────────
|
|
1205
|
+
// ─── ImageCropper ─────────────────────────────────
|
|
1206
|
+
// ⚠️ NUMBERS, NOT CSS STRINGS, FOR ANYTHING NATIVE ALSO READS — the
|
|
1207
|
+
// same rule `Input.inputGroup` carries: React Native's ViewStyle wants
|
|
1208
|
+
// `borderWidth: 1`, web treats the bare `1` as `1px`, and one shared
|
|
1209
|
+
// declaration then renders the same frame on both.
|
|
1210
|
+
ImageCropper: {
|
|
1211
|
+
root: {
|
|
1212
|
+
style: {
|
|
1213
|
+
backgroundColor: "surface-card",
|
|
1214
|
+
borderRadius: 16,
|
|
1215
|
+
overflow: "hidden"
|
|
1216
|
+
}
|
|
1217
|
+
},
|
|
1218
|
+
header: {
|
|
1219
|
+
style: {
|
|
1220
|
+
paddingLeft: 16,
|
|
1221
|
+
paddingRight: 16,
|
|
1222
|
+
paddingTop: 12,
|
|
1223
|
+
paddingBottom: 12,
|
|
1224
|
+
borderBottomWidth: 1,
|
|
1225
|
+
borderColor: "border"
|
|
1226
|
+
}
|
|
1227
|
+
},
|
|
1228
|
+
title: {
|
|
1229
|
+
style: { fontSize: 16, fontWeight: "600", fontColor: "text-primary" }
|
|
1230
|
+
},
|
|
1231
|
+
content: {
|
|
1232
|
+
style: { padding: 16, gap: 12 }
|
|
1233
|
+
},
|
|
1234
|
+
/* The stage. Dark on purpose: a photo reads against it in either
|
|
1235
|
+
colour mode, and a light stage makes every pale image look like
|
|
1236
|
+
it has no edges. */
|
|
1237
|
+
container: {
|
|
1238
|
+
style: {
|
|
1239
|
+
backgroundColor: "black-alpha-90",
|
|
1240
|
+
borderRadius: 12,
|
|
1241
|
+
overflow: "hidden"
|
|
1242
|
+
}
|
|
1243
|
+
},
|
|
1244
|
+
footer: {
|
|
1245
|
+
style: {
|
|
1246
|
+
paddingLeft: 16,
|
|
1247
|
+
paddingRight: 16,
|
|
1248
|
+
paddingTop: 12,
|
|
1249
|
+
paddingBottom: 12,
|
|
1250
|
+
borderTopWidth: 1,
|
|
1251
|
+
borderColor: "border",
|
|
1252
|
+
gap: 8
|
|
1253
|
+
}
|
|
1254
|
+
},
|
|
1255
|
+
icon: { style: { fontColor: "text-primary" } },
|
|
1256
|
+
text: { style: { fontSize: 12, fontColor: "text-secondary" } },
|
|
1257
|
+
/* ⛔ THE SCRIM IS AN ALPHA TOKEN, NOT A SOLID. `black-alpha-*` is
|
|
1258
|
+
literal in both colour modes — a scrim that inverted in dark mode
|
|
1259
|
+
would light UP the area the user is cropping away. */
|
|
1260
|
+
shade: { style: { backgroundColor: "black-alpha-60" } },
|
|
1261
|
+
cropWindow: { style: { borderWidth: 2, borderColor: "#FFFFFF" } },
|
|
1262
|
+
gridLine: { style: { backgroundColor: "white-alpha-40" } },
|
|
1263
|
+
handle: {
|
|
1264
|
+
style: {
|
|
1265
|
+
backgroundColor: "#FFFFFF",
|
|
1266
|
+
borderRadius: 2,
|
|
1267
|
+
width: 14,
|
|
1268
|
+
height: 14
|
|
1269
|
+
}
|
|
1270
|
+
},
|
|
1271
|
+
zoomChip: {
|
|
1272
|
+
style: {
|
|
1273
|
+
backgroundColor: "black-alpha-60",
|
|
1274
|
+
fontColor: "#FFFFFF",
|
|
1275
|
+
borderRadius: 999,
|
|
1276
|
+
paddingLeft: 10,
|
|
1277
|
+
paddingRight: 10,
|
|
1278
|
+
paddingTop: 2,
|
|
1279
|
+
paddingBottom: 2,
|
|
1280
|
+
fontSize: 12,
|
|
1281
|
+
fontWeight: "600"
|
|
1282
|
+
}
|
|
1283
|
+
},
|
|
1284
|
+
previewFrame: {
|
|
1285
|
+
style: {
|
|
1286
|
+
borderWidth: 1,
|
|
1287
|
+
borderColor: "border",
|
|
1288
|
+
borderRadius: 12,
|
|
1289
|
+
overflow: "hidden",
|
|
1290
|
+
backgroundColor: "bg-subtle"
|
|
1291
|
+
}
|
|
1292
|
+
},
|
|
1293
|
+
dropZone: {
|
|
1294
|
+
style: {
|
|
1295
|
+
borderWidth: 1,
|
|
1296
|
+
borderStyle: "dashed",
|
|
1297
|
+
borderColor: "border-strong",
|
|
1298
|
+
borderRadius: 12,
|
|
1299
|
+
backgroundColor: "bg-subtle",
|
|
1300
|
+
padding: 24
|
|
1301
|
+
}
|
|
1302
|
+
},
|
|
1303
|
+
progressFill: { style: { backgroundColor: "primary", height: 4 } },
|
|
1304
|
+
/* ⛔ THE SHAPE SLOT, AND IT CARRIES THE *RECTANGLE'S* RADIUS. The
|
|
1305
|
+
circle is NOT a 999 pill set here — `maskShape: 'circle'` makes
|
|
1306
|
+
the component use a true 50%, because a pill radius on a window
|
|
1307
|
+
that is wider than it is tall gives a STADIUM, not a circle.
|
|
1308
|
+
That is exactly what shipped for one render of the 16:9 cover
|
|
1309
|
+
story: 999 leaked out of this slot into the rectangle case and
|
|
1310
|
+
drew a lozenge. What belongs here is the corner rounding a
|
|
1311
|
+
RECTANGULAR window should have; the circle overrides it. */
|
|
1312
|
+
mask: { style: { borderRadius: 12 } },
|
|
1313
|
+
track: { style: { backgroundColor: "bg-accent", borderRadius: 999, height: 4 } },
|
|
1314
|
+
thumb: { style: { backgroundColor: "primary", borderRadius: 999 } }
|
|
1315
|
+
},
|
|
1185
1316
|
Sidebar: {
|
|
1186
1317
|
root: {
|
|
1187
1318
|
style: {
|