@ryuzaki13/react-foundation-ui 1.8.11 → 1.8.13

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 (281) hide show
  1. package/dist/chunks/defaultRenderers-u_Vep6Pj.js.map +1 -1
  2. package/dist/chunks/multi-select-DtmRtX6v.js.map +1 -1
  3. package/dist/chunks/select-MN6zDPKM.js.map +1 -1
  4. package/dist/chunks/useODataSelectBase-DR4PrY1j.js.map +1 -1
  5. package/dist/multi-select/model/useODataMultiSelect.d.ts +1 -1
  6. package/dist/multi-select/model/useODataMultiSelect.d.ts.map +1 -1
  7. package/dist/multi-select/ui/MultiSelect.d.ts +1 -1
  8. package/dist/multi-select/ui/MultiSelect.d.ts.map +1 -1
  9. package/dist/multi-select/ui/SerializableMultiSelect.d.ts.map +1 -1
  10. package/dist/multi-select/ui/defaultRenderers.d.ts +1 -1
  11. package/dist/multi-select/ui/defaultRenderers.d.ts.map +1 -1
  12. package/dist/select/model/useODataSelect.d.ts +1 -1
  13. package/dist/select/model/useODataSelect.d.ts.map +1 -1
  14. package/dist/select/model/useODataSelectBase.d.ts +1 -1
  15. package/dist/select/model/useODataSelectBase.d.ts.map +1 -1
  16. package/dist/tree-select/index.js.map +1 -1
  17. package/dist/tree-select/model/buildODataTreeNodes.d.ts +1 -1
  18. package/dist/tree-select/model/buildODataTreeNodes.d.ts.map +1 -1
  19. package/package.json +3 -3
  20. package/storybook-static/assets/{Badge-BojMuOws.js → Badge-BFhBl7yM.js} +1 -1
  21. package/storybook-static/assets/{Badge.stories-C9gJRuIO.js → Badge.stories-BEu55X4s.js} +1 -1
  22. package/storybook-static/assets/{BadgeList-dNEWI7-O.js → BadgeList-mqmnGtRR.js} +1 -1
  23. package/storybook-static/assets/{Button-Bbt3JzIY.js → Button-CESdnWrO.js} +1 -1
  24. package/storybook-static/assets/{Button-CrTHXWYk.js → Button-_YPAu9sd.js} +1 -1
  25. package/storybook-static/assets/{Button.stories-BaYXOBeF.js → Button.stories-B0Y_T17B.js} +1 -1
  26. package/storybook-static/assets/{CalendarView-Dp0zus1o.js → CalendarView-DLuO2Ywz.js} +1 -1
  27. package/storybook-static/assets/{CheckBox-BiK9yWNt.js → CheckBox-CGiNmAPT.js} +1 -1
  28. package/storybook-static/assets/{CheckBox-UzYHaD6S.js → CheckBox-l0pbBm9z.js} +1 -1
  29. package/storybook-static/assets/{CheckBox.stories-C2BOiWZj.js → CheckBox.stories-ROPAnqh8.js} +1 -1
  30. package/storybook-static/assets/{Color-6AOWCN3U-C5S4wUlD.js → Color-6AOWCN3U-kPaRN0HS.js} +1 -1
  31. package/storybook-static/assets/{ContextMenu-D9EZxb7d.js → ContextMenu-Bob4DtRn.js} +1 -1
  32. package/storybook-static/assets/{ContextMenu-BWQln_tb.js → ContextMenu-DxfUAeJS.js} +1 -1
  33. package/storybook-static/assets/{ContextMenu.stories-U38zPh9_.js → ContextMenu.stories-DCJmWy5n.js} +1 -1
  34. package/storybook-static/assets/{CustomOptionButton-COIOrxQn.js → CustomOptionButton-DuEz9CXt.js} +1 -1
  35. package/storybook-static/assets/DateInput-BQ8SoeLE.js +1 -0
  36. package/storybook-static/assets/{DateInput-C-entb-r.js → DateInput-DmNLD4Dz.js} +1 -1
  37. package/storybook-static/assets/{DateInput.stories-NmUXQLDU.js → DateInput.stories-sTpYf7Ob.js} +1 -1
  38. package/storybook-static/assets/{DateRangePresetSelect-BM1L1KOo.js → DateRangePresetSelect-DRq4eJ2n.js} +1 -1
  39. package/storybook-static/assets/{DateRangePresetSelect-CAJzxaq0.js → DateRangePresetSelect-fgJfLaLO.js} +1 -1
  40. package/storybook-static/assets/{DateRangePresetSelect.stories-CC47XLnD.js → DateRangePresetSelect.stories-ib7Qh_BB.js} +1 -1
  41. package/storybook-static/assets/{Detail-CDluXtts.js → Detail-CJniLn1R.js} +1 -1
  42. package/storybook-static/assets/{Detail.stories-DjniLC4n.js → Detail.stories-BXjdNaL-.js} +1 -1
  43. package/storybook-static/assets/{Dialog-bzRSgGU7.js → Dialog-D6a_qzr3.js} +1 -1
  44. package/storybook-static/assets/{Dialog-bw6cHUsz.js → Dialog-DOYnnXlU.js} +1 -1
  45. package/storybook-static/assets/{Dialog.stories-C6Rs6s_p.js → Dialog.stories-B1cZLRK3.js} +1 -1
  46. package/storybook-static/assets/{Disclosure-DelA6FsQ.js → Disclosure-Chh5o_0s.js} +1 -1
  47. package/storybook-static/assets/{Disclosure.stories-D7yUinyb.js → Disclosure.stories-Cvdvf7V8.js} +1 -1
  48. package/storybook-static/assets/{DisclosureGroup-DbK7mU_Q.js → DisclosureGroup-CRnQOgVj.js} +1 -1
  49. package/storybook-static/assets/{DocsRenderer-JROSPFPF-v3z0zVN1.js → DocsRenderer-JROSPFPF-BBiErkeC.js} +1 -1
  50. package/storybook-static/assets/{DropZone-CI3NW4AC.js → DropZone-Bm5gqdi9.js} +1 -1
  51. package/storybook-static/assets/{DropZone-Cyy-ttEO.js → DropZone-C4L7JAlq.js} +1 -1
  52. package/storybook-static/assets/{DropZone.stories-S0HSpGTB.js → DropZone.stories-BhA9q8Qv.js} +1 -1
  53. package/storybook-static/assets/{DropdownMenu-Ct1bSZsE.js → DropdownMenu-DtZNSUHF.js} +1 -1
  54. package/storybook-static/assets/{ExpandableActionPanel-Oj3xlasj.js → ExpandableActionPanel-0ugXlJy_.js} +1 -1
  55. package/storybook-static/assets/{ExpandableActionPanel.stories-Ch7CLkpR.js → ExpandableActionPanel.stories-CLgMlA9k.js} +1 -1
  56. package/storybook-static/assets/{Flex-UiFm8Tkc.js → Flex-CJlia-8f.js} +1 -1
  57. package/storybook-static/assets/{Flex.stories-CaDiVlBD.js → Flex.stories-DCvfi1EY.js} +1 -1
  58. package/storybook-static/assets/{FloatingPopover-CTYV9W7T.js → FloatingPopover-CsnfPiwV.js} +1 -1
  59. package/storybook-static/assets/{FormattedTableCell-D-ysSR3p.js → FormattedTableCell-Dz5xWVYO.js} +1 -1
  60. package/storybook-static/assets/{Grid-CigBXPe2.js → Grid-C-KwTRAM.js} +1 -1
  61. package/storybook-static/assets/{Grid.stories-ay3z9DQZ.js → Grid.stories-CzbqknNR.js} +1 -1
  62. package/storybook-static/assets/{ImageCropper.stories-Dkce_ugb.js → ImageCropper.stories-DaE-gm-b.js} +1 -1
  63. package/storybook-static/assets/{ImageRenderer-C9_EmGBW.js → ImageRenderer-IsNCXCrZ.js} +1 -1
  64. package/storybook-static/assets/{ImageRenderer.stories-C7bXaNBI.js → ImageRenderer.stories-BbsjUEfJ.js} +1 -1
  65. package/storybook-static/assets/{ImageView.stories-D-ZzGlk8.js → ImageView.stories-DY0UITYz.js} +1 -1
  66. package/storybook-static/assets/{ImageViewer.stories-ItcRfxyy.js → ImageViewer.stories--9q9b9nv.js} +2 -2
  67. package/storybook-static/assets/{ImageViewerRuntime-eaupID36.js → ImageViewerRuntime-CNEH3XGN.js} +1 -1
  68. package/storybook-static/assets/{Input-op4j7Beh.js → Input-DLubbE7P.js} +1 -1
  69. package/storybook-static/assets/{Input-BUDNR96c.js → Input-Dw2JblYt.js} +1 -1
  70. package/storybook-static/assets/{Input.stories-DwulvJIg.js → Input.stories-DQeyDULG.js} +1 -1
  71. package/storybook-static/assets/{InputDateTime-B_cxOp6k.js → InputDateTime-BRzl8Vrt.js} +1 -1
  72. package/storybook-static/assets/{InputDateTime.stories-BueLF4HC.js → InputDateTime.stories-BJTj5v8J.js} +1 -1
  73. package/storybook-static/assets/{InputFile-DSg7sugm.js → InputFile-B8UroZji.js} +1 -1
  74. package/storybook-static/assets/{InputFile-C8z6TPc1.js → InputFile-DPftxjGw.js} +1 -1
  75. package/storybook-static/assets/{InputFile.stories-C6XSbIua.js → InputFile.stories-C7yyqHqc.js} +1 -1
  76. package/storybook-static/assets/{InputFiles-DoatLq3q.js → InputFiles-BQVXHVLy.js} +1 -1
  77. package/storybook-static/assets/{InputFiles-DeZ84Uu_.js → InputFiles-UD_9S7-N.js} +1 -1
  78. package/storybook-static/assets/{InputFiles.stories-BMbE8SJU.js → InputFiles.stories-DjjJS5pZ.js} +1 -1
  79. package/storybook-static/assets/{InputFilesList-CsfDDqaJ.js → InputFilesList-BNjijD3Y.js} +1 -1
  80. package/storybook-static/assets/{InputImage-yJSq98EH.js → InputImage-C-pHr-Sx.js} +1 -1
  81. package/storybook-static/assets/{InputImage-D_YnB2Tw.js → InputImage-DbcbqIhY.js} +1 -1
  82. package/storybook-static/assets/{InputImage.stories-nivUG307.js → InputImage.stories-D-TC9r9t.js} +1 -1
  83. package/storybook-static/assets/{InteractiveComponents-IPkC_Rkg.js → InteractiveComponents-DbhWgM9y.js} +1 -1
  84. package/storybook-static/assets/{InteractiveComponents.stories-D4VzVKZJ.js → InteractiveComponents.stories-B4mkVSea.js} +1 -1
  85. package/storybook-static/assets/{LayoutPicker-ZHkMi-LM.js → LayoutPicker-BoV_E3qt.js} +1 -1
  86. package/storybook-static/assets/{LayoutPicker-aMzPN5Do.js → LayoutPicker-w1EsRpYP.js} +1 -1
  87. package/storybook-static/assets/{LayoutPicker.stories-DAzpzxn5.js → LayoutPicker.stories--ChGnGxf.js} +1 -1
  88. package/storybook-static/assets/{Listbox-CR5nXC9J.js → Listbox-CzZRsr6a.js} +1 -1
  89. package/storybook-static/assets/{Listbox-BmfQOnrb.js → Listbox-qZdTi11b.js} +1 -1
  90. package/storybook-static/assets/{Listbox.stories-CeOpsKxB.js → Listbox.stories-C9k_1850.js} +1 -1
  91. package/storybook-static/assets/{Modal-BStp52Zo.js → Modal-DCpul8QM.js} +1 -1
  92. package/storybook-static/assets/{Modal.stories-CwGm5GYE.js → Modal.stories-Cy0Xd4LF.js} +1 -1
  93. package/storybook-static/assets/{ModalManagerProvider-B5uUXWF9.js → ModalManagerProvider-BrPVMcHV.js} +1 -1
  94. package/storybook-static/assets/{MultiSelect-308npb27.js → MultiSelect-BEQdl-F4.js} +1 -1
  95. package/storybook-static/assets/{MultiSelect-BDs02MZh.js → MultiSelect-Dy4X94E2.js} +1 -1
  96. package/storybook-static/assets/{MultiSelect.stories-DRi_iTp4.js → MultiSelect.stories-FuzejJmz.js} +1 -1
  97. package/storybook-static/assets/{NoData-ovaQEE9W.js → NoData-BsQ9EfkA.js} +1 -1
  98. package/storybook-static/assets/{NotificationsHost-BpeMWhLY.js → NotificationsHost-BSrODvw7.js} +1 -1
  99. package/storybook-static/assets/NotificationsHost.stories-DeiWspcY.js +29 -0
  100. package/storybook-static/assets/{ODataMultiSelect-qlft9L9L.js → ODataMultiSelect-BEz9gcd2.js} +1 -1
  101. package/storybook-static/assets/{ODataMultiSelect.stories-CMPIoPiy.js → ODataMultiSelect.stories-BwMgAkbE.js} +2 -2
  102. package/storybook-static/assets/{ODataSelect-DKBQArAK.js → ODataSelect-BgC7GHOv.js} +1 -1
  103. package/storybook-static/assets/{ODataSelect.stories-DxYIhtwe.js → ODataSelect.stories-DEIRAB-s.js} +2 -2
  104. package/storybook-static/assets/{ODataTreeMultiSelect-DAt6THP3.js → ODataTreeMultiSelect-WyZZuX0_.js} +1 -1
  105. package/storybook-static/assets/{ODataTreeMultiSelect.stories-CBNJP0mP.js → ODataTreeMultiSelect.stories-B6cxuagy.js} +1 -1
  106. package/storybook-static/assets/{ODataTreeSelect-Bzzt4CQC.js → ODataTreeSelect-OJGi3-S7.js} +1 -1
  107. package/storybook-static/assets/{ODataTreeSelect.stories-CWVvuqOt.js → ODataTreeSelect.stories-wGRGErCH.js} +1 -1
  108. package/storybook-static/assets/{OneStepScroller-BY5lz8qi.js → OneStepScroller-DycQ3RuL.js} +1 -1
  109. package/storybook-static/assets/{Option-Rw8xwrPg.js → Option-taxbFfjo.js} +1 -1
  110. package/storybook-static/assets/{OptionButton-Br48w_Zg.js → OptionButton-Q0QaPCII.js} +1 -1
  111. package/storybook-static/assets/{PeriodSelect-8-wpXz6w.js → PeriodSelect-DUJ2nF3F.js} +1 -1
  112. package/storybook-static/assets/{PeriodSelect-DxSRwKw-.js → PeriodSelect-DnM7x-uC.js} +1 -1
  113. package/storybook-static/assets/{PeriodSelect.stories-B-qgUzlS.js → PeriodSelect.stories-Db0bqe3J.js} +1 -1
  114. package/storybook-static/assets/{PickerTriggerActions-C5xmysFh.js → PickerTriggerActions-CGJd7xmR.js} +1 -1
  115. package/storybook-static/assets/{Popover-NJwt_vZZ.js → Popover-B6oidz5p.js} +1 -1
  116. package/storybook-static/assets/{Popover-Ds8PUigp.js → Popover-Tbhf8T81.js} +1 -1
  117. package/storybook-static/assets/{Popover.stories-CUOFA_Xf.js → Popover.stories-DE1LxZvv.js} +1 -1
  118. package/storybook-static/assets/{PresetRangeDateInput-DyOpbkON.js → PresetRangeDateInput-CQ5FfmrL.js} +1 -1
  119. package/storybook-static/assets/{PresetRangeDateInput-Xk0bOy3S.js → PresetRangeDateInput-DfgoR0My.js} +1 -1
  120. package/storybook-static/assets/{PresetRangeDateInput.stories-CwjUlXj0.js → PresetRangeDateInput.stories-CgoYAYBG.js} +1 -1
  121. package/storybook-static/assets/{PresetSelect-Ddmr0niY.js → PresetSelect-BPtAknAr.js} +1 -1
  122. package/storybook-static/assets/README--TpGcM95.js +110 -0
  123. package/storybook-static/assets/{README-MzcO5Z_P.js → README-4iBHWAP5.js} +1 -1
  124. package/storybook-static/assets/README-98KIgy5G.js +75 -0
  125. package/storybook-static/assets/README-B6II8p0W.js +154 -0
  126. package/storybook-static/assets/{README-CkWglKbS.js → README-B6vU5_7I.js} +1 -1
  127. package/storybook-static/assets/README-BFJVjjZR.js +325 -0
  128. package/storybook-static/assets/README-BIT4HlFP.js +441 -0
  129. package/storybook-static/assets/{README-DqQDgJN-.js → README-BK6Epio1.js} +1 -1
  130. package/storybook-static/assets/{README-DRnlD7y8.js → README-BRlPB5_k.js} +1 -1
  131. package/storybook-static/assets/README-BTFpEaXG.js +64 -0
  132. package/storybook-static/assets/README-BWhXgC_o.js +226 -0
  133. package/storybook-static/assets/README-BbNHvOoR.js +101 -0
  134. package/storybook-static/assets/README-BbunUo8b.js +118 -0
  135. package/storybook-static/assets/README-BmYpfZKr.js +1844 -0
  136. package/storybook-static/assets/README-Bu5uvhAT.js +230 -0
  137. package/storybook-static/assets/README-Bx6fvSBE.js +1282 -0
  138. package/storybook-static/assets/README-Bx6gIGiA.js +69 -0
  139. package/storybook-static/assets/README-ByhxsX44.js +324 -0
  140. package/storybook-static/assets/README-Byi1FFpw.js +98 -0
  141. package/storybook-static/assets/README-C3Is3a3B.js +208 -0
  142. package/storybook-static/assets/{README-C0BwTe5N.js → README-C6prwAXw.js} +1 -1
  143. package/storybook-static/assets/{README-BzVni2ve.js → README-C9S83J_G.js} +1 -1
  144. package/storybook-static/assets/{README-BHw6MVjD.js → README-CGgxP5Zo.js} +1 -1
  145. package/storybook-static/assets/README-CJ2ZVG2U.js +2124 -0
  146. package/storybook-static/assets/README-CNGCAm5d.js +95 -0
  147. package/storybook-static/assets/README-Cb_q420B.js +90 -0
  148. package/storybook-static/assets/README-CtIDPNJ3.js +186 -0
  149. package/storybook-static/assets/README-CzO3Dchr.js +64 -0
  150. package/storybook-static/assets/README-D0rzQthv.js +264 -0
  151. package/storybook-static/assets/README-DEQu7djz.js +1704 -0
  152. package/storybook-static/assets/README-DFihT_sm.js +296 -0
  153. package/storybook-static/assets/{README-CTIBG4zH.js → README-DMiWsyv_.js} +1 -1
  154. package/storybook-static/assets/README-DOx8lXXk.js +82 -0
  155. package/storybook-static/assets/{README-DzTc6XmY.js → README-DPhDjr43.js} +1 -1
  156. package/storybook-static/assets/{README-Dki94Nf2.js → README-D_NqWPa9.js} +1 -1
  157. package/storybook-static/assets/README-DhJ5Rb1w.js +355 -0
  158. package/storybook-static/assets/README-DlwhWCvQ.js +1146 -0
  159. package/storybook-static/assets/README-Dxi73a2Q.js +740 -0
  160. package/storybook-static/assets/README-Dycov6NP.js +583 -0
  161. package/storybook-static/assets/README-GTBkSG4_.js +3591 -0
  162. package/storybook-static/assets/README-Gfd9tLTw.js +672 -0
  163. package/storybook-static/assets/{README-B4zYJg6u.js → README-Kfawetke.js} +1 -1
  164. package/storybook-static/assets/{README-BzVHwvgo.js → README-UDBM7ZMT.js} +1 -1
  165. package/storybook-static/assets/{README-D-XjRtAE.js → README-VTWQxLm_.js} +1 -1
  166. package/storybook-static/assets/README-YHNWrTZv.js +400 -0
  167. package/storybook-static/assets/README-_0Otw0eD.js +448 -0
  168. package/storybook-static/assets/README-aw2Xu9xu.js +158 -0
  169. package/storybook-static/assets/README-eg1emlll.js +192 -0
  170. package/storybook-static/assets/README-iqQHdhZ4.js +416 -0
  171. package/storybook-static/assets/{README-BdPlV5nA.js → README-llxZAtCj.js} +1 -1
  172. package/storybook-static/assets/README-wFnEIGl4.js +95 -0
  173. package/storybook-static/assets/{README-Dx3cpFMr.js → README-webB1yH0.js} +1 -1
  174. package/storybook-static/assets/README-wtreGRCe.js +208 -0
  175. package/storybook-static/assets/{RadioButton-DWbkCY8u.js → RadioButton-CNOLDk_o.js} +1 -1
  176. package/storybook-static/assets/{RadioButton-oSvQ-gQh.js → RadioButton-Ce05_q7s.js} +1 -1
  177. package/storybook-static/assets/{RadioButton.stories-GNQ9XJZT.js → RadioButton.stories-CPd4lTl0.js} +1 -1
  178. package/storybook-static/assets/{RadioGroup-CvXjGXcV.js → RadioGroup-BtfD5Szd.js} +1 -1
  179. package/storybook-static/assets/{RadioGroup-eBYggurL.js → RadioGroup-Ccm7G-dv.js} +1 -1
  180. package/storybook-static/assets/{RadioGroup.stories-C77j_cPv.js → RadioGroup.stories-D-RRPHwi.js} +1 -1
  181. package/storybook-static/assets/{Scrollable-De6SdhI3.js → Scrollable-DvdBIeig.js} +1 -1
  182. package/storybook-static/assets/{Select-DQMoVjn4.js → Select-8PV9PBKF.js} +1 -1
  183. package/storybook-static/assets/{Select-Bwc0bEpt.js → Select-G04B41FM.js} +1 -1
  184. package/storybook-static/assets/{Select.stories-BSIJKJnM.js → Select.stories-Cf6CBhV8.js} +1 -1
  185. package/storybook-static/assets/{SerializableSelect-B73irNFR.js → SerializableSelect-CdQdHIVp.js} +1 -1
  186. package/storybook-static/assets/{SerializableSelect.stories-Z9q6g5v2.js → SerializableSelect.stories-0AKUGpbS.js} +1 -1
  187. package/storybook-static/assets/{SingleDateTimeInput-Dq9LcjnS.js → SingleDateTimeInput-DWT1ORhL.js} +1 -1
  188. package/storybook-static/assets/{SingleDateTimeInput-BHl6srqA.js → SingleDateTimeInput-DattLt6w.js} +1 -1
  189. package/storybook-static/assets/SingleDateTimeInput.stories-BLJV3jzV.js +48 -0
  190. package/storybook-static/assets/{Slider-CvM0N_kc.js → Slider-DKEI4cDd.js} +1 -1
  191. package/storybook-static/assets/{Slider-BiyKexKa.js → Slider-Dci-mJt_.js} +1 -1
  192. package/storybook-static/assets/{Slider.stories-CdHAMDmY.js → Slider.stories-Dp7oQueF.js} +1 -1
  193. package/storybook-static/assets/{SliderInput-DqHotbhB.js → SliderInput-BGPQmlgY.js} +1 -1
  194. package/storybook-static/assets/{SliderInput-Bx_oHUCV.js → SliderInput-BhjqGOKt.js} +1 -1
  195. package/storybook-static/assets/{SliderInput.stories-R5yDhghM.js → SliderInput.stories-DXNhRU3X.js} +1 -1
  196. package/storybook-static/assets/{Sortable-D7pjTHO0.js → Sortable-CMd9l1Gd.js} +1 -1
  197. package/storybook-static/assets/{Sortable.stories-CVLG6pSH.js → Sortable.stories-BN1cFEFJ.js} +1 -1
  198. package/storybook-static/assets/{Splitter-B1Du6XI2.js → Splitter-GL65TlI9.js} +1 -1
  199. package/storybook-static/assets/{Splitter.stories-D-FRLMCc.js → Splitter.stories-q5PlI6rB.js} +1 -1
  200. package/storybook-static/assets/{StateSelect-zl-yZibY.js → StateSelect-Byik5-iZ.js} +1 -1
  201. package/storybook-static/assets/{StateSelect-BJdUEUBc.js → StateSelect-CT0JF2V6.js} +1 -1
  202. package/storybook-static/assets/{StateSelect.stories-DgidR5zR.js → StateSelect.stories-pPEPmgnN.js} +1 -1
  203. package/storybook-static/assets/{StringToggle.stories-IucGrtIi.js → StringToggle.stories-BQlFmCE7.js} +1 -1
  204. package/storybook-static/assets/{Switch-BJrn2lIN.js → Switch--xGPiYk-.js} +1 -1
  205. package/storybook-static/assets/{Switch-5dCshvVo.js → Switch-DhaLI9CG.js} +1 -1
  206. package/storybook-static/assets/{Switch.stories-Dp_l3_JL.js → Switch.stories-5DisgIyj.js} +1 -1
  207. package/storybook-static/assets/{Table-BFAEcUde.js → Table-Bf6MicdG.js} +1 -1
  208. package/storybook-static/assets/{Table.stories-CohejRQv.js → Table.stories-CS7rQgj9.js} +2 -2
  209. package/storybook-static/assets/{Tabs-CI32QiHf.js → Tabs-B4y4y8Ap.js} +1 -1
  210. package/storybook-static/assets/{Tabs.stories-Cr9d9ipA.js → Tabs.stories-C0SpdGkh.js} +1 -1
  211. package/storybook-static/assets/{TabsBox-BlDOUDMF.js → TabsBox-C5LLLhnj.js} +1 -1
  212. package/storybook-static/assets/{TagInput-YZ7eSv8W.js → TagInput-D4BpuCoH.js} +1 -1
  213. package/storybook-static/assets/{TagInput.stories-DrOvsiI5.js → TagInput.stories-rn2wtZP_.js} +1 -1
  214. package/storybook-static/assets/{Text-DK4jN26J.js → Text-BhBt9e7C.js} +1 -1
  215. package/storybook-static/assets/{Textarea-CFh5f_lC.js → Textarea-B-Hz7ujq.js} +1 -1
  216. package/storybook-static/assets/{Textarea-DxPuWBZj.js → Textarea-BHHxY5sd.js} +1 -1
  217. package/storybook-static/assets/{Textarea.stories-CUeOGKYc.js → Textarea.stories-CZ2kWz20.js} +1 -1
  218. package/storybook-static/assets/{TimePanel-BUhFtwlb.js → TimePanel-Cg8fgFsn.js} +1 -1
  219. package/storybook-static/assets/{TimePanel.stories-CpXpMBDN.js → TimePanel.stories-BxdwtK2e.js} +1 -1
  220. package/storybook-static/assets/{Toggle-l2AvDbRn.js → Toggle-BWwfk9fi.js} +1 -1
  221. package/storybook-static/assets/{Toggle-BtApzBNH.js → Toggle-Ce9rbjBc.js} +1 -1
  222. package/storybook-static/assets/{Toggle.stories-Ca8otmAa.js → Toggle.stories-0fzcmzKy.js} +1 -1
  223. package/storybook-static/assets/{TreeMultiSelect-C9QDV63L.js → TreeMultiSelect-B06Y0lIc.js} +1 -1
  224. package/storybook-static/assets/{TreeMultiSelect-nXC4ZB5b.js → TreeMultiSelect-CrAdR_jM.js} +1 -1
  225. package/storybook-static/assets/{TreeMultiSelect.stories-6STRGJbF.js → TreeMultiSelect.stories-CAVoj56E.js} +1 -1
  226. package/storybook-static/assets/{TreePickerBase-Cq7fSw3x.js → TreePickerBase-qU2xPlar.js} +1 -1
  227. package/storybook-static/assets/{TreeSelect-CITef9rp.js → TreeSelect-BIHydJFy.js} +1 -1
  228. package/storybook-static/assets/{TreeSelect-rMNyu_KT.js → TreeSelect-BKnWu0C7.js} +1 -1
  229. package/storybook-static/assets/{TreeSelect.stories-B-Emz9yW.js → TreeSelect.stories-Dp_8ybAf.js} +1 -1
  230. package/storybook-static/assets/{TreeTable-CLiP0td3.js → TreeTable-pVXjU9dG.js} +1 -1
  231. package/storybook-static/assets/{TreeTable.stories-DJb9qt8k.js → TreeTable.stories-CV_8Ui6R.js} +2 -2
  232. package/storybook-static/assets/{blocks-DndFRxxW.js → blocks-BY40djCc.js} +3 -3
  233. package/storybook-static/assets/{check-CLkTJVXe.js → check-CVkPTDzp.js} +1 -1
  234. package/storybook-static/assets/{chevron-down-miCejSEn.js → chevron-down-BtNO4Vhe.js} +1 -1
  235. package/storybook-static/assets/{chevron-left-DhQIPej2.js → chevron-left-kceSK3sZ.js} +1 -1
  236. package/storybook-static/assets/{chevron-right-DfBBx-fr.js → chevron-right-BA_LO2El.js} +1 -1
  237. package/storybook-static/assets/{chunk-W22LQPXL-IdwKKJUw.js → chunk-W22LQPXL-yJiFPv6e.js} +1 -1
  238. package/storybook-static/assets/{circle-alert-DOmVf8am.js → circle-alert-B2m4a1zz.js} +1 -1
  239. package/storybook-static/assets/{circle-check-e7eSQ2VD.js → circle-check-Cfjhotlm.js} +1 -1
  240. package/storybook-static/assets/{components-Bm4Cw8Ap.js → components-D6yV8PLX.js} +3 -3
  241. package/storybook-static/assets/{contextMenu-DpIKeJju.js → contextMenu-B0pQBIW0.js} +1 -1
  242. package/storybook-static/assets/{defaultRenderers-m21aWJXz.js → defaultRenderers-DfmnIuod.js} +1 -1
  243. package/storybook-static/assets/{download-eAKjms6q.js → download-Lba8elK9.js} +1 -1
  244. package/storybook-static/assets/{floating-ui.react-DmilONq6.js → floating-ui.react-BFNvfMpU.js} +1 -1
  245. package/storybook-static/assets/formatters-D33Uh3si-CxrG0jsB.js +1 -0
  246. package/storybook-static/assets/foundationApi-DZhnQ2cC.js +59 -0
  247. package/storybook-static/assets/foundationLib-CoVTo22U.js +30 -0
  248. package/storybook-static/assets/{hooks-RI5_2AXI.js → hooks-Cc6eXN6U.js} +1 -1
  249. package/storybook-static/assets/iframe-BXM-JBuH.js +1 -0
  250. package/storybook-static/assets/{iframe-Sr0umHM6.js → iframe-o7sH2IXC.js} +4 -4
  251. package/storybook-static/assets/{info-DhJTzwcL.js → info-BpsVP_dM.js} +1 -1
  252. package/storybook-static/assets/odata-CXsbxsRY.js +1 -0
  253. package/storybook-static/assets/odata-service-CWkHASdw-DlmSiioz.js +3 -0
  254. package/storybook-static/assets/{odataStoryFixtures-lgnWIUp7.js → odataStoryFixtures-Dj_bzRqh.js} +1 -1
  255. package/storybook-static/assets/{react-YFbUKK0m.js → react-DeJ0JTHb.js} +1 -1
  256. package/storybook-static/assets/{refresh-cw-C7WnxX9M.js → refresh-cw-BvGyjEXe.js} +1 -1
  257. package/storybook-static/assets/{settings-2-0NVvyKQl.js → settings-2-BdXxnHos.js} +1 -1
  258. package/storybook-static/assets/{sortable-DDGG-Zfs.js → sortable-XkyN-9r5.js} +1 -1
  259. package/storybook-static/assets/{syntaxhighlighter-QEQV7K2Y-CxWm8nc8.js → syntaxhighlighter-QEQV7K2Y-Cafn3LV1.js} +1 -1
  260. package/storybook-static/assets/{trash-2-BnceCuhg.js → trash-2-uPH9-fND.js} +1 -1
  261. package/storybook-static/assets/{triangle-alert-MPi3GVgt.js → triangle-alert-tT01vSMw.js} +1 -1
  262. package/storybook-static/assets/{useODataSelectBase-hmjK6chS.js → useODataSelectBase-B2LlOwPZ.js} +1 -1
  263. package/storybook-static/assets/useODataTreeData-CU7Rqcb9.js +1 -0
  264. package/storybook-static/assets/{usePickerQuery-CtsGhieD.js → usePickerQuery-D8GHQ6KR.js} +1 -1
  265. package/storybook-static/assets/{usePickerTriggerController-EaI8W2G0.js → usePickerTriggerController-CcK1jmDy.js} +1 -1
  266. package/storybook-static/assets/{x-CqPSvWfo.js → x-BlAURbAH.js} +1 -1
  267. package/storybook-static/iframe.html +2 -2
  268. package/storybook-static/index.json +1 -1
  269. package/storybook-static/project.json +1 -1
  270. package/storybook-static/assets/DateInput-05Iy69_a.js +0 -1
  271. package/storybook-static/assets/NotificationsHost.stories-CgbFboVD.js +0 -29
  272. package/storybook-static/assets/SingleDateTimeInput.stories-C2RuBRAF.js +0 -48
  273. package/storybook-static/assets/async-SjiCjIjO.js +0 -625
  274. package/storybook-static/assets/formatters-CBgrBeSA-CqB1pZxS.js +0 -1
  275. package/storybook-static/assets/foundationLib-DRrox3tN.js +0 -25
  276. package/storybook-static/assets/iframe-DQo-3eW2.js +0 -1
  277. package/storybook-static/assets/odata-DhISMZkE.js +0 -1
  278. package/storybook-static/assets/odata-service-B6TxBSLm-Bq8Ya67E.js +0 -3
  279. package/storybook-static/assets/odataFetchFn-Dv6Xi5CI.js +0 -763
  280. package/storybook-static/assets/persisted-CUFiw53N.js +0 -600
  281. package/storybook-static/assets/useODataTreeData-CKuavbWc.js +0 -1
