@agent-native/scheduling 0.1.12 → 0.1.14
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/actions/_helpers.d.ts.map +1 -1
- package/dist/actions/_helpers.js.map +1 -1
- package/dist/actions/accept-team-invite.d.ts.map +1 -1
- package/dist/actions/accept-team-invite.js +1 -1
- package/dist/actions/accept-team-invite.js.map +1 -1
- package/dist/actions/add-booking-attendee.d.ts.map +1 -1
- package/dist/actions/add-booking-attendee.js +1 -1
- package/dist/actions/add-booking-attendee.js.map +1 -1
- package/dist/actions/add-booking-note.d.ts.map +1 -1
- package/dist/actions/add-booking-note.js +1 -1
- package/dist/actions/add-booking-note.js.map +1 -1
- package/dist/actions/add-date-override.d.ts.map +1 -1
- package/dist/actions/add-date-override.js.map +1 -1
- package/dist/actions/add-private-link.d.ts.map +1 -1
- package/dist/actions/add-private-link.js +2 -2
- package/dist/actions/add-private-link.js.map +1 -1
- package/dist/actions/assign-round-robin-host.d.ts +1 -1
- package/dist/actions/assign-round-robin-host.d.ts.map +1 -1
- package/dist/actions/assign-round-robin-host.js +3 -3
- package/dist/actions/assign-round-robin-host.js.map +1 -1
- package/dist/actions/cancel-booking.d.ts.map +1 -1
- package/dist/actions/cancel-booking.js.map +1 -1
- package/dist/actions/check-availability.d.ts +2 -2
- package/dist/actions/check-availability.d.ts.map +1 -1
- package/dist/actions/check-availability.js +1 -1
- package/dist/actions/check-availability.js.map +1 -1
- package/dist/actions/confirm-booking.d.ts.map +1 -1
- package/dist/actions/confirm-booking.js.map +1 -1
- package/dist/actions/connect-calendar.d.ts.map +1 -1
- package/dist/actions/connect-calendar.js +1 -1
- package/dist/actions/connect-calendar.js.map +1 -1
- package/dist/actions/connect-video.d.ts.map +1 -1
- package/dist/actions/connect-video.js.map +1 -1
- package/dist/actions/create-booking.d.ts +4 -4
- package/dist/actions/create-booking.d.ts.map +1 -1
- package/dist/actions/create-booking.js +1 -1
- package/dist/actions/create-booking.js.map +1 -1
- package/dist/actions/create-event-type.d.ts +1 -1
- package/dist/actions/create-event-type.d.ts.map +1 -1
- package/dist/actions/create-event-type.js.map +1 -1
- package/dist/actions/create-host-group.d.ts.map +1 -1
- package/dist/actions/create-host-group.js +1 -1
- package/dist/actions/create-host-group.js.map +1 -1
- package/dist/actions/create-routing-form.d.ts.map +1 -1
- package/dist/actions/create-routing-form.js +1 -1
- package/dist/actions/create-routing-form.js.map +1 -1
- package/dist/actions/create-schedule.d.ts.map +1 -1
- package/dist/actions/create-schedule.js.map +1 -1
- package/dist/actions/create-team.d.ts.map +1 -1
- package/dist/actions/create-team.js +1 -1
- package/dist/actions/create-team.js.map +1 -1
- package/dist/actions/create-workflow.d.ts +2 -2
- package/dist/actions/create-workflow.d.ts.map +1 -1
- package/dist/actions/create-workflow.js +1 -1
- package/dist/actions/create-workflow.js.map +1 -1
- package/dist/actions/delete-event-type.d.ts.map +1 -1
- package/dist/actions/delete-event-type.js +1 -1
- package/dist/actions/delete-event-type.js.map +1 -1
- package/dist/actions/delete-routing-form.d.ts.map +1 -1
- package/dist/actions/delete-routing-form.js +2 -2
- package/dist/actions/delete-routing-form.js.map +1 -1
- package/dist/actions/delete-schedule.d.ts.map +1 -1
- package/dist/actions/delete-schedule.js +1 -1
- package/dist/actions/delete-schedule.js.map +1 -1
- package/dist/actions/delete-workflow.d.ts.map +1 -1
- package/dist/actions/delete-workflow.js +2 -2
- package/dist/actions/delete-workflow.js.map +1 -1
- package/dist/actions/disconnect-calendar.d.ts.map +1 -1
- package/dist/actions/disconnect-calendar.js +1 -1
- package/dist/actions/disconnect-calendar.js.map +1 -1
- package/dist/actions/duplicate-event-type.d.ts.map +1 -1
- package/dist/actions/duplicate-event-type.js.map +1 -1
- package/dist/actions/export-bookings-csv.d.ts.map +1 -1
- package/dist/actions/export-bookings-csv.js.map +1 -1
- package/dist/actions/find-available-slot.d.ts.map +1 -1
- package/dist/actions/find-available-slot.js +1 -1
- package/dist/actions/find-available-slot.js.map +1 -1
- package/dist/actions/get-availability.d.ts +1 -1
- package/dist/actions/get-availability.d.ts.map +1 -1
- package/dist/actions/get-availability.js.map +1 -1
- package/dist/actions/get-booking.d.ts.map +1 -1
- package/dist/actions/get-booking.js.map +1 -1
- package/dist/actions/get-event-type.d.ts.map +1 -1
- package/dist/actions/get-event-type.js.map +1 -1
- package/dist/actions/install-conferencing-app.d.ts +1 -1
- package/dist/actions/install-conferencing-app.d.ts.map +1 -1
- package/dist/actions/install-conferencing-app.js +1 -1
- package/dist/actions/install-conferencing-app.js.map +1 -1
- package/dist/actions/invite-team-member.d.ts +1 -1
- package/dist/actions/invite-team-member.d.ts.map +1 -1
- package/dist/actions/invite-team-member.js +1 -1
- package/dist/actions/invite-team-member.js.map +1 -1
- package/dist/actions/list-bookings.d.ts +1 -1
- package/dist/actions/list-bookings.d.ts.map +1 -1
- package/dist/actions/list-bookings.js.map +1 -1
- package/dist/actions/list-calendar-integrations.d.ts.map +1 -1
- package/dist/actions/list-calendar-integrations.js +1 -1
- package/dist/actions/list-calendar-integrations.js.map +1 -1
- package/dist/actions/list-event-types.d.ts.map +1 -1
- package/dist/actions/list-event-types.js.map +1 -1
- package/dist/actions/list-routing-form-responses.d.ts.map +1 -1
- package/dist/actions/list-routing-form-responses.js +1 -1
- package/dist/actions/list-routing-form-responses.js.map +1 -1
- package/dist/actions/list-routing-forms.d.ts.map +1 -1
- package/dist/actions/list-routing-forms.js +2 -2
- package/dist/actions/list-routing-forms.js.map +1 -1
- package/dist/actions/list-schedules.d.ts.map +1 -1
- package/dist/actions/list-schedules.js.map +1 -1
- package/dist/actions/list-selected-calendars.d.ts +2 -2
- package/dist/actions/list-selected-calendars.d.ts.map +1 -1
- package/dist/actions/list-selected-calendars.js +1 -1
- package/dist/actions/list-selected-calendars.js.map +1 -1
- package/dist/actions/list-workflows.d.ts.map +1 -1
- package/dist/actions/list-workflows.js +2 -2
- package/dist/actions/list-workflows.js.map +1 -1
- package/dist/actions/mark-no-show.d.ts.map +1 -1
- package/dist/actions/mark-no-show.js.map +1 -1
- package/dist/actions/refresh-busy-times.d.ts.map +1 -1
- package/dist/actions/refresh-busy-times.js +1 -1
- package/dist/actions/refresh-busy-times.js.map +1 -1
- package/dist/actions/remove-booking-attendee.d.ts.map +1 -1
- package/dist/actions/remove-booking-attendee.js +1 -1
- package/dist/actions/remove-booking-attendee.js.map +1 -1
- package/dist/actions/remove-date-override.d.ts.map +1 -1
- package/dist/actions/remove-date-override.js.map +1 -1
- package/dist/actions/remove-team-member.d.ts.map +1 -1
- package/dist/actions/remove-team-member.js +1 -1
- package/dist/actions/remove-team-member.js.map +1 -1
- package/dist/actions/reorder-event-types.d.ts.map +1 -1
- package/dist/actions/reorder-event-types.js +1 -1
- package/dist/actions/reorder-event-types.js.map +1 -1
- package/dist/actions/reschedule-booking.d.ts.map +1 -1
- package/dist/actions/reschedule-booking.js.map +1 -1
- package/dist/actions/revoke-private-link.d.ts.map +1 -1
- package/dist/actions/revoke-private-link.js +1 -1
- package/dist/actions/revoke-private-link.js.map +1 -1
- package/dist/actions/send-reschedule-link.d.ts.map +1 -1
- package/dist/actions/send-reschedule-link.js.map +1 -1
- package/dist/actions/set-appearance.d.ts +1 -1
- package/dist/actions/set-appearance.d.ts.map +1 -1
- package/dist/actions/set-default-conferencing-app.d.ts.map +1 -1
- package/dist/actions/set-default-conferencing-app.js +1 -1
- package/dist/actions/set-default-conferencing-app.js.map +1 -1
- package/dist/actions/set-default-schedule.d.ts.map +1 -1
- package/dist/actions/set-default-schedule.js +1 -1
- package/dist/actions/set-default-schedule.js.map +1 -1
- package/dist/actions/set-destination-calendar.d.ts.map +1 -1
- package/dist/actions/set-destination-calendar.js +1 -1
- package/dist/actions/set-destination-calendar.js.map +1 -1
- package/dist/actions/set-event-type-hosts.d.ts.map +1 -1
- package/dist/actions/set-event-type-hosts.js +2 -2
- package/dist/actions/set-event-type-hosts.js.map +1 -1
- package/dist/actions/set-event-type-location.d.ts.map +1 -1
- package/dist/actions/set-event-type-location.js +1 -1
- package/dist/actions/set-event-type-location.js.map +1 -1
- package/dist/actions/set-host-availability-override.d.ts.map +1 -1
- package/dist/actions/set-host-availability-override.js +1 -1
- package/dist/actions/set-host-availability-override.js.map +1 -1
- package/dist/actions/set-team-branding.d.ts.map +1 -1
- package/dist/actions/set-team-branding.js +1 -1
- package/dist/actions/set-team-branding.js.map +1 -1
- package/dist/actions/submit-routing-form-response.d.ts.map +1 -1
- package/dist/actions/submit-routing-form-response.js +2 -2
- package/dist/actions/submit-routing-form-response.js.map +1 -1
- package/dist/actions/toggle-event-type-hidden.d.ts.map +1 -1
- package/dist/actions/toggle-event-type-hidden.js +1 -1
- package/dist/actions/toggle-event-type-hidden.js.map +1 -1
- package/dist/actions/toggle-selected-calendar.d.ts.map +1 -1
- package/dist/actions/toggle-selected-calendar.js +1 -1
- package/dist/actions/toggle-selected-calendar.js.map +1 -1
- package/dist/actions/toggle-workflow.d.ts.map +1 -1
- package/dist/actions/toggle-workflow.js +2 -2
- package/dist/actions/toggle-workflow.js.map +1 -1
- package/dist/actions/update-event-type.d.ts +2 -2
- package/dist/actions/update-event-type.d.ts.map +1 -1
- package/dist/actions/update-event-type.js +1 -1
- package/dist/actions/update-event-type.js.map +1 -1
- package/dist/actions/update-member-role.d.ts +1 -1
- package/dist/actions/update-member-role.d.ts.map +1 -1
- package/dist/actions/update-member-role.js +1 -1
- package/dist/actions/update-member-role.js.map +1 -1
- package/dist/actions/update-profile.d.ts +1 -1
- package/dist/actions/update-profile.d.ts.map +1 -1
- package/dist/actions/update-profile.js.map +1 -1
- package/dist/actions/update-routing-form.d.ts.map +1 -1
- package/dist/actions/update-routing-form.js +2 -2
- package/dist/actions/update-routing-form.js.map +1 -1
- package/dist/actions/update-schedule.d.ts.map +1 -1
- package/dist/actions/update-schedule.js +1 -1
- package/dist/actions/update-schedule.js.map +1 -1
- package/dist/actions/update-workflow.d.ts +2 -2
- package/dist/actions/update-workflow.d.ts.map +1 -1
- package/dist/actions/update-workflow.js +4 -4
- package/dist/actions/update-workflow.js.map +1 -1
- package/dist/core/limits.d.ts.map +1 -1
- package/dist/core/limits.js.map +1 -1
- package/dist/core/slots.d.ts +1 -1
- package/dist/core/slots.d.ts.map +1 -1
- package/dist/core/slots.js +3 -3
- package/dist/core/slots.js.map +1 -1
- package/dist/react/components/SlotPicker.d.ts +1 -1
- package/dist/react/components/SlotPicker.d.ts.map +1 -1
- package/dist/react/components/SlotPicker.js.map +1 -1
- package/dist/react/components/TimezoneSelect.d.ts +1 -1
- package/dist/react/components/TimezoneSelect.d.ts.map +1 -1
- package/dist/react/components/booking-links/AvailabilityEditor.d.ts +1 -1
- package/dist/react/components/booking-links/AvailabilityEditor.d.ts.map +1 -1
- package/dist/react/components/booking-links/AvailabilityEditor.js.map +1 -1
- package/dist/react/components/booking-links/BookingLinkCreateDialog.d.ts +1 -1
- package/dist/react/components/booking-links/BookingLinkCreateDialog.d.ts.map +1 -1
- package/dist/react/components/booking-links/BookingLinkCreateDialog.js +3 -3
- package/dist/react/components/booking-links/BookingLinkCreateDialog.js.map +1 -1
- package/dist/react/components/booking-links/ConferencingSelector.d.ts +1 -1
- package/dist/react/components/booking-links/ConferencingSelector.d.ts.map +1 -1
- package/dist/react/components/booking-links/ConferencingSelector.js +3 -3
- package/dist/react/components/booking-links/ConferencingSelector.js.map +1 -1
- package/dist/react/components/booking-links/CustomFieldsEditor.d.ts +1 -1
- package/dist/react/components/booking-links/CustomFieldsEditor.d.ts.map +1 -1
- package/dist/react/components/booking-links/CustomFieldsEditor.js +6 -6
- package/dist/react/components/booking-links/CustomFieldsEditor.js.map +1 -1
- package/dist/react/components/booking-links/DurationPicker.d.ts +1 -1
- package/dist/react/components/booking-links/DurationPicker.d.ts.map +1 -1
- package/dist/react/components/booking-links/DurationPicker.js +1 -1
- package/dist/react/components/booking-links/DurationPicker.js.map +1 -1
- package/dist/react/components/booking-links/SlugEditor.d.ts +1 -1
- package/dist/react/components/booking-links/SlugEditor.d.ts.map +1 -1
- package/dist/react/components/booking-links/SlugEditor.js.map +1 -1
- package/dist/react/hooks/useBookingFlow.d.ts.map +1 -1
- package/dist/react/hooks/useBookingFlow.js.map +1 -1
- package/dist/react/hooks/useEventType.d.ts.map +1 -1
- package/dist/react/hooks/useEventType.js.map +1 -1
- package/dist/react/hooks/useReschedule.d.ts.map +1 -1
- package/dist/react/hooks/useReschedule.js.map +1 -1
- package/dist/react/hooks/useSlots.d.ts.map +1 -1
- package/dist/react/hooks/useSlots.js.map +1 -1
- package/dist/react/i18n.d.ts +6 -0
- package/dist/react/i18n.d.ts.map +1 -1
- package/dist/react/i18n.js +6 -0
- package/dist/react/i18n.js.map +1 -1
- package/dist/schema/bookings.d.ts +9 -9
- package/dist/schema/calendar-cache.d.ts +1 -1
- package/dist/schema/credentials.d.ts +5 -5
- package/dist/schema/event-types.d.ts +10 -10
- package/dist/schema/routing-forms.d.ts +5 -5
- package/dist/schema/schedules.d.ts +8 -8
- package/dist/schema/teams.d.ts +6 -6
- package/dist/schema/workflows.d.ts +13 -13
- package/dist/server/availability-engine.d.ts.map +1 -1
- package/dist/server/availability-engine.js +2 -2
- package/dist/server/availability-engine.js.map +1 -1
- package/dist/server/booking-service.d.ts.map +1 -1
- package/dist/server/booking-service.js +3 -3
- package/dist/server/booking-service.js.map +1 -1
- package/dist/server/bookings-repo.d.ts.map +1 -1
- package/dist/server/bookings-repo.js +1 -1
- package/dist/server/bookings-repo.js.map +1 -1
- package/dist/server/event-types-repo.d.ts.map +1 -1
- package/dist/server/event-types-repo.js +1 -1
- package/dist/server/event-types-repo.js.map +1 -1
- package/dist/server/hooks.d.ts.map +1 -1
- package/dist/server/hooks.js +1 -1
- package/dist/server/hooks.js.map +1 -1
- package/dist/server/providers/google-calendar.d.ts.map +1 -1
- package/dist/server/providers/office365.d.ts.map +1 -1
- package/dist/server/schedules-repo.d.ts.map +1 -1
- package/dist/server/schedules-repo.js +1 -1
- package/dist/server/schedules-repo.js.map +1 -1
- package/dist/server/video-oauth.d.ts.map +1 -1
- package/dist/server/video-oauth.js +1 -1
- package/dist/server/video-oauth.js.map +1 -1
- package/package.json +30 -29
- package/src/actions/_helpers.ts +1 -0
- package/src/actions/accept-team-invite.ts +2 -1
- package/src/actions/add-booking-attendee.ts +2 -1
- package/src/actions/add-booking-note.ts +2 -1
- package/src/actions/add-date-override.ts +1 -0
- package/src/actions/add-private-link.ts +3 -2
- package/src/actions/assign-round-robin-host.ts +4 -3
- package/src/actions/cancel-booking.ts +1 -0
- package/src/actions/check-availability.ts +2 -1
- package/src/actions/confirm-booking.ts +1 -0
- package/src/actions/connect-calendar.ts +2 -1
- package/src/actions/connect-video.ts +1 -0
- package/src/actions/create-booking.ts +2 -1
- package/src/actions/create-event-type.ts +1 -0
- package/src/actions/create-host-group.ts +2 -1
- package/src/actions/create-routing-form.ts +2 -1
- package/src/actions/create-schedule.ts +1 -0
- package/src/actions/create-team.ts +2 -1
- package/src/actions/create-workflow.ts +2 -1
- package/src/actions/delete-event-type.ts +2 -1
- package/src/actions/delete-routing-form.ts +3 -2
- package/src/actions/delete-schedule.ts +2 -1
- package/src/actions/delete-workflow.ts +3 -2
- package/src/actions/disconnect-calendar.ts +2 -1
- package/src/actions/duplicate-event-type.ts +1 -0
- package/src/actions/export-bookings-csv.ts +1 -0
- package/src/actions/find-available-slot.ts +2 -1
- package/src/actions/get-availability.ts +1 -0
- package/src/actions/get-booking.ts +1 -0
- package/src/actions/get-event-type.ts +1 -0
- package/src/actions/install-conferencing-app.ts +2 -1
- package/src/actions/invite-team-member.ts +2 -1
- package/src/actions/list-bookings.ts +1 -0
- package/src/actions/list-calendar-integrations.ts +2 -1
- package/src/actions/list-event-types.ts +1 -0
- package/src/actions/list-routing-form-responses.ts +2 -1
- package/src/actions/list-routing-forms.ts +3 -2
- package/src/actions/list-schedules.ts +1 -0
- package/src/actions/list-selected-calendars.ts +2 -1
- package/src/actions/list-workflows.ts +3 -2
- package/src/actions/mark-no-show.ts +1 -0
- package/src/actions/refresh-busy-times.ts +2 -1
- package/src/actions/remove-booking-attendee.ts +2 -1
- package/src/actions/remove-date-override.ts +1 -0
- package/src/actions/remove-team-member.ts +2 -1
- package/src/actions/reorder-event-types.ts +2 -1
- package/src/actions/reschedule-booking.ts +1 -0
- package/src/actions/revoke-private-link.ts +2 -1
- package/src/actions/send-reschedule-link.ts +1 -0
- package/src/actions/set-default-conferencing-app.ts +2 -1
- package/src/actions/set-default-schedule.ts +2 -1
- package/src/actions/set-destination-calendar.ts +2 -1
- package/src/actions/set-event-type-hosts.ts +3 -2
- package/src/actions/set-event-type-location.ts +2 -1
- package/src/actions/set-host-availability-override.ts +2 -1
- package/src/actions/set-team-branding.ts +2 -1
- package/src/actions/submit-routing-form-response.ts +3 -2
- package/src/actions/toggle-event-type-hidden.ts +2 -1
- package/src/actions/toggle-selected-calendar.ts +2 -1
- package/src/actions/toggle-workflow.ts +3 -2
- package/src/actions/update-event-type.ts +2 -1
- package/src/actions/update-member-role.ts +2 -1
- package/src/actions/update-profile.ts +1 -0
- package/src/actions/update-routing-form.ts +3 -2
- package/src/actions/update-schedule.ts +2 -1
- package/src/actions/update-workflow.ts +5 -4
- package/src/core/limits.ts +3 -2
- package/src/core/round-robin.test.ts +2 -1
- package/src/core/slots.test.ts +2 -1
- package/src/core/slots.ts +4 -4
- package/src/react/components/SlotPicker.tsx +3 -2
- package/src/react/components/_shadcn-shims.d.ts +1 -1
- package/src/react/components/booking-links/AvailabilityEditor.tsx +3 -1
- package/src/react/components/booking-links/BookingLinkCreateDialog.tsx +5 -3
- package/src/react/components/booking-links/ConferencingSelector.tsx +12 -10
- package/src/react/components/booking-links/CustomFieldsEditor.tsx +16 -14
- package/src/react/components/booking-links/DurationPicker.tsx +3 -1
- package/src/react/components/booking-links/SlugEditor.tsx +2 -0
- package/src/react/hooks/useBookingFlow.ts +1 -0
- package/src/react/hooks/useEventType.ts +1 -0
- package/src/react/hooks/useReschedule.ts +1 -0
- package/src/react/hooks/useSlots.ts +1 -0
- package/src/react/i18n.ts +6 -0
- package/src/server/availability-engine.ts +5 -4
- package/src/server/booking-service.ts +4 -3
- package/src/server/bookings-repo.ts +2 -1
- package/src/server/event-types-repo.ts +2 -1
- package/src/server/hooks.ts +2 -1
- package/src/server/providers/google-calendar.ts +1 -1
- package/src/server/providers/office365.ts +1 -1
- package/src/server/schedules-repo.ts +2 -1
- package/src/server/video-oauth-state.test.ts +1 -0
- package/src/server/video-oauth.ts +2 -1
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import { TZDate } from "@date-fns/tz";
|
|
2
|
+
import { format } from "date-fns";
|
|
3
|
+
|
|
1
4
|
/**
|
|
2
5
|
* SlotPicker — minimal, unstyled primitive that renders a vertical list of
|
|
3
6
|
* available slots grouped by date. Consumers style the buttons via their
|
|
@@ -7,8 +10,6 @@
|
|
|
7
10
|
* system for a fully styled picker.
|
|
8
11
|
*/
|
|
9
12
|
import type { Slot } from "../../shared/index.js";
|
|
10
|
-
import { TZDate } from "@date-fns/tz";
|
|
11
|
-
import { format } from "date-fns";
|
|
12
13
|
import { useSchedulingT } from "../i18n.js";
|
|
13
14
|
|
|
14
15
|
export interface SlotPickerProps {
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* *build time* by the consumer's bundler (Vite / React Router) using the
|
|
7
7
|
* template's `tsconfig.json` `paths` setting.
|
|
8
8
|
*
|
|
9
|
-
* The package itself doesn't have access to that alias during `
|
|
9
|
+
* The package itself doesn't have access to that alias during `tsgo`
|
|
10
10
|
* compilation, so we declare broad shapes here to make the compiler happy
|
|
11
11
|
* without coupling the package to a specific shadcn version. Runtime
|
|
12
12
|
* behaviour is driven entirely by the consumer's actual shadcn modules.
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { LocaleCode } from "@agent-native/core/client";
|
|
2
|
+
|
|
1
3
|
/**
|
|
2
4
|
* AvailabilityEditor — weekly schedule grid with per-day toggles and time
|
|
3
5
|
* pickers. Matches the calendar template's visual baseline.
|
|
@@ -11,8 +13,8 @@
|
|
|
11
13
|
*/
|
|
12
14
|
import { Input } from "@/components/ui/input";
|
|
13
15
|
import { Switch } from "@/components/ui/switch";
|
|
16
|
+
|
|
14
17
|
import { schedulingMessage, useSchedulingT } from "../../i18n.js";
|
|
15
|
-
import type { LocaleCode } from "@agent-native/core/client";
|
|
16
18
|
|
|
17
19
|
export type DayKey =
|
|
18
20
|
| "monday"
|
|
@@ -10,6 +10,8 @@
|
|
|
10
10
|
* label, textarea.
|
|
11
11
|
*/
|
|
12
12
|
import { useEffect, useState } from "react";
|
|
13
|
+
|
|
14
|
+
import { Button } from "@/components/ui/button";
|
|
13
15
|
import {
|
|
14
16
|
Dialog,
|
|
15
17
|
DialogContent,
|
|
@@ -18,10 +20,10 @@ import {
|
|
|
18
20
|
DialogHeader,
|
|
19
21
|
DialogTitle,
|
|
20
22
|
} from "@/components/ui/dialog";
|
|
21
|
-
import { Button } from "@/components/ui/button";
|
|
22
23
|
import { Input } from "@/components/ui/input";
|
|
23
24
|
import { Label } from "@/components/ui/label";
|
|
24
25
|
import { Textarea } from "@/components/ui/textarea";
|
|
26
|
+
|
|
25
27
|
import { useSchedulingT } from "../../i18n.js";
|
|
26
28
|
|
|
27
29
|
export interface BookingLinkCreateDraft {
|
|
@@ -110,7 +112,7 @@ export function BookingLinkCreateDialog(props: BookingLinkCreateDialogProps) {
|
|
|
110
112
|
<Label htmlFor="blc-title">{t("title")}</Label>
|
|
111
113
|
<Input
|
|
112
114
|
id="blc-title"
|
|
113
|
-
placeholder="
|
|
115
|
+
placeholder={t("quickChatPlaceholder")}
|
|
114
116
|
value={form.title}
|
|
115
117
|
onChange={(e) => {
|
|
116
118
|
const title = e.currentTarget.value;
|
|
@@ -131,7 +133,7 @@ export function BookingLinkCreateDialog(props: BookingLinkCreateDialogProps) {
|
|
|
131
133
|
</span>
|
|
132
134
|
<Input
|
|
133
135
|
id="blc-slug"
|
|
134
|
-
placeholder="
|
|
136
|
+
placeholder={t("quickChatSlugPlaceholder")}
|
|
135
137
|
className="rounded-l-none border-0 focus-visible:ring-0 focus-visible:ring-offset-0"
|
|
136
138
|
value={form.slug}
|
|
137
139
|
onChange={(e) => {
|
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
import {
|
|
2
|
+
IconBrandGoogle,
|
|
3
|
+
IconBrandZoom,
|
|
4
|
+
IconCheck,
|
|
5
|
+
IconLink,
|
|
6
|
+
IconVideo,
|
|
7
|
+
IconVideoOff,
|
|
8
|
+
} from "@tabler/icons-react";
|
|
1
9
|
/**
|
|
2
10
|
* ConferencingSelector — choose how a booking's video meeting is set up.
|
|
3
11
|
*
|
|
@@ -23,24 +31,18 @@
|
|
|
23
31
|
* - `onConnectGoogle` — optional, same shape as onConnectZoom
|
|
24
32
|
*/
|
|
25
33
|
import { useId, type ComponentType } from "react";
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
IconBrandZoom,
|
|
29
|
-
IconCheck,
|
|
30
|
-
IconLink,
|
|
31
|
-
IconVideo,
|
|
32
|
-
IconVideoOff,
|
|
33
|
-
} from "@tabler/icons-react";
|
|
34
|
+
|
|
35
|
+
import { Badge } from "@/components/ui/badge";
|
|
34
36
|
import { Button } from "@/components/ui/button";
|
|
35
37
|
import { Input } from "@/components/ui/input";
|
|
36
38
|
import { Label } from "@/components/ui/label";
|
|
37
|
-
import { Badge } from "@/components/ui/badge";
|
|
38
39
|
import {
|
|
39
40
|
Select,
|
|
40
41
|
SelectContent,
|
|
41
42
|
SelectItem,
|
|
42
43
|
SelectTrigger,
|
|
43
44
|
} from "@/components/ui/select";
|
|
45
|
+
|
|
44
46
|
import { useSchedulingT } from "../../i18n.js";
|
|
45
47
|
|
|
46
48
|
export type ConferencingType = "none" | "google_meet" | "zoom" | "custom";
|
|
@@ -275,7 +277,7 @@ export function ConferencingSelector(props: ConferencingSelectorProps) {
|
|
|
275
277
|
onChange={(e) =>
|
|
276
278
|
onChange({ type: "custom", url: e.currentTarget.value })
|
|
277
279
|
}
|
|
278
|
-
placeholder="
|
|
280
|
+
placeholder={t("customMeetingUrlPlaceholder")}
|
|
279
281
|
className="h-8 text-sm"
|
|
280
282
|
/>
|
|
281
283
|
</div>
|
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
import {
|
|
2
|
+
IconChevronDown,
|
|
3
|
+
IconChevronLeft,
|
|
4
|
+
IconChevronRight,
|
|
5
|
+
IconGripVertical,
|
|
6
|
+
IconListCheck,
|
|
7
|
+
IconPlus,
|
|
8
|
+
IconTrash,
|
|
9
|
+
} from "@tabler/icons-react";
|
|
10
|
+
import { nanoid } from "nanoid";
|
|
1
11
|
/**
|
|
2
12
|
* CustomFieldsEditor — add, remove, reorder, and configure custom form
|
|
3
13
|
* fields shown on a booking page.
|
|
@@ -13,20 +23,12 @@
|
|
|
13
23
|
* textarea, switch. Icons from `@tabler/icons-react`.
|
|
14
24
|
*/
|
|
15
25
|
import { useState } from "react";
|
|
16
|
-
|
|
17
|
-
import {
|
|
18
|
-
IconChevronDown,
|
|
19
|
-
IconChevronLeft,
|
|
20
|
-
IconChevronRight,
|
|
21
|
-
IconGripVertical,
|
|
22
|
-
IconListCheck,
|
|
23
|
-
IconPlus,
|
|
24
|
-
IconTrash,
|
|
25
|
-
} from "@tabler/icons-react";
|
|
26
|
+
|
|
26
27
|
import { Input } from "@/components/ui/input";
|
|
27
28
|
import { Label } from "@/components/ui/label";
|
|
28
|
-
import { Textarea } from "@/components/ui/textarea";
|
|
29
29
|
import { Switch } from "@/components/ui/switch";
|
|
30
|
+
import { Textarea } from "@/components/ui/textarea";
|
|
31
|
+
|
|
30
32
|
import { useSchedulingT } from "../../i18n.js";
|
|
31
33
|
|
|
32
34
|
export type CustomFieldType =
|
|
@@ -355,7 +357,7 @@ export function CustomFieldsEditor(props: CustomFieldsEditorProps) {
|
|
|
355
357
|
.filter((o) => o.trim());
|
|
356
358
|
updateField(field.id, { options });
|
|
357
359
|
}}
|
|
358
|
-
placeholder={"
|
|
360
|
+
placeholder={t("optionListPlaceholder")}
|
|
359
361
|
rows={3}
|
|
360
362
|
className="text-sm"
|
|
361
363
|
/>
|
|
@@ -377,7 +379,7 @@ export function CustomFieldsEditor(props: CustomFieldsEditorProps) {
|
|
|
377
379
|
pattern: e.target.value || undefined,
|
|
378
380
|
})
|
|
379
381
|
}
|
|
380
|
-
placeholder="
|
|
382
|
+
placeholder={t("validationPatternPlaceholder")}
|
|
381
383
|
className="h-8 font-mono text-sm"
|
|
382
384
|
/>
|
|
383
385
|
{field.pattern && (
|
|
@@ -395,7 +397,7 @@ export function CustomFieldsEditor(props: CustomFieldsEditorProps) {
|
|
|
395
397
|
patternError: e.target.value || undefined,
|
|
396
398
|
})
|
|
397
399
|
}
|
|
398
|
-
placeholder="
|
|
400
|
+
placeholder={t("validationErrorPlaceholder")}
|
|
399
401
|
className="h-8 text-sm"
|
|
400
402
|
/>
|
|
401
403
|
</div>
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { IconPlus, IconX } from "@tabler/icons-react";
|
|
1
2
|
/**
|
|
2
3
|
* DurationPicker — multi-select of booking durations rendered as pills.
|
|
3
4
|
*
|
|
@@ -8,9 +9,10 @@
|
|
|
8
9
|
* Shadcn primitives expected in the consumer: button, input, label.
|
|
9
10
|
*/
|
|
10
11
|
import { useState } from "react";
|
|
11
|
-
|
|
12
|
+
|
|
12
13
|
import { Button } from "@/components/ui/button";
|
|
13
14
|
import { Input } from "@/components/ui/input";
|
|
15
|
+
|
|
14
16
|
import { useSchedulingT } from "../../i18n.js";
|
|
15
17
|
|
|
16
18
|
const DEFAULT_PRESETS = [15, 30, 45, 60];
|
package/src/react/i18n.ts
CHANGED
|
@@ -86,6 +86,12 @@ const enUS = {
|
|
|
86
86
|
saving: "Saving...",
|
|
87
87
|
shortText: "Short text",
|
|
88
88
|
shortDescriptionPlaceholder: "A short description people will see.",
|
|
89
|
+
quickChatPlaceholder: "Quick chat",
|
|
90
|
+
quickChatSlugPlaceholder: "quick-chat",
|
|
91
|
+
optionListPlaceholder: "Option 1\nOption 2\nOption 3",
|
|
92
|
+
validationPatternPlaceholder: "e.g. ^https?://(www\\.)?linkedin\\.com/in/.+",
|
|
93
|
+
validationErrorPlaceholder: "e.g. Please enter a valid LinkedIn URL",
|
|
94
|
+
customMeetingUrlPlaceholder: "https://meet.example.com/room",
|
|
89
95
|
title: "Title",
|
|
90
96
|
to: "to",
|
|
91
97
|
toggleDay: "Toggle {{day}}",
|
|
@@ -7,18 +7,19 @@
|
|
|
7
7
|
* calendars + existing bookings, and applies booking limits.
|
|
8
8
|
*/
|
|
9
9
|
import { eq, gte, lt, and } from "drizzle-orm";
|
|
10
|
+
|
|
11
|
+
import type { BookingCounts } from "../core/limits.js";
|
|
12
|
+
import { bucketKeysForSlot } from "../core/limits.js";
|
|
13
|
+
import { computeAvailableSlots } from "../core/slots.js";
|
|
10
14
|
import type {
|
|
11
15
|
EventType,
|
|
12
16
|
Schedule,
|
|
13
17
|
BusyInterval,
|
|
14
18
|
Slot,
|
|
15
19
|
} from "../shared/index.js";
|
|
16
|
-
import type { BookingCounts } from "../core/limits.js";
|
|
17
|
-
import { computeAvailableSlots } from "../core/slots.js";
|
|
18
|
-
import { bucketKeysForSlot } from "../core/limits.js";
|
|
19
|
-
import { getScheduleById } from "./schedules-repo.js";
|
|
20
20
|
import { getSchedulingContext } from "./context.js";
|
|
21
21
|
import { getCalendarProvider } from "./providers/registry.js";
|
|
22
|
+
import { getScheduleById } from "./schedules-repo.js";
|
|
22
23
|
|
|
23
24
|
export interface GetSlotsInput {
|
|
24
25
|
eventType: EventType;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { eq } from "drizzle-orm";
|
|
2
|
+
|
|
1
3
|
/**
|
|
2
4
|
* Booking lifecycle — create, reschedule, cancel — wired to providers and
|
|
3
5
|
* workflow hooks.
|
|
@@ -23,15 +25,14 @@ import {
|
|
|
23
25
|
markAttendeeNoShow,
|
|
24
26
|
addBookingReference,
|
|
25
27
|
} from "./bookings-repo.js";
|
|
28
|
+
import { getSchedulingContext } from "./context.js";
|
|
26
29
|
import { getEventTypeById } from "./event-types-repo.js";
|
|
27
|
-
import { getCalendarProvider, getVideoProvider } from "./providers/registry.js";
|
|
28
30
|
import {
|
|
29
31
|
onBookingCreated,
|
|
30
32
|
onBookingCancelled,
|
|
31
33
|
onBookingRescheduled,
|
|
32
34
|
} from "./hooks.js";
|
|
33
|
-
import {
|
|
34
|
-
import { eq } from "drizzle-orm";
|
|
35
|
+
import { getCalendarProvider, getVideoProvider } from "./providers/registry.js";
|
|
35
36
|
|
|
36
37
|
export interface CreateBookingInput {
|
|
37
38
|
eventType: EventType;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import { accessFilter } from "@agent-native/core/sharing";
|
|
1
2
|
/**
|
|
2
3
|
* Data access for bookings + their attendees, references, and notes.
|
|
3
4
|
*/
|
|
4
5
|
import { eq, and, gte, lt, or, desc, asc, isNotNull } from "drizzle-orm";
|
|
5
6
|
import { nanoid } from "nanoid";
|
|
6
|
-
|
|
7
|
+
|
|
7
8
|
import type {
|
|
8
9
|
Booking,
|
|
9
10
|
Attendee,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { accessFilter } from "@agent-native/core/sharing";
|
|
1
2
|
/**
|
|
2
3
|
* Data access for event types.
|
|
3
4
|
*
|
|
@@ -6,7 +7,7 @@
|
|
|
6
7
|
*/
|
|
7
8
|
import { eq, and } from "drizzle-orm";
|
|
8
9
|
import { nanoid } from "nanoid";
|
|
9
|
-
|
|
10
|
+
|
|
10
11
|
import type {
|
|
11
12
|
EventType,
|
|
12
13
|
Location,
|
package/src/server/hooks.ts
CHANGED
|
@@ -9,9 +9,10 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import { eq, and, inArray } from "drizzle-orm";
|
|
11
11
|
import { nanoid } from "nanoid";
|
|
12
|
+
|
|
13
|
+
import { addMinutes } from "../core/time.js";
|
|
12
14
|
import type { Booking, Workflow, WorkflowStep } from "../shared/index.js";
|
|
13
15
|
import { getSchedulingContext } from "./context.js";
|
|
14
|
-
import { addMinutes } from "../core/time.js";
|
|
15
16
|
|
|
16
17
|
export async function onBookingCreated(booking: Booking): Promise<void> {
|
|
17
18
|
await materializeReminders(booking, "new-booking");
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { BusyInterval } from "../../shared/index.js";
|
|
1
2
|
/**
|
|
2
3
|
* Google Calendar provider.
|
|
3
4
|
*
|
|
@@ -10,7 +11,6 @@
|
|
|
10
11
|
* via the `getAccessToken` callback.
|
|
11
12
|
*/
|
|
12
13
|
import type { CalendarProvider } from "./types.js";
|
|
13
|
-
import type { BusyInterval } from "../../shared/index.js";
|
|
14
14
|
|
|
15
15
|
export interface GoogleCalendarProviderConfig {
|
|
16
16
|
clientId: string;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { BusyInterval } from "../../shared/index.js";
|
|
1
2
|
/**
|
|
2
3
|
* Office 365 / Outlook calendar provider via Microsoft Graph.
|
|
3
4
|
*
|
|
@@ -5,7 +6,6 @@
|
|
|
5
6
|
* Uses Microsoft Graph API for calendars and events.
|
|
6
7
|
*/
|
|
7
8
|
import type { CalendarProvider } from "./types.js";
|
|
8
|
-
import type { BusyInterval } from "../../shared/index.js";
|
|
9
9
|
|
|
10
10
|
export interface Office365ProviderConfig {
|
|
11
11
|
clientId: string;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
import { accessFilter } from "@agent-native/core/sharing";
|
|
1
2
|
/**
|
|
2
3
|
* Data access for schedules — the weekly-hours + date-override definitions
|
|
3
4
|
* that event types reference.
|
|
4
5
|
*/
|
|
5
6
|
import { eq, and, inArray, type SQL } from "drizzle-orm";
|
|
6
7
|
import { nanoid } from "nanoid";
|
|
7
|
-
|
|
8
|
+
|
|
8
9
|
import type {
|
|
9
10
|
Schedule,
|
|
10
11
|
WeeklyAvailability,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { eq } from "drizzle-orm";
|
|
1
2
|
/**
|
|
2
3
|
* Server-side helper for completing video conferencing OAuth callbacks.
|
|
3
4
|
*
|
|
@@ -14,7 +15,7 @@
|
|
|
14
15
|
* pass in `userEmail` explicitly.
|
|
15
16
|
*/
|
|
16
17
|
import { nanoid } from "nanoid";
|
|
17
|
-
|
|
18
|
+
|
|
18
19
|
import { getSchedulingContext } from "./context.js";
|
|
19
20
|
import { getVideoProvider } from "./providers/registry.js";
|
|
20
21
|
|