@retailcrm/embed-ui-v1-components 0.9.18 → 0.9.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/AGENTS.md +8 -0
  2. package/README.md +5 -1
  3. package/bin/embed-ui-v1-components.mjs +32 -24
  4. package/bin/postinstall.mjs +2 -2
  5. package/dist/host.cjs +19 -13
  6. package/dist/host.css +8 -10
  7. package/dist/host.d.ts +52 -58
  8. package/dist/host.js +19 -13
  9. package/dist/remote.cjs +110 -100
  10. package/dist/remote.d.ts +30 -36
  11. package/dist/remote.js +110 -100
  12. package/docs/AGENT-DESIGN-GUIDELINES.md +463 -0
  13. package/docs/AI.md +89 -6
  14. package/docs/FORMAT.md +11 -9
  15. package/docs/PROFILES.md +9 -5
  16. package/docs/README.md +14 -5
  17. package/docs/assets/page-guidelines/card-settings-page.png +0 -0
  18. package/docs/assets/page-guidelines/collapse-block-page.png +0 -0
  19. package/docs/assets/page-guidelines/entity-list-page.png +0 -0
  20. package/docs/assets/page-guidelines/modal-sidebar.png +0 -0
  21. package/docs/assets/page-guidelines/modal-window.png +0 -0
  22. package/docs/assets/page-guidelines/multi-column-page.png +0 -0
  23. package/docs/profiles/UiAddButton.yml +30 -0
  24. package/docs/profiles/UiAlert.yml +27 -0
  25. package/docs/profiles/UiAvatar.yml +26 -0
  26. package/docs/profiles/UiAvatarList.yml +28 -0
  27. package/docs/profiles/UiButton.yml +1 -8
  28. package/docs/profiles/UiCalendar.yml +28 -0
  29. package/docs/profiles/UiCheckbox.yml +32 -0
  30. package/docs/profiles/UiCollapse.yml +34 -0
  31. package/docs/profiles/UiCollapseBox.yml +30 -0
  32. package/docs/profiles/UiCollapseGroup.yml +26 -0
  33. package/docs/profiles/UiCopyButton.yml +35 -0
  34. package/docs/profiles/UiDate.yml +28 -0
  35. package/docs/profiles/UiDatePicker.yml +30 -0
  36. package/docs/profiles/UiError.yml +45 -0
  37. package/docs/profiles/UiField.yml +1 -15
  38. package/docs/profiles/UiImage.yml +28 -0
  39. package/docs/profiles/UiInfobox.yml +33 -0
  40. package/docs/profiles/UiLink.yml +40 -0
  41. package/docs/profiles/UiLoader.yml +35 -0
  42. package/docs/profiles/UiMenuItem.yml +38 -0
  43. package/docs/profiles/UiMenuItemGroup.yml +27 -0
  44. package/docs/profiles/UiModalSidebar.yml +32 -0
  45. package/docs/profiles/UiModalWindow.yml +42 -0
  46. package/docs/profiles/UiModalWindowSurface.yml +32 -0
  47. package/docs/profiles/UiNumberStepper.yml +36 -0
  48. package/docs/profiles/UiPageHeader.yml +1 -23
  49. package/docs/profiles/UiPopper.yml +1 -13
  50. package/docs/profiles/UiPopperConnector.yml +7 -25
  51. package/docs/profiles/UiPopperTarget.yml +7 -25
  52. package/docs/profiles/UiRadio.yml +40 -0
  53. package/docs/profiles/UiRadioSwitch.yml +1 -32
  54. package/docs/profiles/UiRadioSwitchOption.yml +9 -13
  55. package/docs/profiles/UiScrollBox.yml +34 -0
  56. package/docs/profiles/UiSelect.yml +1 -44
  57. package/docs/profiles/UiSelectOption.yml +32 -0
  58. package/docs/profiles/UiSelectOptionGroup.yml +30 -0
  59. package/docs/profiles/UiSkeleton.yml +32 -0
  60. package/docs/profiles/UiSlider.yml +40 -0
  61. package/docs/profiles/UiSwitch.yml +38 -0
  62. package/docs/profiles/UiTab.yml +7 -16
  63. package/docs/profiles/UiTabGroup.yml +1 -30
  64. package/docs/profiles/UiTable.yml +148 -0
  65. package/docs/profiles/UiTableBodyCell.yml +28 -0
  66. package/docs/profiles/UiTableColumn.yml +39 -0
  67. package/docs/profiles/UiTableFooterButton.yml +43 -0
  68. package/docs/profiles/UiTableFooterSection.yml +37 -0
  69. package/docs/profiles/UiTableHeadCell.yml +28 -0
  70. package/docs/profiles/UiTableSorter.yml +29 -0
  71. package/docs/profiles/UiTag.yml +38 -0
  72. package/docs/profiles/UiTextbox.yml +1 -32
  73. package/docs/profiles/UiTimePicker.yml +40 -0
  74. package/docs/profiles/UiToggleButton.yml +1 -11
  75. package/docs/profiles/UiToggleGroup.yml +1 -13
  76. package/docs/profiles/UiToggleGroupOption.yml +9 -11
  77. package/docs/profiles/UiToolbarButton.yml +37 -0
  78. package/docs/profiles/UiToolbarLink.yml +37 -0
  79. package/docs/profiles/UiTooltip.yml +38 -0
  80. package/docs/profiles/UiTransition.yml +37 -0
  81. package/docs/profiles/UiYandexMap.yml +53 -0
  82. package/package.json +15 -15
