@btst/stack 1.5.1 → 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 (277) 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/cms/api/plugin.cjs +33 -4
  8. package/dist/packages/better-stack/src/plugins/cms/api/plugin.mjs +33 -4
  9. package/dist/packages/better-stack/src/plugins/cms/client/components/forms/content-form.cjs +26 -141
  10. package/dist/packages/better-stack/src/plugins/cms/client/components/forms/content-form.mjs +24 -139
  11. package/dist/packages/better-stack/src/plugins/cms/client/components/forms/file-upload.cjs +2 -2
  12. package/dist/packages/better-stack/src/plugins/cms/client/components/forms/file-upload.mjs +2 -2
  13. package/dist/packages/better-stack/src/plugins/cms/db.cjs +4 -0
  14. package/dist/packages/better-stack/src/plugins/cms/db.mjs +4 -0
  15. package/dist/packages/better-stack/src/plugins/cms/schemas.cjs +0 -1
  16. package/dist/packages/better-stack/src/plugins/cms/schemas.mjs +0 -1
  17. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/common/label.cjs +2 -2
  18. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/common/label.mjs +2 -2
  19. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/config.cjs +0 -2
  20. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/config.mjs +0 -2
  21. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/array.cjs +15 -29
  22. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/array.mjs +16 -16
  23. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/checkbox.cjs +2 -2
  24. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/checkbox.mjs +2 -2
  25. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/date.cjs +29 -5
  26. package/dist/packages/ui/src/components/auto-form/fields/date.mjs +59 -0
  27. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/enum.cjs +2 -2
  28. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/enum.mjs +2 -2
  29. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/input.cjs +2 -2
  30. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/input.mjs +2 -2
  31. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/number.cjs +2 -2
  32. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/number.mjs +2 -2
  33. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/object.cjs +7 -4
  34. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/object.mjs +8 -5
  35. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/radio-group.cjs +2 -2
  36. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/radio-group.mjs +2 -2
  37. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/switch.cjs +2 -2
  38. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/switch.mjs +2 -2
  39. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/textarea.cjs +2 -2
  40. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/textarea.mjs +2 -2
  41. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/index.cjs +3 -3
  42. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/index.mjs +3 -3
  43. package/dist/packages/ui/src/components/auto-form/utils.cjs +306 -0
  44. package/dist/packages/ui/src/components/auto-form/utils.mjs +294 -0
  45. package/dist/packages/ui/src/components/calendar.cjs +2 -2
  46. package/dist/packages/ui/src/components/calendar.mjs +2 -2
  47. package/dist/plugins/cms/api/index.d.cts +2 -4
  48. package/dist/plugins/cms/api/index.d.mts +2 -4
  49. package/dist/plugins/cms/api/index.d.ts +2 -4
  50. package/dist/plugins/cms/client/hooks/index.d.cts +1 -4
  51. package/dist/plugins/cms/client/hooks/index.d.mts +1 -4
  52. package/dist/plugins/cms/client/hooks/index.d.ts +1 -4
  53. package/dist/plugins/cms/client/index.d.cts +113 -5
  54. package/dist/plugins/cms/client/index.d.mts +113 -5
  55. package/dist/plugins/cms/client/index.d.ts +113 -5
  56. package/dist/plugins/cms/query-keys.d.cts +1 -4
  57. package/dist/plugins/cms/query-keys.d.mts +1 -4
  58. package/dist/plugins/cms/query-keys.d.ts +1 -4
  59. package/dist/shared/{stack.DwnJA87a.d.ts → stack.L-UFwz2G.d.cts} +14 -14
  60. package/dist/shared/{stack.BwkyFwF8.d.cts → stack.L-UFwz2G.d.mts} +14 -14
  61. package/dist/shared/{stack.DBqxCs0V.d.mts → stack.L-UFwz2G.d.ts} +14 -14
  62. package/package.json +1 -1
  63. package/src/plugins/cms/__tests__/schema-roundtrip.test.ts +195 -0
  64. package/src/plugins/cms/api/plugin.ts +65 -4
  65. package/src/plugins/cms/client/components/forms/content-form.tsx +50 -234
  66. package/src/plugins/cms/client/components/forms/file-upload.tsx +3 -3
  67. package/src/plugins/cms/client/index.ts +1 -1
  68. package/src/plugins/cms/client/overrides.ts +1 -1
  69. package/src/plugins/cms/db.ts +4 -0
  70. package/src/plugins/cms/schemas.ts +1 -1
  71. package/src/plugins/cms/types.ts +14 -17
  72. package/dist/packages/ui/src/components/ui/auto-form/fields/date.mjs +0 -35
  73. package/dist/packages/ui/src/components/ui/auto-form/fields/file.cjs +0 -63
  74. package/dist/packages/ui/src/components/ui/auto-form/fields/file.mjs +0 -61
  75. package/dist/packages/ui/src/components/ui/auto-form/utils.cjs +0 -179
  76. package/dist/packages/ui/src/components/ui/auto-form/utils.mjs +0 -169
  77. package/dist/shared/stack.NZJogTUn.d.cts +0 -66
  78. package/dist/shared/stack.NZJogTUn.d.mts +0 -66
  79. package/dist/shared/stack.NZJogTUn.d.ts +0 -66
  80. /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
  81. /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
  82. /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
  83. /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
  84. /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
  85. /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
  86. /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
  87. /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
  88. /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
  89. /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
  90. /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
  91. /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
  92. /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
  93. /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
  94. /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
  95. /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
  96. /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
  97. /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
  98. /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
  99. /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
  100. /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
  101. /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
  102. /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
  103. /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
  104. /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
  105. /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
  106. /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
  107. /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
  108. /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
  109. /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
  110. /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
  111. /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
  112. /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
  113. /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
  114. /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
  115. /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
  116. /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
  117. /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
  118. /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
  119. /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
  120. /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
  121. /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
  122. /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
  123. /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
  124. /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
  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/components/Root.mjs +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/components/Select.cjs +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/components/Select.mjs +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/components/Week.cjs +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/components/Week.mjs +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/components/WeekNumber.cjs +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/components/WeekNumber.mjs +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/components/WeekNumberHeader.cjs +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/components/WeekNumberHeader.mjs +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/components/Weekday.cjs +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/Weekday.mjs +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/Weekdays.cjs +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/Weekdays.mjs +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/Weeks.cjs +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/Weeks.mjs +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/YearsDropdown.cjs +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/YearsDropdown.mjs +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/custom-components.cjs +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/custom-components.mjs +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/formatters/formatCaption.cjs +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/formatters/formatCaption.mjs +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/formatters/formatDay.cjs +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/formatters/formatDay.mjs +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/formatters/formatMonthDropdown.cjs +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/formatters/formatMonthDropdown.mjs +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/formatters/formatWeekNumber.cjs +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/formatters/formatWeekNumber.mjs +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/formatters/formatWeekNumberHeader.cjs +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/formatters/formatWeekNumberHeader.mjs +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/formatters/formatWeekdayName.cjs +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/formatters/formatWeekdayName.mjs +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/formatters/formatYearDropdown.cjs +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/formatters/formatYearDropdown.mjs +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/formatters/index.cjs +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/formatters/index.mjs +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/helpers/calculateFocusTarget.cjs +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/helpers/calculateFocusTarget.mjs +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/helpers/createGetModifiers.cjs +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/helpers/createGetModifiers.mjs +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/helpers/endOfBroadcastWeek.cjs +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/helpers/endOfBroadcastWeek.mjs +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/helpers/getBroadcastWeeksInMonth.cjs +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/helpers/getBroadcastWeeksInMonth.mjs +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/helpers/getClassNamesForModifiers.cjs +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/helpers/getClassNamesForModifiers.mjs +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/helpers/getComponents.cjs +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/helpers/getComponents.mjs +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/helpers/getDataAttributes.cjs +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/helpers/getDataAttributes.mjs +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/helpers/getDates.cjs +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/helpers/getDates.mjs +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/helpers/getDays.cjs +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/helpers/getDays.mjs +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/helpers/getDefaultClassNames.cjs +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/helpers/getDefaultClassNames.mjs +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/helpers/getDisplayMonths.cjs +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/helpers/getDisplayMonths.mjs +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/helpers/getFocusableDate.cjs +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/helpers/getFocusableDate.mjs +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/helpers/getFormatters.cjs +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/helpers/getFormatters.mjs +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/helpers/getInitialMonth.cjs +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/helpers/getInitialMonth.mjs +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/helpers/getLabels.cjs +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/helpers/getLabels.mjs +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/helpers/getMonthOptions.cjs +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/helpers/getMonthOptions.mjs +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/helpers/getMonths.cjs +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/helpers/getMonths.mjs +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/helpers/getNavMonth.cjs +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/helpers/getNavMonth.mjs +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/helpers/getNextFocus.cjs +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/helpers/getNextFocus.mjs +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/helpers/getNextMonth.cjs +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/helpers/getNextMonth.mjs +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/helpers/getPreviousMonth.cjs +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/helpers/getPreviousMonth.mjs +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/helpers/getStyleForModifiers.cjs +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/helpers/getStyleForModifiers.mjs +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/helpers/getWeekdays.cjs +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/getWeekdays.mjs +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/getWeeks.cjs +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/getWeeks.mjs +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/getYearOptions.cjs +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/getYearOptions.mjs +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/startOfBroadcastWeek.cjs +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/startOfBroadcastWeek.mjs +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/useControlledValue.cjs +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/useControlledValue.mjs +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/labels/index.cjs +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/labels/index.mjs +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/labels/labelDayButton.cjs +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/labels/labelDayButton.mjs +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/labels/labelGrid.cjs +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/labels/labelGrid.mjs +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/labels/labelGridcell.cjs +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/labels/labelGridcell.mjs +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/labels/labelMonthDropdown.cjs +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/labels/labelMonthDropdown.mjs +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/labels/labelNav.cjs +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/labels/labelNav.mjs +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/labels/labelNext.cjs +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/labels/labelNext.mjs +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/labels/labelPrevious.cjs +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/labels/labelPrevious.mjs +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/labels/labelWeekNumber.cjs +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/labels/labelWeekNumber.mjs +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/labels/labelWeekNumberHeader.cjs +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/labels/labelWeekNumberHeader.mjs +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/labels/labelWeekday.cjs +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/labels/labelWeekday.mjs +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/labels/labelYearDropdown.cjs +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/labels/labelYearDropdown.mjs +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/locale/en-US.cjs +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/locale/en-US.mjs +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/selection/useMulti.cjs +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/selection/useMulti.mjs +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/selection/useRange.cjs +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/selection/useRange.mjs +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/selection/useSingle.cjs +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/selection/useSingle.mjs +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/useAnimation.cjs +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/useAnimation.mjs +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/useCalendar.cjs +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/useCalendar.mjs +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/useDayPicker.cjs +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/useDayPicker.mjs +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/useFocus.cjs +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/useFocus.mjs +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/useSelection.cjs +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/useSelection.mjs +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/utils/addToRange.cjs +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/utils/addToRange.mjs +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/utils/dateMatchModifiers.cjs +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/utils/dateMatchModifiers.mjs +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/utils/rangeContainsDayOfWeek.cjs +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/utils/rangeContainsDayOfWeek.mjs +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/utils/rangeContainsModifiers.cjs +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/utils/rangeContainsModifiers.mjs +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/utils/rangeIncludesDate.cjs +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/utils/rangeIncludesDate.mjs +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/utils/rangeOverlaps.cjs +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/utils/rangeOverlaps.mjs +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/utils/toTimeZone.cjs +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/utils/toTimeZone.mjs +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/utils/typeguards.cjs +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/utils/typeguards.mjs +0 -0
  272. /package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/common/tooltip.cjs +0 -0
  273. /package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/common/tooltip.mjs +0 -0
  274. /package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/dependencies.cjs +0 -0
  275. /package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/dependencies.mjs +0 -0
  276. /package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/types.cjs +0 -0
  277. /package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/types.mjs +0 -0
