@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,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
@@ -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.
@@ -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