@ryuzaki13/react-foundation-ui 3.10.1 → 3.12.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.
Files changed (355) hide show
  1. package/README.md +11 -0
  2. package/dist/chunks/{TextEditorLexicalClient-Cj6yjCGm.js → TextEditorLexicalClient-apy-Cugj.js} +101 -101
  3. package/dist/chunks/{TextEditorLexicalClient-Cj6yjCGm.js.map → TextEditorLexicalClient-apy-Cugj.js.map} +1 -1
  4. package/dist/floating-windows/FloatingWindow.d.ts +19 -0
  5. package/dist/floating-windows/FloatingWindow.d.ts.map +1 -0
  6. package/dist/floating-windows/FloatingWindowHeader.d.ts +14 -0
  7. package/dist/floating-windows/FloatingWindowHeader.d.ts.map +1 -0
  8. package/dist/floating-windows/FloatingWindows.d.ts +16 -0
  9. package/dist/floating-windows/FloatingWindows.d.ts.map +1 -0
  10. package/dist/floating-windows/FloatingWindowsBoundary.d.ts +10 -0
  11. package/dist/floating-windows/FloatingWindowsBoundary.d.ts.map +1 -0
  12. package/dist/floating-windows/FloatingWindowsProvider.d.ts +11 -0
  13. package/dist/floating-windows/FloatingWindowsProvider.d.ts.map +1 -0
  14. package/dist/floating-windows/index.d.ts +4 -0
  15. package/dist/floating-windows/index.d.ts.map +1 -0
  16. package/dist/floating-windows/index.js +576 -0
  17. package/dist/floating-windows/index.js.map +1 -0
  18. package/dist/floating-windows/lib/constrainFloatingWindowPosition.d.ts +8 -0
  19. package/dist/floating-windows/lib/constrainFloatingWindowPosition.d.ts.map +1 -0
  20. package/dist/floating-windows/lib/floatingWindowsStorage.d.ts +10 -0
  21. package/dist/floating-windows/lib/floatingWindowsStorage.d.ts.map +1 -0
  22. package/dist/floating-windows/lib/getFloatingWindowStyle.d.ts +5 -0
  23. package/dist/floating-windows/lib/getFloatingWindowStyle.d.ts.map +1 -0
  24. package/dist/floating-windows/lib/isFloatingWindowId.d.ts +3 -0
  25. package/dist/floating-windows/lib/isFloatingWindowId.d.ts.map +1 -0
  26. package/dist/floating-windows/lib/selectFloatingWindowCascadePosition.d.ts +8 -0
  27. package/dist/floating-windows/lib/selectFloatingWindowCascadePosition.d.ts.map +1 -0
  28. package/dist/floating-windows/lib/selectFloatingWindowRestoreFocus.d.ts +3 -0
  29. package/dist/floating-windows/lib/selectFloatingWindowRestoreFocus.d.ts.map +1 -0
  30. package/dist/floating-windows/model/FloatingWindowsContext.d.ts +4 -0
  31. package/dist/floating-windows/model/FloatingWindowsContext.d.ts.map +1 -0
  32. package/dist/floating-windows/model/createFloatingWindowsStore.d.ts +8 -0
  33. package/dist/floating-windows/model/createFloatingWindowsStore.d.ts.map +1 -0
  34. package/dist/floating-windows/model/floatingWindowMoveTypes.d.ts +27 -0
  35. package/dist/floating-windows/model/floatingWindowMoveTypes.d.ts.map +1 -0
  36. package/dist/floating-windows/model/floatingWindowsTypes.d.ts +40 -0
  37. package/dist/floating-windows/model/floatingWindowsTypes.d.ts.map +1 -0
  38. package/dist/floating-windows/model/useFloatingWindowFocus.d.ts +4 -0
  39. package/dist/floating-windows/model/useFloatingWindowFocus.d.ts.map +1 -0
  40. package/dist/floating-windows/model/useFloatingWindowMeasurements.d.ts +5 -0
  41. package/dist/floating-windows/model/useFloatingWindowMeasurements.d.ts.map +1 -0
  42. package/dist/floating-windows/model/useFloatingWindowMove.d.ts +4 -0
  43. package/dist/floating-windows/model/useFloatingWindowMove.d.ts.map +1 -0
  44. package/dist/floating-windows/model/useFloatingWindowSnapshot.d.ts +4 -0
  45. package/dist/floating-windows/model/useFloatingWindowSnapshot.d.ts.map +1 -0
  46. package/dist/floating-windows/model/useFloatingWindowsBounds.d.ts +4 -0
  47. package/dist/floating-windows/model/useFloatingWindowsBounds.d.ts.map +1 -0
  48. package/dist/floating-windows/model/useFloatingWindowsPersistence.d.ts +4 -0
  49. package/dist/floating-windows/model/useFloatingWindowsPersistence.d.ts.map +1 -0
  50. package/dist/floating-windows/model/useFloatingWindowsStore.d.ts +4 -0
  51. package/dist/floating-windows/model/useFloatingWindowsStore.d.ts.map +1 -0
  52. package/dist/notifications/index.js +9 -9
  53. package/dist/styles.css +1 -1
  54. package/dist/text-editor/TextEditorLexicalViewer.d.ts +10 -0
  55. package/dist/text-editor/TextEditorLexicalViewer.d.ts.map +1 -0
  56. package/dist/text-editor/index.d.ts +1 -0
  57. package/dist/text-editor/index.d.ts.map +1 -1
  58. package/dist/text-editor/index.js +298 -7
  59. package/dist/text-editor/index.js.map +1 -1
  60. package/dist/text-editor/lib/viewer/getTextEditorViewerElementStyle.d.ts +5 -0
  61. package/dist/text-editor/lib/viewer/getTextEditorViewerElementStyle.d.ts.map +1 -0
  62. package/dist/text-editor/lib/viewer/parseTextEditorViewerDocument.d.ts +4 -0
  63. package/dist/text-editor/lib/viewer/parseTextEditorViewerDocument.d.ts.map +1 -0
  64. package/dist/text-editor/lib/viewer/resolveTextEditorViewerLink.d.ts +3 -0
  65. package/dist/text-editor/lib/viewer/resolveTextEditorViewerLink.d.ts.map +1 -0
  66. package/dist/text-editor/model/textEditorViewerTypes.d.ts +58 -0
  67. package/dist/text-editor/model/textEditorViewerTypes.d.ts.map +1 -0
  68. package/dist/text-editor/ui/viewer/TextEditorViewerNode.d.ts +7 -0
  69. package/dist/text-editor/ui/viewer/TextEditorViewerNode.d.ts.map +1 -0
  70. package/dist/text-editor/ui/viewer/TextEditorViewerText.d.ts +8 -0
  71. package/dist/text-editor/ui/viewer/TextEditorViewerText.d.ts.map +1 -0
  72. package/package.json +5 -1
  73. package/storybook-static/assets/{Badge-7nsS5Yyj.js → Badge-Dn4r-dgK.js} +1 -1
  74. package/storybook-static/assets/{Badge.stories-BzQKeDqC.js → Badge.stories-C8jgD6Tm.js} +1 -1
  75. package/storybook-static/assets/{BadgeList-WzFV9MB1.js → BadgeList-DoZGQ7qG.js} +1 -1
  76. package/storybook-static/assets/{BarcodeScannerDialog.stories-Ci8Mf9WX.js → BarcodeScannerDialog.stories-SWsYyoae.js} +1 -1
  77. package/storybook-static/assets/{Button-DqsSng-I.js → Button-BHqigqOj.js} +1 -1
  78. package/storybook-static/assets/{Button-6F3OVyTc.js → Button-DLYgesJU.js} +1 -1
  79. package/storybook-static/assets/{Button.stories-PNc3lIYB.js → Button.stories-B-YCCpsv.js} +1 -1
  80. package/storybook-static/assets/{CalendarView-BT9X9tky.js → CalendarView-DC9-KqBg.js} +1 -1
  81. package/storybook-static/assets/{CheckBox-BJhTyl1K.js → CheckBox-A1DE9OKH.js} +1 -1
  82. package/storybook-static/assets/{CheckBox-BasxUZYS.js → CheckBox-BhDEikPn.js} +1 -1
  83. package/storybook-static/assets/{CheckBox.stories-DLRA5q3H.js → CheckBox.stories-CCwPabOj.js} +1 -1
  84. package/storybook-static/assets/Color-6AOWCN3U-CZ7Lqth4.js +1 -0
  85. package/storybook-static/assets/{ContextMenu-BckwURZg.js → ContextMenu-C7QDzxj5.js} +1 -1
  86. package/storybook-static/assets/{ContextMenu-OOsbvmOa.js → ContextMenu-snDFBA5B.js} +1 -1
  87. package/storybook-static/assets/{ContextMenu.stories-BD-wMDNw.js → ContextMenu.stories-DmQHbLWt.js} +1 -1
  88. package/storybook-static/assets/{DateInput-DT6btAWU.js → DateInput-BkVJLdmV.js} +1 -1
  89. package/storybook-static/assets/{DateInput-B5MxQUHL.js → DateInput-DLOTW8zG.js} +1 -1
  90. package/storybook-static/assets/{DateInput.stories-BK2brwe_.js → DateInput.stories-DNMVE7-m.js} +1 -1
  91. package/storybook-static/assets/{DateRangePresetSelect-gRdIuTx9.js → DateRangePresetSelect-Aswl3yfO.js} +1 -1
  92. package/storybook-static/assets/{DateRangePresetSelect-Dplr79Cm.js → DateRangePresetSelect-FZ5Wqp5Q.js} +1 -1
  93. package/storybook-static/assets/{DateRangePresetSelect.stories-BRksGdxw.js → DateRangePresetSelect.stories-D7j1ye-X.js} +1 -1
  94. package/storybook-static/assets/{DeprecatedMultiSelect-1MSPac-V.js → DeprecatedMultiSelect-BrU5iHiB.js} +1 -1
  95. package/storybook-static/assets/{DeprecatedMultiSelect-BOxmEW2D.js → DeprecatedMultiSelect-DZm42dZe.js} +1 -1
  96. package/storybook-static/assets/{DeprecatedMultiSelect.stories-Ax0zv6Kb.js → DeprecatedMultiSelect.stories-DX5gJVg8.js} +1 -1
  97. package/storybook-static/assets/{Detail-_5TyqOha.js → Detail-Dm2OB35c.js} +1 -1
  98. package/storybook-static/assets/{Detail.stories-CJbeEBiY.js → Detail.stories-ChjIDw9R.js} +1 -1
  99. package/storybook-static/assets/{Dialog-HBOYhMQq.js → Dialog-5Bjs3MIP.js} +1 -1
  100. package/storybook-static/assets/{Dialog-BodfEiIi.js → Dialog-CppiFu4m.js} +1 -1
  101. package/storybook-static/assets/{Dialog.stories-Ds4F0ZoJ.js → Dialog.stories-DNKVgKJf.js} +1 -1
  102. package/storybook-static/assets/{Disclosure-BbvtIOyN.js → Disclosure-B_rE1zlW.js} +1 -1
  103. package/storybook-static/assets/{Disclosure.stories-CnSK79hZ.js → Disclosure.stories-ATxKR5IU.js} +1 -1
  104. package/storybook-static/assets/{DisclosureGroup-Dd0BeL4o.js → DisclosureGroup-ClweT22a.js} +1 -1
  105. package/storybook-static/assets/{DocsRenderer-JROSPFPF-BX-ThlFg.js → DocsRenderer-JROSPFPF-m7QPTTWT.js} +1 -1
  106. package/storybook-static/assets/{DropZone-DPqYieZH.js → DropZone-C6Qx5YnY.js} +1 -1
  107. package/storybook-static/assets/{DropZone-CCkHaYAD.js → DropZone-CEnjaRlb.js} +1 -1
  108. package/storybook-static/assets/{DropZone.stories-lfKkNIIl.js → DropZone.stories-8b7TFwCV.js} +1 -1
  109. package/storybook-static/assets/{DropdownMenu-QWp-lSol.js → DropdownMenu-BvqYqsyj.js} +1 -1
  110. package/storybook-static/assets/{ExpandableActionPanel-DxPp3zYd.js → ExpandableActionPanel-DfZA1lTx.js} +1 -1
  111. package/storybook-static/assets/{ExpandableActionPanel.stories-BiklI55p.js → ExpandableActionPanel.stories-Bq2XMot-.js} +1 -1
  112. package/storybook-static/assets/{Flex-S4mwRnc2.js → Flex-BFGhhseF.js} +1 -1
  113. package/storybook-static/assets/{Flex.stories-DRBLrgrW.js → Flex.stories-Ct2TXMNG.js} +1 -1
  114. package/storybook-static/assets/{FlexContainer-4Ap7vbIt.js → FlexContainer-DNTMFsKB.js} +1 -1
  115. package/storybook-static/assets/{FlexItem-Dwqi7KeT.js → FlexItem-DdZg96Tw.js} +1 -1
  116. package/storybook-static/assets/{FloatingPopover-D8FScEoc.js → FloatingPopover-Qm2OYQyi.js} +1 -1
  117. package/storybook-static/assets/FloatingWindows-C2FJO6ij.css +1 -0
  118. package/storybook-static/assets/FloatingWindows.stories-DSXleet4.js +13 -0
  119. package/storybook-static/assets/FormattedTableCell-Cfdl2sgg.js +15 -0
  120. package/storybook-static/assets/{Grid-CJ5RLrgv.js → Grid-DF06uQ48.js} +1 -1
  121. package/storybook-static/assets/{Grid-DIYjEdUA.js → Grid-DlctIqYo.js} +1 -1
  122. package/storybook-static/assets/{Grid.stories-Bl35lMkU.js → Grid.stories-CqMEpZ8C.js} +1 -1
  123. package/storybook-static/assets/{GridContainer-B2iAnXeB.js → GridContainer-BlkGC1Ti.js} +1 -1
  124. package/storybook-static/assets/{ImageCropper.stories--E79MUTS.js → ImageCropper.stories-GlDzLRHa.js} +1 -1
  125. package/storybook-static/assets/{ImageRenderer-D0stahXz.js → ImageRenderer-DKVKzwts.js} +1 -1
  126. package/storybook-static/assets/{ImageRenderer.stories-C_Ir6A3m.js → ImageRenderer.stories-D5Ot_LFG.js} +1 -1
  127. package/storybook-static/assets/{ImageView.stories-DbY7pwWs.js → ImageView.stories-t9WED3jc.js} +1 -1
  128. package/storybook-static/assets/{ImageViewer.stories-D2jfTzCV.js → ImageViewer.stories-CTLSla9v.js} +2 -2
  129. package/storybook-static/assets/{ImageViewerRuntime-DlvGnNv4.js → ImageViewerRuntime-B0a-Sycn.js} +1 -1
  130. package/storybook-static/assets/{Input-CzvWPW0I.js → Input-C-RwifM5.js} +1 -1
  131. package/storybook-static/assets/{Input-av5ktymr.js → Input-L7KSl95J.js} +1 -1
  132. package/storybook-static/assets/{Input.stories-CvLnu270.js → Input.stories-RZ8DST5q.js} +1 -1
  133. package/storybook-static/assets/{InputDateTime-D5bQuB9a.js → InputDateTime-C3SMAFaX.js} +1 -1
  134. package/storybook-static/assets/{InputDateTime.stories-BD9Pt7vB.js → InputDateTime.stories-Bo76yqgM.js} +1 -1
  135. package/storybook-static/assets/{InputFile-ulrG6ECh.js → InputFile-ByiVAcXi.js} +1 -1
  136. package/storybook-static/assets/{InputFile-C3nj3qsi.js → InputFile-DeMKgRCz.js} +1 -1
  137. package/storybook-static/assets/{InputFile.stories-CEewSWb_.js → InputFile.stories-C2xolZZp.js} +1 -1
  138. package/storybook-static/assets/{InputFiles-DZ1nUYOE.js → InputFiles-D2X5XwMg.js} +1 -1
  139. package/storybook-static/assets/{InputFiles-lF7Ys1hh.js → InputFiles-DW_A7HZQ.js} +1 -1
  140. package/storybook-static/assets/{InputFiles.stories-CCptKLDn.js → InputFiles.stories-Cy4lGiDs.js} +1 -1
  141. package/storybook-static/assets/{InputFilesList-DTJkMHNI.js → InputFilesList-D-T9k_qj.js} +1 -1
  142. package/storybook-static/assets/{InputImage-lDHbW_ac.js → InputImage-COyE-G8n.js} +1 -1
  143. package/storybook-static/assets/{InputImage-CIPZL6uS.js → InputImage-VviyVqWs.js} +1 -1
  144. package/storybook-static/assets/{InputImage.stories-CQ2BBGf-.js → InputImage.stories-C7PZBPak.js} +1 -1
  145. package/storybook-static/assets/{InteractiveComponents-DD7TZeA4.js → InteractiveComponents-DsXWc2Ba.js} +1 -1
  146. package/storybook-static/assets/{InteractiveComponents.stories-Bbo3l8WO.js → InteractiveComponents.stories-xzIOC6VP.js} +1 -1
  147. package/storybook-static/assets/{LayoutPicker-uw1knHzA.js → LayoutPicker-CEe3rtKw.js} +1 -1
  148. package/storybook-static/assets/{LayoutPicker-A7VlDbc0.js → LayoutPicker-DqauomnH.js} +1 -1
  149. package/storybook-static/assets/{LayoutPicker.stories-DDR6oiSN.js → LayoutPicker.stories-DZS4nX4W.js} +1 -1
  150. package/storybook-static/assets/{Listbox-CmkI7dm_.js → Listbox-DMBqQzvF.js} +1 -1
  151. package/storybook-static/assets/{Listbox-CO1BjyFs.js → Listbox-DcoYj_fu.js} +1 -1
  152. package/storybook-static/assets/{Listbox.stories-BIPmBbuG.js → Listbox.stories-CiEKNklg.js} +1 -1
  153. package/storybook-static/assets/{Modal-C3JdXj6Q.js → Modal-B2NdQSX-.js} +1 -1
  154. package/storybook-static/assets/{Modal-IXMZUaaw.js → Modal-XzWN4rYg.js} +1 -1
  155. package/storybook-static/assets/{Modal.stories-BD-UnVeM.js → Modal.stories-DiO0SJb6.js} +1 -1
  156. package/storybook-static/assets/{ModalManagerProvider-zJVg8-dg.js → ModalManagerProvider-CXZWFJBk.js} +1 -1
  157. package/storybook-static/assets/{MultiSelect-DZKjK53B.js → MultiSelect-Bdo1Sjz8.js} +1 -1
  158. package/storybook-static/assets/{MultiSelect-CGoyA8-m.js → MultiSelect-CIrw0Nez.js} +1 -1
  159. package/storybook-static/assets/{MultiSelect.stories-D65mpYYt.js → MultiSelect.stories-DsYsvZRr.js} +1 -1
  160. package/storybook-static/assets/{MultiSelectCore-ih1pgvuq.js → MultiSelectCore-DVlr9xCh.js} +1 -1
  161. package/storybook-static/assets/{NoData-32gM9qt4.js → NoData-D0rf5MW3.js} +1 -1
  162. package/storybook-static/assets/{NotificationsHost-pkEhxgz2.js → NotificationsHost-BQZaAM-V.js} +9 -9
  163. package/storybook-static/assets/{NotificationsHost.stories-BqIayryx.js → NotificationsHost.stories-DwymJZby.js} +1 -1
  164. package/storybook-static/assets/{ODataMultiSelect-D42gAcHg.js → ODataMultiSelect-DMSWI6tE.js} +1 -1
  165. package/storybook-static/assets/{ODataMultiSelect.stories-DfAkKAsG.js → ODataMultiSelect.stories-B3zztIBx.js} +2 -2
  166. package/storybook-static/assets/{ODataSelect-DPOMWPKO.js → ODataSelect-C7HWF4Mk.js} +1 -1
  167. package/storybook-static/assets/{ODataSelect.stories-DHs3wp7E.js → ODataSelect.stories-BTqluN2n.js} +2 -2
  168. package/storybook-static/assets/{ODataTreeMultiSelect-CC8yuaVP.js → ODataTreeMultiSelect-D1C46tO1.js} +1 -1
  169. package/storybook-static/assets/{ODataTreeMultiSelect.stories-BtwLdGK6.js → ODataTreeMultiSelect.stories-Cau6yuzj.js} +1 -1
  170. package/storybook-static/assets/{ODataTreeSelect-qcitpYxj.js → ODataTreeSelect-DjieOI9n.js} +1 -1
  171. package/storybook-static/assets/{ODataTreeSelect.stories-1r_tkUVi.js → ODataTreeSelect.stories-C2QXdt7d.js} +1 -1
  172. package/storybook-static/assets/{OneStepScroller-wz4Qujpx.js → OneStepScroller-srOmxRQp.js} +1 -1
  173. package/storybook-static/assets/{Option-Beom2xTg.js → Option-7XzYAa1X.js} +1 -1
  174. package/storybook-static/assets/{OptionButton-D_ZCVbsd.js → OptionButton-De2RG5bE.js} +1 -1
  175. package/storybook-static/assets/{OptionContent-FZ-u9L1s.js → OptionContent-J_mD8o8Q.js} +1 -1
  176. package/storybook-static/assets/{OptionContentContainer-HVNOgpjm.js → OptionContentContainer-BMe8XiaH.js} +1 -1
  177. package/storybook-static/assets/{PeriodSelect-qevVtoSU.js → PeriodSelect-BanQI_dT.js} +1 -1
  178. package/storybook-static/assets/{PeriodSelect-DbdeznMQ.js → PeriodSelect-DffdZHTx.js} +1 -1
  179. package/storybook-static/assets/{PeriodSelect.stories-BLi_6rpY.js → PeriodSelect.stories-D_mZIvPa.js} +1 -1
  180. package/storybook-static/assets/{PickerField-BHSRcQY6.js → PickerField-BiRCrEVk.js} +1 -1
  181. package/storybook-static/assets/{PickerTriggerActions-Cxk3YQGF.js → PickerTriggerActions-SYQofxvL.js} +1 -1
  182. package/storybook-static/assets/{Popover-BosMVXTI.js → Popover-CyFO9TsF.js} +1 -1
  183. package/storybook-static/assets/{Popover-De2fvkIB.js → Popover-DVLKhPpI.js} +1 -1
  184. package/storybook-static/assets/{Popover.stories-DM-Plj05.js → Popover.stories-z-_6ttYX.js} +1 -1
  185. package/storybook-static/assets/{PresetRangeDateInput-jersOEYO.js → PresetRangeDateInput-CNwYUovX.js} +1 -1
  186. package/storybook-static/assets/{PresetRangeDateInput-CCQuBkJj.js → PresetRangeDateInput-DusPRYOo.js} +1 -1
  187. package/storybook-static/assets/{PresetRangeDateInput.stories-DwqDWXX9.js → PresetRangeDateInput.stories-C_o_VW2j.js} +1 -1
  188. package/storybook-static/assets/{PresetSelect-BhwHbWmS.js → PresetSelect-CV3zwYQR.js} +1 -1
  189. package/storybook-static/assets/{README-LWfExOhc.js → README-0xXSqDp8.js} +1 -1
  190. package/storybook-static/assets/{README-DmJq-c8n.js → README-2-1qM_na.js} +1 -1
  191. package/storybook-static/assets/{README-B5eMX8_9.js → README-4aHWePja.js} +1 -1
  192. package/storybook-static/assets/{README-DzASMBMv.js → README-7eESTN29.js} +1 -1
  193. package/storybook-static/assets/{README-BzVVPLXk.js → README-B5zjJGVN.js} +1 -1
  194. package/storybook-static/assets/{README-DQl_3tX1.js → README-BG0ZHFMO.js} +1 -1
  195. package/storybook-static/assets/{README-ECCgQcGo.js → README-BJ0oZ6IK.js} +1 -1
  196. package/storybook-static/assets/{README-DT96eoyc.js → README-BaVIhvx2.js} +1 -1
  197. package/storybook-static/assets/{README-1UUrJXjZ.js → README-BdSEAONV.js} +1 -1
  198. package/storybook-static/assets/{README-D_d6frx1.js → README-BgG12pti.js} +1 -1
  199. package/storybook-static/assets/{README-CioPc-xb.js → README-BggXgUKF.js} +1 -1
  200. package/storybook-static/assets/{README-DK5aZdOt.js → README-BjBW3_iS.js} +1 -1
  201. package/storybook-static/assets/{README-DKI2c8YJ.js → README-Bjq-bxH1.js} +1 -1
  202. package/storybook-static/assets/{README-o4PUljT6.js → README-BmcSs4kj.js} +1 -1
  203. package/storybook-static/assets/{README-BPSG9KrB.js → README-Bn7kAPLQ.js} +1 -1
  204. package/storybook-static/assets/{README-bWB0c7pN.js → README-BoQbGA96.js} +1 -1
  205. package/storybook-static/assets/{README-CrhHHw0i.js → README-BwUFmp9h.js} +1 -1
  206. package/storybook-static/assets/{README-CPZBUXWs.js → README-BwvDtGJp.js} +1 -1
  207. package/storybook-static/assets/{README-DeHGaTaW.js → README-BxC_3EeL.js} +1 -1
  208. package/storybook-static/assets/{README-CvReVgGJ.js → README-C-U-dI9P.js} +1 -1
  209. package/storybook-static/assets/{README-D5YLxtgR.js → README-C-e2RqTI.js} +1 -1
  210. package/storybook-static/assets/{README-D09okhy9.js → README-C3-4o6yH.js} +1 -1
  211. package/storybook-static/assets/{README-BNsU3Cqx.js → README-CFpsye1R.js} +1 -1
  212. package/storybook-static/assets/{README-BK8k_Q4m.js → README-CJG1QnZ8.js} +1 -1
  213. package/storybook-static/assets/{README-BD5f1if4.js → README-Cc67rRzO.js} +1 -1
  214. package/storybook-static/assets/{README-BQDFmWGi.js → README-CgHkf8AZ.js} +1 -1
  215. package/storybook-static/assets/{README-DzrrH56m.js → README-CjwjADv4.js} +1 -1
  216. package/storybook-static/assets/{README-CvzdarfH.js → README-CtA0tP_V.js} +1 -1
  217. package/storybook-static/assets/{README-CmzO6bzh.js → README-D0SwEPQG.js} +1 -1
  218. package/storybook-static/assets/{README-sPm51M3K.js → README-D0eHrEQF.js} +1 -1
  219. package/storybook-static/assets/{README-Rk3Krdys.js → README-D8bNkmba.js} +1 -1
  220. package/storybook-static/assets/{README-Cpk-Tr_W.js → README-DCP4ywXT.js} +1 -1
  221. package/storybook-static/assets/{README-CJ6rsYUk.js → README-DEHjbK77.js} +1 -1
  222. package/storybook-static/assets/{README-DNeDK1_H.js → README-DHXjeQQR.js} +1 -1
  223. package/storybook-static/assets/{README-Df8F75dr.js → README-DJsEoOXI.js} +1 -1
  224. package/storybook-static/assets/{README-BCEKAY_J.js → README-DWfKideq.js} +1 -1
  225. package/storybook-static/assets/{README-29WDFTDH.js → README-DZD6wqGT.js} +1 -1
  226. package/storybook-static/assets/{README-CJFgcV8C.js → README-D_V-SEnq.js} +1 -1
  227. package/storybook-static/assets/{README-By0zyJQ-.js → README-DkEysBXh.js} +1 -1
  228. package/storybook-static/assets/{README-33qTnj5l.js → README-DuB9PiOM.js} +1 -1
  229. package/storybook-static/assets/{README-BIvHy4kr.js → README-Duk1AG16.js} +1 -1
  230. package/storybook-static/assets/{README-BKLeD4y3.js → README-DwC2gAZg.js} +1 -1
  231. package/storybook-static/assets/{README-Cz14JUTC.js → README-MX6_MwDQ.js} +1 -1
  232. package/storybook-static/assets/{README-Dc2qBccm.js → README-TaumiOmj.js} +1 -1
  233. package/storybook-static/assets/{README-B_tg7QVI.js → README-_ysKMvAx.js} +1 -1
  234. package/storybook-static/assets/{README-BAlXRtAz.js → README-b_q7W3j3.js} +1 -1
  235. package/storybook-static/assets/{README-B5rmNIab.js → README-gE_kxplo.js} +1 -1
  236. package/storybook-static/assets/{README-DS63ZnOT.js → README-gjTa9tZ_.js} +1 -1
  237. package/storybook-static/assets/{README-NHHRscRF.js → README-p62MFS5g.js} +1 -1
  238. package/storybook-static/assets/{README-CHllxFPj.js → README-swRdnv1f.js} +1 -1
  239. package/storybook-static/assets/{README-BfRKdJtw.js → README-x--9qFul.js} +1 -1
  240. package/storybook-static/assets/{README-O9BJmE-H.js → README-xDqMMO8-.js} +1 -1
  241. package/storybook-static/assets/{README-BoJXfTe6.js → README-xWo3G40o.js} +1 -1
  242. package/storybook-static/assets/{RadioButton-BZiBFXe1.js → RadioButton-B6x2_7or.js} +1 -1
  243. package/storybook-static/assets/{RadioButton-CBLdgMz4.js → RadioButton-CBABLSvE.js} +1 -1
  244. package/storybook-static/assets/{RadioButton.stories-BP5yM5qg.js → RadioButton.stories-DLd7EmuZ.js} +1 -1
  245. package/storybook-static/assets/{RadioGroup-DYRfZVGC.js → RadioGroup-CIaXj3zQ.js} +1 -1
  246. package/storybook-static/assets/{RadioGroup-epjQdSZn.js → RadioGroup-Ce5Irxz3.js} +1 -1
  247. package/storybook-static/assets/{RadioGroup.stories-UOjXIk6v.js → RadioGroup.stories-DKhMElyC.js} +1 -1
  248. package/storybook-static/assets/{ResponsiveLayoutPreview-BHBxtn2W.js → ResponsiveLayoutPreview-Bcojizl4.js} +1 -1
  249. package/storybook-static/assets/{Scrollable-DKQa75cf.js → Scrollable-B5e-IEe8.js} +1 -1
  250. package/storybook-static/assets/{Scrollable-BBYov1Hn.js → Scrollable-BfCUp0BO.js} +1 -1
  251. package/storybook-static/assets/{Scrollable.stories-BH1-i6nI.js → Scrollable.stories-B4IMoipT.js} +1 -1
  252. package/storybook-static/assets/{Select-DU6Eh0Lt.js → Select-CdjYSSyG.js} +1 -1
  253. package/storybook-static/assets/{Select-DYOCTPiv.js → Select-DYHUwcLE.js} +1 -1
  254. package/storybook-static/assets/{Select.stories-BF3svbAH.js → Select.stories-BuaXB6qE.js} +1 -1
  255. package/storybook-static/assets/{Separator-_gvt1sqm.js → Separator-CS6gkWSA.js} +1 -1
  256. package/storybook-static/assets/{Separator-CxviJxG5.js → Separator-D45blL6r.js} +1 -1
  257. package/storybook-static/assets/{Separator.stories-DN6hlZl5.js → Separator.stories-C2GzCEGW.js} +1 -1
  258. package/storybook-static/assets/{SerializableSelect-BVTOrYLs.js → SerializableSelect-7raamiuG.js} +1 -1
  259. package/storybook-static/assets/{SerializableSelect.stories-pcWq603M.js → SerializableSelect.stories-CD0e6DQk.js} +1 -1
  260. package/storybook-static/assets/{ShimmerText-BDDa_Wf7.js → ShimmerText-DkiewbBe.js} +1 -1
  261. package/storybook-static/assets/{ShimmerText.stories-DdZPIKwl.js → ShimmerText.stories-DrXMcGDO.js} +1 -1
  262. package/storybook-static/assets/{SingleDateTimeInput-q-eu2xUU.js → SingleDateTimeInput-BTIgqxH7.js} +1 -1
  263. package/storybook-static/assets/{SingleDateTimeInput-sGTkT8ZA.js → SingleDateTimeInput-Dj_VSvfb.js} +1 -1
  264. package/storybook-static/assets/{SingleDateTimeInput.stories-X7CMAFsq.js → SingleDateTimeInput.stories-CnYFrOUX.js} +1 -1
  265. package/storybook-static/assets/{Slider-CaKY8LIJ.js → Slider-CLE5MSJr.js} +1 -1
  266. package/storybook-static/assets/{Slider-CqNWljkT.js → Slider-D4wvDQDc.js} +1 -1
  267. package/storybook-static/assets/{Slider.stories-CMxutCGM.js → Slider.stories-Cbz3RilT.js} +1 -1
  268. package/storybook-static/assets/{SliderInput-HUUN5_IF.js → SliderInput-AC9oLjGF.js} +1 -1
  269. package/storybook-static/assets/{SliderInput-scYwk-4g.js → SliderInput-DbyDo3fR.js} +1 -1
  270. package/storybook-static/assets/{SliderInput.stories-CDhgeql1.js → SliderInput.stories-69pRH0Uk.js} +1 -1
  271. package/storybook-static/assets/{Sortable-CaysnUNW.js → Sortable-E3DirII-.js} +1 -1
  272. package/storybook-static/assets/{Sortable.stories-C4gHc5ka.js → Sortable.stories-BbmTcem4.js} +1 -1
  273. package/storybook-static/assets/{Splitter-6cU1s7Qr.js → Splitter-DbaIQk2G.js} +1 -1
  274. package/storybook-static/assets/{Splitter.stories-CA9A-CZ-.js → Splitter.stories-HntpFa6w.js} +1 -1
  275. package/storybook-static/assets/{StateSelect-OHl6KWge.js → StateSelect-8r4Qlf4Y.js} +1 -1
  276. package/storybook-static/assets/{StateSelect-BAqjdi4g.js → StateSelect-C7ZIrgDB.js} +1 -1
  277. package/storybook-static/assets/{StateSelect.stories-xX3ujKGO.js → StateSelect.stories-CfUJCQGE.js} +1 -1
  278. package/storybook-static/assets/{StatusIndicator-C_7dWY2t.js → StatusIndicator-IqUZ24rN.js} +1 -1
  279. package/storybook-static/assets/{StatusIndicator.stories-BRlVzKf7.js → StatusIndicator.stories-DhKREzk8.js} +1 -1
  280. package/storybook-static/assets/{StringToggle.stories-DFPLwtHW.js → StringToggle.stories-BOC_AuIw.js} +1 -1
  281. package/storybook-static/assets/{Switch-CrlrIm3t.js → Switch-58npo6H_.js} +1 -1
  282. package/storybook-static/assets/{Switch-DHcMczAC.js → Switch-C4wfyH7_.js} +1 -1
  283. package/storybook-static/assets/{Switch.stories-LhTPX_R-.js → Switch.stories-BpABAFmv.js} +1 -1
  284. package/storybook-static/assets/{Table-Ct8iqJEY.js → Table-RAMtWu9C.js} +1 -1
  285. package/storybook-static/assets/Table.stories-Cth_AbDh.js +184 -0
  286. package/storybook-static/assets/{TableEditor.stories-Qtqr_l4g.js → TableEditor.stories-IfJyun1v.js} +1 -1
  287. package/storybook-static/assets/{Tabs-CC0IIQwl.js → Tabs-CX67nGv0.js} +1 -1
  288. package/storybook-static/assets/{Tabs.stories-Bo_Y-dq8.js → Tabs.stories-6wO9Pmly.js} +1 -1
  289. package/storybook-static/assets/{TabsBox-BMNvHsCH.js → TabsBox-QKS_MMQ0.js} +1 -1
  290. package/storybook-static/assets/{TagInput-BLwbzCit.js → TagInput-R6ANDdvh.js} +1 -1
  291. package/storybook-static/assets/{TagInput.stories-DNcD4tn4.js → TagInput.stories-DAyX89-l.js} +1 -1
  292. package/storybook-static/assets/{Text-Bih-aO3C.js → Text-D3vBpXH0.js} +1 -1
  293. package/storybook-static/assets/TextEditorLexicalViewer-DRQG2UON.css +1 -0
  294. package/storybook-static/assets/TextEditorLexicalViewer.stories-RdypWNwx.js +66 -0
  295. package/storybook-static/assets/{Textarea-DCnLF4aj.js → Textarea-BPtHeqrt.js} +1 -1
  296. package/storybook-static/assets/{Textarea-D3os1biP.js → Textarea-Cio32hA3.js} +1 -1
  297. package/storybook-static/assets/{Textarea.stories-CIFzZQ5Z.js → Textarea.stories-DDVaU3Ho.js} +1 -1
  298. package/storybook-static/assets/{TimePanel-BcVGesht.js → TimePanel-e1drsuDA.js} +1 -1
  299. package/storybook-static/assets/{TimePanel.stories-C6_xVdCq.js → TimePanel.stories-Dze9jjtv.js} +1 -1
  300. package/storybook-static/assets/{Toggle-BD0YAuO2.js → Toggle-BuLJ3UR_.js} +1 -1
  301. package/storybook-static/assets/{Toggle-CtABgcO5.js → Toggle-D8UQ_CuL.js} +1 -1
  302. package/storybook-static/assets/{Toggle.stories-DnTnFcGB.js → Toggle.stories-0wuia83j.js} +1 -1
  303. package/storybook-static/assets/{TreeMultiSelect-DHk_QP2h.js → TreeMultiSelect-Ciy9H9Q3.js} +1 -1
  304. package/storybook-static/assets/{TreeMultiSelect-Bp_Akwgc.js → TreeMultiSelect-QWOfniqX.js} +1 -1
  305. package/storybook-static/assets/{TreeMultiSelect.stories-CBVQbR1c.js → TreeMultiSelect.stories-C5bKUKLA.js} +1 -1
  306. package/storybook-static/assets/{TreePickerBase-BhWXyIoO.js → TreePickerBase-DAld1sj1.js} +1 -1
  307. package/storybook-static/assets/{TreeSelect-HNbghKYG.js → TreeSelect-ANFeSIqw.js} +1 -1
  308. package/storybook-static/assets/{TreeSelect-DleoF0hJ.js → TreeSelect-DKUJycNd.js} +1 -1
  309. package/storybook-static/assets/{TreeSelect.stories-BigcPfEn.js → TreeSelect.stories-BJErYrTv.js} +1 -1
  310. package/storybook-static/assets/{TreeTable-BNkuyFKP.js → TreeTable-DcyUjVXj.js} +1 -1
  311. package/storybook-static/assets/TreeTable.stories-BnyxdNPz.js +138 -0
  312. package/storybook-static/assets/blocks-Bn1nLfdu.js +287 -0
  313. package/storybook-static/assets/{check-DRMDOowi.js → check-DTcQ3CsH.js} +1 -1
  314. package/storybook-static/assets/{chevron-down-D0ohA4RZ.js → chevron-down-CRBjmU7w.js} +1 -1
  315. package/storybook-static/assets/{chevron-left-CLqpYqDQ.js → chevron-left-CBPOblch.js} +1 -1
  316. package/storybook-static/assets/{chevron-right-CXryGzSx.js → chevron-right-Bryg2EIf.js} +1 -1
  317. package/storybook-static/assets/{chunk-W22LQPXL-CxLeSIMq.js → chunk-W22LQPXL-44DPZKTZ.js} +1 -1
  318. package/storybook-static/assets/{circle-alert-l6NwXGUY.js → circle-alert-DviK8puL.js} +1 -1
  319. package/storybook-static/assets/{circle-check-B-r716dD.js → circle-check-B1-l7Oh4.js} +1 -1
  320. package/storybook-static/assets/{contextMenu-Br4n839h.js → contextMenu-DtHQnSjw.js} +1 -1
  321. package/storybook-static/assets/{download-DqFSGBvN.js → download-BuLQijJq.js} +1 -1
  322. package/storybook-static/assets/{floating-ui.react-B-qFeMZZ.js → floating-ui.react-iTaFJp98.js} +1 -1
  323. package/storybook-static/assets/{foundationApi-DxO3oR-c.js → foundationApi-Bjw5h-ru.js} +1 -1
  324. package/storybook-static/assets/{foundationLib-CTFFCQvn.js → foundationLib-BcePCYWP.js} +1 -1
  325. package/storybook-static/assets/{hooks-CAgVZJ-F.js → hooks-CiUB_4kG.js} +1 -1
  326. package/storybook-static/assets/{iframe-E950Ehp0.js → iframe-BvendKJ_.js} +4 -4
  327. package/storybook-static/assets/iframe-BzGX4Usd.js +1 -0
  328. package/storybook-static/assets/{info-Dp6XZGwP.js → info-Dq-9oYHd.js} +1 -1
  329. package/storybook-static/assets/isRecord-DXDTW-jA-CMenzszF.js +1 -0
  330. package/storybook-static/assets/odata-f2MNATrV.js +1 -0
  331. package/storybook-static/assets/{odataStoryFixtures-CDArjyM7.js → odataStoryFixtures-BaKh8qyu.js} +1 -1
  332. package/storybook-static/assets/{react-CGpO0FqR.js → react-B6cO4JYx.js} +1 -1
  333. package/storybook-static/assets/{refresh-cw-dMgbnEda.js → refresh-cw-DmxZlsqm.js} +1 -1
  334. package/storybook-static/assets/{settings-2-CmW1dpao.js → settings-2-CBuqWUWt.js} +1 -1
  335. package/storybook-static/assets/{sortable-D7TAXZBK.js → sortable-BkTzd-5v.js} +1 -1
  336. package/storybook-static/assets/{syntaxhighlighter-QEQV7K2Y-ok7zY4QK.js → syntaxhighlighter-QEQV7K2Y-h6bhL7V7.js} +1 -1
  337. package/storybook-static/assets/{trash-2-5v1tbQ2V.js → trash-2-wTK0eWnF.js} +1 -1
  338. package/storybook-static/assets/{triangle-alert-CVLPpc5j.js → triangle-alert-CD0VXyGn.js} +1 -1
  339. package/storybook-static/assets/{useODataSelectBase-Bkht6gRs.js → useODataSelectBase-keqr2Q3a.js} +1 -1
  340. package/storybook-static/assets/useODataTreeData-BLDGoADN.js +1 -0
  341. package/storybook-static/assets/{usePickerQuery-BmoBHlzm.js → usePickerQuery-BA8NMnw6.js} +1 -1
  342. package/storybook-static/assets/{usePickerTriggerController-Dvt7LsFZ.js → usePickerTriggerController-Ceb5Hrtf.js} +1 -1
  343. package/storybook-static/assets/{x-DZpfbNy0.js → x-CsG3nxct.js} +1 -1
  344. package/storybook-static/iframe.html +2 -2
  345. package/storybook-static/index.json +1 -1
  346. package/storybook-static/project.json +1 -1
  347. package/storybook-static/assets/Color-6AOWCN3U-C4R02nIA.js +0 -1
  348. package/storybook-static/assets/FormattedTableCell-BKSpyxnu.js +0 -15
  349. package/storybook-static/assets/Table.stories-DO30v6VO.js +0 -184
  350. package/storybook-static/assets/TreeTable.stories-Bdx3y7Yb.js +0 -138
  351. package/storybook-static/assets/blocks-DGivDYe5.js +0 -48
  352. package/storybook-static/assets/components-Vmrwp1qC.js +0 -241
  353. package/storybook-static/assets/iframe-dKozSQh6.js +0 -1
  354. package/storybook-static/assets/odata-DuJbgix6.js +0 -1
  355. package/storybook-static/assets/useODataTreeData-DTWPuC9Y.js +0 -1
