export default { editor: { label: { en: 'Base Popup', fr: 'Base Popup', }, icon: 'popup', excludedSections: [ 'sizing', 'spacing', 'positioning', 'background', 'styling', 'advanced-style', 'customCss', 'animation', ], }, options: { displayAllowedValues: ['flex'], ignoredStyleProperties: ['position', 'overflow', 'background'], }, properties: { type: { label: { en: 'Type', fr: 'Type', }, type: 'TextSelect', section: 'style', options: { options: [ { value: 'modal', label: { en: 'Modal', fr: 'Modal' } }, { value: 'sheet', label: { en: 'Sheet', fr: 'Sheet' } }, ], }, bindable: true, defaultValue: 'modal', propertyHelp: { tooltip: 'If set to "none", the dialog will be unpositioned. If set to "modal", the dialog will be displayed as a modal which can be placed in various positions. If set to "sheet", the dialog will be displayed as a full width or height element on a side of the screen.', }, }, sideModal: { label: { en: 'Side', fr: 'Positionnement', }, type: 'TextSelect', section: 'style', options: { options: [ { value: 'left', label: { en: 'Left', fr: 'Gauche' } }, { value: 'center', label: { en: 'Center', fr: 'Centre' } }, { value: 'right', label: { en: 'Right', fr: 'Droite' } }, { value: 'custom', label: { en: 'Custom', fr: 'Personnalisé' } }, ], }, defaultValue: 'center', bindable: true, }, customPositionX: { label: { en: 'Horizontal', fr: 'Horizontal', }, type: 'Length', options: { unitChoices: [ { value: '%', label: '%', min: 0, max: 100 }, { value: 'px', label: 'px', min: 0, max: 1000 }, ], }, defaultValue: '0%', bindable: true, }, sideSheet: { label: { en: 'Side', fr: 'Positionnement', }, type: 'TextSelect', section: 'style', options: { options: [ { value: 'left', label: { en: 'Left', fr: 'Gauche' } }, { value: 'top', label: { en: 'Top', fr: 'Haut' } }, { value: 'right', label: { en: 'Right', fr: 'Droite' } }, { value: 'bottom', label: { en: 'Bottom', fr: 'Bas' } }, ], }, hidden: (content, sidepanelcontent) => content.type !== 'sheet' || sidepanelcontent?.isStacked, defaultValue: 'top', bindable: true, }, align: { label: { en: 'Align', fr: 'Alignement', }, type: 'TextSelect', section: 'style', options: { options: [ { value: 'top', label: { en: 'Top', fr: 'Haut' } }, { value: 'center', label: { en: 'Center', fr: 'Centre' } }, { value: 'bottom', label: { en: 'Bottom', fr: 'Bas' } }, { value: 'custom', label: { en: 'Custom', fr: 'Personnalisé' } }, ], }, defaultValue: 'center', bindable: true, }, customPositionY: { label: { en: 'Vertical', fr: 'Vertical', }, type: 'Length', options: { unitChoices: [ { value: '%', label: '%', min: 0, max: 100 }, { value: 'px', label: 'px', min: 0, max: 1000 }, ], }, defaultValue: '0%', bindable: true, }, animation: { label: { en: 'Animation', fr: 'Animation', }, section: 'style', type: 'TextSelect', options: { options: [ { value: null, label: { en: 'None', fr: 'Aucune' } }, { value: 'fade', label: { en: 'Fade', fr: 'Fondu' } }, { value: 'slide-in', label: { en: 'Slide in', fr: 'Diapositive' } }, { value: 'zoom', label: { en: 'Zoom', fr: 'Zoom' } }, ], }, defaultValue: null, bindable: true, }, slideInDirection: { hidden: (content, sidepanelcontent) => content.animation !== 'slide-in' || content.animation === null || sidepanelcontent?.isStacked, label: { en: 'Direction', fr: 'Direction', }, type: 'TextSelect', section: 'style', options: { options: [ { value: 'top', label: { en: 'Top', fr: 'Haut' } }, { value: 'left', label: { en: 'Left', fr: 'Gauche' } }, { value: 'bottom', label: { en: 'Bottom', fr: 'Bas' } }, { value: 'right', label: { en: 'Right', fr: 'Droite' } }, ], }, defaultValue: 'top', bindable: true, }, animationDuration: { label: { en: 'Animation duration (ms)', fr: "Durée de l'animation (ms)", }, section: 'style', type: 'Number', defaultValue: 300, options: { min: 0, max: 10000, }, bindable: true, hidden: (content, sidepanelcontent) => content.animation === null || sidepanelcontent?.isStacked, }, animationEasing: { label: { en: 'Animation easing', fr: 'Animation easing', }, section: 'style', type: 'TextSelect', options: { options: [ { value: 'linear', label: { en: 'Linear', fr: 'Linéaire' } }, { value: 'ease', label: { en: 'Ease', fr: 'Acceleration' } }, { value: 'ease-in', label: { en: 'Ease in', fr: 'Acceleration progressive' } }, { value: 'ease-out', label: { en: 'Ease out', fr: 'Deceleration' } }, { value: 'ease-in-out', label: { en: 'Ease in out', fr: 'Acceleration et déclinaison' } }, ], }, defaultValue: 'linear', bindable: true, hidden: (content, sidepanelcontent) => content.animation === null || sidepanelcontent?.isStacked, }, preventScroll: { label: { en: 'Prevent Scrolling', fr: 'Désactiver le scroll', }, type: 'OnOff', defaultValue: true, bindable: true, propertyHelp: { tooltip: 'Whether users can scroll the page when the dialog is open.', }, }, escClose: { label: { en: 'Escape key to close', fr: 'La touche échap pour fermer', }, type: 'OnOff', defaultValue: false, bindable: true, propertyHelp: { tooltip: 'Whether the dialog should be closed when the escape key is pressed.', }, }, overlay: { label: { en: 'Overlay', fr: 'Overlay', }, type: 'OnOff', defaultValue: true, bindable: true, propertyHelp: { tooltip: 'Whether you want to display an overlay behind your dialog.', }, }, clickOutsideCloses: { label: { en: 'Click outside to close', fr: 'Fermeture au clic', }, type: 'OnOff', defaultValue: false, bindable: true, propertyHelp: { tooltip: 'Whether the dialog should be closed when the user clicks outside the dialog.', }, }, overlayClickCloses: { type: 'OnOff', label: { en: 'Overlay click closes', fr: 'Fermeture au clic', }, defaultValue: true, bindable: true, propertyHelp: { tooltip: 'You can prevent the dialog from closing when the user clicks the overlay.', }, }, overlayBackgroundColor: { label: { en: 'Overlay background color', fr: "Couleur de fond de l'overlay", }, type: 'Color', defaultValue: 'rgba(0, 0, 0, 0.5)', bindable: true, responsive: true, classes: true, hidden: (content, sidepanelcontent) => !content.overlay || sidepanelcontent?.isStacked, options: { nullable: true, }, }, children: { defaultValue: [], hidden: true, }, }, };