@ryuzaki13/react-foundation-ui 1.5.10 → 1.5.12

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 (320) hide show
  1. package/dist/advanced-search/index.js +182 -148
  2. package/dist/advanced-search/index.js.map +1 -1
  3. package/dist/advanced-search/model/useAdvancedSearchSelection.d.ts +1 -1
  4. package/dist/advanced-search/model/useAdvancedSearchSelection.d.ts.map +1 -1
  5. package/dist/advanced-search/ui/AdvancedSearchModal.d.ts +12 -3
  6. package/dist/advanced-search/ui/AdvancedSearchModal.d.ts.map +1 -1
  7. package/dist/advanced-search/ui/AdvancedSearchModalSession.d.ts +15 -0
  8. package/dist/advanced-search/ui/AdvancedSearchModalSession.d.ts.map +1 -0
  9. package/dist/advanced-search/ui/AdvancedSearchSelect.d.ts.map +1 -1
  10. package/dist/badge/index.js +1 -1
  11. package/dist/base-table/index.js +1 -1
  12. package/dist/button/index.js +1 -1
  13. package/dist/check-box/index.js +1 -1
  14. package/dist/chunks/{CalendarView-BSshXZAX.js → CalendarView-DqA-PbAU.js} +42 -42
  15. package/dist/chunks/{CalendarView-BSshXZAX.js.map → CalendarView-DqA-PbAU.js.map} +1 -1
  16. package/dist/chunks/CheckBox.module-C5SjPwSj.js.map +1 -1
  17. package/dist/chunks/{ImageViewerRuntime-BMs3BBkV.js → ImageViewerRuntime-HGBWp9NM.js} +18 -18
  18. package/dist/chunks/{ImageViewerRuntime-BMs3BBkV.js.map → ImageViewerRuntime-HGBWp9NM.js.map} +1 -1
  19. package/dist/chunks/{TextEditorLexicalClient-CLjpATRu.js → TextEditorLexicalClient-B084kVzu.js} +322 -322
  20. package/dist/chunks/{TextEditorLexicalClient-CLjpATRu.js.map → TextEditorLexicalClient-B084kVzu.js.map} +1 -1
  21. package/dist/chunks/{badge-CaooZXYD.js → badge-DMM8cOHd.js} +16 -16
  22. package/dist/chunks/{badge-CaooZXYD.js.map → badge-DMM8cOHd.js.map} +1 -1
  23. package/dist/chunks/{base-table-fUJY__6M.js → base-table-CJdKCKhb.js} +125 -125
  24. package/dist/chunks/{base-table-fUJY__6M.js.map → base-table-CJdKCKhb.js.map} +1 -1
  25. package/dist/chunks/{button-C--u7uJj.js → button-CzUO5rzq.js} +17 -17
  26. package/dist/chunks/{button-C--u7uJj.js.map → button-CzUO5rzq.js.map} +1 -1
  27. package/dist/chunks/{check-box-BZiEBR9c.js → check-box-sfGjYczQ.js} +11 -11
  28. package/dist/chunks/{check-box-BZiEBR9c.js.map → check-box-sfGjYczQ.js.map} +1 -1
  29. package/dist/chunks/{context-menu-XZ-e0f6_.js → context-menu-6nJkPmKV.js} +83 -83
  30. package/dist/chunks/{context-menu-XZ-e0f6_.js.map → context-menu-6nJkPmKV.js.map} +1 -1
  31. package/dist/chunks/date-input-9T8AoG5U.js +341 -0
  32. package/dist/chunks/{date-input-Dr5QNVT6.js.map → date-input-9T8AoG5U.js.map} +1 -1
  33. package/dist/chunks/{input-BNszawm6.js → input-VC8jEoTa.js} +37 -37
  34. package/dist/chunks/{input-BNszawm6.js.map → input-VC8jEoTa.js.map} +1 -1
  35. package/dist/chunks/{input-files-DxLVr2PF.js → input-files-CoMjadk7.js} +22 -22
  36. package/dist/chunks/{input-files-DxLVr2PF.js.map → input-files-CoMjadk7.js.map} +1 -1
  37. package/dist/chunks/{input-search-C2OOhZlw.js → input-search-Bs_9SxT0.js} +2 -2
  38. package/dist/chunks/{input-search-C2OOhZlw.js.map → input-search-Bs_9SxT0.js.map} +1 -1
  39. package/dist/chunks/{misc-Cp_r022Z.js → misc-CkRRma5E.js} +55 -55
  40. package/dist/chunks/{misc-Cp_r022Z.js.map → misc-CkRRma5E.js.map} +1 -1
  41. package/dist/chunks/{modal-DK9M7lT5.js → modal-LHkNxBko.js} +38 -38
  42. package/dist/chunks/{modal-DK9M7lT5.js.map → modal-LHkNxBko.js.map} +1 -1
  43. package/dist/chunks/{multi-select-CFHaQPot.js → multi-select-BJ6Lst1E.js} +44 -44
  44. package/dist/chunks/{multi-select-CFHaQPot.js.map → multi-select-BJ6Lst1E.js.map} +1 -1
  45. package/dist/chunks/{picker-D3Fc15JH.js → picker-DLnfOgZj.js} +34 -34
  46. package/dist/chunks/{picker-D3Fc15JH.js.map → picker-DLnfOgZj.js.map} +1 -1
  47. package/dist/chunks/{popover-BTT7zSqx.js → popover-IExDrsF6.js} +67 -67
  48. package/dist/chunks/{popover-BTT7zSqx.js.map → popover-IExDrsF6.js.map} +1 -1
  49. package/dist/chunks/{select-BolFlcoY.js → select-CysiIrej.js} +5 -5
  50. package/dist/chunks/{select-BolFlcoY.js.map → select-CysiIrej.js.map} +1 -1
  51. package/dist/chunks/{sortable-DcTIAbjD.js → sortable-BKIwlqhI.js} +17 -17
  52. package/dist/chunks/{sortable-DcTIAbjD.js.map → sortable-BKIwlqhI.js.map} +1 -1
  53. package/dist/chunks/{table-BChs6bgR.js → table-CIWdAcPY.js} +2 -2
  54. package/dist/chunks/{table-BChs6bgR.js.map → table-CIWdAcPY.js.map} +1 -1
  55. package/dist/chunks/{types-CxXyru6U.js → types-D9Wj9wrg.js} +21 -21
  56. package/dist/chunks/{types-CxXyru6U.js.map → types-D9Wj9wrg.js.map} +1 -1
  57. package/dist/chunks/ui.module-DHVTOqZ0.js.map +1 -1
  58. package/dist/chunks/{useODataSelectBase-BhCMCzv_.js → useODataSelectBase-Bq36Wp1U.js} +8 -8
  59. package/dist/chunks/{useODataSelectBase-BhCMCzv_.js.map → useODataSelectBase-Bq36Wp1U.js.map} +1 -1
  60. package/dist/context-menu/index.js +1 -1
  61. package/dist/date-input/index.js +2 -2
  62. package/dist/date-time-input/index.js +32 -32
  63. package/dist/dialog/index.js +9 -9
  64. package/dist/disclosure/index.js +10 -10
  65. package/dist/drop-zone/index.js +8 -8
  66. package/dist/errors/index.js +8 -8
  67. package/dist/expandable-action-panel/index.js +16 -16
  68. package/dist/flex/useFlexClasses.d.ts +1 -1
  69. package/dist/fullscreen-portal/index.js +7 -7
  70. package/dist/image/index.js +27 -27
  71. package/dist/input/index.js +1 -1
  72. package/dist/input-date-time/index.js +1 -1
  73. package/dist/input-file/index.js +1 -1
  74. package/dist/input-files/index.js +1 -1
  75. package/dist/input-image/index.js +1 -1
  76. package/dist/input-search/index.js +1 -1
  77. package/dist/layout-picker/index.js +1 -1
  78. package/dist/list/index.js +25 -25
  79. package/dist/listbox/index.js +5 -5
  80. package/dist/misc/index.js +1 -1
  81. package/dist/modal/index.js +1 -1
  82. package/dist/multi-select/index.js +1 -1
  83. package/dist/notifications/index.js +30 -30
  84. package/dist/picker/index.js +1 -1
  85. package/dist/popover/index.js +1 -1
  86. package/dist/preset-range-date-input/index.js +1 -1
  87. package/dist/preset-select/index.js +1 -1
  88. package/dist/radio-button/index.js +10 -10
  89. package/dist/select/index.js +1 -1
  90. package/dist/simple-table/index.js +1 -1
  91. package/dist/slider/index.js +3 -3
  92. package/dist/sortable/index.js +1 -1
  93. package/dist/state-select/index.js +1 -1
  94. package/dist/styles.css +1 -1
  95. package/dist/switch/index.js +11 -11
  96. package/dist/table/index.js +1 -1
  97. package/dist/table-sorting/index.js +13 -13
  98. package/dist/tabs/index.js +1 -1
  99. package/dist/tag-input/index.js +55 -55
  100. package/dist/tag-input/index.js.map +1 -1
  101. package/dist/text/index.js +1 -1
  102. package/dist/text-editor/index.js +3 -3
  103. package/dist/textarea/index.js +1 -1
  104. package/dist/tree-select/index.js +134 -134
  105. package/dist/tree-select/index.js.map +1 -1
  106. package/dist/tree-table/index.js +16 -16
  107. package/package.json +1 -1
  108. package/src/styles/config/_index.scss +2 -2
  109. package/storybook-static/assets/{Badge-BRzsgtsW.js → Badge-BeE_wR-e.js} +1 -1
  110. package/storybook-static/assets/{Badge.stories-BEUzIGxR.js → Badge.stories-BMLNLp7n.js} +1 -1
  111. package/storybook-static/assets/{BadgeList-Dvi9mgiq.js → BadgeList-B1SSw9no.js} +1 -1
  112. package/storybook-static/assets/{Button-D9NRl_J-.js → Button-CS7C3s7J.js} +1 -1
  113. package/storybook-static/assets/{Button-B0yitxpz.js → Button-Vi1a4Q0N.js} +1 -1
  114. package/storybook-static/assets/{Button.stories-RTpFQ0lC.js → Button.stories-BAyszGDt.js} +1 -1
  115. package/storybook-static/assets/{CalendarView-hixokiLY.js → CalendarView-CroQMfFX.js} +1 -1
  116. package/storybook-static/assets/{CheckBox-CkP3wY1y.js → CheckBox-BSQDnjGm.js} +1 -1
  117. package/storybook-static/assets/CheckBox-BnO90VKX.css +1 -0
  118. package/storybook-static/assets/{CheckBox-DgcHpYEB.js → CheckBox-Cj9xdsq2.js} +1 -1
  119. package/storybook-static/assets/{CheckBox.stories-B6gt-Pyy.js → CheckBox.stories-JSQfqZK5.js} +1 -1
  120. package/storybook-static/assets/{Color-6AOWCN3U-CS57U4UC.js → Color-6AOWCN3U-D5PnNXqh.js} +1 -1
  121. package/storybook-static/assets/{ContextMenu-DfArrHyO.js → ContextMenu-CocuusYO.js} +1 -1
  122. package/storybook-static/assets/{ContextMenu-CvaQBpuB.js → ContextMenu-rzpDsRZx.js} +1 -1
  123. package/storybook-static/assets/{ContextMenu.stories-UUZnkfjK.js → ContextMenu.stories-CO9uACMA.js} +1 -1
  124. package/storybook-static/assets/{DateInput-D0Z39L0u.js → DateInput-BFUW6ZnL.js} +1 -1
  125. package/storybook-static/assets/{DateInput-BOJzcuf8.js → DateInput-Du3E2ET_.js} +1 -1
  126. package/storybook-static/assets/{DateInput.stories-B9oAtjEF.js → DateInput.stories-DDa04kSj.js} +1 -1
  127. package/storybook-static/assets/{DateRangePresetSelect-I9kq2B9z.js → DateRangePresetSelect-CSiFT5F5.js} +1 -1
  128. package/storybook-static/assets/{DateRangePresetSelect-Bhzy-5vR.js → DateRangePresetSelect-D6xM7__Q.js} +1 -1
  129. package/storybook-static/assets/{DateRangePresetSelect.stories-CkkmtUCo.js → DateRangePresetSelect.stories-eF33IA75.js} +1 -1
  130. package/storybook-static/assets/{Detail-D038XLEh.js → Detail-BE-E18-T.js} +1 -1
  131. package/storybook-static/assets/{Detail.stories-Dy8sCrYr.js → Detail.stories-NCvSVTmL.js} +1 -1
  132. package/storybook-static/assets/{Dialog-DvcT-HcI.js → Dialog-C4HX9Sgs.js} +1 -1
  133. package/storybook-static/assets/{Dialog-BpBfxyHP.js → Dialog-DSmGfP7k.js} +1 -1
  134. package/storybook-static/assets/{Dialog.stories-CFwZCUTc.js → Dialog.stories-CVtvkV1R.js} +1 -1
  135. package/storybook-static/assets/{Disclosure-bS8JZMZH.js → Disclosure-CwhrFXI8.js} +1 -1
  136. package/storybook-static/assets/{Disclosure.stories-DoRb7eFP.js → Disclosure.stories-DHOMAfuS.js} +1 -1
  137. package/storybook-static/assets/{DisclosureGroup-C8bhahk2.js → DisclosureGroup-Be79LGlr.js} +1 -1
  138. package/storybook-static/assets/{DocsRenderer-JROSPFPF-BENO-TjP.js → DocsRenderer-JROSPFPF-DIVlRluw.js} +1 -1
  139. package/storybook-static/assets/{DropZone-CT2ql-iq.js → DropZone-5B0A-vFn.js} +1 -1
  140. package/storybook-static/assets/{DropZone-BFesDtXX.js → DropZone-BZCyapHh.js} +1 -1
  141. package/storybook-static/assets/{DropZone.stories-DjyWW5NR.js → DropZone.stories-BlTy-nE5.js} +1 -1
  142. package/storybook-static/assets/{DropdownMenu-DFIvsL7-.js → DropdownMenu-CqSO4Xln.js} +1 -1
  143. package/storybook-static/assets/{ExpandableActionPanel-HfuTxNHC.js → ExpandableActionPanel-DGK_hHxg.js} +1 -1
  144. package/storybook-static/assets/{ExpandableActionPanel.stories-hrKtH1J5.js → ExpandableActionPanel.stories-IH6Gcybn.js} +1 -1
  145. package/storybook-static/assets/{Flex-YpXsCy6o.js → Flex-D_Ov-qrX.js} +1 -1
  146. package/storybook-static/assets/{Flex.stories-Ck5prBoq.js → Flex.stories-DyibLGoC.js} +1 -1
  147. package/storybook-static/assets/{FloatingPopover-DOPDzLFT.js → FloatingPopover-Dt0czWS7.js} +1 -1
  148. package/storybook-static/assets/{FormattedTableCell-CpYotISk.js → FormattedTableCell-BkTdSSLq.js} +1 -1
  149. package/storybook-static/assets/{Grid-DUocH4TX.js → Grid-CwZOkx33.js} +1 -1
  150. package/storybook-static/assets/{Grid.stories-jnw37ukT.js → Grid.stories-Dsu31tqi.js} +1 -1
  151. package/storybook-static/assets/{ImageCropper.stories-CDLsJM59.js → ImageCropper.stories-BqRshYgd.js} +1 -1
  152. package/storybook-static/assets/{ImageRenderer-CZ7DKuFY.js → ImageRenderer-DiEaiphg.js} +1 -1
  153. package/storybook-static/assets/{ImageRenderer.stories-B8-aQ58B.js → ImageRenderer.stories-DXk_A_1N.js} +1 -1
  154. package/storybook-static/assets/{ImageView.stories-DLhqZ_GI.js → ImageView.stories-TuZxh1Fr.js} +1 -1
  155. package/storybook-static/assets/{ImageViewer.stories-o1yD_rZq.js → ImageViewer.stories-CL796ExX.js} +2 -2
  156. package/storybook-static/assets/{ImageViewerRuntime-CJlrAsfL.js → ImageViewerRuntime-CCVrFr6t.js} +1 -1
  157. package/storybook-static/assets/{Input-B8y70gW9.js → Input-CRRkPSmn.js} +1 -1
  158. package/storybook-static/assets/{Input-8dAj3L5M.js → Input-Dmum9ojv.js} +1 -1
  159. package/storybook-static/assets/{Input.stories-KAOo2cMb.js → Input.stories-C8y8Gzjn.js} +1 -1
  160. package/storybook-static/assets/{InputDateTime-C8iXQn7P.js → InputDateTime-DozxwdSK.js} +1 -1
  161. package/storybook-static/assets/{InputDateTime.stories-BOUfVN41.js → InputDateTime.stories-Dm86teu7.js} +1 -1
  162. package/storybook-static/assets/{InputFile-BlMNRcyL.js → InputFile-Cm1ipP_c.js} +1 -1
  163. package/storybook-static/assets/{InputFile-C-CwNpFJ.js → InputFile-DPYOyrse.js} +1 -1
  164. package/storybook-static/assets/{InputFile.stories-MD9cAu-W.js → InputFile.stories-A9sXRTPi.js} +1 -1
  165. package/storybook-static/assets/{InputFiles-BMjWaVN9.js → InputFiles-D6ibnj3Y.js} +1 -1
  166. package/storybook-static/assets/{InputFiles-D72fv8HQ.js → InputFiles-DqYEI0vF.js} +1 -1
  167. package/storybook-static/assets/{InputFiles.stories-BlD8cBmt.js → InputFiles.stories-CTK_G05d.js} +1 -1
  168. package/storybook-static/assets/{InputFilesList-Dol1dIX5.js → InputFilesList-Cw2vB_I4.js} +1 -1
  169. package/storybook-static/assets/{InputImage-uE0JlBq5.js → InputImage-YaDG8UBR.js} +1 -1
  170. package/storybook-static/assets/{InputImage-_sOF8mmB.js → InputImage-eWMt3Rpi.js} +1 -1
  171. package/storybook-static/assets/{InputImage.stories-R6HZFGuR.js → InputImage.stories-Ba5v3XyF.js} +1 -1
  172. package/storybook-static/assets/{InteractiveComponents-BDmyyudJ.js → InteractiveComponents-C3WdIF2c.js} +1 -1
  173. package/storybook-static/assets/{InteractiveComponents.stories-RsjV4QyY.js → InteractiveComponents.stories-CPqOBcYI.js} +1 -1
  174. package/storybook-static/assets/{LayoutPicker-CqpAicOL.js → LayoutPicker-CAIujH3t.js} +1 -1
  175. package/storybook-static/assets/{LayoutPicker-CywNkFMn.js → LayoutPicker-mQiBJ85c.js} +1 -1
  176. package/storybook-static/assets/{LayoutPicker.stories-BMiwqihl.js → LayoutPicker.stories-BAqhsvOh.js} +1 -1
  177. package/storybook-static/assets/{Listbox-Bznk_lrX.js → Listbox-BCfY4SYB.js} +1 -1
  178. package/storybook-static/assets/{Listbox-zQgffOs0.js → Listbox-vwKVwC47.js} +1 -1
  179. package/storybook-static/assets/{Listbox.stories-BeWjK-CY.js → Listbox.stories-CA7VrO6z.js} +1 -1
  180. package/storybook-static/assets/{Modal-unWtDqq_.js → Modal-DvisZoA2.js} +1 -1
  181. package/storybook-static/assets/{Modal.stories-DepzRvWp.js → Modal.stories-Dj66uXRY.js} +1 -1
  182. package/storybook-static/assets/{ModalManagerProvider-B1XUXs-1.js → ModalManagerProvider-CSsTef9-.js} +1 -1
  183. package/storybook-static/assets/{MultiSelect-U5XEaFTv.js → MultiSelect-C4uT-lwM.js} +1 -1
  184. package/storybook-static/assets/{MultiSelect-DBzuR4v6.js → MultiSelect-CpNX4wyD.js} +1 -1
  185. package/storybook-static/assets/{MultiSelect.stories-9xtLUsmK.js → MultiSelect.stories-CjIw1FBQ.js} +1 -1
  186. package/storybook-static/assets/{NoData-Did5-Vbj.js → NoData-J6gIe2DW.js} +1 -1
  187. package/storybook-static/assets/{NotificationsHost-C16jWWbh.js → NotificationsHost-B4vBCIUo.js} +1 -1
  188. package/storybook-static/assets/{NotificationsHost.stories-Df9Sciyb.js → NotificationsHost.stories-Btx0-jS4.js} +1 -1
  189. package/storybook-static/assets/{ODataMultiSelect-_5_Hrv8p.js → ODataMultiSelect-BRWRd-T0.js} +1 -1
  190. package/storybook-static/assets/{ODataMultiSelect.stories-DWTlih_F.js → ODataMultiSelect.stories-AcwmUSqN.js} +1 -1
  191. package/storybook-static/assets/{ODataSelect-xX8_14hD.js → ODataSelect-DKF1dPMT.js} +1 -1
  192. package/storybook-static/assets/{ODataSelect.stories-B_VSMkR5.js → ODataSelect.stories-BCCDQvG1.js} +1 -1
  193. package/storybook-static/assets/{ODataTreeMultiSelect-CheCWkrj.js → ODataTreeMultiSelect-Jmrc7xEO.js} +1 -1
  194. package/storybook-static/assets/{ODataTreeMultiSelect.stories-CAWAJxdC.js → ODataTreeMultiSelect.stories-BWX3TG9B.js} +1 -1
  195. package/storybook-static/assets/{ODataTreeSelect-ZQN9ZhPc.js → ODataTreeSelect-CGO2HVbN.js} +1 -1
  196. package/storybook-static/assets/{ODataTreeSelect.stories-CYC_eiFv.js → ODataTreeSelect.stories-DSmhE-Li.js} +1 -1
  197. package/storybook-static/assets/{OneStepScroller-KFcpHiAM.js → OneStepScroller-pU0sAFEq.js} +1 -1
  198. package/storybook-static/assets/{PeriodSelect-DN9SFKXh.js → PeriodSelect-DmogN2kp.js} +1 -1
  199. package/storybook-static/assets/{PeriodSelect-BgQWqB2a.js → PeriodSelect-DwozNnWV.js} +1 -1
  200. package/storybook-static/assets/{PeriodSelect.stories-DcUE2clK.js → PeriodSelect.stories-Cwad_AnS.js} +1 -1
  201. package/storybook-static/assets/{PickerSelectionToolbar-CvqU44D-.js → PickerSelectionToolbar-B3N3Sv51.js} +1 -1
  202. package/storybook-static/assets/{PickerTriggerActions-DZzNAe4M.js → PickerTriggerActions-BurXeCTR.js} +1 -1
  203. package/storybook-static/assets/{Popover-B1_qmzkr.js → Popover-Bi3JzbPI.js} +1 -1
  204. package/storybook-static/assets/{Popover-iSasApKA.js → Popover-DYoRYOJQ.js} +1 -1
  205. package/storybook-static/assets/{Popover.stories-CGLUaRgH.js → Popover.stories-jhxw-37b.js} +1 -1
  206. package/storybook-static/assets/{PresetRangeDateInput-D_ylm7hV.js → PresetRangeDateInput-4GkY4C-R.js} +1 -1
  207. package/storybook-static/assets/{PresetRangeDateInput-CxyBq2XS.js → PresetRangeDateInput-5o-VfEMw.js} +1 -1
  208. package/storybook-static/assets/{PresetRangeDateInput.stories-DgrBel6_.js → PresetRangeDateInput.stories-BLrQFysM.js} +1 -1
  209. package/storybook-static/assets/{PresetSelect-CrdvEugF.js → PresetSelect-VSLjZIEN.js} +1 -1
  210. package/storybook-static/assets/{RadioButton-DwyUH5ms.js → RadioButton-BmDJRjUd.js} +1 -1
  211. package/storybook-static/assets/{RadioButton-DW4ph1Xp.js → RadioButton-DtZXxK2y.js} +1 -1
  212. package/storybook-static/assets/{RadioButton.stories-6q7CeUZY.js → RadioButton.stories-CnjoSTqx.js} +1 -1
  213. package/storybook-static/assets/{RadioGroup-DshEU96S.js → RadioGroup-C5avdavC.js} +1 -1
  214. package/storybook-static/assets/{RadioGroup-BumTRrwE.js → RadioGroup-DKQukpG2.js} +1 -1
  215. package/storybook-static/assets/{RadioGroup.stories-Bwv8Bgn8.js → RadioGroup.stories-D2RkFaPs.js} +1 -1
  216. package/storybook-static/assets/{Scrollable-ZI0zA9wz.js → Scrollable-BfWwu2om.js} +1 -1
  217. package/storybook-static/assets/{Select-CjuyI3wO.js → Select-C8NwIhWM.js} +1 -1
  218. package/storybook-static/assets/{Select-CP1Ijv9g.js → Select-wCbHE4lQ.js} +1 -1
  219. package/storybook-static/assets/{Select.stories-kCFhGvWP.js → Select.stories-a2seNrPn.js} +1 -1
  220. package/storybook-static/assets/{SelectOptionContent-C2DjqaM0.js → SelectOptionContent-ZSxvUFLm.js} +1 -1
  221. package/storybook-static/assets/{SerializableSelect-CoVoXwJS.js → SerializableSelect-4Goej9W_.js} +1 -1
  222. package/storybook-static/assets/{SerializableSelect.stories-UTJc7HQF.js → SerializableSelect.stories-BkCW3jp4.js} +1 -1
  223. package/storybook-static/assets/{SingleDateTimeInput-bIeFRT8c.js → SingleDateTimeInput-BfG4Wffa.js} +1 -1
  224. package/storybook-static/assets/{SingleDateTimeInput-DobT9m-7.js → SingleDateTimeInput-C2QxXHnT.js} +1 -1
  225. package/storybook-static/assets/{SingleDateTimeInput.stories-CwAP5lI3.js → SingleDateTimeInput.stories-D1EHS_Lj.js} +1 -1
  226. package/storybook-static/assets/{Slider-DB7dm4uC.js → Slider-COfQFgR8.js} +1 -1
  227. package/storybook-static/assets/{Slider-CnhBAXNm.js → Slider-DutRipBc.js} +1 -1
  228. package/storybook-static/assets/{Slider.stories-D7ADzpCF.js → Slider.stories-DXNQd3RV.js} +1 -1
  229. package/storybook-static/assets/{SliderInput-DfMdXNjq.js → SliderInput-CKdp2Gmo.js} +1 -1
  230. package/storybook-static/assets/{SliderInput-CvmZ86d-.js → SliderInput-D15wYNK7.js} +1 -1
  231. package/storybook-static/assets/{SliderInput.stories-CKe5q8PZ.js → SliderInput.stories-BHmBapUE.js} +1 -1
  232. package/storybook-static/assets/{Sortable-D-PG0esR.js → Sortable-Cv98zRm4.js} +1 -1
  233. package/storybook-static/assets/{Sortable.stories-BUUu5LQR.js → Sortable.stories-VjnupnmR.js} +1 -1
  234. package/storybook-static/assets/{Splitter-Cbiph6ck.js → Splitter-jOqNKtm0.js} +1 -1
  235. package/storybook-static/assets/{Splitter.stories-z1_IuipN.js → Splitter.stories-BTJf67_i.js} +1 -1
  236. package/storybook-static/assets/{StateSelect-BfhvHQrQ.js → StateSelect-BNXXcX4c.js} +1 -1
  237. package/storybook-static/assets/{StateSelect-C6b0aolc.js → StateSelect-D8Zep8nb.js} +1 -1
  238. package/storybook-static/assets/{StateSelect.stories-yKKasuZq.js → StateSelect.stories-B0nR14db.js} +1 -1
  239. package/storybook-static/assets/{StringToggle.stories-mHQXke0Z.js → StringToggle.stories-Cat4CWpp.js} +1 -1
  240. package/storybook-static/assets/{Switch-DtYu0DX3.js → Switch-CNbwWtfu.js} +1 -1
  241. package/storybook-static/assets/{Switch--s8CABgk.js → Switch-CmxJq-nM.js} +1 -1
  242. package/storybook-static/assets/{Switch.stories-DqVmpD3F.js → Switch.stories-T7MZJAke.js} +1 -1
  243. package/storybook-static/assets/{Table-CS-8NjMS.js → Table-C7D3rt22.js} +1 -1
  244. package/storybook-static/assets/{Table.stories-BDEFvavq.js → Table.stories-C0jQhruO.js} +1 -1
  245. package/storybook-static/assets/{Tabs-DVAc2sEq.js → Tabs-BEO2hPOw.js} +1 -1
  246. package/storybook-static/assets/{Tabs.stories-Bx3SVBYV.js → Tabs.stories-CgVofLQc.js} +1 -1
  247. package/storybook-static/assets/{TabsBox-DIc3bAG9.js → TabsBox-C4gzhmdB.js} +1 -1
  248. package/storybook-static/assets/{TagInput-DvJOyiDa.js → TagInput-C_nlfbRh.js} +1 -1
  249. package/storybook-static/assets/{TagInput.stories-BfUUxxvB.js → TagInput.stories-BMCmW5eG.js} +1 -1
  250. package/storybook-static/assets/{Text-DDM_QNpo.js → Text-BqKrUz4Q.js} +1 -1
  251. package/storybook-static/assets/{Textarea-B8jfChqH.js → Textarea-BRstHvhs.js} +1 -1
  252. package/storybook-static/assets/{Textarea-CouwxZMS.js → Textarea-BbNW9GUS.js} +1 -1
  253. package/storybook-static/assets/{Textarea.stories-B5YnG6Hg.js → Textarea.stories-B_22Qe-e.js} +1 -1
  254. package/storybook-static/assets/{TimePanel-Ce44lmoA.js → TimePanel-9AlN21FL.js} +1 -1
  255. package/storybook-static/assets/{TimePanel.stories-dMXzRVpT.js → TimePanel.stories-yxNANrSL.js} +1 -1
  256. package/storybook-static/assets/{Toggle-C8qL0JdM.js → Toggle-Bl89R1NL.js} +1 -1
  257. package/storybook-static/assets/{Toggle-BLb3M4N1.js → Toggle-YLom0uCh.js} +1 -1
  258. package/storybook-static/assets/{Toggle.stories-CR8xCkXd.js → Toggle.stories-BGIwKyic.js} +1 -1
  259. package/storybook-static/assets/{TreeMultiSelect-5fHQVUTd.js → TreeMultiSelect-C9hv75Z0.js} +1 -1
  260. package/storybook-static/assets/{TreeMultiSelect-Bttryv5k.js → TreeMultiSelect-Dhl8PI6r.js} +1 -1
  261. package/storybook-static/assets/{TreeMultiSelect.stories-B4zkiRfC.js → TreeMultiSelect.stories-DefpU9Nq.js} +1 -1
  262. package/storybook-static/assets/{TreePickerBase-B_XyJaYL.js → TreePickerBase-B5guKjut.js} +1 -1
  263. package/storybook-static/assets/{TreeSelect-BmV5BgHm.js → TreeSelect-Cbtl72S2.js} +1 -1
  264. package/storybook-static/assets/{TreeSelect-_mFMic9T.js → TreeSelect-D1wgUUfD.js} +1 -1
  265. package/storybook-static/assets/{TreeSelect.stories-D-lz21y2.js → TreeSelect.stories-DK6Z_n2h.js} +1 -1
  266. package/storybook-static/assets/{TreeTable-BjnuFqoj.js → TreeTable-CC5CA5OL.js} +1 -1
  267. package/storybook-static/assets/{TreeTable.stories-OEii5uhT.js → TreeTable.stories-DVYLy82M.js} +1 -1
  268. package/storybook-static/assets/{async-BggDKhCa.js → async-CDaecudw.js} +1 -1
  269. package/storybook-static/assets/{blocks-DXv0kKnO.js → blocks-DFQ7gHL7.js} +3 -3
  270. package/storybook-static/assets/{browserAndReact-CJg4Htw7.js → browserAndReact-DNd3NO2z.js} +1 -1
  271. package/storybook-static/assets/{check-BDF3qN6C.js → check-CDGa2frI.js} +1 -1
  272. package/storybook-static/assets/{chevron-down-DycW5rEN.js → chevron-down-B5gF19ie.js} +1 -1
  273. package/storybook-static/assets/{chevron-left-C5fp0Uga.js → chevron-left-BhhrtQ5w.js} +1 -1
  274. package/storybook-static/assets/{chevron-right-BtcaEPgU.js → chevron-right-ULlpFrtQ.js} +1 -1
  275. package/storybook-static/assets/{chunk-W22LQPXL-DpbhHTe5.js → chunk-W22LQPXL-bz_jGWFd.js} +1 -1
  276. package/storybook-static/assets/{circle-alert-BHmYiVSQ.js → circle-alert-DG_0NWce.js} +1 -1
  277. package/storybook-static/assets/{circle-check-D-kWZdLj.js → circle-check-DKgLpHr-.js} +1 -1
  278. package/storybook-static/assets/{components-CiK0i2y5.js → components-CgxL1hHE.js} +3 -3
  279. package/storybook-static/assets/{contextMenu-BuB7GWKM.js → contextMenu-D_apFypV.js} +1 -1
  280. package/storybook-static/assets/{defaultRenderers-DKIVh61V.js → defaultRenderers-CK6DySTx.js} +1 -1
  281. package/storybook-static/assets/{download-CHMcYpj3.js → download-BMlQunb2.js} +1 -1
  282. package/storybook-static/assets/{filesAndExcel-DlArA_GW.js → filesAndExcel-BmDCLG9Y.js} +1 -1
  283. package/storybook-static/assets/{floating-ui.react-2n8Uyf0J.js → floating-ui.react-DaDI6aL_.js} +1 -1
  284. package/storybook-static/assets/{formatters-BwCs7xCt.js → formatters-C5iLXNhs.js} +1 -1
  285. package/storybook-static/assets/{formatters-runtime-ibdtp7C6.js → formatters-runtime-CsjNRxSG.js} +1 -1
  286. package/storybook-static/assets/{foundationLib-DAvQ9wk8.js → foundationLib-BcQgD58A.js} +1 -1
  287. package/storybook-static/assets/{hooks-D0mbXwcm.js → hooks-C9DxdAXO.js} +1 -1
  288. package/storybook-static/assets/{iframe-BnjRbLCp.js → iframe-BOYfiRbQ.js} +3 -3
  289. package/storybook-static/assets/iframe-Dy-1_8OT.js +1 -0
  290. package/storybook-static/assets/iframe-OPLBHfTR.css +1 -0
  291. package/storybook-static/assets/{info-B9srbxQP.js → info-BuKiC7d0.js} +1 -1
  292. package/storybook-static/assets/{odata-D9w_2DW1.js → odata-CGjX6csD.js} +1 -1
  293. package/storybook-static/assets/{odataAndTables-B7U8x4CV.js → odataAndTables-CyGjgcKX.js} +1 -1
  294. package/storybook-static/assets/{odataFetchFn-BrsJ-DlE.js → odataFetchFn-DQBb33CS.js} +1 -1
  295. package/storybook-static/assets/{odataStoryFixtures-CbO3dfw1.js → odataStoryFixtures-BYjSHUPv.js} +1 -1
  296. package/storybook-static/assets/{persisted-DXbdpvSU.js → persisted-BmsVMmao.js} +1 -1
  297. package/storybook-static/assets/{pureUtilities-BtrtdX0r.js → pureUtilities-BbRRZPJI.js} +1 -1
  298. package/storybook-static/assets/{react-DmKWdnt1.js → react-CPygFl97.js} +1 -1
  299. package/storybook-static/assets/{refresh-cw-C2Rk5OjE.js → refresh-cw-D9xWA1ag.js} +1 -1
  300. package/storybook-static/assets/{runtimeAndState-Be2a2JfZ.js → runtimeAndState-7kpVxxK8.js} +1 -1
  301. package/storybook-static/assets/{settings-2-CuAc9ekV.js → settings-2-D5vKtCuh.js} +1 -1
  302. package/storybook-static/assets/{sortable-DF8VgD8R.js → sortable-7ZhGDUUH.js} +1 -1
  303. package/storybook-static/assets/{syntaxhighlighter-T5IQBZDB-BnGJW0L9.js → syntaxhighlighter-T5IQBZDB-BgPG-zNQ.js} +1 -1
  304. package/storybook-static/assets/{trash-2-DRXwetzV.js → trash-2-COVTeKHf.js} +1 -1
  305. package/storybook-static/assets/{triangle-alert-D5785xcd.js → triangle-alert-Dc8CWEGx.js} +1 -1
  306. package/storybook-static/assets/{ui-vmPSPL8p.css → ui-BMhMvV6y.css} +1 -1
  307. package/storybook-static/assets/{uiClasses-CyX7wB6b.js → uiClasses-DiXn3Hc-.js} +1 -1
  308. package/storybook-static/assets/{useODataSelectBase-DfOi4e0X.js → useODataSelectBase-BllI2D0F.js} +1 -1
  309. package/storybook-static/assets/{useODataTreeData-BBSy4G6V.js → useODataTreeData-CNVWCnCt.js} +1 -1
  310. package/storybook-static/assets/{usePickerQuery-BYa25rmI.js → usePickerQuery-C0ti4hti.js} +1 -1
  311. package/storybook-static/assets/{usePickerTriggerController-CwgtrL5F.js → usePickerTriggerController-BSWvRSBy.js} +1 -1
  312. package/storybook-static/assets/{x-DvnP0o1b.js → x-BVvgKMRp.js} +1 -1
  313. package/storybook-static/iframe.html +3 -3
  314. package/storybook-static/project.json +1 -1
  315. package/dist/chunks/date-input-Dr5QNVT6.js +0 -341
  316. package/storybook-static/assets/CheckBox-Dw4nDCv8.css +0 -1
  317. package/storybook-static/assets/iframe-B1M7f4Qn.js +0 -1
  318. package/storybook-static/assets/iframe-J8XUsZxh.css +0 -1
  319. /package/storybook-static/assets/{CheckBox.module-CM_GPl_E.js → CheckBox.module-BNQm6HXI.js} +0 -0
  320. /package/storybook-static/assets/{ui.module-Bh9yvZgk.js → ui.module-CiLQZm_L.js} +0 -0
