@btst/stack 1.4.1 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/node_modules/.pnpm/@date-fns_tz@1.4.1/node_modules/@date-fns/tz/date/index.cjs +85 -0
- package/dist/node_modules/.pnpm/@date-fns_tz@1.4.1/node_modules/@date-fns/tz/date/index.mjs +83 -0
- package/dist/node_modules/.pnpm/@date-fns_tz@1.4.1/node_modules/@date-fns/tz/date/mini.cjs +237 -0
- package/dist/node_modules/.pnpm/@date-fns_tz@1.4.1/node_modules/@date-fns/tz/date/mini.mjs +235 -0
- package/dist/node_modules/.pnpm/@date-fns_tz@1.4.1/node_modules/@date-fns/tz/tzName/index.cjs +41 -0
- package/dist/node_modules/.pnpm/@date-fns_tz@1.4.1/node_modules/@date-fns/tz/tzName/index.mjs +39 -0
- package/dist/node_modules/.pnpm/@date-fns_tz@1.4.1/node_modules/@date-fns/tz/tzOffset/index.cjs +46 -0
- package/dist/node_modules/.pnpm/@date-fns_tz@1.4.1/node_modules/@date-fns/tz/tzOffset/index.mjs +44 -0
- package/dist/node_modules/.pnpm/@radix-ui_react-checkbox@1.3.3_@types_react-dom@19.2.3_@types_react@19.2.6__@types_reac_c1e3fbdebd5ee34a254141dc5a2dcd28/node_modules/@radix-ui/react-checkbox/dist/index.cjs +296 -0
- package/dist/node_modules/.pnpm/@radix-ui_react-checkbox@1.3.3_@types_react-dom@19.2.3_@types_react@19.2.6__@types_reac_c1e3fbdebd5ee34a254141dc5a2dcd28/node_modules/@radix-ui/react-checkbox/dist/index.mjs +271 -0
- package/dist/node_modules/.pnpm/@radix-ui_react-popover@1.1.15_@types_react-dom@19.2.3_@types_react@19.2.6__@types_reac_5c5a3ca63b34dfe7d9d23f1e8cee675c/node_modules/@radix-ui/react-popover/dist/index.cjs +325 -0
- package/dist/node_modules/.pnpm/@radix-ui_react-popover@1.1.15_@types_react-dom@19.2.3_@types_react@19.2.6__@types_reac_5c5a3ca63b34dfe7d9d23f1e8cee675c/node_modules/@radix-ui/react-popover/dist/index.mjs +299 -0
- package/dist/node_modules/.pnpm/@radix-ui_react-primitive@2.1.4_@types_react-dom@19.2.3_@types_react@19.2.6__@types_rea_43b950ce9f6b8d55739cce33fe173a1c/node_modules/@radix-ui/react-primitive/dist/index.cjs +56 -0
- package/dist/node_modules/.pnpm/@radix-ui_react-primitive@2.1.4_@types_react-dom@19.2.3_@types_react@19.2.6__@types_rea_43b950ce9f6b8d55739cce33fe173a1c/node_modules/@radix-ui/react-primitive/dist/index.mjs +40 -0
- package/dist/node_modules/.pnpm/@radix-ui_react-radio-group@1.3.8_@types_react-dom@19.2.3_@types_react@19.2.6__@types_r_e0d4db654009398ea41c8e459eeae4ee/node_modules/@radix-ui/react-radio-group/dist/index.cjs +304 -0
- package/dist/node_modules/.pnpm/@radix-ui_react-radio-group@1.3.8_@types_react-dom@19.2.3_@types_react@19.2.6__@types_r_e0d4db654009398ea41c8e459eeae4ee/node_modules/@radix-ui/react-radio-group/dist/index.mjs +283 -0
- package/dist/node_modules/.pnpm/@radix-ui_react-separator@1.1.8_@types_react-dom@19.2.3_@types_react@19.2.6__@types_rea_8aae318b88145540882c32de0262377a/node_modules/@radix-ui/react-separator/dist/index.cjs +47 -0
- package/dist/node_modules/.pnpm/@radix-ui_react-separator@1.1.8_@types_react-dom@19.2.3_@types_react@19.2.6__@types_rea_8aae318b88145540882c32de0262377a/node_modules/@radix-ui/react-separator/dist/index.mjs +30 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/DayPicker.cjs +326 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/DayPicker.mjs +320 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/UI.cjs +122 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/UI.mjs +122 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/classes/CalendarDay.cjs +35 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/classes/CalendarDay.mjs +33 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/classes/CalendarMonth.cjs +16 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/classes/CalendarMonth.mjs +14 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/classes/CalendarWeek.cjs +15 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/classes/CalendarWeek.mjs +13 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/classes/DateLib.cjs +577 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/classes/DateLib.mjs +573 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/Button.cjs +19 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/Button.mjs +13 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/CaptionLabel.cjs +19 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/CaptionLabel.mjs +13 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/Chevron.cjs +26 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/Chevron.mjs +20 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/Day.cjs +24 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/Day.mjs +18 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/DayButton.cjs +25 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/DayButton.mjs +19 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/Dropdown.cjs +27 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/Dropdown.mjs +21 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/DropdownNav.cjs +19 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/DropdownNav.mjs +13 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/Footer.cjs +19 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/Footer.mjs +13 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/Month.cjs +21 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/Month.mjs +15 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/MonthCaption.cjs +20 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/MonthCaption.mjs +14 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/MonthGrid.cjs +19 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/MonthGrid.mjs +13 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/Months.cjs +19 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/Months.mjs +13 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/MonthsDropdown.cjs +21 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/MonthsDropdown.mjs +15 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/Nav.cjs +37 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/Nav.mjs +31 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/NextMonthButton.cjs +21 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/NextMonthButton.mjs +15 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/Option.cjs +19 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/Option.mjs +13 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/PreviousMonthButton.cjs +21 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/PreviousMonthButton.mjs +15 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/Root.cjs +20 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/Root.mjs +14 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/Select.cjs +19 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/Select.mjs +13 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/Week.cjs +20 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/Week.mjs +14 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/WeekNumber.cjs +20 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/WeekNumber.mjs +14 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/WeekNumberHeader.cjs +19 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/WeekNumberHeader.mjs +13 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/Weekday.cjs +19 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/Weekday.mjs +13 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/Weekdays.cjs +20 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/Weekdays.mjs +14 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/Weeks.cjs +19 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/Weeks.mjs +13 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/YearsDropdown.cjs +21 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/YearsDropdown.mjs +15 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/custom-components.cjs +57 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/components/custom-components.mjs +26 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/formatters/formatCaption.cjs +29 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/formatters/formatCaption.mjs +26 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/formatters/formatDay.cjs +21 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/formatters/formatDay.mjs +19 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/formatters/formatMonthDropdown.cjs +20 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/formatters/formatMonthDropdown.mjs +18 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/formatters/formatWeekNumber.cjs +23 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/formatters/formatWeekNumber.mjs +21 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/formatters/formatWeekNumberHeader.cjs +15 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/formatters/formatWeekNumberHeader.mjs +13 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/formatters/formatWeekdayName.cjs +21 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/formatters/formatWeekdayName.mjs +19 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/formatters/formatYearDropdown.cjs +26 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/formatters/formatYearDropdown.mjs +23 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/formatters/index.cjs +21 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/formatters/index.mjs +7 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/calculateFocusTarget.cjs +75 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/calculateFocusTarget.mjs +73 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/createGetModifiers.cjs +97 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/createGetModifiers.mjs +95 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/endOfBroadcastWeek.cjs +24 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/endOfBroadcastWeek.mjs +22 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/getBroadcastWeeksInMonth.cjs +30 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/getBroadcastWeeksInMonth.mjs +28 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/getClassNamesForModifiers.cjs +35 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/getClassNamesForModifiers.mjs +33 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/getComponents.cjs +22 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/getComponents.mjs +20 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/getDataAttributes.cjs +29 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/getDataAttributes.mjs +27 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/getDates.cjs +61 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/getDates.mjs +59 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/getDays.cjs +21 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/getDays.mjs +19 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/getDefaultClassNames.cjs +35 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/getDefaultClassNames.mjs +33 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/getDisplayMonths.cjs +26 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/getDisplayMonths.mjs +24 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/getFocusableDate.cjs +48 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/getFocusableDate.mjs +46 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/getFormatters.cjs +26 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/getFormatters.mjs +24 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/getInitialMonth.cjs +29 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/getInitialMonth.mjs +27 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/getLabels.cjs +55 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/getLabels.mjs +53 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/getMonthOptions.cjs +35 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/getMonthOptions.mjs +33 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/getMonths.cjs +71 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/getMonths.mjs +69 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/getNavMonth.cjs +53 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/getNavMonth.mjs +51 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/getNextFocus.cjs +42 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/getNextFocus.mjs +40 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/getNextMonth.cjs +38 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/getNextMonth.mjs +36 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/getPreviousMonth.cjs +39 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/getPreviousMonth.mjs +37 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/getStyleForModifiers.cjs +29 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/getStyleForModifiers.mjs +27 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/getWeekdays.cjs +28 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/getWeekdays.mjs +26 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/getWeeks.cjs +16 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/getWeeks.mjs +14 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/getYearOptions.cjs +38 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/getYearOptions.mjs +36 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/startOfBroadcastWeek.cjs +29 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/startOfBroadcastWeek.mjs +27 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/useControlledValue.cjs +33 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/helpers/useControlledValue.mjs +31 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/labels/index.cjs +29 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/labels/index.mjs +11 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/labels/labelDayButton.cjs +35 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/labels/labelDayButton.mjs +32 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/labels/labelGrid.cjs +28 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/labels/labelGrid.mjs +25 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/labels/labelGridcell.cjs +24 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/labels/labelGridcell.mjs +22 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/labels/labelMonthDropdown.cjs +16 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/labels/labelMonthDropdown.mjs +14 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/labels/labelNav.cjs +15 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/labels/labelNav.mjs +13 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/labels/labelNext.cjs +18 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/labels/labelNext.mjs +16 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/labels/labelPrevious.cjs +17 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/labels/labelPrevious.mjs +15 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/labels/labelWeekNumber.cjs +17 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/labels/labelWeekNumber.mjs +15 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/labels/labelWeekNumberHeader.cjs +16 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/labels/labelWeekNumberHeader.mjs +14 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/labels/labelWeekday.cjs +20 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/labels/labelWeekday.mjs +18 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/labels/labelYearDropdown.cjs +16 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/labels/labelYearDropdown.mjs +14 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/locale/en-US.cjs +69 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/locale/en-US.mjs +67 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/selection/useMulti.cjs +59 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/selection/useMulti.mjs +57 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/selection/useRange.cjs +47 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/selection/useRange.mjs +45 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/selection/useSingle.cjs +46 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/selection/useSingle.mjs +44 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/useAnimation.cjs +176 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/useAnimation.mjs +174 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/useCalendar.cjs +115 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/useCalendar.mjs +113 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/useDayPicker.cjs +28 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/useDayPicker.mjs +25 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/useFocus.cjs +58 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/useFocus.mjs +56 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/useSelection.cjs +33 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/useSelection.mjs +31 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/utils/addToRange.cjs +97 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/utils/addToRange.mjs +95 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/utils/convertMatchersToTimeZone.cjs +59 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/utils/convertMatchersToTimeZone.mjs +57 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/utils/dateMatchModifiers.cjs +64 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/utils/dateMatchModifiers.mjs +62 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/utils/rangeContainsDayOfWeek.cjs +32 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/utils/rangeContainsDayOfWeek.mjs +30 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/utils/rangeContainsModifiers.cjs +76 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/utils/rangeContainsModifiers.mjs +74 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/utils/rangeIncludesDate.cjs +37 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/utils/rangeIncludesDate.mjs +35 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/utils/rangeOverlaps.cjs +23 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/utils/rangeOverlaps.mjs +21 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/utils/toTimeZone.cjs +18 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/utils/toTimeZone.mjs +16 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/utils/typeguards.cjs +73 -0
- package/dist/node_modules/.pnpm/react-day-picker@9.12.0_react@19.2.0/node_modules/react-day-picker/dist/esm/utils/typeguards.mjs +66 -0
- package/dist/packages/better-stack/src/plugins/ai-chat/client/components/chat-interface.cjs +7 -0
- package/dist/packages/better-stack/src/plugins/ai-chat/client/components/chat-interface.mjs +7 -0
- package/dist/packages/better-stack/src/plugins/ai-chat/client/components/chat-sidebar.cjs +131 -124
- package/dist/packages/better-stack/src/plugins/ai-chat/client/components/chat-sidebar.mjs +131 -124
- package/dist/packages/better-stack/src/plugins/ai-chat/schemas.cjs +23 -23
- package/dist/packages/better-stack/src/plugins/blog/api/plugin.cjs +28 -12
- package/dist/packages/better-stack/src/plugins/blog/api/plugin.mjs +18 -2
- package/dist/packages/better-stack/src/plugins/blog/client/components/loading/form-page-skeleton.cjs +1 -1
- package/dist/packages/better-stack/src/plugins/blog/client/components/loading/form-page-skeleton.mjs +1 -1
- package/dist/packages/better-stack/src/plugins/blog/client/components/loading/list-page-skeleton.cjs +1 -1
- package/dist/packages/better-stack/src/plugins/blog/client/components/loading/list-page-skeleton.mjs +1 -1
- package/dist/packages/better-stack/src/plugins/blog/client/components/loading/post-page-skeleton.cjs +1 -1
- package/dist/packages/better-stack/src/plugins/blog/client/components/loading/post-page-skeleton.mjs +1 -1
- package/dist/packages/better-stack/src/plugins/blog/client/components/shared/page-wrapper.cjs +10 -6
- package/dist/packages/better-stack/src/plugins/blog/client/components/shared/page-wrapper.mjs +11 -7
- package/dist/packages/better-stack/src/plugins/blog/schemas.cjs +17 -17
- package/dist/packages/better-stack/src/plugins/cms/api/plugin.cjs +457 -0
- package/dist/packages/better-stack/src/plugins/cms/api/plugin.mjs +455 -0
- package/dist/packages/better-stack/src/plugins/cms/client/components/forms/content-form.cjs +299 -0
- package/dist/packages/better-stack/src/plugins/cms/client/components/forms/content-form.mjs +297 -0
- package/dist/packages/better-stack/src/plugins/cms/client/components/forms/file-upload.cjs +118 -0
- package/dist/packages/better-stack/src/plugins/cms/client/components/forms/file-upload.mjs +116 -0
- package/dist/packages/better-stack/src/plugins/cms/client/components/loading/dashboard-skeleton.cjs +18 -0
- package/dist/packages/better-stack/src/plugins/cms/client/components/loading/dashboard-skeleton.mjs +16 -0
- package/dist/packages/better-stack/src/plugins/cms/client/components/loading/editor-skeleton.cjs +32 -0
- package/dist/packages/better-stack/src/plugins/cms/client/components/loading/editor-skeleton.mjs +30 -0
- package/dist/packages/better-stack/src/plugins/cms/client/components/loading/list-skeleton.cjs +32 -0
- package/dist/packages/better-stack/src/plugins/cms/client/components/loading/list-skeleton.mjs +30 -0
- package/dist/packages/better-stack/src/plugins/cms/client/components/pages/404-page.cjs +20 -0
- package/dist/packages/better-stack/src/plugins/cms/client/components/pages/404-page.mjs +18 -0
- package/dist/packages/better-stack/src/plugins/cms/client/components/pages/content-editor-page.cjs +46 -0
- package/dist/packages/better-stack/src/plugins/cms/client/components/pages/content-editor-page.internal.cjs +83 -0
- package/dist/packages/better-stack/src/plugins/cms/client/components/pages/content-editor-page.internal.mjs +81 -0
- package/dist/packages/better-stack/src/plugins/cms/client/components/pages/content-editor-page.mjs +44 -0
- package/dist/packages/better-stack/src/plugins/cms/client/components/pages/content-list-page.cjs +43 -0
- package/dist/packages/better-stack/src/plugins/cms/client/components/pages/content-list-page.internal.cjs +152 -0
- package/dist/packages/better-stack/src/plugins/cms/client/components/pages/content-list-page.internal.mjs +150 -0
- package/dist/packages/better-stack/src/plugins/cms/client/components/pages/content-list-page.mjs +41 -0
- package/dist/packages/better-stack/src/plugins/cms/client/components/pages/dashboard-page.cjs +39 -0
- package/dist/packages/better-stack/src/plugins/cms/client/components/pages/dashboard-page.internal.cjs +68 -0
- package/dist/packages/better-stack/src/plugins/cms/client/components/pages/dashboard-page.internal.mjs +66 -0
- package/dist/packages/better-stack/src/plugins/cms/client/components/pages/dashboard-page.mjs +37 -0
- package/dist/packages/better-stack/src/plugins/cms/client/components/shared/default-error.cjs +17 -0
- package/dist/packages/better-stack/src/plugins/cms/client/components/shared/default-error.mjs +15 -0
- package/dist/packages/better-stack/src/plugins/cms/client/components/shared/empty-state.cjs +16 -0
- package/dist/packages/better-stack/src/plugins/cms/client/components/shared/empty-state.mjs +14 -0
- package/dist/packages/better-stack/src/plugins/cms/client/components/shared/page-wrapper.cjs +27 -0
- package/dist/packages/better-stack/src/plugins/cms/client/components/shared/page-wrapper.mjs +25 -0
- package/dist/packages/better-stack/src/plugins/cms/client/hooks/cms-hooks.cjs +402 -0
- package/dist/packages/better-stack/src/plugins/cms/client/hooks/cms-hooks.mjs +390 -0
- package/dist/packages/better-stack/src/plugins/cms/client/localization/cms-common.cjs +29 -0
- package/dist/packages/better-stack/src/plugins/cms/client/localization/cms-common.mjs +27 -0
- package/dist/packages/better-stack/src/plugins/cms/client/localization/cms-dashboard.cjs +13 -0
- package/dist/packages/better-stack/src/plugins/cms/client/localization/cms-dashboard.mjs +11 -0
- package/dist/packages/better-stack/src/plugins/cms/client/localization/cms-editor.cjs +12 -0
- package/dist/packages/better-stack/src/plugins/cms/client/localization/cms-editor.mjs +10 -0
- package/dist/packages/better-stack/src/plugins/cms/client/localization/cms-list.cjs +18 -0
- package/dist/packages/better-stack/src/plugins/cms/client/localization/cms-list.mjs +16 -0
- package/dist/packages/better-stack/src/plugins/cms/client/localization/cms-toasts.cjs +12 -0
- package/dist/packages/better-stack/src/plugins/cms/client/localization/cms-toasts.mjs +10 -0
- package/dist/packages/better-stack/src/plugins/cms/client/localization/index.cjs +17 -0
- package/dist/packages/better-stack/src/plugins/cms/client/localization/index.mjs +15 -0
- package/dist/packages/better-stack/src/plugins/cms/client/plugin.cjs +185 -0
- package/dist/packages/better-stack/src/plugins/cms/client/plugin.mjs +183 -0
- package/dist/packages/better-stack/src/plugins/cms/db.cjs +76 -0
- package/dist/packages/better-stack/src/plugins/cms/db.mjs +74 -0
- package/dist/packages/better-stack/src/plugins/cms/schemas.cjs +54 -0
- package/dist/packages/better-stack/src/plugins/cms/schemas.mjs +49 -0
- package/dist/packages/better-stack/src/plugins/cms/utils.cjs +15 -0
- package/dist/packages/better-stack/src/plugins/cms/utils.mjs +9 -0
- package/dist/packages/ui/src/components/calendar.cjs +205 -0
- package/dist/packages/ui/src/components/calendar.mjs +188 -0
- package/dist/packages/ui/src/components/checkbox.cjs +34 -0
- package/dist/packages/ui/src/components/checkbox.mjs +32 -0
- package/dist/packages/ui/src/components/date-picker.cjs +41 -0
- package/dist/packages/ui/src/components/date-picker.mjs +39 -0
- package/dist/packages/ui/src/components/form.mjs +1 -1
- package/dist/packages/{better-stack/src/plugins/blog/client/components/shared → ui/src/components}/page-layout.cjs +2 -1
- package/dist/packages/{better-stack/src/plugins/blog/client/components/shared → ui/src/components}/page-layout.mjs +2 -1
- package/dist/packages/ui/src/components/page-wrapper.cjs +20 -0
- package/dist/packages/ui/src/components/page-wrapper.mjs +18 -0
- package/dist/packages/ui/src/components/popover.cjs +41 -0
- package/dist/packages/ui/src/components/popover.mjs +37 -0
- package/dist/packages/ui/src/components/radio-group.cjs +48 -0
- package/dist/packages/ui/src/components/radio-group.mjs +45 -0
- package/dist/packages/ui/src/components/separator.cjs +29 -0
- package/dist/packages/ui/src/components/separator.mjs +27 -0
- package/dist/packages/ui/src/components/table.cjs +89 -0
- package/dist/packages/ui/src/components/table.mjs +82 -0
- package/dist/packages/ui/src/components/ui/auto-form/common/label.cjs +18 -0
- package/dist/packages/ui/src/components/ui/auto-form/common/label.mjs +16 -0
- package/dist/packages/ui/src/components/ui/auto-form/common/tooltip.cjs +9 -0
- package/dist/packages/ui/src/components/ui/auto-form/common/tooltip.mjs +7 -0
- package/dist/packages/ui/src/components/ui/auto-form/config.cjs +42 -0
- package/dist/packages/ui/src/components/ui/auto-form/config.mjs +39 -0
- package/dist/packages/ui/src/components/ui/auto-form/dependencies.cjs +48 -0
- package/dist/packages/ui/src/components/ui/auto-form/dependencies.mjs +46 -0
- package/dist/packages/ui/src/components/ui/auto-form/fields/array.cjs +103 -0
- package/dist/packages/ui/src/components/ui/auto-form/fields/array.mjs +87 -0
- package/dist/packages/ui/src/components/ui/auto-form/fields/checkbox.cjs +38 -0
- package/dist/packages/ui/src/components/ui/auto-form/fields/checkbox.mjs +36 -0
- package/dist/packages/ui/src/components/ui/auto-form/fields/date.cjs +37 -0
- package/dist/packages/ui/src/components/ui/auto-form/fields/date.mjs +35 -0
- package/dist/packages/ui/src/components/ui/auto-form/fields/enum.cjs +73 -0
- package/dist/packages/ui/src/components/ui/auto-form/fields/enum.mjs +71 -0
- package/dist/packages/ui/src/components/ui/auto-form/fields/file.cjs +63 -0
- package/dist/packages/ui/src/components/ui/auto-form/fields/file.mjs +61 -0
- package/dist/packages/ui/src/components/ui/auto-form/fields/input.cjs +32 -0
- package/dist/packages/ui/src/components/ui/auto-form/fields/input.mjs +30 -0
- package/dist/packages/ui/src/components/ui/auto-form/fields/number.cjs +31 -0
- package/dist/packages/ui/src/components/ui/auto-form/fields/number.mjs +29 -0
- package/dist/packages/ui/src/components/ui/auto-form/fields/object.cjs +149 -0
- package/dist/packages/ui/src/components/ui/auto-form/fields/object.mjs +133 -0
- package/dist/packages/ui/src/components/ui/auto-form/fields/radio-group.cjs +67 -0
- package/dist/packages/ui/src/components/ui/auto-form/fields/radio-group.mjs +65 -0
- package/dist/packages/ui/src/components/ui/auto-form/fields/switch.cjs +38 -0
- package/dist/packages/ui/src/components/ui/auto-form/fields/switch.mjs +36 -0
- package/dist/packages/ui/src/components/ui/auto-form/fields/textarea.cjs +31 -0
- package/dist/packages/ui/src/components/ui/auto-form/fields/textarea.mjs +29 -0
- package/dist/packages/ui/src/components/ui/auto-form/index.cjs +87 -0
- package/dist/packages/ui/src/components/ui/auto-form/index.mjs +78 -0
- package/dist/packages/ui/src/components/ui/auto-form/types.cjs +11 -0
- package/dist/packages/ui/src/components/ui/auto-form/types.mjs +9 -0
- package/dist/packages/ui/src/components/ui/auto-form/utils.cjs +179 -0
- package/dist/packages/ui/src/components/ui/auto-form/utils.mjs +169 -0
- package/dist/plugins/ai-chat/api/index.d.cts +1 -1
- package/dist/plugins/ai-chat/api/index.d.mts +1 -1
- package/dist/plugins/ai-chat/api/index.d.ts +1 -1
- package/dist/plugins/ai-chat/client/hooks/index.d.cts +1 -1
- package/dist/plugins/ai-chat/client/hooks/index.d.mts +1 -1
- package/dist/plugins/ai-chat/client/hooks/index.d.ts +1 -1
- package/dist/plugins/ai-chat/query-keys.d.cts +56 -250
- package/dist/plugins/ai-chat/query-keys.d.mts +56 -250
- package/dist/plugins/ai-chat/query-keys.d.ts +56 -250
- package/dist/plugins/blog/query-keys.d.cts +102 -362
- package/dist/plugins/blog/query-keys.d.mts +102 -362
- package/dist/plugins/blog/query-keys.d.ts +102 -362
- package/dist/plugins/cms/api/index.cjs +7 -0
- package/dist/plugins/cms/api/index.d.cts +101 -0
- package/dist/plugins/cms/api/index.d.mts +101 -0
- package/dist/plugins/cms/api/index.d.ts +101 -0
- package/dist/plugins/cms/api/index.mjs +1 -0
- package/dist/plugins/cms/client/components/index.cjs +14 -0
- package/dist/plugins/cms/client/components/index.d.cts +20 -0
- package/dist/plugins/cms/client/components/index.d.mts +20 -0
- package/dist/plugins/cms/client/components/index.d.ts +20 -0
- package/dist/plugins/cms/client/components/index.mjs +10 -0
- package/dist/plugins/cms/client/hooks/index.cjs +17 -0
- package/dist/plugins/cms/client/hooks/index.d.cts +203 -0
- package/dist/plugins/cms/client/hooks/index.d.mts +203 -0
- package/dist/plugins/cms/client/hooks/index.d.ts +203 -0
- package/dist/plugins/cms/client/hooks/index.mjs +1 -0
- package/dist/plugins/cms/client/index.cjs +9 -0
- package/dist/plugins/cms/client/index.d.cts +344 -0
- package/dist/plugins/cms/client/index.d.mts +344 -0
- package/dist/plugins/cms/client/index.d.ts +344 -0
- package/dist/plugins/cms/client/index.mjs +2 -0
- package/dist/plugins/cms/client.css +2 -0
- package/dist/plugins/cms/query-keys.cjs +137 -0
- package/dist/plugins/cms/query-keys.d.cts +79 -0
- package/dist/plugins/cms/query-keys.d.mts +79 -0
- package/dist/plugins/cms/query-keys.d.ts +79 -0
- package/dist/plugins/cms/query-keys.mjs +135 -0
- package/dist/plugins/cms/style.css +19 -0
- package/dist/shared/stack.BwkyFwF8.d.cts +135 -0
- package/dist/shared/stack.DBqxCs0V.d.mts +135 -0
- package/dist/shared/stack.DwnJA87a.d.ts +135 -0
- package/dist/shared/stack.NZJogTUn.d.cts +66 -0
- package/dist/shared/stack.NZJogTUn.d.mts +66 -0
- package/dist/shared/stack.NZJogTUn.d.ts +66 -0
- package/package.json +58 -5
- package/src/plugins/ai-chat/client/components/chat-interface.tsx +15 -0
- package/src/plugins/ai-chat/client/components/chat-sidebar.tsx +4 -1
- package/src/plugins/blog/api/plugin.ts +29 -2
- package/src/plugins/blog/client/components/loading/form-page-skeleton.tsx +1 -1
- package/src/plugins/blog/client/components/loading/list-page-skeleton.tsx +1 -1
- package/src/plugins/blog/client/components/loading/post-page-skeleton.tsx +1 -1
- package/src/plugins/blog/client/components/shared/page-wrapper.tsx +9 -9
- package/src/plugins/cms/__tests__/schema-roundtrip.test.ts +611 -0
- package/src/plugins/cms/api/index.ts +1 -0
- package/src/plugins/cms/api/plugin.ts +611 -0
- package/src/plugins/cms/client/components/forms/content-form.tsx +477 -0
- package/src/plugins/cms/client/components/forms/file-upload.tsx +164 -0
- package/src/plugins/cms/client/components/index.tsx +10 -0
- package/src/plugins/cms/client/components/loading/dashboard-skeleton.tsx +22 -0
- package/src/plugins/cms/client/components/loading/editor-skeleton.tsx +35 -0
- package/src/plugins/cms/client/components/loading/index.tsx +3 -0
- package/src/plugins/cms/client/components/loading/list-skeleton.tsx +38 -0
- package/src/plugins/cms/client/components/pages/404-page.tsx +27 -0
- package/src/plugins/cms/client/components/pages/content-editor-page.internal.tsx +121 -0
- package/src/plugins/cms/client/components/pages/content-editor-page.tsx +50 -0
- package/src/plugins/cms/client/components/pages/content-list-page.internal.tsx +198 -0
- package/src/plugins/cms/client/components/pages/content-list-page.tsx +45 -0
- package/src/plugins/cms/client/components/pages/dashboard-page.internal.tsx +94 -0
- package/src/plugins/cms/client/components/pages/dashboard-page.tsx +37 -0
- package/src/plugins/cms/client/components/shared/default-error.tsx +30 -0
- package/src/plugins/cms/client/components/shared/empty-state.tsx +26 -0
- package/src/plugins/cms/client/components/shared/page-wrapper.tsx +32 -0
- package/src/plugins/cms/client/components/shared/pagination.tsx +72 -0
- package/src/plugins/cms/client/hooks/cms-hooks.tsx +724 -0
- package/src/plugins/cms/client/hooks/index.tsx +1 -0
- package/src/plugins/cms/client/index.ts +13 -0
- package/src/plugins/cms/client/localization/cms-common.ts +29 -0
- package/src/plugins/cms/client/localization/cms-dashboard.ts +10 -0
- package/src/plugins/cms/client/localization/cms-editor.ts +8 -0
- package/src/plugins/cms/client/localization/cms-list.ts +14 -0
- package/src/plugins/cms/client/localization/cms-toasts.ts +8 -0
- package/src/plugins/cms/client/localization/index.ts +15 -0
- package/src/plugins/cms/client/overrides.ts +166 -0
- package/src/plugins/cms/client/plugin.tsx +283 -0
- package/src/plugins/cms/client.css +2 -0
- package/src/plugins/cms/db.ts +76 -0
- package/src/plugins/cms/query-keys.ts +186 -0
- package/src/plugins/cms/schemas.ts +81 -0
- package/src/plugins/cms/style.css +19 -0
- package/src/plugins/cms/types.ts +220 -0
- package/src/plugins/cms/utils.ts +11 -0
- package/src/plugins/blog/client/components/shared/page-layout.tsx +0 -23
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { A as AutoFormFieldType } from './stack.NZJogTUn.mjs';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Configuration for a content type defined by the developer
|
|
6
|
+
*/
|
|
7
|
+
interface ContentTypeConfig {
|
|
8
|
+
/** Display name for the content type (e.g., "Product", "Testimonial") */
|
|
9
|
+
name: string;
|
|
10
|
+
/** URL-friendly slug (e.g., "product", "testimonial") */
|
|
11
|
+
slug: string;
|
|
12
|
+
/** Optional description shown in the admin UI */
|
|
13
|
+
description?: string;
|
|
14
|
+
/** Zod schema defining the content type's fields */
|
|
15
|
+
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
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Content type stored in the database
|
|
29
|
+
*/
|
|
30
|
+
type ContentType = {
|
|
31
|
+
id: string;
|
|
32
|
+
/** Display name */
|
|
33
|
+
name: string;
|
|
34
|
+
/** URL-friendly slug - unique identifier */
|
|
35
|
+
slug: string;
|
|
36
|
+
/** Optional description */
|
|
37
|
+
description?: string;
|
|
38
|
+
/** JSON Schema representation of the Zod schema (stringified) */
|
|
39
|
+
jsonSchema: string;
|
|
40
|
+
/** Optional field configuration JSON (stringified) */
|
|
41
|
+
fieldConfig?: string;
|
|
42
|
+
createdAt: Date;
|
|
43
|
+
updatedAt: Date;
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Content item stored in the database
|
|
47
|
+
*/
|
|
48
|
+
type ContentItem = {
|
|
49
|
+
id: string;
|
|
50
|
+
/** Reference to the content type */
|
|
51
|
+
contentTypeId: string;
|
|
52
|
+
/** URL-friendly slug - unique within content type */
|
|
53
|
+
slug: string;
|
|
54
|
+
/** JSON data matching the content type's schema (stringified) */
|
|
55
|
+
data: string;
|
|
56
|
+
/** Optional author ID for tracking who created/modified */
|
|
57
|
+
authorId?: string;
|
|
58
|
+
createdAt: Date;
|
|
59
|
+
updatedAt: Date;
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* Serialized content type for API responses (dates as strings)
|
|
63
|
+
*/
|
|
64
|
+
interface SerializedContentType extends Omit<ContentType, "createdAt" | "updatedAt"> {
|
|
65
|
+
createdAt: string;
|
|
66
|
+
updatedAt: string;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Serialized content item for API responses (dates as strings)
|
|
70
|
+
*/
|
|
71
|
+
interface SerializedContentItem extends Omit<ContentItem, "createdAt" | "updatedAt"> {
|
|
72
|
+
createdAt: string;
|
|
73
|
+
updatedAt: string;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Serialized content item with parsed data and joined content type
|
|
77
|
+
* @template TData - The type of the parsed data (defaults to Record<string, unknown>)
|
|
78
|
+
*/
|
|
79
|
+
interface SerializedContentItemWithType<TData = Record<string, unknown>> extends SerializedContentItem {
|
|
80
|
+
/** Parsed data object (JSON.parse of data field) */
|
|
81
|
+
parsedData: TData;
|
|
82
|
+
/** Joined content type */
|
|
83
|
+
contentType?: SerializedContentType;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Paginated list response for content items
|
|
87
|
+
* @template TData - The type of the parsed data (defaults to Record<string, unknown>)
|
|
88
|
+
*/
|
|
89
|
+
interface PaginatedContentItems<TData = Record<string, unknown>> {
|
|
90
|
+
items: SerializedContentItemWithType<TData>[];
|
|
91
|
+
total: number;
|
|
92
|
+
limit: number;
|
|
93
|
+
offset: number;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Context passed to CMS backend hooks
|
|
97
|
+
*/
|
|
98
|
+
interface CMSHookContext {
|
|
99
|
+
/** Content type slug */
|
|
100
|
+
typeSlug: string;
|
|
101
|
+
/** User ID if authenticated */
|
|
102
|
+
userId?: string;
|
|
103
|
+
/** Request headers */
|
|
104
|
+
headers?: Headers;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Hooks for customizing CMS backend behavior
|
|
108
|
+
*/
|
|
109
|
+
interface CMSBackendHooks {
|
|
110
|
+
/** Called before creating a content item */
|
|
111
|
+
onBeforeCreate?: (data: Record<string, unknown>, context: CMSHookContext) => Promise<Record<string, unknown> | false> | Record<string, unknown> | false;
|
|
112
|
+
/** Called after creating a content item */
|
|
113
|
+
onAfterCreate?: (item: SerializedContentItem, context: CMSHookContext) => Promise<void> | void;
|
|
114
|
+
/** Called before updating a content item */
|
|
115
|
+
onBeforeUpdate?: (id: string, data: Record<string, unknown>, context: CMSHookContext) => Promise<Record<string, unknown> | false> | Record<string, unknown> | false;
|
|
116
|
+
/** Called after updating a content item */
|
|
117
|
+
onAfterUpdate?: (item: SerializedContentItem, context: CMSHookContext) => Promise<void> | void;
|
|
118
|
+
/** Called before deleting a content item */
|
|
119
|
+
onBeforeDelete?: (id: string, context: CMSHookContext) => Promise<boolean> | boolean;
|
|
120
|
+
/** Called after deleting a content item */
|
|
121
|
+
onAfterDelete?: (id: string, context: CMSHookContext) => Promise<void> | void;
|
|
122
|
+
/** Called on any CMS error */
|
|
123
|
+
onError?: (error: Error, operation: "create" | "update" | "delete" | "list" | "get", context: CMSHookContext) => Promise<void> | void;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Configuration for the CMS backend plugin
|
|
127
|
+
*/
|
|
128
|
+
interface CMSBackendConfig {
|
|
129
|
+
/** Content types defined by the developer */
|
|
130
|
+
contentTypes: ContentTypeConfig[];
|
|
131
|
+
/** Optional hooks for customizing behavior */
|
|
132
|
+
hooks?: CMSBackendHooks;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
export type { CMSBackendConfig as C, PaginatedContentItems as P, SerializedContentType as S, SerializedContentItemWithType as a };
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { A as AutoFormFieldType } from './stack.NZJogTUn.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Configuration for a content type defined by the developer
|
|
6
|
+
*/
|
|
7
|
+
interface ContentTypeConfig {
|
|
8
|
+
/** Display name for the content type (e.g., "Product", "Testimonial") */
|
|
9
|
+
name: string;
|
|
10
|
+
/** URL-friendly slug (e.g., "product", "testimonial") */
|
|
11
|
+
slug: string;
|
|
12
|
+
/** Optional description shown in the admin UI */
|
|
13
|
+
description?: string;
|
|
14
|
+
/** Zod schema defining the content type's fields */
|
|
15
|
+
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
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Content type stored in the database
|
|
29
|
+
*/
|
|
30
|
+
type ContentType = {
|
|
31
|
+
id: string;
|
|
32
|
+
/** Display name */
|
|
33
|
+
name: string;
|
|
34
|
+
/** URL-friendly slug - unique identifier */
|
|
35
|
+
slug: string;
|
|
36
|
+
/** Optional description */
|
|
37
|
+
description?: string;
|
|
38
|
+
/** JSON Schema representation of the Zod schema (stringified) */
|
|
39
|
+
jsonSchema: string;
|
|
40
|
+
/** Optional field configuration JSON (stringified) */
|
|
41
|
+
fieldConfig?: string;
|
|
42
|
+
createdAt: Date;
|
|
43
|
+
updatedAt: Date;
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Content item stored in the database
|
|
47
|
+
*/
|
|
48
|
+
type ContentItem = {
|
|
49
|
+
id: string;
|
|
50
|
+
/** Reference to the content type */
|
|
51
|
+
contentTypeId: string;
|
|
52
|
+
/** URL-friendly slug - unique within content type */
|
|
53
|
+
slug: string;
|
|
54
|
+
/** JSON data matching the content type's schema (stringified) */
|
|
55
|
+
data: string;
|
|
56
|
+
/** Optional author ID for tracking who created/modified */
|
|
57
|
+
authorId?: string;
|
|
58
|
+
createdAt: Date;
|
|
59
|
+
updatedAt: Date;
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* Serialized content type for API responses (dates as strings)
|
|
63
|
+
*/
|
|
64
|
+
interface SerializedContentType extends Omit<ContentType, "createdAt" | "updatedAt"> {
|
|
65
|
+
createdAt: string;
|
|
66
|
+
updatedAt: string;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Serialized content item for API responses (dates as strings)
|
|
70
|
+
*/
|
|
71
|
+
interface SerializedContentItem extends Omit<ContentItem, "createdAt" | "updatedAt"> {
|
|
72
|
+
createdAt: string;
|
|
73
|
+
updatedAt: string;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Serialized content item with parsed data and joined content type
|
|
77
|
+
* @template TData - The type of the parsed data (defaults to Record<string, unknown>)
|
|
78
|
+
*/
|
|
79
|
+
interface SerializedContentItemWithType<TData = Record<string, unknown>> extends SerializedContentItem {
|
|
80
|
+
/** Parsed data object (JSON.parse of data field) */
|
|
81
|
+
parsedData: TData;
|
|
82
|
+
/** Joined content type */
|
|
83
|
+
contentType?: SerializedContentType;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Paginated list response for content items
|
|
87
|
+
* @template TData - The type of the parsed data (defaults to Record<string, unknown>)
|
|
88
|
+
*/
|
|
89
|
+
interface PaginatedContentItems<TData = Record<string, unknown>> {
|
|
90
|
+
items: SerializedContentItemWithType<TData>[];
|
|
91
|
+
total: number;
|
|
92
|
+
limit: number;
|
|
93
|
+
offset: number;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Context passed to CMS backend hooks
|
|
97
|
+
*/
|
|
98
|
+
interface CMSHookContext {
|
|
99
|
+
/** Content type slug */
|
|
100
|
+
typeSlug: string;
|
|
101
|
+
/** User ID if authenticated */
|
|
102
|
+
userId?: string;
|
|
103
|
+
/** Request headers */
|
|
104
|
+
headers?: Headers;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Hooks for customizing CMS backend behavior
|
|
108
|
+
*/
|
|
109
|
+
interface CMSBackendHooks {
|
|
110
|
+
/** Called before creating a content item */
|
|
111
|
+
onBeforeCreate?: (data: Record<string, unknown>, context: CMSHookContext) => Promise<Record<string, unknown> | false> | Record<string, unknown> | false;
|
|
112
|
+
/** Called after creating a content item */
|
|
113
|
+
onAfterCreate?: (item: SerializedContentItem, context: CMSHookContext) => Promise<void> | void;
|
|
114
|
+
/** Called before updating a content item */
|
|
115
|
+
onBeforeUpdate?: (id: string, data: Record<string, unknown>, context: CMSHookContext) => Promise<Record<string, unknown> | false> | Record<string, unknown> | false;
|
|
116
|
+
/** Called after updating a content item */
|
|
117
|
+
onAfterUpdate?: (item: SerializedContentItem, context: CMSHookContext) => Promise<void> | void;
|
|
118
|
+
/** Called before deleting a content item */
|
|
119
|
+
onBeforeDelete?: (id: string, context: CMSHookContext) => Promise<boolean> | boolean;
|
|
120
|
+
/** Called after deleting a content item */
|
|
121
|
+
onAfterDelete?: (id: string, context: CMSHookContext) => Promise<void> | void;
|
|
122
|
+
/** Called on any CMS error */
|
|
123
|
+
onError?: (error: Error, operation: "create" | "update" | "delete" | "list" | "get", context: CMSHookContext) => Promise<void> | void;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Configuration for the CMS backend plugin
|
|
127
|
+
*/
|
|
128
|
+
interface CMSBackendConfig {
|
|
129
|
+
/** Content types defined by the developer */
|
|
130
|
+
contentTypes: ContentTypeConfig[];
|
|
131
|
+
/** Optional hooks for customizing behavior */
|
|
132
|
+
hooks?: CMSBackendHooks;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
export type { CMSBackendConfig as C, PaginatedContentItems as P, SerializedContentType as S, SerializedContentItemWithType as a };
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { ControllerRenderProps, FieldValues } from 'react-hook-form';
|
|
2
|
+
import * as zod from 'zod';
|
|
3
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
4
|
+
|
|
5
|
+
declare function AutoFormCheckbox({ label, isRequired, field, fieldConfigItem, fieldProps, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
|
|
6
|
+
|
|
7
|
+
declare function AutoFormDate({ label, isRequired, field, fieldConfigItem, fieldProps, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
|
|
8
|
+
|
|
9
|
+
declare function AutoFormEnum({ label, isRequired, field, fieldConfigItem, zodItem, fieldProps, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
|
|
10
|
+
|
|
11
|
+
declare function AutoFormFile({ label, isRequired, fieldConfigItem, fieldProps, field, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
|
|
12
|
+
|
|
13
|
+
declare function AutoFormInput({ label, isRequired, fieldConfigItem, fieldProps, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
|
|
14
|
+
|
|
15
|
+
declare function AutoFormNumber({ label, isRequired, fieldConfigItem, fieldProps, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
|
|
16
|
+
|
|
17
|
+
declare function AutoFormRadioGroup({ label, isRequired, field, zodItem, fieldProps, fieldConfigItem, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
|
|
18
|
+
|
|
19
|
+
declare function AutoFormSwitch({ label, isRequired, field, fieldConfigItem, fieldProps, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
|
|
20
|
+
|
|
21
|
+
declare function AutoFormTextarea({ label, isRequired, fieldConfigItem, fieldProps, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
|
|
22
|
+
|
|
23
|
+
declare const INPUT_COMPONENTS: {
|
|
24
|
+
checkbox: typeof AutoFormCheckbox;
|
|
25
|
+
date: typeof AutoFormDate;
|
|
26
|
+
select: typeof AutoFormEnum;
|
|
27
|
+
radio: typeof AutoFormRadioGroup;
|
|
28
|
+
switch: typeof AutoFormSwitch;
|
|
29
|
+
textarea: typeof AutoFormTextarea;
|
|
30
|
+
number: typeof AutoFormNumber;
|
|
31
|
+
file: typeof AutoFormFile;
|
|
32
|
+
fallback: typeof AutoFormInput;
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Available field types for AutoForm fieldConfig.
|
|
37
|
+
* These map to the input components in ./config.ts
|
|
38
|
+
*/
|
|
39
|
+
type AutoFormFieldType = keyof typeof INPUT_COMPONENTS;
|
|
40
|
+
type FieldConfigItem = {
|
|
41
|
+
description?: React.ReactNode;
|
|
42
|
+
inputProps?: React.InputHTMLAttributes<HTMLInputElement> & React.TextareaHTMLAttributes<HTMLTextAreaElement> & {
|
|
43
|
+
showLabel?: boolean;
|
|
44
|
+
};
|
|
45
|
+
label?: string;
|
|
46
|
+
fieldType?: keyof typeof INPUT_COMPONENTS | React.FC<AutoFormInputComponentProps>;
|
|
47
|
+
renderParent?: (props: {
|
|
48
|
+
children: React.ReactNode;
|
|
49
|
+
}) => React.ReactElement | null;
|
|
50
|
+
order?: number;
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* A FormInput component can handle a specific Zod type (e.g. "ZodBoolean")
|
|
54
|
+
*/
|
|
55
|
+
type AutoFormInputComponentProps = {
|
|
56
|
+
zodInputProps: React.InputHTMLAttributes<HTMLInputElement>;
|
|
57
|
+
field: ControllerRenderProps<FieldValues, any>;
|
|
58
|
+
fieldConfigItem: FieldConfigItem;
|
|
59
|
+
label: string;
|
|
60
|
+
isRequired: boolean;
|
|
61
|
+
fieldProps: any;
|
|
62
|
+
zodItem: zod.ZodType;
|
|
63
|
+
className?: string;
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
export type { AutoFormFieldType as A, AutoFormInputComponentProps as a };
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { ControllerRenderProps, FieldValues } from 'react-hook-form';
|
|
2
|
+
import * as zod from 'zod';
|
|
3
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
4
|
+
|
|
5
|
+
declare function AutoFormCheckbox({ label, isRequired, field, fieldConfigItem, fieldProps, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
|
|
6
|
+
|
|
7
|
+
declare function AutoFormDate({ label, isRequired, field, fieldConfigItem, fieldProps, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
|
|
8
|
+
|
|
9
|
+
declare function AutoFormEnum({ label, isRequired, field, fieldConfigItem, zodItem, fieldProps, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
|
|
10
|
+
|
|
11
|
+
declare function AutoFormFile({ label, isRequired, fieldConfigItem, fieldProps, field, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
|
|
12
|
+
|
|
13
|
+
declare function AutoFormInput({ label, isRequired, fieldConfigItem, fieldProps, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
|
|
14
|
+
|
|
15
|
+
declare function AutoFormNumber({ label, isRequired, fieldConfigItem, fieldProps, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
|
|
16
|
+
|
|
17
|
+
declare function AutoFormRadioGroup({ label, isRequired, field, zodItem, fieldProps, fieldConfigItem, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
|
|
18
|
+
|
|
19
|
+
declare function AutoFormSwitch({ label, isRequired, field, fieldConfigItem, fieldProps, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
|
|
20
|
+
|
|
21
|
+
declare function AutoFormTextarea({ label, isRequired, fieldConfigItem, fieldProps, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
|
|
22
|
+
|
|
23
|
+
declare const INPUT_COMPONENTS: {
|
|
24
|
+
checkbox: typeof AutoFormCheckbox;
|
|
25
|
+
date: typeof AutoFormDate;
|
|
26
|
+
select: typeof AutoFormEnum;
|
|
27
|
+
radio: typeof AutoFormRadioGroup;
|
|
28
|
+
switch: typeof AutoFormSwitch;
|
|
29
|
+
textarea: typeof AutoFormTextarea;
|
|
30
|
+
number: typeof AutoFormNumber;
|
|
31
|
+
file: typeof AutoFormFile;
|
|
32
|
+
fallback: typeof AutoFormInput;
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Available field types for AutoForm fieldConfig.
|
|
37
|
+
* These map to the input components in ./config.ts
|
|
38
|
+
*/
|
|
39
|
+
type AutoFormFieldType = keyof typeof INPUT_COMPONENTS;
|
|
40
|
+
type FieldConfigItem = {
|
|
41
|
+
description?: React.ReactNode;
|
|
42
|
+
inputProps?: React.InputHTMLAttributes<HTMLInputElement> & React.TextareaHTMLAttributes<HTMLTextAreaElement> & {
|
|
43
|
+
showLabel?: boolean;
|
|
44
|
+
};
|
|
45
|
+
label?: string;
|
|
46
|
+
fieldType?: keyof typeof INPUT_COMPONENTS | React.FC<AutoFormInputComponentProps>;
|
|
47
|
+
renderParent?: (props: {
|
|
48
|
+
children: React.ReactNode;
|
|
49
|
+
}) => React.ReactElement | null;
|
|
50
|
+
order?: number;
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* A FormInput component can handle a specific Zod type (e.g. "ZodBoolean")
|
|
54
|
+
*/
|
|
55
|
+
type AutoFormInputComponentProps = {
|
|
56
|
+
zodInputProps: React.InputHTMLAttributes<HTMLInputElement>;
|
|
57
|
+
field: ControllerRenderProps<FieldValues, any>;
|
|
58
|
+
fieldConfigItem: FieldConfigItem;
|
|
59
|
+
label: string;
|
|
60
|
+
isRequired: boolean;
|
|
61
|
+
fieldProps: any;
|
|
62
|
+
zodItem: zod.ZodType;
|
|
63
|
+
className?: string;
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
export type { AutoFormFieldType as A, AutoFormInputComponentProps as a };
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { ControllerRenderProps, FieldValues } from 'react-hook-form';
|
|
2
|
+
import * as zod from 'zod';
|
|
3
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
4
|
+
|
|
5
|
+
declare function AutoFormCheckbox({ label, isRequired, field, fieldConfigItem, fieldProps, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
|
|
6
|
+
|
|
7
|
+
declare function AutoFormDate({ label, isRequired, field, fieldConfigItem, fieldProps, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
|
|
8
|
+
|
|
9
|
+
declare function AutoFormEnum({ label, isRequired, field, fieldConfigItem, zodItem, fieldProps, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
|
|
10
|
+
|
|
11
|
+
declare function AutoFormFile({ label, isRequired, fieldConfigItem, fieldProps, field, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
|
|
12
|
+
|
|
13
|
+
declare function AutoFormInput({ label, isRequired, fieldConfigItem, fieldProps, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
|
|
14
|
+
|
|
15
|
+
declare function AutoFormNumber({ label, isRequired, fieldConfigItem, fieldProps, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
|
|
16
|
+
|
|
17
|
+
declare function AutoFormRadioGroup({ label, isRequired, field, zodItem, fieldProps, fieldConfigItem, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
|
|
18
|
+
|
|
19
|
+
declare function AutoFormSwitch({ label, isRequired, field, fieldConfigItem, fieldProps, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
|
|
20
|
+
|
|
21
|
+
declare function AutoFormTextarea({ label, isRequired, fieldConfigItem, fieldProps, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
|
|
22
|
+
|
|
23
|
+
declare const INPUT_COMPONENTS: {
|
|
24
|
+
checkbox: typeof AutoFormCheckbox;
|
|
25
|
+
date: typeof AutoFormDate;
|
|
26
|
+
select: typeof AutoFormEnum;
|
|
27
|
+
radio: typeof AutoFormRadioGroup;
|
|
28
|
+
switch: typeof AutoFormSwitch;
|
|
29
|
+
textarea: typeof AutoFormTextarea;
|
|
30
|
+
number: typeof AutoFormNumber;
|
|
31
|
+
file: typeof AutoFormFile;
|
|
32
|
+
fallback: typeof AutoFormInput;
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Available field types for AutoForm fieldConfig.
|
|
37
|
+
* These map to the input components in ./config.ts
|
|
38
|
+
*/
|
|
39
|
+
type AutoFormFieldType = keyof typeof INPUT_COMPONENTS;
|
|
40
|
+
type FieldConfigItem = {
|
|
41
|
+
description?: React.ReactNode;
|
|
42
|
+
inputProps?: React.InputHTMLAttributes<HTMLInputElement> & React.TextareaHTMLAttributes<HTMLTextAreaElement> & {
|
|
43
|
+
showLabel?: boolean;
|
|
44
|
+
};
|
|
45
|
+
label?: string;
|
|
46
|
+
fieldType?: keyof typeof INPUT_COMPONENTS | React.FC<AutoFormInputComponentProps>;
|
|
47
|
+
renderParent?: (props: {
|
|
48
|
+
children: React.ReactNode;
|
|
49
|
+
}) => React.ReactElement | null;
|
|
50
|
+
order?: number;
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* A FormInput component can handle a specific Zod type (e.g. "ZodBoolean")
|
|
54
|
+
*/
|
|
55
|
+
type AutoFormInputComponentProps = {
|
|
56
|
+
zodInputProps: React.InputHTMLAttributes<HTMLInputElement>;
|
|
57
|
+
field: ControllerRenderProps<FieldValues, any>;
|
|
58
|
+
fieldConfigItem: FieldConfigItem;
|
|
59
|
+
label: string;
|
|
60
|
+
isRequired: boolean;
|
|
61
|
+
fieldProps: any;
|
|
62
|
+
zodItem: zod.ZodType;
|
|
63
|
+
className?: string;
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
export type { AutoFormFieldType as A, AutoFormInputComponentProps as a };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@btst/stack",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.0",
|
|
4
4
|
"description": "A composable, plugin-based library for building full-stack applications.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -165,6 +165,47 @@
|
|
|
165
165
|
},
|
|
166
166
|
"./plugins/ai-chat/css": "./dist/plugins/ai-chat/style.css",
|
|
167
167
|
"./plugins/blog/css": "./dist/plugins/blog/style.css",
|
|
168
|
+
"./plugins/cms/api": {
|
|
169
|
+
"import": {
|
|
170
|
+
"types": "./dist/plugins/cms/api/index.d.ts",
|
|
171
|
+
"default": "./dist/plugins/cms/api/index.mjs"
|
|
172
|
+
},
|
|
173
|
+
"require": {
|
|
174
|
+
"types": "./dist/plugins/cms/api/index.d.cts",
|
|
175
|
+
"default": "./dist/plugins/cms/api/index.cjs"
|
|
176
|
+
}
|
|
177
|
+
},
|
|
178
|
+
"./plugins/cms/client": {
|
|
179
|
+
"import": {
|
|
180
|
+
"types": "./dist/plugins/cms/client/index.d.ts",
|
|
181
|
+
"default": "./dist/plugins/cms/client/index.mjs"
|
|
182
|
+
},
|
|
183
|
+
"require": {
|
|
184
|
+
"types": "./dist/plugins/cms/client/index.d.cts",
|
|
185
|
+
"default": "./dist/plugins/cms/client/index.cjs"
|
|
186
|
+
}
|
|
187
|
+
},
|
|
188
|
+
"./plugins/cms/client/components": {
|
|
189
|
+
"import": {
|
|
190
|
+
"types": "./dist/plugins/cms/client/components/index.d.ts",
|
|
191
|
+
"default": "./dist/plugins/cms/client/components/index.mjs"
|
|
192
|
+
},
|
|
193
|
+
"require": {
|
|
194
|
+
"types": "./dist/plugins/cms/client/components/index.d.cts",
|
|
195
|
+
"default": "./dist/plugins/cms/client/components/index.cjs"
|
|
196
|
+
}
|
|
197
|
+
},
|
|
198
|
+
"./plugins/cms/client/hooks": {
|
|
199
|
+
"import": {
|
|
200
|
+
"types": "./dist/plugins/cms/client/hooks/index.d.ts",
|
|
201
|
+
"default": "./dist/plugins/cms/client/hooks/index.mjs"
|
|
202
|
+
},
|
|
203
|
+
"require": {
|
|
204
|
+
"types": "./dist/plugins/cms/client/hooks/index.d.cts",
|
|
205
|
+
"default": "./dist/plugins/cms/client/hooks/index.cjs"
|
|
206
|
+
}
|
|
207
|
+
},
|
|
208
|
+
"./plugins/cms/css": "./dist/plugins/cms/style.css",
|
|
168
209
|
"./dist/*": "./dist/*",
|
|
169
210
|
"./ui/css": "./dist/ui/components.css",
|
|
170
211
|
"./package.json": "./package.json"
|
|
@@ -206,6 +247,18 @@
|
|
|
206
247
|
],
|
|
207
248
|
"plugins/ai-chat/client/hooks": [
|
|
208
249
|
"./dist/plugins/ai-chat/client/hooks/index.d.ts"
|
|
250
|
+
],
|
|
251
|
+
"plugins/cms/api": [
|
|
252
|
+
"./dist/plugins/cms/api/index.d.ts"
|
|
253
|
+
],
|
|
254
|
+
"plugins/cms/client": [
|
|
255
|
+
"./dist/plugins/cms/client/index.d.ts"
|
|
256
|
+
],
|
|
257
|
+
"plugins/cms/client/components": [
|
|
258
|
+
"./dist/plugins/cms/client/components/index.d.ts"
|
|
259
|
+
],
|
|
260
|
+
"plugins/cms/client/hooks": [
|
|
261
|
+
"./dist/plugins/cms/client/hooks/index.d.ts"
|
|
209
262
|
]
|
|
210
263
|
}
|
|
211
264
|
},
|
|
@@ -227,7 +280,7 @@
|
|
|
227
280
|
"@radix-ui/react-switch": ">=1.1.0",
|
|
228
281
|
"@tanstack/react-query": "^5.0.0",
|
|
229
282
|
"ai": ">=5.0.0",
|
|
230
|
-
"better-call": ">=1.
|
|
283
|
+
"better-call": ">=1.1.5",
|
|
231
284
|
"class-variance-authority": ">=0.7.0",
|
|
232
285
|
"clsx": ">=2.1.0",
|
|
233
286
|
"cmdk": ">=1.1.0",
|
|
@@ -249,7 +302,7 @@
|
|
|
249
302
|
"sonner": ">=2.0.0",
|
|
250
303
|
"tailwind-merge": ">=2.6.0",
|
|
251
304
|
"tailwindcss": ">=3.0.0",
|
|
252
|
-
"zod": ">=
|
|
305
|
+
"zod": ">=4.2.0"
|
|
253
306
|
},
|
|
254
307
|
"devDependencies": {
|
|
255
308
|
"@ai-sdk/react": "^2.0.94",
|
|
@@ -259,7 +312,7 @@
|
|
|
259
312
|
"@types/slug": "^5.0.9",
|
|
260
313
|
"@workspace/ui": "workspace:*",
|
|
261
314
|
"ai": "^5.0.94",
|
|
262
|
-
"better-call": "
|
|
315
|
+
"better-call": "catalog:",
|
|
263
316
|
"react": "^19.1.1",
|
|
264
317
|
"react-dom": "^19.1.1",
|
|
265
318
|
"react-error-boundary": "^4.1.2",
|
|
@@ -268,7 +321,7 @@
|
|
|
268
321
|
"typescript": "catalog:",
|
|
269
322
|
"unbuild": "catalog:",
|
|
270
323
|
"vitest": "catalog:",
|
|
271
|
-
"
|
|
324
|
+
"zod": "^4.2.0"
|
|
272
325
|
},
|
|
273
326
|
"files": [
|
|
274
327
|
"dist",
|
|
@@ -85,6 +85,8 @@ export function ChatInterface({
|
|
|
85
85
|
setCurrentConversationId(id);
|
|
86
86
|
isFirstMessageSentRef.current = false;
|
|
87
87
|
hasNavigatedRef.current = false;
|
|
88
|
+
// Reset edit flag on navigation
|
|
89
|
+
isEditInProgressRef.current = false;
|
|
88
90
|
}
|
|
89
91
|
}, [id, isPublicMode]);
|
|
90
92
|
|
|
@@ -112,6 +114,9 @@ export function ChatInterface({
|
|
|
112
114
|
// Ref to track edit operation with messages to use
|
|
113
115
|
const editMessagesRef = useRef<UIMessage[] | null>(null);
|
|
114
116
|
|
|
117
|
+
// Flag to prevent load conversation effect from overwriting messages during edit
|
|
118
|
+
const isEditInProgressRef = useRef(false);
|
|
119
|
+
|
|
115
120
|
// Track if we've finished initializing messages
|
|
116
121
|
// This prevents onMessagesChange from firing with an empty array before initialMessages are loaded
|
|
117
122
|
// Without this guard, the effect would fire on mount with [], overwriting any saved messages
|
|
@@ -212,6 +217,10 @@ export function ChatInterface({
|
|
|
212
217
|
|
|
213
218
|
// Load existing conversation messages when navigating to a conversation
|
|
214
219
|
useEffect(() => {
|
|
220
|
+
// Don't overwrite messages if an edit is in progress
|
|
221
|
+
if (isEditInProgressRef.current) {
|
|
222
|
+
return;
|
|
223
|
+
}
|
|
215
224
|
if (
|
|
216
225
|
conversation?.messages &&
|
|
217
226
|
conversation.messages.length > 0 &&
|
|
@@ -354,6 +363,9 @@ export function ChatInterface({
|
|
|
354
363
|
if (pendingEdit && messages.length === pendingEdit.expectedLength) {
|
|
355
364
|
const textToSend = pendingEdit.text;
|
|
356
365
|
setPendingEdit(null);
|
|
366
|
+
// Clear edit in progress flag - the new message will now be sent
|
|
367
|
+
// and we want subsequent effects to work normally
|
|
368
|
+
isEditInProgressRef.current = false;
|
|
357
369
|
sendMessage({ text: textToSend });
|
|
358
370
|
}
|
|
359
371
|
}, [messages.length, pendingEdit, sendMessage]);
|
|
@@ -371,6 +383,9 @@ export function ChatInterface({
|
|
|
371
383
|
// Truncate to BEFORE the edited message (remove it and all subsequent)
|
|
372
384
|
const truncatedMessages = messages.slice(0, messageIndex);
|
|
373
385
|
|
|
386
|
+
// Mark edit in progress to prevent load conversation effect from overwriting
|
|
387
|
+
isEditInProgressRef.current = true;
|
|
388
|
+
|
|
374
389
|
// Store the truncated messages in the ref for the transport to use
|
|
375
390
|
editMessagesRef.current = truncatedMessages;
|
|
376
391
|
|
|
@@ -146,7 +146,10 @@ export function ChatSidebar({
|
|
|
146
146
|
};
|
|
147
147
|
|
|
148
148
|
return (
|
|
149
|
-
<div
|
|
149
|
+
<div
|
|
150
|
+
data-testid="chat-sidebar"
|
|
151
|
+
className={cn("flex flex-col h-full bg-muted/30 border-r", className)}
|
|
152
|
+
>
|
|
150
153
|
{/* Header */}
|
|
151
154
|
<div className="p-4 border-b">
|
|
152
155
|
<Button
|