@retailcrm/embed-ui 0.5.21 → 0.5.23-alpha.1

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/CHANGELOG.md CHANGED
@@ -1,6 +1,24 @@
1
1
  # Changelog
2
2
 
3
3
 
4
+ ## [0.5.23-alpha.1](https://github.com/retailcrm/embed-ui/compare/v0.5.22...v0.5.23-alpha.1) (2025-07-03)
5
+
6
+ ### Features
7
+
8
+ * Re-export of order items & settings contexts in the root package ([7b586dc](https://github.com/retailcrm/embed-ui/commit/7b586dcf8d3d6abaa6cee9f215c590a921598185))
9
+ * **v1-contexts:** Added context for order items ([030e47e](https://github.com/retailcrm/embed-ui/commit/030e47e25e60be89a2f7dc6b72e25746a7e91b02))
10
+ * **v1-contexts:** Added context for OrderItems ([6a93fa1](https://github.com/retailcrm/embed-ui/commit/6a93fa157eca56504b73f8ef526740e31f637acf))
11
+ * **v1-contexts:** Added contexts for order card settings ([a0fc9d7](https://github.com/retailcrm/embed-ui/commit/a0fc9d77edabc9dfec3ae5840ea6b684c99d8a06))
12
+ * **v1-types:** Added types for basic entities ([608acd7](https://github.com/retailcrm/embed-ui/commit/608acd7db36972b15d82b58607fbdcef53ec517e))
13
+ ## [0.5.22](https://github.com/retailcrm/embed-ui/compare/v0.5.21...v0.5.22) (2025-02-04)
14
+
15
+ ### Features
16
+
17
+ * Added new target customer/card:communications.after ([30fda6d](https://github.com/retailcrm/embed-ui/commit/30fda6d7f3b7261a6946af692aa58bd00f5540d8))
18
+
19
+ ### Bug Fixes
20
+
21
+ * **v1-components:** Missing floating-ui dependencies ([45836bd](https://github.com/retailcrm/embed-ui/commit/45836bd455d931d21bf4acdae1704a18cee19d13))
4
22
  ## [0.5.21](https://github.com/retailcrm/embed-ui/compare/v0.5.20...v0.5.21) (2025-02-03)
5
23
 
6
24
  ### Bug Fixes
package/dist/index.cjs CHANGED
@@ -8,6 +8,8 @@ const custom = require("@retailcrm/embed-ui-v1-contexts/remote/custom");
8
8
  const card = require("@retailcrm/embed-ui-v1-contexts/remote/customer/card");
9
9
  const cardPhone = require("@retailcrm/embed-ui-v1-contexts/remote/customer/card-phone");
10
10
  const card$1 = require("@retailcrm/embed-ui-v1-contexts/remote/order/card");
11
+ const cardItems = require("@retailcrm/embed-ui-v1-contexts/remote/order/card-items");
12
+ const cardSettings = require("@retailcrm/embed-ui-v1-contexts/remote/order/card-settings");
11
13
  const current = require("@retailcrm/embed-ui-v1-contexts/remote/user/current");
12
14
  const settings = require("@retailcrm/embed-ui-v1-contexts/remote/settings");
13
15
  const symfonyRouter = require("@omnicajs/symfony-router");
@@ -151,6 +153,22 @@ Object.defineProperty(exports, "useOrderCardContext", {
151
153
  enumerable: true,
152
154
  get: () => card$1.useContext
153
155
  });
156
+ Object.defineProperty(exports, "orderCardItemsSchema", {
157
+ enumerable: true,
158
+ get: () => cardItems.schema
159
+ });
160
+ Object.defineProperty(exports, "useOrderCardItemsContext", {
161
+ enumerable: true,
162
+ get: () => cardItems.useContext
163
+ });
164
+ Object.defineProperty(exports, "orderCardSettingsSchema", {
165
+ enumerable: true,
166
+ get: () => cardSettings.schema
167
+ });
168
+ Object.defineProperty(exports, "useOrderCardSettingsContext", {
169
+ enumerable: true,
170
+ get: () => cardSettings.useContext
171
+ });
154
172
  Object.defineProperty(exports, "currentUserSchema", {
155
173
  enumerable: true,
156
174
  get: () => current.schema
package/dist/index.mjs CHANGED
@@ -6,9 +6,11 @@ import { injectAccessor } from "@retailcrm/embed-ui-v1-contexts/remote/custom";
6
6
  import { schema, useContext } from "@retailcrm/embed-ui-v1-contexts/remote/customer/card";
7
7
  import { schema as schema2, useContext as useContext2 } from "@retailcrm/embed-ui-v1-contexts/remote/customer/card-phone";
8
8
  import { schema as schema3, useContext as useContext3 } from "@retailcrm/embed-ui-v1-contexts/remote/order/card";
9
- import { schema as schema4, useContext as useContext4 } from "@retailcrm/embed-ui-v1-contexts/remote/user/current";
10
- import { useContext as useContext5 } from "@retailcrm/embed-ui-v1-contexts/remote/settings";
11
- import { schema as schema5, useContext as useContext6 } from "@retailcrm/embed-ui-v1-contexts/remote/settings";
9
+ import { schema as schema4, useContext as useContext4 } from "@retailcrm/embed-ui-v1-contexts/remote/order/card-items";
10
+ import { schema as schema5, useContext as useContext5 } from "@retailcrm/embed-ui-v1-contexts/remote/order/card-settings";
11
+ import { schema as schema6, useContext as useContext6 } from "@retailcrm/embed-ui-v1-contexts/remote/user/current";
12
+ import { useContext as useContext7 } from "@retailcrm/embed-ui-v1-contexts/remote/settings";
13
+ import { schema as schema7, useContext as useContext8 } from "@retailcrm/embed-ui-v1-contexts/remote/settings";
12
14
  import { Router } from "@omnicajs/symfony-router";
13
15
  import { computed, shallowRef, watch } from "vue";
14
16
  const useField = (store, field, onReject = null) => {
@@ -51,7 +53,7 @@ const useHost = () => {
51
53
  const useRouter = () => {
52
54
  const stringify = JSON.stringify;
53
55
  const clone = (pojo) => JSON.parse(stringify(pojo));
54
- const settings = useContext5();
56
+ const settings = useContext7();
55
57
  const routing = shallowRef(clone(settings["system.routing"]));
56
58
  watch(() => settings["system.routing"], (changed) => {
57
59
  if (stringify(changed) !== stringify(routing.value)) {
@@ -128,18 +130,22 @@ const createWidgetEndpoint = (widget, messenger) => {
128
130
  };
129
131
  export {
130
132
  createWidgetEndpoint,
131
- schema4 as currentUserSchema,
133
+ schema6 as currentUserSchema,
132
134
  schema2 as customerCardPhoneSchema,
133
135
  schema as customerCardSchema,
136
+ schema4 as orderCardItemsSchema,
134
137
  schema3 as orderCardSchema,
135
- schema5 as settingsSchema,
136
- useContext4 as useCurrentUserContext,
138
+ schema5 as orderCardSettingsSchema,
139
+ schema7 as settingsSchema,
140
+ useContext6 as useCurrentUserContext,
137
141
  useCustomField,
138
142
  useContext as useCustomerCardContext,
139
143
  useContext2 as useCustomerCardPhoneContext,
140
144
  useField,
141
145
  useHost,
142
146
  useContext3 as useOrderCardContext,
147
+ useContext4 as useOrderCardItemsContext,
148
+ useContext5 as useOrderCardSettingsContext,
143
149
  useRouter,
144
- useContext6 as useSettingsContext
150
+ useContext8 as useSettingsContext
145
151
  };
package/dist/meta.json CHANGED
@@ -376,6 +376,208 @@
376
376
  "readonly": false
377
377
  }
378
378
  ],
379
+ "order/card:settings": [
380
+ {
381
+ "name": "changePriceTypeByPriority",
382
+ "type": "boolean",
383
+ "description": {
384
+ "en-GB": "Change price type for the order item when item quantity is changed",
385
+ "es-ES": "Cambiar el tipo de precio para el producto del pedido cuando se cambia la cantidad del producto",
386
+ "ru-RU": "Изменять тип цены для товара в заказе, при изменении количества товара"
387
+ },
388
+ "readonly": true
389
+ },
390
+ {
391
+ "name": "changePriceTypeIfUnavailable",
392
+ "type": "boolean",
393
+ "description": {
394
+ "en-GB": "Change the price type for the product/service in the order, if the current type is not available",
395
+ "es-ES": "Cambie el tipo de precio para el producto/servicio en el pedido, si el tipo actual no está disponible",
396
+ "ru-RU": "Изменять тип цены для товара в заказе, при изменении количества товара"
397
+ },
398
+ "readonly": true
399
+ },
400
+ {
401
+ "name": "defaultUnit",
402
+ "type": "string | null",
403
+ "description": {
404
+ "en-GB": "Default quantity unit of measurement",
405
+ "es-ES": "Unidad de medida de cantidad predeterminada",
406
+ "ru-RU": "Единица измерения количества по-умолчанию"
407
+ },
408
+ "readonly": true
409
+ },
410
+ {
411
+ "name": "duplicatesAllowed",
412
+ "type": "boolean",
413
+ "description": {
414
+ "en-GB": "Possibility of adding the same SKUs to the order as different items",
415
+ "es-ES": "La posibilidad de añadir las mismas variantes como diferentes productos al pedido",
416
+ "ru-RU": "Возможность добавлять в заказ одинаковые торговые предложения как разные позиции"
417
+ },
418
+ "readonly": true
419
+ },
420
+ {
421
+ "name": "quantityIsFractional",
422
+ "type": "boolean",
423
+ "description": {
424
+ "en-GB": "Integer or fractional quantity of items",
425
+ "es-ES": "Cantidad entera o fraccionada de productos",
426
+ "ru-RU": "Целое или дробное количество товара"
427
+ },
428
+ "readonly": true
429
+ },
430
+ {
431
+ "name": "priceEditable",
432
+ "type": "boolean",
433
+ "description": {
434
+ "en-GB": "Ability to edit item prices",
435
+ "es-ES": "Capacidad de editar precios de artículos",
436
+ "ru-RU": "Возможность редактировать цену товарных позиций"
437
+ },
438
+ "readonly": true
439
+ },
440
+ {
441
+ "name": "productsRemoveAllowed",
442
+ "type": "boolean",
443
+ "description": {
444
+ "en-GB": "Ability to delete items from the order",
445
+ "es-ES": "Posibilidad de eliminar artículos del pedido",
446
+ "ru-RU": "Возможность удалять товарные позиции из заказа"
447
+ },
448
+ "readonly": true
449
+ },
450
+ {
451
+ "name": "productsMarkingEnabled",
452
+ "type": "boolean",
453
+ "description": {
454
+ "en-GB": "Possibility of working with marked products",
455
+ "es-ES": "Posibilidad de trabajar con productos marcados",
456
+ "ru-RU": "Возможность работы с маркированными товарами"
457
+ },
458
+ "readonly": true
459
+ },
460
+ {
461
+ "name": "propertiesToShow.additional",
462
+ "type": "Array<string>",
463
+ "description": {
464
+ "en-GB": "Additional product fields displayed in the product list",
465
+ "es-ES": "Campos adicionales de productos que se muestran en la lista de productos",
466
+ "ru-RU": "Дополнительные поля товаров, выводимые в списке товарных позиций"
467
+ },
468
+ "readonly": true
469
+ },
470
+ {
471
+ "name": "propertiesToShow.base",
472
+ "type": "Array<string>",
473
+ "description": {
474
+ "en-GB": "Basic product fields displayed in the product list",
475
+ "es-ES": "Campos básicos de productos que se muestran en la lista de productos",
476
+ "ru-RU": "Базовые поля товаров, выводимые в списке товарных позиций"
477
+ },
478
+ "readonly": true
479
+ },
480
+ {
481
+ "name": "purchasePriceEditable",
482
+ "type": "boolean",
483
+ "description": {
484
+ "en-GB": "Ability to edit purchase prices in the product list",
485
+ "es-ES": "Capacidad de editar precios de compra en la lista de productos",
486
+ "ru-RU": "Возможность редактирования закупочных цен в списке товарных позиций"
487
+ },
488
+ "readonly": true
489
+ },
490
+ {
491
+ "name": "purchasePriceVisible",
492
+ "type": "boolean",
493
+ "description": {
494
+ "en-GB": "Display purchase prices in the product list",
495
+ "es-ES": "Mostrar precios de compra en la lista de productos",
496
+ "ru-RU": "Отображать закупочные цены в списке товарных позиций"
497
+ },
498
+ "readonly": true
499
+ },
500
+ {
501
+ "name": "reserveDeliveryNoteEditable",
502
+ "type": "boolean",
503
+ "description": {
504
+ "en-GB": "Ability to edit delivery note number when reserving products",
505
+ "es-ES": "Posibilidad de editar el número de albarán al reservar productos",
506
+ "ru-RU": "Возможность редактирования номера накладной при бронировании товаров"
507
+ },
508
+ "readonly": true
509
+ },
510
+ {
511
+ "name": "reserveInvoiceEditable",
512
+ "type": "boolean",
513
+ "description": {
514
+ "en-GB": "Ability to edit invoice number when reserving products",
515
+ "es-ES": "Posibilidad de editar el número de factura al reservar productos",
516
+ "ru-RU": "Возможность редактирования номера счет-фактуры при бронировании товара"
517
+ },
518
+ "readonly": true
519
+ },
520
+ {
521
+ "name": "reserveShipmentDateEditable",
522
+ "type": "boolean",
523
+ "description": {
524
+ "en-GB": "Ability to edit shipment date when reserving products",
525
+ "es-ES": "Posibilidad de editar la fecha de envío al reservar productos",
526
+ "ru-RU": "Возможность редактирования даты отгрузки при бронировании товара"
527
+ },
528
+ "readonly": true
529
+ },
530
+ {
531
+ "name": "reserveTelephonyEnabled",
532
+ "type": "boolean",
533
+ "description": {
534
+ "en-GB": "Telephony availability when reserving products",
535
+ "es-ES": "Disponibilidad de telefonía al reservar productos",
536
+ "ru-RU": "Доступность телефонии при бронировании товара"
537
+ },
538
+ "readonly": true
539
+ },
540
+ {
541
+ "name": "showArticle",
542
+ "type": "boolean",
543
+ "description": {
544
+ "en-GB": "Display SKU",
545
+ "es-ES": "Mostrar SKU",
546
+ "ru-RU": "Отображать артикул"
547
+ },
548
+ "readonly": true
549
+ },
550
+ {
551
+ "name": "showPriceTypes",
552
+ "type": "boolean",
553
+ "description": {
554
+ "en-GB": "Work with price types",
555
+ "es-ES": "Trabajo con tipos de precios",
556
+ "ru-RU": "Работа с типами цен"
557
+ },
558
+ "readonly": true
559
+ },
560
+ {
561
+ "name": "useStores",
562
+ "type": "boolean",
563
+ "description": {
564
+ "en-GB": "Work with warehouses",
565
+ "es-ES": "Trabajo con almacenes",
566
+ "ru-RU": "Работа со складами"
567
+ },
568
+ "readonly": true
569
+ },
570
+ {
571
+ "name": "useReserve",
572
+ "type": "boolean",
573
+ "description": {
574
+ "en-GB": "Work with reservations",
575
+ "es-ES": "Trabajo con reservas",
576
+ "ru-RU": "Работа с бронированием"
577
+ },
578
+ "readonly": true
579
+ }
580
+ ],
379
581
  "user/current": [
380
582
  {
381
583
  "name": "id",
@@ -530,7 +732,30 @@
530
732
  "user/current",
531
733
  "settings"
532
734
  ],
533
- "customContexts": []
735
+ "customContexts": [
736
+ "customer"
737
+ ]
738
+ },
739
+ {
740
+ "id": "customer/card:communications.after",
741
+ "description": {
742
+ "en-GB": "Widget for enhancing the communication section in the left column of the customer page.",
743
+ "es-ES": "Widget para ampliar la sección de comunicación en la columna izquierda de la página del cliente.",
744
+ "ru-RU": "Виджет для дополнения секции коммуникаций в левой колонке страницы клиента."
745
+ },
746
+ "location": {
747
+ "en-GB": "Right below the short summary, in the communication section",
748
+ "es-ES": "Justo debajo del resumen breve, en la sección de comunicación",
749
+ "ru-RU": "Сразу под краткой сводкой, в секции коммуникаций"
750
+ },
751
+ "contexts": [
752
+ "customer/card",
753
+ "user/current",
754
+ "settings"
755
+ ],
756
+ "customContexts": [
757
+ "customer"
758
+ ]
534
759
  },
535
760
  {
536
761
  "id": "order/card:common.before",
@@ -857,7 +1082,8 @@
857
1082
  "ru-RU": "Страница клиента"
858
1083
  },
859
1084
  "targets": [
860
- "customer/card:phone"
1085
+ "customer/card:phone",
1086
+ "customer/card:communications.after"
861
1087
  ]
862
1088
  },
863
1089
  {
@@ -899,6 +1125,10 @@
899
1125
  "import": "import { useContext } from '@retailcrm/embed-ui-v1-contexts/remote/order/card'",
900
1126
  "call": "const order = useContext()"
901
1127
  },
1128
+ "order/card:settings": {
1129
+ "import": "import { useContext } from '@retailcrm/embed-ui-v1-contexts/remote/order/card-settings'",
1130
+ "call": "const orderSettings = useContext()"
1131
+ },
902
1132
  "user/current": {
903
1133
  "import": "import { useContext } from '@retailcrm/embed-ui-v1-contexts/remote/user/current'",
904
1134
  "call": "const user = useContext()"
package/index.d.ts CHANGED
@@ -29,6 +29,8 @@ import type { Router } from '@omnicajs/symfony-router'
29
29
  import type { Schema as CustomerCardSchema } from '@retailcrm/embed-ui-v1-contexts/types/customer/card'
30
30
  import type { Schema as CustomerCardPhoneSchema } from '@retailcrm/embed-ui-v1-contexts/types/customer/card-phone'
31
31
  import type { Schema as OrderCardSchema } from '@retailcrm/embed-ui-v1-contexts/types/order/card'
32
+ import type { Schema as OrderCardItemsSchema } from '@retailcrm/embed-ui-v1-contexts/types/order/card-items'
33
+ import type { Schema as OrderCardSettingsSchema } from '@retailcrm/embed-ui-v1-contexts/types/order/card-settings'
32
34
  import type { Schema as CurrentUserSchema } from '@retailcrm/embed-ui-v1-contexts/types/user/current'
33
35
  import type { Schema as SettingsSchema } from '@retailcrm/embed-ui-v1-contexts/types/settings'
34
36
 
@@ -80,12 +82,16 @@ declare module 'pinia' {
80
82
  export declare const customerCardSchema: CustomerCardSchema
81
83
  export declare const customerCardPhoneSchema: CustomerCardPhoneSchema
82
84
  export declare const orderCardSchema: OrderCardSchema
85
+ export declare const orderCardItemsSchema: OrderCardItemsSchema
86
+ export declare const orderCardSettingsSchema: OrderCardSettingsSchema
83
87
  export declare const currentUserSchema: CurrentUserSchema
84
88
  export declare const settingsSchema: SettingsSchema
85
89
 
86
90
  export declare const useCustomerCardContext: ContextStoreDefinition<'customer/card', CustomerCardSchema>
87
91
  export declare const useCustomerCardPhoneContext: ContextStoreDefinition<'customer/card:phone', CustomerCardPhoneSchema>
88
92
  export declare const useOrderCardContext: ContextStoreDefinition<'order/card', OrderCardSchema>
93
+ export declare const useOrderCardItemsContext: ContextStoreDefinition<'order/card:items', OrderCardItemsSchema>
94
+ export declare const useOrderCardSettingsContext: ContextStoreDefinition<'order/card:settings', OrderCardSettingsSchema>
89
95
  export declare const useCurrentUserContext: ContextStoreDefinition<'user/current', CurrentUserSchema>
90
96
  export declare const useSettingsContext: ContextStoreDefinition<'settings', SettingsSchema>
91
97
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@retailcrm/embed-ui",
3
3
  "type": "module",
4
- "version": "0.5.21",
4
+ "version": "0.5.23-alpha.1",
5
5
  "description": "API and components for creating RetailCRM UI extensions",
6
6
  "repository": "git@github.com:retailcrm/embed-ui.git",
7
7
  "author": "RetailDriverLLC <integration@retailcrm.ru>",
@@ -40,14 +40,15 @@
40
40
  "@omnicajs/symfony-router": "^1.0.0",
41
41
  "@omnicajs/vue-remote": "^0.2.5",
42
42
  "@remote-ui/rpc": "^1.4.5",
43
- "@retailcrm/embed-ui-v1-contexts": "^0.5.21",
44
- "@retailcrm/embed-ui-v1-types": "^0.5.21"
43
+ "@retailcrm/embed-ui-v1-contexts": "^0.5.23-alpha.1",
44
+ "@retailcrm/embed-ui-v1-types": "^0.5.23-alpha.1"
45
45
  },
46
46
  "devDependencies": {
47
47
  "@eslint/eslintrc": "^3.0.2",
48
48
  "@eslint/js": "^9.13.0",
49
+ "@modulify/git-toolkit": "^0.0.2",
49
50
  "@modulify/pkg": "^1.0.1",
50
- "@retailcrm/embed-ui-v1-testing": "^0.5.21",
51
+ "@retailcrm/embed-ui-v1-testing": "^0.5.23-alpha.1",
51
52
  "@types/git-semver-tags": "^7.0.0",
52
53
  "@types/node": "^22.7.9",
53
54
  "@types/semver": "^7.5.8",
@@ -0,0 +1 @@
1
+ export type { Schema } from '@retailcrm/embed-ui-v1-contexts/types/order/card-items'
@@ -0,0 +1 @@
1
+ export type { Schema } from '@retailcrm/embed-ui-v1-contexts/types/order/card-settings'
package/types/widget.d.ts CHANGED
@@ -38,6 +38,11 @@ export type SchemaListByTarget = {
38
38
  | 'user/current'
39
39
  | 'settings'
40
40
  >;
41
+ 'customer/card:communications.after': Pick<SchemaList,
42
+ | 'customer/card'
43
+ | 'user/current'
44
+ | 'settings'
45
+ >,
41
46
  'order/card:common.before': Pick<SchemaList,
42
47
  | 'order/card'
43
48
  | 'user/current'