@phpsoftbox/react-softbox 1.4.5 → 1.5.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 -0
- package/dist/components/Card/Card.d.ts +15 -0
- package/dist/components/Card/Card.js +119 -2
- package/dist/components/Card/Card.js.map +1 -1
- package/dist/components/Card/Card.module.css +95 -14
- package/dist/components/Input/Field.js +8 -3
- package/dist/components/Input/Field.js.map +1 -1
- package/dist/components/Input/FloatLabel/FloatLabel.module.css +8 -0
- package/dist/components/Input/FormField/FormField.module.css +13 -0
- package/dist/components/Input/MaskedInput.d.ts +1 -1
- package/dist/components/Input/MaskedInput.js +45 -5
- package/dist/components/Input/MaskedInput.js.map +1 -1
- package/dist/components/Input/Select/Select.js +12 -5
- package/dist/components/Input/Select/Select.js.map +1 -1
- package/dist/components/Input/Select/Select.module.css +6 -2
- package/dist/components/Menu/Dropdown.js +8 -1
- package/dist/components/Menu/Dropdown.js.map +1 -1
- package/dist/components/Menu/Menu.module.css +2 -1
- package/dist/components/Wizard/Wizard.d.ts +150 -0
- package/dist/components/Wizard/Wizard.js +486 -0
- package/dist/components/Wizard/Wizard.js.map +1 -0
- package/dist/components/Wizard/Wizard.module.css +155 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/docs/README.md +1 -0
- package/docs/card.md +18 -0
- package/docs/wizard.md +58 -0
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -32,8 +32,10 @@ export { default as MarkdownEditor } from './components/MarkdownEditor/MarkdownE
|
|
|
32
32
|
export { default as Markdown } from './components/MarkdownEditor/MarkdownEditor';
|
|
33
33
|
export { default as Tooltip } from './components/Tooltip/Tooltip';
|
|
34
34
|
export { default as Table } from './components/Table/Table';
|
|
35
|
+
export { default as Wizard } from './components/Wizard/Wizard';
|
|
35
36
|
export type { TableBulkAction, TableBulkActions, TableColumn, TableRenderBulkAction, TableSelection, TableSortDirection, TableSortOptions, TableSortState, } from './components/Table/Table';
|
|
36
37
|
export type { TooltipPlacement, TooltipVariant } from './components/Tooltip/Tooltip';
|
|
38
|
+
export type { WizardBlockedTransition, WizardDirection, WizardProgressState, WizardStep, WizardStepProps, WizardStepContentProps, WizardStepRenderProps, WizardStepStatus, WizardTemplateProps, WizardWindowSizeMap, WizardStepVisibilityContext, WizardTransitionContext, } from './components/Wizard/Wizard';
|
|
37
39
|
export { default as Text } from './components/Typography/Text';
|
|
38
40
|
export { default as Heading } from './components/Typography/Heading';
|
|
39
41
|
export { default as useMediaQuery } from './hooks/useMediaQuery';
|
package/dist/index.js
CHANGED
|
@@ -30,6 +30,7 @@ export { default as MarkdownEditor } from './components/MarkdownEditor/MarkdownE
|
|
|
30
30
|
export { default as Markdown } from './components/MarkdownEditor/MarkdownEditor';
|
|
31
31
|
export { default as Tooltip } from './components/Tooltip/Tooltip';
|
|
32
32
|
export { default as Table } from './components/Table/Table';
|
|
33
|
+
export { default as Wizard } from './components/Wizard/Wizard';
|
|
33
34
|
export { default as Text } from './components/Typography/Text';
|
|
34
35
|
export { default as Heading } from './components/Typography/Heading';
|
|
35
36
|
export { default as useMediaQuery } from './hooks/useMediaQuery';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAErE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAE3E,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAErE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAE3E,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,4BAA4B,CAAC;AA0B/D,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC"}
|
package/docs/README.md
CHANGED
package/docs/card.md
CHANGED
|
@@ -16,3 +16,21 @@
|
|
|
16
16
|
`Card.Header` умеет принимать:
|
|
17
17
|
- `title` и `subtitle`
|
|
18
18
|
- `right` для иконок/кнопок
|
|
19
|
+
|
|
20
|
+
## Toolbar
|
|
21
|
+
|
|
22
|
+
```tsx
|
|
23
|
+
<Card.Toolbar>
|
|
24
|
+
<Card.Toolbar.Group>
|
|
25
|
+
<Card.Toolbar.Button icon={<SaveIcon />} label="Сохранить" />
|
|
26
|
+
<Card.Toolbar.Button icon={<RefreshIcon />} />
|
|
27
|
+
</Card.Toolbar.Group>
|
|
28
|
+
</Card.Toolbar>
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
`Card.Toolbar.Button` принимает `icon` и/или `label` (минимум одно из них обязательно).
|
|
32
|
+
Если переданы оба, внутри кнопки появится вертикальный разделитель. На средних экранах текстовая часть скрывается.
|
|
33
|
+
|
|
34
|
+
Скрытие текста включено по умолчанию (`md`) и настраивается:
|
|
35
|
+
- на уровне `Card.Toolbar`: `buttonHideLabelOn="md" | "never"`
|
|
36
|
+
- на уровне конкретной кнопки: `hideLabelOn="md" | "never"` (переопределяет тулбар)
|
package/docs/wizard.md
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# Wizard
|
|
2
|
+
|
|
3
|
+
`Wizard` — поэтапная форма с условиями переходов.
|
|
4
|
+
|
|
5
|
+
```tsx
|
|
6
|
+
type FormState = {
|
|
7
|
+
email: string;
|
|
8
|
+
agreed: boolean;
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
const [state, setState] = useState<FormState>({ email: '', agreed: false });
|
|
12
|
+
|
|
13
|
+
<Wizard<FormState>
|
|
14
|
+
state={state}
|
|
15
|
+
showFutureSteps={false}
|
|
16
|
+
showPrevOnFirstStep
|
|
17
|
+
showProgress
|
|
18
|
+
>
|
|
19
|
+
<Wizard.Step
|
|
20
|
+
id="account"
|
|
21
|
+
title="Аккаунт"
|
|
22
|
+
canExit={({ state: current }) => current.email.trim().length > 0}
|
|
23
|
+
>
|
|
24
|
+
<Input>
|
|
25
|
+
<Input.Label>Email</Input.Label>
|
|
26
|
+
<Input.Field
|
|
27
|
+
value={state.email}
|
|
28
|
+
onChange={(event) => setState((prev) => ({ ...prev, email: event.target.value }))}
|
|
29
|
+
/>
|
|
30
|
+
</Input>
|
|
31
|
+
</Wizard.Step>
|
|
32
|
+
<Wizard.Step
|
|
33
|
+
id="confirm"
|
|
34
|
+
title="Подтверждение"
|
|
35
|
+
component={({ state: current }) => (
|
|
36
|
+
<Input.Checkbox
|
|
37
|
+
label="Согласен с условиями"
|
|
38
|
+
checked={current.agreed}
|
|
39
|
+
onChange={(event) => setState((prev) => ({ ...prev, agreed: event.target.checked }))}
|
|
40
|
+
/>
|
|
41
|
+
)}
|
|
42
|
+
canEnter={({ state: current }) => current.email.trim().length > 0}
|
|
43
|
+
/>
|
|
44
|
+
</Wizard>;
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Что можно настроить
|
|
48
|
+
|
|
49
|
+
- шаг как `content` (ReactNode), `component` или `renderContent`
|
|
50
|
+
- составной API через `Wizard.Step` (либо `steps` проп для массивов)
|
|
51
|
+
- guards переходов: `canEnter`, `canExit`
|
|
52
|
+
- видимость шагов: `showCurrentStep`, `showFutureSteps`, `step.hidden`
|
|
53
|
+
- режим длинного списка шагов: `stepsViewMode="all" | "active" | "window"` + `stepsWindowSize`
|
|
54
|
+
- адаптивное окно шагов: `stepsWindowSizeByBreakpoint={{ sm, md, lg, xl, default }}`
|
|
55
|
+
- кастомный рендер шага: `stepTemplate` у `Wizard` или `template` у `Wizard.Step`
|
|
56
|
+
- кнопка `Назад` на первом шаге: `showPrevOnFirstStep`
|
|
57
|
+
- встроенный `Progress`: `showProgress` + `progressProps`
|
|
58
|
+
- кастомный layout (в т.ч. вертикальный wizard): `template`, где можно разместить `stepsNode`, `progressNode`, `contentNode`, `actionsNode` в любом порядке
|