@@ -0,0 +1,192 @@
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-o7sH2IXC.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BY40djCc.js";function o(e){let t={code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,table:`table`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,...n(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i,{title:`Foundation Lib/HTTP/SEO`}),`
2
+ `,(0,c.jsx)(t.h1,{id:`seo`,children:`SEO`}),`
3
+ `,(0,c.jsxs)(t.p,{children:[`Модуль `,(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/seo`}),` собирает единый набор SEO-описаний страницы:`]}),`
4
+ `,(0,c.jsxs)(t.ul,{children:[`
5
+ `,(0,c.jsx)(t.li,{children:`title и обычные meta tags;`}),`
6
+ `,(0,c.jsx)(t.li,{children:`Open Graph;`}),`
7
+ `,(0,c.jsx)(t.li,{children:`Twitter Card;`}),`
8
+ `,(0,c.jsx)(t.li,{children:`canonical link;`}),`
9
+ `,(0,c.jsx)(t.li,{children:`JSON-LD по Schema.org.`}),`
10
+ `]}),`
11
+ `,(0,c.jsxs)(t.p,{children:[`Он не меняет `,(0,c.jsx)(t.code,{children:`document.head`}),` напрямую. Результат передаётся роутеру, SSR-фреймворку или собственному renderer head-тегов.`]}),`
12
+ `,(0,c.jsx)(t.h2,{id:`импорт`,children:`Импорт`}),`
13
+ `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`import { createRouteHead, createSeoHead, type SeoContentType, type SeoHeadOptions } from "@ryuzaki13/react-foundation-lib/seo";
14
+ `})}),`
15
+ `,(0,c.jsx)(t.p,{children:`Функции синхронные и не требуют DOM, поэтому подходят для server rendering.`}),`
16
+ `,(0,c.jsx)(t.h2,{id:`быстрый-старт`,children:`Быстрый старт`}),`
17
+ `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`const head = createSeoHead({
18
+ pathname: "/articles/odata-guide",
19
+ baseUrl: "https://example.ru",
20
+ caption: "Практический гайд по OData",
21
+ description: "Разбираем фильтры, сортировку и пагинацию OData.",
22
+ type: "Article",
23
+ keywords: ["OData", "TypeScript", "SAP"],
24
+ image: {
25
+ url: "/images/odata-guide.webp",
26
+ alt: "Схема OData-запроса",
27
+ width: 1200,
28
+ height: 630
29
+ },
30
+ publishedAt: "2026-08-01T10:00:00+05:00",
31
+ modifiedAt: "2026-08-20T12:30:00+05:00"
32
+ });
33
+ `})}),`
34
+ `,(0,c.jsx)(t.p,{children:`Результат имеет три массива:`}),`
35
+ `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`{
36
+ meta: (Record < string, string > []);
37
+ links: (Record < string, string > []);
38
+ scripts: Array<{
39
+ type: "application/ld+json";
40
+ children: string;
41
+ }>;
42
+ }
43
+ `})}),`
44
+ `,(0,c.jsx)(t.p,{children:`Форма совместима с распространённым route-head подходом, но конкретное подключение зависит от фреймворка.`}),`
45
+ `,(0,c.jsx)(t.h2,{id:`createseoheadoptions`,children:(0,c.jsx)(t.code,{children:`createSeoHead(options)`})}),`
46
+ `,(0,c.jsx)(t.h3,{id:`параметры`,children:`Параметры`}),`
47
+ `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`type SeoContentType = "WebSite" | "WebPage" | "Article" | "NewsArticle";
48
+
49
+ type SeoHeadOptions = {
50
+ pathname: string;
51
+ caption: string;
52
+ description: string;
53
+ type: SeoContentType;
54
+ baseUrl?: string;
55
+ keywords?: string[];
56
+ image?: {
57
+ url: string;
58
+ alt?: string | null;
59
+ width?: number | null;
60
+ height?: number | null;
61
+ };
62
+ publishedAt?: string;
63
+ modifiedAt?: string;
64
+ noIndex?: boolean;
65
+ };
66
+ `})}),`
67
+ `,(0,c.jsxs)(t.p,{children:[(0,c.jsx)(t.code,{children:`caption`}),` и `,(0,c.jsx)(t.code,{children:`description`}),` обязательны даже для пустой страницы. Библиотека не подставляет название сайта и не обрезает текст под лимиты поисковых систем.`]}),`
68
+ `,(0,c.jsx)(t.h3,{id:`canonical-url`,children:`Canonical URL`}),`
69
+ `,(0,c.jsxs)(t.p,{children:[`Если `,(0,c.jsx)(t.code,{children:`pathname`}),` уже абсолютный URL, он нормализуется через `,(0,c.jsx)(t.code,{children:`new URL()`}),`.`]}),`
70
+ `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`createSeoHead({
71
+ pathname: "https://example.ru/catalog",
72
+ // baseUrl не нужен
73
+ caption: "Каталог",
74
+ description: "Каталог товаров",
75
+ type: "WebPage"
76
+ });
77
+ `})}),`
78
+ `,(0,c.jsxs)(t.p,{children:[`Для относительного пути рекомендуется обязательно передавать абсолютный `,(0,c.jsx)(t.code,{children:`baseUrl`}),`:`]}),`
79
+ `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`pathname: "/catalog",
80
+ baseUrl: "https://example.ru",
81
+ // canonical: https://example.ru/catalog
82
+ `})}),`
83
+ `,(0,c.jsxs)(t.p,{children:[`Без `,(0,c.jsx)(t.code,{children:`baseUrl`}),` относительный путь сохраняется как есть. Это может быть приемлемо для некоторых head-renderer, но canonical URL по стандартной практике должен быть абсолютным.`]}),`
84
+ `,(0,c.jsxs)(t.p,{children:[`Неверный `,(0,c.jsx)(t.code,{children:`baseUrl`}),` вместе с относительным `,(0,c.jsx)(t.code,{children:`pathname`}),` приводит к исключению `,(0,c.jsx)(t.code,{children:`new URL`}),`. Проверяйте конфигурацию origin при старте приложения.`]}),`
85
+ `,(0,c.jsx)(t.h3,{id:`meta-tags`,children:`Meta tags`}),`
86
+ `,(0,c.jsx)(t.p,{children:`Всегда создаются:`}),`
87
+ `,(0,c.jsxs)(t.ul,{children:[`
88
+ `,(0,c.jsxs)(t.li,{children:[(0,c.jsx)(t.code,{children:`{ title: caption }`}),`;`]}),`
89
+ `,(0,c.jsx)(t.li,{children:`description;`}),`
90
+ `,(0,c.jsx)(t.li,{children:`robots;`}),`
91
+ `,(0,c.jsxs)(t.li,{children:[(0,c.jsx)(t.code,{children:`og:type`}),`, `,(0,c.jsx)(t.code,{children:`og:title`}),`, `,(0,c.jsx)(t.code,{children:`og:description`}),`, `,(0,c.jsx)(t.code,{children:`og:url`}),`, `,(0,c.jsx)(t.code,{children:`og:locale`}),`;`]}),`
92
+ `,(0,c.jsxs)(t.li,{children:[(0,c.jsx)(t.code,{children:`twitter:card`}),`, `,(0,c.jsx)(t.code,{children:`twitter:title`}),`, `,(0,c.jsx)(t.code,{children:`twitter:description`}),`.`]}),`
93
+ `]}),`
94
+ `,(0,c.jsxs)(t.p,{children:[(0,c.jsx)(t.code,{children:`Article`}),` и `,(0,c.jsx)(t.code,{children:`NewsArticle`}),` получают Open Graph type `,(0,c.jsx)(t.code,{children:`article`}),`. `,(0,c.jsx)(t.code,{children:`WebSite`}),` и `,(0,c.jsx)(t.code,{children:`WebPage`}),` получают `,(0,c.jsx)(t.code,{children:`website`}),`.`]}),`
95
+ `,(0,c.jsxs)(t.p,{children:[`Локаль фиксирована как `,(0,c.jsx)(t.code,{children:`ru_RU`}),` для Open Graph и `,(0,c.jsx)(t.code,{children:`ru-RU`}),` для JSON-LD.`]}),`
96
+ `,(0,c.jsxs)(t.p,{children:[`Если есть изображение, Twitter Card становится `,(0,c.jsx)(t.code,{children:`summary_large_image`}),`; без изображения — `,(0,c.jsx)(t.code,{children:`summary`}),`.`]}),`
97
+ `,(0,c.jsx)(t.h3,{id:`индексация`,children:`Индексация`}),`
98
+ `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`noIndex: true;
99
+ // robots: "noindex, nofollow"
100
+ `})}),`
101
+ `,(0,c.jsxs)(t.p,{children:[`По умолчанию используется `,(0,c.jsx)(t.code,{children:`index, follow`}),`. `,(0,c.jsx)(t.code,{children:`noIndex`}),` формирует meta-инструкцию, но не заменяет серверные заголовки, robots.txt, авторизацию и запрет выдачи приватных страниц.`]}),`
102
+ `,(0,c.jsx)(t.h3,{id:`keywords`,children:`Keywords`}),`
103
+ `,(0,c.jsxs)(t.p,{children:[`Непустой массив соединяется через `,(0,c.jsx)(t.code,{children:`", "`}),` и добавляется одновременно в обычный meta keywords и JSON-LD.`]}),`
104
+ `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`keywords: ["React", "TypeScript"];
105
+ // "React, TypeScript"
106
+ `})}),`
107
+ `,(0,c.jsx)(t.p,{children:`Пустые строки внутри массива не удаляются автоматически.`}),`
108
+ `,(0,c.jsx)(t.h3,{id:`изображение`,children:`Изображение`}),`
109
+ `,(0,c.jsxs)(t.p,{children:[`Относительный `,(0,c.jsx)(t.code,{children:`image.url`}),` преобразуется с тем же `,(0,c.jsx)(t.code,{children:`baseUrl`}),`. Создаются `,(0,c.jsx)(t.code,{children:`og:image`}),` и `,(0,c.jsx)(t.code,{children:`twitter:image`}),`; при наличии `,(0,c.jsx)(t.code,{children:`alt`}),` дополнительно создаётся `,(0,c.jsx)(t.code,{children:`og:image:alt`}),`.`]}),`
110
+ `,(0,c.jsxs)(t.p,{children:[`В JSON-LD формируется `,(0,c.jsx)(t.code,{children:`ImageObject`}),`. Неуказанные `,(0,c.jsx)(t.code,{children:`width`}),`, `,(0,c.jsx)(t.code,{children:`height`}),` и `,(0,c.jsx)(t.code,{children:`alt`}),` остаются `,(0,c.jsx)(t.code,{children:`undefined`}),` либо `,(0,c.jsx)(t.code,{children:`null`}),` согласно исходным данным и поведению `,(0,c.jsx)(t.code,{children:`JSON.stringify`}),`.`]}),`
111
+ `,(0,c.jsx)(t.h3,{id:`даты`,children:`Даты`}),`
112
+ `,(0,c.jsxs)(t.p,{children:[(0,c.jsx)(t.code,{children:`publishedAt`}),` и `,(0,c.jsx)(t.code,{children:`modifiedAt`}),` разбираются через стандартный `,(0,c.jsx)(t.code,{children:`Date`}),` и записываются в ISO UTC:`]}),`
113
+ `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`publishedAt: "2026-08-01T10:00:00+05:00";
114
+ // datePublished: "2026-08-01T05:00:00.000Z"
115
+ `})}),`
116
+ `,(0,c.jsx)(t.p,{children:`Пустая или неверная дата молча не добавляется. Для предсказуемости передавайте ISO 8601 со временной зоной.`}),`
117
+ `,(0,c.jsx)(t.h2,{id:`json-ld`,children:`JSON-LD`}),`
118
+ `,(0,c.jsx)(t.p,{children:`Каждый вызов создаёт один script descriptor:`}),`
119
+ `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`{
120
+ type: "application/ld+json",
121
+ children: JSON.stringify({
122
+ "@context": "https://schema.org",
123
+ "@type": type,
124
+ mainEntityOfPage: { "@type": "WebPage", "@id": canonicalUrl },
125
+ headline: caption,
126
+ description,
127
+ url: canonicalUrl,
128
+ inLanguage: "ru-RU",
129
+ }),
130
+ }
131
+ `})}),`
132
+ `,(0,c.jsxs)(t.p,{children:[`Библиотека возвращает строку, а не готовый React-элемент. Следуйте API head-renderer. Если вручную вставляете строку в HTML script, учитывайте XSS-границу: SEO-текст должен быть доверенным или безопасно экранированным renderer. Простого `,(0,c.jsx)(t.code,{children:`JSON.stringify`}),` недостаточно для произвольного пользовательского текста, содержащего последовательности вроде закрывающего `,(0,c.jsx)(t.code,{children:`script`}),`-тега.`]}),`
133
+ `,(0,c.jsx)(t.h2,{id:`createrouteheadtype-path-params`,children:(0,c.jsx)(t.code,{children:`createRouteHead(type, path, params)`})}),`
134
+ `,(0,c.jsx)(t.p,{children:`Упрощённый адаптер для данных route loader/CMS:`}),`
135
+ `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`type SeoHeadParams = {
136
+ caption: string;
137
+ description: string;
138
+ previewImage: string | null;
139
+ previewImageAlt: string | null;
140
+ created: string;
141
+ updated: string;
142
+ };
143
+ `})}),`
144
+ `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`const head = createRouteHead("NewsArticle", "/news/42", loaderData?.seo);
145
+ `})}),`
146
+ `,(0,c.jsx)(t.p,{children:`Адаптер:`}),`
147
+ `,(0,c.jsxs)(t.ul,{children:[`
148
+ `,(0,c.jsxs)(t.li,{children:[`передаёт `,(0,c.jsx)(t.code,{children:`path`}),` как `,(0,c.jsx)(t.code,{children:`pathname`}),`;`]}),`
149
+ `,(0,c.jsxs)(t.li,{children:[`при `,(0,c.jsx)(t.code,{children:`null`}),`/`,(0,c.jsx)(t.code,{children:`undefined`}),` params подставляет пустые `,(0,c.jsx)(t.code,{children:`caption`}),` и `,(0,c.jsx)(t.code,{children:`description`}),`;`]}),`
150
+ `,(0,c.jsxs)(t.li,{children:[`превращает `,(0,c.jsx)(t.code,{children:`previewImage`}),` в `,(0,c.jsx)(t.code,{children:`image`}),`;`]}),`
151
+ `,(0,c.jsxs)(t.li,{children:[`сопоставляет `,(0,c.jsx)(t.code,{children:`created`}),` с `,(0,c.jsx)(t.code,{children:`publishedAt`}),`, `,(0,c.jsx)(t.code,{children:`updated`}),` с `,(0,c.jsx)(t.code,{children:`modifiedAt`}),`;`]}),`
152
+ `,(0,c.jsxs)(t.li,{children:[`не передаёт `,(0,c.jsx)(t.code,{children:`baseUrl`}),`, keywords или `,(0,c.jsx)(t.code,{children:`noIndex`}),`.`]}),`
153
+ `]}),`
154
+ `,(0,c.jsxs)(t.p,{children:[`Поэтому URL результата останется относительным, если `,(0,c.jsx)(t.code,{children:`path`}),` относительный. Когда нужен абсолютный canonical, используйте полный `,(0,c.jsx)(t.code,{children:`createSeoHead`}),` либо передавайте абсолютный `,(0,c.jsx)(t.code,{children:`path`}),`.`]}),`
155
+ `,(0,c.jsx)(t.h2,{id:`пример-с-tanstack-router`,children:`Пример с TanStack Router`}),`
156
+ `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-tsx`,children:`export const Route = createFileRoute("/articles/$slug")({
157
+ loader: loadArticle,
158
+ head: ({ loaderData, params }) =>
159
+ createSeoHead({
160
+ pathname: \`/articles/\${params.slug}\`,
161
+ baseUrl: "https://example.ru",
162
+ caption: loaderData.title,
163
+ description: loaderData.description,
164
+ type: "Article",
165
+ image: loaderData.image ? { url: loaderData.image, alt: loaderData.title } : undefined
166
+ })
167
+ });
168
+ `})}),`
169
+ `,(0,c.jsxs)(t.p,{children:[`Проверьте точную форму `,(0,c.jsx)(t.code,{children:`head`}),` вашей версии роутера: библиотека возвращает структурные данные, но не связывается с router напрямую.`]}),`
170
+ `,(0,c.jsx)(t.h2,{id:`проверка-результата`,children:`Проверка результата`}),`
171
+ `,(0,c.jsx)(t.p,{children:`Для каждой важной страницы проверьте:`}),`
172
+ `,(0,c.jsxs)(t.ol,{children:[`
173
+ `,(0,c.jsx)(t.li,{children:`canonical абсолютный и соответствует публичному URL;`}),`
174
+ `,(0,c.jsx)(t.li,{children:`title и description не пусты;`}),`
175
+ `,(0,c.jsx)(t.li,{children:`Open Graph image доступно без авторизации;`}),`
176
+ `,(0,c.jsx)(t.li,{children:`JSON-LD проходит validator Schema.org/поисковой системы;`}),`
177
+ `,(0,c.jsx)(t.li,{children:`preview SSR HTML содержит теги до выполнения JavaScript;`}),`
178
+ `,(0,c.jsx)(t.li,{children:`приватные страницы имеют правильную политику индексации.`}),`
179
+ `]}),`
180
+ `,(0,c.jsx)(t.h2,{id:`частые-ошибки`,children:`Частые ошибки`}),`
181
+ `,(0,c.jsxs)(t.h3,{id:`передавать-относительный-путь-без-baseurl`,children:[`Передавать относительный путь без `,(0,c.jsx)(t.code,{children:`baseUrl`})]}),`
182
+ `,(0,c.jsx)(t.p,{children:`Функция не знает публичный origin приложения и оставит URL относительным.`}),`
183
+ `,(0,c.jsxs)(t.h3,{id:`считать-createroutehead-полным-аналогом-createseohead`,children:[`Считать `,(0,c.jsx)(t.code,{children:`createRouteHead`}),` полным аналогом `,(0,c.jsx)(t.code,{children:`createSeoHead`})]}),`
184
+ `,(0,c.jsxs)(t.p,{children:[`Адаптер специально узкий и не принимает base URL, keywords, размеры image и `,(0,c.jsx)(t.code,{children:`noIndex`}),`.`]}),`
185
+ `,(0,c.jsx)(t.h3,{id:`передавать-локальную-дату-без-timezone`,children:`Передавать локальную дату без timezone`}),`
186
+ `,(0,c.jsxs)(t.p,{children:[`Результат стандартного `,(0,c.jsx)(t.code,{children:`Date`}),` может зависеть от окружения. Используйте полный ISO 8601.`]}),`
187
+ `,(0,c.jsx)(t.h3,{id:`генерировать-seo-только-после-client-fetch`,children:`Генерировать SEO только после client fetch`}),`
188
+ `,(0,c.jsx)(t.p,{children:`Для надёжной индексации head должен появляться в SSR/pre-render HTML, если архитектура приложения это поддерживает.`}),`
189
+ `,(0,c.jsx)(t.h3,{id:`передавать-недоверенный-текст-напрямую-в-json-ld-script`,children:`Передавать недоверенный текст напрямую в JSON-LD script`}),`
190
+ `,(0,c.jsx)(t.p,{children:`Используйте безопасный renderer и контролируйте источник SEO-полей.`}),`
191
+ `,(0,c.jsx)(t.h2,{id:`краткая-карта-api`,children:`Краткая карта API`}),`
192
+ `,(0,c.jsxs)(t.table,{children:[(0,c.jsx)(t.thead,{children:(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.th,{children:`Экспорт`}),(0,c.jsx)(t.th,{children:`Назначение`})]})}),(0,c.jsxs)(t.tbody,{children:[(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`createSeoHead(options)`})}),(0,c.jsx)(t.td,{children:`Собрать полный meta/link/JSON-LD набор`})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`createRouteHead(type, path, params)`})}),(0,c.jsx)(t.td,{children:`Адаптировать типичные route SEO-поля`})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`SeoContentType`})}),(0,c.jsx)(t.td,{children:`Допустимый Schema.org content type`})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`SeoHeadOptions`})}),(0,c.jsx)(t.td,{children:`Полная конфигурация страницы`})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`SeoHeadParams`})}),(0,c.jsx)(t.td,{children:`Входные данные упрощённого route adapter`})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`SeoImage`})}),(0,c.jsx)(t.td,{children:`URL и описательные размеры preview-изображения`})]})]})]})]})}function s(e={}){let{wrapper:t}={...n(),...e.components};return t?(0,c.jsx)(t,{...e,children:(0,c.jsx)(o,{...e})}):o(e)}var c;function l(){return(l=e((()=>{c=t(),r(),a()})))()}l();export{s as default};