@retailcrm/embed-ui-v1-components 0.9.21 → 0.9.22-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.
Files changed (96) hide show
  1. package/AGENTS.md +3 -3
  2. package/README.md +3 -4
  3. package/assets/sprites/actions/add-square-outlined.svg +8 -0
  4. package/assets/sprites/actions/drag.svg +8 -0
  5. package/bin/embed-ui-v1-components.mjs +227 -50
  6. package/bin/postinstall.mjs +2 -1
  7. package/dist/host.cjs +1204 -488
  8. package/dist/host.css +629 -0
  9. package/dist/host.d.ts +100 -20
  10. package/dist/host.js +1205 -489
  11. package/dist/remote.cjs +1210 -153
  12. package/dist/remote.d.ts +786 -36
  13. package/dist/remote.js +1212 -155
  14. package/docs/AI.md +19 -20
  15. package/docs/COMPONENTS.md +58 -59
  16. package/docs/FORMAT.md +6 -8
  17. package/docs/PROFILES.md +34 -21
  18. package/docs/README.md +3 -6
  19. package/docs/profiles/{UiAddButton.yml → components/UiAddButton.yml} +49 -2
  20. package/docs/profiles/{UiAlert.yml → components/UiAlert.yml} +32 -2
  21. package/docs/profiles/{UiAvatar.yml → components/UiAvatar.yml} +17 -3
  22. package/docs/profiles/{UiAvatarList.yml → components/UiAvatarList.yml} +0 -2
  23. package/docs/profiles/{UiButton.yml → components/UiButton.yml} +14 -1
  24. package/docs/profiles/components/UiCalendar.yml +190 -0
  25. package/docs/profiles/{UiCheckbox.yml → components/UiCheckbox.yml} +28 -2
  26. package/docs/profiles/{UiCollapse.yml → components/UiCollapse.yml} +57 -2
  27. package/docs/profiles/{UiCollapseBox.yml → components/UiCollapseBox.yml} +64 -2
  28. package/docs/profiles/{UiCollapseGroup.yml → components/UiCollapseGroup.yml} +0 -2
  29. package/docs/profiles/{UiCopyButton.yml → components/UiCopyButton.yml} +19 -2
  30. package/docs/profiles/{UiDate.yml → components/UiDate.yml} +20 -2
  31. package/docs/profiles/{UiDatePicker.yml → components/UiDatePicker.yml} +51 -2
  32. package/docs/profiles/{UiError.yml → components/UiError.yml} +48 -2
  33. package/docs/profiles/{UiField.yml → components/UiField.yml} +46 -1
  34. package/docs/profiles/{UiInfobox.yml → components/UiInfobox.yml} +54 -2
  35. package/docs/profiles/{UiLink.yml → components/UiLink.yml} +22 -2
  36. package/docs/profiles/{UiLoader.yml → components/UiLoader.yml} +0 -2
  37. package/docs/profiles/{UiMenuItem.yml → components/UiMenuItem.yml} +0 -2
  38. package/docs/profiles/{UiMenuItemGroup.yml → components/UiMenuItemGroup.yml} +0 -2
  39. package/docs/profiles/{UiModalSidebar.yml → components/UiModalSidebar.yml} +80 -2
  40. package/docs/profiles/components/UiModalWindow.yml +181 -0
  41. package/docs/profiles/{UiModalWindowSurface.yml → components/UiModalWindowSurface.yml} +0 -2
  42. package/docs/profiles/{UiNumberStepper.yml → components/UiNumberStepper.yml} +14 -2
  43. package/docs/profiles/{UiPageHeader.yml → components/UiPageHeader.yml} +39 -1
  44. package/docs/profiles/components/UiPopconfirm.yml +164 -0
  45. package/docs/profiles/{UiPopper.yml → components/UiPopper.yml} +66 -1
  46. package/docs/profiles/{UiPopperConnector.yml → components/UiPopperConnector.yml} +0 -2
  47. package/docs/profiles/{UiPopperTarget.yml → components/UiPopperTarget.yml} +0 -2
  48. package/docs/profiles/{UiRadio.yml → components/UiRadio.yml} +15 -2
  49. package/docs/profiles/{UiRadioSwitch.yml → components/UiRadioSwitch.yml} +55 -1
  50. package/docs/profiles/{UiRadioSwitchOption.yml → components/UiRadioSwitchOption.yml} +0 -2
  51. package/docs/profiles/{UiScrollBox.yml → components/UiScrollBox.yml} +45 -2
  52. package/docs/profiles/{UiSelect.yml → components/UiSelect.yml} +133 -1
  53. package/docs/profiles/{UiSelectOption.yml → components/UiSelectOption.yml} +0 -2
  54. package/docs/profiles/{UiSelectOptionGroup.yml → components/UiSelectOptionGroup.yml} +0 -2
  55. package/docs/profiles/{UiSkeleton.yml → components/UiSkeleton.yml} +11 -2
  56. package/docs/profiles/{UiSlider.yml → components/UiSlider.yml} +85 -2
  57. package/docs/profiles/{UiSwitch.yml → components/UiSwitch.yml} +50 -2
  58. package/docs/profiles/{UiTab.yml → components/UiTab.yml} +126 -2
  59. package/docs/profiles/{UiTabGroup.yml → components/UiTabGroup.yml} +0 -1
  60. package/docs/profiles/components/UiTable.yml +622 -0
  61. package/docs/profiles/{UiTableBodyCell.yml → components/UiTableBodyCell.yml} +0 -2
  62. package/docs/profiles/{UiTableColumn.yml → components/UiTableColumn.yml} +0 -2
  63. package/docs/profiles/{UiTableFooterButton.yml → components/UiTableFooterButton.yml} +0 -2
  64. package/docs/profiles/{UiTableFooterSection.yml → components/UiTableFooterSection.yml} +0 -2
  65. package/docs/profiles/{UiTableHeadCell.yml → components/UiTableHeadCell.yml} +0 -2
  66. package/docs/profiles/{UiTableSorter.yml → components/UiTableSorter.yml} +0 -2
  67. package/docs/profiles/{UiTag.yml → components/UiTag.yml} +13 -2
  68. package/docs/profiles/{UiTextbox.yml → components/UiTextbox.yml} +20 -1
  69. package/docs/profiles/{UiTimePicker.yml → components/UiTimePicker.yml} +60 -2
  70. package/docs/profiles/{UiToggleButton.yml → components/UiToggleButton.yml} +16 -1
  71. package/docs/profiles/{UiToggleGroup.yml → components/UiToggleGroup.yml} +25 -1
  72. package/docs/profiles/{UiToggleGroupOption.yml → components/UiToggleGroupOption.yml} +0 -2
  73. package/docs/profiles/{UiToolbarButton.yml → components/UiToolbarButton.yml} +15 -2
  74. package/docs/profiles/{UiToolbarLink.yml → components/UiToolbarLink.yml} +13 -2
  75. package/docs/profiles/{UiTooltip.yml → components/UiTooltip.yml} +18 -2
  76. package/docs/profiles/{UiTransition.yml → components/UiTransition.yml} +0 -2
  77. package/docs/profiles/{UiYandexMap.yml → components/UiYandexMap.yml} +24 -2
  78. package/docs/profiles/pages/CardSettingsPage.yml +58 -0
  79. package/docs/profiles/pages/CollapseBlockPage.yml +46 -0
  80. package/docs/profiles/pages/EntityListPage.yml +66 -0
  81. package/docs/profiles/pages/ModalSidebar.yml +158 -0
  82. package/docs/profiles/pages/ModalWindow.yml +55 -0
  83. package/docs/profiles/pages/MultiColumnPage.yml +27 -0
  84. package/docs/profiles/pages/PageComposition.yml +56 -0
  85. package/package.json +1 -1
  86. package/docs/AGENT-DESIGN-GUIDELINES.md +0 -463
  87. package/docs/assets/page-guidelines/card-settings-page.png +0 -0
  88. package/docs/assets/page-guidelines/collapse-block-page.png +0 -0
  89. package/docs/assets/page-guidelines/entity-list-page.png +0 -0
  90. package/docs/assets/page-guidelines/modal-sidebar.png +0 -0
  91. package/docs/assets/page-guidelines/modal-window.png +0 -0
  92. package/docs/assets/page-guidelines/multi-column-page.png +0 -0
  93. package/docs/profiles/UiCalendar.yml +0 -76
  94. package/docs/profiles/UiImage.yml +0 -67
  95. package/docs/profiles/UiModalWindow.yml +0 -86
  96. package/docs/profiles/UiTable.yml +0 -300
