@phpsoftbox/react-softbox 1.15.1 → 1.16.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.
@@ -3,6 +3,7 @@ const useIsomorphicLayoutEffect = typeof window !== 'undefined' ? React.useLayou
3
3
  export default function useDropdownPosition(open, options = {}) {
4
4
  const { gap = 8, align = 'right', placement: requestedPlacement = 'auto', anchorRef, strategy = 'absolute' } = options;
5
5
  const ref = React.useRef(null);
6
+ const lockedPlacementRef = React.useRef(null);
6
7
  const [style, setStyle] = React.useState({});
7
8
  const [currentPlacement, setCurrentPlacement] = React.useState('down');
8
9
  const clamp = (value, min, max) => Math.min(Math.max(value, min), max);
@@ -19,7 +20,9 @@ export default function useDropdownPosition(open, options = {}) {
19
20
  let offset = 0;
20
21
  let maxWidth;
21
22
  let maxHeight;
22
- let nextPlacement = requestedPlacement === 'auto' ? 'down' : requestedPlacement;
23
+ let nextPlacement = requestedPlacement === 'auto'
24
+ ? lockedPlacementRef.current ?? 'down'
25
+ : requestedPlacement;
23
26
  if (rect.right > window.innerWidth - padding) {
24
27
  offset = window.innerWidth - padding - rect.right;
25
28
  }
@@ -29,11 +32,17 @@ export default function useDropdownPosition(open, options = {}) {
29
32
  if (rect.width > availableWidth) {
30
33
  maxWidth = availableWidth;
31
34
  }
32
- if (requestedPlacement === 'auto') {
35
+ if (requestedPlacement === 'auto' && !lockedPlacementRef.current) {
33
36
  if (rect.height > availableBelow && availableAbove > availableBelow) {
34
37
  nextPlacement = 'up';
35
38
  }
36
39
  }
40
+ if (requestedPlacement !== 'auto') {
41
+ lockedPlacementRef.current = nextPlacement;
42
+ }
43
+ else if (!lockedPlacementRef.current) {
44
+ lockedPlacementRef.current = nextPlacement;
45
+ }
37
46
  const availableSpace = nextPlacement === 'up' ? availableAbove : availableBelow;
38
47
  if (availableSpace > 0 && rect.height > availableSpace) {
39
48
  maxHeight = Math.max(140, availableSpace);
@@ -70,6 +79,7 @@ export default function useDropdownPosition(open, options = {}) {
70
79
  }, [gap, align, requestedPlacement, anchorRef, strategy]);
71
80
  useIsomorphicLayoutEffect(() => {
72
81
  if (!open) {
82
+ lockedPlacementRef.current = null;
73
83
  setStyle({});
74
84
  setCurrentPlacement('down');
75
85
  return;
@@ -86,6 +96,27 @@ export default function useDropdownPosition(open, options = {}) {
86
96
  window.removeEventListener('scroll', handler, true);
87
97
  };
88
98
  }, [open, compute, strategy]);
99
+ useIsomorphicLayoutEffect(() => {
100
+ if (!open || typeof ResizeObserver === 'undefined') {
101
+ return;
102
+ }
103
+ let frame = 0;
104
+ const scheduleCompute = () => {
105
+ window.cancelAnimationFrame(frame);
106
+ frame = window.requestAnimationFrame(compute);
107
+ };
108
+ const observer = new ResizeObserver(scheduleCompute);
109
+ if (ref.current) {
110
+ observer.observe(ref.current);
111
+ }
112
+ if (anchorRef?.current) {
113
+ observer.observe(anchorRef.current);
114
+ }
115
+ return () => {
116
+ window.cancelAnimationFrame(frame);
117
+ observer.disconnect();
118
+ };
119
+ }, [open, compute, anchorRef]);
89
120
  return { ref, style, placement: currentPlacement };
90
121
  }
91
122
  //# sourceMappingURL=useDropdownPosition.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDropdownPosition.js","sourceRoot":"","sources":["../../src/hooks/useDropdownPosition.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useDropdownPosition.js","sourceRoot":"","sources":["../../src/hooks/useDropdownPosition.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -31,8 +31,6 @@ export { default as Progress } from './components/Progress/Progress';
31
31
  export { default as Breadcrumbs } from './components/Breadcrumbs/Breadcrumbs';
32
32
  export { default as Image } from './components/Image/Image';
33
33
  export { default as FileUploader } from './components/FileUploader/FileUploader';
34
- export { default as MarkdownEditor } from './components/MarkdownEditor/MarkdownEditor';
35
- export { default as Markdown } from './components/MarkdownEditor/MarkdownEditor';
36
34
  export { default as Tooltip } from './components/Tooltip/Tooltip';
37
35
  export { default as Table } from './components/Table/Table';
38
36
  export { default as Wizard } from './components/Wizard/Wizard';
package/dist/index.js CHANGED
@@ -27,8 +27,6 @@ export { default as Progress } from './components/Progress/Progress';
27
27
  export { default as Breadcrumbs } from './components/Breadcrumbs/Breadcrumbs';
28
28
  export { default as Image } from './components/Image/Image';
29
29
  export { default as FileUploader } from './components/FileUploader/FileUploader';
30
- export { default as MarkdownEditor } from './components/MarkdownEditor/MarkdownEditor';
31
- export { default as Markdown } from './components/MarkdownEditor/MarkdownEditor';
32
30
  export { default as Tooltip } from './components/Tooltip/Tooltip';
33
31
  export { default as Table } from './components/Table/Table';
34
32
  export { default as Wizard } from './components/Wizard/Wizard';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
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;AAE5D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAElE,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,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;AA8B/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"}
@@ -0,0 +1,2 @@
1
+ export { default, default as Markdown, default as MarkdownEditor } from './components/MarkdownEditor/MarkdownEditor';
2
+ export type { MarkdownEditorProps, MarkdownEditorSlotProps, MarkdownToolbarItem, MarkdownToolbarTemplate, } from './components/MarkdownEditor/MarkdownEditor';
@@ -0,0 +1,2 @@
1
+ export { default, default as Markdown, default as MarkdownEditor } from './components/MarkdownEditor/MarkdownEditor';
2
+ //# sourceMappingURL=markdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../src/markdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,4CAA4C,CAAC"}
package/docs/README.md CHANGED
@@ -25,6 +25,12 @@ import '@phpsoftbox/react-softbox/foundations/index.css';
25
25
  import { Button, Card, Menu } from '@phpsoftbox/react-softbox';
26
26
  ```
27
27
 
28
+ ```ts
29
+ import { MarkdownEditor } from '@phpsoftbox/react-softbox/markdown';
30
+ ```
31
+
32
+ `MarkdownEditor` живет в отдельном entrypoint, чтобы обычные компоненты не подтягивали `shiki`.
33
+
28
34
  ## Разделы
29
35
 
30
36
  - `layout.md` — Grid, Flex, утилиты, Collapse
package/docs/forms.md CHANGED
@@ -237,9 +237,35 @@ const statusOptions = [
237
237
  <Input>
238
238
  <Input.Label>Цена</Input.Label>
239
239
  <Input.Group stretch>
240
- <Input.Addon>₽</Input.Addon>
240
+ <Input.Group.Label>₽</Input.Group.Label>
241
241
  <Input.Number placeholder="0.00" />
242
- <Button appearance="outline">OK</Button>
242
+ <Input.Group.Text>без НДС</Input.Group.Text>
243
+ </Input.Group>
244
+ </Input>
245
+
246
+ <Input>
247
+ <Input.Label>Телефон</Input.Label>
248
+ <Input.Group stretch>
249
+ <Input.Select
250
+ value={country}
251
+ options={countryOptions}
252
+ style={{ flex: '0 0 150px' }}
253
+ onChange={(next) => {
254
+ setCountry(next);
255
+ setPhone('');
256
+ }}
257
+ />
258
+ <Input.MaskedInput mask={phoneMasks[country]} value={phone} onChange={setPhone} />
259
+ </Input.Group>
260
+ </Input>
261
+
262
+ <Input>
263
+ <Input.Label>Скидка</Input.Label>
264
+ <Input.Group stretch>
265
+ <Input.Group.Choice>
266
+ <Input.Radio name="discount" label="%" />
267
+ </Input.Group.Choice>
268
+ <Input.Number placeholder="10" />
243
269
  </Input.Group>
244
270
  </Input>
245
271
  ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@phpsoftbox/react-softbox",
3
- "version": "1.15.1",
3
+ "version": "1.16.1",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -19,6 +19,10 @@
19
19
  "types": "./dist/index.d.ts",
20
20
  "import": "./dist/index.js"
21
21
  },
22
+ "./markdown": {
23
+ "types": "./dist/markdown.d.ts",
24
+ "import": "./dist/markdown.js"
25
+ },
22
26
  "./theme": {
23
27
  "types": "./dist/theme.d.ts",
24
28
  "import": "./dist/theme.js"