@@ -3,6 +3,7 @@ summary: >
3
3
  UiToggleGroupOption is the declarative option child of UiToggleGroup. It is the
4
4
  richer alternative to the plain options array and is used when one segment needs
5
5
  custom icon, custom label markup, or a non-trivial value.
6
+ usage: https://retailcrm.github.io/embed-ui/v1-components/0.9.18/?path=/docs/components-uitogglegroup--docs
6
7
 
7
8
  public_import:
8
9
  from: '@retailcrm/embed-ui-v1-components/remote'
@@ -96,17 +97,6 @@ composition:
96
97
  - title: Custom label content
97
98
  notes: Use label or default slot when the option needs richer inline markup.
98
99
 
99
- examples:
100
- - title: Icon option inside a group
101
- goal: Define one rich segmented option with icon content.
102
- code: |
103
- <UiToggleGroup v-model:model="filters" aria-label="Filters">
104
- <UiToggleGroupOption label="Files" value="files">
105
- <template #icon>
106
- <IconFile />
107
- </template>
108
- </UiToggleGroupOption>
109
- </UiToggleGroup>
110
100
 
111
101
  ai_notes:
112
102
  do:
@@ -114,3 +104,11 @@ ai_notes:
114
104
  - Prefer label prop for plain text and slots for richer content.
115
105
  avoid:
116
106
  - Do not use it as a standalone control outside UiToggleGroup.
107
+
108
+ styling:
109
+ notes:
110
+ - Use documented props and slots as the primary styling API.
111
+ - Internal .ui-v1-* classes are descriptive implementation details for reasoning and debugging unless a profile marks them as public theme hooks.
112
+ - Use Storybook from the usage link to verify visual variants before generating custom layout around the component.
113
+ root_classes:
114
+ - .ui-v1-toggle-button
@@ -2,6 +2,7 @@ component: UiToolbarButton
2
2
  summary: >
3
3
  UiToolbarButton is a compact button for toolbar zones. It shares action semantics with buttons
4
4
  but is tuned for dense toolbar layouts.
5
+ usage: https://retailcrm.github.io/embed-ui/v1-components/0.9.18/?path=/docs/components-uitoolbarbutton--docs
5
6
 
6
7
  public_import:
7
8
  from: '@retailcrm/embed-ui-v1-components/remote'
@@ -35,3 +36,39 @@ geometry:
35
36
  layout: compact toolbar action
36
37
  root_display: inline-block
37
38
  width_behavior: content-sized by default
