@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.
Files changed (123) hide show
  1. package/AGENTS.md +9 -1
  2. package/README.md +5 -2
  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 +231 -46
  6. package/bin/postinstall.mjs +3 -2
  7. package/dist/host.cjs +1223 -501
  8. package/dist/host.css +637 -10
  9. package/dist/host.d.ts +152 -78
  10. package/dist/host.js +1224 -502
  11. package/dist/remote.cjs +1358 -298
  12. package/dist/remote.d.ts +805 -67
  13. package/dist/remote.js +1360 -300
  14. package/docs/AI.md +99 -17
  15. package/docs/COMPONENTS.md +58 -59
  16. package/docs/FORMAT.md +10 -10
  17. package/docs/PROFILES.md +39 -22
  18. package/docs/README.md +11 -5
  19. package/docs/profiles/components/UiAddButton.yml +134 -0
  20. package/docs/profiles/components/UiAlert.yml +105 -0
  21. package/docs/profiles/components/UiAvatar.yml +88 -0
  22. package/docs/profiles/{UiAvatarList.yml → components/UiAvatarList.yml} +26 -0
  23. package/docs/profiles/{UiButton.yml → components/UiButton.yml} +14 -8
  24. package/docs/profiles/components/UiCalendar.yml +190 -0
  25. package/docs/profiles/components/UiCheckbox.yml +111 -0
  26. package/docs/profiles/components/UiCollapse.yml +129 -0
  27. package/docs/profiles/components/UiCollapseBox.yml +143 -0
  28. package/docs/profiles/{UiCollapseGroup.yml → components/UiCollapseGroup.yml} +24 -0
  29. package/docs/profiles/components/UiCopyButton.yml +104 -0
  30. package/docs/profiles/components/UiDate.yml +84 -0
  31. package/docs/profiles/components/UiDatePicker.yml +138 -0
  32. package/docs/profiles/components/UiError.yml +123 -0
  33. package/docs/profiles/{UiField.yml → components/UiField.yml} +46 -15
  34. package/docs/profiles/components/UiInfobox.yml +130 -0
  35. package/docs/profiles/components/UiLink.yml +111 -0
  36. package/docs/profiles/components/UiLoader.yml +71 -0
  37. package/docs/profiles/components/UiMenuItem.yml +93 -0
  38. package/docs/profiles/{UiMenuItemGroup.yml → components/UiMenuItemGroup.yml} +25 -0
  39. package/docs/profiles/components/UiModalSidebar.yml +156 -0
  40. package/docs/profiles/components/UiModalWindow.yml +181 -0
  41. package/docs/profiles/{UiModalWindowSurface.yml → components/UiModalWindowSurface.yml} +30 -0
  42. package/docs/profiles/components/UiNumberStepper.yml +100 -0
  43. package/docs/profiles/{UiPageHeader.yml → components/UiPageHeader.yml} +39 -23
  44. package/docs/profiles/components/UiPopconfirm.yml +164 -0
  45. package/docs/profiles/{UiPopper.yml → components/UiPopper.yml} +66 -13
  46. package/docs/profiles/{UiPopperConnector.yml → components/UiPopperConnector.yml} +5 -25
  47. package/docs/profiles/{UiPopperTarget.yml → components/UiPopperTarget.yml} +5 -25
  48. package/docs/profiles/components/UiRadio.yml +91 -0
  49. package/docs/profiles/{UiRadioSwitch.yml → components/UiRadioSwitch.yml} +55 -32
  50. package/docs/profiles/{UiRadioSwitchOption.yml → components/UiRadioSwitchOption.yml} +7 -13
  51. package/docs/profiles/components/UiScrollBox.yml +108 -0
  52. package/docs/profiles/{UiSelect.yml → components/UiSelect.yml} +133 -44
  53. package/docs/profiles/components/UiSelectOption.yml +74 -0
  54. package/docs/profiles/components/UiSelectOptionGroup.yml +66 -0
  55. package/docs/profiles/components/UiSkeleton.yml +82 -0
  56. package/docs/profiles/components/UiSlider.yml +161 -0
  57. package/docs/profiles/components/UiSwitch.yml +123 -0
  58. package/docs/profiles/components/UiTab.yml +234 -0
  59. package/docs/profiles/{UiTabGroup.yml → components/UiTabGroup.yml} +0 -30
  60. package/docs/profiles/components/UiTable.yml +622 -0
  61. package/docs/profiles/{UiTableBodyCell.yml → components/UiTableBodyCell.yml} +26 -0
  62. package/docs/profiles/components/UiTableColumn.yml +87 -0
  63. package/docs/profiles/components/UiTableFooterButton.yml +85 -0
  64. package/docs/profiles/components/UiTableFooterSection.yml +73 -0
  65. package/docs/profiles/{UiTableHeadCell.yml → components/UiTableHeadCell.yml} +26 -0
  66. package/docs/profiles/{UiTableSorter.yml → components/UiTableSorter.yml} +27 -0
  67. package/docs/profiles/components/UiTag.yml +90 -0
  68. package/docs/profiles/{UiTextbox.yml → components/UiTextbox.yml} +20 -32
  69. package/docs/profiles/components/UiTimePicker.yml +144 -0
  70. package/docs/profiles/{UiToggleButton.yml → components/UiToggleButton.yml} +16 -11
  71. package/docs/profiles/{UiToggleGroup.yml → components/UiToggleGroup.yml} +25 -13
  72. package/docs/profiles/{UiToggleGroupOption.yml → components/UiToggleGroupOption.yml} +7 -11
  73. package/docs/profiles/components/UiToolbarButton.yml +87 -0
  74. package/docs/profiles/components/UiToolbarLink.yml +80 -0
  75. package/docs/profiles/components/UiTooltip.yml +97 -0
  76. package/docs/profiles/components/UiTransition.yml +62 -0
  77. package/docs/profiles/components/UiYandexMap.yml +104 -0
  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 +15 -15
  86. package/docs/profiles/UiAddButton.yml +0 -57
  87. package/docs/profiles/UiAlert.yml +0 -48
  88. package/docs/profiles/UiAvatar.yml +0 -48
  89. package/docs/profiles/UiCalendar.yml +0 -48
  90. package/docs/profiles/UiCheckbox.yml +0 -53
  91. package/docs/profiles/UiCollapse.yml +0 -40
  92. package/docs/profiles/UiCollapseBox.yml +0 -51
  93. package/docs/profiles/UiCopyButton.yml +0 -52
  94. package/docs/profiles/UiDate.yml +0 -38
  95. package/docs/profiles/UiDatePicker.yml +0 -59
  96. package/docs/profiles/UiError.yml +0 -32
  97. package/docs/profiles/UiImage.yml +0 -39
  98. package/docs/profiles/UiInfobox.yml +0 -45
  99. package/docs/profiles/UiLink.yml +0 -51
  100. package/docs/profiles/UiLoader.yml +0 -38
  101. package/docs/profiles/UiMenuItem.yml +0 -57
  102. package/docs/profiles/UiModalSidebar.yml +0 -46
  103. package/docs/profiles/UiModalWindow.yml +0 -44
  104. package/docs/profiles/UiNumberStepper.yml +0 -52
  105. package/docs/profiles/UiRadio.yml +0 -38
  106. package/docs/profiles/UiScrollBox.yml +0 -31
  107. package/docs/profiles/UiSelectOption.yml +0 -44
  108. package/docs/profiles/UiSelectOptionGroup.yml +0 -38
  109. package/docs/profiles/UiSkeleton.yml +0 -41
  110. package/docs/profiles/UiSlider.yml +0 -38
  111. package/docs/profiles/UiSwitch.yml +0 -37
  112. package/docs/profiles/UiTab.yml +0 -119
  113. package/docs/profiles/UiTable.yml +0 -152
  114. package/docs/profiles/UiTableColumn.yml +0 -50
  115. package/docs/profiles/UiTableFooterButton.yml +0 -44
  116. package/docs/profiles/UiTableFooterSection.yml +0 -38
  117. package/docs/profiles/UiTag.yml +0 -41
  118. package/docs/profiles/UiTimePicker.yml +0 -46
  119. package/docs/profiles/UiToolbarButton.yml +0 -37
  120. package/docs/profiles/UiToolbarLink.yml +0 -32
  121. package/docs/profiles/UiTooltip.yml +0 -43
  122. package/docs/profiles/UiTransition.yml +0 -27
  123. 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.
@@ -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.
@@ -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