@@ -1,24 +1,24 @@
1
1
  import { t as e } from "./ui.module-DHVTOqZ0.js";
2
2
  import { t } from "./grid-dI94AAbi.js";
3
- import { i as n, l as r, s as i } from "./input-BNszawm6.js";
3
+ import { i as n, l as r, s as i } from "./input-VC8jEoTa.js";
4
4
  import { t as a } from "./separator-B72Aq-6a.js";
5
5
  import { forwardRef as o, useEffect as s, useMemo as c, useRef as l, useState as u } from "react";
6
6
  import { cn as d } from "@ryuzaki13/react-foundation-lib/utils";
7
- import { ChevronDownIcon as f } from "lucide-react";
8
- import { jsx as p, jsxs as m } from "react/jsx-runtime";
9
- import { normalizeTextToLower as h } from "@ryuzaki13/react-foundation-lib/formatters";
10
- import { FloatingFocusManager as g, FloatingPortal as _ } from "@floating-ui/react";
11
- import { useFloatingListbox as v } from "@ryuzaki13/react-foundation-lib/hooks";
7
+ import { FloatingFocusManager as f, FloatingPortal as p } from "@floating-ui/react";
8
+ import { jsx as m, jsxs as h } from "react/jsx-runtime";
9
+ import { ChevronDownIcon as g } from "lucide-react";
10
+ import { useFloatingListbox as _ } from "@ryuzaki13/react-foundation-lib/hooks";
11
+ import { normalizeTextToLower as v } from "@ryuzaki13/react-foundation-lib/formatters";
12
12
  import { AnimatePresence as y, motion as b } from "motion/react";
