@btst/stack 1.5.0 → 1.5.2

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 (325) hide show
  1. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/DayPicker.cjs +14 -2
  2. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/DayPicker.mjs +14 -2
  3. package/dist/node_modules/.pnpm/react-day-picker@9.13.0_react@19.2.0/node_modules/react-day-picker/dist/esm/noonDateLib.cjs +162 -0
  4. package/dist/node_modules/.pnpm/react-day-picker@9.13.0_react@19.2.0/node_modules/react-day-picker/dist/esm/noonDateLib.mjs +160 -0
  5. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/convertMatchersToTimeZone.cjs +12 -8
  6. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/convertMatchersToTimeZone.mjs +12 -8
  7. package/dist/packages/better-stack/src/plugins/blog/client/components/pages/edit-post-page.internal.cjs +7 -6
  8. package/dist/packages/better-stack/src/plugins/blog/client/components/pages/edit-post-page.internal.mjs +7 -6
  9. package/dist/packages/better-stack/src/plugins/blog/client/components/pages/home-page.internal.cjs +9 -7
  10. package/dist/packages/better-stack/src/plugins/blog/client/components/pages/home-page.internal.mjs +9 -7
  11. package/dist/packages/better-stack/src/plugins/blog/client/components/pages/new-post-page.internal.cjs +7 -6
  12. package/dist/packages/better-stack/src/plugins/blog/client/components/pages/new-post-page.internal.mjs +7 -6
  13. package/dist/packages/better-stack/src/plugins/blog/client/components/pages/post-page.internal.cjs +7 -5
  14. package/dist/packages/better-stack/src/plugins/blog/client/components/pages/post-page.internal.mjs +7 -5
  15. package/dist/packages/better-stack/src/plugins/blog/client/components/pages/tag-page.internal.cjs +5 -3
  16. package/dist/packages/better-stack/src/plugins/blog/client/components/pages/tag-page.internal.mjs +5 -3
  17. package/dist/packages/better-stack/src/plugins/blog/client/plugin.cjs +6 -6
  18. package/dist/packages/better-stack/src/plugins/blog/client/plugin.mjs +6 -6
  19. package/dist/packages/better-stack/src/plugins/cms/api/plugin.cjs +33 -4
  20. package/dist/packages/better-stack/src/plugins/cms/api/plugin.mjs +33 -4
  21. package/dist/packages/better-stack/src/plugins/cms/client/components/forms/content-form.cjs +26 -141
  22. package/dist/packages/better-stack/src/plugins/cms/client/components/forms/content-form.mjs +24 -139
  23. package/dist/packages/better-stack/src/plugins/cms/client/components/forms/file-upload.cjs +2 -2
  24. package/dist/packages/better-stack/src/plugins/cms/client/components/forms/file-upload.mjs +2 -2
  25. package/dist/packages/better-stack/src/plugins/cms/client/components/pages/content-editor-page.internal.cjs +19 -2
  26. package/dist/packages/better-stack/src/plugins/cms/client/components/pages/content-editor-page.internal.mjs +19 -2
  27. package/dist/packages/better-stack/src/plugins/cms/client/components/pages/content-list-page.internal.cjs +19 -6
  28. package/dist/packages/better-stack/src/plugins/cms/client/components/pages/content-list-page.internal.mjs +19 -6
  29. package/dist/packages/better-stack/src/plugins/cms/client/components/pages/dashboard-page.internal.cjs +18 -2
  30. package/dist/packages/better-stack/src/plugins/cms/client/components/pages/dashboard-page.internal.mjs +18 -2
  31. package/dist/packages/better-stack/src/plugins/cms/client/plugin.cjs +112 -22
  32. package/dist/packages/better-stack/src/plugins/cms/client/plugin.mjs +112 -22
  33. package/dist/packages/better-stack/src/plugins/cms/db.cjs +4 -0
  34. package/dist/packages/better-stack/src/plugins/cms/db.mjs +4 -0
  35. package/dist/packages/better-stack/src/plugins/cms/schemas.cjs +0 -1
  36. package/dist/packages/better-stack/src/plugins/cms/schemas.mjs +0 -1
  37. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/common/label.cjs +2 -2
  38. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/common/label.mjs +2 -2
  39. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/config.cjs +0 -2
  40. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/config.mjs +0 -2
  41. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/array.cjs +15 -29
  42. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/array.mjs +16 -16
  43. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/checkbox.cjs +2 -2
  44. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/checkbox.mjs +2 -2
  45. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/date.cjs +29 -5
  46. package/dist/packages/ui/src/components/auto-form/fields/date.mjs +59 -0
  47. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/enum.cjs +2 -2
  48. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/enum.mjs +2 -2
  49. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/input.cjs +2 -2
  50. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/input.mjs +2 -2
  51. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/number.cjs +2 -2
  52. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/number.mjs +2 -2
  53. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/object.cjs +7 -4
  54. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/object.mjs +8 -5
  55. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/radio-group.cjs +2 -2
  56. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/radio-group.mjs +2 -2
  57. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/switch.cjs +2 -2
  58. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/switch.mjs +2 -2
  59. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/textarea.cjs +2 -2
  60. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/textarea.mjs +2 -2
  61. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/index.cjs +3 -3
  62. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/index.mjs +3 -3
  63. package/dist/packages/ui/src/components/auto-form/utils.cjs +306 -0
  64. package/dist/packages/ui/src/components/auto-form/utils.mjs +294 -0
  65. package/dist/packages/ui/src/components/calendar.cjs +2 -2
  66. package/dist/packages/ui/src/components/calendar.mjs +2 -2
  67. package/dist/packages/{better-stack/src/plugins/blog/client/components/shared → ui/src/hooks}/use-route-lifecycle.cjs +8 -9
  68. package/dist/packages/{better-stack/src/plugins/blog/client/components/shared → ui/src/hooks}/use-route-lifecycle.mjs +1 -2
  69. package/dist/plugins/blog/api/index.d.cts +1 -1
  70. package/dist/plugins/blog/api/index.d.mts +1 -1
  71. package/dist/plugins/blog/api/index.d.ts +1 -1
  72. package/dist/plugins/blog/client/hooks/index.d.cts +2 -2
  73. package/dist/plugins/blog/client/hooks/index.d.mts +2 -2
  74. package/dist/plugins/blog/client/hooks/index.d.ts +2 -2
  75. package/dist/plugins/blog/client/index.d.cts +1 -1
  76. package/dist/plugins/blog/client/index.d.mts +1 -1
  77. package/dist/plugins/blog/client/index.d.ts +1 -1
  78. package/dist/plugins/blog/query-keys.d.cts +2 -2
  79. package/dist/plugins/blog/query-keys.d.mts +2 -2
  80. package/dist/plugins/blog/query-keys.d.ts +2 -2
  81. package/dist/plugins/cms/api/index.d.cts +2 -4
  82. package/dist/plugins/cms/api/index.d.mts +2 -4
  83. package/dist/plugins/cms/api/index.d.ts +2 -4
  84. package/dist/plugins/cms/client/hooks/index.d.cts +1 -4
  85. package/dist/plugins/cms/client/hooks/index.d.mts +1 -4
  86. package/dist/plugins/cms/client/hooks/index.d.ts +1 -4
  87. package/dist/plugins/cms/client/index.d.cts +178 -5
  88. package/dist/plugins/cms/client/index.d.mts +178 -5
  89. package/dist/plugins/cms/client/index.d.ts +178 -5
  90. package/dist/plugins/cms/query-keys.d.cts +1 -4
  91. package/dist/plugins/cms/query-keys.d.mts +1 -4
  92. package/dist/plugins/cms/query-keys.d.ts +1 -4
  93. package/dist/shared/{stack.DwnJA87a.d.ts → stack.L-UFwz2G.d.cts} +14 -14
  94. package/dist/shared/{stack.BwkyFwF8.d.cts → stack.L-UFwz2G.d.mts} +14 -14
  95. package/dist/shared/{stack.DBqxCs0V.d.mts → stack.L-UFwz2G.d.ts} +14 -14
  96. package/package.json +1 -1
  97. package/src/plugins/blog/client/components/pages/edit-post-page.internal.tsx +4 -3
  98. package/src/plugins/blog/client/components/pages/home-page.internal.tsx +4 -2
  99. package/src/plugins/blog/client/components/pages/new-post-page.internal.tsx +4 -3
  100. package/src/plugins/blog/client/components/pages/post-page.internal.tsx +4 -2
  101. package/src/plugins/blog/client/components/pages/tag-page.internal.tsx +4 -2
  102. package/src/plugins/blog/client/plugin.tsx +10 -9
  103. package/src/plugins/cms/__tests__/schema-roundtrip.test.ts +195 -0
  104. package/src/plugins/cms/api/plugin.ts +65 -4
  105. package/src/plugins/cms/client/components/forms/content-form.tsx +50 -234
  106. package/src/plugins/cms/client/components/forms/file-upload.tsx +3 -3
  107. package/src/plugins/cms/client/components/pages/content-editor-page.internal.tsx +21 -3
  108. package/src/plugins/cms/client/components/pages/content-list-page.internal.tsx +21 -6
  109. package/src/plugins/cms/client/components/pages/dashboard-page.internal.tsx +20 -3
  110. package/src/plugins/cms/client/index.ts +2 -2
  111. package/src/plugins/cms/client/overrides.ts +1 -1
  112. package/src/plugins/cms/client/plugin.tsx +236 -25
  113. package/src/plugins/cms/db.ts +4 -0
  114. package/src/plugins/cms/schemas.ts +1 -1
  115. package/src/plugins/cms/types.ts +14 -17
  116. package/dist/packages/ui/src/components/ui/auto-form/fields/date.mjs +0 -35
  117. package/dist/packages/ui/src/components/ui/auto-form/fields/file.cjs +0 -63
  118. package/dist/packages/ui/src/components/ui/auto-form/fields/file.mjs +0 -61
  119. package/dist/packages/ui/src/components/ui/auto-form/utils.cjs +0 -179
  120. package/dist/packages/ui/src/components/ui/auto-form/utils.mjs +0 -169
  121. package/dist/shared/stack.NZJogTUn.d.cts +0 -66
  122. package/dist/shared/stack.NZJogTUn.d.mts +0 -66
  123. package/dist/shared/stack.NZJogTUn.d.ts +0 -66
  124. package/src/plugins/blog/client/components/shared/use-route-lifecycle.tsx +0 -68
  125. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/UI.cjs +0 -0
  126. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/UI.mjs +0 -0
  127. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/classes/CalendarDay.cjs +0 -0
  128. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/classes/CalendarDay.mjs +0 -0
  129. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/classes/CalendarMonth.cjs +0 -0
  130. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/classes/CalendarMonth.mjs +0 -0
  131. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/classes/CalendarWeek.cjs +0 -0
  132. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/classes/CalendarWeek.mjs +0 -0
  133. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/classes/DateLib.cjs +0 -0
  134. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/classes/DateLib.mjs +0 -0
  135. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Button.cjs +0 -0
  136. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Button.mjs +0 -0
  137. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/CaptionLabel.cjs +0 -0
  138. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/CaptionLabel.mjs +0 -0
  139. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Chevron.cjs +0 -0
  140. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Chevron.mjs +0 -0
  141. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Day.cjs +0 -0
  142. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Day.mjs +0 -0
  143. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/DayButton.cjs +0 -0
  144. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/DayButton.mjs +0 -0
  145. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Dropdown.cjs +0 -0
  146. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Dropdown.mjs +0 -0
  147. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/DropdownNav.cjs +0 -0
  148. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/DropdownNav.mjs +0 -0
  149. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Footer.cjs +0 -0
  150. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Footer.mjs +0 -0
  151. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Month.cjs +0 -0
  152. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Month.mjs +0 -0
  153. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/MonthCaption.cjs +0 -0
  154. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/MonthCaption.mjs +0 -0
  155. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/MonthGrid.cjs +0 -0
  156. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/MonthGrid.mjs +0 -0
  157. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Months.cjs +0 -0
  158. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Months.mjs +0 -0
  159. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/MonthsDropdown.cjs +0 -0
  160. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/MonthsDropdown.mjs +0 -0
  161. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Nav.cjs +0 -0
  162. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Nav.mjs +0 -0
  163. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/NextMonthButton.cjs +0 -0
  164. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/NextMonthButton.mjs +0 -0
  165. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Option.cjs +0 -0
  166. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Option.mjs +0 -0
  167. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/PreviousMonthButton.cjs +0 -0
  168. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/PreviousMonthButton.mjs +0 -0
  169. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Root.cjs +0 -0
  170. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Root.mjs +0 -0
  171. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Select.cjs +0 -0
  172. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Select.mjs +0 -0
  173. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Week.cjs +0 -0
  174. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Week.mjs +0 -0
  175. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/WeekNumber.cjs +0 -0
  176. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/WeekNumber.mjs +0 -0
  177. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/WeekNumberHeader.cjs +0 -0
  178. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/WeekNumberHeader.mjs +0 -0
  179. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Weekday.cjs +0 -0
  180. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Weekday.mjs +0 -0
  181. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Weekdays.cjs +0 -0
  182. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Weekdays.mjs +0 -0
  183. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Weeks.cjs +0 -0
  184. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Weeks.mjs +0 -0
  185. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/YearsDropdown.cjs +0 -0
  186. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/YearsDropdown.mjs +0 -0
  187. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/custom-components.cjs +0 -0
  188. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/custom-components.mjs +0 -0
  189. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatCaption.cjs +0 -0
  190. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatCaption.mjs +0 -0
  191. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatDay.cjs +0 -0
  192. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatDay.mjs +0 -0
  193. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatMonthDropdown.cjs +0 -0
  194. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatMonthDropdown.mjs +0 -0
  195. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatWeekNumber.cjs +0 -0
  196. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatWeekNumber.mjs +0 -0
  197. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatWeekNumberHeader.cjs +0 -0
  198. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatWeekNumberHeader.mjs +0 -0
  199. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatWeekdayName.cjs +0 -0
  200. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatWeekdayName.mjs +0 -0
  201. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatYearDropdown.cjs +0 -0
  202. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatYearDropdown.mjs +0 -0
  203. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/index.cjs +0 -0
  204. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/index.mjs +0 -0
  205. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/calculateFocusTarget.cjs +0 -0
  206. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/calculateFocusTarget.mjs +0 -0
  207. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/createGetModifiers.cjs +0 -0
  208. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/createGetModifiers.mjs +0 -0
  209. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/endOfBroadcastWeek.cjs +0 -0
  210. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/endOfBroadcastWeek.mjs +0 -0
  211. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getBroadcastWeeksInMonth.cjs +0 -0
  212. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getBroadcastWeeksInMonth.mjs +0 -0
  213. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getClassNamesForModifiers.cjs +0 -0
  214. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getClassNamesForModifiers.mjs +0 -0
  215. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getComponents.cjs +0 -0
  216. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getComponents.mjs +0 -0
  217. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getDataAttributes.cjs +0 -0
  218. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getDataAttributes.mjs +0 -0
  219. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getDates.cjs +0 -0
  220. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getDates.mjs +0 -0
  221. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getDays.cjs +0 -0
  222. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getDays.mjs +0 -0
  223. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getDefaultClassNames.cjs +0 -0
  224. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getDefaultClassNames.mjs +0 -0
  225. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getDisplayMonths.cjs +0 -0
  226. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getDisplayMonths.mjs +0 -0
  227. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getFocusableDate.cjs +0 -0
  228. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getFocusableDate.mjs +0 -0
  229. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getFormatters.cjs +0 -0
  230. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getFormatters.mjs +0 -0
  231. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getInitialMonth.cjs +0 -0
  232. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getInitialMonth.mjs +0 -0
  233. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getLabels.cjs +0 -0
  234. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getLabels.mjs +0 -0
  235. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getMonthOptions.cjs +0 -0
  236. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getMonthOptions.mjs +0 -0
  237. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getMonths.cjs +0 -0
  238. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getMonths.mjs +0 -0
  239. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getNavMonth.cjs +0 -0
  240. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getNavMonth.mjs +0 -0
  241. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getNextFocus.cjs +0 -0
  242. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getNextFocus.mjs +0 -0
  243. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getNextMonth.cjs +0 -0
  244. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getNextMonth.mjs +0 -0
  245. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getPreviousMonth.cjs +0 -0
  246. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getPreviousMonth.mjs +0 -0
  247. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getStyleForModifiers.cjs +0 -0
  248. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getStyleForModifiers.mjs +0 -0
  249. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getWeekdays.cjs +0 -0
  250. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getWeekdays.mjs +0 -0
  251. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getWeeks.cjs +0 -0
  252. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getWeeks.mjs +0 -0
  253. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getYearOptions.cjs +0 -0
  254. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getYearOptions.mjs +0 -0
  255. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/startOfBroadcastWeek.cjs +0 -0
  256. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/startOfBroadcastWeek.mjs +0 -0
  257. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/useControlledValue.cjs +0 -0
  258. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/useControlledValue.mjs +0 -0
  259. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/index.cjs +0 -0
  260. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/index.mjs +0 -0
  261. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelDayButton.cjs +0 -0
  262. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelDayButton.mjs +0 -0
  263. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelGrid.cjs +0 -0
  264. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelGrid.mjs +0 -0
  265. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelGridcell.cjs +0 -0
  266. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelGridcell.mjs +0 -0
  267. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelMonthDropdown.cjs +0 -0
  268. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelMonthDropdown.mjs +0 -0
  269. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelNav.cjs +0 -0
  270. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelNav.mjs +0 -0
  271. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelNext.cjs +0 -0
  272. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelNext.mjs +0 -0
  273. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelPrevious.cjs +0 -0
  274. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelPrevious.mjs +0 -0
  275. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelWeekNumber.cjs +0 -0
  276. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelWeekNumber.mjs +0 -0
  277. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelWeekNumberHeader.cjs +0 -0
  278. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelWeekNumberHeader.mjs +0 -0
  279. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelWeekday.cjs +0 -0
  280. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelWeekday.mjs +0 -0
  281. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelYearDropdown.cjs +0 -0
  282. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelYearDropdown.mjs +0 -0
  283. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/locale/en-US.cjs +0 -0
  284. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/locale/en-US.mjs +0 -0
  285. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/selection/useMulti.cjs +0 -0
  286. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/selection/useMulti.mjs +0 -0
  287. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/selection/useRange.cjs +0 -0
  288. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/selection/useRange.mjs +0 -0
  289. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/selection/useSingle.cjs +0 -0
  290. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/selection/useSingle.mjs +0 -0
  291. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/useAnimation.cjs +0 -0
  292. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/useAnimation.mjs +0 -0
  293. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/useCalendar.cjs +0 -0
  294. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/useCalendar.mjs +0 -0
  295. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/useDayPicker.cjs +0 -0
  296. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/useDayPicker.mjs +0 -0
  297. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/useFocus.cjs +0 -0
  298. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/useFocus.mjs +0 -0
  299. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/useSelection.cjs +0 -0
  300. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/useSelection.mjs +0 -0
  301. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/addToRange.cjs +0 -0
  302. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/addToRange.mjs +0 -0
  303. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/dateMatchModifiers.cjs +0 -0
  304. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/dateMatchModifiers.mjs +0 -0
  305. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/rangeContainsDayOfWeek.cjs +0 -0
  306. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/rangeContainsDayOfWeek.mjs +0 -0
  307. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/rangeContainsModifiers.cjs +0 -0
  308. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/rangeContainsModifiers.mjs +0 -0
  309. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/rangeIncludesDate.cjs +0 -0
  310. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/rangeIncludesDate.mjs +0 -0
  311. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/rangeOverlaps.cjs +0 -0
  312. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/rangeOverlaps.mjs +0 -0
  313. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/toTimeZone.cjs +0 -0
  314. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/toTimeZone.mjs +0 -0
  315. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/typeguards.cjs +0 -0
  316. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/typeguards.mjs +0 -0
  317. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/common/tooltip.cjs +0 -0
  318. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/common/tooltip.mjs +0 -0
  319. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/dependencies.cjs +0 -0
  320. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/dependencies.mjs +0 -0
  321. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/types.cjs +0 -0
  322. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/types.mjs +0 -0
  323. package/dist/shared/{stack.CcI4sYJP.d.cts → stack.DLhzx1-D.d.cts} +1 -1
  324. package/dist/shared/{stack.CcI4sYJP.d.mts → stack.DLhzx1-D.d.mts} +1 -1
  325. package/dist/shared/{stack.CcI4sYJP.d.ts → stack.DLhzx1-D.d.ts} +1 -1