@@ -3,10 +3,9 @@ import * as react from 'react';
3
3
  import { ComponentType } from 'react';
4
4
  import * as _btst_yar from '@btst/yar';
5
5
  import { QueryClient } from '@tanstack/react-query';
6
- import { a as AutoFormInputComponentProps } from '../../../shared/stack.NZJogTUn.mjs';
6
+ import { ControllerRenderProps, FieldValues } from 'react-hook-form';
7
+ import * as zod from 'zod';
7
8
  import * as react_jsx_runtime from 'react/jsx-runtime';
8
- import 'react-hook-form';
9
- import 'zod';
10
9
 
11
10
  /**
12
11
  * Context passed to loader hooks
@@ -239,6 +238,115 @@ declare const CMS_LOCALIZATION: {
239
238
  };
240
239
  type CMSLocalization = typeof CMS_LOCALIZATION;
241
240
 
241
+ declare function AutoFormCheckbox({ label, isRequired, field, fieldConfigItem, fieldProps, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
242
+
243
+ declare function AutoFormDate({ label, isRequired, field, fieldConfigItem, fieldProps, zodItem, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
244
+
245
+ declare function AutoFormEnum({ label, isRequired, field, fieldConfigItem, zodItem, fieldProps, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
246
+
247
+ declare function AutoFormInput({ label, isRequired, fieldConfigItem, fieldProps, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
248
+
249
+ declare function AutoFormNumber({ label, isRequired, fieldConfigItem, fieldProps, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
250
+
251
+ declare function AutoFormRadioGroup({ label, isRequired, field, zodItem, fieldProps, fieldConfigItem, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
252
+
253
+ declare function AutoFormSwitch({ label, isRequired, field, fieldConfigItem, fieldProps, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
254
+
255
+ declare function AutoFormTextarea({ label, isRequired, fieldConfigItem, fieldProps, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
256
+
257
+ declare const INPUT_COMPONENTS: {
258
+ checkbox: typeof AutoFormCheckbox;
259
+ date: typeof AutoFormDate;
260
+ select: typeof AutoFormEnum;
261
+ radio: typeof AutoFormRadioGroup;
262
+ switch: typeof AutoFormSwitch;
263
+ textarea: typeof AutoFormTextarea;
264
+ number: typeof AutoFormNumber;
265
+ fallback: typeof AutoFormInput;
266
+ };
267
+
268
+ /**
269
+ * Common input props shared by all field types.
270
+ */
271
+ interface BaseInputProps {
272
+ /** Whether the field is disabled */
273
+ disabled?: boolean;
274
+ /** Whether the field is read-only */
275
+ readOnly?: boolean;
276
+ /** Whether the field is required */
277
+ required?: boolean;
278
+ /** Whether to show the label (auto-form specific) */
279
+ showLabel?: boolean;
280
+ }
281
+ /**
282
+ * Generic input props that accept any field type.
283
+ * Use this when the backing type is not known at compile time.
284
+ *
285
+ * This is the catch-all type used for runtime flexibility.
286
+ */
287
+ interface SerializableInputProps extends BaseInputProps {
288
+ placeholder?: string;
289
+ type?: string;
290
+ defaultValue?: unknown;
291
+ min?: number | string;
292
+ max?: number | string;
293
+ step?: number | string;
294
+ minLength?: number;
295
+ maxLength?: number;
296
+ pattern?: string;
297
+ autoComplete?: string;
298
+ /** Allow additional props for extensibility */
299
+ [key: string]: unknown;
300
+ }
301
+
302
+ /**
303
+ * Input props for form fields.
304
+ *
305
+ * This is the runtime type that accepts any input props.
306
+ * For type-safe props, use the discriminated types:
307
+ * - StringInputProps for text inputs
308
+ * - NumberInputProps for number inputs
309
+ * - BooleanInputProps for checkboxes/switches
310
+ * - DateInputProps for date pickers
311
+ * - EnumInputProps for selects/radios
312
+ */
313
+ type FieldInputProps = SerializableInputProps & Omit<React.InputHTMLAttributes<HTMLInputElement>, keyof SerializableInputProps> & Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, keyof SerializableInputProps>;
314
+ /**
315
+ * Configuration for a single field in AutoForm.
316
+ *
317
+ * Note: This type is designed to align with form-builder's FormBuilderFieldProps
318
+ * so that JSON Schema properties can be easily converted to field configs.
319
+ */
320
+ type FieldConfigItem = {
321
+ /** Description text or React node */
322
+ description?: React.ReactNode;
323
+ /** Input props passed to the field component */
324
+ inputProps?: FieldInputProps;
325
+ /** Display label */
326
+ label?: string;
327
+ /** Field type override - built-in type or custom component */
328
+ fieldType?: keyof typeof INPUT_COMPONENTS | React.FC<AutoFormInputComponentProps>;
329
+ /** Wrapper component for custom field layout */
330
+ renderParent?: (props: {
331
+ children: React.ReactNode;
332
+ }) => React.ReactElement | null;
333
+ /** Display order for field ordering */
334
+ order?: number;
335
+ };
336
+ /**
337
+ * A FormInput component can handle a specific Zod type (e.g. "ZodBoolean")
338
+ */
339
+ type AutoFormInputComponentProps = {
340
+ zodInputProps: React.InputHTMLAttributes<HTMLInputElement>;
341
+ field: ControllerRenderProps<FieldValues, any>;
342
+ fieldConfigItem: FieldConfigItem;
343
+ label: string;
344
+ isRequired: boolean;
345
+ fieldProps: any;
346
+ zodItem: zod.ZodType;
347
+ className?: string;
348
+ };
349
+
242
350
  /**
243
351
  * Context passed to lifecycle hooks
244
352
  */
