@vectoriox/iox-ui 5.51.0 → 5.53.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.
@@ -128,15 +128,19 @@ declare const SPEC_BUSINESS_TYPES: readonly [{
128
128
  readonly good: readonly [{
129
129
  readonly preset: "night-gallery";
130
130
  readonly reason: "Pictures sit on black, as in a darkened gallery.";
131
+ readonly reasonHe: "התמונות יושבות על שחור, כמו בגלריה חשוכה.";
131
132
  }, {
132
133
  readonly preset: "gallery-minimal";
133
134
  readonly reason: "White space and a quiet serif keep every eye on the photos.";
135
+ readonly reasonHe: "מרחב לבן וסריף שקט משאירים את כל תשומת הלב על התמונות.";
134
136
  }, {
135
137
  readonly preset: "frosted-portfolio";
136
138
  readonly reason: "Soft grey glass frames the pictures without competing.";
139
+ readonly reasonHe: "זכוכית אפורה ורכה ממסגרת את התמונות בלי להתחרות בהן.";
137
140
  }, {
138
141
  readonly preset: "swiss-grid";
139
142
  readonly reason: "A strict grid lines your photos up like contact sheets.";
143
+ readonly reasonHe: "גריד קפדני מסדר את התמונות כמו גיליון קונטקט.";
140
144
  }];
141
145
  readonly colour: {
142
146
  readonly mood: "black, white and one quiet accent";
@@ -186,15 +190,19 @@ declare const SPEC_BUSINESS_TYPES: readonly [{
186
190
  readonly good: readonly [{
187
191
  readonly preset: "gallery-minimal";
188
192
  readonly reason: "Calm white rooms let the materials show.";
193
+ readonly reasonHe: "חללים לבנים ורגועים נותנים לחומרים לבלוט.";
189
194
  }, {
190
195
  readonly preset: "quiet-luxury";
191
196
  readonly reason: "Warm bronze says considered and high-end.";
197
+ readonly reasonHe: "ברונזה חמה אומרת: מוקפד ויוקרתי.";
192
198
  }, {
193
199
  readonly preset: "warm-editorial";
194
200
  readonly reason: "Reads like a design magazine feature about your rooms.";
201
+ readonly reasonHe: "נקרא כמו כתבה במגזין עיצוב על החללים שלכם.";
195
202
  }, {
196
203
  readonly preset: "frosted-portfolio";
197
204
  readonly reason: "Light, airy panels around big project photos.";
205
+ readonly reasonHe: "משטחים בהירים ואווריריים סביב תמונות פרויקט גדולות.";
198
206
  }];
199
207
  readonly colour: {
200
208
  readonly mood: "warm neutrals with one material accent";
@@ -245,15 +253,19 @@ declare const SPEC_BUSINESS_TYPES: readonly [{
245
253
  readonly good: readonly [{
246
254
  readonly preset: "swiss-grid";
247
255
  readonly reason: "A strict grid and clean type, like a drawing set.";
256
+ readonly reasonHe: "גריד קפדני וטיפוגרפיה נקייה, כמו סט שרטוטים.";
248
257
  }, {
249
258
  readonly preset: "gallery-minimal";
250
259
  readonly reason: "Big images and generous margins, like a monograph.";
260
+ readonly reasonHe: "תמונות גדולות ושוליים נדיבים, כמו מונוגרפיה.";
251
261
  }, {
252
262
  readonly preset: "night-gallery";
253
263
  readonly reason: "Buildings at dusk on a dark page.";
264
+ readonly reasonHe: "בניינים בשעת דמדומים על דף כהה.";
254
265
  }, {
255
266
  readonly preset: "frosted-portfolio";
256
267
  readonly reason: "Soft glass over large project photos.";
268
+ readonly reasonHe: "זכוכית רכה מעל תמונות פרויקט גדולות.";
257
269
  }];
258
270
  readonly colour: {
259
271
  readonly mood: "monochrome and one accent";
@@ -305,15 +317,19 @@ declare const SPEC_BUSINESS_TYPES: readonly [{
305
317
  readonly good: readonly [{
306
318
  readonly preset: "zine";
307
319
  readonly reason: "Shows you take risks with type and colour.";
320
+ readonly reasonHe: "מראה שאתם לא מפחדים להעז בטיפוגרפיה ובצבע.";
308
321
  }, {
309
322
  readonly preset: "tech-studio";
310
323
  readonly reason: "Dark and exact, for digital work.";
324
+ readonly reasonHe: "כהה ומדויק, לעבודה דיגיטלית.";
311
325
  }, {
312
326
  readonly preset: "bold-maker";
313
327
  readonly reason: "Loud outlines that clients remember.";
328
+ readonly reasonHe: "קווי מתאר בולטים שלקוחות זוכרים.";
314
329
  }, {
315
330
  readonly preset: "swiss-grid";
316
331
  readonly reason: "Confident, classic design-studio grid.";
332
+ readonly reasonHe: "גריד בטוח וקלאסי של סטודיו לעיצוב.";
317
333
  }];
318
334
  readonly colour: {
319
335
  readonly mood: "bold primaries, artistic freedom";
@@ -355,15 +371,19 @@ declare const SPEC_BUSINESS_TYPES: readonly [{
355
371
  readonly good: readonly [{
356
372
  readonly preset: "zine";
357
373
  readonly reason: "Hand-made energy that suits an illustrator.";
374
+ readonly reasonHe: "אנרגיה של עבודת יד שמתאימה למאיירים.";
358
375
  }, {
359
376
  readonly preset: "gallery-minimal";
360
377
  readonly reason: "A white-cube gallery for your pieces.";
378
+ readonly reasonHe: "גלריה לבנה ונקייה ליצירות שלכם.";
361
379
  }, {
362
380
  readonly preset: "night-gallery";
363
381
  readonly reason: "Work glowing on a dark wall.";
382
+ readonly reasonHe: "היצירות זוהרות על קיר כהה.";
364
383
  }, {
365
384
  readonly preset: "warm-editorial";
366
385
  readonly reason: "Like a catalogue from a small gallery.";
386
+ readonly reasonHe: "כמו קטלוג של גלריה קטנה.";
367
387
  }];
368
388
  readonly colour: {
369
389
  readonly mood: "your work's own palette; a neutral page";
@@ -407,15 +427,19 @@ declare const SPEC_BUSINESS_TYPES: readonly [{
407
427
  readonly good: readonly [{
408
428
  readonly preset: "warm-editorial";
409
429
  readonly reason: "Cream and terracotta echo clay; a serif with a hand-made feel.";
430
+ readonly reasonHe: "שמנת וטרקוטה מהדהדים את החימר; סריף עם תחושה של עבודת יד.";
410
431
  }, {
411
432
  readonly preset: "bold-maker";
412
433
  readonly reason: "Proud, chunky outlines for a maker with a voice.";
434
+ readonly reasonHe: "קווי מתאר עבים וגאים ליוצרים עם קול משלהם.";
413
435
  }, {
414
436
  readonly preset: "corner-cafe";
415
437
  readonly reason: "Friendly and round for workshops and classes.";
438
+ readonly reasonHe: "ידידותי ועגול, לסדנאות ולחוגים.";
416
439
  }, {
417
440
  readonly preset: "gallery-minimal";
418
441
  readonly reason: "Pieces shown like objects in a gallery.";
442
+ readonly reasonHe: "העבודות מוצגות כמו חפצים בגלריה.";
419
443
  }];
420
444
  readonly colour: {
421
445
  readonly mood: "earth, clay and glaze";
@@ -458,15 +482,19 @@ declare const SPEC_BUSINESS_TYPES: readonly [{
458
482
  readonly good: readonly [{
459
483
  readonly preset: "quiet-luxury";
460
484
  readonly reason: "Bronze and serif: precious without shouting.";
485
+ readonly reasonHe: "ברונזה וסריף: יקר ערך בלי לצעוק.";
461
486
  }, {
462
487
  readonly preset: "gallery-minimal";
463
488
  readonly reason: "Each piece alone on white, like a vitrine.";
489
+ readonly reasonHe: "כל תכשיט לבד על לבן, כמו בוויטרינה.";
464
490
  }, {
465
491
  readonly preset: "night-gallery";
466
492
  readonly reason: "Metal and stones shine on black.";
493
+ readonly reasonHe: "מתכת ואבנים מנצנצות על שחור.";
467
494
  }, {
468
495
  readonly preset: "frosted-portfolio";
469
496
  readonly reason: "Soft glass, clean and premium.";
497
+ readonly reasonHe: "זכוכית רכה, נקי ויוקרתי.";
470
498
  }];
471
499
  readonly colour: {
472
500
  readonly mood: "black, gold, white";
@@ -510,15 +538,19 @@ declare const SPEC_BUSINESS_TYPES: readonly [{
510
538
  readonly good: readonly [{
511
539
  readonly preset: "ink-studio";
512
540
  readonly reason: "Black, sharp and orange: a studio with attitude.";
541
+ readonly reasonHe: "שחור, חד וכתום: סטודיו עם אופי.";
513
542
  }, {
514
543
  readonly preset: "after-dark";
515
544
  readonly reason: "Dark and bold, open late.";
545
+ readonly reasonHe: "כהה ונועז, פתוח עד מאוחר.";
516
546
  }, {
517
547
  readonly preset: "zine";
518
548
  readonly reason: "Flash-sheet energy.";
549
+ readonly reasonHe: "אנרגיה של דף פלאש.";
519
550
  }, {
520
551
  readonly preset: "night-gallery";
521
552
  readonly reason: "Your work on black, like a portfolio book.";
553
+ readonly reasonHe: "העבודות שלכם על שחור, כמו תיק עבודות מודפס.";
522
554
  }];
523
555
  readonly colour: {
524
556
  readonly mood: "black and one hot accent";
@@ -561,15 +593,19 @@ declare const SPEC_BUSINESS_TYPES: readonly [{
561
593
  readonly good: readonly [{
562
594
  readonly preset: "soft-spa";
563
595
  readonly reason: "Rose cream, a fine serif and slow motion: calm before they arrive.";
596
+ readonly reasonHe: "שמנת ורודה, סריף עדין ותנועה איטית: רוגע עוד לפני שמגיעים.";
564
597
  }, {
565
598
  readonly preset: "morning-glass";
566
599
  readonly reason: "Fresh, frosted and light.";
600
+ readonly reasonHe: "רענן, חלבי ובהיר.";
567
601
  }, {
568
602
  readonly preset: "quiet-luxury";
569
603
  readonly reason: "For a high-end spa: bronze and space.";
604
+ readonly reasonHe: "לספא יוקרתי: ברונזה והרבה מרחב.";
570
605
  }, {
571
606
  readonly preset: "garden-party";
572
607
  readonly reason: "Soft and warm, for a friendly day spa.";
608
+ readonly reasonHe: "רך וחם, לספא יום ידידותי.";
573
609
  }];
574
610
  readonly colour: {
575
611
  readonly mood: "soft pastels — pink, sage, cream — with gold";
@@ -622,15 +658,19 @@ declare const SPEC_BUSINESS_TYPES: readonly [{
622
658
  readonly good: readonly [{
623
659
  readonly preset: "soft-spa";
624
660
  readonly reason: "Elegant and soft for a beauty salon.";
661
+ readonly reasonHe: "אלגנטי ורך לסלון יופי.";
625
662
  }, {
626
663
  readonly preset: "coral-studio";
627
664
  readonly reason: "Bright and fun for a busy hair studio.";
665
+ readonly reasonHe: "בהיר וכיפי למספרה עמוסה.";
628
666
  }, {
629
667
  readonly preset: "garden-party";
630
668
  readonly reason: "Warm, friendly and a little romantic.";
669
+ readonly reasonHe: "חם, ידידותי וקצת רומנטי.";
631
670
  }, {
632
671
  readonly preset: "gallery-minimal";
633
672
  readonly reason: "Minimal and chic, lets the cuts speak.";
673
+ readonly reasonHe: "מינימלי ושיקי, נותן לתספורות לדבר.";
634
674
  }];
635
675
  readonly colour: {
636
676
  readonly mood: "soft pinks or warm coral";
@@ -677,15 +717,19 @@ declare const SPEC_BUSINESS_TYPES: readonly [{
677
717
  readonly good: readonly [{
678
718
  readonly preset: "morning-glass";
679
719
  readonly reason: "Fresh air and soft light, like a morning class.";
720
+ readonly reasonHe: "אוויר צח ואור רך, כמו שיעור בוקר.";
680
721
  }, {
681
722
  readonly preset: "soft-spa";
682
723
  readonly reason: "Calm and warm.";
724
+ readonly reasonHe: "רגוע וחם.";
683
725
  }, {
684
726
  readonly preset: "kind-community";
685
727
  readonly reason: "Open and welcoming for a community studio.";
728
+ readonly reasonHe: "פתוח ומזמין לסטודיו קהילתי.";
686
729
  }, {
687
730
  readonly preset: "fresh-practice";
688
731
  readonly reason: "Light and gentle.";
732
+ readonly reasonHe: "בהיר ועדין.";
689
733
  }];
690
734
  readonly colour: {
691
735
  readonly mood: "sage, terracotta, cream";
@@ -729,18 +773,23 @@ declare const SPEC_BUSINESS_TYPES: readonly [{
729
773
  readonly good: readonly [{
730
774
  readonly preset: "coral-studio";
731
775
  readonly reason: "Warm, energetic and bouncy.";
776
+ readonly reasonHe: "חם, אנרגטי וקופצני.";
732
777
  }, {
733
778
  readonly preset: "fresh-market";
734
779
  readonly reason: "Bright green energy.";
780
+ readonly reasonHe: "אנרגיה ירוקה ובהירה.";
735
781
  }, {
736
782
  readonly preset: "after-dark";
737
783
  readonly reason: "Dark and intense for a serious gym.";
784
+ readonly reasonHe: "כהה ואינטנסיבי לחדר כושר רציני.";
738
785
  }, {
739
786
  readonly preset: "bold-maker";
740
787
  readonly reason: "Loud and direct.";
788
+ readonly reasonHe: "רועש וישיר.";
741
789
  }, {
742
790
  readonly preset: "festival";
743
791
  readonly reason: "Poster energy for a dance or boxing studio.";
792
+ readonly reasonHe: "אנרגיה של פוסטר לסטודיו למחול או לאגרוף.";
744
793
  }];
745
794
  readonly colour: {
746
795
  readonly mood: "energetic orange or green";
@@ -784,15 +833,19 @@ declare const SPEC_BUSINESS_TYPES: readonly [{
784
833
  readonly good: readonly [{
785
834
  readonly preset: "fresh-practice";
786
835
  readonly reason: "Soft and reassuring; nothing sharp.";
836
+ readonly reasonHe: "רך ומרגיע; שום דבר חד.";
787
837
  }, {
788
838
  readonly preset: "morning-glass";
789
839
  readonly reason: "Calm, light and open.";
840
+ readonly reasonHe: "רגוע, בהיר ופתוח.";
790
841
  }, {
791
842
  readonly preset: "clear-care";
792
843
  readonly reason: "Clear and professional.";
844
+ readonly reasonHe: "ברור ומקצועי.";
793
845
  }, {
794
846
  readonly preset: "kind-community";
795
847
  readonly reason: "Warm and human.";
848
+ readonly reasonHe: "חם ואנושי.";
796
849
  }];
797
850
  readonly colour: {
798
851
  readonly mood: "calm pastels and trust colours";
@@ -840,15 +893,19 @@ declare const SPEC_BUSINESS_TYPES: readonly [{
840
893
  readonly good: readonly [{
841
894
  readonly preset: "clear-care";
842
895
  readonly reason: "Clean and readable; trust first.";
896
+ readonly reasonHe: "נקי וקריא; האמון קודם לכל.";
843
897
  }, {
844
898
  readonly preset: "fresh-practice";
845
899
  readonly reason: "Friendly, light and calm.";
900
+ readonly reasonHe: "ידידותי, בהיר ורגוע.";
846
901
  }, {
847
902
  readonly preset: "trusted-advisor";
848
903
  readonly reason: "Firm and professional.";
904
+ readonly reasonHe: "יציב ומקצועי.";
849
905
  }, {
850
906
  readonly preset: "morning-glass";
851
907
  readonly reason: "Modern and calm.";
908
+ readonly reasonHe: "עכשווי ורגוע.";
852
909
  }];
853
910
  readonly colour: {
854
911
  readonly mood: "medical blue and white";
@@ -901,12 +958,15 @@ declare const SPEC_BUSINESS_TYPES: readonly [{
901
958
  readonly good: readonly [{
902
959
  readonly preset: "fresh-practice";
903
960
  readonly reason: "Fresh blue and soft shapes: a friendly smile.";
961
+ readonly reasonHe: "כחול רענן וצורות רכות: חיוך ידידותי.";
904
962
  }, {
905
963
  readonly preset: "clear-care";
906
964
  readonly reason: "Clean and trustworthy.";
965
+ readonly reasonHe: "נקי ואמין.";
907
966
  }, {
908
967
  readonly preset: "morning-glass";
909
968
  readonly reason: "Bright and modern.";
969
+ readonly reasonHe: "בהיר ועכשווי.";
910
970
  }];
911
971
  readonly colour: {
912
972
  readonly mood: "fresh blue, white, a touch of yellow";
@@ -953,15 +1013,19 @@ declare const SPEC_BUSINESS_TYPES: readonly [{
953
1013
  readonly good: readonly [{
954
1014
  readonly preset: "little-ones";
955
1015
  readonly reason: "Round, warm and playful.";
1016
+ readonly reasonHe: "עגול, חם ושובב.";
956
1017
  }, {
957
1018
  readonly preset: "kind-community";
958
1019
  readonly reason: "Friendly and caring.";
1020
+ readonly reasonHe: "ידידותי ואכפתי.";
959
1021
  }, {
960
1022
  readonly preset: "fresh-practice";
961
1023
  readonly reason: "Clean and reassuring for a clinic.";
1024
+ readonly reasonHe: "נקי ומרגיע למרפאה.";
962
1025
  }, {
963
1026
  readonly preset: "clear-care";
964
1027
  readonly reason: "Professional, for a medical practice.";
1028
+ readonly reasonHe: "מקצועי, כיאה למרפאה.";
965
1029
  }];
966
1030
  readonly colour: {
967
1031
  readonly mood: "caring blue or teal, warm accents";
@@ -1004,15 +1068,19 @@ declare const SPEC_BUSINESS_TYPES: readonly [{
1004
1068
  readonly good: readonly [{
1005
1069
  readonly preset: "warm-editorial";
1006
1070
  readonly reason: "Warm paper and serif, like a printed menu.";
1071
+ readonly reasonHe: "נייר חם וסריף, כמו תפריט מודפס.";
1007
1072
  }, {
1008
1073
  readonly preset: "corner-cafe";
1009
1074
  readonly reason: "Friendly and casual.";
1075
+ readonly reasonHe: "ידידותי וקליל.";
1010
1076
  }, {
1011
1077
  readonly preset: "after-dark";
1012
1078
  readonly reason: "Dark and lively for an evening place.";
1079
+ readonly reasonHe: "כהה ותוסס למקום של ערב.";
1013
1080
  }, {
1014
1081
  readonly preset: "quiet-luxury";
1015
1082
  readonly reason: "For fine dining.";
1083
+ readonly reasonHe: "למסעדת שף.";
1016
1084
  }];
1017
1085
  readonly colour: {
1018
1086
  readonly mood: "warm — orange, red, brown";
@@ -1062,15 +1130,19 @@ declare const SPEC_BUSINESS_TYPES: readonly [{
1062
1130
  readonly good: readonly [{
1063
1131
  readonly preset: "corner-cafe";
1064
1132
  readonly reason: "Warm, round and cheerful.";
1133
+ readonly reasonHe: "חם, עגול ועליז.";
1065
1134
  }, {
1066
1135
  readonly preset: "warm-editorial";
1067
1136
  readonly reason: "Cream and brown, like a paper bag.";
1137
+ readonly reasonHe: "שמנת וחום, כמו שקית נייר.";
1068
1138
  }, {
1069
1139
  readonly preset: "fresh-market";
1070
1140
  readonly reason: "Bright and fresh for a juice or brunch spot.";
1141
+ readonly reasonHe: "בהיר ורענן למקום של מיצים או בראנץ'.";
1071
1142
  }, {
1072
1143
  readonly preset: "garden-party";
1073
1144
  readonly reason: "Soft and sweet for a patisserie.";
1145
+ readonly reasonHe: "רך ומתוק לקונדיטוריה.";
1074
1146
  }];
1075
1147
  readonly colour: {
1076
1148
  readonly mood: "warm brown, cream, appetising accents";
@@ -1117,15 +1189,19 @@ declare const SPEC_BUSINESS_TYPES: readonly [{
1117
1189
  readonly good: readonly [{
1118
1190
  readonly preset: "quiet-luxury";
1119
1191
  readonly reason: "Bronze and serif, like a good label.";
1192
+ readonly reasonHe: "ברונזה וסריף, כמו תווית טובה.";
1120
1193
  }, {
1121
1194
  readonly preset: "after-dark";
1122
1195
  readonly reason: "Dark and lively, open late.";
1196
+ readonly reasonHe: "כהה ותוסס, פתוח עד מאוחר.";
1123
1197
  }, {
1124
1198
  readonly preset: "warm-editorial";
1125
1199
  readonly reason: "Heritage and story.";
1200
+ readonly reasonHe: "מורשת וסיפור.";
1126
1201
  }, {
1127
1202
  readonly preset: "ink-studio";
1128
1203
  readonly reason: "Craft-beer attitude.";
1204
+ readonly reasonHe: "האופי של מבשלת בוטיק.";
1129
1205
  }];
1130
1206
  readonly colour: {
1131
1207
  readonly mood: "deep amber, burgundy, gold";
@@ -1172,15 +1248,19 @@ declare const SPEC_BUSINESS_TYPES: readonly [{
1172
1248
  readonly good: readonly [{
1173
1249
  readonly preset: "gallery-minimal";
1174
1250
  readonly reason: "Clean and chic; the products lead.";
1251
+ readonly reasonHe: "נקי ושיקי; המוצרים במרכז.";
1175
1252
  }, {
1176
1253
  readonly preset: "quiet-luxury";
1177
1254
  readonly reason: "Premium and calm.";
1255
+ readonly reasonHe: "יוקרתי ורגוע.";
1178
1256
  }, {
1179
1257
  readonly preset: "bold-maker";
1180
1258
  readonly reason: "A brand with a loud voice.";
1259
+ readonly reasonHe: "מותג עם קול חזק.";
1181
1260
  }, {
1182
1261
  readonly preset: "zine";
1183
1262
  readonly reason: "Indie and edgy.";
1263
+ readonly reasonHe: "אינדי ונועז.";
1184
1264
  }];
1185
1265
  readonly colour: {
1186
1266
  readonly mood: "your brand colour on a quiet page";
@@ -1222,15 +1302,19 @@ declare const SPEC_BUSINESS_TYPES: readonly [{
1222
1302
  readonly good: readonly [{
1223
1303
  readonly preset: "garden-party";
1224
1304
  readonly reason: "Soft, romantic and full of colour.";
1305
+ readonly reasonHe: "רך, רומנטי ומלא צבע.";
1225
1306
  }, {
1226
1307
  readonly preset: "kind-community";
1227
1308
  readonly reason: "Leaf green and friendly.";
1309
+ readonly reasonHe: "ירוק עלים וידידותי.";
1228
1310
  }, {
1229
1311
  readonly preset: "fresh-market";
1230
1312
  readonly reason: "Bright, like a flower stall.";
1313
+ readonly reasonHe: "בהיר, כמו דוכן פרחים.";
1231
1314
  }, {
1232
1315
  readonly preset: "soft-spa";
1233
1316
  readonly reason: "Elegant for a design florist.";
1317
+ readonly reasonHe: "אלגנטי לחנות פרחים מעוצבת.";
1234
1318
  }];
1235
1319
  readonly colour: {
1236
1320
  readonly mood: "natural green with floral pinks";
@@ -1273,15 +1357,19 @@ declare const SPEC_BUSINESS_TYPES: readonly [{
1273
1357
  readonly good: readonly [{
1274
1358
  readonly preset: "warm-editorial";
1275
1359
  readonly reason: "Warm and tactile, like a catalogue.";
1360
+ readonly reasonHe: "חם ומוחשי, כמו קטלוג.";
1276
1361
  }, {
1277
1362
  readonly preset: "gallery-minimal";
1278
1363
  readonly reason: "Clean and calm; each piece stands alone.";
1364
+ readonly reasonHe: "נקי ורגוע; כל פריט עומד בפני עצמו.";
1279
1365
  }, {
1280
1366
  readonly preset: "quiet-luxury";
1281
1367
  readonly reason: "Premium pieces deserve it.";
1368
+ readonly reasonHe: "פריטים יוקרתיים ראויים לזה.";
1282
1369
  }, {
1283
1370
  readonly preset: "frosted-portfolio";
1284
1371
  readonly reason: "Soft glass and space.";
1372
+ readonly reasonHe: "זכוכית רכה והרבה מרחב.";
1285
1373
  }];
1286
1374
  readonly colour: {
1287
1375
  readonly mood: "neutral interior palette, a material accent";
@@ -1324,15 +1412,19 @@ declare const SPEC_BUSINESS_TYPES: readonly [{
1324
1412
  readonly good: readonly [{
1325
1413
  readonly preset: "trusted-advisor";
1326
1414
  readonly reason: "Navy and plain type: serious and clear.";
1415
+ readonly reasonHe: "כחול כהה ואותיות פשוטות: רציני וברור.";
1327
1416
  }, {
1328
1417
  readonly preset: "swiss-grid";
1329
1418
  readonly reason: "Sharp and modern.";
1419
+ readonly reasonHe: "חד ועכשווי.";
1330
1420
  }, {
1331
1421
  readonly preset: "tech-studio";
1332
1422
  readonly reason: "For tech and data consultants.";
1423
+ readonly reasonHe: "ליועצי טכנולוגיה ודאטה.";
1333
1424
  }, {
1334
1425
  readonly preset: "clear-care";
1335
1426
  readonly reason: "Light and approachable.";
1427
+ readonly reasonHe: "בהיר ונגיש.";
1336
1428
  }];
1337
1429
  readonly colour: {
1338
1430
  readonly mood: "professional blue and neutral grey";
@@ -1377,15 +1469,19 @@ declare const SPEC_BUSINESS_TYPES: readonly [{
1377
1469
  readonly good: readonly [{
1378
1470
  readonly preset: "morning-glass";
1379
1471
  readonly reason: "Fresh and hopeful.";
1472
+ readonly reasonHe: "רענן ומלא תקווה.";
1380
1473
  }, {
1381
1474
  readonly preset: "trusted-advisor";
1382
1475
  readonly reason: "Credible for business coaching.";
1476
+ readonly reasonHe: "אמין לאימון עסקי.";
1383
1477
  }, {
1384
1478
  readonly preset: "warm-editorial";
1385
1479
  readonly reason: "Warm and personal, story-led.";
1480
+ readonly reasonHe: "חם ואישי, סביב הסיפור שלכם.";
1386
1481
  }, {
1387
1482
  readonly preset: "coral-studio";
1388
1483
  readonly reason: "Energetic and upbeat.";
1484
+ readonly reasonHe: "אנרגטי ואופטימי.";
1389
1485
  }];
1390
1486
  readonly colour: {
1391
1487
  readonly mood: "warm and hopeful";
@@ -1424,15 +1520,19 @@ declare const SPEC_BUSINESS_TYPES: readonly [{
1424
1520
  readonly good: readonly [{
1425
1521
  readonly preset: "trusted-advisor";
1426
1522
  readonly reason: "Navy and gold: authority without fuss.";
1523
+ readonly reasonHe: "כחול כהה וזהב: סמכותי בלי גינונים.";
1427
1524
  }, {
1428
1525
  readonly preset: "swiss-grid";
1429
1526
  readonly reason: "Precise and modern.";
1527
+ readonly reasonHe: "מדויק ועכשווי.";
1430
1528
  }, {
1431
1529
  readonly preset: "clear-care";
1432
1530
  readonly reason: "Clear and approachable.";
1531
+ readonly reasonHe: "ברור ונגיש.";
1433
1532
  }, {
1434
1533
  readonly preset: "quiet-luxury";
1435
1534
  readonly reason: "For a boutique firm.";
1535
+ readonly reasonHe: "למשרד בוטיק.";
1436
1536
  }];
1437
1537
  readonly colour: {
1438
1538
  readonly mood: "navy, gold, white";
@@ -1482,15 +1582,19 @@ declare const SPEC_BUSINESS_TYPES: readonly [{
1482
1582
  readonly good: readonly [{
1483
1583
  readonly preset: "holiday-light";
1484
1584
  readonly reason: "Bright glass and big photos.";
1585
+ readonly reasonHe: "זכוכית בהירה ותמונות גדולות.";
1485
1586
  }, {
1486
1587
  readonly preset: "trusted-advisor";
1487
1588
  readonly reason: "Professional and trustworthy.";
1589
+ readonly reasonHe: "מקצועי ואמין.";
1488
1590
  }, {
1489
1591
  readonly preset: "quiet-luxury";
1490
1592
  readonly reason: "For luxury property.";
1593
+ readonly reasonHe: "לנדל\"ן יוקרה.";
1491
1594
  }, {
1492
1595
  readonly preset: "frosted-portfolio";
1493
1596
  readonly reason: "Clean and modern.";
1597
+ readonly reasonHe: "נקי ועכשווי.";
1494
1598
  }];
1495
1599
  readonly colour: {
1496
1600
  readonly mood: "trust blue, gold, white";
@@ -1536,15 +1640,19 @@ declare const SPEC_BUSINESS_TYPES: readonly [{
1536
1640
  readonly good: readonly [{
1537
1641
  readonly preset: "kind-community";
1538
1642
  readonly reason: "Warm, open and welcoming.";
1643
+ readonly reasonHe: "חם, פתוח ומזמין.";
1539
1644
  }, {
1540
1645
  readonly preset: "clear-care";
1541
1646
  readonly reason: "Clear and credible.";
1647
+ readonly reasonHe: "ברור ואמין.";
1542
1648
  }, {
1543
1649
  readonly preset: "warm-editorial";
1544
1650
  readonly reason: "For telling stories.";
1651
+ readonly reasonHe: "לספר סיפורים.";
1545
1652
  }, {
1546
1653
  readonly preset: "little-ones";
1547
1654
  readonly reason: "For children's causes.";
1655
+ readonly reasonHe: "לעמותות למען ילדים.";
1548
1656
  }];
1549
1657
  readonly colour: {
1550
1658
  readonly mood: "cause colours, trust, warmth";
@@ -1583,15 +1691,19 @@ declare const SPEC_BUSINESS_TYPES: readonly [{
1583
1691
  readonly good: readonly [{
1584
1692
  readonly preset: "garden-party";
1585
1693
  readonly reason: "Romantic and warm for weddings.";
1694
+ readonly reasonHe: "רומנטי וחם לחתונות.";
1586
1695
  }, {
1587
1696
  readonly preset: "quiet-luxury";
1588
1697
  readonly reason: "Elegant for a premium venue.";
1698
+ readonly reasonHe: "אלגנטי לאולם יוקרתי.";
1589
1699
  }, {
1590
1700
  readonly preset: "after-dark";
1591
1701
  readonly reason: "Dark and lively for parties.";
1702
+ readonly reasonHe: "כהה ותוסס למסיבות.";
1592
1703
  }, {
1593
1704
  readonly preset: "festival";
1594
1705
  readonly reason: "Poster energy for festivals.";
1706
+ readonly reasonHe: "אנרגיה של פוסטר לפסטיבלים.";
1595
1707
  }];
1596
1708
  readonly colour: {
1597
1709
  readonly mood: "soft pink, gold, cream — or event colours";
@@ -1637,15 +1749,19 @@ declare const SPEC_BUSINESS_TYPES: readonly [{
1637
1749
  readonly good: readonly [{
1638
1750
  readonly preset: "holiday-light";
1639
1751
  readonly reason: "Sea-blue glass: makes people want to go.";
1752
+ readonly reasonHe: "זכוכית בכחול של ים: מעורר חשק לבוא.";
1640
1753
  }, {
1641
1754
  readonly preset: "quiet-luxury";
1642
1755
  readonly reason: "For a boutique hotel.";
1756
+ readonly reasonHe: "למלון בוטיק.";
1643
1757
  }, {
1644
1758
  readonly preset: "warm-editorial";
1645
1759
  readonly reason: "Warm and personal for a B&B.";
1760
+ readonly reasonHe: "חם ואישי לצימר.";
1646
1761
  }, {
1647
1762
  readonly preset: "morning-glass";
1648
1763
  readonly reason: "Fresh and calm.";
1764
+ readonly reasonHe: "רענן ורגוע.";
1649
1765
  }];
1650
1766
  readonly colour: {
1651
1767
  readonly mood: "warm neutrals, gold — or sea blue";
@@ -1691,15 +1807,19 @@ declare const SPEC_BUSINESS_TYPES: readonly [{
1691
1807
  readonly good: readonly [{
1692
1808
  readonly preset: "little-ones";
1693
1809
  readonly reason: "Playful and safe for children.";
1810
+ readonly reasonHe: "שובב ובטוח לילדים.";
1694
1811
  }, {
1695
1812
  readonly preset: "kind-community";
1696
1813
  readonly reason: "Warm and open.";
1814
+ readonly reasonHe: "חם ופתוח.";
1697
1815
  }, {
1698
1816
  readonly preset: "coral-studio";
1699
1817
  readonly reason: "Energetic for dance or music.";
1818
+ readonly reasonHe: "אנרגטי למחול או למוזיקה.";
1700
1819
  }, {
1701
1820
  readonly preset: "fresh-market";
1702
1821
  readonly reason: "Bright and lively.";
1822
+ readonly reasonHe: "בהיר ותוסס.";
1703
1823
  }];
1704
1824
  readonly colour: {
1705
1825
  readonly mood: "warm, energetic";
@@ -2094,6 +2214,8 @@ declare const isLookRule: (rule: AvoidRule) => rule is LookRule;
2094
2214
  interface GoodFit {
2095
2215
  readonly preset: string;
2096
2216
  readonly reason: string;
2217
+ /** The reason in Hebrew (2026-10-25). */
2218
+ readonly reasonHe: string;
2097
2219
  }
2098
2220
  interface BusinessType {
2099
2221
  readonly id: string;
@@ -2182,6 +2304,8 @@ interface RankedPreset {
2182
2304
  reasonKind: RankReason;
2183
2305
  /** In English, from the contract (the UI may localise `reasonKind` + `sharedMoods` instead). */
2184
2306
  reason: string;
2307
+ /** A good fit's reason in Hebrew (the contract has Hebrew for good fits; `presetReason` picks). */
2308
+ reasonHe?: string;
2185
2309
  sharedMoods: MoodId[];
2186
2310
  /** Catalogue position — ties keep it. */
2187
2311
  order: number;
@@ -2204,6 +2328,12 @@ declare const RANK_WEIGHTS: {
2204
2328
  * one the owner said to avoid. Ties keep catalogue order. With no matching type, moods alone order them.
2205
2329
  */
2206
2330
  declare function rankStylePresets(input: RankInput, presets?: ReadonlyArray<StylePreset>, types?: ReadonlyArray<BusinessType>): RankedPreset[];
2331
+ /**
2332
+ * The line a style's card shows (its title): why it sits where it does, else what the style is — in the studio's
2333
+ * language where the contract has it. Decided 2026-10-25: good fits and descriptions have Hebrew (the name stays a
2334
+ * proper name); a type's or the owner's advice and the shared-moods line are English in the contract yet.
2335
+ */
2336
+ declare function presetReason(ranked: RankedPreset, preset: StylePreset | undefined, locale: string | null | undefined): string;
2207
2337
  declare enum StyleReadSourceKind {
2208
2338
  Image = "image",
2209
2339
  Site = "site"
@@ -2442,6 +2572,21 @@ interface AnalysisContext {
2442
2572
  /** At most this many moods (the closed list a preset carries too). */
2443
2573
  declare const MAX_ANALYSIS_MOODS = 3;
2444
2574
  declare function validateSiteAnalysis(value: unknown, ctx: AnalysisContext): AnalysisValidation;
2575
+ /**
2576
+ * The structured-output schema a model is given to write a `SiteAnalysis` (AI plan §3c/§3d, M0-5): built from the
2577
+ * SAME shape table `validateSiteAnalysis` reads (keys, which are required, each key's explanation as its
2578
+ * description) and the same closed lists (30 business types, needs, facts, moods, avoids) — so the shape the model
2579
+ * is told about is the shape the gate refuses. Written to the strictest common subset of JSON Schema the providers'
2580
+ * native strict modes accept (Anthropic `output_config.format`, OpenRouter `json_schema` + `strict`): every object
2581
+ * closes with `additionalProperties: false`; no length, count or number bounds (the gate checks those). The
2582
+ * schema is a hint the provider enforces; `validateSiteAnalysis` stays the gate.
2583
+ */
2584
+ type JsonSchema = {
2585
+ [key: string]: unknown;
2586
+ };
2587
+ /** The name a provider shows the format under (`json_schema.name`). */
2588
+ declare const SITE_ANALYSIS_SCHEMA_NAME = "site_analysis";
2589
+ declare function siteAnalysisJsonSchema(): JsonSchema;
2445
2590
 
2446
2591
  /**
2447
2592
  * What the PLAN prompt is given (AI plan rev 3 §3f "Retrieval, not the whole knowledge base"): the one matched
@@ -2528,5 +2673,5 @@ interface StructureChoice {
2528
2673
  */
2529
2674
  declare function structureFor(typeId: string | null | undefined): StructureChoice;
2530
2675
 
2531
- export { ANIMATE_ADVICE_STEPS, AnalysisIssueCode, AnalysisLocale, AvoidCheck, BUSINESS_TYPES, BUSINESS_TYPE_IDS, BookingNeed, COPY_LENGTH_ORDER, CopyLength, HARNESS_SOURCE, LITTLE_MOVEMENT_AVOID, LITTLE_MOVEMENT_CAP, LintKind, MAX_ANALYSIS_MOODS, NEEDS, NEED_IDS, NeedSource, PresetFit, RANK_WEIGHTS, READ_ANIMATE, READ_WEIGHTS, RankReason, SPEC_ANALYSIS_SHAPE, SPEC_BUSINESS_TYPES, SPEC_HARNESS_EXAMPLES, SPEC_HARNESS_SOURCE, SPEC_NEEDS, SPEC_STRUCTURES, SPEC_USER_AVOIDS, STRUCTURES, StyleReadGround, StyleReadHeadings, StyleReadMotion, StyleReadSourceKind, USER_AVOID_IDS, VoiceFormality, VoicePerson, addressesIn, analysisPromptContext, businessTypeById, calmerChoice, inferNeeds, isLookRule, lintDesign, lookMatches, mapStyleRead, matchBusinessType, matchBusinessTypes, motionAdvice, motionFor, normalizeAddress, oklchHue, presetHasSerifHeadings, presetLook, rankStylePresets, rankWithReferences, structureFor, userAvoidRule, validateSiteAnalysis, withoutAddress };
2532
- export type { AnalysisContext, AnalysisIssue, AnalysisValidation, AvoidRule, BusinessType, BusinessTypeMatch, CheckRule, FactRead, GoodFit, LintFinding, LintSite, LookCondition, LookDesign, LookRule, MotionBasis, MotionInput, MotionStart, NeedDef, NeedId, PromptContext, PromptContextOptions, PromptSection, RankInput, RankedPreset, SiteAnalysis, SiteNeed, StructureChoice, StructureId, StyleHints, StyleRead, UserAvoidId };
2676
+ export { ANIMATE_ADVICE_STEPS, AnalysisIssueCode, AnalysisLocale, AvoidCheck, BUSINESS_TYPES, BUSINESS_TYPE_IDS, BookingNeed, COPY_LENGTH_ORDER, CopyLength, HARNESS_SOURCE, LITTLE_MOVEMENT_AVOID, LITTLE_MOVEMENT_CAP, LintKind, MAX_ANALYSIS_MOODS, NEEDS, NEED_IDS, NeedSource, PresetFit, RANK_WEIGHTS, READ_ANIMATE, READ_WEIGHTS, RankReason, SITE_ANALYSIS_SCHEMA_NAME, SPEC_ANALYSIS_SHAPE, SPEC_BUSINESS_TYPES, SPEC_HARNESS_EXAMPLES, SPEC_HARNESS_SOURCE, SPEC_NEEDS, SPEC_STRUCTURES, SPEC_USER_AVOIDS, STRUCTURES, StyleReadGround, StyleReadHeadings, StyleReadMotion, StyleReadSourceKind, USER_AVOID_IDS, VoiceFormality, VoicePerson, addressesIn, analysisPromptContext, businessTypeById, calmerChoice, inferNeeds, isLookRule, lintDesign, lookMatches, mapStyleRead, matchBusinessType, matchBusinessTypes, motionAdvice, motionFor, normalizeAddress, oklchHue, presetHasSerifHeadings, presetLook, presetReason, rankStylePresets, rankWithReferences, siteAnalysisJsonSchema, structureFor, userAvoidRule, validateSiteAnalysis, withoutAddress };
2677
+ export type { AnalysisContext, AnalysisIssue, AnalysisValidation, AvoidRule, BusinessType, BusinessTypeMatch, CheckRule, FactRead, GoodFit, JsonSchema, LintFinding, LintSite, LookCondition, LookDesign, LookRule, MotionBasis, MotionInput, MotionStart, NeedDef, NeedId, PromptContext, PromptContextOptions, PromptSection, RankInput, RankedPreset, SiteAnalysis, SiteNeed, StructureChoice, StructureId, StyleHints, StyleRead, UserAvoidId };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vectoriox/iox-ui",
3
- "version": "5.51.0",
3
+ "version": "5.53.0",
4
4
  "peerDependencies": {
5
5
  "@angular/common": ">=20.0.0",
6
6
  "@angular/core": ">=20.0.0",