@@ -3,13 +3,15 @@
3
3
  import { useState, useMemo, useEffect } from "react";
4
4
  import { z } from "zod";
5
5
  import { toast } from "sonner";
6
- import AutoForm, {
7
- AutoFormSubmit,
8
- } from "@workspace/ui/components/ui/auto-form";
6
+ import AutoForm, { AutoFormSubmit } from "@workspace/ui/components/auto-form";
9
7
  import type {
10
8
  FieldConfig,
11
9
  AutoFormInputComponentProps,
12
- } from "@workspace/ui/components/ui/auto-form/types";
10
+ } from "@workspace/ui/components/auto-form/types";
11
+ import {
12
+ buildFieldConfigFromJsonSchema as buildFieldConfigBase,
13
+ fromJSONSchemaWithDates,
14
+ } from "@workspace/ui/components/auto-form/utils";
13
15
  import { Input } from "@workspace/ui/components/input";
14
16
  import { Label } from "@workspace/ui/components/label";
15
17
  import { Badge } from "@workspace/ui/components/badge";
@@ -20,126 +22,6 @@ import { slugify } from "../../../utils";
20
22
  import { CMS_LOCALIZATION } from "../../localization";
21
23
  import { CMSFileUpload } from "./file-upload";
22
24
 
23
- /**
24
- * JSON Schema property type definition
25
- */
26
- interface JsonSchemaProperty {
27
- type?: string | string[];
28
- format?: string;
29
- enum?: (string | number | boolean)[];
30
- minimum?: number;
31
- maximum?: number;
32
- minLength?: number;
33
- maxLength?: number;
34
- default?: unknown;
35
- description?: string;
36
- }
37
-
38
- interface JsonSchema {
39
- type?: string;
40
- properties?: Record<string, JsonSchemaProperty>;
41
- required?: string[];
42
- }
43
-
44
- /**
45
- * Convert JSON Schema to Zod schema with proper coercion for AutoForm
46
- *
47
- * Uses Zod v4's native z.fromJSONSchema() as a base and applies coercion
48
- * where needed. AutoForm requires z.coerce.number() and z.coerce.date()
49
- * for proper form handling because HTML inputs return strings.
50
- *
51
- * Note: We build the schema manually to ensure proper coercion support,
52
- * as z.fromJSONSchema() doesn't add coercion automatically.
53
- */
54
- function jsonSchemaToZodWithCoercion(
55
- jsonSchema: JsonSchema,
56
- ): z.ZodObject<Record<string, z.ZodTypeAny>> {
57
- const shape: Record<string, z.ZodTypeAny> = {};
58
- const properties = jsonSchema.properties || {};
59
- const required = jsonSchema.required || [];
60
-
61
- for (const [key, prop] of Object.entries(properties)) {
62
- let fieldSchema: z.ZodTypeAny;
63
-
64
- // Determine the type (handle arrays like ["string", "null"] for nullable)
65
- const typeValue = Array.isArray(prop.type) ? prop.type[0] : prop.type;
66
-
67
- // Handle enum first - works for string enums
68
- if (prop.enum && Array.isArray(prop.enum) && prop.enum.length > 0) {
69
- // Filter to only string values for z.enum
70
- const stringValues = prop.enum.filter(
71
- (v): v is string => typeof v === "string",
72
- );
73
- if (stringValues.length > 0) {
74
- fieldSchema = z.enum(stringValues as [string, ...string[]]);
75
- } else {
76
- // Fallback for non-string enums
77
- fieldSchema = z.string();
78
- }
79
- } else {
80
- switch (typeValue) {
81
- case "number":
82
- case "integer": {
83
- // Use z.coerce.number() for proper form handling (HTML inputs return strings)
84
- let numSchema = z.coerce.number();
85
- if (prop.minimum !== undefined) {
86
- numSchema = numSchema.min(prop.minimum);
87
- }
88
- if (prop.maximum !== undefined) {
89
- numSchema = numSchema.max(prop.maximum);
90
- }
91
- fieldSchema = numSchema;
92
- break;
93
- }
94
- case "boolean": {
95
- fieldSchema = z.boolean();
96
- if (prop.default !== undefined) {
97
- fieldSchema = (fieldSchema as z.ZodBoolean).default(
98
- prop.default as boolean,
99
- );
100
- }
101
- break;
102
- }
103
- case "string": {
104
- // Check for date format
105
- if (prop.format === "date" || prop.format === "date-time") {
106
- fieldSchema = z.coerce.date();
107
- } else {
108
- let strSchema = z.string();
109
- if (prop.minLength !== undefined) {
110
- strSchema = strSchema.min(prop.minLength);
111
- }
112
- if (prop.maxLength !== undefined) {
113
- strSchema = strSchema.max(prop.maxLength);
114
- }
115
- fieldSchema = strSchema;
116
- }
117
- break;
118
- }
119
- default: {
120
- // Fallback to string for unknown types
121
- fieldSchema = z.string();
122
- }
123
- }
124
- }
125
-
126
- // Apply default if present and not already applied (skip for booleans which handle it above)
127
- // Use typeValue to correctly handle nullable types where prop.type is an array like ["boolean", "null"]
128
- if (prop.default !== undefined && typeValue !== "boolean") {
129
- fieldSchema = fieldSchema.default(prop.default);
130
- }
131
-
132
- // Make optional if not in required array
133
- if (!required.includes(key)) {
134
- fieldSchema = fieldSchema.optional();
135
- }
136
-
137
- shape[key] = fieldSchema;
138
- }
139
-
140
- return z.object(shape);
141
- }
142
-
143
25
  interface ContentFormProps {
144
26
  contentType: SerializedContentType;
145
27
  initialData?: Record<string, unknown>;
@@ -153,112 +35,63 @@ interface ContentFormProps {
153
35
  }
154
36
 
155
37
  /**
156
- * Built-in AutoForm field types
157
- */
158
- const BUILTIN_FIELD_TYPES = [
159
- "checkbox",
160
- "date",
161
- "select",
162
- "radio",
163
- "switch",
164
- "textarea",
165
- "number",
166
- "file",
167
- "fallback",
168
- ] as const;
169
-
170
- /**
171
- * Extract field configuration from JSON Schema properties
172
- * Maps description and placeholder to AutoForm's fieldConfig format
38
+ * Build field configuration for AutoForm with CMS-specific file upload handling.
173
39
  *
174
- * @param jsonSchema - The JSON Schema from the content type
175
- * @param storedFieldConfig - The stored field config from the content type
176
- * @param uploadImage - The uploadImage function from overrides (for default file component)
40
+ * Uses the shared buildFieldConfigFromJsonSchema from auto-form/utils as a base,
41
+ * then adds special handling for "file" fieldType to inject CMSFileUpload component
42
+ * ONLY if no custom component is provided via fieldComponents.
43
+ *
44
+ * @param jsonSchema - The JSON Schema from the content type (with fieldType embedded in properties)
45
+ * @param uploadImage - The uploadImage function from overrides (for file fields)
177
46
  * @param fieldComponents - Custom field components from overrides
178
47
  */
179
48
  function buildFieldConfigFromJsonSchema(
180
49
  jsonSchema: Record<string, unknown>,
181
- storedFieldConfig?: Record<string, { fieldType?: string }>,
182
50
  uploadImage?: (file: File) => Promise<string>,
183
51
  fieldComponents?: Record<
184
52
  string,
185
53
  React.ComponentType<AutoFormInputComponentProps>
186
54
  >,
187
55
  ): FieldConfig<Record<string, unknown>> {
188
- const fieldConfig: FieldConfig<Record<string, unknown>> = {};
56
+ // Get base config from shared utility (handles fieldType from JSON Schema)
57
+ const baseConfig = buildFieldConfigBase(jsonSchema, fieldComponents);
58
+
59
+ // Apply CMS-specific handling for "file" fieldType ONLY if no custom component exists
60
+ // Custom fieldComponents take priority - don't override if user provided one
189
61
  const properties = jsonSchema.properties as Record<
190
62
  string,
191
- { description?: string; placeholder?: string }
63
+ { fieldType?: string }
192
64
  >;
193
65
 
194
- if (!properties) return fieldConfig;
66
+ if (!properties) return baseConfig;
195
67
 
196
- for (const [key, value] of Object.entries(properties)) {
197
- const config: Record<string, unknown> = {};
198
-
199
- if (value.description) {
200
- config.description = value.description;
201
- }
202
-
203
- if (value.placeholder) {
204
- config.inputProps = {
205
- placeholder: value.placeholder,
206
- };
207
- }
208
-
209
- // Apply stored fieldConfig overrides (e.g., fieldType: "textarea", "file", or custom types)
210
- if (storedFieldConfig?.[key]) {
211
- const storedConfig = storedFieldConfig[key];
212
- const fieldType = storedConfig.fieldType;
213
-
214
- if (fieldType) {
215
- // 1. Check if there's a custom component in fieldComponents
216
- if (fieldComponents?.[fieldType]) {
217
- const CustomComponent = fieldComponents[fieldType];
218
- config.fieldType = (props: AutoFormInputComponentProps) => (
219
- <CustomComponent {...props} />
220
- );
221
- }
222
- // 2. Special handling for built-in "file" type - use CMSFileUpload with uploadImage
223
- else if (fieldType === "file") {
224
- if (!uploadImage) {
225
- // Show a clear error message if uploadImage is not provided
226
- config.fieldType = () => (
227
- <div className="rounded-md border border-destructive bg-destructive/10 p-3 text-sm text-destructive">
228
- File upload requires an <code>uploadImage</code> function in CMS
229
- overrides.
230
- </div>
231
- );
232
- } else {
233
- config.fieldType = (props: AutoFormInputComponentProps) => (
234
- <CMSFileUpload {...props} uploadImage={uploadImage} />
235
- );
236
- }
237
- }
238
- // 3. For other built-in types, pass through to auto-form
239
- else if (
240
- BUILTIN_FIELD_TYPES.includes(
241
- fieldType as (typeof BUILTIN_FIELD_TYPES)[number],
242
- )
243
- ) {
244
- config.fieldType = fieldType;
245
- }
246
- // 4. Unknown custom type without a component - log warning and skip
247
- else {
248
- console.warn(
249
- `CMS: Unknown fieldType "${fieldType}" for field "${key}". ` +
250
- `Provide a component via fieldComponents override or use a built-in type.`,
251
- );
252
- }
68
+ for (const [key, prop] of Object.entries(properties)) {
69
+ // Only handle "file" fieldType when there's NO custom component for "file"
70
+ if (prop.fieldType === "file" && !fieldComponents?.["file"]) {
71
+ // Use CMSFileUpload as the default file component
72
+ if (!uploadImage) {
73
+ // Show a clear error message if uploadImage is not provided
74
+ baseConfig[key] = {
75
+ ...baseConfig[key],
76
+ fieldType: () => (
77
+ <div className="rounded-md border border-destructive bg-destructive/10 p-3 text-sm text-destructive">
78
+ File upload requires an <code>uploadImage</code> function in CMS
79
+ overrides.
80
+ </div>
81
+ ),
82
+ };
83
+ } else {
84
+ baseConfig[key] = {
85
+ ...baseConfig[key],
86
+ fieldType: (props: AutoFormInputComponentProps) => (
87
+ <CMSFileUpload {...props} uploadImage={uploadImage} />
88
+ ),
89
+ };
253
90
  }
254
91
  }
255
-
256
- if (Object.keys(config).length > 0) {
257
- fieldConfig[key] = config;
258
- }
259
92
  }
260
93
 
261
- return fieldConfig;
94
+ return baseConfig;
262
95
  }
263
96
 
264
97
  /**
@@ -326,7 +159,7 @@ export function ContentForm({
326
159
  }
327
160
  }, [initialSlug, isEditing]);
328
161
 
329
- // Parse JSON Schema
162
+ // Parse JSON Schema (now includes fieldType embedded in properties)
330
163
  const jsonSchema = useMemo(() => {
331
164
  try {
332
165
  return JSON.parse(contentType.jsonSchema) as Record<string, unknown>;
@@ -335,38 +168,21 @@ export function ContentForm({
335
168
  }
336
169
  }, [contentType.jsonSchema]);
337
170
 
338
- // Parse stored field config
339
- const storedFieldConfig = useMemo(() => {
340
- if (!contentType.fieldConfig) return undefined;
341
- try {
342
- return JSON.parse(contentType.fieldConfig) as Record<
343
- string,
344
- { fieldType?: string }
345
- >;
346
- } catch {
347
- return undefined;
348
- }
349
- }, [contentType.fieldConfig]);
350
-
351
- // Convert to Zod schema with coercion for proper AutoForm handling
171
+ // Convert JSON Schema to Zod schema using fromJSONSchemaWithDates utility
172
+ // This properly handles date fields (format: "date-time") and min/max date constraints
352
173
  const zodSchema = useMemo(() => {
353
174
  try {
354
- return jsonSchemaToZodWithCoercion(jsonSchema as JsonSchema);
175
+ return fromJSONSchemaWithDates(jsonSchema);
355
176
  } catch {
356
177
  return z.object({});
357
178
  }
358
179
  }, [jsonSchema]);
359
180
 
360
- // Build field config for AutoForm
181
+ // Build field config for AutoForm (fieldType is now embedded in jsonSchema)
361
182
  const fieldConfig = useMemo(
362
183
  () =>
363
- buildFieldConfigFromJsonSchema(
364
- jsonSchema,
365
- storedFieldConfig,
366
- uploadImage,
367
- fieldComponents,
368
- ),
369
- [jsonSchema, storedFieldConfig, uploadImage, fieldComponents],
184
+ buildFieldConfigFromJsonSchema(jsonSchema, uploadImage, fieldComponents),
185
+ [jsonSchema, uploadImage, fieldComponents],
370
186
  );
371
187
 
372
188
  // Find the field to use for slug auto-generation
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { useState, useCallback, useEffect, type ChangeEvent } from "react";
4
4
  import { toast } from "sonner";
5
- import type { AutoFormInputComponentProps } from "@workspace/ui/components/ui/auto-form/types";
5
+ import type { AutoFormInputComponentProps } from "@workspace/ui/components/auto-form/types";
6
6
  import { Input } from "@workspace/ui/components/input";
7
7
  import { Button } from "@workspace/ui/components/button";
8
8
  import {
@@ -11,8 +11,8 @@ import {
11
11
  FormMessage,
12
12
  } from "@workspace/ui/components/form";
13
13
  import { Trash2, Loader2 } from "lucide-react";
14
- import AutoFormLabel from "@workspace/ui/components/ui/auto-form/common/label";
15
- import AutoFormTooltip from "@workspace/ui/components/ui/auto-form/common/tooltip";
14
+ import AutoFormLabel from "@workspace/ui/components/auto-form/common/label";
15
+ import AutoFormTooltip from "@workspace/ui/components/auto-form/common/tooltip";
16
16
 
17
17
  /**
18
18
  * Props for the CMSFileUpload component
@@ -15,6 +15,7 @@ import { EmptyState } from "../shared/empty-state";
15
15
  import { PageWrapper } from "../shared/page-wrapper";
16
16
  import { EditorSkeleton } from "../loading/editor-skeleton";
17
17
  import { CMS_LOCALIZATION } from "../../localization";
18
+ import { useRouteLifecycle } from "@workspace/ui/hooks/use-route-lifecycle";
18
19
 
19
20
  interface ContentEditorPageProps {
20
21
  typeSlug: string;
@@ -22,11 +23,28 @@ interface ContentEditorPageProps {
22
23
  }
23
24
 
24
25
  export function ContentEditorPage({ typeSlug, id }: ContentEditorPageProps) {
25
- const { navigate, localization: customLocalization } =
26
- usePluginOverrides<CMSPluginOverrides>("cms");
27
- const localization = { ...CMS_LOCALIZATION, ...customLocalization };
26
+ const overrides = usePluginOverrides<CMSPluginOverrides>("cms");
27
+ const { navigate } = overrides;
28
+ const localization = { ...CMS_LOCALIZATION, ...overrides.localization };
28
29
  const basePath = useBasePath();
29
30
 
31
+ // Call lifecycle hooks for authorization
32
+ useRouteLifecycle({
33
+ routeName: "contentEditor",
34
+ context: {
35
+ path: id ? `/cms/${typeSlug}/${id}` : `/cms/${typeSlug}/new`,
36
+ params: id ? { typeSlug, id } : { typeSlug },
37
+ isSSR: typeof window === "undefined",
38
+ },
39
+ overrides,
40
+ beforeRenderHook: (overrides, context) => {
41
+ if (overrides.onBeforeEditorRendered) {
42
+ return overrides.onBeforeEditorRendered(typeSlug, id ?? null, context);
43
+ }
44
+ return true;
45
+ },
46
+ });
47
+
30
48
  const { contentTypes } = useSuspenseContentTypes();
31
49
  const contentType = contentTypes.find((ct) => ct.slug === typeSlug);
32
50
 
@@ -20,6 +20,7 @@ import {
20
20
  import { EmptyState } from "../shared/empty-state";
21
21
  import { PageWrapper } from "../shared/page-wrapper";
22
22
  import { CMS_LOCALIZATION } from "../../localization";
23
+ import { useRouteLifecycle } from "@workspace/ui/hooks/use-route-lifecycle";
23
24
  import { toast } from "sonner";
24
25
 
25
26
  interface ContentListPageProps {
@@ -27,14 +28,28 @@ interface ContentListPageProps {
27
28
  }
28
29
 
29
30
  export function ContentListPage({ typeSlug }: ContentListPageProps) {
30
- const {
31
- navigate,
32
- Link,
33
- localization: customLocalization,
34
- } = usePluginOverrides<CMSPluginOverrides>("cms");
35
- const localization = { ...CMS_LOCALIZATION, ...customLocalization };
31
+ const overrides = usePluginOverrides<CMSPluginOverrides>("cms");
32
+ const { navigate, Link } = overrides;
33
+ const localization = { ...CMS_LOCALIZATION, ...overrides.localization };
36
34
  const basePath = useBasePath();
37
35
 
36
+ // Call lifecycle hooks for authorization
37
+ useRouteLifecycle({
38
+ routeName: "contentList",
39
+ context: {
40
+ path: `/cms/${typeSlug}`,
41
+ params: { typeSlug },
42
+ isSSR: typeof window === "undefined",
43
+ },
44
+ overrides,
45
+ beforeRenderHook: (overrides, context) => {
46
+ if (overrides.onBeforeListRendered) {
47
+ return overrides.onBeforeListRendered(typeSlug, context);
48
+ }
49
+ return true;
50
+ },
51
+ });
52
+
38
53
  const limit = 20;
39
54
 
40
55
  const { contentTypes } = useSuspenseContentTypes();
@@ -13,12 +13,29 @@ import { useSuspenseContentTypes } from "../../hooks";
13
13
  import { EmptyState } from "../shared/empty-state";
14
14
  import { PageWrapper } from "../shared/page-wrapper";
15
15
  import { CMS_LOCALIZATION } from "../../localization";
16
+ import { useRouteLifecycle } from "@workspace/ui/hooks/use-route-lifecycle";
16
17
 
17
18
  export function DashboardPage() {
18
- const { navigate, localization: customLocalization } =
19
- usePluginOverrides<CMSPluginOverrides>("cms");
20
- const localization = { ...CMS_LOCALIZATION, ...customLocalization };
19
+ const overrides = usePluginOverrides<CMSPluginOverrides>("cms");
20
+ const { navigate } = overrides;
21
+ const localization = { ...CMS_LOCALIZATION, ...overrides.localization };
21
22
  const basePath = useBasePath();
23
+
24
+ // Call lifecycle hooks for authorization
25
+ useRouteLifecycle({
26
+ routeName: "dashboard",
27
+ context: {
28
+ path: "/cms",
29
+ isSSR: typeof window === "undefined",
30
+ },
31
+ overrides,
32
+ beforeRenderHook: (overrides, context) => {
33
+ if (overrides.onBeforeDashboardRendered) {
34
+ return overrides.onBeforeDashboardRendered(context);
35
+ }
36
+ return true;
37
+ },
38
+ });
22
39
  const { contentTypes } = useSuspenseContentTypes();
23
40
 
24
41
  if (contentTypes.length === 0) {
@@ -1,10 +1,10 @@
1
1
  export { cmsClientPlugin } from "./plugin";
2
- export type { CMSClientConfig, LoaderContext } from "./plugin";
2
+ export type { CMSClientConfig, CMSClientHooks, LoaderContext } from "./plugin";
3
3
  export type { CMSPluginOverrides, RouteContext } from "./overrides";
4
4
  export type { CMSLocalization } from "./localization";
5
5
 
6
6
  // Re-export AutoFormInputComponentProps for custom field components
7
- export type { AutoFormInputComponentProps } from "@workspace/ui/components/ui/auto-form/types";
7
+ export type { AutoFormInputComponentProps } from "@workspace/ui/components/auto-form/types";
8
8
 
9
9
  // Export CMSFileUpload for consumers to use or extend
10
10
  export {
@@ -1,6 +1,6 @@
1
1
  import type { ComponentType } from "react";
2
2
  import type { CMSLocalization } from "./localization";
3
- import type { AutoFormInputComponentProps } from "@workspace/ui/components/ui/auto-form/types";
3
+ import type { AutoFormInputComponentProps } from "@workspace/ui/components/auto-form/types";
4
4
 
5
5
  /**
6
6
  * Context passed to lifecycle hooks