prime-ui-kit 0.17.0 → 0.19.0
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/README.md +2 -1
- package/dist/chunks/{chunk-PRP4B6OG.js → chunk-IVS3J7AS.js} +1 -1
- package/dist/chunks/{chunk-2ODXLPW3.js → chunk-QFHE5GKW.js} +1 -0
- package/dist/chunks/{chunk-7WWZYGRC.js → chunk-RZNGLELR.js} +4497 -3896
- package/dist/chunks/{chunk-A4WE3UNC.js → chunk-WYCTXD63.js} +18399 -17624
- package/dist/chunks/{chunk-SVFWPLNW.js → chunk-ZTZ2ML2B.js} +14 -3
- package/dist/color-picker.js +3 -3
- package/dist/components/badge/Badge.d.ts +17 -0
- package/dist/components/breadcrumb/Breadcrumb.d.ts +11 -2
- package/dist/components/button/Button.d.ts +1 -1
- package/dist/components/button-group/ButtonGroup.d.ts +1 -1
- package/dist/components/card/Card.d.ts +8 -4
- package/dist/components/chat/Chat.d.ts +3 -3
- package/dist/components/chat/MessageList.d.ts +5 -1
- package/dist/components/chat/groupMessages.d.ts +12 -4
- package/dist/components/chat-list/ChatList.d.ts +18 -9
- package/dist/components/chat-list/formatChatTime.d.ts +3 -3
- package/dist/components/checkbox/Checkbox.d.ts +6 -1
- package/dist/components/color-field/ColorField.d.ts +1 -1
- package/dist/components/color-picker/ColorPicker.d.ts +6 -1
- package/dist/components/color-picker/ColorPresets.d.ts +9 -1
- package/dist/components/crossfade/Crossfade.d.ts +1 -1
- package/dist/components/data-table/ColumnsMenu.d.ts +16 -20
- package/dist/components/data-table/DataTable.d.ts +16 -11
- package/dist/components/data-table/Head.d.ts +10 -1
- package/dist/components/data-table/Row.d.ts +7 -1
- package/dist/components/data-table/StateRows.d.ts +3 -1
- package/dist/components/data-table/types.d.ts +5 -0
- package/dist/components/digit-input/DigitInput.d.ts +1 -1
- package/dist/components/drawer/Drawer.d.ts +3 -2
- package/dist/components/field-list/FieldList.d.ts +24 -12
- package/dist/components/hint/Hint.d.ts +8 -2
- package/dist/components/index.d.ts +7 -4
- package/dist/components/input/Input.d.ts +27 -5
- package/dist/components/input/inputSuggestions.d.ts +39 -0
- package/dist/components/kanban/Kanban.d.ts +8 -9
- package/dist/components/list/List.d.ts +25 -6
- package/dist/components/message/Message.d.ts +15 -3
- package/dist/components/message/MessageSticker.d.ts +27 -0
- package/dist/components/message/formatMessageTime.d.ts +5 -2
- package/dist/components/modal/Modal.d.ts +3 -2
- package/dist/components/native-select/NativeSelect.d.ts +1 -1
- package/dist/components/radio/Radio.d.ts +11 -2
- package/dist/components/rich-text/RichText.d.ts +23 -0
- package/dist/components/scroll-container/ScrollContainer.d.ts +1 -1
- package/dist/components/scroll-container/scrollGlide.d.ts +26 -0
- package/dist/components/scroll-container/useScrollMotion.d.ts +25 -0
- package/dist/components/segmented-control/SegmentedControl.d.ts +1 -1
- package/dist/components/select/selectContext.d.ts +7 -0
- package/dist/components/slider/Slider.d.ts +1 -1
- package/dist/components/switch/Switch.d.ts +6 -1
- package/dist/components/tag-select/TagSelect.d.ts +1 -1
- package/dist/components/textarea/Textarea.d.ts +6 -1
- package/dist/components/timeline/Timeline.d.ts +1 -1
- package/dist/icon-set.js +2 -2
- package/dist/index.css +1 -1
- package/dist/index.js +5 -3
- package/dist/internal/ChoiceField.d.ts +3 -1
- package/dist/internal/FieldFrame.d.ts +8 -2
- package/dist/internal/fieldCell.d.ts +7 -1
- package/dist/internal/formatClock.d.ts +23 -2
- package/dist/internal/leaveGuard.d.ts +27 -0
- package/dist/internal/messageList.d.ts +2 -0
- package/dist/internal/overlay/DialogGuard.d.ts +3 -2
- package/dist/internal/overlay/DialogParts.d.ts +40 -6
- package/dist/internal/swatch.d.ts +5 -0
- package/dist/internal/tokenDefaults.d.ts +1 -0
- package/dist/layout/index.d.ts +1 -1
- package/dist/layout/page/Page.d.ts +48 -15
- package/dist/skill/anti-slop.md +28 -0
- package/dist/skill/api-contract.md +14 -7
- package/dist/skill/cheatsheet.md +28 -9
- package/dist/skill/checklist.md +9 -0
- package/dist/skill/choosing.md +25 -12
- package/dist/skill/components.md +1 -0
- package/dist/skill/composition.md +88 -16
- package/dist/skill/layouts.md +6 -4
- package/dist/skill/reference/components/badge/COMPONENT.md +14 -1
- package/dist/skill/reference/components/badge/examples/examples.module.css +7 -0
- package/dist/skill/reference/components/badge/examples/tag-row.tsx +34 -0
- package/dist/skill/reference/components/breadcrumb/COMPONENT.md +9 -4
- package/dist/skill/reference/components/breadcrumb/examples/router.tsx +17 -0
- package/dist/skill/reference/components/button/COMPONENT.md +1 -1
- package/dist/skill/reference/components/button-group/COMPONENT.md +1 -0
- package/dist/skill/reference/components/card/COMPONENT.md +7 -1
- package/dist/skill/reference/components/card/examples/states.tsx +59 -0
- package/dist/skill/reference/components/chat/COMPONENT.md +4 -1
- package/dist/skill/reference/components/chat/examples/time-zone.tsx +83 -0
- package/dist/skill/reference/components/chat-list/COMPONENT.md +12 -6
- package/dist/skill/reference/components/chat-list/examples/links.tsx +1 -1
- package/dist/skill/reference/components/chat-list/examples/router.tsx +63 -0
- package/dist/skill/reference/components/checkbox/COMPONENT.md +1 -0
- package/dist/skill/reference/components/color-field/COMPONENT.md +2 -1
- package/dist/skill/reference/components/color-picker/COMPONENT.md +14 -5
- package/dist/skill/reference/components/color-picker/examples/presets-custom.tsx +31 -0
- package/dist/skill/reference/components/color-swatches/COMPONENT.md +1 -0
- package/dist/skill/reference/components/confirm-dialog/COMPONENT.md +1 -1
- package/dist/skill/reference/components/crossfade/COMPONENT.md +1 -1
- package/dist/skill/reference/components/data-table/COMPONENT.md +46 -41
- package/dist/skill/reference/components/data-table/examples/actions-column.tsx +154 -0
- package/dist/skill/reference/components/data-table/examples/columns-visibility.tsx +3 -12
- package/dist/skill/reference/components/data-table/examples/controlled.tsx +1 -1
- package/dist/skill/reference/components/data-table/examples/narrow.tsx +4 -11
- package/dist/skill/reference/components/data-table/examples/numeric.tsx +9 -2
- package/dist/skill/reference/components/data-table/examples/row-link.tsx +18 -22
- package/dist/skill/reference/components/data-table/examples/screen.tsx +12 -1
- package/dist/skill/reference/components/data-table/examples/toolbar.tsx +26 -32
- package/dist/skill/reference/components/datepicker/COMPONENT.md +3 -1
- package/dist/skill/reference/components/datepicker/examples/deadline.tsx +33 -0
- package/dist/skill/reference/components/digit-input/COMPONENT.md +1 -0
- package/dist/skill/reference/components/dnd/COMPONENT.md +4 -3
- package/dist/skill/reference/components/dnd/examples/examples.module.css +4 -3
- package/dist/skill/reference/components/dnd/examples/handle.tsx +5 -5
- package/dist/skill/reference/components/dnd/examples/locked.tsx +1 -1
- package/dist/skill/reference/components/dnd/examples/table.tsx +6 -6
- package/dist/skill/reference/components/drawer/COMPONENT.md +38 -9
- package/dist/skill/reference/components/drawer/examples/client-card.tsx +32 -8
- package/dist/skill/reference/components/drawer/examples/header-actions.tsx +1 -1
- package/dist/skill/reference/components/drawer/examples/loading.tsx +58 -0
- package/dist/skill/reference/components/field-list/COMPONENT.md +40 -24
- package/dist/skill/reference/components/field-list/examples/base-row.tsx +2 -1
- package/dist/skill/reference/components/field-list/examples/locked.tsx +11 -11
- package/dist/skill/reference/components/field-list/examples/reorder.tsx +1 -1
- package/dist/skill/reference/components/field-list/examples/saving.tsx +83 -0
- package/dist/skill/reference/components/field-list/examples/screen.module.css +1 -1
- package/dist/skill/reference/components/field-list/examples/screen.tsx +168 -162
- package/dist/skill/reference/components/field-list/examples/totals.tsx +83 -0
- package/dist/skill/reference/components/file-upload/COMPONENT.md +1 -0
- package/dist/skill/reference/components/hint/COMPONENT.md +16 -2
- package/dist/skill/reference/components/hint/examples/variants.tsx +48 -0
- package/dist/skill/reference/components/input/COMPONENT.md +39 -9
- package/dist/skill/reference/components/input/examples/affixes.tsx +4 -2
- package/dist/skill/reference/components/input/examples/dismiss.tsx +29 -0
- package/dist/skill/reference/components/input/examples/suggestions.tsx +26 -0
- package/dist/skill/reference/components/input/examples/time.tsx +24 -0
- package/dist/skill/reference/components/input/examples/with-select.tsx +44 -0
- package/dist/skill/reference/components/kanban/COMPONENT.md +12 -8
- package/dist/skill/reference/components/kanban/examples/columns.tsx +4 -2
- package/dist/skill/reference/components/kanban/examples/states.tsx +7 -5
- package/dist/skill/reference/components/list/COMPONENT.md +39 -13
- package/dist/skill/reference/components/list/examples/reorder.tsx +42 -7
- package/dist/skill/reference/components/list/examples/row-controls.tsx +80 -0
- package/dist/skill/reference/components/list/examples/with-icon.tsx +23 -2
- package/dist/skill/reference/components/login-form/COMPONENT.md +8 -7
- package/dist/skill/reference/components/login-form/examples/states.tsx +12 -14
- package/dist/skill/reference/components/message/COMPONENT.md +30 -9
- package/dist/skill/reference/components/message/examples/preview.tsx +28 -0
- package/dist/skill/reference/components/message/examples/sticker.tsx +35 -0
- package/dist/skill/reference/components/modal/COMPONENT.md +35 -10
- package/dist/skill/reference/components/modal/examples/long-content.tsx +37 -18
- package/dist/skill/reference/components/native-select/COMPONENT.md +1 -0
- package/dist/skill/reference/components/notification/COMPONENT.md +1 -1
- package/dist/skill/reference/components/radio/COMPONENT.md +2 -0
- package/dist/skill/reference/components/rich-text/COMPONENT.md +93 -0
- package/dist/skill/reference/components/rich-text/examples/overview.tsx +19 -0
- package/dist/skill/reference/components/scroll-container/COMPONENT.md +8 -5
- package/dist/skill/reference/components/segmented-control/COMPONENT.md +4 -2
- package/dist/skill/reference/components/segmented-control/examples/in-form.tsx +1 -1
- package/dist/skill/reference/components/select/COMPONENT.md +7 -3
- package/dist/skill/reference/components/sheet/COMPONENT.md +18 -7
- package/dist/skill/reference/components/slider/COMPONENT.md +1 -0
- package/dist/skill/reference/components/slider/examples/controlled.tsx +1 -1
- package/dist/skill/reference/components/switch/COMPONENT.md +1 -0
- package/dist/skill/reference/components/tag-select/COMPONENT.md +1 -0
- package/dist/skill/reference/components/textarea/COMPONENT.md +1 -0
- package/dist/skill/reference/components/timeline/COMPONENT.md +3 -3
- package/dist/skill/reference/components/timeline/examples/structure.tsx +2 -1
- package/dist/skill/reference/layout/app-shell/COMPONENT.md +2 -2
- package/dist/skill/reference/layout/bottom-nav/COMPONENT.md +1 -0
- package/dist/skill/reference/layout/page/COMPONENT.md +42 -20
- package/dist/skill/reference/layout/page/examples/examples.module.css +7 -0
- package/dist/skill/reference/layout/page/examples/guard.tsx +87 -0
- package/dist/skill/reference/layout/page/examples/loading.tsx +57 -0
- package/dist/skill/reference/layout/page/examples/screen.module.css +1 -1
- package/dist/skill/reference/layout/page/examples/screen.tsx +93 -104
- package/dist/skill/reference/layout/page/examples/sections.tsx +2 -15
- package/dist/skill/reference/layout/sidebar/COMPONENT.md +1 -0
- package/dist/skill/responsive.md +19 -12
- package/dist/skill/ux.md +5 -3
- package/dist/tokens/semantic.d.ts +3 -1
- package/dist/tokens/themes/dark.d.ts +1 -1
- package/package.json +2 -2
- package/src/components/badge/COMPONENT.md +14 -1
- package/src/components/badge/examples/examples.module.css +7 -0
- package/src/components/badge/examples/tag-row.tsx +34 -0
- package/src/components/breadcrumb/COMPONENT.md +9 -4
- package/src/components/breadcrumb/examples/router.tsx +17 -0
- package/src/components/button/COMPONENT.md +1 -1
- package/src/components/button-group/COMPONENT.md +1 -0
- package/src/components/card/COMPONENT.md +7 -1
- package/src/components/card/examples/states.tsx +59 -0
- package/src/components/chat/COMPONENT.md +4 -1
- package/src/components/chat/examples/time-zone.tsx +83 -0
- package/src/components/chat-list/COMPONENT.md +12 -6
- package/src/components/chat-list/examples/links.tsx +1 -1
- package/src/components/chat-list/examples/router.tsx +63 -0
- package/src/components/checkbox/COMPONENT.md +1 -0
- package/src/components/color-field/COMPONENT.md +2 -1
- package/src/components/color-picker/COMPONENT.md +14 -5
- package/src/components/color-picker/examples/presets-custom.tsx +31 -0
- package/src/components/color-swatches/COMPONENT.md +1 -0
- package/src/components/confirm-dialog/COMPONENT.md +1 -1
- package/src/components/crossfade/COMPONENT.md +1 -1
- package/src/components/data-table/COMPONENT.md +46 -41
- package/src/components/data-table/examples/actions-column.tsx +154 -0
- package/src/components/data-table/examples/columns-visibility.tsx +3 -12
- package/src/components/data-table/examples/controlled.tsx +1 -1
- package/src/components/data-table/examples/narrow.tsx +4 -11
- package/src/components/data-table/examples/numeric.tsx +9 -2
- package/src/components/data-table/examples/row-link.tsx +18 -22
- package/src/components/data-table/examples/screen.tsx +12 -1
- package/src/components/data-table/examples/toolbar.tsx +26 -32
- package/src/components/datepicker/COMPONENT.md +3 -1
- package/src/components/datepicker/examples/deadline.tsx +33 -0
- package/src/components/digit-input/COMPONENT.md +1 -0
- package/src/components/dnd/COMPONENT.md +4 -3
- package/src/components/dnd/examples/examples.module.css +4 -3
- package/src/components/dnd/examples/handle.tsx +5 -5
- package/src/components/dnd/examples/locked.tsx +1 -1
- package/src/components/dnd/examples/table.tsx +6 -6
- package/src/components/drawer/COMPONENT.md +38 -9
- package/src/components/drawer/examples/client-card.tsx +32 -8
- package/src/components/drawer/examples/header-actions.tsx +1 -1
- package/src/components/drawer/examples/loading.tsx +58 -0
- package/src/components/field-list/COMPONENT.md +40 -24
- package/src/components/field-list/examples/base-row.tsx +2 -1
- package/src/components/field-list/examples/locked.tsx +11 -11
- package/src/components/field-list/examples/reorder.tsx +1 -1
- package/src/components/field-list/examples/saving.tsx +83 -0
- package/src/components/field-list/examples/screen.module.css +1 -1
- package/src/components/field-list/examples/screen.tsx +168 -162
- package/src/components/field-list/examples/totals.tsx +83 -0
- package/src/components/file-upload/COMPONENT.md +1 -0
- package/src/components/hint/COMPONENT.md +16 -2
- package/src/components/hint/examples/variants.tsx +48 -0
- package/src/components/input/COMPONENT.md +39 -9
- package/src/components/input/examples/affixes.tsx +4 -2
- package/src/components/input/examples/dismiss.tsx +29 -0
- package/src/components/input/examples/suggestions.tsx +26 -0
- package/src/components/input/examples/time.tsx +24 -0
- package/src/components/input/examples/with-select.tsx +44 -0
- package/src/components/kanban/COMPONENT.md +12 -8
- package/src/components/kanban/examples/columns.tsx +4 -2
- package/src/components/kanban/examples/states.tsx +7 -5
- package/src/components/list/COMPONENT.md +39 -13
- package/src/components/list/examples/reorder.tsx +42 -7
- package/src/components/list/examples/row-controls.tsx +80 -0
- package/src/components/list/examples/with-icon.tsx +23 -2
- package/src/components/login-form/COMPONENT.md +8 -7
- package/src/components/login-form/examples/states.tsx +12 -14
- package/src/components/message/COMPONENT.md +30 -9
- package/src/components/message/examples/preview.tsx +28 -0
- package/src/components/message/examples/sticker.tsx +35 -0
- package/src/components/modal/COMPONENT.md +35 -10
- package/src/components/modal/examples/long-content.tsx +37 -18
- package/src/components/native-select/COMPONENT.md +1 -0
- package/src/components/notification/COMPONENT.md +1 -1
- package/src/components/radio/COMPONENT.md +2 -0
- package/src/components/rich-text/COMPONENT.md +93 -0
- package/src/components/rich-text/examples/overview.tsx +19 -0
- package/src/components/scroll-container/COMPONENT.md +8 -5
- package/src/components/segmented-control/COMPONENT.md +4 -2
- package/src/components/segmented-control/examples/in-form.tsx +1 -1
- package/src/components/select/COMPONENT.md +7 -3
- package/src/components/sheet/COMPONENT.md +18 -7
- package/src/components/slider/COMPONENT.md +1 -0
- package/src/components/slider/examples/controlled.tsx +1 -1
- package/src/components/switch/COMPONENT.md +1 -0
- package/src/components/tag-select/COMPONENT.md +1 -0
- package/src/components/textarea/COMPONENT.md +1 -0
- package/src/components/timeline/COMPONENT.md +3 -3
- package/src/components/timeline/examples/structure.tsx +2 -1
- package/src/layout/app-shell/COMPONENT.md +2 -2
- package/src/layout/bottom-nav/COMPONENT.md +1 -0
- package/src/layout/page/COMPONENT.md +42 -20
- package/src/layout/page/examples/examples.module.css +7 -0
- package/src/layout/page/examples/guard.tsx +87 -0
- package/src/layout/page/examples/loading.tsx +57 -0
- package/src/layout/page/examples/screen.module.css +1 -1
- package/src/layout/page/examples/screen.tsx +93 -104
- package/src/layout/page/examples/sections.tsx +2 -15
- package/src/layout/sidebar/COMPONENT.md +1 -0
- package/src/styles/theme-dark.css +1 -1
- package/src/styles/theme-light.css +2 -1
- package/dist/components/data-table/context.d.ts +0 -14
- package/dist/components/scroll-container/useWheelToInline.d.ts +0 -10
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** A settings page as a document: the path in the top bar that repeats the title once it scrolls away, the large title in the flow,
|
|
1
|
+
/** A settings page as a document: the path in the top bar that repeats the title once it scrolls away, the large title in the flow, each section a card with its own heading, a form saved by its own button, switches that apply at once and a danger zone with a confirm — `collapse`, `maxWidth`, `Card.Header`. */
|
|
2
2
|
import {
|
|
3
3
|
Breadcrumb,
|
|
4
4
|
Button,
|
|
@@ -88,118 +88,107 @@ export default function PageScreenExample() {
|
|
|
88
88
|
</Page.Heading>
|
|
89
89
|
</Page.Header>
|
|
90
90
|
<Page.Body>
|
|
91
|
-
<
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
<Card.
|
|
98
|
-
<
|
|
99
|
-
<
|
|
100
|
-
<Input.
|
|
91
|
+
<form noValidate onSubmit={save} onReset={() => setInnError(undefined)}>
|
|
92
|
+
<Card.Root variant="panel">
|
|
93
|
+
<Card.Header>
|
|
94
|
+
<Card.Title as="h2">Компания</Card.Title>
|
|
95
|
+
<Card.Description>Попадают в счета, акты и письма клиентам.</Card.Description>
|
|
96
|
+
</Card.Header>
|
|
97
|
+
<Card.Body>
|
|
98
|
+
<Fieldset disabled={saving}>
|
|
99
|
+
<Input.Root label="Название">
|
|
100
|
+
<Input.Wrapper>
|
|
101
|
+
<Input.Field name="name" defaultValue="ООО «Прайм Софт»" />
|
|
102
|
+
</Input.Wrapper>
|
|
103
|
+
</Input.Root>
|
|
104
|
+
<div className={styles.pair}>
|
|
105
|
+
<Input.Root label="ИНН" error={innError} hint="10 или 12 цифр" reserveSupportRow>
|
|
101
106
|
<Input.Wrapper>
|
|
102
|
-
<Input.Field name="
|
|
107
|
+
<Input.Field name="inn" inputMode="numeric" defaultValue="7704512908" />
|
|
103
108
|
</Input.Wrapper>
|
|
104
109
|
</Input.Root>
|
|
105
|
-
<
|
|
106
|
-
<
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
</
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
))}
|
|
126
|
-
</Select.Content>
|
|
127
|
-
</Select.Root>
|
|
128
|
-
</div>
|
|
129
|
-
<Textarea.Root
|
|
130
|
-
name="address"
|
|
131
|
-
label="Юридический адрес"
|
|
132
|
-
optional
|
|
133
|
-
rows={2}
|
|
134
|
-
defaultValue="125009, Москва, ул. Тверская, д. 7, офис 412"
|
|
135
|
-
/>
|
|
136
|
-
</Fieldset>
|
|
137
|
-
</Card.Body>
|
|
138
|
-
<Card.Footer>
|
|
139
|
-
<Button.Root type="reset" variant="ghost" tone="neutral" disabled={saving}>
|
|
140
|
-
Отменить изменения
|
|
141
|
-
</Button.Root>
|
|
142
|
-
<Button.Root type="submit" loading={saving}>
|
|
143
|
-
{saved ? "Сохранено" : "Сохранить"}
|
|
144
|
-
</Button.Root>
|
|
145
|
-
</Card.Footer>
|
|
146
|
-
</Card.Root>
|
|
147
|
-
</form>
|
|
148
|
-
</Page.Section>
|
|
149
|
-
|
|
150
|
-
<Page.Section
|
|
151
|
-
layout="aside"
|
|
152
|
-
label="Уведомления"
|
|
153
|
-
description="Включаются сразу, без сохранения."
|
|
154
|
-
>
|
|
155
|
-
<Card.Root variant="panel">
|
|
156
|
-
<Card.Body>
|
|
157
|
-
<Fieldset aria-label="Уведомления">
|
|
158
|
-
{ALERTS.map((alert) => (
|
|
159
|
-
<Switch.Root
|
|
160
|
-
key={alert.name}
|
|
161
|
-
name={alert.name}
|
|
162
|
-
defaultChecked={alert.defaultChecked}
|
|
163
|
-
hint={alert.hint}
|
|
164
|
-
>
|
|
165
|
-
<Switch.Label>{alert.label}</Switch.Label>
|
|
166
|
-
</Switch.Root>
|
|
167
|
-
))}
|
|
110
|
+
<Select.Root label="Часовой пояс" defaultValue="Europe/Moscow">
|
|
111
|
+
<Select.Trigger>
|
|
112
|
+
<Select.Value />
|
|
113
|
+
</Select.Trigger>
|
|
114
|
+
<Select.Content searchable>
|
|
115
|
+
{TIMEZONES.map((zone) => (
|
|
116
|
+
<Select.Item key={zone.value} value={zone.value}>
|
|
117
|
+
{zone.label}
|
|
118
|
+
</Select.Item>
|
|
119
|
+
))}
|
|
120
|
+
</Select.Content>
|
|
121
|
+
</Select.Root>
|
|
122
|
+
</div>
|
|
123
|
+
<Textarea.Root
|
|
124
|
+
name="address"
|
|
125
|
+
label="Юридический адрес"
|
|
126
|
+
optional
|
|
127
|
+
rows={2}
|
|
128
|
+
defaultValue="125009, Москва, ул. Тверская, д. 7, офис 412"
|
|
129
|
+
/>
|
|
168
130
|
</Fieldset>
|
|
169
131
|
</Card.Body>
|
|
132
|
+
<Card.Footer>
|
|
133
|
+
<Button.Root type="reset" variant="ghost" tone="neutral" disabled={saving}>
|
|
134
|
+
Отменить изменения
|
|
135
|
+
</Button.Root>
|
|
136
|
+
<Button.Root type="submit" loading={saving}>
|
|
137
|
+
{saved ? "Сохранено" : "Сохранить"}
|
|
138
|
+
</Button.Root>
|
|
139
|
+
</Card.Footer>
|
|
170
140
|
</Card.Root>
|
|
171
|
-
</
|
|
141
|
+
</form>
|
|
172
142
|
|
|
173
|
-
<
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
<Card.
|
|
179
|
-
<
|
|
180
|
-
|
|
181
|
-
<
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
</div>
|
|
187
|
-
<ConfirmDialog.Root
|
|
188
|
-
title="Удалить «Прайм Софт»?"
|
|
189
|
-
description="312 счетов, 48 клиентов и вся история удалятся без возможности восстановления."
|
|
190
|
-
confirmLabel="Удалить пространство"
|
|
191
|
-
onConfirm={removeWorkspace}
|
|
143
|
+
<Card.Root variant="panel">
|
|
144
|
+
<Card.Header>
|
|
145
|
+
<Card.Title as="h2">Уведомления</Card.Title>
|
|
146
|
+
<Card.Description>Включаются сразу, без сохранения.</Card.Description>
|
|
147
|
+
</Card.Header>
|
|
148
|
+
<Card.Body>
|
|
149
|
+
<Fieldset aria-label="Уведомления">
|
|
150
|
+
{ALERTS.map((alert) => (
|
|
151
|
+
<Switch.Root
|
|
152
|
+
key={alert.name}
|
|
153
|
+
name={alert.name}
|
|
154
|
+
defaultChecked={alert.defaultChecked}
|
|
155
|
+
hint={alert.hint}
|
|
192
156
|
>
|
|
193
|
-
<
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
157
|
+
<Switch.Label>{alert.label}</Switch.Label>
|
|
158
|
+
</Switch.Root>
|
|
159
|
+
))}
|
|
160
|
+
</Fieldset>
|
|
161
|
+
</Card.Body>
|
|
162
|
+
</Card.Root>
|
|
163
|
+
|
|
164
|
+
<Card.Root variant="panel">
|
|
165
|
+
<Card.Header>
|
|
166
|
+
<Card.Title as="h2">Рабочее пространство</Card.Title>
|
|
167
|
+
<Card.Description>Действия, которые нельзя отменить.</Card.Description>
|
|
168
|
+
</Card.Header>
|
|
169
|
+
<Card.Body>
|
|
170
|
+
<div className={styles.danger}>
|
|
171
|
+
<div className={styles.dangerText}>
|
|
172
|
+
<Typography variant="title-s">Удалить пространство</Typography>
|
|
173
|
+
<Typography variant="body-s" tone="secondary">
|
|
174
|
+
Счета, клиенты и история будут удалены для всех участников.
|
|
175
|
+
</Typography>
|
|
199
176
|
</div>
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
177
|
+
<ConfirmDialog.Root
|
|
178
|
+
title="Удалить «Прайм Софт»?"
|
|
179
|
+
description="312 счетов, 48 клиентов и вся история удалятся без возможности восстановления."
|
|
180
|
+
confirmLabel="Удалить пространство"
|
|
181
|
+
onConfirm={removeWorkspace}
|
|
182
|
+
>
|
|
183
|
+
<ConfirmDialog.Trigger>
|
|
184
|
+
<Button.Root variant="outline" tone="danger">
|
|
185
|
+
Удалить
|
|
186
|
+
</Button.Root>
|
|
187
|
+
</ConfirmDialog.Trigger>
|
|
188
|
+
</ConfirmDialog.Root>
|
|
189
|
+
</div>
|
|
190
|
+
</Card.Body>
|
|
191
|
+
</Card.Root>
|
|
203
192
|
</Page.Body>
|
|
204
193
|
</Page.Root>
|
|
205
194
|
);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/** A page with titled sections: tiles of one screen close together, a new topic set off by air, a link at the end of the heading
|
|
2
|
-
import { Card, DataTable, type DataTableColumn, LinkButton, Page
|
|
1
|
+
/** A page with titled sections: tiles of one screen close together, a new topic set off by air, a link at the end of the heading — `Page.Section`, `label`, `description`, `Page.Actions`. */
|
|
2
|
+
import { Card, DataTable, type DataTableColumn, LinkButton, Page } from "prime-ui-kit";
|
|
3
3
|
|
|
4
4
|
import styles from "./examples.module.css";
|
|
5
5
|
|
|
@@ -55,19 +55,6 @@ export default function PageSectionsExample() {
|
|
|
55
55
|
</Page.Actions>
|
|
56
56
|
<DataTable columns={COLUMNS} rows={INVOICES} getRowKey={(row) => row.id} paging="none" />
|
|
57
57
|
</Page.Section>
|
|
58
|
-
<Page.Section
|
|
59
|
-
layout="aside"
|
|
60
|
-
label="Реквизиты в счетах"
|
|
61
|
-
description="Попадают в каждый новый счёт."
|
|
62
|
-
>
|
|
63
|
-
<Card.Root variant="panel">
|
|
64
|
-
<Card.Body>
|
|
65
|
-
<Typography variant="body-m" tone="secondary">
|
|
66
|
-
ООО «Прайм Софт», ИНН 7701234567, р/с в Т-Банке.
|
|
67
|
-
</Typography>
|
|
68
|
-
</Card.Body>
|
|
69
|
-
</Card.Root>
|
|
70
|
-
</Page.Section>
|
|
71
58
|
</Page.Body>
|
|
72
59
|
</div>
|
|
73
60
|
);
|
|
@@ -299,6 +299,7 @@ Put `<Sidebar.Toggle variant="header" />` next to `Sidebar.Brand` in the header,
|
|
|
299
299
|
## States
|
|
300
300
|
| State | Driven by | DOM |
|
|
301
301
|
|---|---|---|
|
|
302
|
+
| held | a `Page.Guard` that is `busy` or `dirty` on the page | a press on `Sidebar.Item` or `Sidebar.Brand` stops before it navigates (a router link included) and the panel stays; `dirty` asks first, then repeats it |
|
|
302
303
|
| mode | `mode` / `defaultMode` | Root `data-mode`, `data-panel-mode` (the last visible mode while hidden); `<nav inert>` while hidden |
|
|
303
304
|
| off-canvas | `offCanvas="always"`, or `"auto"` + viewport < 768px | Root `data-off-canvas`, `data-state="open" \| "closed"`; `<nav inert>` while closed; the kit scrim (`role="presentation"`) while open; in an `AppShell` the shell Root `data-off-canvas` |
|
|
304
305
|
| placing | the viewport crossed the off-canvas breakpoint (not a person's choice) | Root `data-placing` for one painted frame: the rail lands at its new width with no motion (no growing from 0, no folding rows, no sliding panel) |
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
--prime-color-accent-soft: var(--prime-ref-color-cobalt-950);
|
|
7
7
|
--prime-color-accent-soft-hover: color-mix(in srgb, var(--prime-ref-color-cobalt-500) 28%, transparent);
|
|
8
8
|
--prime-color-accent-text: var(--prime-ref-color-cobalt-400);
|
|
9
|
-
--prime-color-bg-edge-shadow: color-mix(in srgb, var(--prime-ref-color-black)
|
|
9
|
+
--prime-color-bg-edge-shadow: color-mix(in srgb, var(--prime-ref-color-black) 28%, transparent);
|
|
10
10
|
--prime-color-bg-glass: color-mix(in srgb, var(--prime-ref-color-gray-875) 76%, transparent);
|
|
11
11
|
--prime-color-bg-glass-edge: color-mix(in srgb, var(--prime-ref-color-white) 28%, transparent);
|
|
12
12
|
--prime-color-bg-inverse: var(--prime-ref-color-gray-100);
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
--prime-color-accent-soft: var(--prime-ref-color-cobalt-100);
|
|
70
70
|
--prime-color-accent-soft-hover: var(--prime-ref-color-cobalt-200);
|
|
71
71
|
--prime-color-accent-text: var(--prime-ref-color-cobalt-700);
|
|
72
|
-
--prime-color-bg-edge-shadow: color-mix(in srgb, var(--prime-ref-color-gray-925)
|
|
72
|
+
--prime-color-bg-edge-shadow: color-mix(in srgb, var(--prime-ref-color-gray-925) 8%, transparent);
|
|
73
73
|
--prime-color-bg-glass: color-mix(in srgb, var(--prime-ref-color-white) 72%, transparent);
|
|
74
74
|
--prime-color-bg-glass-edge: color-mix(in srgb, var(--prime-ref-color-white) 85%, transparent);
|
|
75
75
|
--prime-color-bg-glass-solid: var(--prime-color-layer-floating-bg);
|
|
@@ -367,6 +367,7 @@
|
|
|
367
367
|
--prime-message-padding-x: var(--prime-ref-space-3);
|
|
368
368
|
--prime-message-padding-y: var(--prime-ref-space-2);
|
|
369
369
|
--prime-message-radius: var(--prime-ref-radius-14);
|
|
370
|
+
--prime-message-sticker: 10rem;
|
|
370
371
|
--prime-message-tail-height: var(--prime-ref-space-4);
|
|
371
372
|
--prime-message-tail-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 16' preserveAspectRatio='none'%3E%3Cpath d='M8 0C8 7 6.5 12.5 0.6 15.3C0.2 15.5 0.3 16 0.8 16H8Z'/%3E%3C/svg%3E");
|
|
372
373
|
--prime-message-tail-width: var(--prime-ref-space-2);
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
import type { ControlSize } from "../../internal/states";
|
|
3
|
-
import type { DataTableLabels } from "./DataTable";
|
|
4
|
-
import type { DataTableColumn } from "./types";
|
|
5
|
-
/** What `DataTable.ColumnsMenu` reads from the table it sits in (through `toolbar`). */
|
|
6
|
-
export type DataTableColumnsContextValue = {
|
|
7
|
-
/** Every column, hidden ones included, in table order. */
|
|
8
|
-
columns: DataTableColumn<never>[];
|
|
9
|
-
hidden: ReadonlySet<string>;
|
|
10
|
-
setHidden: (hidden: string[]) => void;
|
|
11
|
-
labels: DataTableLabels;
|
|
12
|
-
size: ControlSize;
|
|
13
|
-
};
|
|
14
|
-
export declare const DataTableColumnsContext: React.Context<DataTableColumnsContextValue | null>;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
/**
|
|
3
|
-
* A vertical wheel over a strip that scrolls only sideways (`axis="horizontal"`) scrolls the strip:
|
|
4
|
-
* a mouse has no other way to reach what is hidden to the side. The browser's own sideways wheel
|
|
5
|
-
* (a trackpad swipe, Shift + wheel) stays native, and so does a page scroll that passes over the
|
|
6
|
-
* strip (a wheel gesture that began outside it keeps scrolling the page) or a strip already at the
|
|
7
|
-
* edge in that direction (the wheel chains to the page). The steps glide to an accumulated target
|
|
8
|
-
* (instant under reduced motion), so fast wheeling loses no distance.
|
|
9
|
-
*/
|
|
10
|
-
export declare function useWheelToInline(ref: React.RefObject<HTMLElement | null>, enabled: boolean): void;
|