39
+
40
+ behavior:
41
+ notes:
42
+ - Delegates button semantics to UiButton.
43
+ - Use for dense repeated toolbar actions, not primary form submission.
44
+
45
+ composition:
46
+ works_well_with:
47
+ - UiToolbarLink
48
+ - UiButton
49
+ patterns:
50
+ - title: Compact action strip
51
+ notes: Use for secondary actions near tables, editors, or filter bars.
52
+
53
+ ai_notes:
54
+ do:
55
+ - Use in toolbar zones where UiButton would be too visually heavy.
56
+ avoid:
57
+ - Do not use for the main page CTA; use UiButton.
58
+
59
+ accessibility:
60
+ notes:
61
+ - Prefer visible text labels for interactive controls.
62
+ - For icon-only or custom visual content, provide an accessible name through the supported label, title, or ARIA attributes exposed by the component.
63
+ - Preserve native keyboard semantics by using the component root instead of recreating the control with arbitrary markup.
64
+ keyboard:
65
+ - Tab moves focus to the control when it is focusable.
66
+ - Enter or Space activates native button-like controls when the host implementation renders a button.
67
+
68
+ styling:
69
+ notes:
70
+ - Use documented props and slots as the primary styling API.
71
+ - Internal .ui-v1-* classes are descriptive implementation details for reasoning and debugging unless a profile marks them as public theme hooks.
72
+ - Use Storybook from the usage link to verify visual variants before generating custom layout around the component.
73
+ root_classes:
74
+ - .ui-v1-button
@@ -1,6 +1,7 @@
1
1
  component: UiToolbarLink
2
2
  summary: >
3
3
  UiToolbarLink is a compact toolbar-oriented link. It is the link counterpart to UiToolbarButton.
4
+ usage: https://retailcrm.github.io/embed-ui/v1-components/0.9.18/?path=/docs/components-uitoolbarlink--docs
4
5
 
5
6
  public_import:
6
7
  from: '@retailcrm/embed-ui-v1-components/remote'
@@ -30,3 +31,39 @@ geometry:
30
31
  layout: compact toolbar link
31
32
  root_display: inline-flex
32
33
  width_behavior: content-sized by default
34
+
35
+ behavior:
36
+ notes:
37
+ - Delegates link semantics to UiLink.
38
+ - Use only for real navigation or link-shaped actions in dense toolbar areas.
39
+
40
+ composition:
41
+ works_well_with:
42
+ - UiToolbarButton
43
+ - UiLink
44
+ patterns:
45
+ - title: Toolbar navigation
46
+ notes: Use for compact links next to toolbar buttons when the action navigates.
47
+
48
+ ai_notes:
49
+ do:
50
+ - Use in toolbar zones when a compact real link is needed.
51
+ avoid:
52
+ - Do not use for ordinary inline content links; use UiLink.
53
+
54
+ accessibility:
55
+ notes:
56
+ - Prefer visible text labels for interactive controls.
57
+ - For icon-only or custom visual content, provide an accessible name through the supported label, title, or ARIA attributes exposed by the component.
58
+ - Preserve native keyboard semantics by using the component root instead of recreating the control with arbitrary markup.
59
+ keyboard:
60
+ - Tab moves focus to the control when it is focusable.
61
+ - Enter or Space activates native button-like controls when the host implementation renders a button.
62
+
63
+ styling:
64
+ notes:
65
+ - Use documented props and slots as the primary styling API.
66
+ - Internal .ui-v1-* classes are descriptive implementation details for reasoning and debugging unless a profile marks them as public theme hooks.
67
+ - Use Storybook from the usage link to verify visual variants before generating custom layout around the component.
68
+ root_classes:
69
+ - .ui-v1-link
@@ -2,6 +2,7 @@ component: UiTooltip
2
2
  summary: >
3
3
  UiTooltip is the tooltip-specialized floating layer built on top of popper mechanics.
4
4
  Use it for compact helper content anchored to one target.
5
+ usage: https://retailcrm.github.io/embed-ui/v1-components/0.9.18/?path=/docs/components-uitooltip--docs
5
6
 
6
7
  public_import:
7
8
  from: '@retailcrm/embed-ui-v1-components/remote'
@@ -41,3 +42,40 @@ geometry:
41
42
  ai_notes:
42
43
  do:
43
44
  - Use UiTooltip for tooltip semantics and UiPopper for lower-level floating behavior.