@@ -2,13 +2,97 @@ component: UiSlider
2
2
  summary: >
3
3
  UiSlider is a range-selection control for single values or ranges on a numeric track.
4
4
  It supports single-handle and range-handle modes.
5
- usage: https://retailcrm.github.io/embed-ui/v1-components/0.9.18/?path=/docs/components-uislider--docs
6
5
 
7
6
  public_import:
8
7
  from: '@retailcrm/embed-ui-v1-components/remote'
9
8
  named:
10
9
  - UiSlider
11
10
 
11
+ examples:
12
+ - title: Basic slider
13
+ code: |
14
+ <template>
15
+ <UiSlider v-model:value="value" />
16
+ </template>
17
+
18
+ <script lang="ts" setup>
19
+ import { ref } from 'vue'
20
+ import { UiSlider } from '@retailcrm/embed-ui-v1-components/remote'
21
+
22
+ const value = ref(20)
23
+ </script>
24
+ - title: Range slider
25
+ code: |
26
+ <template>
27
+ <UiSlider
28
+ v-model:value="value"
29
+ type="range"
30
+ />
31
+ </template>
32
+
33
+ <script lang="ts" setup>
34
+ import { ref } from 'vue'
35
+ import { UiSlider } from '@retailcrm/embed-ui-v1-components/remote'
36
+
37
+ const value = ref<number[]>([20, 80])
38
+ </script>
39
+ - title: Bounded range slider
40
+ code: |
41
+ <template>
42
+ <UiSlider
43
+ v-model:value="value"
44
+ type="range"
45
+ :min="10"
46
+ :max="60"
47
+ />
48
+ </template>
49
+
50
+ <script lang="ts" setup>
51
+ import { ref } from 'vue'
52
+ import { UiSlider } from '@retailcrm/embed-ui-v1-components/remote'
53
+
54
+ const value = ref<number[]>([20, 80])
55
+ </script>
56
+ - title: Labelled range slider
57
+ code: |
58
+ <template>
59
+ <UiSlider
60
+ v-model:value="value"
61
+ type="range"
62
+ labelled
63
+ >
64
+ <template #label="{ boundary }">
65
+ {{ boundary }}%
66
+ </template>
67
+
68
+ <template #handle="{ boundary }">
69
+ {{ boundary }}%
70
+ </template>
71
+ </UiSlider>
72
+ </template>
73
+
74
+ <script lang="ts" setup>
75
+ import { ref } from 'vue'
76
+ import { UiSlider } from '@retailcrm/embed-ui-v1-components/remote'
77
+
78
+ const value = ref<number[]>([20, 80])
79
+ </script>
80
+ - title: Controlled slider
81
+ code: |
82
+ <template>
83
+ <UiSlider
84
+ :value="value"
85
+ @update:value="value = $event"
86
+ />
87
+
88
+ </template>
89
+
90
+ <script lang="ts" setup>
91
+ import { ref } from 'vue'
92
+ import { UiSlider } from '@retailcrm/embed-ui-v1-components/remote'
93
+
94
+ const value = ref(20)
95
+ </script>
12
96
  use_when:
