@btst/stack 1.4.0 → 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.
Files changed (468) hide show
  1. package/dist/node_modules/.pnpm/@date-fns_tz@1.4.1/node_modules/@date-fns/tz/date/index.cjs +85 -0
  2. package/dist/node_modules/.pnpm/@date-fns_tz@1.4.1/node_modules/@date-fns/tz/date/index.mjs +83 -0
  3. package/dist/node_modules/.pnpm/@date-fns_tz@1.4.1/node_modules/@date-fns/tz/date/mini.cjs +237 -0
  4. package/dist/node_modules/.pnpm/@date-fns_tz@1.4.1/node_modules/@date-fns/tz/date/mini.mjs +235 -0
  5. package/dist/node_modules/.pnpm/@date-fns_tz@1.4.1/node_modules/@date-fns/tz/tzName/index.cjs +41 -0
  6. package/dist/node_modules/.pnpm/@date-fns_tz@1.4.1/node_modules/@date-fns/tz/tzName/index.mjs +39 -0
  7. package/dist/node_modules/.pnpm/@date-fns_tz@1.4.1/node_modules/@date-fns/tz/tzOffset/index.cjs +46 -0
  8. package/dist/node_modules/.pnpm/@date-fns_tz@1.4.1/node_modules/@date-fns/tz/tzOffset/index.mjs +44 -0
  9. package/dist/node_modules/.pnpm/@radix-ui_react-accordion@1.2.12_@types_react-dom@19.2.3_@types_react@19.2.6__@types_re_947719a27ff11ec6f09710dd9e85efc5/node_modules/@radix-ui/react-accordion/dist/index.cjs +321 -0
  10. package/dist/node_modules/.pnpm/@radix-ui_react-accordion@1.2.12_@types_react-dom@19.2.3_@types_react@19.2.6__@types_re_947719a27ff11ec6f09710dd9e85efc5/node_modules/@radix-ui/react-accordion/dist/index.mjs +306 -0
  11. 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
  12. 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
  13. package/dist/node_modules/.pnpm/@radix-ui_react-collapsible@1.1.12_@types_react-dom@19.2.3_@types_react@19.2.6__@types__d025a77f62ee83ca6bd8b0ea1f9de738/node_modules/@radix-ui/react-collapsible/dist/index.cjs +168 -0
  14. package/dist/node_modules/.pnpm/@radix-ui_react-collapsible@1.1.12_@types_react-dom@19.2.3_@types_react@19.2.6__@types__d025a77f62ee83ca6bd8b0ea1f9de738/node_modules/@radix-ui/react-collapsible/dist/index.mjs +146 -0
  15. 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
  16. 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
  17. 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
  18. 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
  19. 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
  20. 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
  21. 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
  22. 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
  23. 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
  24. 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
  25. 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
  26. 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
  27. 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
  28. 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
  29. 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
  30. 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
  31. 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
  32. 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
  33. 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
  34. 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
  35. 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
  36. 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
  37. 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
  38. 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
  39. 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
  40. 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
  41. 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
  42. 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
  43. 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
  44. 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
  45. 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
  46. 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
  47. 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
  48. 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
  49. 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
  50. 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
  51. 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
  52. 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
  53. 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
  54. 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
  55. 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
  56. 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
  57. 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
  58. 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
  59. 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
  60. 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
  61. 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
  62. 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
  63. 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
  64. 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
  65. 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
  66. 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
  67. 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
  68. 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
  69. 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
  70. 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
  71. 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
  72. 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
  73. 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
  74. 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
  75. 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
  76. 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
  77. 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
  78. 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
  79. 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
  80. 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
  81. 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
  82. 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
  83. 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
  84. 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
  85. 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
  86. 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
  87. 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
  88. 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
  89. 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
  90. 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
  91. 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
  92. 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
  93. 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
  94. 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
  95. 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
  96. 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
  97. 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
  98. 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
  99. 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
  100. 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
  101. 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
  102. 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
  103. 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
  104. 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
  105. 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
  106. 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
  107. 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
  108. 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
  109. 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
  110. 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
  111. 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
  112. 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
  113. 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
  114. 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
  115. 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
  116. 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
  117. 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
  118. 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
  119. 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
  120. 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
  121. 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
  122. 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
  123. 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
  124. 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
  125. 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
  126. 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
  127. 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
  128. 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
  129. 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
  130. 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
  131. 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
  132. 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
  133. 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
  134. 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
  135. 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
  136. 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
  137. 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
  138. 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
  139. 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
  140. 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
  141. 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
  142. 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
  143. 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
  144. 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
  145. 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
  146. 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
  147. 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
  148. 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
  149. 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
  150. 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
  151. 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
  152. 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
  153. 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
  154. 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
  155. 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
  156. 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
  157. 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
  158. 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
  159. 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
  160. 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
  161. 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
  162. 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
  163. 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
  164. 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
  165. 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
  166. 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
  167. 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
  168. 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
  169. 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
  170. 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
  171. 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
  172. 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
  173. 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
  174. 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
  175. 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
  176. 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
  177. 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
  178. 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
  179. 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
  180. 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
  181. 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
  182. 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
  183. 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
  184. 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
  185. 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
  186. 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
  187. 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
  188. 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
  189. 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
  190. 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
  191. 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
  192. 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
  193. 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
  194. 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
  195. 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
  196. 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
  197. 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
  198. 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
  199. 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
  200. 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
  201. 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
  202. 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
  203. 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
  204. 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
  205. 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
  206. 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
  207. 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
  208. 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
  209. 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
  210. 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
  211. 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
  212. 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
  213. 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
  214. 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
  215. 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
  216. 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
  217. 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
  218. 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
  219. package/dist/packages/better-stack/src/plugins/ai-chat/client/components/chat-interface.cjs +36 -3
  220. package/dist/packages/better-stack/src/plugins/ai-chat/client/components/chat-interface.mjs +36 -3
  221. package/dist/packages/better-stack/src/plugins/ai-chat/client/components/chat-layout.cjs +16 -3
  222. package/dist/packages/better-stack/src/plugins/ai-chat/client/components/chat-layout.mjs +16 -3
  223. package/dist/packages/better-stack/src/plugins/ai-chat/client/components/chat-message.cjs +35 -3
  224. package/dist/packages/better-stack/src/plugins/ai-chat/client/components/chat-message.mjs +35 -3
  225. package/dist/packages/better-stack/src/plugins/ai-chat/client/components/chat-sidebar.cjs +131 -124
  226. package/dist/packages/better-stack/src/plugins/ai-chat/client/components/chat-sidebar.mjs +131 -124
  227. package/dist/packages/better-stack/src/plugins/ai-chat/client/components/tool-call-display.cjs +123 -0
  228. package/dist/packages/better-stack/src/plugins/ai-chat/client/components/tool-call-display.mjs +121 -0
  229. package/dist/packages/better-stack/src/plugins/ai-chat/schemas.cjs +23 -23
  230. package/dist/packages/better-stack/src/plugins/blog/api/plugin.cjs +28 -12
  231. package/dist/packages/better-stack/src/plugins/blog/api/plugin.mjs +18 -2
  232. package/dist/packages/better-stack/src/plugins/blog/client/components/loading/form-page-skeleton.cjs +1 -1
  233. package/dist/packages/better-stack/src/plugins/blog/client/components/loading/form-page-skeleton.mjs +1 -1
  234. package/dist/packages/better-stack/src/plugins/blog/client/components/loading/list-page-skeleton.cjs +1 -1
  235. package/dist/packages/better-stack/src/plugins/blog/client/components/loading/list-page-skeleton.mjs +1 -1
  236. package/dist/packages/better-stack/src/plugins/blog/client/components/loading/post-page-skeleton.cjs +1 -1
  237. package/dist/packages/better-stack/src/plugins/blog/client/components/loading/post-page-skeleton.mjs +1 -1
  238. package/dist/packages/better-stack/src/plugins/blog/client/components/shared/page-wrapper.cjs +10 -6
  239. package/dist/packages/better-stack/src/plugins/blog/client/components/shared/page-wrapper.mjs +11 -7
  240. package/dist/packages/better-stack/src/plugins/blog/schemas.cjs +17 -17
  241. package/dist/packages/better-stack/src/plugins/cms/api/plugin.cjs +457 -0
  242. package/dist/packages/better-stack/src/plugins/cms/api/plugin.mjs +455 -0
  243. package/dist/packages/better-stack/src/plugins/cms/client/components/forms/content-form.cjs +299 -0
  244. package/dist/packages/better-stack/src/plugins/cms/client/components/forms/content-form.mjs +297 -0
  245. package/dist/packages/better-stack/src/plugins/cms/client/components/forms/file-upload.cjs +118 -0
  246. package/dist/packages/better-stack/src/plugins/cms/client/components/forms/file-upload.mjs +116 -0
  247. package/dist/packages/better-stack/src/plugins/cms/client/components/loading/dashboard-skeleton.cjs +18 -0
  248. package/dist/packages/better-stack/src/plugins/cms/client/components/loading/dashboard-skeleton.mjs +16 -0
  249. package/dist/packages/better-stack/src/plugins/cms/client/components/loading/editor-skeleton.cjs +32 -0
  250. package/dist/packages/better-stack/src/plugins/cms/client/components/loading/editor-skeleton.mjs +30 -0
  251. package/dist/packages/better-stack/src/plugins/cms/client/components/loading/list-skeleton.cjs +32 -0
  252. package/dist/packages/better-stack/src/plugins/cms/client/components/loading/list-skeleton.mjs +30 -0
  253. package/dist/packages/better-stack/src/plugins/cms/client/components/pages/404-page.cjs +20 -0
  254. package/dist/packages/better-stack/src/plugins/cms/client/components/pages/404-page.mjs +18 -0
  255. package/dist/packages/better-stack/src/plugins/cms/client/components/pages/content-editor-page.cjs +46 -0
  256. package/dist/packages/better-stack/src/plugins/cms/client/components/pages/content-editor-page.internal.cjs +83 -0
  257. package/dist/packages/better-stack/src/plugins/cms/client/components/pages/content-editor-page.internal.mjs +81 -0
  258. package/dist/packages/better-stack/src/plugins/cms/client/components/pages/content-editor-page.mjs +44 -0
  259. package/dist/packages/better-stack/src/plugins/cms/client/components/pages/content-list-page.cjs +43 -0
  260. package/dist/packages/better-stack/src/plugins/cms/client/components/pages/content-list-page.internal.cjs +152 -0
  261. package/dist/packages/better-stack/src/plugins/cms/client/components/pages/content-list-page.internal.mjs +150 -0
  262. package/dist/packages/better-stack/src/plugins/cms/client/components/pages/content-list-page.mjs +41 -0
  263. package/dist/packages/better-stack/src/plugins/cms/client/components/pages/dashboard-page.cjs +39 -0
  264. package/dist/packages/better-stack/src/plugins/cms/client/components/pages/dashboard-page.internal.cjs +68 -0
  265. package/dist/packages/better-stack/src/plugins/cms/client/components/pages/dashboard-page.internal.mjs +66 -0
  266. package/dist/packages/better-stack/src/plugins/cms/client/components/pages/dashboard-page.mjs +37 -0
  267. package/dist/packages/better-stack/src/plugins/cms/client/components/shared/default-error.cjs +17 -0
  268. package/dist/packages/better-stack/src/plugins/cms/client/components/shared/default-error.mjs +15 -0
  269. package/dist/packages/better-stack/src/plugins/cms/client/components/shared/empty-state.cjs +16 -0
  270. package/dist/packages/better-stack/src/plugins/cms/client/components/shared/empty-state.mjs +14 -0
  271. package/dist/packages/better-stack/src/plugins/cms/client/components/shared/page-wrapper.cjs +27 -0
  272. package/dist/packages/better-stack/src/plugins/cms/client/components/shared/page-wrapper.mjs +25 -0
  273. package/dist/packages/better-stack/src/plugins/cms/client/hooks/cms-hooks.cjs +402 -0
  274. package/dist/packages/better-stack/src/plugins/cms/client/hooks/cms-hooks.mjs +390 -0
  275. package/dist/packages/better-stack/src/plugins/cms/client/localization/cms-common.cjs +29 -0
  276. package/dist/packages/better-stack/src/plugins/cms/client/localization/cms-common.mjs +27 -0
  277. package/dist/packages/better-stack/src/plugins/cms/client/localization/cms-dashboard.cjs +13 -0
  278. package/dist/packages/better-stack/src/plugins/cms/client/localization/cms-dashboard.mjs +11 -0
  279. package/dist/packages/better-stack/src/plugins/cms/client/localization/cms-editor.cjs +12 -0
  280. package/dist/packages/better-stack/src/plugins/cms/client/localization/cms-editor.mjs +10 -0
  281. package/dist/packages/better-stack/src/plugins/cms/client/localization/cms-list.cjs +18 -0
  282. package/dist/packages/better-stack/src/plugins/cms/client/localization/cms-list.mjs +16 -0
  283. package/dist/packages/better-stack/src/plugins/cms/client/localization/cms-toasts.cjs +12 -0
  284. package/dist/packages/better-stack/src/plugins/cms/client/localization/cms-toasts.mjs +10 -0
  285. package/dist/packages/better-stack/src/plugins/cms/client/localization/index.cjs +17 -0
  286. package/dist/packages/better-stack/src/plugins/cms/client/localization/index.mjs +15 -0
  287. package/dist/packages/better-stack/src/plugins/cms/client/plugin.cjs +185 -0
  288. package/dist/packages/better-stack/src/plugins/cms/client/plugin.mjs +183 -0
  289. package/dist/packages/better-stack/src/plugins/cms/db.cjs +76 -0
  290. package/dist/packages/better-stack/src/plugins/cms/db.mjs +74 -0
  291. package/dist/packages/better-stack/src/plugins/cms/schemas.cjs +54 -0
  292. package/dist/packages/better-stack/src/plugins/cms/schemas.mjs +49 -0
  293. package/dist/packages/better-stack/src/plugins/cms/utils.cjs +15 -0
  294. package/dist/packages/better-stack/src/plugins/cms/utils.mjs +9 -0
  295. package/dist/packages/ui/src/components/accordion.cjs +67 -0
  296. package/dist/packages/ui/src/components/accordion.mjs +62 -0
  297. package/dist/packages/ui/src/components/calendar.cjs +205 -0
  298. package/dist/packages/ui/src/components/calendar.mjs +188 -0
  299. package/dist/packages/ui/src/components/checkbox.cjs +34 -0
  300. package/dist/packages/ui/src/components/checkbox.mjs +32 -0
  301. package/dist/packages/ui/src/components/date-picker.cjs +41 -0
  302. package/dist/packages/ui/src/components/date-picker.mjs +39 -0
  303. package/dist/packages/ui/src/components/form.mjs +1 -1
  304. package/dist/packages/{better-stack/src/plugins/blog/client/components/shared → ui/src/components}/page-layout.cjs +2 -1
  305. package/dist/packages/{better-stack/src/plugins/blog/client/components/shared → ui/src/components}/page-layout.mjs +2 -1
  306. package/dist/packages/ui/src/components/page-wrapper.cjs +20 -0
  307. package/dist/packages/ui/src/components/page-wrapper.mjs +18 -0
  308. package/dist/packages/ui/src/components/popover.cjs +41 -0
  309. package/dist/packages/ui/src/components/popover.mjs +37 -0
  310. package/dist/packages/ui/src/components/radio-group.cjs +48 -0
  311. package/dist/packages/ui/src/components/radio-group.mjs +45 -0
  312. package/dist/packages/ui/src/components/separator.cjs +29 -0
  313. package/dist/packages/ui/src/components/separator.mjs +27 -0
  314. package/dist/packages/ui/src/components/table.cjs +89 -0
  315. package/dist/packages/ui/src/components/table.mjs +82 -0
  316. package/dist/packages/ui/src/components/ui/auto-form/common/label.cjs +18 -0
  317. package/dist/packages/ui/src/components/ui/auto-form/common/label.mjs +16 -0
  318. package/dist/packages/ui/src/components/ui/auto-form/common/tooltip.cjs +9 -0
  319. package/dist/packages/ui/src/components/ui/auto-form/common/tooltip.mjs +7 -0
  320. package/dist/packages/ui/src/components/ui/auto-form/config.cjs +42 -0
  321. package/dist/packages/ui/src/components/ui/auto-form/config.mjs +39 -0
  322. package/dist/packages/ui/src/components/ui/auto-form/dependencies.cjs +48 -0
  323. package/dist/packages/ui/src/components/ui/auto-form/dependencies.mjs +46 -0
  324. package/dist/packages/ui/src/components/ui/auto-form/fields/array.cjs +103 -0
  325. package/dist/packages/ui/src/components/ui/auto-form/fields/array.mjs +87 -0
  326. package/dist/packages/ui/src/components/ui/auto-form/fields/checkbox.cjs +38 -0
  327. package/dist/packages/ui/src/components/ui/auto-form/fields/checkbox.mjs +36 -0
  328. package/dist/packages/ui/src/components/ui/auto-form/fields/date.cjs +37 -0
  329. package/dist/packages/ui/src/components/ui/auto-form/fields/date.mjs +35 -0
  330. package/dist/packages/ui/src/components/ui/auto-form/fields/enum.cjs +73 -0
  331. package/dist/packages/ui/src/components/ui/auto-form/fields/enum.mjs +71 -0
  332. package/dist/packages/ui/src/components/ui/auto-form/fields/file.cjs +63 -0
  333. package/dist/packages/ui/src/components/ui/auto-form/fields/file.mjs +61 -0
  334. package/dist/packages/ui/src/components/ui/auto-form/fields/input.cjs +32 -0
  335. package/dist/packages/ui/src/components/ui/auto-form/fields/input.mjs +30 -0
  336. package/dist/packages/ui/src/components/ui/auto-form/fields/number.cjs +31 -0
  337. package/dist/packages/ui/src/components/ui/auto-form/fields/number.mjs +29 -0
  338. package/dist/packages/ui/src/components/ui/auto-form/fields/object.cjs +149 -0
  339. package/dist/packages/ui/src/components/ui/auto-form/fields/object.mjs +133 -0
  340. package/dist/packages/ui/src/components/ui/auto-form/fields/radio-group.cjs +67 -0
  341. package/dist/packages/ui/src/components/ui/auto-form/fields/radio-group.mjs +65 -0
  342. package/dist/packages/ui/src/components/ui/auto-form/fields/switch.cjs +38 -0
  343. package/dist/packages/ui/src/components/ui/auto-form/fields/switch.mjs +36 -0
  344. package/dist/packages/ui/src/components/ui/auto-form/fields/textarea.cjs +31 -0
  345. package/dist/packages/ui/src/components/ui/auto-form/fields/textarea.mjs +29 -0
  346. package/dist/packages/ui/src/components/ui/auto-form/index.cjs +87 -0
  347. package/dist/packages/ui/src/components/ui/auto-form/index.mjs +78 -0
  348. package/dist/packages/ui/src/components/ui/auto-form/types.cjs +11 -0
  349. package/dist/packages/ui/src/components/ui/auto-form/types.mjs +9 -0
  350. package/dist/packages/ui/src/components/ui/auto-form/utils.cjs +179 -0
  351. package/dist/packages/ui/src/components/ui/auto-form/utils.mjs +169 -0
  352. package/dist/plugins/ai-chat/api/index.d.cts +1 -1
  353. package/dist/plugins/ai-chat/api/index.d.mts +1 -1
  354. package/dist/plugins/ai-chat/api/index.d.ts +1 -1
  355. package/dist/plugins/ai-chat/client/components/index.cjs +2 -0
  356. package/dist/plugins/ai-chat/client/components/index.d.cts +1 -1
  357. package/dist/plugins/ai-chat/client/components/index.d.mts +1 -1
  358. package/dist/plugins/ai-chat/client/components/index.d.ts +1 -1
  359. package/dist/plugins/ai-chat/client/components/index.mjs +1 -0
  360. package/dist/plugins/ai-chat/client/hooks/index.d.cts +1 -1
  361. package/dist/plugins/ai-chat/client/hooks/index.d.mts +1 -1
  362. package/dist/plugins/ai-chat/client/hooks/index.d.ts +1 -1
  363. package/dist/plugins/ai-chat/client/index.cjs +2 -0
  364. package/dist/plugins/ai-chat/client/index.d.cts +5 -176
  365. package/dist/plugins/ai-chat/client/index.d.mts +5 -176
  366. package/dist/plugins/ai-chat/client/index.d.ts +5 -176
  367. package/dist/plugins/ai-chat/client/index.mjs +1 -0
  368. package/dist/plugins/ai-chat/query-keys.d.cts +56 -250
  369. package/dist/plugins/ai-chat/query-keys.d.mts +56 -250
  370. package/dist/plugins/ai-chat/query-keys.d.ts +56 -250
  371. package/dist/plugins/blog/client/components/shared/markdown-content-styles.css +6 -0
  372. package/dist/plugins/blog/query-keys.d.cts +102 -362
  373. package/dist/plugins/blog/query-keys.d.mts +102 -362
  374. package/dist/plugins/blog/query-keys.d.ts +102 -362
  375. package/dist/plugins/cms/api/index.cjs +7 -0
  376. package/dist/plugins/cms/api/index.d.cts +101 -0
  377. package/dist/plugins/cms/api/index.d.mts +101 -0
  378. package/dist/plugins/cms/api/index.d.ts +101 -0
  379. package/dist/plugins/cms/api/index.mjs +1 -0
  380. package/dist/plugins/cms/client/components/index.cjs +14 -0
  381. package/dist/plugins/cms/client/components/index.d.cts +20 -0
  382. package/dist/plugins/cms/client/components/index.d.mts +20 -0
  383. package/dist/plugins/cms/client/components/index.d.ts +20 -0
  384. package/dist/plugins/cms/client/components/index.mjs +10 -0
  385. package/dist/plugins/cms/client/hooks/index.cjs +17 -0
  386. package/dist/plugins/cms/client/hooks/index.d.cts +203 -0
  387. package/dist/plugins/cms/client/hooks/index.d.mts +203 -0
  388. package/dist/plugins/cms/client/hooks/index.d.ts +203 -0
  389. package/dist/plugins/cms/client/hooks/index.mjs +1 -0
  390. package/dist/plugins/cms/client/index.cjs +9 -0
  391. package/dist/plugins/cms/client/index.d.cts +344 -0
  392. package/dist/plugins/cms/client/index.d.mts +344 -0
  393. package/dist/plugins/cms/client/index.d.ts +344 -0
  394. package/dist/plugins/cms/client/index.mjs +2 -0
  395. package/dist/plugins/cms/client.css +2 -0
  396. package/dist/plugins/cms/query-keys.cjs +137 -0
  397. package/dist/plugins/cms/query-keys.d.cts +79 -0
  398. package/dist/plugins/cms/query-keys.d.mts +79 -0
  399. package/dist/plugins/cms/query-keys.d.ts +79 -0
  400. package/dist/plugins/cms/query-keys.mjs +135 -0
  401. package/dist/plugins/cms/style.css +19 -0
  402. package/dist/shared/stack.BwkyFwF8.d.cts +135 -0
  403. package/dist/shared/stack.DBqxCs0V.d.mts +135 -0
  404. package/dist/shared/stack.DaOcgmrM.d.cts +323 -0
  405. package/dist/shared/stack.DaOcgmrM.d.mts +323 -0
  406. package/dist/shared/stack.DaOcgmrM.d.ts +323 -0
  407. package/dist/shared/stack.DwnJA87a.d.ts +135 -0
  408. package/dist/shared/stack.NZJogTUn.d.cts +66 -0
  409. package/dist/shared/stack.NZJogTUn.d.mts +66 -0
  410. package/dist/shared/stack.NZJogTUn.d.ts +66 -0
  411. package/package.json +58 -5
  412. package/src/plugins/ai-chat/client/components/chat-interface.tsx +56 -2
  413. package/src/plugins/ai-chat/client/components/chat-layout.tsx +16 -1
  414. package/src/plugins/ai-chat/client/components/chat-message.tsx +59 -3
  415. package/src/plugins/ai-chat/client/components/chat-sidebar.tsx +4 -1
  416. package/src/plugins/ai-chat/client/components/index.ts +2 -0
  417. package/src/plugins/ai-chat/client/components/tool-call-display.tsx +197 -0
  418. package/src/plugins/ai-chat/client/index.ts +12 -1
  419. package/src/plugins/ai-chat/client/overrides.ts +71 -0
  420. package/src/plugins/blog/api/plugin.ts +29 -2
  421. package/src/plugins/blog/client/components/loading/form-page-skeleton.tsx +1 -1
  422. package/src/plugins/blog/client/components/loading/list-page-skeleton.tsx +1 -1
  423. package/src/plugins/blog/client/components/loading/post-page-skeleton.tsx +1 -1
  424. package/src/plugins/blog/client/components/shared/markdown-content-styles.css +6 -0
  425. package/src/plugins/blog/client/components/shared/page-wrapper.tsx +9 -9
  426. package/src/plugins/cms/__tests__/schema-roundtrip.test.ts +611 -0
  427. package/src/plugins/cms/api/index.ts +1 -0
  428. package/src/plugins/cms/api/plugin.ts +611 -0
  429. package/src/plugins/cms/client/components/forms/content-form.tsx +477 -0
  430. package/src/plugins/cms/client/components/forms/file-upload.tsx +164 -0
  431. package/src/plugins/cms/client/components/index.tsx +10 -0
  432. package/src/plugins/cms/client/components/loading/dashboard-skeleton.tsx +22 -0
  433. package/src/plugins/cms/client/components/loading/editor-skeleton.tsx +35 -0
  434. package/src/plugins/cms/client/components/loading/index.tsx +3 -0
  435. package/src/plugins/cms/client/components/loading/list-skeleton.tsx +38 -0
  436. package/src/plugins/cms/client/components/pages/404-page.tsx +27 -0
  437. package/src/plugins/cms/client/components/pages/content-editor-page.internal.tsx +121 -0
  438. package/src/plugins/cms/client/components/pages/content-editor-page.tsx +50 -0
  439. package/src/plugins/cms/client/components/pages/content-list-page.internal.tsx +198 -0
  440. package/src/plugins/cms/client/components/pages/content-list-page.tsx +45 -0
  441. package/src/plugins/cms/client/components/pages/dashboard-page.internal.tsx +94 -0
  442. package/src/plugins/cms/client/components/pages/dashboard-page.tsx +37 -0
  443. package/src/plugins/cms/client/components/shared/default-error.tsx +30 -0
  444. package/src/plugins/cms/client/components/shared/empty-state.tsx +26 -0
  445. package/src/plugins/cms/client/components/shared/page-wrapper.tsx +32 -0
  446. package/src/plugins/cms/client/components/shared/pagination.tsx +72 -0
  447. package/src/plugins/cms/client/hooks/cms-hooks.tsx +724 -0
  448. package/src/plugins/cms/client/hooks/index.tsx +1 -0
  449. package/src/plugins/cms/client/index.ts +13 -0
  450. package/src/plugins/cms/client/localization/cms-common.ts +29 -0
  451. package/src/plugins/cms/client/localization/cms-dashboard.ts +10 -0
  452. package/src/plugins/cms/client/localization/cms-editor.ts +8 -0
  453. package/src/plugins/cms/client/localization/cms-list.ts +14 -0
  454. package/src/plugins/cms/client/localization/cms-toasts.ts +8 -0
  455. package/src/plugins/cms/client/localization/index.ts +15 -0
  456. package/src/plugins/cms/client/overrides.ts +166 -0
  457. package/src/plugins/cms/client/plugin.tsx +283 -0
  458. package/src/plugins/cms/client.css +2 -0
  459. package/src/plugins/cms/db.ts +76 -0
  460. package/src/plugins/cms/query-keys.ts +186 -0
  461. package/src/plugins/cms/schemas.ts +81 -0
  462. package/src/plugins/cms/style.css +19 -0
  463. package/src/plugins/cms/types.ts +220 -0
  464. package/src/plugins/cms/utils.ts +11 -0
  465. package/dist/shared/stack.DorMi9CZ.d.cts +0 -80
  466. package/dist/shared/stack.DorMi9CZ.d.mts +0 -80
  467. package/dist/shared/stack.DorMi9CZ.d.ts +0 -80
  468. package/src/plugins/blog/client/components/shared/page-layout.tsx +0 -23