45
+ - Keep tooltip content short and non-essential.
46
+ avoid:
47
+ - Do not put forms, tables, or multi-step interactions in tooltips.
48
+
49
+ behavior:
50
+ notes:
51
+ - visible can control display explicitly.
52
+ - targetTriggers and popperTriggers define how the tooltip opens and closes.
53
+ - placement controls the preferred floating position.
54
+
55
+ composition:
56
+ works_well_with:
57
+ - UiPopperConnector
58
+ - UiPopperTarget
59
+ - UiButton
60
+ patterns:
61
+ - title: Icon helper
62
+ notes: Pair with an icon-only or compact control when a short explanation is needed.
63
+ - title: Truncated text hint
64
+ notes: Use to reveal full text only when the visible cell or label is intentionally truncated.
65
+
66
+ accessibility:
67
+ notes:
68
+ - Prefer visible text labels for interactive controls.
69
+ - For icon-only or custom visual content, provide an accessible name through the supported label, title, or ARIA attributes exposed by the component.
70
+ - Preserve native keyboard semantics by using the component root instead of recreating the control with arbitrary markup.
71
+ keyboard:
72
+ - Tab moves focus to the control when it is focusable.
73
+ - Enter or Space activates native button-like controls when the host implementation renders a button.
74
+
75
+ styling:
76
+ notes:
77
+ - Use documented props and slots as the primary styling API.
78
+ - Internal .ui-v1-* classes are descriptive implementation details for reasoning and debugging unless a profile marks them as public theme hooks.
79
+ - Use Storybook from the usage link to verify visual variants before generating custom layout around the component.
80
+ root_classes:
81
+ - .ui-v1-popper
@@ -2,6 +2,7 @@ component: UiTransition
2
2
  summary: >
3
3
  UiTransition is a transition wrapper for animated mount, unmount, and visibility flows.
4
4
  Use it to express motion without switching to raw transition markup.
5
+ usage: https://retailcrm.github.io/embed-ui/v1-components/0.9.18/?path=/docs/components-uialert--docs
5
6
 
6
7
  public_import:
7
8
  from: '@retailcrm/embed-ui-v1-components/remote'
@@ -25,3 +26,39 @@ geometry:
25
26
  layout: no standalone layout of its own
26
27
  root_display: none
27
28
  width_behavior: defined entirely by the transitioned child
29
+
30
+ api:
31
+ key_props:
32
+ - name: name
33
+ - name: appear
34
+
35
+ behavior:
36
+ notes:
37
+ - Adds transition semantics around the slotted child.
38
+ - Does not create layout or styling by itself.
39
+
40
+ composition:
41
+ works_well_with:
42
+ - UiAlert
43
+ - UiCollapse
44
+ - UiModalWindow
45
+ patterns:
46
+ - title: Animated presence
47
+ notes: Use when content should mount or unmount with the shared transition behavior.
48
+
49
+ ai_notes:
50
+ do:
51
+ - Use around one logical child whose own layout should remain responsible for size.
52
+ avoid:
53
+ - Do not use as a layout wrapper or visual container.
54
+
55
+ accessibility:
56
+ notes:
57
+ - Keep rendered text concise and meaningful for screen-reader users.
58
+ - Do not use this component as the only carrier of critical state if the state also needs form-level validation or focus management.
59
+
60
+ styling:
61
+ notes:
62
+ - Use documented props and slots as the primary styling API.
63
+ - Internal .ui-v1-* classes are descriptive implementation details for reasoning and debugging unless a profile marks them as public theme hooks.
64
+ - Use Storybook from the usage link to verify visual variants before generating custom layout around the component.
@@ -2,6 +2,7 @@ component: UiYandexMap
2
2
  summary: >
3
3
  UiYandexMap is the Yandex map component for map display and related location scenarios.
4
4
  Treat it as unstable for now and avoid it unless the screen explicitly requires a map surface.
5
+ usage: https://retailcrm.github.io/embed-ui/v1-components/0.9.18/?path=/docs/experimental-uiyandexmap--docs
5
6
 
6
7
  public_import:
7
8
  from: '@retailcrm/embed-ui-v1-components/remote'
@@ -27,3 +28,55 @@ geometry:
27
28
  layout: block-like map container
28
29
  root_display: flex
29
30
  width_behavior: stretches to container width by default
