@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,51 +0,0 @@
|
|
|
1
|
-
component: UiCollapseBox
|
|
2
|
-
summary: >
|
|
3
|
-
UiCollapseBox is a structured expandable container with built-in header, state handling,
|
|
4
|
-
and visual treatment. It is a higher-level companion to UiCollapse.
|
|
5
|
-
|
|
6
|
-
public_import:
|
|
7
|
-
from: '@retailcrm/embed-ui-v1-components/remote'
|
|
8
|
-
named:
|
|
9
|
-
- UiCollapseBox
|
|
10
|
-
|
|
11
|
-
related_components:
|
|
12
|
-
- UiCollapse
|
|
13
|
-
- UiCollapseGroup
|
|
14
|
-
|
|
15
|
-
use_when:
|
|
16
|
-
- You need a ready-to-use collapsible box.
|
|
17
|
-
- You need grouped expandable sections with consistent visuals.
|
|
18
|
-
|
|
19
|
-
avoid_when:
|
|
20
|
-
- You need a bare collapse primitive without box chrome.
|
|
21
|
-
|
|
22
|
-
api:
|
|
23
|
-
key_props:
|
|
24
|
-
- name: expanded
|
|
25
|
-
- name: expandable
|
|
26
|
-
- name: collapsible
|
|
27
|
-
- name: toggleable
|
|
28
|
-
- name: disabled
|
|
29
|
-
- name: color
|
|
30
|
-
|
|
31
|
-
rendered_structure:
|
|
32
|
-
descriptive_only: true
|
|
33
|
-
root:
|
|
34
|
-
shape: section.ui-v1-collapse-box
|
|
35
|
-
tag: section
|
|
36
|
-
notes: Renders one section root with a header button and a collapsible body region.
|
|
37
|
-
|
|
38
|
-
geometry:
|
|
39
|
-
layout: block-like collapsible section
|
|
40
|
-
root_display: flex
|
|
41
|
-
width_behavior: stretches to container width by default
|
|
42
|
-
|
|
43
|
-
behavior:
|
|
44
|
-
notes:
|
|
45
|
-
- Supports controlled expanded state and grouped interaction.
|
|
46
|
-
|
|
47
|
-
ai_notes:
|
|
48
|
-
do:
|
|
49
|
-
- Use UiCollapseBox for structured disclosure UI.
|
|
50
|
-
avoid:
|
|
51
|
-
- Do not rebuild collapse header UI manually when this component already fits.
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
component: UiCopyButton
|
|
2
|
-
summary: >
|
|
3
|
-
UiCopyButton is an action component for copying text values with tooltip feedback.
|
|
4
|
-
It wraps copy behavior and copied-state hinting into one compact UI.
|
|
5
|
-
|
|
6
|
-
public_import:
|
|
7
|
-
from: '@retailcrm/embed-ui-v1-components/remote'
|
|
8
|
-
named:
|
|
9
|
-
- UiCopyButton
|
|
10
|
-
|
|
11
|
-
related_components:
|
|
12
|
-
- UiTooltip
|
|
13
|
-
- UiButton
|
|
14
|
-
|
|
15
|
-
use_when:
|
|
16
|
-
- You need a copy-to-clipboard action for a value.
|
|
17
|
-
- You need built-in hint and copied-state tooltip text.
|
|
18
|
-
|
|
19
|
-
avoid_when:
|
|
20
|
-
- You need a generic button with no copy semantics.
|
|
21
|
-
|
|
22
|
-
api:
|
|
23
|
-
key_props:
|
|
24
|
-
- name: text
|
|
25
|
-
- name: size
|
|
26
|
-
- name: tooltipOptions
|
|
27
|
-
slots:
|
|
28
|
-
- name: trigger
|
|
29
|
-
zone: trigger
|
|
30
|
-
creates: Visible trigger content.
|
|
31
|
-
- name: hint
|
|
32
|
-
zone: tooltip
|
|
33
|
-
creates: Default tooltip content.
|
|
34
|
-
- name: hint-copied
|
|
35
|
-
zone: tooltip
|
|
36
|
-
creates: Tooltip content after copy succeeds.
|
|
37
|
-
|
|
38
|
-
rendered_structure:
|
|
39
|
-
descriptive_only: true
|
|
40
|
-
root:
|
|
41
|
-
shape: div.ui-v1-copy-button
|
|
42
|
-
tag: div
|
|
43
|
-
notes: The root wraps the trigger, tooltip, and fallback input for clipboard support.
|
|
44
|
-
|
|
45
|
-
geometry:
|
|
46
|
-
layout: inline trigger wrapper
|
|
47
|
-
root_display: inline-block
|
|
48
|
-
width_behavior: content-sized by default
|
|
49
|
-
|
|
50
|
-
ai_notes:
|
|
51
|
-
do:
|
|
52
|
-
- Use for copy-specific flows instead of recreating copy state manually.
|
package/docs/profiles/UiDate.yml
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
component: UiDate
|
|
2
|
-
summary: >
|
|
3
|
-
UiDate is a display component for formatted date or date-time output. It is for presenting
|
|
4
|
-
date values, not for editing them.
|
|
5
|
-
|
|
6
|
-
public_import:
|
|
7
|
-
from: '@retailcrm/embed-ui-v1-components/remote'
|
|
8
|
-
named:
|
|
9
|
-
- UiDate
|
|
10
|
-
|
|
11
|
-
use_when:
|
|
12
|
-
- You need to display a date value.
|
|
13
|
-
- You need optional time display with locale-aware formatting.
|
|
14
|
-
|
|
15
|
-
avoid_when:
|
|
16
|
-
- You need editable date input.
|
|
17
|
-
|
|
18
|
-
api:
|
|
19
|
-
key_props:
|
|
20
|
-
- name: date
|
|
21
|
-
- name: withTime
|
|
22
|
-
- name: locale
|
|
23
|
-
|
|
24
|
-
rendered_structure:
|
|
25
|
-
descriptive_only: true
|
|
26
|
-
root:
|
|
27
|
-
shape: time
|
|
28
|
-
tag: time
|
|
29
|
-
notes: Renders one semantic time element with formatted date text.
|
|
30
|
-
|
|
31
|
-
geometry:
|
|
32
|
-
layout: inline date text
|
|
33
|
-
root_display: inline
|
|
34
|
-
width_behavior: content-sized by content
|
|
35
|
-
|
|
36
|
-
ai_notes:
|
|
37
|
-
do:
|
|
38
|
-
- Use UiDate for formatted output and UiDatePicker for input.
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
component: UiDatePicker
|
|
2
|
-
summary: >
|
|
3
|
-
UiDatePicker combines textbox-like date display, popper behavior, and calendar selection.
|
|
4
|
-
It supports single-date and range flows, constraints, and quick options.
|
|
5
|
-
|
|
6
|
-
public_import:
|
|
7
|
-
from: '@retailcrm/embed-ui-v1-components/remote'
|
|
8
|
-
named:
|
|
9
|
-
- UiDatePicker
|
|
10
|
-
|
|
11
|
-
related_components:
|
|
12
|
-
- UiCalendar
|
|
13
|
-
- UiTextbox
|
|
14
|
-
- UiPopper
|
|
15
|
-
|
|
16
|
-
use_when:
|
|
17
|
-
- You need editable date input.
|
|
18
|
-
- You need date-range selection through a textbox-plus-popup flow.
|
|
19
|
-
|
|
20
|
-
avoid_when:
|
|
21
|
-
- You need always-visible inline calendar selection only.
|
|
22
|
-
|
|
23
|
-
api:
|
|
24
|
-
key_props:
|
|
25
|
-
- name: value
|
|
26
|
-
- name: type
|
|
27
|
-
- name: minDate
|
|
28
|
-
- name: maxDate
|
|
29
|
-
- name: nullable
|
|
30
|
-
- name: synchronization
|
|
31
|
-
- name: quickOptions
|
|
32
|
-
- name: textboxOptions
|
|
33
|
-
methods:
|
|
34
|
-
- name: open
|
|
35
|
-
- name: close
|
|
36
|
-
- name: toggle
|
|
37
|
-
|
|
38
|
-
rendered_structure:
|
|
39
|
-
descriptive_only: true
|
|
40
|
-
root:
|
|
41
|
-
shape: span.ui-v1-date-picker
|
|
42
|
-
tag: span
|
|
43
|
-
notes: The visible trigger behaves like an inline date control that opens a floating calendar.
|
|
44
|
-
|
|
45
|
-
geometry:
|
|
46
|
-
layout: inline date input trigger
|
|
47
|
-
root_display: inline-block
|
|
48
|
-
width_behavior: content-sized by default
|
|
49
|
-
|
|
50
|
-
behavior:
|
|
51
|
-
notes:
|
|
52
|
-
- Supports single-date and range flows.
|
|
53
|
-
- synchronization controls instant versus confirmed behavior.
|
|
54
|
-
|
|
55
|
-
ai_notes:
|
|
56
|
-
do:
|
|
57
|
-
- Prefer UiDatePicker for typed or popup date input.
|
|
58
|
-
avoid:
|
|
59
|
-
- Do not use UiCalendar directly if a textbox trigger is expected.
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
component: UiError
|
|
2
|
-
summary: >
|
|
3
|
-
UiError is a compact error-state component for short error messages or fallback states.
|
|
4
|
-
It is intended for concise inline error display rather than large alert copy.
|
|
5
|
-
|
|
6
|
-
public_import:
|
|
7
|
-
from: '@retailcrm/embed-ui-v1-components/remote'
|
|
8
|
-
named:
|
|
9
|
-
- UiError
|
|
10
|
-
|
|
11
|
-
use_when:
|
|
12
|
-
- You need a compact error block.
|
|
13
|
-
- You need inline error text with standard styling.
|
|
14
|
-
|
|
15
|
-
avoid_when:
|
|
16
|
-
- You need a richer feedback block, use UiAlert or UiInfobox instead.
|
|
17
|
-
|
|
18
|
-
rendered_structure:
|
|
19
|
-
descriptive_only: true
|
|
20
|
-
root:
|
|
21
|
-
shape: div.ui-v1-error
|
|
22
|
-
tag: div
|
|
23
|
-
notes: Renders one text container for error content.
|
|
24
|
-
|
|
25
|
-
geometry:
|
|
26
|
-
layout: block-like error text container
|
|
27
|
-
root_display: block
|
|
28
|
-
width_behavior: stretches to container width by default
|
|
29
|
-
|
|
30
|
-
ai_notes:
|
|
31
|
-
do:
|
|
32
|
-
- Use for compact error presentation.
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
component: UiImage
|
|
2
|
-
summary: >
|
|
3
|
-
UiImage is a generic image display component with optional resize and crop hints.
|
|
4
|
-
Use it for regular visual content rather than identity avatars.
|
|
5
|
-
|
|
6
|
-
public_import:
|
|
7
|
-
from: '@retailcrm/embed-ui-v1-components/remote'
|
|
8
|
-
named:
|
|
9
|
-
- UiImage
|
|
10
|
-
|
|
11
|
-
use_when:
|
|
12
|
-
- You need to render an image asset.
|
|
13
|
-
- You need resize or crop hints for image output.
|
|
14
|
-
|
|
15
|
-
avoid_when:
|
|
16
|
-
- You need identity-focused avatar UI.
|
|
17
|
-
|
|
18
|
-
api:
|
|
19
|
-
key_props:
|
|
20
|
-
- name: src
|
|
21
|
-
- name: alt
|
|
22
|
-
- name: resize
|
|
23
|
-
- name: crop
|
|
24
|
-
|
|
25
|
-
rendered_structure:
|
|
26
|
-
descriptive_only: true
|
|
27
|
-
root:
|
|
28
|
-
shape: img
|
|
29
|
-
tag: img
|
|
30
|
-
notes: The component renders a single image element.
|
|
31
|
-
|
|
32
|
-
geometry:
|
|
33
|
-
layout: replaced media element
|
|
34
|
-
root_display: inline-block
|
|
35
|
-
width_behavior: intrinsic by image source or explicit dimensions
|
|
36
|
-
|
|
37
|
-
ai_notes:
|
|
38
|
-
do:
|
|
39
|
-
- Use UiImage for general media and UiAvatar for people or identity.
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
component: UiInfobox
|
|
2
|
-
summary: >
|
|
3
|
-
UiInfobox is a richer explanatory block for inline product, warning, or helper content.
|
|
4
|
-
It can be closable and expandable.
|
|
5
|
-
|
|
6
|
-
public_import:
|
|
7
|
-
from: '@retailcrm/embed-ui-v1-components/remote'
|
|
8
|
-
named:
|
|
9
|
-
- UiInfobox
|
|
10
|
-
|
|
11
|
-
use_when:
|
|
12
|
-
- You need a highlighted explanatory block.
|
|
13
|
-
- You need closable or expandable helper content.
|
|
14
|
-
|
|
15
|
-
avoid_when:
|
|
16
|
-
- You need a one-line alert only.
|
|
17
|
-
|
|
18
|
-
api:
|
|
19
|
-
key_props:
|
|
20
|
-
- name: title
|
|
21
|
-
- name: shown
|
|
22
|
-
- name: expanded
|
|
23
|
-
- name: expandable
|
|
24
|
-
- name: closable
|
|
25
|
-
- name: warning
|
|
26
|
-
methods:
|
|
27
|
-
- name: show
|
|
28
|
-
- name: hide
|
|
29
|
-
- name: toggle
|
|
30
|
-
|
|
31
|
-
rendered_structure:
|
|
32
|
-
descriptive_only: true
|
|
33
|
-
root:
|
|
34
|
-
shape: div.ui-v1-infobox
|
|
35
|
-
tag: div
|
|
36
|
-
notes: The visible infobox body is wrapped in UiTransition and uses one flex row for media, content, and optional closer.
|
|
37
|
-
|
|
38
|
-
geometry:
|
|
39
|
-
layout: block-like message panel
|
|
40
|
-
root_display: flex
|
|
41
|
-
width_behavior: stretches to container width by default
|
|
42
|
-
|
|
43
|
-
ai_notes:
|
|
44
|
-
do:
|
|
45
|
-
- Use UiInfobox for richer guidance blocks, not tiny alerts.
|
package/docs/profiles/UiLink.yml
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
component: UiLink
|
|
2
|
-
summary: >
|
|
3
|
-
UiLink is the main text-link component for inline navigation and inline actions that should
|
|
4
|
-
still read as links rather than buttons.
|
|
5
|
-
|
|
6
|
-
public_import:
|
|
7
|
-
from: '@retailcrm/embed-ui-v1-components/remote'
|
|
8
|
-
named:
|
|
9
|
-
- UiLink
|
|
10
|
-
|
|
11
|
-
use_when:
|
|
12
|
-
- You need inline navigation or linked text.
|
|
13
|
-
- You need a compact action that should still read as a link.
|
|
14
|
-
|
|
15
|
-
avoid_when:
|
|
16
|
-
- You need button semantics, use UiButton instead.
|
|
17
|
-
|
|
18
|
-
api:
|
|
19
|
-
key_props:
|
|
20
|
-
- name: href
|
|
21
|
-
- name: external
|
|
22
|
-
- name: appearance
|
|
23
|
-
- name: size
|
|
24
|
-
- name: accent
|
|
25
|
-
- name: ellipsis
|
|
26
|
-
slots:
|
|
27
|
-
- name: icon
|
|
28
|
-
zone: inline-icon
|
|
29
|
-
creates: Optional icon zone inside the link.
|
|
30
|
-
emits:
|
|
31
|
-
- name: click
|
|
32
|
-
- name: focus
|
|
33
|
-
- name: blur
|
|
34
|
-
|
|
35
|
-
rendered_structure:
|
|
36
|
-
descriptive_only: true
|
|
37
|
-
root:
|
|
38
|
-
shape: a.ui-v1-link
|
|
39
|
-
tag: a
|
|
40
|
-
notes: The root is one anchor element with inline icon and text zones.
|
|
41
|
-
|
|
42
|
-
geometry:
|
|
43
|
-
layout: inline link root
|
|
44
|
-
root_display: inline-flex
|
|
45
|
-
width_behavior: content-sized by default
|
|
46
|
-
|
|
47
|
-
ai_notes:
|
|
48
|
-
do:
|
|
49
|
-
- Use UiLink for real link semantics and inline navigation.
|
|
50
|
-
avoid:
|
|
51
|
-
- Do not use UiLink where the action should read as a button.
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
component: UiLoader
|
|
2
|
-
summary: >
|
|
3
|
-
UiLoader displays loading progress or waiting state. It can be used inline or as an overlay.
|
|
4
|
-
|
|
5
|
-
public_import:
|
|
6
|
-
from: '@retailcrm/embed-ui-v1-components/remote'
|
|
7
|
-
named:
|
|
8
|
-
- UiLoader
|
|
9
|
-
|
|
10
|
-
use_when:
|
|
11
|
-
- You need a visible loading indicator.
|
|
12
|
-
- You need inline or overlay loading state.
|
|
13
|
-
|
|
14
|
-
avoid_when:
|
|
15
|
-
- You need skeleton content rather than a spinner-like loader.
|
|
16
|
-
|
|
17
|
-
api:
|
|
18
|
-
key_props:
|
|
19
|
-
- name: diameter
|
|
20
|
-
- name: thickness
|
|
21
|
-
- name: fixed
|
|
22
|
-
- name: overlay
|
|
23
|
-
|
|
24
|
-
rendered_structure:
|
|
25
|
-
descriptive_only: true
|
|
26
|
-
root:
|
|
27
|
-
shape: div.ui-v1-loader
|
|
28
|
-
tag: div
|
|
29
|
-
notes: The loader body may be wrapped in UiTransition, but the visible loader itself is one div root.
|
|
30
|
-
|
|
31
|
-
geometry:
|
|
32
|
-
layout: loader surface or overlay
|
|
33
|
-
root_display: block
|
|
34
|
-
width_behavior: content-sized by default, viewport-covering in fixed or overlay modes
|
|
35
|
-
|
|
36
|
-
ai_notes:
|
|
37
|
-
do:
|
|
38
|
-
- Use overlay or fixed only when the loader should escape normal inline flow.
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
component: UiMenuItem
|
|
2
|
-
summary: >
|
|
3
|
-
UiMenuItem is a structured menu row component with support for icons, avatar, description,
|
|
4
|
-
counters, and active or danger styling.
|
|
5
|
-
|
|
6
|
-
public_import:
|
|
7
|
-
from: '@retailcrm/embed-ui-v1-components/remote'
|
|
8
|
-
named:
|
|
9
|
-
- UiMenuItem
|
|
10
|
-
|
|
11
|
-
use_when:
|
|
12
|
-
- You need a menu row with structured content zones.
|
|
13
|
-
- You need icon, avatar, description, or counter inside one menu item.
|
|
14
|
-
|
|
15
|
-
avoid_when:
|
|
16
|
-
- You need a plain inline link.
|
|
17
|
-
|
|
18
|
-
api:
|
|
19
|
-
key_props:
|
|
20
|
-
- name: description
|
|
21
|
-
- name: counter
|
|
22
|
-
- name: active
|
|
23
|
-
- name: danger
|
|
24
|
-
- name: disabled
|
|
25
|
-
- name: size
|
|
26
|
-
slots:
|
|
27
|
-
- name: default
|
|
28
|
-
zone: main-label
|
|
29
|
-
creates: Main visible label area.
|
|
30
|
-
- name: avatar
|
|
31
|
-
zone: leading-avatar
|
|
32
|
-
creates: Leading avatar zone.
|
|
33
|
-
- name: leading-icon
|
|
34
|
-
zone: leading-icon
|
|
35
|
-
creates: Leading icon zone.
|
|
36
|
-
- name: description
|
|
37
|
-
zone: secondary-copy
|
|
38
|
-
creates: Secondary description area.
|
|
39
|
-
- name: trailing-icon
|
|
40
|
-
zone: trailing-icon
|
|
41
|
-
creates: Trailing icon zone.
|
|
42
|
-
|
|
43
|
-
rendered_structure:
|
|
44
|
-
descriptive_only: true
|
|
45
|
-
root:
|
|
46
|
-
shape: div.ui-v1-menu-item
|
|
47
|
-
tag: div
|
|
48
|
-
notes: The root is one menu row container with leading, main, and trailing content zones.
|
|
49
|
-
|
|
50
|
-
geometry:
|
|
51
|
-
layout: menu row
|
|
52
|
-
root_display: flex
|
|
53
|
-
width_behavior: stretches to available menu width
|
|
54
|
-
|
|
55
|
-
ai_notes:
|
|
56
|
-
do:
|
|
57
|
-
- Use structured slots instead of custom wrappers inside menu rows.
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
component: UiModalSidebar
|
|
2
|
-
summary: >
|
|
3
|
-
UiModalSidebar is a side-docked modal surface with open state, direction, size, and
|
|
4
|
-
scrolling control. Use it when the UI should slide from an edge instead of opening as a centered dialog.
|
|
5
|
-
|
|
6
|
-
public_import:
|
|
7
|
-
from: '@retailcrm/embed-ui-v1-components/remote'
|
|
8
|
-
named:
|
|
9
|
-
- UiModalSidebar
|
|
10
|
-
|
|
11
|
-
use_when:
|
|
12
|
-
- You need side-panel modal UI.
|
|
13
|
-
- You need left or right docked modal content.
|
|
14
|
-
|
|
15
|
-
avoid_when:
|
|
16
|
-
- You need a centered dialog.
|
|
17
|
-
|
|
18
|
-
api:
|
|
19
|
-
key_props:
|
|
20
|
-
- name: opened
|
|
21
|
-
- name: closable
|
|
22
|
-
- name: direction
|
|
23
|
-
- name: size
|
|
24
|
-
- name: scrolling
|
|
25
|
-
- name: fixed
|
|
26
|
-
|
|
27
|
-
rendered_structure:
|
|
28
|
-
descriptive_only: true
|
|
29
|
-
root:
|
|
30
|
-
shape: div.ui-v1-modal-sidebar-overlay
|
|
31
|
-
tag: div
|
|
32
|
-
notes: The component is teleported; the overlay div contains the actual aside.ui-v1-modal-sidebar panel.
|
|
33
|
-
|
|
34
|
-
geometry:
|
|
35
|
-
layout: teleported overlay with side panel
|
|
36
|
-
root_display: flex
|
|
37
|
-
width_behavior: viewport-covering overlay with fixed-width sidebar surface
|
|
38
|
-
|
|
39
|
-
behavior:
|
|
40
|
-
notes:
|
|
41
|
-
- opened controls visibility.
|
|
42
|
-
- direction controls which side the sidebar comes from.
|
|
43
|
-
|
|
44
|
-
ai_notes:
|
|
45
|
-
do:
|
|
46
|
-
- Use UiModalSidebar when page context should stay visually connected to the modal content.
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
component: UiModalWindow
|
|
2
|
-
summary: >
|
|
3
|
-
UiModalWindow is the main centered modal container. It supports open state, closability,
|
|
4
|
-
appearance variants, fullscreen and responsive behavior, and dialog roles.
|
|
5
|
-
|
|
6
|
-
public_import:
|
|
7
|
-
from: '@retailcrm/embed-ui-v1-components/remote'
|
|
8
|
-
named:
|
|
9
|
-
- UiModalWindow
|
|
10
|
-
|
|
11
|
-
related_components:
|
|
12
|
-
- UiModalWindowSurface
|
|
13
|
-
|
|
14
|
-
use_when:
|
|
15
|
-
- You need a centered dialog.
|
|
16
|
-
- You need modal interaction with standard dialog semantics.
|
|
17
|
-
|
|
18
|
-
avoid_when:
|
|
19
|
-
- You need a side-docked modal, use UiModalSidebar instead.
|
|
20
|
-
|
|
21
|
-
api:
|
|
22
|
-
key_props:
|
|
23
|
-
- name: opened
|
|
24
|
-
- name: closable
|
|
25
|
-
- name: appearance
|
|
26
|
-
- name: fullscreen
|
|
27
|
-
- name: responsive
|
|
28
|
-
- name: scrolling
|
|
29
|
-
- name: role
|
|
30
|
-
methods:
|
|
31
|
-
- name: open
|
|
32
|
-
- name: close
|
|
33
|
-
|
|
34
|
-
rendered_structure:
|
|
35
|
-
descriptive_only: true
|
|
36
|
-
root:
|
|
37
|
-
shape: div.ui-v1-modal-window via UiModalWindowSurface
|
|
38
|
-
tag: div
|
|
39
|
-
notes: The component delegates the actual teleported modal root to UiModalWindowSurface and renders header, content, and footer inside it.
|
|
40
|
-
|
|
41
|
-
geometry:
|
|
42
|
-
layout: teleported modal layer with centered surface
|
|
43
|
-
root_display: flex
|
|
44
|
-
width_behavior: viewport-covering overlay with content-sized or responsive surface
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
component: UiNumberStepper
|
|
2
|
-
summary: >
|
|
3
|
-
UiNumberStepper is a numeric input with increase and decrease controls. It is built for
|
|
4
|
-
constrained numeric entry where arrowing and step-based changes matter.
|
|
5
|
-
|
|
6
|
-
public_import:
|
|
7
|
-
from: '@retailcrm/embed-ui-v1-components/remote'
|
|
8
|
-
named:
|
|
9
|
-
- UiNumberStepper
|
|
10
|
-
|
|
11
|
-
related_components:
|
|
12
|
-
- UiTextbox
|
|
13
|
-
|
|
14
|
-
use_when:
|
|
15
|
-
- You need numeric input with explicit step controls.
|
|
16
|
-
- You need range constraints and nullable numeric state.
|
|
17
|
-
|
|
18
|
-
avoid_when:
|
|
19
|
-
- You need plain text or decimal input without stepper controls.
|
|
20
|
-
|
|
21
|
-
api:
|
|
22
|
-
key_props:
|
|
23
|
-
- name: value
|
|
24
|
-
- name: min
|
|
25
|
-
- name: max
|
|
26
|
-
- name: step
|
|
27
|
-
- name: decimals
|
|
28
|
-
- name: clamp
|
|
29
|
-
- name: nullable
|
|
30
|
-
- name: direction
|
|
31
|
-
methods:
|
|
32
|
-
- name: focus
|
|
33
|
-
- name: blur
|
|
34
|
-
- name: increase
|
|
35
|
-
- name: decrease
|
|
36
|
-
|
|
37
|
-
rendered_structure:
|
|
38
|
-
descriptive_only: true
|
|
39
|
-
root:
|
|
40
|
-
shape: div.ui-v1-number-stepper
|
|
41
|
-
tag: div
|
|
42
|
-
notes: One inline control root wraps the text input and increment or decrement actions.
|
|
43
|
-
|
|
44
|
-
geometry:
|
|
45
|
-
layout: inline numeric control
|
|
46
|
-
root_display: inline-flex
|
|
47
|
-
width_behavior: content-sized by default
|
|
48
|
-
|
|
49
|
-
behavior:
|
|
50
|
-
notes:
|
|
51
|
-
- Can clamp values into range.
|
|
52
|
-
- Supports horizontal and vertical direction.
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
component: UiRadio
|
|
2
|
-
summary: >
|
|
3
|
-
UiRadio is the single-choice selection control for exclusive option sets.
|
|
4
|
-
It is the radio-style counterpart to UiCheckbox.
|
|
5
|
-
|
|
6
|
-
public_import:
|
|
7
|
-
from: '@retailcrm/embed-ui-v1-components/remote'
|
|
8
|
-
named:
|
|
9
|
-
- UiRadio
|
|
10
|
-
|
|
11
|
-
use_when:
|
|
12
|
-
- You need one selected value from a fixed set.
|
|
13
|
-
|
|
14
|
-
avoid_when:
|
|
15
|
-
- You need multiple independent selections, use UiCheckbox instead.
|
|
16
|
-
|
|
17
|
-
api:
|
|
18
|
-
key_props:
|
|
19
|
-
- name: model
|
|
20
|
-
- name: value
|
|
21
|
-
- name: required
|
|
22
|
-
- name: disabled
|
|
23
|
-
methods:
|
|
24
|
-
- name: click
|
|
25
|
-
- name: focus
|
|
26
|
-
- name: blur
|
|
27
|
-
|
|
28
|
-
rendered_structure:
|
|
29
|
-
descriptive_only: true
|
|
30
|
-
root:
|
|
31
|
-
shape: span.ui-v1-radio
|
|
32
|
-
tag: span
|
|
33
|
-
notes: One inline wrapper around the visual radio control and label content.
|
|
34
|
-
|
|
35
|
-
geometry:
|
|
36
|
-
layout: inline radio control
|
|
37
|
-
root_display: inline-flex
|
|
38
|
-
width_behavior: content-sized by default
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
component: UiScrollBox
|
|
2
|
-
summary: >
|
|
3
|
-
UiScrollBox is a scrollable container for constrained content areas. Use it when content
|
|
4
|
-
should remain inside a dedicated scrolling region instead of growing the whole page.
|
|
5
|
-
|
|
6
|
-
public_import:
|
|
7
|
-
from: '@retailcrm/embed-ui-v1-components/remote'
|
|
8
|
-
named:
|
|
9
|
-
- UiScrollBox
|
|
10
|
-
|
|
11
|
-
use_when:
|
|
12
|
-
- You need a bounded scroll area.
|
|
13
|
-
- You need long content inside a fixed-height or fixed-width region.
|
|
14
|
-
|
|
15
|
-
avoid_when:
|
|
16
|
-
- You need normal page scrolling.
|
|
17
|
-
|
|
18
|
-
api:
|
|
19
|
-
key_props: []
|
|
20
|
-
|
|
21
|
-
rendered_structure:
|
|
22
|
-
descriptive_only: true
|
|
23
|
-
root:
|
|
24
|
-
shape: configurable wrapper tag or PerfectScrollbar root
|
|
25
|
-
tag: configurable, div by default
|
|
26
|
-
notes: The root depends on native mode and tag prop, but behaves as a scroll container rather than a visual primitive.
|
|
27
|
-
|
|
28
|
-
geometry:
|
|
29
|
-
layout: scroll container
|
|
30
|
-
root_display: block
|
|
31
|
-
width_behavior: stretches to the size of its layout context
|