@nylas/web-elements 1.1.5 → 1.1.6
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/cdn/nylas-booked-event-card/nylas-booked-event-card.es.js +155 -145
- package/dist/cdn/nylas-booking-form/nylas-booking-form.es.js +80 -70
- package/dist/cdn/nylas-cancel-booking-form/nylas-cancel-booking-form.es.js +14 -4
- package/dist/cdn/nylas-cancelled-event-card/nylas-cancelled-event-card.es.js +14 -4
- package/dist/cdn/nylas-confirmed-event-card/nylas-confirmed-event-card.es.js +14 -4
- package/dist/cdn/nylas-date-picker/nylas-date-picker.es.js +86 -73
- package/dist/cdn/nylas-editor-tabs/nylas-editor-tabs.es.js +19 -12
- package/dist/cdn/nylas-feedback-form/nylas-feedback-form.es.js +1226 -1219
- package/dist/cdn/nylas-locale-switch/nylas-locale-switch.es.js +1233 -1220
- package/dist/cdn/nylas-organizer-confirmation-card/nylas-organizer-confirmation-card.es.js +11 -4
- package/dist/cdn/nylas-scheduler-editor/nylas-scheduler-editor.es.js +19 -12
- package/dist/cdn/nylas-scheduling/nylas-scheduling.es.js +1694 -1584
- package/dist/cdn/nylas-selected-event-card/nylas-selected-event-card.es.js +14 -4
- package/dist/cdn/nylas-timeslot-picker/nylas-timeslot-picker.es.js +13 -3
- package/dist/cjs/calendar-agenda-fill-icon_54.cjs.entry.js +13 -3
- package/dist/cjs/calendar-agenda-fill-icon_54.cjs.entry.js.map +1 -1
- package/dist/cjs/google-logo-icon_4.cjs.entry.js +7 -6
- package/dist/cjs/google-logo-icon_4.cjs.entry.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/nylas-booked-event-card.cjs.entry.js +15 -4
- package/dist/cjs/nylas-booked-event-card.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-booked-event-card_12.cjs.entry.js +142 -25
- package/dist/cjs/nylas-booked-event-card_12.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-booking-form.cjs.entry.js +16 -3
- package/dist/cjs/nylas-booking-form.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-cancel-booking-form.cjs.entry.js +13 -2
- package/dist/cjs/nylas-cancel-booking-form.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-cancelled-event-card.cjs.entry.js +13 -2
- package/dist/cjs/nylas-cancelled-event-card.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-confirmed-event-card.cjs.entry.js +13 -2
- package/dist/cjs/nylas-confirmed-event-card.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-date-picker.cjs.entry.js +16 -2
- package/dist/cjs/nylas-date-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-editor-tabs.cjs.entry.js +7 -6
- package/dist/cjs/nylas-editor-tabs.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-feedback-form.cjs.entry.js +13 -3
- package/dist/cjs/nylas-feedback-form.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-locale-switch.cjs.entry.js +18 -4
- package/dist/cjs/nylas-locale-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-organizer-confirmation-card.cjs.entry.js +12 -2
- package/dist/cjs/nylas-organizer-confirmation-card.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-scheduling.cjs.entry.js +11 -10
- package/dist/cjs/nylas-scheduling.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-selected-event-card.cjs.entry.js +14 -3
- package/dist/cjs/nylas-selected-event-card.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-timeslot-picker.cjs.entry.js +12 -1
- package/dist/cjs/nylas-timeslot-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-web-elements.cjs.js +1 -1
- package/dist/collection/components/scheduler/nylas-booked-event-card/nylas-booked-event-card.css +0 -23
- package/dist/collection/components/scheduler/nylas-booked-event-card/nylas-booked-event-card.js +34 -3
- package/dist/collection/components/scheduler/nylas-booked-event-card/nylas-booked-event-card.js.map +1 -1
- package/dist/collection/components/scheduler/nylas-booking-form/nylas-booking-form.css +0 -23
- package/dist/collection/components/scheduler/nylas-booking-form/nylas-booking-form.js +35 -2
- package/dist/collection/components/scheduler/nylas-booking-form/nylas-booking-form.js.map +1 -1
- package/dist/collection/components/scheduler/nylas-cancel-booking-form/nylas-cancel-booking-form.css +0 -23
- package/dist/collection/components/scheduler/nylas-cancel-booking-form/nylas-cancel-booking-form.js +32 -1
- package/dist/collection/components/scheduler/nylas-cancel-booking-form/nylas-cancel-booking-form.js.map +1 -1
- package/dist/collection/components/scheduler/nylas-cancelled-event-card/nylas-cancelled-event-card.css +0 -23
- package/dist/collection/components/scheduler/nylas-cancelled-event-card/nylas-cancelled-event-card.js +32 -1
- package/dist/collection/components/scheduler/nylas-cancelled-event-card/nylas-cancelled-event-card.js.map +1 -1
- package/dist/collection/components/scheduler/nylas-confirmed-event-card/nylas-confirmed-event-card.css +0 -23
- package/dist/collection/components/scheduler/nylas-confirmed-event-card/nylas-confirmed-event-card.js +32 -1
- package/dist/collection/components/scheduler/nylas-confirmed-event-card/nylas-confirmed-event-card.js.map +1 -1
- package/dist/collection/components/scheduler/nylas-date-picker/nylas-date-picker.css +0 -23
- package/dist/collection/components/scheduler/nylas-date-picker/nylas-date-picker.js +35 -1
- package/dist/collection/components/scheduler/nylas-date-picker/nylas-date-picker.js.map +1 -1
- package/dist/collection/components/scheduler/nylas-feedback-form/nylas-feedback-form.css +0 -23
- package/dist/collection/components/scheduler/nylas-feedback-form/nylas-feedback-form.js +36 -2
- package/dist/collection/components/scheduler/nylas-feedback-form/nylas-feedback-form.js.map +1 -1
- package/dist/collection/components/scheduler/nylas-locale-switch/nylas-locale-switch.css +0 -23
- package/dist/collection/components/scheduler/nylas-locale-switch/nylas-locale-switch.js +37 -3
- package/dist/collection/components/scheduler/nylas-locale-switch/nylas-locale-switch.js.map +1 -1
- package/dist/collection/components/scheduler/nylas-organizer-confirmation-card/nylas-organizer-confirmation-card.css +0 -23
- package/dist/collection/components/scheduler/nylas-organizer-confirmation-card/nylas-organizer-confirmation-card.js +31 -1
- package/dist/collection/components/scheduler/nylas-organizer-confirmation-card/nylas-organizer-confirmation-card.js.map +1 -1
- package/dist/collection/components/scheduler/nylas-scheduling/nylas-scheduling.js +10 -9
- package/dist/collection/components/scheduler/nylas-scheduling/nylas-scheduling.js.map +1 -1
- package/dist/collection/components/scheduler/nylas-selected-event-card/nylas-selected-event-card.css +0 -23
- package/dist/collection/components/scheduler/nylas-selected-event-card/nylas-selected-event-card.js +33 -2
- package/dist/collection/components/scheduler/nylas-selected-event-card/nylas-selected-event-card.js.map +1 -1
- package/dist/collection/components/scheduler/nylas-timeslot-picker/nylas-timeslot-picker.css +0 -23
- package/dist/collection/components/scheduler/nylas-timeslot-picker/nylas-timeslot-picker.js +31 -0
- package/dist/collection/components/scheduler/nylas-timeslot-picker/nylas-timeslot-picker.js.map +1 -1
- package/dist/collection/components/scheduler/nylas-timeslot-picker/test/nylas-timeslot-picker.spec.js +7 -1
- package/dist/collection/components/scheduler/nylas-timeslot-picker/test/nylas-timeslot-picker.spec.js.map +1 -1
- package/dist/collection/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.js +5 -4
- package/dist/collection/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.js.map +1 -1
- package/dist/components/nylas-booked-event-card2.js +16 -4
- package/dist/components/nylas-booked-event-card2.js.map +1 -1
- package/dist/components/nylas-booking-form2.js +17 -3
- package/dist/components/nylas-booking-form2.js.map +1 -1
- package/dist/components/nylas-cancel-booking-form2.js +14 -2
- package/dist/components/nylas-cancel-booking-form2.js.map +1 -1
- package/dist/components/nylas-cancelled-event-card2.js +14 -2
- package/dist/components/nylas-cancelled-event-card2.js.map +1 -1
- package/dist/components/nylas-confirmed-event-card2.js +14 -2
- package/dist/components/nylas-confirmed-event-card2.js.map +1 -1
- package/dist/components/nylas-date-picker2.js +18 -3
- package/dist/components/nylas-date-picker2.js.map +1 -1
- package/dist/components/nylas-editor-tabs2.js +7 -6
- package/dist/components/nylas-editor-tabs2.js.map +1 -1
- package/dist/components/nylas-feedback-form2.js +14 -3
- package/dist/components/nylas-feedback-form2.js.map +1 -1
- package/dist/components/nylas-locale-switch2.js +20 -5
- package/dist/components/nylas-locale-switch2.js.map +1 -1
- package/dist/components/nylas-organizer-confirmation-card2.js +13 -2
- package/dist/components/nylas-organizer-confirmation-card2.js.map +1 -1
- package/dist/components/nylas-scheduling.js +11 -10
- package/dist/components/nylas-scheduling.js.map +1 -1
- package/dist/components/nylas-selected-event-card2.js +15 -3
- package/dist/components/nylas-selected-event-card2.js.map +1 -1
- package/dist/components/nylas-timeslot-picker2.js +13 -1
- package/dist/components/nylas-timeslot-picker2.js.map +1 -1
- package/dist/esm/calendar-agenda-fill-icon_54.entry.js +13 -3
- package/dist/esm/calendar-agenda-fill-icon_54.entry.js.map +1 -1
- package/dist/esm/google-logo-icon_4.entry.js +7 -6
- package/dist/esm/google-logo-icon_4.entry.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/nylas-booked-event-card.entry.js +16 -5
- package/dist/esm/nylas-booked-event-card.entry.js.map +1 -1
- package/dist/esm/nylas-booked-event-card_12.entry.js +142 -25
- package/dist/esm/nylas-booked-event-card_12.entry.js.map +1 -1
- package/dist/esm/nylas-booking-form.entry.js +16 -3
- package/dist/esm/nylas-booking-form.entry.js.map +1 -1
- package/dist/esm/nylas-cancel-booking-form.entry.js +14 -3
- package/dist/esm/nylas-cancel-booking-form.entry.js.map +1 -1
- package/dist/esm/nylas-cancelled-event-card.entry.js +14 -3
- package/dist/esm/nylas-cancelled-event-card.entry.js.map +1 -1
- package/dist/esm/nylas-confirmed-event-card.entry.js +14 -3
- package/dist/esm/nylas-confirmed-event-card.entry.js.map +1 -1
- package/dist/esm/nylas-date-picker.entry.js +18 -4
- package/dist/esm/nylas-date-picker.entry.js.map +1 -1
- package/dist/esm/nylas-editor-tabs.entry.js +7 -6
- package/dist/esm/nylas-editor-tabs.entry.js.map +1 -1
- package/dist/esm/nylas-feedback-form.entry.js +13 -3
- package/dist/esm/nylas-feedback-form.entry.js.map +1 -1
- package/dist/esm/nylas-locale-switch.entry.js +20 -6
- package/dist/esm/nylas-locale-switch.entry.js.map +1 -1
- package/dist/esm/nylas-organizer-confirmation-card.entry.js +12 -2
- package/dist/esm/nylas-organizer-confirmation-card.entry.js.map +1 -1
- package/dist/esm/nylas-scheduling.entry.js +11 -10
- package/dist/esm/nylas-scheduling.entry.js.map +1 -1
- package/dist/esm/nylas-selected-event-card.entry.js +15 -4
- package/dist/esm/nylas-selected-event-card.entry.js.map +1 -1
- package/dist/esm/nylas-timeslot-picker.entry.js +13 -2
- package/dist/esm/nylas-timeslot-picker.entry.js.map +1 -1
- package/dist/esm/nylas-web-elements.js +1 -1
- package/dist/nylas-web-elements/nylas-booked-event-card.entry.js +16 -5
- package/dist/nylas-web-elements/nylas-booked-event-card.entry.js.map +1 -1
- package/dist/nylas-web-elements/nylas-booking-form.entry.js +16 -3
- package/dist/nylas-web-elements/nylas-booking-form.entry.js.map +1 -1
- package/dist/nylas-web-elements/nylas-cancel-booking-form.entry.js +14 -3
- package/dist/nylas-web-elements/nylas-cancel-booking-form.entry.js.map +1 -1
- package/dist/nylas-web-elements/nylas-cancelled-event-card.entry.js +14 -3
- package/dist/nylas-web-elements/nylas-cancelled-event-card.entry.js.map +1 -1
- package/dist/nylas-web-elements/nylas-confirmed-event-card.entry.js +14 -3
- package/dist/nylas-web-elements/nylas-confirmed-event-card.entry.js.map +1 -1
- package/dist/nylas-web-elements/nylas-date-picker.entry.js +18 -4
- package/dist/nylas-web-elements/nylas-date-picker.entry.js.map +1 -1
- package/dist/nylas-web-elements/nylas-editor-tabs.entry.js +7 -6
- package/dist/nylas-web-elements/nylas-editor-tabs.entry.js.map +1 -1
- package/dist/nylas-web-elements/nylas-feedback-form.entry.js +13 -3
- package/dist/nylas-web-elements/nylas-feedback-form.entry.js.map +1 -1
- package/dist/nylas-web-elements/nylas-locale-switch.entry.js +20 -6
- package/dist/nylas-web-elements/nylas-locale-switch.entry.js.map +1 -1
- package/dist/nylas-web-elements/nylas-organizer-confirmation-card.entry.js +12 -2
- package/dist/nylas-web-elements/nylas-organizer-confirmation-card.entry.js.map +1 -1
- package/dist/nylas-web-elements/nylas-scheduling.entry.js +11 -10
- package/dist/nylas-web-elements/nylas-scheduling.entry.js.map +1 -1
- package/dist/nylas-web-elements/nylas-selected-event-card.entry.js +15 -4
- package/dist/nylas-web-elements/nylas-selected-event-card.entry.js.map +1 -1
- package/dist/nylas-web-elements/nylas-timeslot-picker.entry.js +13 -2
- package/dist/nylas-web-elements/nylas-timeslot-picker.entry.js.map +1 -1
- package/dist/nylas-web-elements/nylas-web-elements.esm.js +1 -1
- package/dist/nylas-web-elements/p-2e7f0f20.entry.js +2 -0
- package/dist/nylas-web-elements/p-2e7f0f20.entry.js.map +1 -0
- package/dist/nylas-web-elements/{p-b5b568cf.entry.js → p-368190e9.entry.js} +2 -2
- package/dist/nylas-web-elements/p-368190e9.entry.js.map +1 -0
- package/dist/nylas-web-elements/{p-e790c71f.entry.js → p-9a8047b9.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-e790c71f.entry.js.map → p-9a8047b9.entry.js.map} +1 -1
- package/dist/nylas-web-elements/{p-d586ff14.entry.js → p-eba3d197.entry.js} +3 -3
- package/dist/nylas-web-elements/p-eba3d197.entry.js.map +1 -0
- package/dist/types/components/scheduler/nylas-booked-event-card/nylas-booked-event-card.d.ts +4 -1
- package/dist/types/components/scheduler/nylas-booking-form/nylas-booking-form.d.ts +5 -2
- package/dist/types/components/scheduler/nylas-cancel-booking-form/nylas-cancel-booking-form.d.ts +4 -1
- package/dist/types/components/scheduler/nylas-cancelled-event-card/nylas-cancelled-event-card.d.ts +4 -0
- package/dist/types/components/scheduler/nylas-confirmed-event-card/nylas-confirmed-event-card.d.ts +4 -0
- package/dist/types/components/scheduler/nylas-date-picker/nylas-date-picker.d.ts +5 -0
- package/dist/types/components/scheduler/nylas-feedback-form/nylas-feedback-form.d.ts +3 -0
- package/dist/types/components/scheduler/nylas-locale-switch/nylas-locale-switch.d.ts +5 -0
- package/dist/types/components/scheduler/nylas-organizer-confirmation-card/nylas-organizer-confirmation-card.d.ts +3 -1
- package/dist/types/components/scheduler/nylas-scheduling/nylas-scheduling.d.ts +1 -1
- package/dist/types/components/scheduler/nylas-selected-event-card/nylas-selected-event-card.d.ts +4 -1
- package/dist/types/components/scheduler/nylas-timeslot-picker/nylas-timeslot-picker.d.ts +4 -1
- package/dist/types/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.d.ts +1 -1
- package/dist/types/components.d.ts +88 -0
- package/package.json +1 -1
- package/dist/nylas-web-elements/p-7a1d51ab.entry.js +0 -2
- package/dist/nylas-web-elements/p-7a1d51ab.entry.js.map +0 -1
- package/dist/nylas-web-elements/p-b5b568cf.entry.js.map +0 -1
- package/dist/nylas-web-elements/p-d586ff14.entry.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nylas-cancelled-event-card.js","sourceRoot":"","sources":["../../../../src/components/scheduler/nylas-cancelled-event-card/nylas-cancelled-event-card.tsx"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAgB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"nylas-cancelled-event-card.js","sourceRoot":"","sources":["../../../../src/components/scheduler/nylas-cancelled-event-card/nylas-cancelled-event-card.tsx"],"names":[],"mappings":"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","sourcesContent":["import { RegisterComponent } from '@/common/register-component';\nimport { Component, Element, Event, EventEmitter, h, Host, Prop, State } from '@stencil/core';\nimport { NylasEvent, NylasSchedulerConnector, NylasSchedulerErrorResponse } from '../../..';\nimport { NylasScheduling } from '../nylas-scheduling/nylas-scheduling';\nimport { debug } from '@/utils/utils';\nimport { ConfigSettings } from '@/stores/scheduler-store';\nimport i18next from '@/utils/i18n';\nimport { ThemeConfig } from '@nylas/core';\n\n/**\n * The `nylas-cancelled-event-card` component is a UI component that displays the cancelled event card.\n *\n * @part ncec - The cancelled event card host.\n * @part ncec__icon - The calendar icon.\n * @part ncec__title - The title of the cancelled event card.\n * @part ncec__description - The description of the cancelled event card.\n * @part ncec__button-outline - The close button CTA.\n * @part ncec__card - The cancelled event card.\n */\n@Component({\n tag: 'nylas-cancelled-event-card',\n styleUrl: 'nylas-cancelled-event-card.scss',\n shadow: true,\n})\nexport class NylasCancelledEventCard {\n /**\n * The host element.\n * Used to manage the host element of the provider.\n */\n @Element() private host!: HTMLNylasCancelledEventCardElement;\n\n /**\n * @standalone\n * The config settings for the scheduler.\n */\n @Prop() readonly configSettings?: ConfigSettings;\n\n /**\n * @standalone\n * The theme configuration.\n */\n @Prop({ attribute: 'theme-config' }) readonly themeConfig?: any;\n\n /**\n * The participant's name who booked the event / is logged in.\n */\n @Prop() readonly cancelledEventInfo!: Partial<NylasEvent>;\n\n /**\n * Closing state of the cancelled event card button.\n */\n @State() isClosing: boolean = false;\n\n /**\n * This event is fired when the close button is clicked on the cancelled event card.\n */\n @Event() readonly closeCancelEventCardClicked!: EventEmitter<{ errorHandler?: (error: NylasSchedulerErrorResponse) => void }>;\n\n /**\n * This event is fired when an error occurs.\n */\n @Event() readonly cancelledEventCardError!: EventEmitter<NylasSchedulerErrorResponse>;\n\n connectedCallback() {\n debug(`[nylas-cancelled-event-card] Component connected`);\n }\n\n async componentWillLoad() {\n debug(`[nylas-cancelled-event-card] Component will load`);\n }\n\n async componentDidLoad() {\n debug(`[nylas-cancelled-event-card] Component did load`);\n if (!this.cancelledEventInfo) {\n console.warn(`[nylas-cancelled-event-card] No cancelled event info provided, \"cancelledEventInfo\" prop is required.`);\n }\n this.applyThemeConfig(this.themeConfig);\n }\n\n disconnectedCallback() {\n debug(`[nylas-cancelled-event-card] Component disconnected`);\n }\n\n applyThemeConfig(themeConfig?: ThemeConfig) {\n if (themeConfig) {\n for (const [key, value] of Object.entries(themeConfig)) {\n this.host.style.setProperty(`${key}`, value);\n }\n }\n }\n\n private handleCloseClicked = () => {\n this.isClosing = true;\n const errorHandler = (error: NylasSchedulerErrorResponse) => {\n this.cancelledEventCardError.emit(error);\n this.isClosing = false;\n };\n this.closeCancelEventCardClicked.emit({ errorHandler });\n };\n\n @RegisterComponent<NylasCancelledEventCard, NylasSchedulerConnector, Exclude<NylasScheduling['stores'], undefined>>({\n name: 'nylas-cancelled-event-card',\n stateToProps: new Map([['scheduler.configSettings', 'configSettings']]),\n eventToProps: {\n closeCancelEventCardClicked: async (_: CustomEvent<{ errorHandler?: (error: NylasSchedulerErrorResponse) => void }>, nylasschedulerconnector: NylasSchedulerConnector) => {\n const result = await nylasschedulerconnector.scheduler.resetCancel();\n\n const { errorHandler } = _.detail;\n if (errorHandler && (!result || 'error' in result)) {\n errorHandler(result);\n }\n },\n cancelledEventCardError: async (event: CustomEvent<NylasSchedulerErrorResponse>, _nylasschedulerconnector: NylasSchedulerConnector) => {\n debug('nylas-cancelled-event-card', 'cancelledEventCardError', event.detail);\n },\n },\n localPropsToProp: new Map([['themeConfig', 'themeConfig']]),\n fireRegisterEvent: true,\n })\n render() {\n return (\n <Host part=\"ncec\">\n <div class=\"nylas-cancelled-event-card\" part=\"ncec__card\">\n <div class=\"nylas-cancelled-event-card__calendar-icon\" part=\"ncec__icon\">\n <calendar-cancel-icon />\n </div>\n <h3 class=\"nylas-cancelled-event-card__title\" part=\"ncec__title\">\n {i18next.t('bookingCancelledTitle')}!\n </h3>\n <div class=\"nylas-cancelled-event-card__description\" part=\"ncec__description\">\n {i18next.t('bookingCancelledMessage')} {this.configSettings?.organizer?.name || 'the participants'}.\n </div>\n <div class=\"nylas-cancelled-event-card__cta\">\n <button-component variant=\"basic\" disabled={this.isClosing} part=\"ncec__button-outline\" onClick={this.handleCloseClicked}>\n {this.isClosing ? `${i18next.t('closingButton')}...` : `${i18next.t('closeButton')}`}\n </button-component>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -1,28 +1,5 @@
|
|
|
1
1
|
:host {
|
|
2
2
|
display: block;
|
|
3
|
-
--nylas-primary: #2563eb;
|
|
4
|
-
--nylas-error: #cc4841;
|
|
5
|
-
--nylas-error-pressed: #992222;
|
|
6
|
-
--nylas-wraning: #f06c00;
|
|
7
|
-
--nylas-success: #16a392;
|
|
8
|
-
--nylas-info: #2b8fc2;
|
|
9
|
-
--nylas-base-0: #ffffff;
|
|
10
|
-
--nylas-base-25: #fcfcfd;
|
|
11
|
-
--nylas-base-50: #f8f9fc;
|
|
12
|
-
--nylas-base-100: #eaecf5;
|
|
13
|
-
--nylas-base-200: #d5d9eb;
|
|
14
|
-
--nylas-base-300: #b3b8d8;
|
|
15
|
-
--nylas-base-400: #717bbc;
|
|
16
|
-
--nylas-base-500: #4e5ba6;
|
|
17
|
-
--nylas-base-600: #3e4784;
|
|
18
|
-
--nylas-base-700: #263f72;
|
|
19
|
-
--nylas-base-800: #293056;
|
|
20
|
-
--nylas-base-900: #101323;
|
|
21
|
-
--nylas-base-950: #0e101b;
|
|
22
|
-
--nylas-border-radius: 0.25rem;
|
|
23
|
-
--nylas-border-radius-2x: 0.5rem;
|
|
24
|
-
--nylas-border-radius-3x: 0.75rem;
|
|
25
|
-
--nylas-font-family: "Inter", sans-serif;
|
|
26
3
|
}
|
|
27
4
|
|
|
28
5
|
.nylas-confirmed-event-card {
|
|
@@ -27,6 +27,7 @@ export class NylasConfirmedEventCard {
|
|
|
27
27
|
this.closeConfirmEventCardClicked.emit({ errorHandler });
|
|
28
28
|
};
|
|
29
29
|
this.configSettings = undefined;
|
|
30
|
+
this.themeConfig = undefined;
|
|
30
31
|
this.confirmedEventInfo = undefined;
|
|
31
32
|
this.isClosing = false;
|
|
32
33
|
}
|
|
@@ -41,12 +42,20 @@ export class NylasConfirmedEventCard {
|
|
|
41
42
|
if (!this.confirmedEventInfo) {
|
|
42
43
|
console.warn(`[nylas-confirmed-event-card] No confirmed event info provided, "confirmedEventInfo" prop is required.`);
|
|
43
44
|
}
|
|
45
|
+
this.applyThemeConfig(this.themeConfig);
|
|
44
46
|
}
|
|
45
47
|
disconnectedCallback() {
|
|
46
48
|
debug(`[nylas-confirmed-event-card] Component disconnected`);
|
|
47
49
|
}
|
|
50
|
+
applyThemeConfig(themeConfig) {
|
|
51
|
+
if (themeConfig) {
|
|
52
|
+
for (const [key, value] of Object.entries(themeConfig)) {
|
|
53
|
+
this.host.style.setProperty(`${key}`, value);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
48
57
|
render() {
|
|
49
|
-
return (h(Host, { key: '
|
|
58
|
+
return (h(Host, { key: '089de1c1ba1b2319674b97aad4946fb8306ab4fe', part: "ncec" }, h("div", { key: '83c9b3f7904b7b74d38202c7d62891813754be93', class: "nylas-confirmed-event-card", part: "ncec__card" }, h("div", { key: 'e6ebbc07f8ea697f4e1f794bb8ddddc5166db33d', class: "nylas-confirmed-event-card__calendar-icon", part: "ncec__icon" }, h("calendar-cancel-icon", { key: 'eb0eb353b63bc5a8b55644a17f16c8566f3a7b36' })), h("h3", { key: 'c05937028fd84a55b3b0b1de4cd36fb0b0c6b563', class: "nylas-confirmed-event-card__title", part: "ncec__title" }, i18next.t('confirmedEventCardTitle'), "!"), h("div", { key: 'e9ca9f67f46785d40e769ff96695001d56386dad', class: "nylas-confirmed-event-card__description", part: "ncec__description" }, i18next.t('confirmedEventCardDescription'), " ", this.configSettings?.organizer?.name || 'the participants', "."), h("div", { key: 'bea8adea56d3dcdb2ce578ad25f08bc562b67ede', class: "nylas-confirmed-event-card__cta" }, h("button-component", { key: '6bed94150369d92e129fe62c4b6c292e37e26a34', variant: "basic", disabled: this.isClosing, part: "ncec__button-outline", onClick: this.handleCloseClicked }, this.isClosing ? `${i18next.t('closingButton')}...` : `${i18next.t('closeButton')}`)))));
|
|
50
59
|
}
|
|
51
60
|
static get is() { return "nylas-confirmed-event-card"; }
|
|
52
61
|
static get encapsulation() { return "shadow"; }
|
|
@@ -86,6 +95,26 @@ export class NylasConfirmedEventCard {
|
|
|
86
95
|
"text": ""
|
|
87
96
|
}
|
|
88
97
|
},
|
|
98
|
+
"themeConfig": {
|
|
99
|
+
"type": "any",
|
|
100
|
+
"mutable": false,
|
|
101
|
+
"complexType": {
|
|
102
|
+
"original": "any",
|
|
103
|
+
"resolved": "any",
|
|
104
|
+
"references": {}
|
|
105
|
+
},
|
|
106
|
+
"required": false,
|
|
107
|
+
"optional": true,
|
|
108
|
+
"docs": {
|
|
109
|
+
"tags": [{
|
|
110
|
+
"name": "standalone",
|
|
111
|
+
"text": "The theme configuration."
|
|
112
|
+
}],
|
|
113
|
+
"text": ""
|
|
114
|
+
},
|
|
115
|
+
"attribute": "theme-config",
|
|
116
|
+
"reflect": false
|
|
117
|
+
},
|
|
89
118
|
"confirmedEventInfo": {
|
|
90
119
|
"type": "unknown",
|
|
91
120
|
"mutable": false,
|
|
@@ -163,6 +192,7 @@ export class NylasConfirmedEventCard {
|
|
|
163
192
|
}
|
|
164
193
|
}];
|
|
165
194
|
}
|
|
195
|
+
static get elementRef() { return "host"; }
|
|
166
196
|
}
|
|
167
197
|
__decorate([
|
|
168
198
|
RegisterComponent({
|
|
@@ -177,6 +207,7 @@ __decorate([
|
|
|
177
207
|
}
|
|
178
208
|
},
|
|
179
209
|
},
|
|
210
|
+
localPropsToProp: new Map([['themeConfig', 'themeConfig']]),
|
|
180
211
|
fireRegisterEvent: true,
|
|
181
212
|
}),
|
|
182
213
|
__metadata("design:type", Function),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nylas-confirmed-event-card.js","sourceRoot":"","sources":["../../../../src/components/scheduler/nylas-confirmed-event-card/nylas-confirmed-event-card.tsx"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAgB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"nylas-confirmed-event-card.js","sourceRoot":"","sources":["../../../../src/components/scheduler/nylas-confirmed-event-card/nylas-confirmed-event-card.tsx"],"names":[],"mappings":"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","sourcesContent":["import { RegisterComponent } from '@/common/register-component';\nimport { Component, Element, Event, EventEmitter, h, Host, Prop, State } from '@stencil/core';\nimport { NylasEvent, NylasSchedulerConnector, NylasSchedulerErrorResponse } from '../../..';\nimport { NylasScheduling } from '../nylas-scheduling/nylas-scheduling';\nimport { debug } from '@/utils/utils';\nimport { ConfigSettings } from '@/stores/scheduler-store';\nimport i18next from '@/utils/i18n';\nimport { ThemeConfig } from '@nylas/core';\n\n/**\n * The `nylas-confirmed-event-card` component is a UI component that displays the confirmed event card.\n *\n * @part ncec - The confirmed event card host.\n * @part ncec__icon - The calendar icon.\n * @part ncec__title - The title of the confirmed event card.\n * @part ncec__description - The description of the confirmed event card.\n * @part ncec__button-outline - The close button CTA.\n * @part ncec__card - The confirmed event card.\n */\n@Component({\n tag: 'nylas-confirmed-event-card',\n styleUrl: 'nylas-confirmed-event-card.scss',\n shadow: true,\n})\nexport class NylasConfirmedEventCard {\n /**\n * The host element.\n * Used to manage the host element of the provider.\n */\n @Element() private host!: HTMLNylasConfirmedEventCardElement;\n\n /**\n * @standalone\n * The config settings for the scheduler.\n */\n @Prop() readonly configSettings?: ConfigSettings;\n\n /**\n * @standalone\n * The theme configuration.\n */\n @Prop({ attribute: 'theme-config' }) readonly themeConfig?: any;\n\n /**\n * The participant's name who booked the event / is logged in.\n */\n @Prop() readonly confirmedEventInfo!: Partial<NylasEvent>;\n\n /**\n * Closing state of the confirmed event card button.\n */\n @State() isClosing: boolean = false;\n\n /**\n * This event is fired when the close button is clicked on the confirmed event card.\n */\n @Event() readonly closeConfirmEventCardClicked!: EventEmitter<{ errorHandler?: (error: NylasSchedulerErrorResponse) => void }>;\n\n /**\n * This event is fired when an error occurs.\n */\n @Event() readonly confirmedEventCardError!: EventEmitter<NylasSchedulerErrorResponse>;\n\n connectedCallback() {\n debug(`[nylas-confirmed-event-card] Component connected`);\n }\n\n async componentWillLoad() {\n debug(`[nylas-confirmed-event-card] Component will load`);\n }\n\n async componentDidLoad() {\n debug(`[nylas-confirmed-event-card] Component did load`);\n if (!this.confirmedEventInfo) {\n console.warn(`[nylas-confirmed-event-card] No confirmed event info provided, \"confirmedEventInfo\" prop is required.`);\n }\n this.applyThemeConfig(this.themeConfig);\n }\n\n disconnectedCallback() {\n debug(`[nylas-confirmed-event-card] Component disconnected`);\n }\n\n applyThemeConfig(themeConfig?: ThemeConfig) {\n if (themeConfig) {\n for (const [key, value] of Object.entries(themeConfig)) {\n this.host.style.setProperty(`${key}`, value);\n }\n }\n }\n\n private handleCloseClicked = () => {\n this.isClosing = true;\n const errorHandler = (error: NylasSchedulerErrorResponse) => {\n this.confirmedEventCardError.emit(error);\n this.isClosing = false;\n };\n this.closeConfirmEventCardClicked.emit({ errorHandler });\n };\n\n @RegisterComponent<NylasConfirmedEventCard, NylasSchedulerConnector, Exclude<NylasScheduling['stores'], undefined>>({\n name: 'nylas-confirmed-event-card',\n stateToProps: new Map([['scheduler.configSettings', 'configSettings']]),\n eventToProps: {\n closeConfirmEventCardClicked: async (_: CustomEvent<{ errorHandler?: (error: NylasSchedulerErrorResponse) => void }>, nylasschedulerconnector: NylasSchedulerConnector) => {\n const result = await nylasschedulerconnector.scheduler.resetConfirm();\n\n const { errorHandler } = _.detail;\n if (errorHandler && (!result || 'error' in result)) {\n errorHandler(result);\n }\n },\n },\n localPropsToProp: new Map([['themeConfig', 'themeConfig']]),\n fireRegisterEvent: true,\n })\n render() {\n return (\n <Host part=\"ncec\">\n <div class=\"nylas-confirmed-event-card\" part=\"ncec__card\">\n <div class=\"nylas-confirmed-event-card__calendar-icon\" part=\"ncec__icon\">\n <calendar-cancel-icon />\n </div>\n <h3 class=\"nylas-confirmed-event-card__title\" part=\"ncec__title\">\n {i18next.t('confirmedEventCardTitle')}!\n </h3>\n <div class=\"nylas-confirmed-event-card__description\" part=\"ncec__description\">\n {i18next.t('confirmedEventCardDescription')} {this.configSettings?.organizer?.name || 'the participants'}.\n </div>\n <div class=\"nylas-confirmed-event-card__cta\">\n <button-component variant=\"basic\" disabled={this.isClosing} part=\"ncec__button-outline\" onClick={this.handleCloseClicked}>\n {this.isClosing ? `${i18next.t('closingButton')}...` : `${i18next.t('closeButton')}`}\n </button-component>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -1,29 +1,6 @@
|
|
|
1
1
|
:host {
|
|
2
2
|
display: block;
|
|
3
3
|
min-height: 444px;
|
|
4
|
-
--nylas-primary: #2563eb;
|
|
5
|
-
--nylas-error: #cc4841;
|
|
6
|
-
--nylas-error-pressed: #992222;
|
|
7
|
-
--nylas-wraning: #f06c00;
|
|
8
|
-
--nylas-success: #16a392;
|
|
9
|
-
--nylas-info: #2b8fc2;
|
|
10
|
-
--nylas-base-0: #ffffff;
|
|
11
|
-
--nylas-base-25: #fcfcfd;
|
|
12
|
-
--nylas-base-50: #f8f9fc;
|
|
13
|
-
--nylas-base-100: #eaecf5;
|
|
14
|
-
--nylas-base-200: #d5d9eb;
|
|
15
|
-
--nylas-base-300: #b3b8d8;
|
|
16
|
-
--nylas-base-400: #717bbc;
|
|
17
|
-
--nylas-base-500: #4e5ba6;
|
|
18
|
-
--nylas-base-600: #3e4784;
|
|
19
|
-
--nylas-base-700: #263f72;
|
|
20
|
-
--nylas-base-800: #293056;
|
|
21
|
-
--nylas-base-900: #101323;
|
|
22
|
-
--nylas-base-950: #0e101b;
|
|
23
|
-
--nylas-border-radius: 0.25rem;
|
|
24
|
-
--nylas-border-radius-2x: 0.5rem;
|
|
25
|
-
--nylas-border-radius-3x: 0.75rem;
|
|
26
|
-
--nylas-font-family: "Inter", sans-serif;
|
|
27
4
|
}
|
|
28
5
|
@media screen and (max-width: 768px) {
|
|
29
6
|
:host {
|
|
@@ -22,6 +22,7 @@ export class NylasDatePicker {
|
|
|
22
22
|
constructor() {
|
|
23
23
|
this.selectableDates = undefined;
|
|
24
24
|
this.configSettings = undefined;
|
|
25
|
+
this.themeConfig = undefined;
|
|
25
26
|
this.selectedDate = undefined;
|
|
26
27
|
this.selectedLanguage = undefined;
|
|
27
28
|
this.isLoading = undefined;
|
|
@@ -50,6 +51,17 @@ export class NylasDatePicker {
|
|
|
50
51
|
connectedCallback() { }
|
|
51
52
|
disconnectedCallback() { }
|
|
52
53
|
componentWillLoad() { }
|
|
54
|
+
componentDidLoad() {
|
|
55
|
+
debug(`[nylas-date-picker] Component did load`);
|
|
56
|
+
this.applyThemeConfig(this.themeConfig);
|
|
57
|
+
}
|
|
58
|
+
applyThemeConfig(themeConfig) {
|
|
59
|
+
if (themeConfig) {
|
|
60
|
+
for (const [key, value] of Object.entries(themeConfig)) {
|
|
61
|
+
this.host.style.setProperty(`${key}`, value);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
53
65
|
getDates() {
|
|
54
66
|
const lastDayOfMonth = getLastDayOfMonth(this.month);
|
|
55
67
|
const firstDayOfMonth = getFirstDayOfMonth(this.month);
|
|
@@ -79,7 +91,7 @@ export class NylasDatePicker {
|
|
|
79
91
|
return date && selectableDates?.find(d => isSameDay(d, date)) === undefined;
|
|
80
92
|
}
|
|
81
93
|
render() {
|
|
82
|
-
return (h(Host, { key: '
|
|
94
|
+
return (h(Host, { key: 'ffb13b5ab2b96a23232a0e4fce0166cc4e471bc3', part: "ndp" }, h("div", { key: 'd617e1e85082cda56f123b915460161003fba8ad', class: "nylas-date-picker" }, h("div", { key: '8b966e5cfa60ec08da307e7537170adcfc04944b', class: "title", part: "ndp__title" }, this.configSettings?.name ? (h("h1", null, this.configSettings?.name)) : (this.configSettings?.organizer?.name && (h("h1", null, h("person-icon", null), this.configSettings?.organizer?.name || 'Organizer'))), h("p", { key: 'ec8dd18ff022b61ac574c1a0bb4c94c4bd51b643' }, h("clock-icon", { key: '8c0685800081b17f4b118938b106af1e291ded09' }), this.eventDuration ? convertMinutesToHoursAndMinutes(this.eventDuration) : `- ${i18next.t('time.minutes')}`)), h("div", { key: '9c4e5f5aed7d3350f149115236b1be17ee1b77e7', class: 'header flex-row' }, h("h2", { key: 'b30d034da321b0e34e93f41fdeddcd5c6890fc9c', part: 'ndp__month-header' }, h("strong", { key: '2c45a29ba2d99856262c706e626c7dc43b05380b' }, translateMonth(this.month.toLocaleDateString(undefined, { month: 'long' }).toLocaleLowerCase())), "\u00A0", this.month.toLocaleDateString(undefined, { year: 'numeric' })), h("div", { key: 'eb086cc81c029c3f2dc12a5c796f4e20e60fef2e', class: 'pagination' }, h("button", { key: 'aefca223118d1e0c4f908ab325743730a5633d0f', title: "Previous month", onClick: () => this.changeMonth(-1), class: { 'chevron-left': true, 'button': true }, disabled: !this.selectableDates?.length || this.month <= new Date(), part: "ndp__month-button" }, h("chevron-icon", { key: '04e6c8e8dd6fa33805e19a97cc56aff0355bacd1' })), h("button", { key: '912568ecbc76504f9e917042edc7dd41ccfb51fa', title: "Next month", onClick: () => this.changeMonth(1), class: { 'chevron-right': true, 'button': true }, disabled: this.disableNextMonthButton, part: "ndp__month-button" }, h("chevron-icon", { key: '25efda159f4cd761012ee2143690c37cf9247f66' })))), h("div", { key: '4c0d4d94cce9d758e8dd52d4e29ec27f21410772', class: 'dates' }, [
|
|
83
95
|
i18next.t('days.sunday'),
|
|
84
96
|
i18next.t('days.monday'),
|
|
85
97
|
i18next.t('days.tuesday'),
|
|
@@ -166,6 +178,26 @@ export class NylasDatePicker {
|
|
|
166
178
|
"text": ""
|
|
167
179
|
}
|
|
168
180
|
},
|
|
181
|
+
"themeConfig": {
|
|
182
|
+
"type": "any",
|
|
183
|
+
"mutable": false,
|
|
184
|
+
"complexType": {
|
|
185
|
+
"original": "any",
|
|
186
|
+
"resolved": "any",
|
|
187
|
+
"references": {}
|
|
188
|
+
},
|
|
189
|
+
"required": false,
|
|
190
|
+
"optional": true,
|
|
191
|
+
"docs": {
|
|
192
|
+
"tags": [{
|
|
193
|
+
"name": "standalone",
|
|
194
|
+
"text": "The theme configuration."
|
|
195
|
+
}],
|
|
196
|
+
"text": ""
|
|
197
|
+
},
|
|
198
|
+
"attribute": "theme-config",
|
|
199
|
+
"reflect": false
|
|
200
|
+
},
|
|
169
201
|
"selectedDate": {
|
|
170
202
|
"type": "unknown",
|
|
171
203
|
"mutable": false,
|
|
@@ -289,6 +321,7 @@ export class NylasDatePicker {
|
|
|
289
321
|
}
|
|
290
322
|
}];
|
|
291
323
|
}
|
|
324
|
+
static get elementRef() { return "host"; }
|
|
292
325
|
static get watchers() {
|
|
293
326
|
return [{
|
|
294
327
|
"propName": "configSettings",
|
|
@@ -319,6 +352,7 @@ __decorate([
|
|
|
319
352
|
debug('nylas-date-picker', 'monthChanged', event.detail);
|
|
320
353
|
},
|
|
321
354
|
},
|
|
355
|
+
localPropsToProp: new Map([['themeConfig', 'themeConfig']]),
|
|
322
356
|
fireRegisterEvent: true,
|
|
323
357
|
}),
|
|
324
358
|
__metadata("design:type", Function),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nylas-date-picker.js","sourceRoot":"","sources":["../../../../src/components/scheduler/nylas-date-picker/nylas-date-picker.tsx"],"names":[],"mappings":"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","sourcesContent":["import { RegisterComponent } from '@/common/register-component';\nimport { addDaysToCurrentDate, convertMinutesToHoursAndMinutes, getFirstDayOfMonth, getLastDayOfMonth, isSameDay, isSameMonth, translateMonth } from '@/utils/utils';\nimport { Component, Event, EventEmitter, Host, Prop, State, Watch, h } from '@stencil/core';\nimport { timeDay } from 'd3-time';\nimport { NylasSchedulerConnector } from '../../..';\nimport { NylasScheduling } from '../nylas-scheduling/nylas-scheduling';\nimport { ConfigSettings } from '@/stores/scheduler-store';\nimport i18next from '@/utils/i18n';\nimport { debug } from '@/utils/utils';\n\n/**\n * The `nylas-date-picker` component is a UI component that allows users to select a date.\n *\n * @part ndp - The date picker host.\n * @part ndp__title - The title.\n * @part ndp__month-header - The month header.\n * @part ndp__month-button - The month button.\n * @part ndp__day - The day.\n * @part ndp__date - The date.\n * @part ndp__date--selected - The selected date.\n * @part ndp__date--current-day - The current day.\n * @part ndp__date--current-month - The dates in the current month.\n * @part ndp__date--disabled - The disabled dates.\n */\n@Component({\n tag: 'nylas-date-picker',\n styleUrl: 'nylas-date-picker.scss',\n shadow: true,\n})\nexport class NylasDatePicker {\n /**\n * @standalone\n * The dates that are selectable.\n */\n @Prop() selectableDates?: Date[];\n\n /**\n * @standalone\n * The config settings.\n */\n @Prop() configSettings?: ConfigSettings;\n\n /**\n * The selected date.\n */\n @Prop() selectedDate?: Date;\n\n /**\n * The selected language.\n */\n @Prop() selectedLanguage?: string;\n\n /**\n * The loading state.\n */\n @Prop() readonly isLoading?: boolean;\n\n /**\n * The event duration.\n */\n @Prop() readonly eventDuration?: number;\n\n /**\n * The month to display.\n */\n @State() month: Date = this.selectedDate || new Date();\n\n /**\n * The dates to render.\n */\n @State() dates: Date[] = this.getDates();\n\n /**\n * The state to disable the next month button.\n */\n @State() disableNextMonthButton: boolean = false;\n\n /**\n * This event is fired when a date is selected.\n */\n @Event() dateSelected!: EventEmitter<Date>;\n\n /**\n * This event is fired when the month is changed.\n */\n @Event() monthChanged!: EventEmitter<Date>;\n\n @Watch('configSettings')\n configSettingsChanged(newConfigSettings: ConfigSettings) {\n const nextMonth = new Date(this.month.getFullYear(), this.month.getMonth() + 1, 1);\n const availableDaysInFuture = newConfigSettings?.scheduler?.available_days_in_future;\n if (availableDaysInFuture === undefined) {\n return;\n }\n const endDate = addDaysToCurrentDate(new Date(), availableDaysInFuture);\n if (endDate.getTime() < nextMonth.getTime()) {\n this.disableNextMonthButton = true;\n } else {\n this.disableNextMonthButton = false;\n }\n }\n\n @Watch('selectedLanguage')\n selectedLanguageChanged(newLanguage: string) {\n i18next.changeLanguage(newLanguage);\n }\n\n connectedCallback() {}\n\n disconnectedCallback() {}\n\n componentWillLoad() {}\n\n /**\n * Get the dates to render, including the days from the previous and next months.\n * @returns The dates to render.\n */\n private getDates() {\n const lastDayOfMonth = getLastDayOfMonth(this.month);\n const firstDayOfMonth = getFirstDayOfMonth(this.month);\n\n return timeDay.range(timeDay.offset(firstDayOfMonth, -firstDayOfMonth.getDay()), timeDay.offset(lastDayOfMonth, 7 - lastDayOfMonth.getDay()));\n }\n\n /**\n * Select a date.\n * @param date The date to select.\n */\n private selectDate(date?: Date) {\n this.dateSelected.emit(date);\n }\n\n /**\n * Change the month.\n * @param change The change in months.\n */\n private changeMonth(change: number) {\n this.month = new Date(this.month.getFullYear(), this.month.getMonth() + change, 1);\n const nextMonth = new Date(this.month.getFullYear(), this.month.getMonth() + 1, 1);\n const availableDaysInFuture = this.configSettings?.scheduler?.available_days_in_future;\n const endDate = addDaysToCurrentDate(new Date(), availableDaysInFuture);\n if (endDate.getTime() < nextMonth.getTime()) {\n this.disableNextMonthButton = true;\n } else {\n this.disableNextMonthButton = false;\n }\n this.dates = this.getDates();\n this.monthChanged.emit(this.month);\n }\n\n private isSelected(date: Date | undefined, selectedDate: Date | undefined, selectableDates: Date[] | undefined) {\n return date && selectedDate && isSameDay(date, selectedDate) && selectableDates && selectableDates?.length > 0;\n }\n\n private isDisabled(date: Date | undefined, selectableDates: Date[] | undefined) {\n return date && selectableDates?.find(d => isSameDay(d, date)) === undefined;\n }\n\n @RegisterComponent<NylasDatePicker, NylasSchedulerConnector, Exclude<NylasScheduling['stores'], undefined>>({\n name: 'nylas-date-picker',\n stateToProps: new Map([\n ['scheduler.selectableDates', 'selectableDates'],\n ['scheduler.selectedDate', 'selectedDate'],\n ['scheduler.isLoading', 'isLoading'],\n ['scheduler.configSettings', 'configSettings'],\n ['scheduler.eventDuration', 'eventDuration'],\n ['scheduler.selectedLanguage', 'selectedLanguage'],\n ]),\n eventToProps: {\n dateSelected: async (event: CustomEvent<Date>, nylasSchedulerConnector: NylasSchedulerConnector) => {\n debug('nylas-date-picker', 'dateSelected', event.detail);\n nylasSchedulerConnector.scheduler.selectDate(event.detail);\n },\n monthChanged: async (event: CustomEvent<Date>, _nylasSchedulerConnector: NylasSchedulerConnector) => {\n debug('nylas-date-picker', 'monthChanged', event.detail);\n },\n },\n fireRegisterEvent: true,\n })\n render() {\n return (\n <Host part=\"ndp\">\n <div class=\"nylas-date-picker\">\n <div class=\"title\" part=\"ndp__title\">\n {this.configSettings?.name ? (\n <h1>{this.configSettings?.name}</h1>\n ) : (\n this.configSettings?.organizer?.name && (\n <h1>\n <person-icon />\n {this.configSettings?.organizer?.name || 'Organizer'}\n </h1>\n )\n )}\n <p>\n <clock-icon />\n {this.eventDuration ? convertMinutesToHoursAndMinutes(this.eventDuration) : `- ${i18next.t('time.minutes')}`}\n </p>\n </div>\n <div class={'header flex-row'}>\n <h2 part={'ndp__month-header'}>\n <strong>{translateMonth(this.month.toLocaleDateString(undefined, { month: 'long' }).toLocaleLowerCase())}</strong>\n \n {this.month.toLocaleDateString(undefined, { year: 'numeric' })}\n </h2>\n <div class={'pagination'}>\n <button\n title=\"Previous month\"\n onClick={() => this.changeMonth(-1)}\n class={{ 'chevron-left': true, 'button': true }}\n disabled={!this.selectableDates?.length || this.month <= new Date()}\n part=\"ndp__month-button\"\n >\n <chevron-icon />\n </button>\n <button\n title=\"Next month\"\n onClick={() => this.changeMonth(1)}\n class={{ 'chevron-right': true, 'button': true }}\n disabled={this.disableNextMonthButton}\n part=\"ndp__month-button\"\n >\n <chevron-icon />\n </button>\n </div>\n </div>\n\n <div class={'dates'}>\n {[\n i18next.t('days.sunday'),\n i18next.t('days.monday'),\n i18next.t('days.tuesday'),\n i18next.t('days.wednesday'),\n i18next.t('days.thursday'),\n i18next.t('days.friday'),\n i18next.t('days.saturday'),\n ].map(day => {\n return (\n <div class={'day'} part=\"ndp__day\">\n {day}\n </div>\n );\n })}\n {this.dates.map((date, i) => {\n const isDisabled = this.isDisabled(date, this.selectableDates);\n\n if (this.isLoading) {\n return (\n <button\n disabled\n class={{\n 'date day-skeleton': true,\n 'current-month': isSameMonth(date, this.month),\n }}\n style={{ animationDelay: `${i * 20}ms` }}\n part={`ndp__date ndp__date--disabled`}\n >\n {date.getDate()}\n </button>\n );\n }\n return (\n <button\n class={{\n 'date': true,\n 'selected': !!(this.selectedDate && isSameDay(date, this.selectedDate) && this.selectableDates && this.selectableDates?.length > 0),\n 'current-day': isSameDay(date, new Date()),\n 'current-month': isSameMonth(date, this.month),\n }}\n aria-lang={date.toLocaleDateString(undefined, { dateStyle: 'full' })}\n disabled={isDisabled}\n onClick={() => this.selectDate(date)}\n part={`ndp__date ${this.isSelected(date, this.selectedDate, this.selectableDates) ? 'ndp__date--selected' : ''} ${isSameDay(date, new Date()) ? 'ndp__date--current-day' : ''} ${isSameMonth(date, this.month) ? 'ndp__date--current-month' : ''}`}\n >\n {date.getDate()}\n </button>\n );\n })}\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"nylas-date-picker.js","sourceRoot":"","sources":["../../../../src/components/scheduler/nylas-date-picker/nylas-date-picker.tsx"],"names":[],"mappings":"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","sourcesContent":["import { RegisterComponent } from '@/common/register-component';\nimport { addDaysToCurrentDate, convertMinutesToHoursAndMinutes, getFirstDayOfMonth, getLastDayOfMonth, isSameDay, isSameMonth, translateMonth } from '@/utils/utils';\nimport { Component, Element, Event, EventEmitter, Host, Prop, State, Watch, h } from '@stencil/core';\nimport { timeDay } from 'd3-time';\nimport { NylasSchedulerConnector } from '../../..';\nimport { NylasScheduling } from '../nylas-scheduling/nylas-scheduling';\nimport { ConfigSettings } from '@/stores/scheduler-store';\nimport i18next from '@/utils/i18n';\nimport { debug } from '@/utils/utils';\nimport { ThemeConfig } from '@nylas/core';\n\n/**\n * The `nylas-date-picker` component is a UI component that allows users to select a date.\n *\n * @part ndp - The date picker host.\n * @part ndp__title - The title.\n * @part ndp__month-header - The month header.\n * @part ndp__month-button - The month button.\n * @part ndp__day - The day.\n * @part ndp__date - The date.\n * @part ndp__date--selected - The selected date.\n * @part ndp__date--current-day - The current day.\n * @part ndp__date--current-month - The dates in the current month.\n * @part ndp__date--disabled - The disabled dates.\n */\n@Component({\n tag: 'nylas-date-picker',\n styleUrl: 'nylas-date-picker.scss',\n shadow: true,\n})\nexport class NylasDatePicker {\n /**\n * The host element.\n * Used to manage the host element of the provider.\n */\n @Element() private host!: HTMLNylasDatePickerElement;\n\n /**\n * @standalone\n * The dates that are selectable.\n */\n @Prop() selectableDates?: Date[];\n\n /**\n * @standalone\n * The config settings.\n */\n @Prop() configSettings?: ConfigSettings;\n\n /**\n * @standalone\n * The theme configuration.\n */\n @Prop({ attribute: 'theme-config' }) readonly themeConfig?: any;\n\n /**\n * The selected date.\n */\n @Prop() selectedDate?: Date;\n\n /**\n * The selected language.\n */\n @Prop() selectedLanguage?: string;\n\n /**\n * The loading state.\n */\n @Prop() readonly isLoading?: boolean;\n\n /**\n * The event duration.\n */\n @Prop() readonly eventDuration?: number;\n\n /**\n * The month to display.\n */\n @State() month: Date = this.selectedDate || new Date();\n\n /**\n * The dates to render.\n */\n @State() dates: Date[] = this.getDates();\n\n /**\n * The state to disable the next month button.\n */\n @State() disableNextMonthButton: boolean = false;\n\n /**\n * This event is fired when a date is selected.\n */\n @Event() dateSelected!: EventEmitter<Date>;\n\n /**\n * This event is fired when the month is changed.\n */\n @Event() monthChanged!: EventEmitter<Date>;\n\n @Watch('configSettings')\n configSettingsChanged(newConfigSettings: ConfigSettings) {\n const nextMonth = new Date(this.month.getFullYear(), this.month.getMonth() + 1, 1);\n const availableDaysInFuture = newConfigSettings?.scheduler?.available_days_in_future;\n if (availableDaysInFuture === undefined) {\n return;\n }\n const endDate = addDaysToCurrentDate(new Date(), availableDaysInFuture);\n if (endDate.getTime() < nextMonth.getTime()) {\n this.disableNextMonthButton = true;\n } else {\n this.disableNextMonthButton = false;\n }\n }\n\n @Watch('selectedLanguage')\n selectedLanguageChanged(newLanguage: string) {\n i18next.changeLanguage(newLanguage);\n }\n\n connectedCallback() {}\n\n disconnectedCallback() {}\n\n componentWillLoad() {}\n\n componentDidLoad() {\n debug(`[nylas-date-picker] Component did load`);\n this.applyThemeConfig(this.themeConfig);\n }\n\n applyThemeConfig(themeConfig?: ThemeConfig) {\n if (themeConfig) {\n for (const [key, value] of Object.entries(themeConfig)) {\n this.host.style.setProperty(`${key}`, value);\n }\n }\n }\n\n /**\n * Get the dates to render, including the days from the previous and next months.\n * @returns The dates to render.\n */\n private getDates() {\n const lastDayOfMonth = getLastDayOfMonth(this.month);\n const firstDayOfMonth = getFirstDayOfMonth(this.month);\n\n return timeDay.range(timeDay.offset(firstDayOfMonth, -firstDayOfMonth.getDay()), timeDay.offset(lastDayOfMonth, 7 - lastDayOfMonth.getDay()));\n }\n\n /**\n * Select a date.\n * @param date The date to select.\n */\n private selectDate(date?: Date) {\n this.dateSelected.emit(date);\n }\n\n /**\n * Change the month.\n * @param change The change in months.\n */\n private changeMonth(change: number) {\n this.month = new Date(this.month.getFullYear(), this.month.getMonth() + change, 1);\n const nextMonth = new Date(this.month.getFullYear(), this.month.getMonth() + 1, 1);\n const availableDaysInFuture = this.configSettings?.scheduler?.available_days_in_future;\n const endDate = addDaysToCurrentDate(new Date(), availableDaysInFuture);\n if (endDate.getTime() < nextMonth.getTime()) {\n this.disableNextMonthButton = true;\n } else {\n this.disableNextMonthButton = false;\n }\n this.dates = this.getDates();\n this.monthChanged.emit(this.month);\n }\n\n private isSelected(date: Date | undefined, selectedDate: Date | undefined, selectableDates: Date[] | undefined) {\n return date && selectedDate && isSameDay(date, selectedDate) && selectableDates && selectableDates?.length > 0;\n }\n\n private isDisabled(date: Date | undefined, selectableDates: Date[] | undefined) {\n return date && selectableDates?.find(d => isSameDay(d, date)) === undefined;\n }\n\n @RegisterComponent<NylasDatePicker, NylasSchedulerConnector, Exclude<NylasScheduling['stores'], undefined>>({\n name: 'nylas-date-picker',\n stateToProps: new Map([\n ['scheduler.selectableDates', 'selectableDates'],\n ['scheduler.selectedDate', 'selectedDate'],\n ['scheduler.isLoading', 'isLoading'],\n ['scheduler.configSettings', 'configSettings'],\n ['scheduler.eventDuration', 'eventDuration'],\n ['scheduler.selectedLanguage', 'selectedLanguage'],\n ]),\n eventToProps: {\n dateSelected: async (event: CustomEvent<Date>, nylasSchedulerConnector: NylasSchedulerConnector) => {\n debug('nylas-date-picker', 'dateSelected', event.detail);\n nylasSchedulerConnector.scheduler.selectDate(event.detail);\n },\n monthChanged: async (event: CustomEvent<Date>, _nylasSchedulerConnector: NylasSchedulerConnector) => {\n debug('nylas-date-picker', 'monthChanged', event.detail);\n },\n },\n localPropsToProp: new Map([['themeConfig', 'themeConfig']]),\n fireRegisterEvent: true,\n })\n render() {\n return (\n <Host part=\"ndp\">\n <div class=\"nylas-date-picker\">\n <div class=\"title\" part=\"ndp__title\">\n {this.configSettings?.name ? (\n <h1>{this.configSettings?.name}</h1>\n ) : (\n this.configSettings?.organizer?.name && (\n <h1>\n <person-icon />\n {this.configSettings?.organizer?.name || 'Organizer'}\n </h1>\n )\n )}\n <p>\n <clock-icon />\n {this.eventDuration ? convertMinutesToHoursAndMinutes(this.eventDuration) : `- ${i18next.t('time.minutes')}`}\n </p>\n </div>\n <div class={'header flex-row'}>\n <h2 part={'ndp__month-header'}>\n <strong>{translateMonth(this.month.toLocaleDateString(undefined, { month: 'long' }).toLocaleLowerCase())}</strong>\n \n {this.month.toLocaleDateString(undefined, { year: 'numeric' })}\n </h2>\n <div class={'pagination'}>\n <button\n title=\"Previous month\"\n onClick={() => this.changeMonth(-1)}\n class={{ 'chevron-left': true, 'button': true }}\n disabled={!this.selectableDates?.length || this.month <= new Date()}\n part=\"ndp__month-button\"\n >\n <chevron-icon />\n </button>\n <button\n title=\"Next month\"\n onClick={() => this.changeMonth(1)}\n class={{ 'chevron-right': true, 'button': true }}\n disabled={this.disableNextMonthButton}\n part=\"ndp__month-button\"\n >\n <chevron-icon />\n </button>\n </div>\n </div>\n\n <div class={'dates'}>\n {[\n i18next.t('days.sunday'),\n i18next.t('days.monday'),\n i18next.t('days.tuesday'),\n i18next.t('days.wednesday'),\n i18next.t('days.thursday'),\n i18next.t('days.friday'),\n i18next.t('days.saturday'),\n ].map(day => {\n return (\n <div class={'day'} part=\"ndp__day\">\n {day}\n </div>\n );\n })}\n {this.dates.map((date, i) => {\n const isDisabled = this.isDisabled(date, this.selectableDates);\n\n if (this.isLoading) {\n return (\n <button\n disabled\n class={{\n 'date day-skeleton': true,\n 'current-month': isSameMonth(date, this.month),\n }}\n style={{ animationDelay: `${i * 20}ms` }}\n part={`ndp__date ndp__date--disabled`}\n >\n {date.getDate()}\n </button>\n );\n }\n return (\n <button\n class={{\n 'date': true,\n 'selected': !!(this.selectedDate && isSameDay(date, this.selectedDate) && this.selectableDates && this.selectableDates?.length > 0),\n 'current-day': isSameDay(date, new Date()),\n 'current-month': isSameMonth(date, this.month),\n }}\n aria-lang={date.toLocaleDateString(undefined, { dateStyle: 'full' })}\n disabled={isDisabled}\n onClick={() => this.selectDate(date)}\n part={`ndp__date ${this.isSelected(date, this.selectedDate, this.selectableDates) ? 'ndp__date--selected' : ''} ${isSameDay(date, new Date()) ? 'ndp__date--current-day' : ''} ${isSameMonth(date, this.month) ? 'ndp__date--current-month' : ''}`}\n >\n {date.getDate()}\n </button>\n );\n })}\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -1,28 +1,5 @@
|
|
|
1
1
|
:host {
|
|
2
2
|
display: block;
|
|
3
|
-
--nylas-primary: #2563eb;
|
|
4
|
-
--nylas-error: #cc4841;
|
|
5
|
-
--nylas-error-pressed: #992222;
|
|
6
|
-
--nylas-wraning: #f06c00;
|
|
7
|
-
--nylas-success: #16a392;
|
|
8
|
-
--nylas-info: #2b8fc2;
|
|
9
|
-
--nylas-base-0: #ffffff;
|
|
10
|
-
--nylas-base-25: #fcfcfd;
|
|
11
|
-
--nylas-base-50: #f8f9fc;
|
|
12
|
-
--nylas-base-100: #eaecf5;
|
|
13
|
-
--nylas-base-200: #d5d9eb;
|
|
14
|
-
--nylas-base-300: #b3b8d8;
|
|
15
|
-
--nylas-base-400: #717bbc;
|
|
16
|
-
--nylas-base-500: #4e5ba6;
|
|
17
|
-
--nylas-base-600: #3e4784;
|
|
18
|
-
--nylas-base-700: #263f72;
|
|
19
|
-
--nylas-base-800: #293056;
|
|
20
|
-
--nylas-base-900: #101323;
|
|
21
|
-
--nylas-base-950: #0e101b;
|
|
22
|
-
--nylas-border-radius: 0.25rem;
|
|
23
|
-
--nylas-border-radius-2x: 0.5rem;
|
|
24
|
-
--nylas-border-radius-3x: 0.75rem;
|
|
25
|
-
--nylas-font-family: "Inter", sans-serif;
|
|
26
3
|
}
|
|
27
4
|
|
|
28
5
|
.card-wrapper {
|
|
@@ -25,6 +25,7 @@ export class NylasFeedbackForm {
|
|
|
25
25
|
}
|
|
26
26
|
this.feedbackSubmitted.emit({ feedback: this.feedbackMessage });
|
|
27
27
|
};
|
|
28
|
+
this.themeConfig = undefined;
|
|
28
29
|
this.feedbackMessage = '';
|
|
29
30
|
}
|
|
30
31
|
connectedCallback() { }
|
|
@@ -34,6 +35,14 @@ export class NylasFeedbackForm {
|
|
|
34
35
|
}
|
|
35
36
|
async componentDidLoad() {
|
|
36
37
|
debug(`[nylas-feedback-form] Component did load`);
|
|
38
|
+
this.applyThemeConfig(this.themeConfig);
|
|
39
|
+
}
|
|
40
|
+
applyThemeConfig(themeConfig) {
|
|
41
|
+
if (themeConfig) {
|
|
42
|
+
for (const [key, value] of Object.entries(themeConfig)) {
|
|
43
|
+
this.host.style.setProperty(`${key}`, value);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
37
46
|
}
|
|
38
47
|
handleFormInputChanged(event) {
|
|
39
48
|
debug(`[nylas-feedback-form] Form input changed`);
|
|
@@ -51,9 +60,9 @@ export class NylasFeedbackForm {
|
|
|
51
60
|
this.feedbackModalClosed.emit();
|
|
52
61
|
}
|
|
53
62
|
render() {
|
|
54
|
-
return (h(Host, { key: '
|
|
63
|
+
return (h(Host, { key: 'a2fdcdd71d0c4ff3902df64405da31a223eaf7d7', part: "nfbf" }, h("div", { key: 'f9e8577b5357683928205b53ee81753a66a7e4ae', class: "card-wrapper", part: "nfbfc__card" }, h("div", { key: 'd1bbb63d773ef30918549fe4a6737bf582ae0d06', class: "close-button" }, h("button-component", { key: 'a418fa3fef1af84a1d504030e1bcafde4653e2ad', tooltip: "Close", id: "close", variant: 'invisible', onClick: e => this.closeModal(e), part: "nfbf__close-button" }, h("close-icon", { key: 'cc39f114e75f5554417718701175d44844ffc4a0' }))), h("div", { key: 'd425f232a67162d7865986403819a9aa80641891', class: "header" }, h("h2", { key: '3ee4ce9fa02a86831ff4a292320fe890bfb728bf', slot: "card-title", part: "nfbf__title" }, i18next.t('feedbackFormTitle'))), h("div", { key: 'e190c2c7558cc3d292ecdd0efde36a5ba949406e', class: "description title-desc" }, h("p", { key: 'bae5de83094598fa1794fac48f44d6385499183e' }, i18next.t('feedbackFormDescription'))), h("textarea-component", { key: '2dbcd70b5d4c8035a2cc7e852fdd6dfe23650d92', label: i18next.t('feedbackMessageLabel'), required: true, maxLength: 500, part: "nfbf__description", name: "feedback", placeholder: i18next.t('feedbackMessagePlaceholder') }), h("div", { key: '0970ad9b93148e325b85353e7ae79df9de057f10', class: 'description footer-desc' }, h("p", { key: '3f20809d828a385b471916d5f53944d5438e0cff' }, "By sending this report, you agree to Nylas\u2019 access to the data necessary to respond to this issue, subject to Nylas\u2019", ' ', h("a", { key: 'bdb691d2575ba496607675f82bea362bfcb3dcdb', href: "https://www.nylas.com/privacy-policy/", target: "_blank", rel: "nofollow noreferrer noopener" }, "Privacy Policy"), ".")), h("div", { key: '7cfd02b5827dfbd325f49e8c0b055873ae9ab32a', class: {
|
|
55
64
|
footer: true,
|
|
56
|
-
} }, h("button-component", { key: '
|
|
65
|
+
} }, h("button-component", { key: '8d31999de17098830414f2944f52d94b59b903dd', variant: 'invisible', onClick: e => this.closeModal(e), part: "nfbf__button-outline nfbf__cancel-cta" }, `${i18next.t('feedbackModalCloseButton')}`), h("button-component", { key: 'b802e92f4dba1467a54d90b730fc94161b41030c', variant: 'primary', onClick: this.handleConfirmBookingButtonClicked, part: "nfbf__button-outline nfbf__reschedule-cta" }, `${i18next.t('feedbackModalSubmitButton')}`)))));
|
|
57
66
|
}
|
|
58
67
|
static get is() { return "nylas-feedback-form"; }
|
|
59
68
|
static get encapsulation() { return "shadow"; }
|
|
@@ -67,6 +76,30 @@ export class NylasFeedbackForm {
|
|
|
67
76
|
"$": ["nylas-feedback-form.css"]
|
|
68
77
|
};
|
|
69
78
|
}
|
|
79
|
+
static get properties() {
|
|
80
|
+
return {
|
|
81
|
+
"themeConfig": {
|
|
82
|
+
"type": "any",
|
|
83
|
+
"mutable": false,
|
|
84
|
+
"complexType": {
|
|
85
|
+
"original": "any",
|
|
86
|
+
"resolved": "any",
|
|
87
|
+
"references": {}
|
|
88
|
+
},
|
|
89
|
+
"required": false,
|
|
90
|
+
"optional": true,
|
|
91
|
+
"docs": {
|
|
92
|
+
"tags": [{
|
|
93
|
+
"name": "standalone",
|
|
94
|
+
"text": "The theme configuration."
|
|
95
|
+
}],
|
|
96
|
+
"text": ""
|
|
97
|
+
},
|
|
98
|
+
"attribute": "theme-config",
|
|
99
|
+
"reflect": false
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
}
|
|
70
103
|
static get states() {
|
|
71
104
|
return {
|
|
72
105
|
"feedbackMessage": {}
|
|
@@ -139,6 +172,7 @@ __decorate([
|
|
|
139
172
|
feedbackSubmitted: async (_event, _nylasSchedulerConnector) => {
|
|
140
173
|
},
|
|
141
174
|
},
|
|
175
|
+
localPropsToProp: new Map([['themeConfig', 'themeConfig']]),
|
|
142
176
|
fireRegisterEvent: true,
|
|
143
177
|
}),
|
|
144
178
|
__metadata("design:type", Function),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nylas-feedback-form.js","sourceRoot":"","sources":["../../../../src/components/scheduler/nylas-feedback-form/nylas-feedback-form.tsx"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAgB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"nylas-feedback-form.js","sourceRoot":"","sources":["../../../../src/components/scheduler/nylas-feedback-form/nylas-feedback-form.tsx"],"names":[],"mappings":"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","sourcesContent":["import { RegisterComponent } from '@/common/register-component';\nimport { Component, Element, EventEmitter, h, Host, Listen, Prop, State } from '@stencil/core';\nimport { NylasSchedulerConnector } from '../../..';\nimport { NylasScheduling } from '../nylas-scheduling/nylas-scheduling';\nimport { debug } from '@/utils/utils';\nimport { Event } from '@stencil/core';\nimport i18next from '@/utils/i18n';\nimport { ThemeConfig } from '@nylas/core';\n\n/**\n * The `nylas-feedback-form` component is a UI component that displays the booked event card.\n *\n * @part nfbf - The booked event card host.\n * @part nfbf__card - The booked event card.\n * @part nfbf__title - The title of the booked event card.\n * @part nfbf__description - The description of the booked event card.\n * @part nfbf__button-outline - The cancel & reschedule button CTA.\n * @part nfbf__cancel-cta - The cancel button CTA.\n * @part nfbf__reschedule-cta - The reschedule button CTA.\n */\n@Component({\n tag: 'nylas-feedback-form',\n styleUrl: 'nylas-feedback-form.scss',\n shadow: true,\n})\nexport class NylasFeedbackForm {\n /**\n * The host element.\n */\n @Element() host!: HTMLNylasFeedbackFormElement;\n /**\n * @standalone\n * The theme configuration.\n */\n @Prop({ attribute: 'theme-config' }) readonly themeConfig?: any;\n\n /**\n * Feedback modal close event.\n */\n @Event() readonly feedbackModalClosed!: EventEmitter<void>;\n\n /**\n * Feedback submitted event.\n */\n @Event() readonly feedbackSubmitted!: EventEmitter<{ feedback: string }>;\n\n /**\n * This is an internal event that is used to trigger validation on the form.\n */\n @Event() readonly triggerValidation!: EventEmitter<void>;\n\n /**\n * The state to hold the feedback message.\n */\n @State() feedbackMessage: string = '';\n\n connectedCallback() {}\n\n disconnectedCallback() {}\n\n async componentWillLoad() {\n debug(`[nylas-feedback-form] Component will load`);\n }\n\n async componentDidLoad() {\n debug(`[nylas-feedback-form] Component did load`);\n this.applyThemeConfig(this.themeConfig);\n }\n\n applyThemeConfig(themeConfig?: ThemeConfig) {\n if (themeConfig) {\n for (const [key, value] of Object.entries(themeConfig)) {\n this.host.style.setProperty(`${key}`, value);\n }\n }\n }\n\n @Listen('nylasFormInputChanged', { target: 'document' })\n handleFormInputChanged(event: CustomEvent<{ name: string; value: string }>) {\n debug(`[nylas-feedback-form] Form input changed`);\n if (!event.detail.value) {\n return;\n }\n this.triggerValidation.emit();\n if (event.detail.name === 'feedback') {\n this.feedbackMessage = event.detail.value;\n }\n }\n\n private handleConfirmBookingButtonClicked = () => {\n // TODO: Implement feedback submission\n const validationEvent = this.triggerValidation.emit();\n if (validationEvent.defaultPrevented) {\n return;\n }\n this.feedbackSubmitted.emit({ feedback: this.feedbackMessage });\n };\n\n private closeModal(e: Event) {\n e.preventDefault();\n e.stopImmediatePropagation();\n this.feedbackModalClosed.emit();\n }\n\n @RegisterComponent<NylasFeedbackForm, NylasSchedulerConnector, Exclude<NylasScheduling['stores'], undefined>>({\n name: 'nylas-feedback-form',\n stateToProps: new Map([]),\n eventToProps: {\n feedbackSubmitted: async (_event: CustomEvent<{ feedback: string }>, _nylasSchedulerConnector: NylasSchedulerConnector) => {\n // TODO: Implement feedback submission\n },\n },\n localPropsToProp: new Map([['themeConfig', 'themeConfig']]),\n fireRegisterEvent: true,\n })\n render() {\n return (\n <Host part=\"nfbf\">\n <div class=\"card-wrapper\" part=\"nfbfc__card\">\n <div class=\"close-button\">\n <button-component tooltip=\"Close\" id=\"close\" variant={'invisible'} onClick={e => this.closeModal(e)} part=\"nfbf__close-button\">\n <close-icon />\n </button-component>\n </div>\n <div class=\"header\">\n <h2 slot=\"card-title\" part=\"nfbf__title\">\n {i18next.t('feedbackFormTitle')}\n </h2>\n </div>\n <div class=\"description title-desc\">\n <p>{i18next.t('feedbackFormDescription')}</p>\n </div>\n <textarea-component\n label={i18next.t('feedbackMessageLabel')}\n required={true}\n maxLength={500}\n part=\"nfbf__description\"\n name=\"feedback\"\n placeholder={i18next.t('feedbackMessagePlaceholder')}\n />\n <div class={'description footer-desc'}>\n <p>\n By sending this report, you agree to Nylas’ access to the data necessary to respond to this issue, subject to Nylas’{' '}\n <a href=\"https://www.nylas.com/privacy-policy/\" target=\"_blank\" rel=\"nofollow noreferrer noopener\">\n Privacy Policy\n </a>\n .\n </p>\n </div>\n <div\n class={{\n footer: true,\n }}\n >\n <button-component variant={'invisible'} onClick={e => this.closeModal(e)} part=\"nfbf__button-outline nfbf__cancel-cta\">\n {`${i18next.t('feedbackModalCloseButton')}`}\n </button-component>\n <button-component variant={'primary'} onClick={this.handleConfirmBookingButtonClicked} part=\"nfbf__button-outline nfbf__reschedule-cta\">\n {`${i18next.t('feedbackModalSubmitButton')}`}\n </button-component>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -1,28 +1,5 @@
|
|
|
1
1
|
:host {
|
|
2
2
|
display: block;
|
|
3
|
-
--nylas-primary: #2563eb;
|
|
4
|
-
--nylas-error: #cc4841;
|
|
5
|
-
--nylas-error-pressed: #992222;
|
|
6
|
-
--nylas-wraning: #f06c00;
|
|
7
|
-
--nylas-success: #16a392;
|
|
8
|
-
--nylas-info: #2b8fc2;
|
|
9
|
-
--nylas-base-0: #ffffff;
|
|
10
|
-
--nylas-base-25: #fcfcfd;
|
|
11
|
-
--nylas-base-50: #f8f9fc;
|
|
12
|
-
--nylas-base-100: #eaecf5;
|
|
13
|
-
--nylas-base-200: #d5d9eb;
|
|
14
|
-
--nylas-base-300: #b3b8d8;
|
|
15
|
-
--nylas-base-400: #717bbc;
|
|
16
|
-
--nylas-base-500: #4e5ba6;
|
|
17
|
-
--nylas-base-600: #3e4784;
|
|
18
|
-
--nylas-base-700: #263f72;
|
|
19
|
-
--nylas-base-800: #293056;
|
|
20
|
-
--nylas-base-900: #101323;
|
|
21
|
-
--nylas-base-950: #0e101b;
|
|
22
|
-
--nylas-border-radius: 0.25rem;
|
|
23
|
-
--nylas-border-radius-2x: 0.5rem;
|
|
24
|
-
--nylas-border-radius-3x: 0.75rem;
|
|
25
|
-
--nylas-font-family: "Inter", sans-serif;
|
|
26
3
|
}
|
|
27
4
|
|
|
28
5
|
.nylas-locale-switch {
|