@retailcrm/embed-ui-v1-components 0.9.19 → 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.
- package/AGENTS.md +9 -1
- package/README.md +5 -2
- 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 +231 -46
- package/bin/postinstall.mjs +3 -2
- package/dist/host.cjs +1223 -501
- package/dist/host.css +637 -10
- package/dist/host.d.ts +152 -78
- package/dist/host.js +1224 -502
- package/dist/remote.cjs +1358 -298
- package/dist/remote.d.ts +805 -67
- package/dist/remote.js +1360 -300
- package/docs/AI.md +99 -17
- package/docs/COMPONENTS.md +58 -59
- package/docs/FORMAT.md +10 -10
- package/docs/PROFILES.md +39 -22
- package/docs/README.md +11 -5
- package/docs/profiles/components/UiAddButton.yml +134 -0
- package/docs/profiles/components/UiAlert.yml +105 -0
- package/docs/profiles/components/UiAvatar.yml +88 -0
- package/docs/profiles/{UiAvatarList.yml → components/UiAvatarList.yml} +26 -0
- package/docs/profiles/{UiButton.yml → components/UiButton.yml} +14 -8
- package/docs/profiles/components/UiCalendar.yml +190 -0
- package/docs/profiles/components/UiCheckbox.yml +111 -0
- package/docs/profiles/components/UiCollapse.yml +129 -0
- package/docs/profiles/components/UiCollapseBox.yml +143 -0
- package/docs/profiles/{UiCollapseGroup.yml → components/UiCollapseGroup.yml} +24 -0
- package/docs/profiles/components/UiCopyButton.yml +104 -0
- package/docs/profiles/components/UiDate.yml +84 -0
- package/docs/profiles/components/UiDatePicker.yml +138 -0
- package/docs/profiles/components/UiError.yml +123 -0
- package/docs/profiles/{UiField.yml → components/UiField.yml} +46 -15
- package/docs/profiles/components/UiInfobox.yml +130 -0
- package/docs/profiles/components/UiLink.yml +111 -0
- package/docs/profiles/components/UiLoader.yml +71 -0
- package/docs/profiles/components/UiMenuItem.yml +93 -0
- package/docs/profiles/{UiMenuItemGroup.yml → components/UiMenuItemGroup.yml} +25 -0
- package/docs/profiles/components/UiModalSidebar.yml +156 -0
- package/docs/profiles/components/UiModalWindow.yml +181 -0
- package/docs/profiles/{UiModalWindowSurface.yml → components/UiModalWindowSurface.yml} +30 -0
- package/docs/profiles/components/UiNumberStepper.yml +100 -0
- package/docs/profiles/{UiPageHeader.yml → components/UiPageHeader.yml} +39 -23
- package/docs/profiles/components/UiPopconfirm.yml +164 -0
- package/docs/profiles/{UiPopper.yml → components/UiPopper.yml} +66 -13
- package/docs/profiles/{UiPopperConnector.yml → components/UiPopperConnector.yml} +5 -25
- package/docs/profiles/{UiPopperTarget.yml → components/UiPopperTarget.yml} +5 -25
- package/docs/profiles/components/UiRadio.yml +91 -0
- package/docs/profiles/{UiRadioSwitch.yml → components/UiRadioSwitch.yml} +55 -32
- package/docs/profiles/{UiRadioSwitchOption.yml → components/UiRadioSwitchOption.yml} +7 -13
- package/docs/profiles/components/UiScrollBox.yml +108 -0
- package/docs/profiles/{UiSelect.yml → components/UiSelect.yml} +133 -44
- package/docs/profiles/components/UiSelectOption.yml +74 -0
- package/docs/profiles/components/UiSelectOptionGroup.yml +66 -0
- package/docs/profiles/components/UiSkeleton.yml +82 -0
- package/docs/profiles/components/UiSlider.yml +161 -0
- package/docs/profiles/components/UiSwitch.yml +123 -0
- package/docs/profiles/components/UiTab.yml +234 -0
- package/docs/profiles/{UiTabGroup.yml → components/UiTabGroup.yml} +0 -30
- package/docs/profiles/components/UiTable.yml +622 -0
- package/docs/profiles/{UiTableBodyCell.yml → components/UiTableBodyCell.yml} +26 -0
- package/docs/profiles/components/UiTableColumn.yml +87 -0
- package/docs/profiles/components/UiTableFooterButton.yml +85 -0
- package/docs/profiles/components/UiTableFooterSection.yml +73 -0
- package/docs/profiles/{UiTableHeadCell.yml → components/UiTableHeadCell.yml} +26 -0
- package/docs/profiles/{UiTableSorter.yml → components/UiTableSorter.yml} +27 -0
- package/docs/profiles/components/UiTag.yml +90 -0
- package/docs/profiles/{UiTextbox.yml → components/UiTextbox.yml} +20 -32
- package/docs/profiles/components/UiTimePicker.yml +144 -0
- package/docs/profiles/{UiToggleButton.yml → components/UiToggleButton.yml} +16 -11
- package/docs/profiles/{UiToggleGroup.yml → components/UiToggleGroup.yml} +25 -13
- package/docs/profiles/{UiToggleGroupOption.yml → components/UiToggleGroupOption.yml} +7 -11
- package/docs/profiles/components/UiToolbarButton.yml +87 -0
- package/docs/profiles/components/UiToolbarLink.yml +80 -0
- package/docs/profiles/components/UiTooltip.yml +97 -0
- package/docs/profiles/components/UiTransition.yml +62 -0
- package/docs/profiles/components/UiYandexMap.yml +104 -0
- 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 +15 -15
- package/docs/profiles/UiAddButton.yml +0 -57
- package/docs/profiles/UiAlert.yml +0 -48
- package/docs/profiles/UiAvatar.yml +0 -48
- package/docs/profiles/UiCalendar.yml +0 -48
- package/docs/profiles/UiCheckbox.yml +0 -53
- package/docs/profiles/UiCollapse.yml +0 -40
- package/docs/profiles/UiCollapseBox.yml +0 -51
- package/docs/profiles/UiCopyButton.yml +0 -52
- package/docs/profiles/UiDate.yml +0 -38
- package/docs/profiles/UiDatePicker.yml +0 -59
- package/docs/profiles/UiError.yml +0 -32
- package/docs/profiles/UiImage.yml +0 -39
- package/docs/profiles/UiInfobox.yml +0 -45
- package/docs/profiles/UiLink.yml +0 -51
- package/docs/profiles/UiLoader.yml +0 -38
- package/docs/profiles/UiMenuItem.yml +0 -57
- package/docs/profiles/UiModalSidebar.yml +0 -46
- package/docs/profiles/UiModalWindow.yml +0 -44
- package/docs/profiles/UiNumberStepper.yml +0 -52
- package/docs/profiles/UiRadio.yml +0 -38
- package/docs/profiles/UiScrollBox.yml +0 -31
- package/docs/profiles/UiSelectOption.yml +0 -44
- package/docs/profiles/UiSelectOptionGroup.yml +0 -38
- package/docs/profiles/UiSkeleton.yml +0 -41
- package/docs/profiles/UiSlider.yml +0 -38
- package/docs/profiles/UiSwitch.yml +0 -37
- package/docs/profiles/UiTab.yml +0 -119
- package/docs/profiles/UiTable.yml +0 -152
- package/docs/profiles/UiTableColumn.yml +0 -50
- package/docs/profiles/UiTableFooterButton.yml +0 -44
- package/docs/profiles/UiTableFooterSection.yml +0 -38
- package/docs/profiles/UiTag.yml +0 -41
- package/docs/profiles/UiTimePicker.yml +0 -46
- package/docs/profiles/UiToolbarButton.yml +0 -37
- package/docs/profiles/UiToolbarLink.yml +0 -32
- package/docs/profiles/UiTooltip.yml +0 -43
- package/docs/profiles/UiTransition.yml +0 -27
- package/docs/profiles/UiYandexMap.yml +0 -29
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
component: UiSelectOption
|
|
2
|
-
summary: >
|
|
3
|
-
UiSelectOption is the base selectable child of UiSelect. It represents one option node
|
|
4
|
-
in the select option tree.
|
|
5
|
-
|
|
6
|
-
public_import:
|
|
7
|
-
from: '@retailcrm/embed-ui-v1-components/remote'
|
|
8
|
-
named:
|
|
9
|
-
- UiSelectOption
|
|
10
|
-
|
|
11
|
-
related_components:
|
|
12
|
-
- UiSelect
|
|
13
|
-
- UiSelectOptionGroup
|
|
14
|
-
|
|
15
|
-
use_when:
|
|
16
|
-
- You need one option inside UiSelect.
|
|
17
|
-
|
|
18
|
-
avoid_when:
|
|
19
|
-
- You need free layout content inside a select dropdown.
|
|
20
|
-
|
|
21
|
-
api:
|
|
22
|
-
key_props:
|
|
23
|
-
- name: value
|
|
24
|
-
- name: label
|
|
25
|
-
- name: description
|
|
26
|
-
- name: disabled
|
|
27
|
-
- name: counter
|
|
28
|
-
- name: accent
|
|
29
|
-
|
|
30
|
-
rendered_structure:
|
|
31
|
-
descriptive_only: true
|
|
32
|
-
root:
|
|
33
|
-
shape: div.ui-v1-select-option
|
|
34
|
-
tag: div
|
|
35
|
-
notes: Renders one option wrapper that usually contains a UiMenuItem row.
|
|
36
|
-
|
|
37
|
-
geometry:
|
|
38
|
-
layout: listbox option row
|
|
39
|
-
root_display: block
|
|
40
|
-
width_behavior: stretches to available dropdown width
|
|
41
|
-
|
|
42
|
-
ai_notes:
|
|
43
|
-
do:
|
|
44
|
-
- Use as the default child node of UiSelect.
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
component: UiSelectOptionGroup
|
|
2
|
-
summary: >
|
|
3
|
-
UiSelectOptionGroup groups related UiSelectOption nodes under a shared label.
|
|
4
|
-
|
|
5
|
-
public_import:
|
|
6
|
-
from: '@retailcrm/embed-ui-v1-components/remote'
|
|
7
|
-
named:
|
|
8
|
-
- UiSelectOptionGroup
|
|
9
|
-
|
|
10
|
-
related_components:
|
|
11
|
-
- UiSelect
|
|
12
|
-
- UiSelectOption
|
|
13
|
-
|
|
14
|
-
use_when:
|
|
15
|
-
- You need grouped select options.
|
|
16
|
-
|
|
17
|
-
avoid_when:
|
|
18
|
-
- You only have a flat list of options.
|
|
19
|
-
|
|
20
|
-
api:
|
|
21
|
-
key_props:
|
|
22
|
-
- name: label
|
|
23
|
-
|
|
24
|
-
rendered_structure:
|
|
25
|
-
descriptive_only: true
|
|
26
|
-
root:
|
|
27
|
-
shape: div.ui-v1-select-option-group
|
|
28
|
-
tag: div
|
|
29
|
-
notes: Renders one structural group wrapper around a heading area and nested option content.
|
|
30
|
-
|
|
31
|
-
geometry:
|
|
32
|
-
layout: block-like option group wrapper
|
|
33
|
-
root_display: block
|
|
34
|
-
width_behavior: stretches to available dropdown width
|
|
35
|
-
|
|
36
|
-
ai_notes:
|
|
37
|
-
do:
|
|
38
|
-
- Use to structure large option lists inside UiSelect.
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
component: UiSkeleton
|
|
2
|
-
summary: >
|
|
3
|
-
UiSkeleton displays a placeholder block for loading content. It supports text,
|
|
4
|
-
rectangle and circle appearances with pulse or shimmer animation.
|
|
5
|
-
|
|
6
|
-
public_import:
|
|
7
|
-
from: '@retailcrm/embed-ui-v1-components/remote'
|
|
8
|
-
named:
|
|
9
|
-
- UiSkeleton
|
|
10
|
-
|
|
11
|
-
use_when:
|
|
12
|
-
- You need a content placeholder before actual data is loaded.
|
|
13
|
-
- You need line, card or avatar-like loading placeholders.
|
|
14
|
-
|
|
15
|
-
avoid_when:
|
|
16
|
-
- You need a spinner-like indicator instead of a content-shaped placeholder.
|
|
17
|
-
|
|
18
|
-
api:
|
|
19
|
-
key_props:
|
|
20
|
-
- name: appearance
|
|
21
|
-
- name: size
|
|
22
|
-
- name: animation
|
|
23
|
-
- name: width
|
|
24
|
-
- name: height
|
|
25
|
-
|
|
26
|
-
rendered_structure:
|
|
27
|
-
descriptive_only: true
|
|
28
|
-
root:
|
|
29
|
-
shape: div.ui-v1-skeleton
|
|
30
|
-
tag: div
|
|
31
|
-
|
|
32
|
-
geometry:
|
|
33
|
-
layout: inline block or block placeholder
|
|
34
|
-
root_display: inline-block
|
|
35
|
-
width_behavior: preset width by appearance and size, overridable via width prop
|
|
36
|
-
|
|
37
|
-
ai_notes:
|
|
38
|
-
do:
|
|
39
|
-
- Use text appearance for line placeholders.
|
|
40
|
-
- Use circle appearance for avatar placeholders.
|
|
41
|
-
- Override width or height only when the preset size is not enough.
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
component: UiSlider
|
|
2
|
-
summary: >
|
|
3
|
-
UiSlider is a range-selection control for single values or ranges on a numeric track.
|
|
4
|
-
It supports single-handle and range-handle modes.
|
|
5
|
-
|
|
6
|
-
public_import:
|
|
7
|
-
from: '@retailcrm/embed-ui-v1-components/remote'
|
|
8
|
-
named:
|
|
9
|
-
- UiSlider
|
|
10
|
-
|
|
11
|
-
use_when:
|
|
12
|
-
- You need compact ranged numeric selection.
|
|
13
|
-
- You need one or two draggable handles on a track.
|
|
14
|
-
|
|
15
|
-
avoid_when:
|
|
16
|
-
- You need precise text entry.
|
|
17
|
-
|
|
18
|
-
api:
|
|
19
|
-
key_props:
|
|
20
|
-
- name: type
|
|
21
|
-
- name: value
|
|
22
|
-
- name: min
|
|
23
|
-
- name: max
|
|
24
|
-
- name: labelled
|
|
25
|
-
emits:
|
|
26
|
-
- name: update:value
|
|
27
|
-
|
|
28
|
-
rendered_structure:
|
|
29
|
-
descriptive_only: true
|
|
30
|
-
root:
|
|
31
|
-
shape: div.ui-v1-slider
|
|
32
|
-
tag: div
|
|
33
|
-
notes: The root contains labels, track, filler, and draggable handle nodes.
|
|
34
|
-
|
|
35
|
-
geometry:
|
|
36
|
-
layout: horizontal slider track
|
|
37
|
-
root_display: flex
|
|
38
|
-
width_behavior: stretches to container width by default
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
component: UiSwitch
|
|
2
|
-
summary: >
|
|
3
|
-
UiSwitch is a compact boolean toggle control. It is the most concise choice for on or off state
|
|
4
|
-
when checkbox semantics would feel visually heavy.
|
|
5
|
-
|
|
6
|
-
public_import:
|
|
7
|
-
from: '@retailcrm/embed-ui-v1-components/remote'
|
|
8
|
-
named:
|
|
9
|
-
- UiSwitch
|
|
10
|
-
|
|
11
|
-
use_when:
|
|
12
|
-
- You need a compact on or off toggle.
|
|
13
|
-
|
|
14
|
-
avoid_when:
|
|
15
|
-
- You need checkbox-group semantics.
|
|
16
|
-
|
|
17
|
-
api:
|
|
18
|
-
key_props:
|
|
19
|
-
- name: value
|
|
20
|
-
- name: square
|
|
21
|
-
- name: disabled
|
|
22
|
-
methods:
|
|
23
|
-
- name: click
|
|
24
|
-
- name: focus
|
|
25
|
-
- name: blur
|
|
26
|
-
|
|
27
|
-
rendered_structure:
|
|
28
|
-
descriptive_only: true
|
|
29
|
-
root:
|
|
30
|
-
shape: span.ui-v1-switch
|
|
31
|
-
tag: span
|
|
32
|
-
notes: The root is one compact inline switch control.
|
|
33
|
-
|
|
34
|
-
geometry:
|
|
35
|
-
layout: inline switch control
|
|
36
|
-
root_display: inline-block
|
|
37
|
-
width_behavior: content-sized by default
|
package/docs/profiles/UiTab.yml
DELETED
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
component: UiTab
|
|
2
|
-
summary: >
|
|
3
|
-
UiTab is a declarative child node for UiTabGroup. It does not render meaningful
|
|
4
|
-
standalone UI by itself; instead, UiTabGroup consumes its props and slots to build
|
|
5
|
-
tab buttons, overflow menu items, and optional tab panel content.
|
|
6
|
-
|
|
7
|
-
public_import:
|
|
8
|
-
from: '@retailcrm/embed-ui-v1-components/remote'
|
|
9
|
-
named:
|
|
10
|
-
- UiTab
|
|
11
|
-
- UiTabGroup
|
|
12
|
-
|
|
13
|
-
related_components:
|
|
14
|
-
- UiTabGroup
|
|
15
|
-
|
|
16
|
-
use_when:
|
|
17
|
-
- You need custom icon, label, counter, or content inside UiTabGroup.
|
|
18
|
-
- You want each tab declaration to keep its header and panel content together.
|
|
19
|
-
|
|
20
|
-
avoid_when:
|
|
21
|
-
- You need a standalone button or link.
|
|
22
|
-
- A plain items array on UiTabGroup is enough for the screen.
|
|
23
|
-
- You need non-string tab identity, because UiTabGroup uses string id.
|
|
24
|
-
|
|
25
|
-
api:
|
|
26
|
-
key_props:
|
|
27
|
-
- name: id
|
|
28
|
-
notes: Required string identifier used by UiTabGroup as activeId.
|
|
29
|
-
- name: label
|
|
30
|
-
notes: Fallback plain-text header label.
|
|
31
|
-
- name: counter
|
|
32
|
-
notes: Optional badge-like counter.
|
|
33
|
-
- name: disabled
|
|
34
|
-
notes: Marks the tab as non-interactive.
|
|
35
|
-
props:
|
|
36
|
-
- name: id
|
|
37
|
-
notes: Must be unique within one UiTabGroup.
|
|
38
|
-
- name: label
|
|
39
|
-
notes: Optional when label slot is used.
|
|
40
|
-
- name: counter
|
|
41
|
-
notes: Optional when counter slot is used.
|
|
42
|
-
- name: disabled
|
|
43
|
-
notes: Excluded from selection and keyboard navigation.
|
|
44
|
-
slots:
|
|
45
|
-
- name: icon
|
|
46
|
-
zone: tab leading icon
|
|
47
|
-
notes: Used both in the visible tab button and in the overflow menu item.
|
|
48
|
-
- name: label
|
|
49
|
-
zone: tab label
|
|
50
|
-
notes: Overrides plain label prop for the header.
|
|
51
|
-
- name: counter
|
|
52
|
-
zone: tab counter
|
|
53
|
-
notes: Overrides plain counter prop for the header.
|
|
54
|
-
- name: content
|
|
55
|
-
zone: active tab panel
|
|
56
|
-
notes: Rendered only for the active tab by UiTabGroup.
|
|
57
|
-
|
|
58
|
-
rendered_structure:
|
|
59
|
-
descriptive_only: true
|
|
60
|
-
root:
|
|
61
|
-
shape: no standalone DOM root
|
|
62
|
-
tag: none
|
|
63
|
-
notes: >
|
|
64
|
-
UiTab is a structural declaration rather than a standalone DOM component. The
|
|
65
|
-
parent UiTabGroup resolves UiTab children and renders the actual tab buttons,
|
|
66
|
-
menu items, and optional tabpanel.
|
|
67
|
-
|
|
68
|
-
geometry:
|
|
69
|
-
layout: no standalone layout, interpreted by UiTabGroup
|
|
70
|
-
root_display: none
|
|
71
|
-
width_behavior: no standalone width behavior of its own
|
|
72
|
-
notes:
|
|
73
|
-
- UiTab itself should not be used outside UiTabGroup.
|
|
74
|
-
- Icon-only tabs are inferred when icon exists but label and counter do not.
|
|
75
|
-
|
|
76
|
-
behavior:
|
|
77
|
-
states:
|
|
78
|
-
- name: disabled
|
|
79
|
-
notes: The parent group keeps it visible but non-interactive.
|
|
80
|
-
notes:
|
|
81
|
-
- content slot is mounted only for the active tab.
|
|
82
|
-
- icon, label, and counter are also used when the tab moves into overflow menu.
|
|
83
|
-
|
|
84
|
-
accessibility:
|
|
85
|
-
notes:
|
|
86
|
-
- UiTab does not create tab semantics by itself.
|
|
87
|
-
- UiTabGroup applies role=tab, aria-selected, aria-controls, and tabpanel relationships.
|
|
88
|
-
|
|
89
|
-
composition:
|
|
90
|
-
works_well_with:
|
|
91
|
-
- UiTabGroup
|
|
92
|
-
patterns:
|
|
93
|
-
- title: Rich tab declaration
|
|
94
|
-
notes: Keep icon, counter, and content close to the tab declaration inside UiTabGroup.
|
|
95
|
-
|
|
96
|
-
examples:
|
|
97
|
-
- title: Rich tab child
|
|
98
|
-
goal: Declare one tab with custom icon and panel content.
|
|
99
|
-
code: |
|
|
100
|
-
<UiTab id="overview" label="Overview" counter="8">
|
|
101
|
-
<template #icon>
|
|
102
|
-
<IconStar />
|
|
103
|
-
</template>
|
|
104
|
-
|
|
105
|
-
<template #content>
|
|
106
|
-
<section>
|
|
107
|
-
<h4>Overview</h4>
|
|
108
|
-
<p>Panel content for the active tab.</p>
|
|
109
|
-
</section>
|
|
110
|
-
</template>
|
|
111
|
-
</UiTab>
|
|
112
|
-
|
|
113
|
-
ai_notes:
|
|
114
|
-
do:
|
|
115
|
-
- Use UiTab only inside UiTabGroup.
|
|
116
|
-
- Prefer label and counter props for simple cases, and slots for richer markup.
|
|
117
|
-
avoid:
|
|
118
|
-
- Do not expect UiTab to render useful DOM outside a group.
|
|
119
|
-
- Do not rely on an undocumented default slot for header rendering.
|
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
component: UiTable
|
|
2
|
-
summary: >
|
|
3
|
-
UiTable is the main data table component. It supports row rendering, grouping, expandable rows,
|
|
4
|
-
footer areas, and row-level interactions.
|
|
5
|
-
|
|
6
|
-
public_import:
|
|
7
|
-
from: '@retailcrm/embed-ui-v1-components/remote'
|
|
8
|
-
named:
|
|
9
|
-
- UiTable
|
|
10
|
-
|
|
11
|
-
related_components:
|
|
12
|
-
- UiTableColumn
|
|
13
|
-
|
|
14
|
-
use_when:
|
|
15
|
-
- You need structured tabular data.
|
|
16
|
-
- You need group headers, expandable rows, or footer sections.
|
|
17
|
-
|
|
18
|
-
avoid_when:
|
|
19
|
-
- You need a simple list or card layout.
|
|
20
|
-
|
|
21
|
-
api:
|
|
22
|
-
key_props:
|
|
23
|
-
- name: rows
|
|
24
|
-
- name: rowKey
|
|
25
|
-
- name: headless
|
|
26
|
-
- name: bordered
|
|
27
|
-
- name: fixed
|
|
28
|
-
- name: groupBy
|
|
29
|
-
slots:
|
|
30
|
-
- name: default
|
|
31
|
-
zone: columns
|
|
32
|
-
creates: Column declarations.
|
|
33
|
-
- name: expand
|
|
34
|
-
zone: expanded-row
|
|
35
|
-
creates: Expanded row content.
|
|
36
|
-
- name: footer
|
|
37
|
-
zone: footer
|
|
38
|
-
creates: Full footer area.
|
|
39
|
-
- name: group-head
|
|
40
|
-
zone: group-head
|
|
41
|
-
creates: Group heading content.
|
|
42
|
-
- name: empty
|
|
43
|
-
zone: empty-state
|
|
44
|
-
creates: Empty-state content.
|
|
45
|
-
emits:
|
|
46
|
-
- name: row:click
|
|
47
|
-
methods:
|
|
48
|
-
- name: resetExpanded
|
|
49
|
-
- name: expand
|
|
50
|
-
- name: collapse
|
|
51
|
-
- name: toggle
|
|
52
|
-
|
|
53
|
-
rendered_structure:
|
|
54
|
-
descriptive_only: true
|
|
55
|
-
root:
|
|
56
|
-
shape: table.ui-v1-table
|
|
57
|
-
tag: table
|
|
58
|
-
zones:
|
|
59
|
-
- .ui-v1-table__section_head
|
|
60
|
-
- .ui-v1-table__section_body
|
|
61
|
-
- .ui-v1-table__section_foot
|
|
62
|
-
- .ui-v1-table__row
|
|
63
|
-
- .ui-v1-table__head-cell
|
|
64
|
-
- .ui-v1-table__body-cell
|
|
65
|
-
notes: >
|
|
66
|
-
Table layout is distributed across head, body, foot, and cell-level classes. Treat this as a
|
|
67
|
-
reasoning model for geometry and spacing, not as a stable selector contract.
|
|
68
|
-
|
|
69
|
-
geometry:
|
|
70
|
-
layout: block-width table
|
|
71
|
-
root_display: table
|
|
72
|
-
width: 100%
|
|
73
|
-
width_behavior: stretches to container width by default
|
|
74
|
-
notes:
|
|
75
|
-
- Root fills available width.
|
|
76
|
-
- fixed=true switches table-layout from auto to fixed.
|
|
77
|
-
- bordered=true adds border and corner rounding through CSS variables.
|
|
78
|
-
|
|
79
|
-
styling:
|
|
80
|
-
notes:
|
|
81
|
-
- UiTable exposes a relatively rich CSS-variable surface for spacing and table chrome.
|
|
82
|
-
- Prefer table props and slot composition first, then CSS variables for spacing or background tuning.
|
|
83
|
-
- Internal classes are descriptive and mainly useful for debugging or narrow local integration.
|
|
84
|
-
root_classes:
|
|
85
|
-
- .ui-v1-table
|
|
86
|
-
state_classes:
|
|
87
|
-
- .ui-v1-table_fixed
|
|
88
|
-
- .ui-v1-table_bordered
|
|
89
|
-
- .ui-v1-table__head-cell_align-center
|
|
90
|
-
- .ui-v1-table__head-cell_align-right
|
|
91
|
-
- .ui-v1-table__body-cell_align-center
|
|
92
|
-
- .ui-v1-table__body-cell_align-right
|
|
93
|
-
- .ui-v1-table__body-cell_valign-top
|
|
94
|
-
- .ui-v1-table__body-cell_valign-bottom
|
|
95
|
-
- .ui-v1-table__body-cell_theme-group
|
|
96
|
-
- .ui-v1-table__body-cell_trim
|
|
97
|
-
- .ui-v1-table__head-cell_trim
|
|
98
|
-
zones:
|
|
99
|
-
- .ui-v1-table__head-cell
|
|
100
|
-
- .ui-v1-table__body-cell
|
|
101
|
-
- .ui-v1-table__footer-cell
|
|
102
|
-
css_variables:
|
|
103
|
-
public_theme_variables:
|
|
104
|
-
- name: --ui-v1-table-border-width
|
|
105
|
-
effect: Outer border width in bordered mode.
|
|
106
|
-
- name: --ui-v1-table-rounding
|
|
107
|
-
effect: Shared corner rounding.
|
|
108
|
-
- name: --ui-v1-table-cell-padding-x
|
|
109
|
-
effect: Base inline cell padding.
|
|
110
|
-
- name: --ui-v1-table-cell-padding-y
|
|
111
|
-
effect: Base block cell padding.
|
|
112
|
-
- name: --ui-v1-table-head-background
|
|
113
|
-
effect: Header row background.
|
|
114
|
-
- name: --ui-v1-table-group-head-background
|
|
115
|
-
effect: Group heading row background.
|
|
116
|
-
- name: --ui-v1-table-padding-start
|
|
117
|
-
effect: Effective first-column start padding.
|
|
118
|
-
- name: --ui-v1-table-padding-end
|
|
119
|
-
effect: Effective last-column end padding.
|
|
120
|
-
internal_layout_variables:
|
|
121
|
-
- name: --ui-v1-table-effective-padding-start
|
|
122
|
-
effect: Start padding after bordered adjustments.
|
|
123
|
-
- name: --ui-v1-table-effective-padding-end
|
|
124
|
-
effect: End padding after bordered adjustments.
|
|
125
|
-
- name: --ui-v1-table-head-cell-padding-block-start
|
|
126
|
-
effect: Header top padding.
|
|
127
|
-
- name: --ui-v1-table-head-cell-padding-block-end
|
|
128
|
-
effect: Header bottom padding.
|
|
129
|
-
- name: --ui-v1-table-body-cell-padding-block-start
|
|
130
|
-
effect: Body top padding.
|
|
131
|
-
- name: --ui-v1-table-body-cell-padding-block-end
|
|
132
|
-
effect: Body bottom padding.
|
|
133
|
-
- name: --ui-v1-table-group-head-padding-block-start
|
|
134
|
-
effect: Group row top padding.
|
|
135
|
-
- name: --ui-v1-table-group-head-padding-block-end
|
|
136
|
-
effect: Group row bottom padding.
|
|
137
|
-
typography:
|
|
138
|
-
default:
|
|
139
|
-
mixin: text-small
|
|
140
|
-
size: 14px
|
|
141
|
-
line_height: 20px
|
|
142
|
-
weight: 400
|
|
143
|
-
head_cells:
|
|
144
|
-
mixin: text-tiny-accent
|
|
145
|
-
size: 12px
|
|
146
|
-
line_height: 14px
|
|
147
|
-
weight: 500
|
|
148
|
-
group_rows:
|
|
149
|
-
mixin: text-tiny
|
|
150
|
-
size: 12px
|
|
151
|
-
line_height: 14px
|
|
152
|
-
weight: 400
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
component: UiTableColumn
|
|
2
|
-
summary: >
|
|
3
|
-
UiTableColumn declares one logical column inside UiTable. It carries label and sizing metadata
|
|
4
|
-
and defines how header labels and cells render.
|
|
5
|
-
|
|
6
|
-
public_import:
|
|
7
|
-
from: '@retailcrm/embed-ui-v1-components/remote'
|
|
8
|
-
named:
|
|
9
|
-
- UiTableColumn
|
|
10
|
-
|
|
11
|
-
related_components:
|
|
12
|
-
- UiTable
|
|
13
|
-
|
|
14
|
-
use_when:
|
|
15
|
-
- You define columns for UiTable.
|
|
16
|
-
|
|
17
|
-
avoid_when:
|
|
18
|
-
- You need standalone layout markup outside UiTable.
|
|
19
|
-
|
|
20
|
-
api:
|
|
21
|
-
key_props:
|
|
22
|
-
- name: label
|
|
23
|
-
- name: width
|
|
24
|
-
- name: minWidth
|
|
25
|
-
- name: maxWidth
|
|
26
|
-
- name: align
|
|
27
|
-
- name: valign
|
|
28
|
-
- name: trim
|
|
29
|
-
slots:
|
|
30
|
-
- name: default
|
|
31
|
-
zone: cell
|
|
32
|
-
creates: Cell content.
|
|
33
|
-
- name: cell
|
|
34
|
-
zone: cell
|
|
35
|
-
creates: Explicit cell content.
|
|
36
|
-
- name: label
|
|
37
|
-
zone: header-label
|
|
38
|
-
creates: Header label content.
|
|
39
|
-
|
|
40
|
-
rendered_structure:
|
|
41
|
-
descriptive_only: true
|
|
42
|
-
root:
|
|
43
|
-
shape: col
|
|
44
|
-
tag: col
|
|
45
|
-
notes: The component renders one structural table column node.
|
|
46
|
-
|
|
47
|
-
geometry:
|
|
48
|
-
layout: structural table column
|
|
49
|
-
root_display: table-column
|
|
50
|
-
width_behavior: controlled by table layout and width props on the parent table
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
component: UiTableFooterButton
|
|
2
|
-
summary: >
|
|
3
|
-
UiTableFooterButton is a footer-scoped action control for custom table footer layouts.
|
|
4
|
-
It behaves like a table-specific button primitive rather than a full replacement for UiButton.
|
|
5
|
-
|
|
6
|
-
public_import:
|
|
7
|
-
from: '@retailcrm/embed-ui-v1-components/remote'
|
|
8
|
-
named:
|
|
9
|
-
- UiTableFooterButton
|
|
10
|
-
|
|
11
|
-
related_components:
|
|
12
|
-
- UiTable
|
|
13
|
-
- UiTableFooterSection
|
|
14
|
-
|
|
15
|
-
use_when:
|
|
16
|
-
- You need an action inside a custom table footer area.
|
|
17
|
-
|
|
18
|
-
avoid_when:
|
|
19
|
-
- UiButton is enough outside table footer composition.
|
|
20
|
-
- You are not building custom footer structure.
|
|
21
|
-
|
|
22
|
-
api:
|
|
23
|
-
key_props:
|
|
24
|
-
- name: type
|
|
25
|
-
emits:
|
|
26
|
-
- name: click
|
|
27
|
-
|
|
28
|
-
rendered_structure:
|
|
29
|
-
descriptive_only: true
|
|
30
|
-
root:
|
|
31
|
-
shape: button.ui-v1-table__footer-button
|
|
32
|
-
tag: button
|
|
33
|
-
notes: The visible label is wrapped in an inner inline-flex content span.
|
|
34
|
-
|
|
35
|
-
geometry:
|
|
36
|
-
layout: inline footer action
|
|
37
|
-
root_display: inline-block
|
|
38
|
-
width_behavior: content-sized by label content
|
|
39
|
-
|
|
40
|
-
ai_notes:
|
|
41
|
-
do:
|
|
42
|
-
- Keep it in table footer usage.
|
|
43
|
-
avoid:
|
|
44
|
-
- Do not substitute it for general page-level actions.
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
component: UiTableFooterSection
|
|
2
|
-
summary: >
|
|
3
|
-
UiTableFooterSection is the low-level footer container for custom table footer layouts.
|
|
4
|
-
It is mainly useful when UiTable footer slots are not enough on their own.
|
|
5
|
-
|
|
6
|
-
public_import:
|
|
7
|
-
from: '@retailcrm/embed-ui-v1-components/remote'
|
|
8
|
-
named:
|
|
9
|
-
- UiTableFooterSection
|
|
10
|
-
|
|
11
|
-
related_components:
|
|
12
|
-
- UiTable
|
|
13
|
-
- UiTableFooterButton
|
|
14
|
-
|
|
15
|
-
use_when:
|
|
16
|
-
- You compose custom footer content from public table primitives.
|
|
17
|
-
|
|
18
|
-
avoid_when:
|
|
19
|
-
- UiTable footer slots already solve the layout.
|
|
20
|
-
- You do not need explicit footer structure.
|
|
21
|
-
|
|
22
|
-
rendered_structure:
|
|
23
|
-
descriptive_only: true
|
|
24
|
-
root:
|
|
25
|
-
shape: div.ui-v1-table__footer-section
|
|
26
|
-
tag: div
|
|
27
|
-
notes: Renders one footer section wrapper inside the table footer controls area.
|
|
28
|
-
|
|
29
|
-
geometry:
|
|
30
|
-
layout: footer meta or control section
|
|
31
|
-
root_display: block
|
|
32
|
-
width_behavior: content-sized within the footer flex row
|
|
33
|
-
|
|
34
|
-
ai_notes:
|
|
35
|
-
do:
|
|
36
|
-
- Use it only as part of custom table footer composition.
|
|
37
|
-
avoid:
|
|
38
|
-
- Do not treat it as a standalone layout section.
|
package/docs/profiles/UiTag.yml
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
component: UiTag
|
|
2
|
-
summary: >
|
|
3
|
-
UiTag is a compact label or status pill. It can be interactive, removable, pinned, or visually saturated.
|
|
4
|
-
|
|
5
|
-
public_import:
|
|
6
|
-
from: '@retailcrm/embed-ui-v1-components/remote'
|
|
7
|
-
named:
|
|
8
|
-
- UiTag
|
|
9
|
-
|
|
10
|
-
use_when:
|
|
11
|
-
- You need a short status or label pill.
|
|
12
|
-
- You need removable or interactive tags.
|
|
13
|
-
|
|
14
|
-
avoid_when:
|
|
15
|
-
- You need a full button or link.
|
|
16
|
-
|
|
17
|
-
api:
|
|
18
|
-
key_props:
|
|
19
|
-
- name: size
|
|
20
|
-
- name: pinned
|
|
21
|
-
- name: removable
|
|
22
|
-
- name: interactive
|
|
23
|
-
- name: saturated
|
|
24
|
-
- name: background
|
|
25
|
-
emits:
|
|
26
|
-
- name: click
|
|
27
|
-
- name: focus
|
|
28
|
-
- name: blur
|
|
29
|
-
- name: remove
|
|
30
|
-
|
|
31
|
-
rendered_structure:
|
|
32
|
-
descriptive_only: true
|
|
33
|
-
root:
|
|
34
|
-
shape: div.ui-v1-tag-wrapper
|
|
35
|
-
tag: div
|
|
36
|
-
notes: The public root is a wrapper div; the visible pill itself is the nested .ui-v1-tag node.
|
|
37
|
-
|
|
38
|
-
geometry:
|
|
39
|
-
layout: wrapper around a content-sized tag pill
|
|
40
|
-
root_display: block
|
|
41
|
-
width_behavior: root follows normal block flow, inner tag stays content-sized
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
component: UiTimePicker
|
|
2
|
-
summary: >
|
|
3
|
-
UiTimePicker is a time input component that combines textbox-like entry with a list of
|
|
4
|
-
normalized time variants and bounds.
|
|
5
|
-
|
|
6
|
-
public_import:
|
|
7
|
-
from: '@retailcrm/embed-ui-v1-components/remote'
|
|
8
|
-
named:
|
|
9
|
-
- UiTimePicker
|
|
10
|
-
|
|
11
|
-
related_components:
|
|
12
|
-
- UiTextbox
|
|
13
|
-
- UiPopper
|
|
14
|
-
|
|
15
|
-
use_when:
|
|
16
|
-
- You need editable time input.
|
|
17
|
-
- You need bounded time variants or interval-based time selection.
|
|
18
|
-
|
|
19
|
-
avoid_when:
|
|
20
|
-
- You need raw text input without time semantics.
|
|
21
|
-
|
|
22
|
-
api:
|
|
23
|
-
key_props:
|
|
24
|
-
- name: value
|
|
25
|
-
- name: placeholder
|
|
26
|
-
- name: interval
|
|
27
|
-
- name: timeVariants
|
|
28
|
-
- name: minTime
|
|
29
|
-
- name: maxTime
|
|
30
|
-
- name: textboxOptions
|
|
31
|
-
methods:
|
|
32
|
-
- name: open
|
|
33
|
-
- name: close
|
|
34
|
-
- name: focus
|
|
35
|
-
|
|
36
|
-
rendered_structure:
|
|
37
|
-
descriptive_only: true
|
|
38
|
-
root:
|
|
39
|
-
shape: div.ui-v1-time-picker
|
|
40
|
-
tag: div
|
|
41
|
-
notes: The root is a combobox wrapper around the textbox-like trigger and the popper-based listbox.
|
|
42
|
-
|
|
43
|
-
geometry:
|
|
44
|
-
layout: combobox wrapper with floating menu
|
|
45
|
-
root_display: block
|
|
46
|
-
width_behavior: follows normal block flow for the wrapper, with a floating dropdown layer
|