@@ -0,0 +1,19 @@
1
+ import { type CSSProperties, type ReactNode } from "react";
2
+ import { type FloatingWindowPosition } from "./model/floatingWindowsTypes";
3
+ export type FloatingWindowProps = Readonly<{
4
+ /** Стабильный уникальный ID внутри одного FloatingWindows; не содержит пользовательских сообщений. */
5
+ id: string;
6
+ title: string;
7
+ children: ReactNode;
8
+ defaultPosition?: FloatingWindowPosition;
9
+ width?: CSSProperties["width"];
10
+ height?: CSSProperties["height"];
11
+ actions?: ReactNode;
12
+ onClose?: () => void;
13
+ /** Только завершённый пользователем move; resize-коррекция и восстановление cache не являются командами пользователя. */
14
+ onPositionChange?: (position: FloatingWindowPosition) => void;
15
+ className?: string;
16
+ }>;
17
+ /** Немодальное окно: host управляет его существованием, primitive — геометрией, движением и локальным порядком. */
18
+ export declare function FloatingWindow({ id, title, children, defaultPosition, width, height, actions, onClose, onPositionChange, className }: FloatingWindowProps): import("react").JSX.Element;
19
+ //# sourceMappingURL=FloatingWindow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FloatingWindow.d.ts","sourceRoot":"","sources":["../../src/floating-windows/FloatingWindow.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,SAAS,EAAiB,MAAM,OAAO,CAAC;AAS1E,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAO3E,MAAM,MAAM,mBAAmB,GAAG,QAAQ,CAAC;IAC1C,sGAAsG;IACtG,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,CAAC;IACpB,eAAe,CAAC,EAAE,sBAAsB,CAAC;IACzC,KAAK,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,yHAAyH;IACzH,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,sBAAsB,KAAK,IAAI,CAAC;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC,CAAC;AAEH,mHAAmH;AACnH,wBAAgB,cAAc,CAAC,EAC9B,EAAE,EACF,KAAK,EACL,QAAQ,EACR,eAAe,EACf,KAAW,EACX,MAAY,EACZ,OAAO,EACP,OAAO,EACP,gBAAgB,EAChB,SAAS,EACT,EAAE,mBAAmB,+BA0CrB"}
@@ -0,0 +1,14 @@
1
+ import { type ReactNode } from "react";
2
+ import { type FloatingWindowMoveResult } from "./model/floatingWindowMoveTypes";
3
+ type FloatingWindowHeaderProps = Readonly<{
4
+ title: string;
5
+ titleId: string;
6
+ instructionId: string;
7
+ actions?: ReactNode;
8
+ onClose?: () => void;
9
+ move: FloatingWindowMoveResult;
10
+ }>;
11
+ /** Handle — самостоятельная кнопка: действия и закрытие не становятся вложенными interactive controls. */
12
+ export declare function FloatingWindowHeader({ title, titleId, instructionId, actions, onClose, move }: FloatingWindowHeaderProps): import("react").JSX.Element;
13
+ export {};
14
+ //# sourceMappingURL=FloatingWindowHeader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FloatingWindowHeader.d.ts","sourceRoot":"","sources":["../../src/floating-windows/FloatingWindowHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAQvC,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAEhF,KAAK,yBAAyB,GAAG,QAAQ,CAAC;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,IAAI,EAAE,wBAAwB,CAAC;CAC/B,CAAC,CAAC;AAEH,0GAA0G;AAC1G,wBAAgB,oBAAoB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,yBAAyB,+BA0BxH"}
@@ -0,0 +1,16 @@
1
+ import { type CSSProperties, type ReactNode } from "react";
2
+ export type FloatingWindowsProps = Readonly<{
3
+ children: ReactNode;
4
+ className?: string;
5
+ /** Размер и размещение области задаёт host: например, height для панели или position:fixed/inset для слоя страницы. */
6
+ style?: CSSProperties;
7
+ /** Отдельный ключ неавторитетных координат. Без ключа browser storage не используется. Смена ключа пересоздаёт область. */
8
+ storageKey?: string;
9
+ /** Начальный шаг каскада в CSS px; используется только при создании области. */
10
+ cascadeOffset?: number;
11
+ /** Диагностика отказа сохранения; окно продолжает работать в памяти. */
12
+ onStorageError?: (error: unknown) => void;
13
+ }>;
14
+ /** Независимая немодальная область для свободно размещаемых окон; контент не анализируется и не клонируется. */
15
+ export declare function FloatingWindows({ children, className, style, storageKey, cascadeOffset, onStorageError }: FloatingWindowsProps): import("react").JSX.Element;
16
+ //# sourceMappingURL=FloatingWindows.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FloatingWindows.d.ts","sourceRoot":"","sources":["../../src/floating-windows/FloatingWindows.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAK3D,MAAM,MAAM,oBAAoB,GAAG,QAAQ,CAAC;IAC3C,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uHAAuH;IACvH,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,2HAA2H;IAC3H,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gFAAgF;IAChF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wEAAwE;IACxE,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAC1C,CAAC,CAAC;AAEH,gHAAgH;AAChH,wBAAgB,eAAe,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,EAAE,oBAAoB,+BAS9H"}
@@ -0,0 +1,10 @@
1
+ import { type CSSProperties, type ReactNode } from "react";
2
+ type FloatingWindowsBoundaryProps = Readonly<{
3
+ children: ReactNode;
4
+ className?: string;
5
+ style?: CSSProperties;
6
+ }>;
7
+ /** Измеряемый containing block не перехватывает события страницы за пределами самих окон. */
8
+ export declare function FloatingWindowsBoundary({ children, className, style }: FloatingWindowsBoundaryProps): import("react").JSX.Element;
9
+ export {};
10
+ //# sourceMappingURL=FloatingWindowsBoundary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FloatingWindowsBoundary.d.ts","sourceRoot":"","sources":["../../src/floating-windows/FloatingWindowsBoundary.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAQ3D,KAAK,4BAA4B,GAAG,QAAQ,CAAC;IAAE,QAAQ,EAAE,SAAS,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,aAAa,CAAA;CAAE,CAAC,CAAC;AAEjH,6FAA6F;AAC7F,wBAAgB,uBAAuB,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,4BAA4B,+BAQnG"}
@@ -0,0 +1,11 @@
1
+ import { type ReactNode } from "react";
2
+ type FloatingWindowsProviderProps = Readonly<{
3
+ children: ReactNode;
4
+ cascadeOffset?: number;
5
+ storageKey?: string;
6
+ onStorageError?: (error: unknown) => void;
7
+ }>;
8
+ /** Один экземпляр области — один store. Провайдер компонует владельцев state/persistence, не реализуя их алгоритмы. */
9
+ export declare function FloatingWindowsProvider({ children, cascadeOffset, storageKey, onStorageError }: FloatingWindowsProviderProps): import("react").JSX.Element;
10
+ export {};
11
+ //# sourceMappingURL=FloatingWindowsProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FloatingWindowsProvider.d.ts","sourceRoot":"","sources":["../../src/floating-windows/FloatingWindowsProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAMjD,KAAK,4BAA4B,GAAG,QAAQ,CAAC;IAC5C,QAAQ,EAAE,SAAS,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAC1C,CAAC,CAAC;AAEH,uHAAuH;AACvH,wBAAgB,uBAAuB,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,EAAE,4BAA4B,+BAI5H"}
@@ -0,0 +1,4 @@
1
+ export { FloatingWindows, type FloatingWindowsProps } from "./FloatingWindows";
2
+ export { FloatingWindow, type FloatingWindowProps } from "./FloatingWindow";
3
+ export { type FloatingWindowPosition } from "./model/floatingWindowsTypes";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/floating-windows/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,8BAA8B,CAAC"}
@@ -0,0 +1,576 @@
1
+ import { o as e } from "../chunks/flex-BhrQCH4I.js";
2
+ import { n as t } from "../chunks/button-DudCl375.js";
3
+ import { cn as n } from "@ryuzaki13/react-foundation-lib/utils";
4
+ import { Move as r, X as i } from "lucide-react";
5
+ import { jsx as a, jsxs as o } from "react/jsx-runtime";
6
+ import { createContext as s, useContext as c, useEffect as l, useEffectEvent as u, useId as d, useMemo as f, useRef as p, useState as m } from "react";
7
+ import { useOverlayFocus as h } from "@ryuzaki13/react-foundation-lib/dom";
8
+ import { createMissingContextError as g } from "@ryuzaki13/react-foundation-lib/error";
9
+ import { createStore as _ } from "zustand/vanilla";
10
+ import { clampNumberScaleValue as v } from "@ryuzaki13/react-foundation-lib/number-scale";
11
+ import { isRecord as y } from "@ryuzaki13/react-foundation-lib/validators";
12
+ import { useStore as b } from "zustand";
13
+ var x = {
14
+ boundary: "k9WITw",
15
+ window: "QIQYat",
16
+ header: "_7-j1qT",
17
+ handle: "r0aEv3",
18
+ content: "PZ5cL0"
19
+ };
20
+ //#endregion
21
+ //#region src/floating-windows/model/useFloatingWindowsBounds.ts
22
+ function S(e) {
23
+ let t = p(null);
24
+ return l(() => {
25
+ let n = t.current;
26
+ if (!n) return;
27
+ let r = () => {
28
+ e.getState().setBounds({
29
+ width: n.clientWidth,
30
+ height: n.clientHeight
31
+ });
32
+ };
33
+ if (r(), typeof ResizeObserver > "u") return;
34
+ let i = new ResizeObserver(r);
35
+ return i.observe(n), () => i.disconnect();
36
+ }, [e]), t;
37
+ }
38
+ //#endregion
39
+ //#region src/floating-windows/model/FloatingWindowsContext.ts
40
+ var C = s(null);
41
+ //#endregion
42
+ //#region src/floating-windows/model/useFloatingWindowsStore.ts
43
+ function w() {
44
+ let e = c(C);
45
+ if (!e) throw g({
46
+ hookName: "useFloatingWindowsStore",
47
+ providerName: "FloatingWindows"
48
+ });
49
+ return e;
50
+ }
51
+ //#endregion
52
+ //#region src/floating-windows/FloatingWindowsBoundary.tsx
53
+ function T({ children: e, className: t, style: r }) {
54
+ let i = S(w());
55
+ return /* @__PURE__ */ a("div", {
56
+ ref: i,
57
+ className: n(x.boundary, t),
58
+ style: r,
59
+ "data-floating-windows": "",
60
+ children: e
61
+ });
62
+ }
63
+ //#endregion
64
+ //#region src/floating-windows/lib/constrainFloatingWindowPosition.ts
65
+ function E(e, t, n) {
66
+ if (!Number.isFinite(e.x) || !Number.isFinite(e.y)) throw RangeError("Координаты плавающего окна должны быть конечными числами.");
67
+ for (let e of [t, n]) if (e !== null && (!Number.isFinite(e.width) || !Number.isFinite(e.height) || e.width < 0 || e.height < 0)) throw RangeError("Размер окна и рабочей области должен состоять из конечных неотрицательных чисел.");
68
+ if (t === null || n === null || n.width === 0 || n.height === 0) return e;
69
+ let r = v(e.x, 0, Math.max(0, n.width - t.width)), i = v(e.y, 0, Math.max(0, n.height - t.height));
70
+ return r === e.x && i === e.y ? e : {
71
+ x: r,
72
+ y: i
73
+ };
74
+ }
75
+ //#endregion
76
+ //#region src/floating-windows/lib/isFloatingWindowId.ts
77
+ function D(e) {
78
+ return typeof e == "string" && e.trim().length > 0 && e.length <= 256;
79
+ }
80
+ //#endregion
81
+ //#region src/floating-windows/lib/selectFloatingWindowCascadePosition.ts
82
+ function O(e, t, n = 24) {
83
+ if (!Number.isFinite(n) || n < 0) throw RangeError("Смещение каскада должно быть конечным неотрицательным числом.");
84
+ for (let n of [e, ...t]) if (!Number.isFinite(n.x) || !Number.isFinite(n.y)) throw RangeError("Координаты каскада плавающих окон должны быть конечными числами.");
85
+ if (n === 0) return e;
86
+ let r = e;
87
+ for (let e = 0; e < t.length; e += 1) {
88
+ if (!t.some((e) => e.x === r.x && e.y === r.y)) return r;
89
+ let e = r.x + n, i = r.y + n;
90
+ if (!Number.isFinite(e) || !Number.isFinite(i)) throw RangeError("Координаты каскада вышли за пределы конечных чисел.");
91
+ r = {
92
+ x: e,
93
+ y: i
94
+ };
95
+ }
96
+ return r;
97
+ }
98
+ //#endregion
99
+ //#region src/floating-windows/model/createFloatingWindowsStore.ts
100
+ function k({ cascadeOffset: e = 24 } = {}) {
101
+ if (!Number.isFinite(e) || e < 0) throw RangeError("Смещение каскада должно быть конечным неотрицательным числом.");
102
+ return _()((t, n) => ({
103
+ windows: /* @__PURE__ */ new Map(),
104
+ positions: /* @__PURE__ */ new Map(),
105
+ order: [],
106
+ bounds: null,
107
+ register: (r, i = {
108
+ x: 24,
109
+ y: 24
110
+ }) => {
111
+ if (!D(r)) throw Error("Идентификатор плавающего окна должен содержать от 1 до 256 символов и не состоять из пробелов.");
112
+ let a = n();
113
+ if (a.windows.has(r)) throw Error(`Плавающее окно с идентификатором «${r}» уже открыто в этой рабочей области.`);
114
+ E(i, null, null);
115
+ let o = a.positions.get(r), s = o ?? O(i, Array.from(a.windows.values(), (e) => e.position), e), c = [...a.order, r], l = new Map(a.windows);
116
+ l.set(r, {
117
+ position: s,
118
+ size: null,
119
+ layer: c.length
120
+ }), t({
121
+ windows: l,
122
+ positions: o ? a.positions : new Map(a.positions).set(r, s),
123
+ order: c
124
+ });
125
+ let u = !0;
126
+ return () => {
127
+ u && (u = !1, t((e) => {
128
+ let t = e.order.filter((e) => e !== r), n = new Map(e.windows);
129
+ return n.delete(r), t.forEach((e, t) => {
130
+ let r = n.get(e);
131
+ r && r.layer !== t + 1 && n.set(e, {
132
+ ...r,
133
+ layer: t + 1
134
+ });
135
+ }), {
136
+ windows: n,
137
+ order: t
138
+ };
139
+ }));
140
+ };
141
+ },
142
+ setPosition: (e, n) => {
143
+ t((t) => {
144
+ let r = t.windows.get(e);
145
+ if (!r) return t;
146
+ let i = E(n, r.size, t.bounds);
147
+ return r.position.x === i.x && r.position.y === i.y ? t : {
148
+ windows: new Map(t.windows).set(e, {
149
+ ...r,
150
+ position: i
151
+ }),
152
+ positions: new Map(t.positions).set(e, i)
153
+ };
154
+ });
155
+ },
156
+ setSize: (e, n) => {
157
+ t((t) => {
158
+ let r = t.windows.get(e);
159
+ if (!r) return t;
160
+ let i = E(r.position, n, t.bounds);
161
+ return r.size?.width === n.width && r.size.height === n.height && i === r.position ? t : {
162
+ windows: new Map(t.windows).set(e, {
163
+ ...r,
164
+ position: i,
165
+ size: n
166
+ }),
167
+ positions: i === r.position ? t.positions : new Map(t.positions).set(e, i)
168
+ };
169
+ });
170
+ },
171
+ setBounds: (e) => {
172
+ E({
173
+ x: 0,
174
+ y: 0
175
+ }, null, e), t((t) => {
176
+ if (t.bounds?.width === e?.width && t.bounds?.height === e?.height) return t;
177
+ let n = new Map(t.windows), r = new Map(t.positions), i = !1;
178
+ for (let [a, o] of t.windows) {
179
+ let t = E(o.position, o.size, e);
180
+ t !== o.position && (i = !0, n.set(a, {
181
+ ...o,
182
+ position: t
183
+ }), r.set(a, t));
184
+ }
185
+ return {
186
+ bounds: e,
187
+ windows: i ? n : t.windows,
188
+ positions: i ? r : t.positions
189
+ };
190
+ });
191
+ },
192
+ bringToFront: (e) => {
193
+ t((t) => {
194
+ if (!t.windows.has(e) || t.order.at(-1) === e) return t;
195
+ let n = [...t.order.filter((t) => t !== e), e], r = new Map(t.windows);
196
+ return n.forEach((e, t) => {
197
+ let n = r.get(e);
198
+ n && n.layer !== t + 1 && r.set(e, {
199
+ ...n,
200
+ layer: t + 1
201
+ });
202
+ }), {
203
+ windows: r,
204
+ order: n
205
+ };
206
+ });
207
+ },
208
+ restorePositions: (e) => {
209
+ for (let [t, n] of e) {
210
+ if (!D(t)) throw Error("Идентификатор плавающего окна должен содержать от 1 до 256 символов и не состоять из пробелов.");
211
+ E(n, null, null);
212
+ }
213
+ t((t) => {
214
+ let n = /* @__PURE__ */ new Map();
215
+ for (let [r, i] of e) {
216
+ let e = t.positions.get(r);
217
+ n.set(r, e && e.x === i.x && e.y === i.y ? e : i);
218
+ }
219
+ let r = new Map(t.windows), i = !1;
220
+ for (let [e, a] of t.windows) {
221
+ let o = E(n.get(e) ?? a.position, a.size, t.bounds), s = o.x === a.position.x && o.y === a.position.y, c = s ? a.position : o;
222
+ n.set(e, c), !s && (i = !0, r.set(e, {
223
+ ...a,
224
+ position: c
225
+ }));
226
+ }
227
+ let a = n.size === t.positions.size && Array.from(n).every(([e, n]) => t.positions.get(e) === n);
228
+ return !i && a ? t : {
229
+ windows: i ? r : t.windows,
230
+ positions: a ? t.positions : n
231
+ };
232
+ });
233
+ }
234
+ }));
235
+ }
236
+ //#endregion
237
+ //#region src/floating-windows/lib/floatingWindowsStorage.ts
238
+ var A = 200, j = 65536;
239
+ function M(e) {
240
+ if (e.length > j) throw Error("Сохранённые позиции окон превышают допустимый размер.");
241
+ let t = JSON.parse(e);
242
+ if (!y(t) || t.version !== 1 || !Array.isArray(t.positions) || t.positions.length > A) throw Error("Неизвестный формат сохранённых позиций окон.");
243
+ let n = /* @__PURE__ */ new Map();
244
+ for (let e of t.positions) {
245
+ if (!y(e) || !D(e.id) || n.has(e.id) || typeof e.x != "number" || !Number.isFinite(e.x) || typeof e.y != "number" || !Number.isFinite(e.y)) throw Error("Сохранённая позиция окна не прошла проверку.");
246
+ n.set(e.id, {
247
+ x: e.x,
248
+ y: e.y
249
+ });
250
+ }
251
+ return n;
252
+ }
253
+ function N(e) {
254
+ let t = [...e].slice(-200), n = [], r = 28;
255
+ for (let e = t.length - 1; e >= 0; --e) {
256
+ let [i, a] = t[e];
257
+ if (!D(i) || !Number.isFinite(a.x) || !Number.isFinite(a.y)) throw Error("Сохранённая позиция окна не прошла проверку.");
258
+ let o = JSON.stringify({
259
+ id: i,
260
+ x: a.x,
261
+ y: a.y
262
+ }), s = r + o.length + (n.length === 0 ? 0 : 1);
263
+ if (s > j) break;
264
+ n.push(o), r = s;
265
+ }
266
+ return `{"version":1,"positions":[${n.reverse().join(",")}]}`;
267
+ }
268
+ //#endregion
269
+ //#region src/floating-windows/model/useFloatingWindowsPersistence.ts
270
+ function P(e, t, n) {
271
+ let r = u((e) => n?.(e));
272
+ l(() => {
273
+ if (!t) return;
274
+ let n;
275
+ try {
276
+ n = window.localStorage;
277
+ let r = n.getItem(t);
278
+ r !== null && e.getState().restorePositions(M(r));
279
+ } catch (e) {
280
+ r(e);
281
+ return;
282
+ }
283
+ let i = !0, a = () => {
284
+ if (i) try {
285
+ n.setItem(t, N(e.getState().positions));
286
+ } catch (e) {
287
+ i = !1, r(e);
288
+ }
289
+ };
290
+ return a(), e.subscribe((e, t) => {
291
+ e.positions !== t.positions && a();
292
+ });
293
+ }, [e, t]);
294
+ }
295
+ //#endregion
296
+ //#region src/floating-windows/FloatingWindowsProvider.tsx
297
+ function F({ children: e, cascadeOffset: t, storageKey: n, onStorageError: r }) {
298
+ let [i] = m(() => k({ cascadeOffset: t }));
299
+ return P(i, n, r), /* @__PURE__ */ a(C, {
300
+ value: i,
301
+ children: e
302
+ });
303
+ }
304
+ //#endregion
305
+ //#region src/floating-windows/FloatingWindows.tsx
306
+ function I({ children: e, className: t, style: n, storageKey: r, cascadeOffset: i, onStorageError: o }) {
307
+ if (r !== void 0 && !r.trim()) throw Error("Ключ сохранения области окон не может быть пустым.");
308
+ return /* @__PURE__ */ a(F, {
309
+ storageKey: r,
310
+ cascadeOffset: i,
311
+ onStorageError: o,
312
+ children: /* @__PURE__ */ a(T, {
313
+ className: t,
314
+ style: n,
315
+ children: e
316
+ })
317
+ }, r);
318
+ }
319
+ //#endregion
320
+ //#region src/floating-windows/FloatingWindowHeader.tsx
321
+ function L({ title: n, titleId: s, instructionId: c, actions: l, onClose: u, move: d }) {
322
+ return /* @__PURE__ */ o(e, {
323
+ row: !0,
324
+ align: "center",
325
+ gap: "xs",
326
+ className: x.header,
327
+ children: [
328
+ /* @__PURE__ */ a(t, {
329
+ appearance: "ghost",
330
+ icon: /* @__PURE__ */ a(r, { size: 16 }),
331
+ className: x.handle,
332
+ "aria-label": `Переместить окно «${n}»`,
333
+ "aria-describedby": c,
334
+ "aria-pressed": d.moving,
335
+ "data-floating-window-action": "move",
336
+ ...d.handleProps,
337
+ children: /* @__PURE__ */ a("span", {
338
+ id: s,
339
+ children: n
340
+ })
341
+ }),
342
+ l,
343
+ u && /* @__PURE__ */ a(t, {
344
+ icon: /* @__PURE__ */ a(i, { size: 16 }),
345
+ appearance: "ghost",
346
+ "aria-label": `Закрыть окно «${n}»`,
347
+ "data-floating-window-action": "close",
348
+ onClick: u
349
+ })
350
+ ]
351
+ });
352
+ }
353
+ //#endregion
354
+ //#region src/floating-windows/lib/getFloatingWindowStyle.ts
355
+ function R(e, t, n) {
356
+ let r = e.size?.width ?? (typeof t == "number" ? t : null), i = e.size?.height ?? (typeof n == "number" ? n : null);
357
+ return {
358
+ width: t,
359
+ height: n,
360
+ zIndex: e.layer,
361
+ left: r === null ? 0 : `clamp(0px, ${e.position.x}px, max(0px, calc(100% - ${r}px)))`,
362
+ top: i === null ? 0 : `clamp(0px, ${e.position.y}px, max(0px, calc(100% - ${i}px)))`
363
+ };
364
+ }
365
+ //#endregion
366
+ //#region src/floating-windows/lib/selectFloatingWindowRestoreFocus.ts
367
+ function z(e) {
368
+ let t = document.activeElement;
369
+ return t instanceof HTMLElement && t !== document.body && !e?.contains(t) ? t : void 0;
370
+ }
371
+ //#endregion
372
+ //#region src/floating-windows/model/useFloatingWindowFocus.ts
373
+ function B(e) {
374
+ let t = p(null);
375
+ h({
376
+ active: !0,
377
+ trapFocus: !1,
378
+ containerRef: e,
379
+ initialFocus: (e) => (t.current = e, e),
380
+ restoreFocusTarget: () => z(t.current)
381
+ });
382
+ }
383
+ //#endregion
384
+ //#region src/floating-windows/model/useFloatingWindowMeasurements.ts
385
+ function V(e, t, n) {
386
+ l(() => {
387
+ let r = n.current;
388
+ if (!r) return;
389
+ let i = () => {
390
+ let n = r.offsetWidth, i = r.offsetHeight;
391
+ n > 0 && i > 0 && e.getState().setSize(t, {
392
+ width: n,
393
+ height: i
394
+ });
395
+ };
396
+ if (i(), typeof ResizeObserver > "u") return;
397
+ let a = new ResizeObserver(i);
398
+ return a.observe(r), () => a.disconnect();
399
+ }, [
400
+ e,
401
+ t,
402
+ n
403
+ ]);
404
+ }
405
+ //#endregion
406
+ //#region src/floating-windows/model/useFloatingWindowMove.ts
407
+ function H({ id: e, store: t, panelRef: n, onPositionChange: r }) {
408
+ let i = p(null), a = p(null), [o, s] = m(!1), c = () => {
409
+ a.current !== null && cancelAnimationFrame(a.current), a.current = null, n.current?.style.removeProperty("transform");
410
+ }, d = (e) => {
411
+ e?.pointer?.target.hasPointerCapture(e.pointer.id) && e.pointer.target.releasePointerCapture(e.pointer.id);
412
+ }, f = (n) => {
413
+ let a = i.current;
414
+ if (!a || (i.current = null, c(), d(a), s(!1), !n)) return;
415
+ t.getState().setPosition(e, a.position);
416
+ let o = t.getState().windows.get(e)?.position;
417
+ o && (o.x !== a.origin.x || o.y !== a.origin.y) && r?.(o);
418
+ }, h = (r) => {
419
+ let o = i.current;
420
+ if (!o) return;
421
+ let s = t.getState();
422
+ o.position = E(r, s.windows.get(e)?.size ?? null, s.bounds), a.current === null && (a.current = requestAnimationFrame(() => {
423
+ a.current = null;
424
+ let e = i.current;
425
+ e && n.current && (n.current.style.transform = `translate(${e.position.x - e.origin.x}px, ${e.position.y - e.origin.y}px)`);
426
+ }));
427
+ }, g = (n) => {
428
+ if (i.current) return;
429
+ let r = t.getState().windows.get(e);
430
+ r && (t.getState().bringToFront(e), i.current = {
431
+ origin: r.position,
432
+ position: r.position,
433
+ pointer: n
434
+ }, s(!0));
435
+ }, _ = u(() => f(!1)), v = u(() => {
436
+ let e = i.current;
437
+ i.current = null, c(), d(e);
438
+ });
439
+ return l(() => {
440
+ let n = t.subscribe((t, n) => {
441
+ let r = n.windows.get(e), i = t.windows.get(e);
442
+ (t.bounds !== n.bounds || r?.size !== i?.size || r?.position !== i?.position) && _();
443
+ });
444
+ return () => {
445
+ n(), v();
446
+ };
447
+ }, [t, e]), {
448
+ moving: o,
449
+ handleProps: {
450
+ onClick: (e) => {
451
+ e.detail !== 0 || i.current?.pointer || (i.current ? f(!0) : g(null));
452
+ },
453
+ onPointerDown: (e) => {
454
+ if (e.button !== 0 || !e.isPrimary || i.current) return;
455
+ e.preventDefault(), e.currentTarget.focus({ preventScroll: !0 });
456
+ let t = n.current;
457
+ if (!t) return;
458
+ let r = t.getBoundingClientRect();
459
+ g({
460
+ id: e.pointerId,
461
+ x: e.clientX,
462
+ y: e.clientY,
463
+ target: e.currentTarget,
464
+ scaleX: t.offsetWidth > 0 && r.width > 0 ? r.width / t.offsetWidth : 1,
465
+ scaleY: t.offsetHeight > 0 && r.height > 0 ? r.height / t.offsetHeight : 1
466
+ }), e.currentTarget.setPointerCapture(e.pointerId);
467
+ },
468
+ onPointerMove: (e) => {
469
+ let t = i.current;
470
+ !t?.pointer || t.pointer.id !== e.pointerId || h({
471
+ x: t.origin.x + (e.clientX - t.pointer.x) / t.pointer.scaleX,
472
+ y: t.origin.y + (e.clientY - t.pointer.y) / t.pointer.scaleY
473
+ });
474
+ },
475
+ onPointerUp: (e) => {
476
+ let t = i.current;
477
+ !t?.pointer || t.pointer.id !== e.pointerId || (h({
478
+ x: t.origin.x + (e.clientX - t.pointer.x) / t.pointer.scaleX,
479
+ y: t.origin.y + (e.clientY - t.pointer.y) / t.pointer.scaleY
480
+ }), f(!0));
481
+ },
482
+ onPointerCancel: (e) => {
483
+ i.current?.pointer?.id === e.pointerId && f(!1);
484
+ },
485
+ onLostPointerCapture: (e) => {
486
+ i.current?.pointer?.id === e.pointerId && f(!1);
487
+ },
488
+ onBlur: () => f(!1),
489
+ onKeyDown: (e) => {
490
+ if (e.defaultPrevented) return;
491
+ if (e.key === "Escape" && i.current) {
492
+ e.preventDefault(), e.stopPropagation(), f(!1);
493
+ return;
494
+ }
495
+ if ((e.key === " " || e.key === "Enter") && !i.current?.pointer) {
496
+ if (e.preventDefault(), e.repeat) return;
497
+ i.current ? f(!0) : g(null);
498
+ return;
499
+ }
500
+ let t = i.current;
501
+ if (!t || t.pointer) return;
502
+ let n = e.shiftKey ? 1 : 10, r = e.key === "ArrowLeft" ? -n : e.key === "ArrowRight" ? n : 0, a = e.key === "ArrowUp" ? -n : e.key === "ArrowDown" ? n : 0;
503
+ (r || a) && (e.preventDefault(), h({
504
+ x: t.position.x + r,
505
+ y: t.position.y + a
506
+ }));
507
+ }
508
+ }
509
+ };
510
+ }
511
+ //#endregion
512
+ //#region src/floating-windows/model/useFloatingWindowSnapshot.ts
513
+ function U(e, t, n) {
514
+ let r = n?.x ?? 24, i = n?.y ?? 24, a = f(() => ({
515
+ position: {
516
+ x: r,
517
+ y: i
518
+ },
519
+ size: null,
520
+ layer: 0
521
+ }), [r, i]), o = b(e, (e) => e.windows.get(t) ?? a), s = u(() => e.getState().register(t, {
522
+ x: r,
523
+ y: i
524
+ }));
525
+ return l(() => s(), [e, t]), o;
526
+ }
527
+ //#endregion
528
+ //#region src/floating-windows/FloatingWindow.tsx
529
+ function W({ id: t, title: r, children: i, defaultPosition: s, width: c = 360, height: l = 300, actions: u, onClose: f, onPositionChange: m, className: h }) {
530
+ let g = w(), _ = U(g, t, s), v = p(null), y = d(), b = d();
531
+ V(g, t, v), B(v);
532
+ let S = H({
533
+ id: t,
534
+ store: g,
535
+ panelRef: v,
536
+ onPositionChange: m
537
+ });
538
+ return /* @__PURE__ */ o(e, {
539
+ column: !0,
540
+ ref: v,
541
+ role: "dialog",
542
+ "aria-labelledby": y,
543
+ tabIndex: -1,
544
+ "data-floating-window-id": t,
545
+ className: n("surface0 radiusMd shadowLg", x.window, h),
546
+ style: R(_, c, l),
547
+ onPointerDownCapture: () => g.getState().bringToFront(t),
548
+ onFocusCapture: () => g.getState().bringToFront(t),
549
+ onKeyDown: (e) => {
550
+ e.key !== "Escape" || e.defaultPrevented || g.getState().order.at(-1) !== t || !f || (e.preventDefault(), e.stopPropagation(), f());
551
+ },
552
+ children: [
553
+ /* @__PURE__ */ a(L, {
554
+ title: r,
555
+ titleId: y,
556
+ instructionId: b,
557
+ actions: u,
558
+ onClose: f,
559
+ move: S
560
+ }),
561
+ /* @__PURE__ */ a("span", {
562
+ id: b,
563
+ className: "visuallyHidden",
564
+ children: "Для перемещения нажмите Enter или пробел, затем используйте стрелки. Shift — шаг 1 пиксель. Enter или пробел — сохранить, Escape — отменить."
565
+ }),
566
+ /* @__PURE__ */ a("div", {
567
+ className: x.content,
568
+ children: i
569
+ })
570
+ ]
571
+ });
572
+ }
573
+ //#endregion
574
+ export { W as FloatingWindow, I as FloatingWindows };
575
+
576
+ //# sourceMappingURL=index.js.map