31
+
32
+ api:
33
+ key_props:
34
+ - name: apiKey
35
+ notes: Required Yandex Maps API key.
36
+ - name: address
37
+ notes: Address string used by the map and update channel.
38
+ - name: plugins
39
+ notes: Optional map plugins such as locator integration.
40
+ emits:
41
+ - name: update:address
42
+ - name: change
43
+
44
+ behavior:
45
+ notes:
46
+ - Depends on Yandex map runtime availability.
47
+ - Should be treated as a specialized surface, not a generic layout block.
48
+ - The current public API is address-oriented rather than marker-list oriented.
49
+
50
+ composition:
51
+ works_well_with:
52
+ - UiLoader
53
+ - UiAlert
54
+ patterns:
55
+ - title: Location display
56
+ notes: Use only when map interaction or spatial context is essential.
57
+ - title: Address-only view
58
+ notes: Prefer text address output when a map does not add actionable value.
59
+
60
+ ai_notes:
61
+ do:
62
+ - Use only for explicit map requirements.
63
+ - Provide a non-map fallback or error state when the map runtime can fail.
64
+ avoid:
65
+ - Do not add maps as decorative content.
66
+
67
+ accessibility:
68
+ notes:
69
+ - Prefer visible text labels for interactive controls.
70
+ - For icon-only or custom visual content, provide an accessible name through the supported label, title, or ARIA attributes exposed by the component.
71
+ - Preserve native keyboard semantics by using the component root instead of recreating the control with arbitrary markup.
72
+ keyboard:
73
+ - Tab moves focus to the control when it is focusable.
74
+ - Enter or Space activates native button-like controls when the host implementation renders a button.
75
+
76
+ styling:
77
+ notes:
78
+ - Use documented props and slots as the primary styling API.
79
+ - Internal .ui-v1-* classes are descriptive implementation details for reasoning and debugging unless a profile marks them as public theme hooks.
80
+ - Use Storybook from the usage link to verify visual variants before generating custom layout around the component.
81
+ root_classes:
82
+ - .ui-v1-yandex-map
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@retailcrm/embed-ui-v1-components",
3
3
  "bin": "./bin/embed-ui-v1-components.mjs",
4
4
  "type": "module",
5
- "version": "0.9.18",
5
+ "version": "0.9.21",
6
6
  "license": "MIT",
7
7
  "author": "RetailDriverLLC <integration@retailcrm.ru>",
8
8
  "repository": "git@github.com:retailcrm/embed-ui.git",
@@ -67,20 +67,20 @@
67
67
  "@retailcrm/image-preview": "^1.0.2",
68
68
  "date-fns": "^4.1.0",
69
69
  "lodash.isequal": "^4.5.0",
70
- "vue3-perfect-scrollbar": "^1.6.0"
70
+ "vue3-perfect-scrollbar": "^2.0.0"
71
71
  },
72
72
  "devDependencies": {
73
- "@storybook/addon-a11y": "^10.1.11",
74
- "@storybook/addon-docs": "^10.1.11",
75
- "@storybook/addon-links": "^10.1.11",
76
- "@storybook/addon-themes": "^10.1.11",
77
- "@storybook/builder-vite": "^10.1.11",
78
- "@storybook/vue3": "^10.1.11",
79
- "@storybook/vue3-vite": "^10.1.11",
73
+ "@storybook/addon-a11y": "^10.3.5",
74
+ "@storybook/addon-docs": "^10.3.5",
75
+ "@storybook/addon-links": "^10.3.5",
76
+ "@storybook/addon-themes": "^10.3.5",
77
+ "@storybook/builder-vite": "^10.3.5",
78
+ "@storybook/vue3": "^10.3.5",
79
+ "@storybook/vue3-vite": "^10.3.5",
80
80
  "@types/lodash.isequal": "^4.5.8",
81
81
  "@vitejs/plugin-vue": "^6.0.2",
82
- "@vitest/browser": "4.0.15",
83
- "@vitest/browser-playwright": "4.0.15",
82
+ "@vitest/browser": "4.1.3",
83
+ "@vitest/browser-playwright": "4.1.3",
84
84
  "@vue/compiler-sfc": "^3.5.25",
85
85
  "@vue/test-utils": "^2.4.6",
86
86
  "@yandex/ymaps3-types": "^1.0.19072130",
@@ -90,15 +90,15 @@
90
90
  "react": "^18.3.1",
91
91
  "react-dom": "^18.3.1",
92
92
  "remark-gfm": "^4.0.0",
93
- "storybook": "^10.1.11",
93
+ "storybook": "^10.3.5",
94
94
  "tsx": "^4.21.0",
95
95
  "typescript": "^5.9.3",
96
96
  "uuid": "^13.0.0",
97
- "vite": "^7.2.7",
97
+ "vite": "^7.3.2",
98
98
  "vite-plugin-dts": "^4.5.4",
99
99
  "vite-svg-loader": "^5.1.0",
100
- "vitest": "^4.0.15",
101
- "vue": "^3.5.25",
100
+ "vitest": "^4.1.3",
101
+ "vue": "^3.5.32",
102
102
  "vue-i18n": "10.0.8"
103
103
  }
104
104
  }