@@ -405,5 +513,5 @@ interface CMSFileUploadProps extends AutoFormInputComponentProps {
405
513
  */
406
514
  declare function CMSFileUpload({ label, isRequired, fieldConfigItem, fieldProps, field, uploadImage, }: CMSFileUploadProps): react_jsx_runtime.JSX.Element;
407
515
 
408
- export { AutoFormInputComponentProps, CMSFileUpload, cmsClientPlugin };
409
- export type { CMSClientConfig, CMSClientHooks, CMSFileUploadProps, CMSLocalization, CMSPluginOverrides, LoaderContext, RouteContext };
516
+ export { CMSFileUpload, cmsClientPlugin };
517
+ export type { AutoFormInputComponentProps, CMSClientConfig, CMSClientHooks, CMSFileUploadProps, CMSLocalization, CMSPluginOverrides, LoaderContext, RouteContext };
@@ -3,10 +3,9 @@ import * as react from 'react';
3
3
  import { ComponentType } from 'react';
4
4
  import * as _btst_yar from '@btst/yar';
5
5
  import { QueryClient } from '@tanstack/react-query';
6
- import { a as AutoFormInputComponentProps } from '../../../shared/stack.NZJogTUn.js';
6
+ import { ControllerRenderProps, FieldValues } from 'react-hook-form';
7
+ import * as zod from 'zod';
7
8
  import * as react_jsx_runtime from 'react/jsx-runtime';
8
- import 'react-hook-form';
9
- import 'zod';
10
9
 
11
10
  /**
12
11
  * Context passed to loader hooks
@@ -239,6 +238,115 @@ declare const CMS_LOCALIZATION: {
239
238
  };
240
239
  type CMSLocalization = typeof CMS_LOCALIZATION;
241
240
 
241
+ declare function AutoFormCheckbox({ label, isRequired, field, fieldConfigItem, fieldProps, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
242
+
243
+ declare function AutoFormDate({ label, isRequired, field, fieldConfigItem, fieldProps, zodItem, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
244
+
245
+ declare function AutoFormEnum({ label, isRequired, field, fieldConfigItem, zodItem, fieldProps, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
246
+
247
+ declare function AutoFormInput({ label, isRequired, fieldConfigItem, fieldProps, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
248
+
249
+ declare function AutoFormNumber({ label, isRequired, fieldConfigItem, fieldProps, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
250
+
251
+ declare function AutoFormRadioGroup({ label, isRequired, field, zodItem, fieldProps, fieldConfigItem, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
252
+
253
+ declare function AutoFormSwitch({ label, isRequired, field, fieldConfigItem, fieldProps, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
254
+
255
+ declare function AutoFormTextarea({ label, isRequired, fieldConfigItem, fieldProps, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
256
+
257
+ declare const INPUT_COMPONENTS: {
258
+ checkbox: typeof AutoFormCheckbox;
259
+ date: typeof AutoFormDate;
260
+ select: typeof AutoFormEnum;
261
+ radio: typeof AutoFormRadioGroup;
262
+ switch: typeof AutoFormSwitch;
263
+ textarea: typeof AutoFormTextarea;
264
+ number: typeof AutoFormNumber;
265
+ fallback: typeof AutoFormInput;
266
+ };
267
+
268
+ /**
269
+ * Common input props shared by all field types.
270
+ */
271
+ interface BaseInputProps {
272
+ /** Whether the field is disabled */
273
+ disabled?: boolean;
274
+ /** Whether the field is read-only */
275
+ readOnly?: boolean;
276
+ /** Whether the field is required */
277
+ required?: boolean;
278
+ /** Whether to show the label (auto-form specific) */
279
+ showLabel?: boolean;
280
+ }
281
+ /**
282
+ * Generic input props that accept any field type.
283
+ * Use this when the backing type is not known at compile time.
284
+ *
285
+ * This is the catch-all type used for runtime flexibility.
286
+ */
287
+ interface SerializableInputProps extends BaseInputProps {
288
+ placeholder?: string;
289
+ type?: string;
290
+ defaultValue?: unknown;
291
+ min?: number | string;
292
+ max?: number | string;
293
+ step?: number | string;
294
+ minLength?: number;
295
+ maxLength?: number;
296
+ pattern?: string;
297
+ autoComplete?: string;
298
+ /** Allow additional props for extensibility */
299
+ [key: string]: unknown;
300
+ }
301
+
302
+ /**
303
+ * Input props for form fields.
304
+ *
305
+ * This is the runtime type that accepts any input props.
306
+ * For type-safe props, use the discriminated types:
307
+ * - StringInputProps for text inputs
308
+ * - NumberInputProps for number inputs
309
+ * - BooleanInputProps for checkboxes/switches
310
+ * - DateInputProps for date pickers
311
+ * - EnumInputProps for selects/radios
312
+ */
313
+ type FieldInputProps = SerializableInputProps & Omit<React.InputHTMLAttributes<HTMLInputElement>, keyof SerializableInputProps> & Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, keyof SerializableInputProps>;
314
+ /**
315
+ * Configuration for a single field in AutoForm.
316
+ *
317
+ * Note: This type is designed to align with form-builder's FormBuilderFieldProps
318
+ * so that JSON Schema properties can be easily converted to field configs.
319
+ */
320
+ type FieldConfigItem = {
321
+ /** Description text or React node */
322
+ description?: React.ReactNode;
323
+ /** Input props passed to the field component */
324
+ inputProps?: FieldInputProps;
325
+ /** Display label */
326
+ label?: string;
327
+ /** Field type override - built-in type or custom component */
328
+ fieldType?: keyof typeof INPUT_COMPONENTS | React.FC<AutoFormInputComponentProps>;
329
+ /** Wrapper component for custom field layout */
330
+ renderParent?: (props: {
331
+ children: React.ReactNode;
332
+ }) => React.ReactElement | null;
333
+ /** Display order for field ordering */
334
+ order?: number;
335
+ };
336
+ /**
337
+ * A FormInput component can handle a specific Zod type (e.g. "ZodBoolean")
338
+ */
339
+ type AutoFormInputComponentProps = {
340
+ zodInputProps: React.InputHTMLAttributes<HTMLInputElement>;
341
+ field: ControllerRenderProps<FieldValues, any>;
342
+ fieldConfigItem: FieldConfigItem;
343
+ label: string;
344
+ isRequired: boolean;
345
+ fieldProps: any;
346
+ zodItem: zod.ZodType;
347
+ className?: string;
348
+ };
349
+
242
350
  /**
243
351
  * Context passed to lifecycle hooks
244
352
  */
@@ -405,5 +513,5 @@ interface CMSFileUploadProps extends AutoFormInputComponentProps {
405
513
  */
406
514
  declare function CMSFileUpload({ label, isRequired, fieldConfigItem, fieldProps, field, uploadImage, }: CMSFileUploadProps): react_jsx_runtime.JSX.Element;
407
515
 
408
- export { AutoFormInputComponentProps, CMSFileUpload, cmsClientPlugin };
409
- export type { CMSClientConfig, CMSClientHooks, CMSFileUploadProps, CMSLocalization, CMSPluginOverrides, LoaderContext, RouteContext };
516
+ export { CMSFileUpload, cmsClientPlugin };
517
+ export type { AutoFormInputComponentProps, CMSClientConfig, CMSClientHooks, CMSFileUploadProps, CMSLocalization, CMSPluginOverrides, LoaderContext, RouteContext };
@@ -1,11 +1,8 @@
1
1
  import * as _tanstack_react_query from '@tanstack/react-query';
2
2
  import { createApiClient } from '@btst/stack/plugins/client';
3
- import { S as SerializedContentType, P as PaginatedContentItems, a as SerializedContentItemWithType } from '../../shared/stack.BwkyFwF8.cjs';
3
+ import { S as SerializedContentType, P as PaginatedContentItems, a as SerializedContentItemWithType } from '../../shared/stack.L-UFwz2G.cjs';
4
4
  import { CMSApiRouter } from './api/index.cjs';
5
5
  import 'zod';
6
- import '../../shared/stack.NZJogTUn.cjs';
7
- import 'react-hook-form';
8
- import 'react/jsx-runtime';
9
6
  import '@btst/stack/plugins/api';
10
7
  import 'better-call';
11
8
 
@@ -1,11 +1,8 @@
1
1
  import * as _tanstack_react_query from '@tanstack/react-query';
2
2
  import { createApiClient } from '@btst/stack/plugins/client';
3
- import { S as SerializedContentType, P as PaginatedContentItems, a as SerializedContentItemWithType } from '../../shared/stack.DBqxCs0V.mjs';
3
+ import { S as SerializedContentType, P as PaginatedContentItems, a as SerializedContentItemWithType } from '../../shared/stack.L-UFwz2G.mjs';
4
4
  import { CMSApiRouter } from './api/index.mjs';
5
5
  import 'zod';
6
- import '../../shared/stack.NZJogTUn.mjs';
7
- import 'react-hook-form';
8
- import 'react/jsx-runtime';
9
6
  import '@btst/stack/plugins/api';
10
7
  import 'better-call';
11
8
 
@@ -1,11 +1,8 @@
1
1
  import * as _tanstack_react_query from '@tanstack/react-query';
2
2
  import { createApiClient } from '@btst/stack/plugins/client';
3
- import { S as SerializedContentType, P as PaginatedContentItems, a as SerializedContentItemWithType } from '../../shared/stack.DwnJA87a.js';
3
+ import { S as SerializedContentType, P as PaginatedContentItems, a as SerializedContentItemWithType } from '../../shared/stack.L-UFwz2G.js';
4
4
  import { CMSApiRouter } from './api/index.js';
5
5
  import 'zod';
6
- import '../../shared/stack.NZJogTUn.js';
7
- import 'react-hook-form';
8
- import 'react/jsx-runtime';
9
6
  import '@btst/stack/plugins/api';
10
7
  import 'better-call';
11
8
 
@@ -1,8 +1,16 @@
1
1
  import { z } from 'zod';
2
- import { A as AutoFormFieldType } from './stack.NZJogTUn.js';
3
2
 
4
3
  /**
5
- * Configuration for a content type defined by the developer
4
+ * Configuration for a content type defined by the developer.
5
+ *
6
+ * Field types are now specified directly in the Zod schema via .meta():
7
+ * @example
8
+ * ```typescript
9
+ * const ProductSchema = z.object({
10
+ * description: z.string().meta({ fieldType: "textarea" }),
11
+ * image: z.string().optional().meta({ fieldType: "file" }),
12
+ * });
13
+ * ```
6
14
  */
7
15
  interface ContentTypeConfig {
8
16
  /** Display name for the content type (e.g., "Product", "Testimonial") */
@@ -11,18 +19,8 @@ interface ContentTypeConfig {
11
19
  slug: string;
12
20
  /** Optional description shown in the admin UI */
13
21
  description?: string;
14
- /** Zod schema defining the content type's fields */
22
+ /** Zod schema defining the content type's fields. Use .meta({ fieldType: "..." }) for field type overrides. */
15
23
  schema: z.ZodObject<z.ZodRawShape>;
16
- /**
17
- * Optional field configuration for AutoForm customization.
18
- *
19
- * fieldType can be:
20
- * - A built-in AutoForm type: "checkbox", "date", "select", "radio", "switch", "textarea", "number", "file", "fallback"
21
- * - A custom type name that maps to a component provided via `fieldComponents` in overrides
22
- */
23
- fieldConfig?: Record<string, {
24
- fieldType?: AutoFormFieldType | (string & {});
25
- }>;
26
24
  }
27
25
  /**
28
26
  * Content type stored in the database
@@ -37,8 +35,10 @@ type ContentType = {
37
35
  description?: string;
38
36
  /** JSON Schema representation of the Zod schema (stringified) */
39
37
  jsonSchema: string;
40
- /** Optional field configuration JSON (stringified) */
38
+ /** @deprecated Legacy field config - now embedded in jsonSchema. Kept for backwards compat. */
41
39
  fieldConfig?: string;
40
+ /** AutoForm schema version. 1 = legacy (separate fieldConfig), 2 = unified (fieldType in jsonSchema) */
41
+ autoFormVersion?: number;
42
42
  createdAt: Date;
43
43
  updatedAt: Date;
44
44
  };
@@ -1,8 +1,16 @@
1
1
  import { z } from 'zod';
2
- import { A as AutoFormFieldType } from './stack.NZJogTUn.cjs';
3
2
 
4
3
  /**
5
- * Configuration for a content type defined by the developer
4
+ * Configuration for a content type defined by the developer.
5
+ *
6
+ * Field types are now specified directly in the Zod schema via .meta():
7
+ * @example
8
+ * ```typescript
9
+ * const ProductSchema = z.object({
10
+ * description: z.string().meta({ fieldType: "textarea" }),
11
+ * image: z.string().optional().meta({ fieldType: "file" }),
12
+ * });
13
+ * ```
6
14
  */
7
15
  interface ContentTypeConfig {
8
16
  /** Display name for the content type (e.g., "Product", "Testimonial") */
@@ -11,18 +19,8 @@ interface ContentTypeConfig {
11
19
  slug: string;
12
20
  /** Optional description shown in the admin UI */
13
21
  description?: string;
14
- /** Zod schema defining the content type's fields */
22
+ /** Zod schema defining the content type's fields. Use .meta({ fieldType: "..." }) for field type overrides. */
15
23
  schema: z.ZodObject<z.ZodRawShape>;
16
- /**
17
- * Optional field configuration for AutoForm customization.
18
- *
19
- * fieldType can be:
20
- * - A built-in AutoForm type: "checkbox", "date", "select", "radio", "switch", "textarea", "number", "file", "fallback"
21
- * - A custom type name that maps to a component provided via `fieldComponents` in overrides
22
- */
23
- fieldConfig?: Record<string, {
24
- fieldType?: AutoFormFieldType | (string & {});
25
- }>;
26
24
  }
27
25
  /**
28
26
  * Content type stored in the database
@@ -37,8 +35,10 @@ type ContentType = {
37
35
  description?: string;
38
36
  /** JSON Schema representation of the Zod schema (stringified) */
39
37
  jsonSchema: string;
40
- /** Optional field configuration JSON (stringified) */
38
+ /** @deprecated Legacy field config - now embedded in jsonSchema. Kept for backwards compat. */
41
39
  fieldConfig?: string;
40
+ /** AutoForm schema version. 1 = legacy (separate fieldConfig), 2 = unified (fieldType in jsonSchema) */
41
+ autoFormVersion?: number;
42
42
  createdAt: Date;
43
43
  updatedAt: Date;
44
44
  };
@@ -1,8 +1,16 @@
1
1
  import { z } from 'zod';
2
- import { A as AutoFormFieldType } from './stack.NZJogTUn.mjs';
3
2
 
4
3
  /**
5
- * Configuration for a content type defined by the developer
4
+ * Configuration for a content type defined by the developer.
5
+ *
6
+ * Field types are now specified directly in the Zod schema via .meta():
7
+ * @example
8
+ * ```typescript
9
+ * const ProductSchema = z.object({
10
+ * description: z.string().meta({ fieldType: "textarea" }),
11
+ * image: z.string().optional().meta({ fieldType: "file" }),
12
+ * });
13
+ * ```
6
14
  */
7
15
  interface ContentTypeConfig {
8
16
  /** Display name for the content type (e.g., "Product", "Testimonial") */
@@ -11,18 +19,8 @@ interface ContentTypeConfig {
11
19
  slug: string;
12
20
  /** Optional description shown in the admin UI */
13
21
  description?: string;
14
- /** Zod schema defining the content type's fields */
22
+ /** Zod schema defining the content type's fields. Use .meta({ fieldType: "..." }) for field type overrides. */
15
23
  schema: z.ZodObject<z.ZodRawShape>;
16
- /**
17
- * Optional field configuration for AutoForm customization.
18
- *
19
- * fieldType can be:
20
- * - A built-in AutoForm type: "checkbox", "date", "select", "radio", "switch", "textarea", "number", "file", "fallback"
21
- * - A custom type name that maps to a component provided via `fieldComponents` in overrides
22
- */
23
- fieldConfig?: Record<string, {
24
- fieldType?: AutoFormFieldType | (string & {});
25
- }>;
26
24
  }
27
25
  /**
28
26
  * Content type stored in the database
@@ -37,8 +35,10 @@ type ContentType = {
37
35
  description?: string;
38
36
  /** JSON Schema representation of the Zod schema (stringified) */
39
37
  jsonSchema: string;
40
- /** Optional field configuration JSON (stringified) */
38
+ /** @deprecated Legacy field config - now embedded in jsonSchema. Kept for backwards compat. */
41
39
  fieldConfig?: string;
40
+ /** AutoForm schema version. 1 = legacy (separate fieldConfig), 2 = unified (fieldType in jsonSchema) */
41
+ autoFormVersion?: number;
42
42
  createdAt: Date;
43
43
  updatedAt: Date;
44
44
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@btst/stack",
3
- "version": "1.5.1",
3
+ "version": "1.5.2",
4
4
  "description": "A composable, plugin-based library for building full-stack applications.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -338,6 +338,201 @@ describe("Zod to JSON Schema roundtrip", () => {
338
338
  });
339
339
  });