13
97
  - You need compact ranged numeric selection.
14
98
  - You need one or two draggable handles on a track.
@@ -73,6 +157,5 @@ styling:
73
157
  notes:
74
158
  - Use documented props and slots as the primary styling API.
75
159
  - Internal .ui-v1-* classes are descriptive implementation details for reasoning and debugging unless a profile marks them as public theme hooks.
76
- - Use Storybook from the usage link to verify visual variants before generating custom layout around the component.
77
160
  root_classes:
78
161
  - .ui-v1-slider
@@ -2,13 +2,62 @@ component: UiSwitch
2
2
  summary: >
3
3
  UiSwitch is a compact boolean toggle control. It is the most concise choice for on or off state
4
4
  when checkbox semantics would feel visually heavy.
5
- usage: https://retailcrm.github.io/embed-ui/v1-components/0.9.18/?path=/docs/components-uiswitch--docs
6
5
 
7
6
  public_import:
8
7
  from: '@retailcrm/embed-ui-v1-components/remote'
9
8
  named:
10
9
  - UiSwitch
11
10
 
11
+ examples:
12
+ - title: Basic switch
13
+ code: |
14
+ <template>
15
+ <UiSwitch v-model:value="enabled" />
16
+ </template>
17
+
18
+ <script lang="ts" setup>
19
+ import { ref } from 'vue'
20
+ import { UiSwitch } from '@retailcrm/embed-ui-v1-components/remote'
21
+
22
+ const enabled = ref(false)
23
+ </script>
24
+ - title: Controlled switch
25
+ code: |
26
+ <template>
27
+ <UiSwitch
28
+ :value="enabled"
29
+ @update:value="enabled = $event"
30
+ />
31
+ </template>
32
+
33
+ <script lang="ts" setup>
34
+ import { ref } from 'vue'
35
+ import { UiSwitch } from '@retailcrm/embed-ui-v1-components/remote'
36
+
37
+ const enabled = ref(false)
38
+ </script>
39
+ - title: Disabled
40
+ code: |
41
+ <template>
42
+ <UiSwitch :value="true" disabled />
43
+ </template>
44
+
45
+ <script lang="ts" setup>
46
+ import { UiSwitch } from '@retailcrm/embed-ui-v1-components/remote'
47
+ </script>
48
+ - title: Square
49
+ code: |
50
+ <template>
51
+ <UiSwitch v-model:value="enabled" square />
52
+
53
+ </template>
54
+
55
+ <script lang="ts" setup>
56
+ import { ref } from 'vue'
57
+ import { UiSwitch } from '@retailcrm/embed-ui-v1-components/remote'
58
+
59
+ const enabled = ref(false)
60
+ </script>
12
61
  use_when:
13
62
  - You need a compact on or off toggle.
14
63
 
@@ -70,6 +119,5 @@ styling:
70
119
  notes:
71
120
  - Use documented props and slots as the primary styling API.
72
121
  - Internal .ui-v1-* classes are descriptive implementation details for reasoning and debugging unless a profile marks them as public theme hooks.
73
- - Use Storybook from the usage link to verify visual variants before generating custom layout around the component.
74
122
  root_classes:
75
123
  - .ui-v1-switch
@@ -3,7 +3,6 @@ summary: >
3
3
  UiTab is a declarative child node for UiTabGroup. It does not render meaningful
4
4
  standalone UI by itself; instead, UiTabGroup consumes its props and slots to build
5
5
  tab buttons, overflow menu items, and optional tab panel content.
6
- usage: https://retailcrm.github.io/embed-ui/v1-components/0.9.18/?path=/docs/components-uitab--docs
7
6
 
8
7
  public_import:
9
8
  from: '@retailcrm/embed-ui-v1-components/remote'
@@ -14,6 +13,132 @@ public_import:
14
13
  related_components:
15
14
  - UiTabGroup
16
15
 
16
+ examples:
17
+ - title: Tabs through `items`
18
+ code: |
19
+ <template>
20
+ <UiTabGroup
21
+ v-model:active-id="activeId"
22
+ :items="items"
23
+ overflowing
24
+ />
25
+ </template>
26
+
27
+ <script lang="ts" setup>
28
+ import { ref } from 'vue'
29
+ import { UiTabGroup } from '@retailcrm/embed-ui-v1-components/remote'
30
+
31
+ const activeId = ref('overview')
32
+
33
+ const items = [
34
+ { id: 'overview', label: 'Overview', counter: '8' },
35
+ { id: 'orders', label: 'Orders', counter: '12' },
36
+ { id: 'files', label: 'Files', counter: '3' },
37
+ ]
38
+ </script>
39
+ - title: Tabs through `UiTab`, slot icons, and panel content
40
+ code: |
41
+ <template>
42
+ <UiTabGroup
43
+ v-model:active-id="activeId"
44
+ overflowing
45
+ >
46
+ <UiTab
47
+ v-for="item in items"
48
+ :key="item.id"
49
+ :id="item.id"
50
+ :label="item.label"
51
+ :counter="item.counter"
52
+ :disabled="item.disabled"
53
+ >
54
+ <template #icon>
55
+ <IconStar />
56
+ </template>
57
+
58
+ <template #content>
59
+ <section>
60
+ <h4>{{ item.label }}</h4>
61
+ <p>Active panel content for the tab {{ item.label }}</p>
62
+ </section>
63
+ </template>
64
+ </UiTab>
65
+ </UiTabGroup>
66
+ </template>
67
+
68
+ <script lang="ts" setup>
69
+ import { ref } from 'vue'
70
+ import IconStar from '@retailcrm/embed-ui-v1-components/assets/sprites/actions/star.svg'
71
+ import {
72
+ UiTab,
73
+ UiTabGroup,
74
+ } from '@retailcrm/embed-ui-v1-components/remote'
75
+
76
+ const activeId = ref('overview')
77
+
78
+ const items = [
79
+ { id: 'overview', label: 'Overview', counter: '8' },
80
+ { id: 'orders', label: 'Orders', counter: '12' },
81
+ { id: 'files', label: 'Files', counter: '3' },
82
+ ]
83
+ </script>
84
+ - title: Filled tabs
85
+ code: |
86
+ <template>
87
+ <UiTabGroup
88
+ v-model:active-id="activeId"
89
+ appearance="filled"
90
+ >
91
+ <UiTab
92
+ v-for="item in items"
93
+ :key="item.id"
94
+ :id="item.id"
95
+ :label="item.label"
96
+ :counter="item.counter"
97
+ >
98
+ <template #icon>
99
+ <IconStar />
100
+ </template>
101
+ </UiTab>
102
+ </UiTabGroup>
103
+ </template>
104
+
105
+ <script lang="ts" setup>
106
+ import { ref } from 'vue'
107
+ import IconStar from '@retailcrm/embed-ui-v1-components/assets/sprites/actions/star.svg'
108
+ import { UiTab, UiTabGroup } from '@retailcrm/embed-ui-v1-components/remote'
109
+
110
+ const activeId = ref('overview')
111
+
112
+ const items = [
113
+ { id: 'overview', label: 'Overview', counter: '8' },
114
+ { id: 'orders', label: 'Orders', counter: '12' },
115
+ { id: 'files', label: 'Files', counter: '3' },
116
+ ]
117
+ </script>
118
+ - title: Overflow menu
119
+ code: |
120
+ <template>
121
+ <div style="width: 320px;">
122
+ <UiTabGroup
123
+ v-model:active-id="activeId"
124
+ :items="items"
125
+ overflowing
126
+ />
127
+ </div>
128
+ </template>
129
+
130
+ <script lang="ts" setup>
131
+ import { ref } from 'vue'
132
+ import { UiTabGroup } from '@retailcrm/embed-ui-v1-components/remote'
133
+
134
+ const activeId = ref('overview')
135
+
136
+ const items = [
137
+ { id: 'overview', label: 'Overview', counter: '8' },
138
+ { id: 'orders', label: 'Orders', counter: '12' },
139
+ { id: 'files', label: 'Files', counter: '3' },
140
+ ]
141
+ </script>
17
142
  use_when:
18
143
  - You need custom icon, label, counter, or content inside UiTabGroup.
19
144
  - You want each tab declaration to keep its header and panel content together.
@@ -107,4 +232,3 @@ styling:
107
232
  notes:
108
233
  - Use documented props and slots as the primary styling API.
109
234
  - Internal .ui-v1-* classes are descriptive implementation details for reasoning and debugging unless a profile marks them as public theme hooks.
110
- - Use Storybook from the usage link to verify visual variants before generating custom layout around the component.
@@ -3,7 +3,6 @@ summary: >
3
3
  UiTabGroup is the navigation container for UiTab children or simple tab items.
4
4
  It manages active tab selection by string id, keyboard navigation, optional overflow
5
5
  into a dropdown menu, and optional tabpanel rendering from the active UiTab content slot.
6
- usage: https://retailcrm.github.io/embed-ui/v1-components/0.9.18/?path=/docs/components-uitab--docs
7
6
 
8
7
  public_import:
9
8
  from: '@retailcrm/embed-ui-v1-components/remote'