@retailcrm/embed-ui-v1-components 0.9.21 → 0.9.22-alpha.2
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/AGENTS.md +3 -3
- package/README.md +3 -4
- package/assets/sprites/actions/add-square-outlined.svg +8 -0
- package/assets/sprites/actions/drag.svg +8 -0
- package/bin/embed-ui-v1-components.mjs +227 -50
- package/bin/postinstall.mjs +2 -1
- package/dist/host.cjs +1204 -488
- package/dist/host.css +629 -0
- package/dist/host.d.ts +100 -20
- package/dist/host.js +1205 -489
- package/dist/remote.cjs +1210 -153
- package/dist/remote.d.ts +786 -36
- package/dist/remote.js +1212 -155
- package/docs/AI.md +19 -20
- package/docs/COMPONENTS.md +58 -59
- package/docs/FORMAT.md +6 -8
- package/docs/PROFILES.md +34 -21
- package/docs/README.md +3 -6
- package/docs/profiles/{UiAddButton.yml → components/UiAddButton.yml} +49 -2
- package/docs/profiles/{UiAlert.yml → components/UiAlert.yml} +32 -2
- package/docs/profiles/{UiAvatar.yml → components/UiAvatar.yml} +17 -3
- package/docs/profiles/{UiAvatarList.yml → components/UiAvatarList.yml} +0 -2
- package/docs/profiles/{UiButton.yml → components/UiButton.yml} +14 -1
- package/docs/profiles/components/UiCalendar.yml +190 -0
- package/docs/profiles/{UiCheckbox.yml → components/UiCheckbox.yml} +28 -2
- package/docs/profiles/{UiCollapse.yml → components/UiCollapse.yml} +57 -2
- package/docs/profiles/{UiCollapseBox.yml → components/UiCollapseBox.yml} +64 -2
- package/docs/profiles/{UiCollapseGroup.yml → components/UiCollapseGroup.yml} +0 -2
- package/docs/profiles/{UiCopyButton.yml → components/UiCopyButton.yml} +19 -2
- package/docs/profiles/{UiDate.yml → components/UiDate.yml} +20 -2
- package/docs/profiles/{UiDatePicker.yml → components/UiDatePicker.yml} +51 -2
- package/docs/profiles/{UiError.yml → components/UiError.yml} +48 -2
- package/docs/profiles/{UiField.yml → components/UiField.yml} +46 -1
- package/docs/profiles/{UiInfobox.yml → components/UiInfobox.yml} +54 -2
- package/docs/profiles/{UiLink.yml → components/UiLink.yml} +22 -2
- package/docs/profiles/{UiLoader.yml → components/UiLoader.yml} +0 -2
- package/docs/profiles/{UiMenuItem.yml → components/UiMenuItem.yml} +0 -2
- package/docs/profiles/{UiMenuItemGroup.yml → components/UiMenuItemGroup.yml} +0 -2
- package/docs/profiles/{UiModalSidebar.yml → components/UiModalSidebar.yml} +80 -2
- package/docs/profiles/components/UiModalWindow.yml +181 -0
- package/docs/profiles/{UiModalWindowSurface.yml → components/UiModalWindowSurface.yml} +0 -2
- package/docs/profiles/{UiNumberStepper.yml → components/UiNumberStepper.yml} +14 -2
- package/docs/profiles/{UiPageHeader.yml → components/UiPageHeader.yml} +39 -1
- package/docs/profiles/components/UiPopconfirm.yml +164 -0
- package/docs/profiles/{UiPopper.yml → components/UiPopper.yml} +66 -1
- package/docs/profiles/{UiPopperConnector.yml → components/UiPopperConnector.yml} +0 -2
- package/docs/profiles/{UiPopperTarget.yml → components/UiPopperTarget.yml} +0 -2
- package/docs/profiles/{UiRadio.yml → components/UiRadio.yml} +15 -2
- package/docs/profiles/{UiRadioSwitch.yml → components/UiRadioSwitch.yml} +55 -1
- package/docs/profiles/{UiRadioSwitchOption.yml → components/UiRadioSwitchOption.yml} +0 -2
- package/docs/profiles/{UiScrollBox.yml → components/UiScrollBox.yml} +45 -2
- package/docs/profiles/{UiSelect.yml → components/UiSelect.yml} +133 -1
- package/docs/profiles/{UiSelectOption.yml → components/UiSelectOption.yml} +0 -2
- package/docs/profiles/{UiSelectOptionGroup.yml → components/UiSelectOptionGroup.yml} +0 -2
- package/docs/profiles/{UiSkeleton.yml → components/UiSkeleton.yml} +11 -2
- package/docs/profiles/{UiSlider.yml → components/UiSlider.yml} +85 -2
- package/docs/profiles/{UiSwitch.yml → components/UiSwitch.yml} +50 -2
- package/docs/profiles/{UiTab.yml → components/UiTab.yml} +126 -2
- package/docs/profiles/{UiTabGroup.yml → components/UiTabGroup.yml} +0 -1
- package/docs/profiles/components/UiTable.yml +622 -0
- package/docs/profiles/{UiTableBodyCell.yml → components/UiTableBodyCell.yml} +0 -2
- package/docs/profiles/{UiTableColumn.yml → components/UiTableColumn.yml} +0 -2
- package/docs/profiles/{UiTableFooterButton.yml → components/UiTableFooterButton.yml} +0 -2
- package/docs/profiles/{UiTableFooterSection.yml → components/UiTableFooterSection.yml} +0 -2
- package/docs/profiles/{UiTableHeadCell.yml → components/UiTableHeadCell.yml} +0 -2
- package/docs/profiles/{UiTableSorter.yml → components/UiTableSorter.yml} +0 -2
- package/docs/profiles/{UiTag.yml → components/UiTag.yml} +13 -2
- package/docs/profiles/{UiTextbox.yml → components/UiTextbox.yml} +20 -1
- package/docs/profiles/{UiTimePicker.yml → components/UiTimePicker.yml} +60 -2
- package/docs/profiles/{UiToggleButton.yml → components/UiToggleButton.yml} +16 -1
- package/docs/profiles/{UiToggleGroup.yml → components/UiToggleGroup.yml} +25 -1
- package/docs/profiles/{UiToggleGroupOption.yml → components/UiToggleGroupOption.yml} +0 -2
- package/docs/profiles/{UiToolbarButton.yml → components/UiToolbarButton.yml} +15 -2
- package/docs/profiles/{UiToolbarLink.yml → components/UiToolbarLink.yml} +13 -2
- package/docs/profiles/{UiTooltip.yml → components/UiTooltip.yml} +18 -2
- package/docs/profiles/{UiTransition.yml → components/UiTransition.yml} +0 -2
- package/docs/profiles/{UiYandexMap.yml → components/UiYandexMap.yml} +24 -2
- package/docs/profiles/pages/CardSettingsPage.yml +58 -0
- package/docs/profiles/pages/CollapseBlockPage.yml +46 -0
- package/docs/profiles/pages/EntityListPage.yml +66 -0
- package/docs/profiles/pages/ModalSidebar.yml +158 -0
- package/docs/profiles/pages/ModalWindow.yml +55 -0
- package/docs/profiles/pages/MultiColumnPage.yml +27 -0
- package/docs/profiles/pages/PageComposition.yml +56 -0
- package/package.json +1 -1
- package/docs/AGENT-DESIGN-GUIDELINES.md +0 -463
- package/docs/assets/page-guidelines/card-settings-page.png +0 -0
- package/docs/assets/page-guidelines/collapse-block-page.png +0 -0
- package/docs/assets/page-guidelines/entity-list-page.png +0 -0
- package/docs/assets/page-guidelines/modal-sidebar.png +0 -0
- package/docs/assets/page-guidelines/modal-window.png +0 -0
- package/docs/assets/page-guidelines/multi-column-page.png +0 -0
- package/docs/profiles/UiCalendar.yml +0 -76
- package/docs/profiles/UiImage.yml +0 -67
- package/docs/profiles/UiModalWindow.yml +0 -86
- 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'
|