@@ -0,0 +1,37 @@
1
+ 'use strict';
2
+
3
+ const DateLib = require('../classes/DateLib.cjs');
4
+
5
+ /**
6
+ * Checks if a given date is within a specified date range.
7
+ *
8
+ * @since 9.0.0
9
+ * @param range - The date range to check against.
10
+ * @param date - The date to check.
11
+ * @param excludeEnds - If `true`, the range's start and end dates are excluded.
12
+ * @param dateLib - The date utility library instance.
13
+ * @returns `true` if the date is within the range, otherwise `false`.
14
+ * @group Utilities
15
+ */
16
+ function rangeIncludesDate(range, date, excludeEnds = false, dateLib = DateLib.defaultDateLib) {
17
+ let { from, to } = range;
18
+ const { differenceInCalendarDays, isSameDay } = dateLib;
19
+ if (from && to) {
20
+ const isRangeInverted = differenceInCalendarDays(to, from) < 0;
21
+ if (isRangeInverted) {
22
+ [from, to] = [to, from];
23
+ }
24
+ const isInRange = differenceInCalendarDays(date, from) >= (excludeEnds ? 1 : 0) &&
25
+ differenceInCalendarDays(to, date) >= (excludeEnds ? 1 : 0);
26
+ return isInRange;
27
+ }
28
+ if (!excludeEnds && to) {
29
+ return isSameDay(to, date);
30
+ }
31
+ if (!excludeEnds && from) {
32
+ return isSameDay(from, date);
33
+ }
34
+ return false;
35
+ }
36
+
37
+ exports.rangeIncludesDate = rangeIncludesDate;
@@ -0,0 +1,35 @@
1
+ import { defaultDateLib } from '../classes/DateLib.mjs';
2
+
3
+ /**
4
+ * Checks if a given date is within a specified date range.
5
+ *
6
+ * @since 9.0.0
7
+ * @param range - The date range to check against.
8
+ * @param date - The date to check.
9
+ * @param excludeEnds - If `true`, the range's start and end dates are excluded.
10
+ * @param dateLib - The date utility library instance.
11
+ * @returns `true` if the date is within the range, otherwise `false`.
12
+ * @group Utilities
13
+ */
14
+ function rangeIncludesDate(range, date, excludeEnds = false, dateLib = defaultDateLib) {
15
+ let { from, to } = range;
16
+ const { differenceInCalendarDays, isSameDay } = dateLib;
17
+ if (from && to) {
18
+ const isRangeInverted = differenceInCalendarDays(to, from) < 0;
19
+ if (isRangeInverted) {
20
+ [from, to] = [to, from];
21
+ }
22
+ const isInRange = differenceInCalendarDays(date, from) >= (excludeEnds ? 1 : 0) &&
23
+ differenceInCalendarDays(to, date) >= (excludeEnds ? 1 : 0);
24
+ return isInRange;
25
+ }
26
+ if (!excludeEnds && to) {
27
+ return isSameDay(to, date);
28
+ }
29
+ if (!excludeEnds && from) {
30
+ return isSameDay(from, date);
31
+ }
32
+ return false;
33
+ }
34
+
35
+ export { rangeIncludesDate };
@@ -0,0 +1,23 @@
1
+ 'use strict';
2
+
3
+ const rangeIncludesDate = require('./rangeIncludesDate.cjs');
4
+ const DateLib = require('../classes/DateLib.cjs');
5
+
6
+ /**
7
+ * Determines if two date ranges overlap.
8
+ *
9
+ * @since 9.2.2
10
+ * @param rangeLeft - The first date range.
11
+ * @param rangeRight - The second date range.
12
+ * @param dateLib - The date utility library instance.
13
+ * @returns `true` if the ranges overlap, otherwise `false`.
14
+ * @group Utilities
15
+ */
16
+ function rangeOverlaps(rangeLeft, rangeRight, dateLib = DateLib.defaultDateLib) {
17
+ return (rangeIncludesDate.rangeIncludesDate(rangeLeft, rangeRight.from, false, dateLib) ||
18
+ rangeIncludesDate.rangeIncludesDate(rangeLeft, rangeRight.to, false, dateLib) ||
19
+ rangeIncludesDate.rangeIncludesDate(rangeRight, rangeLeft.from, false, dateLib) ||
20
+ rangeIncludesDate.rangeIncludesDate(rangeRight, rangeLeft.to, false, dateLib));
21
+ }
22
+
23
+ exports.rangeOverlaps = rangeOverlaps;
@@ -0,0 +1,21 @@
1
+ import { rangeIncludesDate } from './rangeIncludesDate.mjs';
2
+ import { defaultDateLib } from '../classes/DateLib.mjs';
3
+
4
+ /**
5
+ * Determines if two date ranges overlap.
6
+ *
7
+ * @since 9.2.2
8
+ * @param rangeLeft - The first date range.
9
+ * @param rangeRight - The second date range.
10
+ * @param dateLib - The date utility library instance.
11
+ * @returns `true` if the ranges overlap, otherwise `false`.
12
+ * @group Utilities
13
+ */
14
+ function rangeOverlaps(rangeLeft, rangeRight, dateLib = defaultDateLib) {
15
+ return (rangeIncludesDate(rangeLeft, rangeRight.from, false, dateLib) ||
16
+ rangeIncludesDate(rangeLeft, rangeRight.to, false, dateLib) ||
17
+ rangeIncludesDate(rangeRight, rangeLeft.from, false, dateLib) ||
18
+ rangeIncludesDate(rangeRight, rangeLeft.to, false, dateLib));
19
+ }
20
+
21
+ export { rangeOverlaps };
@@ -0,0 +1,18 @@
1
+ 'use strict';
2
+
3
+ const index = require('../../../../../../@date-fns_tz@1.4.1/node_modules/@date-fns/tz/date/index.cjs');
4
+ require('../../../../../../@date-fns_tz@1.4.1/node_modules/@date-fns/tz/date/mini.cjs');
5
+
6
+ /**
7
+ * Convert a {@link Date} or {@link TZDate} instance to the given time zone.
8
+ * Reuses the same instance when it is already a {@link TZDate} using the target
9
+ * time zone to avoid extra allocations.
10
+ */
11
+ function toTimeZone(date, timeZone) {
12
+ if (date instanceof index.TZDate && date.timeZone === timeZone) {
13
+ return date;
14
+ }
15
+ return new index.TZDate(date, timeZone);
16
+ }
17
+
18
+ exports.toTimeZone = toTimeZone;
@@ -0,0 +1,16 @@
1
+ import { TZDate } from '../../../../../../@date-fns_tz@1.4.1/node_modules/@date-fns/tz/date/index.mjs';
2
+ import '../../../../../../@date-fns_tz@1.4.1/node_modules/@date-fns/tz/date/mini.mjs';
3
+
4
+ /**
5
+ * Convert a {@link Date} or {@link TZDate} instance to the given time zone.
6
+ * Reuses the same instance when it is already a {@link TZDate} using the target
7
+ * time zone to avoid extra allocations.
8
+ */
9
+ function toTimeZone(date, timeZone) {
10
+ if (date instanceof TZDate && date.timeZone === timeZone) {
11
+ return date;
12
+ }
13
+ return new TZDate(date, timeZone);
14
+ }
15
+
16
+ export { toTimeZone };
@@ -0,0 +1,73 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * Checks if the given value is of type {@link DateInterval}.
5
+ *
6
+ * @param matcher - The value to check.
7
+ * @returns `true` if the value is a {@link DateInterval}, otherwise `false`.
8
+ * @group Utilities
9
+ */
10
+ function isDateInterval(matcher) {
11
+ return Boolean(matcher &&
12
+ typeof matcher === "object" &&
13
+ "before" in matcher &&
14
+ "after" in matcher);
15
+ }
16
+ /**
17
+ * Checks if the given value is of type {@link DateRange}.
18
+ *
19
+ * @param value - The value to check.
20
+ * @returns `true` if the value is a {@link DateRange}, otherwise `false`.
21
+ * @group Utilities
22
+ */
23
+ function isDateRange(value) {
24
+ return Boolean(value && typeof value === "object" && "from" in value);
25
+ }
26
+ /**
27
+ * Checks if the given value is of type {@link DateAfter}.
28
+ *
29
+ * @param value - The value to check.
30
+ * @returns `true` if the value is a {@link DateAfter}, otherwise `false`.
31
+ * @group Utilities
32
+ */
33
+ function isDateAfterType(value) {
34
+ return Boolean(value && typeof value === "object" && "after" in value);
35
+ }
36
+ /**
37
+ * Checks if the given value is of type {@link DateBefore}.
38
+ *
39
+ * @param value - The value to check.
40
+ * @returns `true` if the value is a {@link DateBefore}, otherwise `false`.
41
+ * @group Utilities
42
+ */
43
+ function isDateBeforeType(value) {
44
+ return Boolean(value && typeof value === "object" && "before" in value);
45
+ }
46
+ /**
47
+ * Checks if the given value is of type {@link DayOfWeek}.
48
+ *
49
+ * @param value - The value to check.
50
+ * @returns `true` if the value is a {@link DayOfWeek}, otherwise `false`.
51
+ * @group Utilities
52
+ */
53
+ function isDayOfWeekType(value) {
54
+ return Boolean(value && typeof value === "object" && "dayOfWeek" in value);
55
+ }
56
+ /**
57
+ * Checks if the given value is an array of valid dates.
58
+ *
59
+ * @private
60
+ * @param value - The value to check.
61
+ * @param dateLib - The date utility library instance.
62
+ * @returns `true` if the value is an array of valid dates, otherwise `false`.
63
+ */
64
+ function isDatesArray(value, dateLib) {
65
+ return Array.isArray(value) && value.every(dateLib.isDate);
66
+ }
67
+
68
+ exports.isDateAfterType = isDateAfterType;
69
+ exports.isDateBeforeType = isDateBeforeType;
70
+ exports.isDateInterval = isDateInterval;
71
+ exports.isDateRange = isDateRange;
72
+ exports.isDatesArray = isDatesArray;
73
+ exports.isDayOfWeekType = isDayOfWeekType;
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Checks if the given value is of type {@link DateInterval}.
3
+ *
4
+ * @param matcher - The value to check.
5
+ * @returns `true` if the value is a {@link DateInterval}, otherwise `false`.
6
+ * @group Utilities
7
+ */
8
+ function isDateInterval(matcher) {
9
+ return Boolean(matcher &&
10
+ typeof matcher === "object" &&
11
+ "before" in matcher &&
12
+ "after" in matcher);
13
+ }
14
+ /**
15
+ * Checks if the given value is of type {@link DateRange}.
16
+ *
17
+ * @param value - The value to check.
18
+ * @returns `true` if the value is a {@link DateRange}, otherwise `false`.
19
+ * @group Utilities
20
+ */
21
+ function isDateRange(value) {
22
+ return Boolean(value && typeof value === "object" && "from" in value);
23
+ }
24
+ /**
25
+ * Checks if the given value is of type {@link DateAfter}.
26
+ *
27
+ * @param value - The value to check.
28
+ * @returns `true` if the value is a {@link DateAfter}, otherwise `false`.
29
+ * @group Utilities
30
+ */
31
+ function isDateAfterType(value) {
32
+ return Boolean(value && typeof value === "object" && "after" in value);
33
+ }
34
+ /**
35
+ * Checks if the given value is of type {@link DateBefore}.
36
+ *
37
+ * @param value - The value to check.
38
+ * @returns `true` if the value is a {@link DateBefore}, otherwise `false`.
39
+ * @group Utilities
40
+ */
41
+ function isDateBeforeType(value) {
42
+ return Boolean(value && typeof value === "object" && "before" in value);
43
+ }
44
+ /**
45
+ * Checks if the given value is of type {@link DayOfWeek}.
46
+ *
47
+ * @param value - The value to check.
48
+ * @returns `true` if the value is a {@link DayOfWeek}, otherwise `false`.
49
+ * @group Utilities
50
+ */
51
+ function isDayOfWeekType(value) {
52
+ return Boolean(value && typeof value === "object" && "dayOfWeek" in value);
53
+ }
54
+ /**
55
+ * Checks if the given value is an array of valid dates.
56
+ *
57
+ * @private
58
+ * @param value - The value to check.
59
+ * @param dateLib - The date utility library instance.
60
+ * @returns `true` if the value is an array of valid dates, otherwise `false`.
61
+ */
62
+ function isDatesArray(value, dateLib) {
63
+ return Array.isArray(value) && value.every(dateLib.isDate);
64
+ }
65
+
66
+ export { isDateAfterType, isDateBeforeType, isDateInterval, isDateRange, isDatesArray, isDayOfWeekType };
@@ -22,7 +22,8 @@ function ChatInterface({
22
22
  initialMessages,
23
23
  id,
24
24
  variant = "full",
25
- className
25
+ className,
26
+ onMessagesChange
26
27
  }) {
27
28
  const {
28
29
  navigate,
@@ -31,7 +32,8 @@ function ChatInterface({
31
32
  apiBasePath,
32
33
  headers,
33
34
  mode,
34
- showAttribution
35
+ showAttribution,
36
+ chatSuggestions
35
37
  } = context.usePluginOverrides(
36
38
  "ai-chat",
37
39
  { showAttribution: true }
@@ -57,6 +59,7 @@ function ChatInterface({
57
59
  setCurrentConversationId(id);
58
60
  isFirstMessageSentRef.current = false;
59
61
  hasNavigatedRef.current = false;
62
+ isEditInProgressRef.current = false;
60
63
  }
61
64
  }, [id, isPublicMode]);
62
65
  const { conversation, isLoading: isLoadingConversation } = chatHooks.useConversation(
@@ -73,6 +76,13 @@ function ChatInterface({
73
76
  }
74
77
  }, [currentConversationId, isPublicMode]);
75
78
  const editMessagesRef = React.useRef(null);
79
+ const isEditInProgressRef = React.useRef(false);
80
+ const [isMessagesInitialized, setIsMessagesInitialized] = React.useState(
81
+ () => (
82
+ // Start as initialized if there are no initialMessages to load
83
+ !initialMessages || initialMessages.length === 0
84
+ )
85
+ );
76
86
  const transport = React.useMemo(
77
87
  () => new ai.DefaultChatTransport({
78
88
  api: apiPath,
@@ -139,6 +149,9 @@ function ChatInterface({
139
149
  }
140
150
  });
141
151
  React.useEffect(() => {
152
+ if (isEditInProgressRef.current) {
153
+ return;
154
+ }
142
155
  if (conversation?.messages && conversation.messages.length > 0 && messages.length === 0) {
143
156
  const uiMessages = conversation.messages.filter((m) => m.role !== "data").map((m) => {
144
157
  let parts;
@@ -164,6 +177,7 @@ function ChatInterface({
164
177
  React.useEffect(() => {
165
178
  if (initialMessages && initialMessages.length > 0 && messages.length === 0) {
166
179
  setMessages(initialMessages);
180
+ setIsMessagesInitialized(true);
167
181
  }
168
182
  }, [initialMessages, setMessages, messages.length]);
169
183
  const [input, setInput] = React.useState("");
@@ -179,6 +193,11 @@ function ChatInterface({
179
193
  }
180
194
  }
181
195
  }, [messages]);
196
+ React.useEffect(() => {
197
+ if (isPublicMode && onMessagesChange && isMessagesInitialized) {
198
+ onMessagesChange(messages);
199
+ }
200
+ }, [messages, isPublicMode, onMessagesChange, isMessagesInitialized]);
182
201
  const handleInputChange = (e) => {
183
202
  setInput(e.target.value);
184
203
  };
@@ -224,6 +243,7 @@ function ChatInterface({
224
243
  if (pendingEdit && messages.length === pendingEdit.expectedLength) {
225
244
  const textToSend = pendingEdit.text;
226
245
  setPendingEdit(null);
246
+ isEditInProgressRef.current = false;
227
247
  sendMessage({ text: textToSend });
228
248
  }
229
249
  }, [messages.length, pendingEdit, sendMessage]);
@@ -234,6 +254,7 @@ function ChatInterface({
234
254
  const messageToEdit = messages[messageIndex];
235
255
  if (!messageToEdit || messageToEdit.role !== "user") return;
236
256
  const truncatedMessages = messages.slice(0, messageIndex);
257
+ isEditInProgressRef.current = true;
237
258
  editMessagesRef.current = truncatedMessages;
238
259
  setPendingEdit({ text: newText, expectedLength: messageIndex });
239
260
  setMessages(truncatedMessages);
@@ -259,7 +280,19 @@ function ChatInterface({
259
280
  isWidget ? "max-w-full" : "max-w-3xl mx-auto w-full"
260
281
  ),
261
282
  children: [
262
- messages.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col items-center justify-center h-full min-h-[300px] text-muted-foreground", children: /* @__PURE__ */ jsxRuntime.jsx("p", { children: localization.CHAT_EMPTY_STATE }) }) : messages.map((m, index) => /* @__PURE__ */ jsxRuntime.jsx(
283
+ messages.length === 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col h-full min-h-[300px]", children: [
284
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1 flex items-center justify-center text-muted-foreground", children: /* @__PURE__ */ jsxRuntime.jsx("p", { children: localization.CHAT_EMPTY_STATE }) }),
285
+ chatSuggestions && chatSuggestions.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap justify-center gap-2 pb-4 max-w-md mx-auto", children: chatSuggestions.map((suggestion, index) => /* @__PURE__ */ jsxRuntime.jsx(
286
+ "button",
287
+ {
288
+ type: "button",
289
+ onClick: () => setInput(suggestion),
290
+ className: "px-3 py-2 text-sm rounded-lg border border-border bg-background hover:bg-accent hover:text-accent-foreground transition-colors text-foreground",
291
+ children: suggestion
292
+ },
293
+ index
294
+ )) })
295
+ ] }) : messages.map((m, index) => /* @__PURE__ */ jsxRuntime.jsx(
263
296
  chatMessage.ChatMessage,
264
297
  {
265
298
  message: m,
@@ -20,7 +20,8 @@ function ChatInterface({
20
20
  initialMessages,
21
21
  id,
22
22
  variant = "full",
23
- className
23
+ className,
24
+ onMessagesChange
24
25
  }) {
25
26
  const {
26
27
  navigate,
@@ -29,7 +30,8 @@ function ChatInterface({
29
30
  apiBasePath,
30
31
  headers,
31
32
  mode,
32
- showAttribution
33
+ showAttribution,
34
+ chatSuggestions
33
35
  } = usePluginOverrides(
34
36
  "ai-chat",
35
37
  { showAttribution: true }
@@ -55,6 +57,7 @@ function ChatInterface({
55
57
  setCurrentConversationId(id);
56
58
  isFirstMessageSentRef.current = false;
57
59
  hasNavigatedRef.current = false;
60
+ isEditInProgressRef.current = false;
58
61
  }
59
62
  }, [id, isPublicMode]);
60
63
  const { conversation, isLoading: isLoadingConversation } = useConversation(
@@ -71,6 +74,13 @@ function ChatInterface({
71
74
  }
72
75
  }, [currentConversationId, isPublicMode]);
73
76
  const editMessagesRef = useRef(null);
77
+ const isEditInProgressRef = useRef(false);
78
+ const [isMessagesInitialized, setIsMessagesInitialized] = useState(
79
+ () => (
80
+ // Start as initialized if there are no initialMessages to load
81
+ !initialMessages || initialMessages.length === 0
82
+ )
83
+ );
74
84
  const transport = useMemo(
75
85
  () => new DefaultChatTransport({
76
86
  api: apiPath,
@@ -137,6 +147,9 @@ function ChatInterface({
137
147
  }
138
148
  });
139
149
  useEffect(() => {
150
+ if (isEditInProgressRef.current) {
151
+ return;
152
+ }
140
153
  if (conversation?.messages && conversation.messages.length > 0 && messages.length === 0) {
141
154
  const uiMessages = conversation.messages.filter((m) => m.role !== "data").map((m) => {
142
155
  let parts;
@@ -162,6 +175,7 @@ function ChatInterface({
162
175
  useEffect(() => {
163
176
  if (initialMessages && initialMessages.length > 0 && messages.length === 0) {
164
177
  setMessages(initialMessages);
178
+ setIsMessagesInitialized(true);
165
179
  }
166
180
  }, [initialMessages, setMessages, messages.length]);
167
181
  const [input, setInput] = useState("");
@@ -177,6 +191,11 @@ function ChatInterface({
177
191
  }
178
192
  }
179
193
  }, [messages]);
194
+ useEffect(() => {
195
+ if (isPublicMode && onMessagesChange && isMessagesInitialized) {
196
+ onMessagesChange(messages);
197
+ }
198
+ }, [messages, isPublicMode, onMessagesChange, isMessagesInitialized]);
180
199
  const handleInputChange = (e) => {
181
200
  setInput(e.target.value);
182
201
  };
@@ -222,6 +241,7 @@ function ChatInterface({
222
241
  if (pendingEdit && messages.length === pendingEdit.expectedLength) {
223
242
  const textToSend = pendingEdit.text;
224
243
  setPendingEdit(null);
244
+ isEditInProgressRef.current = false;
225
245
  sendMessage({ text: textToSend });
226
246
  }
227
247
  }, [messages.length, pendingEdit, sendMessage]);
@@ -232,6 +252,7 @@ function ChatInterface({
232
252
  const messageToEdit = messages[messageIndex];
233
253
  if (!messageToEdit || messageToEdit.role !== "user") return;
234
254
  const truncatedMessages = messages.slice(0, messageIndex);
255
+ isEditInProgressRef.current = true;
235
256
  editMessagesRef.current = truncatedMessages;
236
257
  setPendingEdit({ text: newText, expectedLength: messageIndex });
237
258
  setMessages(truncatedMessages);
@@ -257,7 +278,19 @@ function ChatInterface({
257
278
  isWidget ? "max-w-full" : "max-w-3xl mx-auto w-full"
258
279
  ),
259
280
  children: [
260
- messages.length === 0 ? /* @__PURE__ */ jsx("div", { className: "flex flex-col items-center justify-center h-full min-h-[300px] text-muted-foreground", children: /* @__PURE__ */ jsx("p", { children: localization.CHAT_EMPTY_STATE }) }) : messages.map((m, index) => /* @__PURE__ */ jsx(
281
+ messages.length === 0 ? /* @__PURE__ */ jsxs("div", { className: "flex flex-col h-full min-h-[300px]", children: [
282
+ /* @__PURE__ */ jsx("div", { className: "flex-1 flex items-center justify-center text-muted-foreground", children: /* @__PURE__ */ jsx("p", { children: localization.CHAT_EMPTY_STATE }) }),
283
+ chatSuggestions && chatSuggestions.length > 0 && /* @__PURE__ */ jsx("div", { className: "flex flex-wrap justify-center gap-2 pb-4 max-w-md mx-auto", children: chatSuggestions.map((suggestion, index) => /* @__PURE__ */ jsx(
284
+ "button",
285
+ {
286
+ type: "button",
287
+ onClick: () => setInput(suggestion),
288
+ className: "px-3 py-2 text-sm rounded-lg border border-border bg-background hover:bg-accent hover:text-accent-foreground transition-colors text-foreground",
289
+ children: suggestion
290
+ },
291
+ index
292
+ )) })
293
+ ] }) : messages.map((m, index) => /* @__PURE__ */ jsx(
261
294
  ChatMessage,
262
295
  {
263
296
  message: m,
@@ -17,7 +17,9 @@ function ChatLayout({
17
17
  layout = "full",
18
18
  className,
19
19
  showSidebar = true,
20
- widgetHeight = "600px"
20
+ widgetHeight = "600px",
21
+ initialMessages,
22
+ onMessagesChange
21
23
  }) {
22
24
  const [sidebarOpen, setSidebarOpen] = React.useState(true);
23
25
  const [mobileSidebarOpen, setMobileSidebarOpen] = React.useState(false);
@@ -37,7 +39,16 @@ function ChatLayout({
37
39
  className
38
40
  ),
39
41
  style: { height: widgetHeight },
40
- children: /* @__PURE__ */ jsxRuntime.jsx(chatInterface.ChatInterface, { apiPath, id: conversationId, variant: "widget" })
42
+ children: /* @__PURE__ */ jsxRuntime.jsx(
43
+ chatInterface.ChatInterface,
44
+ {
45
+ apiPath,
46
+ id: conversationId,
47
+ variant: "widget",
48
+ initialMessages,
49
+ onMessagesChange
50
+ }
51
+ )
41
52
  }
42
53
  );
43
54
  }
@@ -109,7 +120,9 @@ function ChatLayout({
109
120
  {
110
121
  apiPath,
111
122
  id: conversationId,
112
- variant: "full"
123
+ variant: "full",
124
+ initialMessages,
125
+ onMessagesChange
113
126
  },
114
127
  `chat-${conversationId ?? "new"}-${chatResetKey}`
115
128
  )
@@ -15,7 +15,9 @@ function ChatLayout({
15
15
  layout = "full",
16
16
  className,
17
17
  showSidebar = true,
18
- widgetHeight = "600px"
18
+ widgetHeight = "600px",
19
+ initialMessages,
20
+ onMessagesChange
19
21
  }) {
20
22
  const [sidebarOpen, setSidebarOpen] = useState(true);
21
23
  const [mobileSidebarOpen, setMobileSidebarOpen] = useState(false);
@@ -35,7 +37,16 @@ function ChatLayout({
35
37
  className
36
38
  ),
37
39
  style: { height: widgetHeight },
38
- children: /* @__PURE__ */ jsx(ChatInterface, { apiPath, id: conversationId, variant: "widget" })
40
+ children: /* @__PURE__ */ jsx(
41
+ ChatInterface,
42
+ {
43
+ apiPath,
44
+ id: conversationId,
45
+ variant: "widget",
46
+ initialMessages,
47
+ onMessagesChange
48
+ }
49
+ )
39
50
  }
40
51
  );
41
52
  }
@@ -107,7 +118,9 @@ function ChatLayout({
107
118
  {
108
119
  apiPath,
109
120
  id: conversationId,
110
- variant: "full"
121
+ variant: "full",
122
+ initialMessages,
123
+ onMessagesChange
111
124
  },
112
125
  `chat-${conversationId ?? "new"}-${chatResetKey}`
113
126
  )
@@ -7,9 +7,11 @@ const markdownContent = require('../../../../../../ui/src/components/markdown-co
7
7
  const button = require('../../../../../../ui/src/components/button.cjs');
8
8
  const dialog = require('../../../../../../ui/src/components/dialog.cjs');
9
9
  const lucideReact = require('lucide-react');
10
+ const ai = require('ai');
10
11
  const React = require('react');
11
12
  const context = require('@btst/stack/context');
12
13
  const index = require('../localization/index.cjs');
14
+ const toolCallDisplay = require('./tool-call-display.cjs');
13
15
  require('highlight.js/styles/panda-syntax-light.css');
14
16
  const completeMarkdown = require('remend');
15
17
 
@@ -83,7 +85,8 @@ function ChatMessage({
83
85
  const {
84
86
  Link,
85
87
  Image,
86
- localization: customLocalization
88
+ localization: customLocalization,
89
+ toolRenderers
87
90
  } = context.usePluginOverrides(
88
91
  "ai-chat",
89
92
  {}
@@ -155,6 +158,12 @@ function ChatMessage({
155
158
  }
156
159
  return [];
157
160
  }, [message.parts]);
161
+ const toolParts = React.useMemo(() => {
162
+ if (message.parts && Array.isArray(message.parts)) {
163
+ return message.parts.filter((part) => ai.isToolUIPart(part));
164
+ }
165
+ return [];
166
+ }, [message.parts]);
158
167
  const displayContent = React.useMemo(() => {
159
168
  if (!textContent) return "";
160
169
  if (isStreaming && !isUser) {
@@ -276,7 +285,7 @@ function ChatMessage({
276
285
  )
277
286
  ] })
278
287
  ) : (
279
- // Assistant messages: rendered markdown + files + images
288
+ // Assistant messages: rendered markdown + files + images + tool calls
280
289
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "wrap-break-word space-y-2", children: [
281
290
  fileParts.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap gap-2", children: fileParts.map((part, index) => /* @__PURE__ */ jsxRuntime.jsxs(
282
291
  "a",
@@ -304,6 +313,29 @@ function ChatMessage({
304
313
  },
305
314
  index
306
315
  )) }),
316
+ toolParts.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-2", children: toolParts.map((part) => {
317
+ const toolName = ai.getToolName(part);
318
+ const toolCallId = part.toolCallId;
319
+ const state = part.state;
320
+ const input = part.input;
321
+ const output = part.output;
322
+ const errorText = part.errorText;
323
+ const isLoading = state === "input-streaming" || state === "input-available";
324
+ const toolCallProps = {
325
+ toolCallId,
326
+ toolName,
327
+ state,
328
+ input,
329
+ output,
330
+ errorText,
331
+ isLoading
332
+ };
333
+ const CustomRenderer = toolRenderers?.[toolName];
334
+ if (CustomRenderer) {
335
+ return /* @__PURE__ */ jsxRuntime.jsx(CustomRenderer, { ...toolCallProps }, toolCallId);
336
+ }
337
+ return /* @__PURE__ */ jsxRuntime.jsx(toolCallDisplay.ToolCallDisplay, { ...toolCallProps }, toolCallId);
338
+ }) }),
307
339
  displayContent ? /* @__PURE__ */ jsxRuntime.jsx(
308
340
  markdownContent.MarkdownContent,
309
341
  {
@@ -312,7 +344,7 @@ function ChatMessage({
312
344
  LinkComponent: Link ?? DefaultLink,
313
345
  ImageComponent
314
346
  }
315
- ) : imageParts.length === 0 && fileParts.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: "..." }) : null
347
+ ) : imageParts.length === 0 && fileParts.length === 0 && toolParts.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: "..." }) : null
316
348
  ] })
317
349
  )
318
350
  }