13
13
  //#region src/picker/PickerField.tsx
14
14
  function x({ id: e, label: t, description: n, disabled: a, size: o, className: s, error: c, children: l }) {
15
- let { controlId: u, labelId: d, descriptionId: f, errorId: m, describedBy: h } = r({
15
+ let { controlId: u, labelId: d, descriptionId: f, errorId: p, describedBy: h } = r({
16
16
  id: e,
17
17
  hasLabel: t != null,
18
18
  hasDescription: !!n,
19
19
  hasError: !!c
20
20
  });
21
- return /* @__PURE__ */ p(i, {
21
+ return /* @__PURE__ */ m(i, {
22
22
  label: t,
23
23
  description: n,
24
24
  disabled: a,
@@ -28,12 +28,12 @@ function x({ id: e, label: t, description: n, disabled: a, size: o, className: s
28
28
  controlId: u,
29
29
  labelId: d,
30
30
  descriptionId: f,
31
- errorId: m,
31
+ errorId: p,
32
32
  children: l({
33
33
  controlId: u,
34
34
  labelId: d,
35
35
  descriptionId: f,
36
- errorId: m,
36
+ errorId: p,
37
37
  describedBy: h
38
38
  })
39
39
  });
@@ -51,14 +51,14 @@ var S = {
51
51
  function C(e) {
52
52
  e.stopPropagation();
53
53
  }
54
- function w({ open: e, context: t, floatingStyles: n, listId: r, labelId: i, popupAriaLabel: o, descriptionId: s, activeOptionId: c, ariaMultiselectable: l, popupRole: u = "listbox", setFloating: f, getFloatingProps: h, onKeyDown: v, initialFocus: x = -1, returnFocus: w = !1, tabIndex: T = 0, className: E, maxWidth: D, layoutClassName: O, headerClassName: k, bodyClassName: A, header: j, children: M }) {
55
- return /* @__PURE__ */ p(y, { children: e && /* @__PURE__ */ p(_, { children: /* @__PURE__ */ p(g, {
54
+ function w({ open: e, context: t, floatingStyles: n, listId: r, labelId: i, popupAriaLabel: o, descriptionId: s, activeOptionId: c, ariaMultiselectable: l, popupRole: u = "listbox", setFloating: g, getFloatingProps: _, onKeyDown: v, initialFocus: x = -1, returnFocus: w = !1, tabIndex: T = 0, className: E, maxWidth: D, layoutClassName: O, headerClassName: k, bodyClassName: A, header: j, children: M }) {
55
+ return /* @__PURE__ */ m(y, { children: e && /* @__PURE__ */ m(p, { children: /* @__PURE__ */ m(f, {
56
56
  context: t,
57
57
  modal: !1,
58
58
  initialFocus: x,
59
59
  returnFocus: w,
60
- children: /* @__PURE__ */ p(b.div, {
61
- ref: f,
60
+ children: /* @__PURE__ */ m(b.div, {
61
+ ref: g,
62
62
  style: {
63
63
  ...n,
64
64
  maxWidth: D
@@ -75,7 +75,7 @@ function w({ open: e, context: t, floatingStyles: n, listId: r, labelId: i, popu
75
75
  opacity: 0,
76
76
  scale: .95
77
77
  },
78
- ...h({
78
+ ..._({
79
79
  id: r,
80
80
  role: u,
81
81
  tabIndex: T,
@@ -88,12 +88,12 @@ function w({ open: e, context: t, floatingStyles: n, listId: r, labelId: i, popu
88
88
  onKeyDown: v,
89
89
  className: E
90
90
  }),
91
- children: /* @__PURE__ */ m("div", {
91
+ children: /* @__PURE__ */ h("div", {
92
92
  className: d(S.popupLayout, O),
93
- children: [j ? /* @__PURE__ */ m("div", {
93
+ children: [j ? /* @__PURE__ */ h("div", {
94
94
  className: k,
95
- children: [j, /* @__PURE__ */ p(a, { className: "marginBlockSm" })]
96
- }) : /* @__PURE__ */ p("div", {}), /* @__PURE__ */ p("div", {
95
+ children: [j, /* @__PURE__ */ m(a, { className: "marginBlockSm" })]
96
+ }) : /* @__PURE__ */ m("div", {}), /* @__PURE__ */ m("div", {
97
97
  className: d(S.popupBody, A),
98
98
  children: M
99
99
  })]
@@ -104,10 +104,10 @@ function w({ open: e, context: t, floatingStyles: n, listId: r, labelId: i, popu
104
104
  //#endregion
105
105
  //#region src/picker/PickerSelectionToolbar.tsx
106
106
  function T({ onSelectAll: e, onDeselectAll: n, selectAllButtonRef: r }) {
107
- return /* @__PURE__ */ m(t.Container, {
107
+ return /* @__PURE__ */ h(t.Container, {
108
108
  gap: "xs",
109
109
  templateColumns: "1fr 1fr",
110
- children: [/* @__PURE__ */ p("button", {
110
+ children: [/* @__PURE__ */ m("button", {
111
111
  ref: r,
112
112
  type: "button",
113
113
  className: S.selectionActionButton,
@@ -115,7 +115,7 @@ function T({ onSelectAll: e, onDeselectAll: n, selectAllButtonRef: r }) {
115
115
  "data-ui": "picker-select-all",
116
116
  "data-action": "select-all",
117
117
  children: "Выбрать все"
118
- }), /* @__PURE__ */ p("button", {
118
+ }), /* @__PURE__ */ m("button", {
119
119
  type: "button",
120
120
  className: S.selectionActionButton,
121
121
  onClick: n,
@@ -129,7 +129,7 @@ function T({ onSelectAll: e, onDeselectAll: n, selectAllButtonRef: r }) {
129
129
  //#region src/picker/PickerStatus.tsx
130
130
  function E({ emptyState: t, loadingState: n, errorState: r }) {
131
131
  let i = r ?? n ?? t;
132
- return i == null ? null : /* @__PURE__ */ p("div", {
132
+ return i == null ? null : /* @__PURE__ */ m("div", {
133
133
  className: d(e.uiPopupOption, S.status, r !== void 0 && S.statusError),
134
134
  "aria-disabled": !0,
135
135
  children: i
@@ -138,31 +138,31 @@ function E({ emptyState: t, loadingState: n, errorState: r }) {
138
138
  //#endregion
139
139
  //#region src/picker/PickerTriggerActions.tsx
140
140
  function D({ open: t, disabled: n, children: r, onToggleMouseDown: i, onToggleClick: a, openAriaLabel: o = "Открыть список", closeAriaLabel: s = "Закрыть список" }) {
141
- return /* @__PURE__ */ m("div", {
141
+ return /* @__PURE__ */ h("div", {
142
142
  className: e.uiToggleButtonContainer,
143
143
  "data-disabled": n || void 0,
144
144
  children: [
145
145
  r,
146
- /* @__PURE__ */ p("div", { className: e.uiButtonSeparator }),
147
- /* @__PURE__ */ p("button", {
146
+ /* @__PURE__ */ m("div", { className: e.uiButtonSeparator }),
147
+ /* @__PURE__ */ m("button", {
148
148
  type: "button",
149
149
  "aria-label": t ? s : o,
150
150
  className: e.uiToggleButton,
151
151
  onMouseDown: i,
152
152
  onClick: a,
153
- children: /* @__PURE__ */ p(f, { className: d(e.uiToggleIcon, t && e.uiToggleIconOpen) })
153
+ children: /* @__PURE__ */ m(g, { className: d(e.uiToggleIcon, t && e.uiToggleIconOpen) })
154
154
  })
155
155
  ]
156
156
  });
157
157
  }
158
158
  //#endregion
159
159
  //#region src/picker/PickerTriggerInput.tsx
160
- var O = o(({ rootRef: t, endAdornment: r, overlay: i, rootClassName: a, inputClassName: o, ...s }, c) => /* @__PURE__ */ m("div", {
160
+ var O = o(({ rootRef: t, endAdornment: r, overlay: i, rootClassName: a, inputClassName: o, ...s }, c) => /* @__PURE__ */ h("div", {
161
161
  ref: t,
162
162
  className: d(e.uiInputContainer, S.triggerContainer, a),
163
- children: [/* @__PURE__ */ p(n, {
163
+ children: [/* @__PURE__ */ m(n, {
164
164
  endAdornment: r,
165
- children: ({ controlClassName: t }) => /* @__PURE__ */ p("input", {
165
+ children: ({ controlClassName: t }) => /* @__PURE__ */ m("input", {
166
166
  ...s,
167
167
  ref: c,
168
168
  className: d(e.uiInputWithToggle, t, o)
@@ -215,10 +215,10 @@ function A(e) {
215
215
  //#endregion
216
216
  //#region src/picker/model/usePickerDefaultFilter.ts
217
217
  function j(e) {
218
- return h((Array.isArray(e) ? e : [e]).filter(Boolean).join(" "));
218
+ return v((Array.isArray(e) ? e : [e]).filter(Boolean).join(" "));
219
219
  }
220
220
  function M({ options: e, query: t, enabled: n = !0, getSearchText: r }) {
221
- let i = h(t);
221
+ let i = v(t);
222
222
  return c(() => !n || !i ? [...e] : e.filter((e) => j(r(e)).includes(i)), [
223
223
  n,
224
224
  r,
@@ -230,7 +230,7 @@ function M({ options: e, query: t, enabled: n = !0, getSearchText: r }) {
230
230
  //#region src/picker/model/usePickerFloatingListbox.ts
231
231
  function N(e) {
232
232
  let t = e.triggerMode ? k(e.triggerMode) : void 0;
233
- return v({
233
+ return _({
234
234
  ...e,
235
235
  focusFloatingOnOpen: e.focusFloatingOnOpen ?? t?.focusFloatingOnOpen,
236
236
  restoreFocusOnClose: e.restoreFocusOnClose ?? t?.restoreFocusOnClose
@@ -337,4 +337,4 @@ function L({ mode: e, open: t, currentQuery: n, hasDisplayValue: r, inputRef: i,
337
337
  //#endregion
338
338
  export { M as a, O as c, T as d, w as f, N as i, D as l, F as n, A as o, x as p, P as r, k as s, L as t, E as u };
339
339
 
340
- //# sourceMappingURL=picker-D3Fc15JH.js.map
340
+ //# sourceMappingURL=picker-DLnfOgZj.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"picker-D3Fc15JH.js","names":[],"sources":["../../src/picker/PickerField.tsx","../../src/picker/Picker.module.scss","../../src/picker/PickerPopup.tsx","../../src/picker/PickerSelectionToolbar.tsx","../../src/picker/PickerStatus.tsx","../../src/picker/PickerTriggerActions.tsx","../../src/picker/PickerTriggerInput.tsx","../../src/picker/model/createPickerTriggerPolicy.ts","../../src/picker/model/extractPickerTextContent.ts","../../src/picker/model/usePickerDefaultFilter.ts","../../src/picker/model/usePickerFloatingListbox.ts","../../src/picker/model/usePickerQuery.ts","../../src/picker/model/usePickerSelectionLifecycle.ts","../../src/picker/model/usePickerTriggerController.ts"],"sourcesContent":["import { InputType } from \"@ryuzaki13/react-foundation-lib/types\";\n\nimport { InputUI } from \"../input\";\nimport { useInputFieldIds } from \"../input/lib/useInputFieldIds\";\n\nimport { PickerFieldProps } from \"./types\";\n\nexport function PickerField<TValue extends InputType>({\n\tid,\n\tlabel,\n\tdescription,\n\tdisabled,\n\tsize,\n\tclassName,\n\terror,\n\tchildren\n}: PickerFieldProps<TValue>) {\n\tconst { controlId, labelId, descriptionId, errorId, describedBy } = useInputFieldIds({\n\t\tid,\n\t\thasLabel: label !== undefined && label !== null,\n\t\thasDescription: !!description,\n\t\thasError: !!error\n\t});\n\n\treturn (\n\t\t<InputUI\n\t\t\tlabel={label}\n\t\t\tdescription={description}\n\t\t\tdisabled={disabled}\n\t\t\tsize={size}\n\t\t\tclassName={className}\n\t\t\terror={error}\n\t\t\tcontrolId={controlId}\n\t\t\tlabelId={labelId}\n\t\t\tdescriptionId={descriptionId}\n\t\t\terrorId={errorId}>\n\t\t\t{children({ controlId, labelId, descriptionId, errorId, describedBy })}\n\t\t</InputUI>\n\t);\n}\n",".popupLayout {\n\tdisplay: grid;\n\tgrid-template-rows: auto 1fr;\n\tmin-height: 0;\n\tmax-height: 75vh;\n\toverflow: hidden;\n\n\tflex: 1 1 auto;\n}\n\n.popupBody {\n\tmin-height: 0;\n}\n\n.status {\n\tpadding: var(--space-xs) var(--space-sm);\n\tcolor: var(--content-2);\n}\n\n.statusError {\n\tcolor: var(--status-error-text);\n}\n\n.triggerContainer {\n\tposition: relative;\n}\n\n.selectionActionButton {\n\tpadding-block: var(--space-xs);\n\tborder-radius: var(--radius-sm);\n\n\t&:hover {\n\t\tbackground-color: var(--surface-2);\n\t}\n}\n","import { type CSSProperties, type KeyboardEvent, type MouseEvent, type ReactNode } from \"react\";\n\nimport { FloatingContext, FloatingFocusManager, FloatingPortal } from \"@floating-ui/react\";\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\nimport { AnimatePresence, motion } from \"motion/react\";\n\nimport { Separator } from \"../separator\";\n\nimport styles from \"./Picker.module.scss\";\n\ninterface PickerPopupProps {\n\topen: boolean;\n\tcontext: FloatingContext;\n\tfloatingStyles: CSSProperties;\n\tlistId: string;\n\tlabelId?: string;\n\tpopupAriaLabel?: string;\n\tdescriptionId?: string;\n\tactiveOptionId?: string;\n\tariaMultiselectable?: boolean;\n\tpopupRole?: \"listbox\" | \"dialog\";\n\tsetFloating: (node: HTMLElement | null) => void;\n\tgetFloatingProps: (userProps?: Record<string, unknown>) => Record<string, unknown>;\n\tonKeyDown: (event: KeyboardEvent<HTMLElement>) => void;\n\tinitialFocus?: number;\n\treturnFocus?: boolean;\n\ttabIndex?: number;\n\tclassName?: string;\n\tmaxWidth?: CSSProperties[\"maxWidth\"];\n\tlayoutClassName?: string;\n\theaderClassName?: string;\n\tbodyClassName?: string;\n\theader?: ReactNode;\n\tchildren: ReactNode;\n}\n\nfunction stopNestedFloatingMouseDown(event: MouseEvent<HTMLElement>): void {\n\tevent.stopPropagation();\n}\n\nexport function PickerPopup({\n\topen,\n\tcontext,\n\tfloatingStyles,\n\tlistId,\n\tlabelId,\n\tpopupAriaLabel,\n\tdescriptionId,\n\tactiveOptionId,\n\tariaMultiselectable,\n\tpopupRole = \"listbox\",\n\tsetFloating,\n\tgetFloatingProps,\n\tonKeyDown,\n\tinitialFocus = -1,\n\treturnFocus = false,\n\ttabIndex = 0,\n\tclassName,\n\tmaxWidth,\n\tlayoutClassName,\n\theaderClassName,\n\tbodyClassName,\n\theader,\n\tchildren\n}: PickerPopupProps) {\n\treturn (\n\t\t<AnimatePresence>\n\t\t\t{open && (\n\t\t\t\t<FloatingPortal>\n\t\t\t\t\t<FloatingFocusManager context={context} modal={false} initialFocus={initialFocus} returnFocus={returnFocus}>\n\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\tref={setFloating}\n\t\t\t\t\t\t\tstyle={{ ...floatingStyles, maxWidth }}\n\t\t\t\t\t\t\tinitial={{ opacity: 0, scale: 0.95 }}\n\t\t\t\t\t\t\tanimate={{ opacity: 1, scale: 1 }}\n\t\t\t\t\t\t\texit={{ opacity: 0, scale: 0.95 }}\n\t\t\t\t\t\t\t{...getFloatingProps({\n\t\t\t\t\t\t\t\tid: listId,\n\t\t\t\t\t\t\t\trole: popupRole,\n\t\t\t\t\t\t\t\ttabIndex,\n\t\t\t\t\t\t\t\t\"aria-labelledby\": labelId,\n\t\t\t\t\t\t\t\t\"aria-label\": labelId ? undefined : popupAriaLabel,\n\t\t\t\t\t\t\t\t\"aria-describedby\": descriptionId,\n\t\t\t\t\t\t\t\t\"aria-activedescendant\": activeOptionId,\n\t\t\t\t\t\t\t\t\"aria-multiselectable\": ariaMultiselectable || undefined,\n\t\t\t\t\t\t\t\tonMouseDown: stopNestedFloatingMouseDown,\n\t\t\t\t\t\t\t\tonKeyDown,\n\t\t\t\t\t\t\t\tclassName\n\t\t\t\t\t\t\t})}>\n\t\t\t\t\t\t\t<div className={cn(styles.popupLayout, layoutClassName)}>\n\t\t\t\t\t\t\t\t{header ? (\n\t\t\t\t\t\t\t\t\t<div className={headerClassName}>\n\t\t\t\t\t\t\t\t\t\t{header}\n\t\t\t\t\t\t\t\t\t\t<Separator className=\"marginBlockSm\" />\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<div />\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t<div className={cn(styles.popupBody, bodyClassName)}>{children}</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</motion.div>\n\t\t\t\t\t</FloatingFocusManager>\n\t\t\t\t</FloatingPortal>\n\t\t\t)}\n\t\t</AnimatePresence>\n\t);\n}\n","import { type Ref } from \"react\";\n\nimport { Grid } from \"../grid\";\n\nimport styles from \"./Picker.module.scss\";\n\ntype PickerSelectionToolbarProps = {\n\tonSelectAll: () => void;\n\tonDeselectAll: () => void;\n\tselectAllButtonRef?: Ref<HTMLButtonElement>;\n};\n\n/**\n * Общая панель массовых действий для picker-компонентов с множественным выбором.\n * Компонент не знает формат значения и делегирует изменение владельцу selection-модели.\n */\nexport function PickerSelectionToolbar({ onSelectAll, onDeselectAll, selectAllButtonRef }: PickerSelectionToolbarProps) {\n\treturn (\n\t\t<Grid.Container gap=\"xs\" templateColumns=\"1fr 1fr\">\n\t\t\t<button\n\t\t\t\tref={selectAllButtonRef}\n\t\t\t\ttype=\"button\"\n\t\t\t\tclassName={styles.selectionActionButton}\n\t\t\t\tonClick={onSelectAll}\n\t\t\t\tdata-ui=\"picker-select-all\"\n\t\t\t\tdata-action=\"select-all\">\n\t\t\t\tВыбрать все\n\t\t\t</button>\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tclassName={styles.selectionActionButton}\n\t\t\t\tonClick={onDeselectAll}\n\t\t\t\tdata-ui=\"picker-deselect-all\"\n\t\t\t\tdata-action=\"deselect-all\">\n\t\t\t\tСнять выбор\n\t\t\t</button>\n\t\t</Grid.Container>\n\t);\n}\n","import { ReactNode } from \"react\";\n\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\n\nimport uiStyles from \"../ui.module.scss\";\n\nimport styles from \"./Picker.module.scss\";\n\ninterface PickerStatusProps {\n\temptyState?: ReactNode;\n\tloadingState?: ReactNode;\n\terrorState?: ReactNode;\n}\n\nexport function PickerStatus({ emptyState, loadingState, errorState }: PickerStatusProps) {\n\tconst content = errorState ?? loadingState ?? emptyState;\n\n\tif (content === undefined || content === null) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div className={cn(uiStyles.uiPopupOption, styles.status, errorState !== undefined && styles.statusError)} aria-disabled={true}>\n\t\t\t{content}\n\t\t</div>\n\t);\n}\n","import { MouseEvent, ReactNode } from \"react\";\n\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\nimport { ChevronDownIcon } from \"lucide-react\";\n\nimport uiStyles from \"../ui.module.scss\";\n\ninterface PickerTriggerActionsProps {\n\topen: boolean;\n\tdisabled?: boolean;\n\tchildren?: ReactNode;\n\tonToggleMouseDown?: (event: MouseEvent<HTMLButtonElement>) => void;\n\tonToggleClick: () => void;\n\topenAriaLabel?: string;\n\tcloseAriaLabel?: string;\n}\n\nexport function PickerTriggerActions({\n\topen,\n\tdisabled,\n\tchildren,\n\tonToggleMouseDown,\n\tonToggleClick,\n\topenAriaLabel = \"Открыть список\",\n\tcloseAriaLabel = \"Закрыть список\"\n}: PickerTriggerActionsProps) {\n\treturn (\n\t\t<div className={uiStyles.uiToggleButtonContainer} data-disabled={disabled || undefined}>\n\t\t\t{children}\n\n\t\t\t<div className={uiStyles.uiButtonSeparator} />\n\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\taria-label={open ? closeAriaLabel : openAriaLabel}\n\t\t\t\tclassName={uiStyles.uiToggleButton}\n\t\t\t\tonMouseDown={onToggleMouseDown}\n\t\t\t\tonClick={onToggleClick}>\n\t\t\t\t<ChevronDownIcon className={cn(uiStyles.uiToggleIcon, open && uiStyles.uiToggleIconOpen)} />\n\t\t\t</button>\n\t\t</div>\n\t);\n}\n","import { ComponentPropsWithoutRef, forwardRef, ReactNode } from \"react\";\n\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\n\nimport { InputControl } from \"../input\";\nimport uiStyles from \"../ui.module.scss\";\n\nimport styles from \"./Picker.module.scss\";\n\ninterface PickerTriggerInputProps extends Omit<ComponentPropsWithoutRef<\"input\">, \"size\"> {\n\trootRef?: (node: HTMLDivElement | null) => void;\n\tendAdornment?: ReactNode;\n\toverlay?: ReactNode;\n\trootClassName?: string;\n\tinputClassName?: string;\n}\n\nexport const PickerTriggerInput = forwardRef<HTMLInputElement, PickerTriggerInputProps>(\n\t({ rootRef, endAdornment, overlay, rootClassName, inputClassName, ...props }, ref) => {\n\t\treturn (\n\t\t\t<div ref={rootRef} className={cn(uiStyles.uiInputContainer, styles.triggerContainer, rootClassName)}>\n\t\t\t\t<InputControl endAdornment={endAdornment}>\n\t\t\t\t\t{({ controlClassName }) => (\n\t\t\t\t\t\t<input {...props} ref={ref} className={cn(uiStyles.uiInputWithToggle, controlClassName, inputClassName)} />\n\t\t\t\t\t)}\n\t\t\t\t</InputControl>\n\t\t\t\t{overlay}\n\t\t\t</div>\n\t\t);\n\t}\n);\n\nPickerTriggerInput.displayName = \"PickerTriggerInput\";\n","export type PickerTriggerMode = \"display\" | \"search-single\" | \"search-multi\";\n\ninterface PickerTriggerTextFocusParams {\n\topen: boolean;\n\tcurrentQuery: string;\n\thasDisplayValue: boolean;\n}\n\nexport interface PickerTriggerPolicy {\n\tfocusFloatingOnOpen: boolean;\n\trestoreFocusOnClose: boolean;\n\tresetQueryOnClose: boolean;\n\tshouldOpenOnTriggerClick: (open: boolean) => boolean;\n\tshouldOpenOnInputChange: (open: boolean) => boolean;\n\tshouldFocusReferenceOnToggle: (open: boolean) => boolean;\n\tshouldSelectTriggerTextOnFocus: (params: PickerTriggerTextFocusParams) => boolean;\n}\n\n/**\n * Единая политика поведения trigger-input для picker-компонентов.\n * Нормализует различия между display-режимом, single-search и multi-search.\n */\nexport function createPickerTriggerPolicy(mode: PickerTriggerMode): PickerTriggerPolicy {\n\tswitch (mode) {\n\t\tcase \"search-single\":\n\t\t\treturn {\n\t\t\t\tfocusFloatingOnOpen: false,\n\t\t\t\trestoreFocusOnClose: false,\n\t\t\t\tresetQueryOnClose: true,\n\t\t\t\tshouldOpenOnTriggerClick: () => false,\n\t\t\t\tshouldOpenOnInputChange: (open) => !open,\n\t\t\t\tshouldFocusReferenceOnToggle: (open) => !open,\n\t\t\t\tshouldSelectTriggerTextOnFocus: ({ open, currentQuery, hasDisplayValue }) =>\n\t\t\t\t\t!open && currentQuery.length === 0 && hasDisplayValue\n\t\t\t};\n\t\tcase \"search-multi\":\n\t\t\treturn {\n\t\t\t\tfocusFloatingOnOpen: false,\n\t\t\t\trestoreFocusOnClose: false,\n\t\t\t\tresetQueryOnClose: true,\n\t\t\t\tshouldOpenOnTriggerClick: () => false,\n\t\t\t\tshouldOpenOnInputChange: (open) => !open,\n\t\t\t\tshouldFocusReferenceOnToggle: (open) => !open,\n\t\t\t\tshouldSelectTriggerTextOnFocus: () => false\n\t\t\t};\n\t\tcase \"display\":\n\t\tdefault:\n\t\t\treturn {\n\t\t\t\tfocusFloatingOnOpen: true,\n\t\t\t\trestoreFocusOnClose: true,\n\t\t\t\tresetQueryOnClose: false,\n\t\t\t\tshouldOpenOnTriggerClick: (open) => !open,\n\t\t\t\tshouldOpenOnInputChange: () => false,\n\t\t\t\tshouldFocusReferenceOnToggle: () => false,\n\t\t\t\tshouldSelectTriggerTextOnFocus: () => false\n\t\t\t};\n\t}\n}\n","import { ReactNode } from \"react\";\n\nexport function extractPickerTextContent(node: ReactNode): string | undefined {\n\tif (typeof node === \"string\" || typeof node === \"number\") {\n\t\treturn String(node);\n\t}\n\n\tif (Array.isArray(node)) {\n\t\tconst values = node.map(extractPickerTextContent).filter((value): value is string => Boolean(value));\n\t\treturn values.length ? values.join(\" \") : undefined;\n\t}\n\n\treturn undefined;\n}\n","import { useMemo } from \"react\";\n\nimport { normalizeTextToLower } from \"@ryuzaki13/react-foundation-lib/formatters\";\n\ninterface UsePickerDefaultFilterOptions<T> {\n\toptions: readonly T[];\n\tquery: string;\n\tenabled?: boolean;\n\tgetSearchText: (option: T) => unknown;\n}\n\nfunction normalizeSearchText(value: unknown) {\n\tconst parts = Array.isArray(value) ? value : [value];\n\n\treturn normalizeTextToLower(parts.filter(Boolean).join(\" \"));\n}\n\nexport function usePickerDefaultFilter<T>({ options, query, enabled = true, getSearchText }: UsePickerDefaultFilterOptions<T>) {\n\tconst normalizedQuery = normalizeTextToLower(query);\n\n\treturn useMemo(() => {\n\t\tif (!enabled || !normalizedQuery) {\n\t\t\treturn [...options];\n\t\t}\n\n\t\treturn options.filter((option) => normalizeSearchText(getSearchText(option)).includes(normalizedQuery));\n\t}, [enabled, getSearchText, normalizedQuery, options]);\n}\n","import { Placement } from \"@floating-ui/react\";\nimport {\n\ttype FloatingListboxPlacementStrategy,\n\ttype FloatingListboxSizeResolver,\n\tuseFloatingListbox\n} from \"@ryuzaki13/react-foundation-lib/hooks\";\n\nimport { PickerTriggerMode, createPickerTriggerPolicy } from \"./createPickerTriggerPolicy\";\n\ninterface UsePickerFloatingListboxParams<T> {\n\toptions: readonly T[];\n\tselectedIndex: number;\n\topen?: boolean;\n\tonOpenChange?: (open: boolean) => void;\n\tgetOptionDisabled?: (option: T) => boolean;\n\tonSelect?: (option: T) => void;\n\tdisabled?: boolean;\n\tplacement?: Placement;\n\tplacementStrategy?: FloatingListboxPlacementStrategy;\n\tcloseOnSelect?: boolean;\n\tfocusFloatingOnOpen?: boolean;\n\tallowOpenWithoutOptions?: boolean;\n\trestoreFocusOnClose?: boolean;\n\ttriggerMode?: PickerTriggerMode;\n\tresolveFloatingSize?: FloatingListboxSizeResolver;\n}\n\n/**\n * Единая точка входа для popup/listbox поведения во всех picker-компонентах.\n */\nexport function usePickerFloatingListbox<T>(params: UsePickerFloatingListboxParams<T>) {\n\tconst triggerPolicy = params.triggerMode ? createPickerTriggerPolicy(params.triggerMode) : undefined;\n\n\treturn useFloatingListbox({\n\t\t...params,\n\t\tfocusFloatingOnOpen: params.focusFloatingOnOpen ?? triggerPolicy?.focusFloatingOnOpen,\n\t\trestoreFocusOnClose: params.restoreFocusOnClose ?? triggerPolicy?.restoreFocusOnClose\n\t});\n}\n","import { useState } from \"react\";\n\nimport { PickerTriggerMode, createPickerTriggerPolicy } from \"./createPickerTriggerPolicy\";\n\ninterface UsePickerQueryOptions {\n\tquery?: string;\n\tdefaultQuery?: string;\n\tonQuery?: (value: string) => void;\n\tresetOnClose?: boolean;\n\ttriggerMode?: PickerTriggerMode;\n}\n\n/**\n * Управляет controlled/uncontrolled query и возвращает policy закрытия владельцу open-state.\n * Сброс выполняется самим владельцем в событии close, поэтому hook не зеркалит lifecycle через effect.\n */\nexport function usePickerQuery({ query, defaultQuery, onQuery, resetOnClose, triggerMode }: UsePickerQueryOptions) {\n\tconst isControlled = query !== undefined;\n\tconst [internalQuery, setInternalQuery] = useState(defaultQuery ?? \"\");\n\tconst currentQuery = isControlled ? (query ?? \"\") : internalQuery;\n\tconst resolvedResetOnClose = resetOnClose ?? (triggerMode ? createPickerTriggerPolicy(triggerMode).resetQueryOnClose : true);\n\n\tconst setQuery = (nextValue: string) => {\n\t\tif (!isControlled) {\n\t\t\tsetInternalQuery(nextValue);\n\t\t}\n\n\t\tonQuery?.(nextValue);\n\t};\n\n\treturn {\n\t\tquery: currentQuery,\n\t\tsetQuery,\n\t\tclearQuery: () => setQuery(\"\"),\n\t\tresetQueryOnClose: resolvedResetOnClose\n\t};\n}\n","import { useEffect, useRef, useState } from \"react\";\n\ninterface UsePickerSelectionLifecycleOptions<TValue> {\n\tvalue: TValue;\n\topen: boolean;\n\tonCommit: (value: TValue) => void;\n\tonOpen?: () => void;\n\tonClose?: (value: TValue) => void;\n\tisEqual: (left: TValue, right: TValue) => boolean;\n}\n\n/**\n * Общий жизненный цикл чернового выбора для picker-компонентов,\n * где изменения подтверждаются при закрытии popup.\n */\nexport function usePickerSelectionLifecycle<TValue>({\n\tvalue,\n\topen,\n\tonCommit,\n\tonOpen,\n\tonClose,\n\tisEqual\n}: UsePickerSelectionLifecycleOptions<TValue>) {\n\tconst previousOpenRef = useRef(false);\n\tconst [draftValue, setDraftValue] = useState(value);\n\n\tuseEffect(() => {\n\t\tif (previousOpenRef.current && !open) {\n\t\t\tif (!isEqual(draftValue, value)) {\n\t\t\t\tonCommit(draftValue);\n\t\t\t}\n\n\t\t\tonClose?.(draftValue);\n\t\t}\n\n\t\tpreviousOpenRef.current = open;\n\t}, [draftValue, isEqual, onClose, onCommit, open, value]);\n\n\tconst prepareOpen = () => {\n\t\tsetDraftValue(value);\n\t\tonOpen?.();\n\t};\n\n\treturn {\n\t\tdraftValue,\n\t\tsetDraftValue,\n\t\tprepareOpen\n\t};\n}\n","import { MouseEvent, RefObject } from \"react\";\n\nimport { PickerTriggerMode, createPickerTriggerPolicy } from \"./createPickerTriggerPolicy\";\n\ninterface UsePickerTriggerControllerOptions {\n\tmode: PickerTriggerMode;\n\topen: boolean;\n\tcurrentQuery: string;\n\thasDisplayValue: boolean;\n\tinputRef: RefObject<HTMLInputElement | null>;\n\tsetQuery?: (value: string) => void;\n\topenList?: () => void;\n\tclose?: () => void;\n\ttoggleOpen?: () => void;\n\tonBeforeOpen?: () => void;\n}\n\ninterface HandleTriggerKeyDownOptions {\n\tevent: React.KeyboardEvent<HTMLElement>;\n\tonActivateWhenOpen?: () => void;\n\tenableSpaceActivation?: boolean;\n\tenableClosedArrowDownOpen?: boolean;\n\tsuppressClosedArrowUp?: boolean;\n}\n\nfunction focusInput(inputRef: RefObject<HTMLInputElement | null>) {\n\trequestAnimationFrame(() => {\n\t\tinputRef.current?.focus();\n\t});\n}\n\n/**\n * Единый контроллер пользовательских действий на trigger-input.\n * Держит поведение display/search-single/search-multi в одном месте.\n */\nexport function usePickerTriggerController({\n\tmode,\n\topen,\n\tcurrentQuery,\n\thasDisplayValue,\n\tinputRef,\n\tsetQuery,\n\topenList,\n\tclose,\n\ttoggleOpen,\n\tonBeforeOpen\n}: UsePickerTriggerControllerOptions) {\n\tconst policy = createPickerTriggerPolicy(mode);\n\n\tconst openTrigger = () => {\n\t\tonBeforeOpen?.();\n\n\t\tif (openList) {\n\t\t\topenList();\n\t\t\treturn;\n\t\t}\n\n\t\ttoggleOpen?.();\n\t};\n\n\tconst closeTrigger = () => {\n\t\tif (close) {\n\t\t\tclose();\n\t\t\treturn;\n\t\t}\n\n\t\ttoggleOpen?.();\n\t};\n\n\tconst toggleTrigger = () => {\n\t\tif (open) {\n\t\t\tcloseTrigger();\n\t\t} else {\n\t\t\topenTrigger();\n\t\t}\n\n\t\tif (policy.shouldFocusReferenceOnToggle(open)) {\n\t\t\tfocusInput(inputRef);\n\t\t}\n\t};\n\n\treturn {\n\t\tpolicy,\n\t\thandleTriggerInputChange: (nextValue: string) => {\n\t\t\tsetQuery?.(nextValue);\n\n\t\t\tif (policy.shouldOpenOnInputChange(open)) {\n\t\t\t\topenTrigger();\n\t\t\t}\n\t\t},\n\t\thandleTriggerClick: () => {\n\t\t\tif (policy.shouldOpenOnTriggerClick(open)) {\n\t\t\t\topenTrigger();\n\t\t\t}\n\t\t},\n\t\thandleTriggerFocus: (input: HTMLInputElement) => {\n\t\t\tif (\n\t\t\t\tpolicy.shouldSelectTriggerTextOnFocus({\n\t\t\t\t\topen,\n\t\t\t\t\tcurrentQuery,\n\t\t\t\t\thasDisplayValue\n\t\t\t\t})\n\t\t\t) {\n\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\tinput.select();\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\thandleToggleMouseDown: (event: MouseEvent<HTMLButtonElement>) => {\n\t\t\tevent.preventDefault();\n\t\t},\n\t\thandleToggleClick: () => {\n\t\t\ttoggleTrigger();\n\t\t},\n\t\thandleTriggerKeyDown: ({\n\t\t\tevent,\n\t\t\tonActivateWhenOpen,\n\t\t\tenableSpaceActivation = false,\n\t\t\tenableClosedArrowDownOpen = false,\n\t\t\tsuppressClosedArrowUp = false\n\t\t}: HandleTriggerKeyDownOptions) => {\n\t\t\tif (!open && suppressClosedArrowUp && event.key === \"ArrowUp\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (!open && enableClosedArrowDownOpen && event.key === \"ArrowDown\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\ttoggleTrigger();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (event.key === \"Enter\") {\n\t\t\t\tevent.preventDefault();\n\n\t\t\t\tif (open) {\n\t\t\t\t\tonActivateWhenOpen?.();\n\t\t\t\t} else {\n\t\t\t\t\ttoggleTrigger();\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (enableSpaceActivation && event.key === \" \") {\n\t\t\t\tevent.preventDefault();\n\n\t\t\t\tif (open) {\n\t\t\t\t\tonActivateWhenOpen?.();\n\t\t\t\t} else {\n\t\t\t\t\ttoggleTrigger();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\ttoggleTrigger\n\t};\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"picker-DLnfOgZj.js","names":[],"sources":["../../src/picker/PickerField.tsx","../../src/picker/Picker.module.scss","../../src/picker/PickerPopup.tsx","../../src/picker/PickerSelectionToolbar.tsx","../../src/picker/PickerStatus.tsx","../../src/picker/PickerTriggerActions.tsx","../../src/picker/PickerTriggerInput.tsx","../../src/picker/model/createPickerTriggerPolicy.ts","../../src/picker/model/extractPickerTextContent.ts","../../src/picker/model/usePickerDefaultFilter.ts","../../src/picker/model/usePickerFloatingListbox.ts","../../src/picker/model/usePickerQuery.ts","../../src/picker/model/usePickerSelectionLifecycle.ts","../../src/picker/model/usePickerTriggerController.ts"],"sourcesContent":["import { InputType } from \"@ryuzaki13/react-foundation-lib/types\";\n\nimport { InputUI } from \"../input\";\nimport { useInputFieldIds } from \"../input/lib/useInputFieldIds\";\n\nimport { PickerFieldProps } from \"./types\";\n\nexport function PickerField<TValue extends InputType>({\n\tid,\n\tlabel,\n\tdescription,\n\tdisabled,\n\tsize,\n\tclassName,\n\terror,\n\tchildren\n}: PickerFieldProps<TValue>) {\n\tconst { controlId, labelId, descriptionId, errorId, describedBy } = useInputFieldIds({\n\t\tid,\n\t\thasLabel: label !== undefined && label !== null,\n\t\thasDescription: !!description,\n\t\thasError: !!error\n\t});\n\n\treturn (\n\t\t<InputUI\n\t\t\tlabel={label}\n\t\t\tdescription={description}\n\t\t\tdisabled={disabled}\n\t\t\tsize={size}\n\t\t\tclassName={className}\n\t\t\terror={error}\n\t\t\tcontrolId={controlId}\n\t\t\tlabelId={labelId}\n\t\t\tdescriptionId={descriptionId}\n\t\t\terrorId={errorId}>\n\t\t\t{children({ controlId, labelId, descriptionId, errorId, describedBy })}\n\t\t</InputUI>\n\t);\n}\n",".popupLayout {\n\tdisplay: grid;\n\tgrid-template-rows: auto 1fr;\n\tmin-height: 0;\n\tmax-height: 75vh;\n\toverflow: hidden;\n\n\tflex: 1 1 auto;\n}\n\n.popupBody {\n\tmin-height: 0;\n}\n\n.status {\n\tpadding: var(--space-xs) var(--space-sm);\n\tcolor: var(--content-2);\n}\n\n.statusError {\n\tcolor: var(--status-error-text);\n}\n\n.triggerContainer {\n\tposition: relative;\n}\n\n.selectionActionButton {\n\tpadding-block: var(--space-xs);\n\tborder-radius: var(--radius-sm);\n\n\t&:hover {\n\t\tbackground-color: var(--surface-2);\n\t}\n}\n","import { type CSSProperties, type KeyboardEvent, type MouseEvent, type ReactNode } from \"react\";\n\nimport { FloatingContext, FloatingFocusManager, FloatingPortal } from \"@floating-ui/react\";\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\nimport { AnimatePresence, motion } from \"motion/react\";\n\nimport { Separator } from \"../separator\";\n\nimport styles from \"./Picker.module.scss\";\n\ninterface PickerPopupProps {\n\topen: boolean;\n\tcontext: FloatingContext;\n\tfloatingStyles: CSSProperties;\n\tlistId: string;\n\tlabelId?: string;\n\tpopupAriaLabel?: string;\n\tdescriptionId?: string;\n\tactiveOptionId?: string;\n\tariaMultiselectable?: boolean;\n\tpopupRole?: \"listbox\" | \"dialog\";\n\tsetFloating: (node: HTMLElement | null) => void;\n\tgetFloatingProps: (userProps?: Record<string, unknown>) => Record<string, unknown>;\n\tonKeyDown: (event: KeyboardEvent<HTMLElement>) => void;\n\tinitialFocus?: number;\n\treturnFocus?: boolean;\n\ttabIndex?: number;\n\tclassName?: string;\n\tmaxWidth?: CSSProperties[\"maxWidth\"];\n\tlayoutClassName?: string;\n\theaderClassName?: string;\n\tbodyClassName?: string;\n\theader?: ReactNode;\n\tchildren: ReactNode;\n}\n\nfunction stopNestedFloatingMouseDown(event: MouseEvent<HTMLElement>): void {\n\tevent.stopPropagation();\n}\n\nexport function PickerPopup({\n\topen,\n\tcontext,\n\tfloatingStyles,\n\tlistId,\n\tlabelId,\n\tpopupAriaLabel,\n\tdescriptionId,\n\tactiveOptionId,\n\tariaMultiselectable,\n\tpopupRole = \"listbox\",\n\tsetFloating,\n\tgetFloatingProps,\n\tonKeyDown,\n\tinitialFocus = -1,\n\treturnFocus = false,\n\ttabIndex = 0,\n\tclassName,\n\tmaxWidth,\n\tlayoutClassName,\n\theaderClassName,\n\tbodyClassName,\n\theader,\n\tchildren\n}: PickerPopupProps) {\n\treturn (\n\t\t<AnimatePresence>\n\t\t\t{open && (\n\t\t\t\t<FloatingPortal>\n\t\t\t\t\t<FloatingFocusManager context={context} modal={false} initialFocus={initialFocus} returnFocus={returnFocus}>\n\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\tref={setFloating}\n\t\t\t\t\t\t\tstyle={{ ...floatingStyles, maxWidth }}\n\t\t\t\t\t\t\tinitial={{ opacity: 0, scale: 0.95 }}\n\t\t\t\t\t\t\tanimate={{ opacity: 1, scale: 1 }}\n\t\t\t\t\t\t\texit={{ opacity: 0, scale: 0.95 }}\n\t\t\t\t\t\t\t{...getFloatingProps({\n\t\t\t\t\t\t\t\tid: listId,\n\t\t\t\t\t\t\t\trole: popupRole,\n\t\t\t\t\t\t\t\ttabIndex,\n\t\t\t\t\t\t\t\t\"aria-labelledby\": labelId,\n\t\t\t\t\t\t\t\t\"aria-label\": labelId ? undefined : popupAriaLabel,\n\t\t\t\t\t\t\t\t\"aria-describedby\": descriptionId,\n\t\t\t\t\t\t\t\t\"aria-activedescendant\": activeOptionId,\n\t\t\t\t\t\t\t\t\"aria-multiselectable\": ariaMultiselectable || undefined,\n\t\t\t\t\t\t\t\tonMouseDown: stopNestedFloatingMouseDown,\n\t\t\t\t\t\t\t\tonKeyDown,\n\t\t\t\t\t\t\t\tclassName\n\t\t\t\t\t\t\t})}>\n\t\t\t\t\t\t\t<div className={cn(styles.popupLayout, layoutClassName)}>\n\t\t\t\t\t\t\t\t{header ? (\n\t\t\t\t\t\t\t\t\t<div className={headerClassName}>\n\t\t\t\t\t\t\t\t\t\t{header}\n\t\t\t\t\t\t\t\t\t\t<Separator className=\"marginBlockSm\" />\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<div />\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t<div className={cn(styles.popupBody, bodyClassName)}>{children}</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</motion.div>\n\t\t\t\t\t</FloatingFocusManager>\n\t\t\t\t</FloatingPortal>\n\t\t\t)}\n\t\t</AnimatePresence>\n\t);\n}\n","import { type Ref } from \"react\";\n\nimport { Grid } from \"../grid\";\n\nimport styles from \"./Picker.module.scss\";\n\ntype PickerSelectionToolbarProps = {\n\tonSelectAll: () => void;\n\tonDeselectAll: () => void;\n\tselectAllButtonRef?: Ref<HTMLButtonElement>;\n};\n\n/**\n * Общая панель массовых действий для picker-компонентов с множественным выбором.\n * Компонент не знает формат значения и делегирует изменение владельцу selection-модели.\n */\nexport function PickerSelectionToolbar({ onSelectAll, onDeselectAll, selectAllButtonRef }: PickerSelectionToolbarProps) {\n\treturn (\n\t\t<Grid.Container gap=\"xs\" templateColumns=\"1fr 1fr\">\n\t\t\t<button\n\t\t\t\tref={selectAllButtonRef}\n\t\t\t\ttype=\"button\"\n\t\t\t\tclassName={styles.selectionActionButton}\n\t\t\t\tonClick={onSelectAll}\n\t\t\t\tdata-ui=\"picker-select-all\"\n\t\t\t\tdata-action=\"select-all\">\n\t\t\t\tВыбрать все\n\t\t\t</button>\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tclassName={styles.selectionActionButton}\n\t\t\t\tonClick={onDeselectAll}\n\t\t\t\tdata-ui=\"picker-deselect-all\"\n\t\t\t\tdata-action=\"deselect-all\">\n\t\t\t\tСнять выбор\n\t\t\t</button>\n\t\t</Grid.Container>\n\t);\n}\n","import { ReactNode } from \"react\";\n\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\n\nimport uiStyles from \"../ui.module.scss\";\n\nimport styles from \"./Picker.module.scss\";\n\ninterface PickerStatusProps {\n\temptyState?: ReactNode;\n\tloadingState?: ReactNode;\n\terrorState?: ReactNode;\n}\n\nexport function PickerStatus({ emptyState, loadingState, errorState }: PickerStatusProps) {\n\tconst content = errorState ?? loadingState ?? emptyState;\n\n\tif (content === undefined || content === null) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div className={cn(uiStyles.uiPopupOption, styles.status, errorState !== undefined && styles.statusError)} aria-disabled={true}>\n\t\t\t{content}\n\t\t</div>\n\t);\n}\n","import { MouseEvent, ReactNode } from \"react\";\n\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\nimport { ChevronDownIcon } from \"lucide-react\";\n\nimport uiStyles from \"../ui.module.scss\";\n\ninterface PickerTriggerActionsProps {\n\topen: boolean;\n\tdisabled?: boolean;\n\tchildren?: ReactNode;\n\tonToggleMouseDown?: (event: MouseEvent<HTMLButtonElement>) => void;\n\tonToggleClick: () => void;\n\topenAriaLabel?: string;\n\tcloseAriaLabel?: string;\n}\n\nexport function PickerTriggerActions({\n\topen,\n\tdisabled,\n\tchildren,\n\tonToggleMouseDown,\n\tonToggleClick,\n\topenAriaLabel = \"Открыть список\",\n\tcloseAriaLabel = \"Закрыть список\"\n}: PickerTriggerActionsProps) {\n\treturn (\n\t\t<div className={uiStyles.uiToggleButtonContainer} data-disabled={disabled || undefined}>\n\t\t\t{children}\n\n\t\t\t<div className={uiStyles.uiButtonSeparator} />\n\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\taria-label={open ? closeAriaLabel : openAriaLabel}\n\t\t\t\tclassName={uiStyles.uiToggleButton}\n\t\t\t\tonMouseDown={onToggleMouseDown}\n\t\t\t\tonClick={onToggleClick}>\n\t\t\t\t<ChevronDownIcon className={cn(uiStyles.uiToggleIcon, open && uiStyles.uiToggleIconOpen)} />\n\t\t\t</button>\n\t\t</div>\n\t);\n}\n","import { ComponentPropsWithoutRef, forwardRef, ReactNode } from \"react\";\n\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\n\nimport { InputControl } from \"../input\";\nimport uiStyles from \"../ui.module.scss\";\n\nimport styles from \"./Picker.module.scss\";\n\ninterface PickerTriggerInputProps extends Omit<ComponentPropsWithoutRef<\"input\">, \"size\"> {\n\trootRef?: (node: HTMLDivElement | null) => void;\n\tendAdornment?: ReactNode;\n\toverlay?: ReactNode;\n\trootClassName?: string;\n\tinputClassName?: string;\n}\n\nexport const PickerTriggerInput = forwardRef<HTMLInputElement, PickerTriggerInputProps>(\n\t({ rootRef, endAdornment, overlay, rootClassName, inputClassName, ...props }, ref) => {\n\t\treturn (\n\t\t\t<div ref={rootRef} className={cn(uiStyles.uiInputContainer, styles.triggerContainer, rootClassName)}>\n\t\t\t\t<InputControl endAdornment={endAdornment}>\n\t\t\t\t\t{({ controlClassName }) => (\n\t\t\t\t\t\t<input {...props} ref={ref} className={cn(uiStyles.uiInputWithToggle, controlClassName, inputClassName)} />\n\t\t\t\t\t)}\n\t\t\t\t</InputControl>\n\t\t\t\t{overlay}\n\t\t\t</div>\n\t\t);\n\t}\n);\n\nPickerTriggerInput.displayName = \"PickerTriggerInput\";\n","export type PickerTriggerMode = \"display\" | \"search-single\" | \"search-multi\";\n\ninterface PickerTriggerTextFocusParams {\n\topen: boolean;\n\tcurrentQuery: string;\n\thasDisplayValue: boolean;\n}\n\nexport interface PickerTriggerPolicy {\n\tfocusFloatingOnOpen: boolean;\n\trestoreFocusOnClose: boolean;\n\tresetQueryOnClose: boolean;\n\tshouldOpenOnTriggerClick: (open: boolean) => boolean;\n\tshouldOpenOnInputChange: (open: boolean) => boolean;\n\tshouldFocusReferenceOnToggle: (open: boolean) => boolean;\n\tshouldSelectTriggerTextOnFocus: (params: PickerTriggerTextFocusParams) => boolean;\n}\n\n/**\n * Единая политика поведения trigger-input для picker-компонентов.\n * Нормализует различия между display-режимом, single-search и multi-search.\n */\nexport function createPickerTriggerPolicy(mode: PickerTriggerMode): PickerTriggerPolicy {\n\tswitch (mode) {\n\t\tcase \"search-single\":\n\t\t\treturn {\n\t\t\t\tfocusFloatingOnOpen: false,\n\t\t\t\trestoreFocusOnClose: false,\n\t\t\t\tresetQueryOnClose: true,\n\t\t\t\tshouldOpenOnTriggerClick: () => false,\n\t\t\t\tshouldOpenOnInputChange: (open) => !open,\n\t\t\t\tshouldFocusReferenceOnToggle: (open) => !open,\n\t\t\t\tshouldSelectTriggerTextOnFocus: ({ open, currentQuery, hasDisplayValue }) =>\n\t\t\t\t\t!open && currentQuery.length === 0 && hasDisplayValue\n\t\t\t};\n\t\tcase \"search-multi\":\n\t\t\treturn {\n\t\t\t\tfocusFloatingOnOpen: false,\n\t\t\t\trestoreFocusOnClose: false,\n\t\t\t\tresetQueryOnClose: true,\n\t\t\t\tshouldOpenOnTriggerClick: () => false,\n\t\t\t\tshouldOpenOnInputChange: (open) => !open,\n\t\t\t\tshouldFocusReferenceOnToggle: (open) => !open,\n\t\t\t\tshouldSelectTriggerTextOnFocus: () => false\n\t\t\t};\n\t\tcase \"display\":\n\t\tdefault:\n\t\t\treturn {\n\t\t\t\tfocusFloatingOnOpen: true,\n\t\t\t\trestoreFocusOnClose: true,\n\t\t\t\tresetQueryOnClose: false,\n\t\t\t\tshouldOpenOnTriggerClick: (open) => !open,\n\t\t\t\tshouldOpenOnInputChange: () => false,\n\t\t\t\tshouldFocusReferenceOnToggle: () => false,\n\t\t\t\tshouldSelectTriggerTextOnFocus: () => false\n\t\t\t};\n\t}\n}\n","import { ReactNode } from \"react\";\n\nexport function extractPickerTextContent(node: ReactNode): string | undefined {\n\tif (typeof node === \"string\" || typeof node === \"number\") {\n\t\treturn String(node);\n\t}\n\n\tif (Array.isArray(node)) {\n\t\tconst values = node.map(extractPickerTextContent).filter((value): value is string => Boolean(value));\n\t\treturn values.length ? values.join(\" \") : undefined;\n\t}\n\n\treturn undefined;\n}\n","import { useMemo } from \"react\";\n\nimport { normalizeTextToLower } from \"@ryuzaki13/react-foundation-lib/formatters\";\n\ninterface UsePickerDefaultFilterOptions<T> {\n\toptions: readonly T[];\n\tquery: string;\n\tenabled?: boolean;\n\tgetSearchText: (option: T) => unknown;\n}\n\nfunction normalizeSearchText(value: unknown) {\n\tconst parts = Array.isArray(value) ? value : [value];\n\n\treturn normalizeTextToLower(parts.filter(Boolean).join(\" \"));\n}\n\nexport function usePickerDefaultFilter<T>({ options, query, enabled = true, getSearchText }: UsePickerDefaultFilterOptions<T>) {\n\tconst normalizedQuery = normalizeTextToLower(query);\n\n\treturn useMemo(() => {\n\t\tif (!enabled || !normalizedQuery) {\n\t\t\treturn [...options];\n\t\t}\n\n\t\treturn options.filter((option) => normalizeSearchText(getSearchText(option)).includes(normalizedQuery));\n\t}, [enabled, getSearchText, normalizedQuery, options]);\n}\n","import { Placement } from \"@floating-ui/react\";\nimport {\n\ttype FloatingListboxPlacementStrategy,\n\ttype FloatingListboxSizeResolver,\n\tuseFloatingListbox\n} from \"@ryuzaki13/react-foundation-lib/hooks\";\n\nimport { PickerTriggerMode, createPickerTriggerPolicy } from \"./createPickerTriggerPolicy\";\n\ninterface UsePickerFloatingListboxParams<T> {\n\toptions: readonly T[];\n\tselectedIndex: number;\n\topen?: boolean;\n\tonOpenChange?: (open: boolean) => void;\n\tgetOptionDisabled?: (option: T) => boolean;\n\tonSelect?: (option: T) => void;\n\tdisabled?: boolean;\n\tplacement?: Placement;\n\tplacementStrategy?: FloatingListboxPlacementStrategy;\n\tcloseOnSelect?: boolean;\n\tfocusFloatingOnOpen?: boolean;\n\tallowOpenWithoutOptions?: boolean;\n\trestoreFocusOnClose?: boolean;\n\ttriggerMode?: PickerTriggerMode;\n\tresolveFloatingSize?: FloatingListboxSizeResolver;\n}\n\n/**\n * Единая точка входа для popup/listbox поведения во всех picker-компонентах.\n */\nexport function usePickerFloatingListbox<T>(params: UsePickerFloatingListboxParams<T>) {\n\tconst triggerPolicy = params.triggerMode ? createPickerTriggerPolicy(params.triggerMode) : undefined;\n\n\treturn useFloatingListbox({\n\t\t...params,\n\t\tfocusFloatingOnOpen: params.focusFloatingOnOpen ?? triggerPolicy?.focusFloatingOnOpen,\n\t\trestoreFocusOnClose: params.restoreFocusOnClose ?? triggerPolicy?.restoreFocusOnClose\n\t});\n}\n","import { useState } from \"react\";\n\nimport { PickerTriggerMode, createPickerTriggerPolicy } from \"./createPickerTriggerPolicy\";\n\ninterface UsePickerQueryOptions {\n\tquery?: string;\n\tdefaultQuery?: string;\n\tonQuery?: (value: string) => void;\n\tresetOnClose?: boolean;\n\ttriggerMode?: PickerTriggerMode;\n}\n\n/**\n * Управляет controlled/uncontrolled query и возвращает policy закрытия владельцу open-state.\n * Сброс выполняется самим владельцем в событии close, поэтому hook не зеркалит lifecycle через effect.\n */\nexport function usePickerQuery({ query, defaultQuery, onQuery, resetOnClose, triggerMode }: UsePickerQueryOptions) {\n\tconst isControlled = query !== undefined;\n\tconst [internalQuery, setInternalQuery] = useState(defaultQuery ?? \"\");\n\tconst currentQuery = isControlled ? (query ?? \"\") : internalQuery;\n\tconst resolvedResetOnClose = resetOnClose ?? (triggerMode ? createPickerTriggerPolicy(triggerMode).resetQueryOnClose : true);\n\n\tconst setQuery = (nextValue: string) => {\n\t\tif (!isControlled) {\n\t\t\tsetInternalQuery(nextValue);\n\t\t}\n\n\t\tonQuery?.(nextValue);\n\t};\n\n\treturn {\n\t\tquery: currentQuery,\n\t\tsetQuery,\n\t\tclearQuery: () => setQuery(\"\"),\n\t\tresetQueryOnClose: resolvedResetOnClose\n\t};\n}\n","import { useEffect, useRef, useState } from \"react\";\n\ninterface UsePickerSelectionLifecycleOptions<TValue> {\n\tvalue: TValue;\n\topen: boolean;\n\tonCommit: (value: TValue) => void;\n\tonOpen?: () => void;\n\tonClose?: (value: TValue) => void;\n\tisEqual: (left: TValue, right: TValue) => boolean;\n}\n\n/**\n * Общий жизненный цикл чернового выбора для picker-компонентов,\n * где изменения подтверждаются при закрытии popup.\n */\nexport function usePickerSelectionLifecycle<TValue>({\n\tvalue,\n\topen,\n\tonCommit,\n\tonOpen,\n\tonClose,\n\tisEqual\n}: UsePickerSelectionLifecycleOptions<TValue>) {\n\tconst previousOpenRef = useRef(false);\n\tconst [draftValue, setDraftValue] = useState(value);\n\n\tuseEffect(() => {\n\t\tif (previousOpenRef.current && !open) {\n\t\t\tif (!isEqual(draftValue, value)) {\n\t\t\t\tonCommit(draftValue);\n\t\t\t}\n\n\t\t\tonClose?.(draftValue);\n\t\t}\n\n\t\tpreviousOpenRef.current = open;\n\t}, [draftValue, isEqual, onClose, onCommit, open, value]);\n\n\tconst prepareOpen = () => {\n\t\tsetDraftValue(value);\n\t\tonOpen?.();\n\t};\n\n\treturn {\n\t\tdraftValue,\n\t\tsetDraftValue,\n\t\tprepareOpen\n\t};\n}\n","import { MouseEvent, RefObject } from \"react\";\n\nimport { PickerTriggerMode, createPickerTriggerPolicy } from \"./createPickerTriggerPolicy\";\n\ninterface UsePickerTriggerControllerOptions {\n\tmode: PickerTriggerMode;\n\topen: boolean;\n\tcurrentQuery: string;\n\thasDisplayValue: boolean;\n\tinputRef: RefObject<HTMLInputElement | null>;\n\tsetQuery?: (value: string) => void;\n\topenList?: () => void;\n\tclose?: () => void;\n\ttoggleOpen?: () => void;\n\tonBeforeOpen?: () => void;\n}\n\ninterface HandleTriggerKeyDownOptions {\n\tevent: React.KeyboardEvent<HTMLElement>;\n\tonActivateWhenOpen?: () => void;\n\tenableSpaceActivation?: boolean;\n\tenableClosedArrowDownOpen?: boolean;\n\tsuppressClosedArrowUp?: boolean;\n}\n\nfunction focusInput(inputRef: RefObject<HTMLInputElement | null>) {\n\trequestAnimationFrame(() => {\n\t\tinputRef.current?.focus();\n\t});\n}\n\n/**\n * Единый контроллер пользовательских действий на trigger-input.\n * Держит поведение display/search-single/search-multi в одном месте.\n */\nexport function usePickerTriggerController({\n\tmode,\n\topen,\n\tcurrentQuery,\n\thasDisplayValue,\n\tinputRef,\n\tsetQuery,\n\topenList,\n\tclose,\n\ttoggleOpen,\n\tonBeforeOpen\n}: UsePickerTriggerControllerOptions) {\n\tconst policy = createPickerTriggerPolicy(mode);\n\n\tconst openTrigger = () => {\n\t\tonBeforeOpen?.();\n\n\t\tif (openList) {\n\t\t\topenList();\n\t\t\treturn;\n\t\t}\n\n\t\ttoggleOpen?.();\n\t};\n\n\tconst closeTrigger = () => {\n\t\tif (close) {\n\t\t\tclose();\n\t\t\treturn;\n\t\t}\n\n\t\ttoggleOpen?.();\n\t};\n\n\tconst toggleTrigger = () => {\n\t\tif (open) {\n\t\t\tcloseTrigger();\n\t\t} else {\n\t\t\topenTrigger();\n\t\t}\n\n\t\tif (policy.shouldFocusReferenceOnToggle(open)) {\n\t\t\tfocusInput(inputRef);\n\t\t}\n\t};\n\n\treturn {\n\t\tpolicy,\n\t\thandleTriggerInputChange: (nextValue: string) => {\n\t\t\tsetQuery?.(nextValue);\n\n\t\t\tif (policy.shouldOpenOnInputChange(open)) {\n\t\t\t\topenTrigger();\n\t\t\t}\n\t\t},\n\t\thandleTriggerClick: () => {\n\t\t\tif (policy.shouldOpenOnTriggerClick(open)) {\n\t\t\t\topenTrigger();\n\t\t\t}\n\t\t},\n\t\thandleTriggerFocus: (input: HTMLInputElement) => {\n\t\t\tif (\n\t\t\t\tpolicy.shouldSelectTriggerTextOnFocus({\n\t\t\t\t\topen,\n\t\t\t\t\tcurrentQuery,\n\t\t\t\t\thasDisplayValue\n\t\t\t\t})\n\t\t\t) {\n\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\tinput.select();\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\thandleToggleMouseDown: (event: MouseEvent<HTMLButtonElement>) => {\n\t\t\tevent.preventDefault();\n\t\t},\n\t\thandleToggleClick: () => {\n\t\t\ttoggleTrigger();\n\t\t},\n\t\thandleTriggerKeyDown: ({\n\t\t\tevent,\n\t\t\tonActivateWhenOpen,\n\t\t\tenableSpaceActivation = false,\n\t\t\tenableClosedArrowDownOpen = false,\n\t\t\tsuppressClosedArrowUp = false\n\t\t}: HandleTriggerKeyDownOptions) => {\n\t\t\tif (!open && suppressClosedArrowUp && event.key === \"ArrowUp\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (!open && enableClosedArrowDownOpen && event.key === \"ArrowDown\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\ttoggleTrigger();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (event.key === \"Enter\") {\n\t\t\t\tevent.preventDefault();\n\n\t\t\t\tif (open) {\n\t\t\t\t\tonActivateWhenOpen?.();\n\t\t\t\t} else {\n\t\t\t\t\ttoggleTrigger();\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (enableSpaceActivation && event.key === \" \") {\n\t\t\t\tevent.preventDefault();\n\n\t\t\t\tif (open) {\n\t\t\t\t\tonActivateWhenOpen?.();\n\t\t\t\t} else {\n\t\t\t\t\ttoggleTrigger();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\ttoggleTrigger\n\t};\n}\n"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import { t as e } from "./floating-arrow-DPKwJfww.js";
2
2
  import { cloneElement as t, createContext as n, useCallback as r, useContext as i, useEffect as a, useLayoutEffect as o, useRef as s, useState as c } from "react";
3
3
  import { cn as l } from "@ryuzaki13/react-foundation-lib/utils";
4
- import { Fragment as u, jsx as d, jsxs as f } from "react/jsx-runtime";
5
- import { FloatingPortal as p, arrow as m, autoUpdate as h, flip as g, offset as _, shift as v, useDismiss as y, useFloating as b, useHover as x, useInteractions as S, useRole as C } from "@floating-ui/react";
6
- import { useClickOutside as w, useEscapeDismiss as T, useOverlayFocus as E } from "@ryuzaki13/react-foundation-lib/dom";
4
+ import { FloatingPortal as u, arrow as d, autoUpdate as f, flip as p, offset as m, shift as h, useDismiss as g, useFloating as _, useHover as v, useInteractions as y, useRole as b } from "@floating-ui/react";
5
+ import { useClickOutside as x, useEscapeDismiss as S, useOverlayFocus as C } from "@ryuzaki13/react-foundation-lib/dom";
6
+ import { Fragment as w, jsx as T, jsxs as E } from "react/jsx-runtime";
7
7
  import { createMissingContextError as D } from "@ryuzaki13/react-foundation-lib/error";
8
8
  import { createPortal as O } from "react-dom";
9
9
  var k = {
@@ -22,45 +22,45 @@ function j() {
22
22
  //#endregion
23
23
  //#region src/popover/components/PopoverContent.tsx
24
24
  var M = ({ children: t, onClose: n, closeOnOutside: i = !0, closeOnEscape: a = !0, disableOutsideClick: o = !1, background: c = "secondary" }) => {
25
- let { open: u, setOpen: m, refs: h, floatingStyles: g, middlewareData: _, placement: v, arrowRef: y } = j(), b = s(null), x = r((e) => {
26
- b.current = e, h.setFloating(e);
27
- }, [h]), S = E({
28
- active: u,
25
+ let { open: d, setOpen: f, refs: p, floatingStyles: m, middlewareData: h, placement: g, arrowRef: _ } = j(), v = s(null), y = r((e) => {
26
+ v.current = e, p.setFloating(e);
27
+ }, [p]), b = C({
28
+ active: d,
29
29
  initialFocus: "container",
30
30
  restoreFocus: !0,
31
- containerRef: b
32
- }), C = r(() => {
33
- u && (m(!1), n?.());
31
+ containerRef: v
32
+ }), w = r(() => {
33
+ d && (f(!1), n?.());
34
34
  }, [
35
- m,
35
+ f,
36
36
  n,
37
- u
37
+ d
38
38
  ]);
39
- T({
40
- active: u,
39
+ S({
40
+ active: d,
41
41
  enabled: a,
42
- onDismiss: C,
43
- containerRef: S
42
+ onDismiss: w,
43
+ containerRef: b
44
44
  });
45
45
  let D = r(() => {
46
- !u || o || i && C();
46
+ !d || o || i && w();
47
47
  }, [
48
- u,
48
+ d,
49
49
  o,
50
50
  i,
51
- C
51
+ w
52
52
  ]);
53
- return w([h.floating, h.reference], D), u ? /* @__PURE__ */ d(p, { children: /* @__PURE__ */ f("div", {
54
- ref: x,
55
- style: g,
53
+ return x([p.floating, p.reference], D), d ? /* @__PURE__ */ T(u, { children: /* @__PURE__ */ E("div", {
54
+ ref: y,
55
+ style: m,
56
56
  className: l(k.popover, k[c]),
57
57
  role: "dialog",
58
58
  "aria-modal": "true",
59
59
  tabIndex: -1,
60
- children: [typeof t == "function" ? t({ setClose: C }) : t, /* @__PURE__ */ d(e, {
61
- ref: y,
62
- placement: v,
63
- middlewareData: _
60
+ children: [typeof t == "function" ? t({ setClose: w }) : t, /* @__PURE__ */ T(e, {
61
+ ref: _,
62
+ placement: g,
63
+ middlewareData: h
64
64
  })]
65
65
  }) }) : null;
66
66
  }, N = ({ passive: e, children: n }) => {
@@ -77,33 +77,33 @@ var M = ({ children: t, onClose: n, closeOnOutside: i = !0, closeOnEscape: a = !
77
77
  onClick: s
78
78
  });
79
79
  }, P = Object.assign(({ children: e, open: t, defaultOpen: n, onOpenChange: i, placement: a = "bottom" }) => {
80
- let [o, l] = c(n ?? !1), u = t !== void 0, f = u ? t : o, p = r((e) => {
81
- let t = typeof e == "function" ? e(f) : e;
80
+ let [o, l] = c(n ?? !1), u = t !== void 0, g = u ? t : o, v = r((e) => {
81
+ let t = typeof e == "function" ? e(g) : e;
82
82
  u || l(t), i?.(t);
83
83
  }, [
84
84
  u,
85
85
  i,
86
- f
87
- ]), y = s(null), { refs: x, floatingStyles: S, middlewareData: C, placement: w } = b({
88
- open: f,
89
- onOpenChange: p,
86
+ g
87
+ ]), y = s(null), { refs: b, floatingStyles: x, middlewareData: S, placement: C } = _({
88
+ open: g,
89
+ onOpenChange: v,
90
90
  placement: a,
91
91
  middleware: [
92
- _(8),
93
- g(),
94
- v({ padding: 16 }),
95
- m({ element: y.current })
92
+ m(8),
93
+ p(),
94
+ h({ padding: 16 }),
95
+ d({ element: y.current })
96
96
  ],
97
- whileElementsMounted: h
97
+ whileElementsMounted: f
98
98
  });
99
- return /* @__PURE__ */ d(A.Provider, {
99
+ return /* @__PURE__ */ T(A.Provider, {
100
100
  value: {
101
- open: f,
102
- setOpen: p,
103
- refs: x,
104
- floatingStyles: S,
105
- placement: w,
106
- middlewareData: C,
101
+ open: g,
102
+ setOpen: v,
103
+ refs: b,
104
+ floatingStyles: x,
105
+ placement: C,
106
+ middlewareData: S,
107
107
  arrowRef: y
108
108
  },
109
109
  children: e
@@ -119,14 +119,14 @@ var M = ({ children: t, onClose: n, closeOnOutside: i = !0, closeOnEscape: a = !
119
119
  error: "bpGNoX",
120
120
  warning: "tYnRg-",
121
121
  success: "_8lflEh"
122
- }, I = ({ content: t, children: n, openOnHover: r = !0, placement: i = "bottom", openDelay: a = 200, closeDelay: p = 100, maxWidth: w, state: T, tooltip: E, positionUpdateKey: D }) => {
123
- let [k, A] = c(!1), j = s(null), { refs: M, floatingStyles: N, middlewareData: P, context: I, placement: L, update: R } = b({
122
+ }, I = ({ content: t, children: n, openOnHover: r = !0, placement: i = "bottom", openDelay: a = 200, closeDelay: u = 100, maxWidth: x, state: S, tooltip: C, positionUpdateKey: D }) => {
123
+ let [k, A] = c(!1), j = s(null), { refs: M, floatingStyles: N, middlewareData: P, context: I, placement: L, update: R } = _({
124
124
  open: k,
125
125
  onOpenChange: A,
126
126
  placement: i,
127
127
  middleware: [
128
- _(8),
129
- g({
128
+ m(8),
129
+ p({
130
130
  fallbackAxisSideDirection: "end",
131
131
  fallbackPlacements: [
132
132
  "top",
@@ -134,13 +134,13 @@ var M = ({ children: t, onClose: n, closeOnOutside: i = !0, closeOnEscape: a = !
134
134
  "bottom"
135
135
  ]
136
136
  }),
137
- v({ padding: 16 }),
138
- m({
137
+ h({ padding: 16 }),
138
+ d({
139
139
  element: j,
140
140
  padding: 8
141
141
  })
142
142
  ],
143
- whileElementsMounted: h
143
+ whileElementsMounted: f
144
144
  });
145
145
  o(() => {
146
146
  k && R();
@@ -149,48 +149,48 @@ var M = ({ children: t, onClose: n, closeOnOutside: i = !0, closeOnEscape: a = !
149
149
  D,
150
150
  R
151
151
  ]);
152
- let z = x(I, {
152
+ let z = v(I, {
153
153
  enabled: r,
154
154
  move: !1,
155
155
  delay: {
156
156
  open: a,
157
- close: p
157
+ close: u
158
158
  }
159
- }), B = y(I), V = C(I), { getReferenceProps: H, getFloatingProps: U } = S([
159
+ }), B = g(I), V = b(I), { getReferenceProps: H, getFloatingProps: U } = y([
160
160
  z,
161
161
  B,
162
162
  V
163
163
  ]);
164
- return /* @__PURE__ */ f(u, { children: [/* @__PURE__ */ d("span", {
164
+ return /* @__PURE__ */ E(w, { children: [/* @__PURE__ */ T("span", {
165
165
  ref: M.setReference,
166
166
  ...H(),
167
167
  style: { lineHeight: 1 },
168
168
  children: n
169
- }), k && O(/* @__PURE__ */ f("div", {
169
+ }), k && O(/* @__PURE__ */ E("div", {
170
170
  ref: M.setFloating,
171
171
  style: {
172
172
  ...N,
173
173
  zIndex: "var(--z-tooltip)",
174
- maxWidth: w ? `${w}em` : void 0
174
+ maxWidth: x ? `${x}em` : void 0
175
175
  },
176
176
  ...U(),
177
177
  role: "tooltip",
178
- className: l(F.tooltipPanel, E && F.tooltip, T && F[T]),
179
- children: [t, /* @__PURE__ */ d(e, {
178
+ className: l(F.tooltipPanel, C && F.tooltip, S && F[S]),
179
+ children: [t, /* @__PURE__ */ T(e, {
180
180
  ref: j,
181
181
  placement: L,
182
182
  middlewareData: P
183
183
  })]
184
184
  }), document.body)] });
185
185
  }, L = ({ x: t, y: n, children: r }) => {
186
- let i = s(null), { refs: o, floatingStyles: c, middlewareData: l, placement: u } = b({
186
+ let i = s(null), { refs: o, floatingStyles: c, middlewareData: l, placement: u } = _({
187
187
  strategy: "absolute",
188
188
  placement: "top",
189
189
  middleware: [
190
- _(6),
191
- g(),
192
- v({ padding: 16 }),
193
- m({ element: i })
190
+ m(6),
191
+ p(),
192
+ h({ padding: 16 }),
193
+ d({ element: i })
194
194
  ]
195
195
  });
196
196
  return a(() => {
@@ -209,7 +209,7 @@ var M = ({ children: t, onClose: n, closeOnOutside: i = !0, closeOnEscape: a = !
209
209
  t,
210
210
  n,
211
211
  o
212
- ]), /* @__PURE__ */ f("div", {
212
+ ]), /* @__PURE__ */ E("div", {
213
213
  ref: o.setFloating,
214
214
  style: {
215
215
  ...c,
@@ -217,7 +217,7 @@ var M = ({ children: t, onClose: n, closeOnOutside: i = !0, closeOnEscape: a = !
217
217
  pointerEvents: "none"
218
218
  },
219
219
  className: F.tooltip,
220
- children: [r, /* @__PURE__ */ d(e, {
220
+ children: [r, /* @__PURE__ */ T(e, {
221
221
  ref: i,
222
222
  placement: u,
223
223
  middlewareData: l
@@ -227,4 +227,4 @@ var M = ({ children: t, onClose: n, closeOnOutside: i = !0, closeOnEscape: a = !
227
227
  //#endregion
228
228
  export { M as a, N as i, I as n, j as o, P as r, L as t };
229
229
 
230
- //# sourceMappingURL=popover-BTT7zSqx.js.map
230
+ //# sourceMappingURL=popover-IExDrsF6.js.map