340
340
 
341
+ describe("Unified schema format with fieldType in .meta()", () => {
342
+ it("preserves fieldType in JSON Schema properties", () => {
343
+ const schema = z.object({
344
+ description: z.string().meta({
345
+ description: "Full description",
346
+ fieldType: "textarea",
347
+ }),
348
+ image: z.string().optional().meta({
349
+ description: "Image URL",
350
+ fieldType: "file",
351
+ }),
352
+ });
353
+
354
+ const jsonSchema = z.toJSONSchema(schema) as {
355
+ properties?: Record<
356
+ string,
357
+ { description?: string; fieldType?: string }
358
+ >;
359
+ };
360
+
361
+ // fieldType should be preserved in JSON Schema properties
362
+ expect(jsonSchema.properties?.description?.fieldType).toBe("textarea");
363
+ expect(jsonSchema.properties?.image?.fieldType).toBe("file");
364
+ });
365
+
366
+ it("preserves placeholder in JSON Schema properties", () => {
367
+ const schema = z.object({
368
+ name: z.string().meta({
369
+ placeholder: "Enter product name...",
370
+ }),
371
+ });
372
+
373
+ const jsonSchema = z.toJSONSchema(schema) as {
374
+ properties?: Record<string, { placeholder?: string }>;
375
+ };
376
+
377
+ expect(jsonSchema.properties?.name?.placeholder).toBe(
378
+ "Enter product name...",
379
+ );
380
+ });
381
+
382
+ it("simulates unified schema storage and retrieval", () => {
383
+ // This test simulates the new CMS flow with unified schema:
384
+ // 1. Developer defines schema with fieldType in .meta()
385
+ // 2. Backend converts to JSON Schema and stores (fieldType embedded)
386
+ // 3. Client reads JSON Schema and extracts fieldType for AutoForm
387
+
388
+ // Step 1: Developer defines schema with fieldType in .meta()
389
+ const ProductSchema = z.object({
390
+ name: z.string().min(1).meta({
391
+ description: "Product name",
392
+ placeholder: "Enter name...",
393
+ }),
394
+ description: z.string().meta({
395
+ description: "Full description",
396
+ fieldType: "textarea",
397
+ }),
398
+ image: z.string().optional().meta({
399
+ description: "Product image",
400
+ fieldType: "file",
401
+ }),
402
+ price: z.number().min(0).meta({
403
+ placeholder: "0.00",
404
+ }),
405
+ });
406
+
407
+ // Step 2: Convert to JSON Schema (stored in DB as version 2)
408
+ const jsonSchema = z.toJSONSchema(ProductSchema);
409
+ const dbStoredString = JSON.stringify(jsonSchema);
410
+
411
+ // Step 3: Client fetches and extracts fieldTypes
412
+ const fetchedSchema = JSON.parse(dbStoredString) as {
413
+ properties?: Record<
414
+ string,
415
+ { description?: string; placeholder?: string; fieldType?: string }
416
+ >;
417
+ };
418
+
419
+ // Verify fieldTypes are preserved
420
+ expect(fetchedSchema.properties?.description?.fieldType).toBe("textarea");
421
+ expect(fetchedSchema.properties?.image?.fieldType).toBe("file");
422
+
423
+ // Verify other meta properties are preserved
424
+ expect(fetchedSchema.properties?.name?.description).toBe("Product name");
425
+ expect(fetchedSchema.properties?.name?.placeholder).toBe("Enter name...");
426
+ expect(fetchedSchema.properties?.price?.placeholder).toBe("0.00");
427
+ });
428
+ });
429
+
430
+ describe("Legacy schema migration", () => {
431
+ /**
432
+ * Simulates the migrateToUnifiedSchema function from api/plugin.ts
433
+ */
434
+ function migrateToUnifiedSchema(
435
+ jsonSchemaStr: string,
436
+ fieldConfigStr: string | null | undefined,
437
+ ): string {
438
+ if (!fieldConfigStr) {
439
+ return jsonSchemaStr;
440
+ }
441
+
442
+ try {
443
+ const jsonSchema = JSON.parse(jsonSchemaStr);
444
+ const fieldConfig = JSON.parse(fieldConfigStr);
445
+
446
+ if (!jsonSchema.properties || typeof fieldConfig !== "object") {
447
+ return jsonSchemaStr;
448
+ }
449
+
450
+ // Merge fieldType from fieldConfig into each property
451
+ for (const [key, config] of Object.entries(fieldConfig)) {
452
+ if (
453
+ jsonSchema.properties[key] &&
454
+ typeof config === "object" &&
455
+ config !== null &&
456
+ "fieldType" in config
457
+ ) {
458
+ jsonSchema.properties[key].fieldType = (
459
+ config as { fieldType: string }
460
+ ).fieldType;
461
+ }
462
+ }
463
+
464
+ return JSON.stringify(jsonSchema);
465
+ } catch {
466
+ return jsonSchemaStr;
467
+ }
468
+ }
469
+
470
+ it("merges legacy fieldConfig into JSON Schema", () => {
471
+ // Legacy format: separate jsonSchema and fieldConfig
472
+ const legacyJsonSchema = JSON.stringify({
473
+ type: "object",
474
+ properties: {
475
+ name: { type: "string", description: "Product name" },
476
+ description: { type: "string" },
477
+ image: { type: "string" },
478
+ },
479
+ required: ["name", "description"],
480
+ });
481
+
482
+ const legacyFieldConfig = JSON.stringify({
483
+ description: { fieldType: "textarea" },
484
+ image: { fieldType: "file" },
485
+ });
486
+
487
+ // Migrate
488
+ const migratedStr = migrateToUnifiedSchema(
489
+ legacyJsonSchema,
490
+ legacyFieldConfig,
491
+ );
492
+ const migrated = JSON.parse(migratedStr);
493
+
494
+ // Verify fieldTypes are now embedded
495
+ expect(migrated.properties.description.fieldType).toBe("textarea");
496
+ expect(migrated.properties.image.fieldType).toBe("file");
497
+
498
+ // Verify other properties are preserved
499
+ expect(migrated.properties.name.description).toBe("Product name");
500
+ expect(migrated.required).toEqual(["name", "description"]);
501
+ });
502
+
503
+ it("handles null fieldConfig", () => {
504
+ const jsonSchema = JSON.stringify({
505
+ type: "object",
506
+ properties: {
507
+ name: { type: "string" },
508
+ },
509
+ });
510
+
511
+ const result = migrateToUnifiedSchema(jsonSchema, null);
512
+ expect(result).toBe(jsonSchema);
513
+ });
514
+
515
+ it("handles undefined fieldConfig", () => {
516
+ const jsonSchema = JSON.stringify({
517
+ type: "object",
518
+ properties: {
519
+ name: { type: "string" },
520
+ },
521
+ });
522
+
523
+ const result = migrateToUnifiedSchema(jsonSchema, undefined);
524
+ expect(result).toBe(jsonSchema);
525
+ });
526
+
527
+ it("handles invalid JSON gracefully", () => {
528
+ const jsonSchema = "invalid json";
529
+ const fieldConfig = "also invalid";
530
+
531
+ const result = migrateToUnifiedSchema(jsonSchema, fieldConfig);
532
+ expect(result).toBe(jsonSchema); // Returns original on error
533
+ });
534
+ });
535
+
341
536
  describe("AutoForm schema generation and data shape", () => {
342
537
  /**
343
538
  * Helper function to convert JSON Schema to Zod with coercion for AutoForm